From 431b01e30a6dafec828bb82e5883b8f833b922aa Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 19 May 2023 13:25:58 +0300 Subject: [PATCH 001/344] base for usvm-python --- .gitmodules | 4 + settings.gradle.kts | 3 + usvm-python/API.md | 0 usvm-python/build.gradle.kts | 11 +++ usvm-python/cpythonadapter/build.gradle.kts | 66 ++++++++++++++ usvm-python/cpythonadapter/cpython | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 87 +++++++++++++++++++ .../c/org_usvm_interpreter_CPythonAdapter.h | 21 +++++ usvm-python/cpythonadapter/src/main/c/utils.c | 78 +++++++++++++++++ usvm-python/cpythonadapter/src/main/c/utils.h | 32 +++++++ usvm-python/setup.md | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 20 +++++ .../main/java/org/usvm/language/Symbol.java | 8 ++ .../org/usvm/interpreter/Interpreter.kt | 9 ++ .../kotlin/org/usvm/interpreter/Runner.kt | 2 + .../main/kotlin/org/usvm/interpreter/State.kt | 24 +++++ .../main/kotlin/org/usvm/language/Domain.kt | 5 ++ .../kotlin/org/usvm/language/Instruction.kt | 3 + .../main/kotlin/org/usvm/language/Types.kt | 3 + 19 files changed, 382 insertions(+) create mode 100644 .gitmodules create mode 100644 usvm-python/API.md create mode 100644 usvm-python/build.gradle.kts create mode 100644 usvm-python/cpythonadapter/build.gradle.kts create mode 160000 usvm-python/cpythonadapter/cpython create mode 100644 usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c create mode 100644 usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h create mode 100644 usvm-python/cpythonadapter/src/main/c/utils.c create mode 100644 usvm-python/cpythonadapter/src/main/c/utils.h create mode 100644 usvm-python/setup.md create mode 100644 usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java create mode 100644 usvm-python/src/main/java/org/usvm/language/Symbol.java create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/Domain.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/Types.kt diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..0296141df4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "usvm-python/cpythonadapter/cpython"] + path = usvm-python/cpythonadapter/cpython + url = git@github.com:tochilinak/cpython.git + branch = wrapper-v2 diff --git a/settings.gradle.kts b/settings.gradle.kts index 9f4abe51b1..71833cab5f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,6 +7,9 @@ include("usvm-jvm-instrumentation") include("usvm-sample-language") include("usvm-dataflow") include("usvm-jvm-dataflow") +include("usvm-python") +include("usvm-python:cpythonadapter") +findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" pluginManagement { resolutionStrategy { diff --git a/usvm-python/API.md b/usvm-python/API.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts new file mode 100644 index 0000000000..4947a14fca --- /dev/null +++ b/usvm-python/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("usvm.kotlin-conventions") +} + + +dependencies { + implementation(project(":usvm-core")) + + implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") + implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts new file mode 100644 index 0000000000..fefcde4ca1 --- /dev/null +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -0,0 +1,66 @@ +import org.gradle.internal.jvm.Jvm + +plugins { + `cpp-library` +} + +val cpythonPath = "${projectDir.path}/cpython" +val cpythonBuildPath = "${project.buildDir.path}/cpython_build" + +val configCPython = tasks.register("CPythonBuildConfiguration") { + workingDir = File(cpythonPath) + val resultFile = File("$cpythonBuildPath/configured") + outputs.file(resultFile) + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=no", + "--prefix=$cpythonBuildPath", + "--disable-test-modules" + ) + doLast { + commandLine("touch", resultFile.path) // for UP-TO-DATE + } +} + +val cpython = tasks.register("CPythonBuild") { + dependsOn(configCPython) + inputs.dir(cpythonPath) + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") + workingDir = File(cpythonPath) + commandLine("make") + commandLine("make", "install") +} + +library { + binaries.configureEach { + val compileTask = compileTask.get() + compileTask.includes.from("${Jvm.current().javaHome}/include") + + val osFamily = targetPlatform.targetMachine.operatingSystemFamily + if (osFamily.isMacOs) { + compileTask.includes.from("${Jvm.current().javaHome}/include/darwin") + } else if (osFamily.isLinux) { + compileTask.includes.from("${Jvm.current().javaHome}/include/linux") + } else if (osFamily.isWindows) { + compileTask.includes.from("${Jvm.current().javaHome}/include/win32") + } + + compileTask.includes.from("$cpythonBuildPath/include/python3.11") + compileTask.source.from(fileTree("src/main/c")) + compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonPath", "-lpython3.11")) + + compileTask.dependsOn(cpython) + } +} + + +val cpythonClean = tasks.register("cleanCPython") { + workingDir = File(cpythonPath) + commandLine("make", "distclean") +} + +tasks.clean { + dependsOn(cpythonClean) +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython new file mode 160000 index 0000000000..743e6c1fa3 --- /dev/null +++ b/usvm-python/cpythonadapter/cpython @@ -0,0 +1 @@ +Subproject commit 743e6c1fa338b3a8fa00bb9ba914fc233de62814 diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c new file mode 100644 index 0000000000..7413571499 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -0,0 +1,87 @@ +#include + +#include "org_usvm_interpreter_CPythonAdapter.h" +#include "utils.h" + +#include "symbolicadapter.h" + +static PyObject * +symbolic_handler(Py_ssize_t n, PyObject *const *args, void *param) { + JavaEnvironment *env = (JavaEnvironment *) param; + printf("IN SYMBOLIC HANDLER:"); + int k = 0; + jobject *buf = malloc(sizeof(jobject) * n); + for (int i = 0; i < n; i++) { + printf(" "); + PyObject_Print(args[i], stdout, 0); + if (strcmp(Py_TYPE(args[i])->tp_name, JavaPythonObjectTypeName) == 0) { + buf[k++] = ((JavaPythonObject *) args[i])->object; + } + } + printf(" (java: %d)\n", k); + fflush(stdout); + + char cmd_buf[100]; + Py_ssize_t sz = PyObject_Length(args[0]); + for (int i = 0; i < sz; i++) { + cmd_buf[i] = PyUnicode_READ(PyUnicode_4BYTE_KIND, PyUnicode_AS_DATA(args[0]), i); + } + cmd_buf[sz] = 0; + + jstring cmd = (*env->env)->NewStringUTF(env->env, cmd_buf); + jobjectArray java_args = (*env->env)->NewObjectArray(env->env, k, env->symbol_cls, 0); + for (int i = 0; i < k; i++) { + (*env->env)->SetObjectArrayElement(env->env, java_args, i, buf[i]); + } + + free(buf); + jobject java_result = (*env->env)->CallStaticObjectMethod(env->env, env->cpython_adapter_cls, env->handler_mid, cmd, java_args); + + PyObject *result = wrap_java_object(env, java_result); + + if (PyUnicode_CompareWithASCIIString(args[0], "LOAD_CONST") == 0 || PyUnicode_CompareWithASCIIString(args[0], "BUILD_LIST") == 0) { + PyObject *list = PyList_New(1); + PyList_SetItem(list, 0, result); + result = list; + } + + return result; +} + +JNIEXPORT void JNICALL +Java_CPythonAdapter_run(JNIEnv *env, jobject cpython_adapter, jstring code, jstring func_name, jobjectArray symbolic_args) { + Py_Initialize(); + JavaEnvironment j_env; + + jboolean is_copy1, is_copy2; + const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy1); + const char *c_func_name = (*env)->GetStringUTFChars(env, func_name, &is_copy2); + + j_env.cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); + j_env.handler_mid = (*env)->GetStaticMethodID(env, j_env.cpython_adapter_cls, "handler", "(Ljava/lang/String;[LSymbol;)LSymbol;"); + j_env.env = env; + j_env.symbol_cls = (*env)->FindClass(env, "Symbol"); + + SymbolicAdapter *adapter = create_new_adapter(symbolic_handler, &j_env); + + char *cmd = malloc(strlen(c_func_name) + 10); + sprintf(cmd, "eval(\"%s\")", c_func_name); + PyObject *function = run_python(c_code, cmd); + Py_ssize_t n = (*env)->GetArrayLength(env, symbolic_args); + PyObject **args = malloc(sizeof(PyObject *) * n); + for (int i = 0; i < n; i++) { + args[i] = PyTuple_New(2); + PyTuple_SetItem(args[i], 0, Py_None); // concrete value + jobject symbolic = (*env)->GetObjectArrayElement(env, symbolic_args, i); + PyTuple_SetItem(args[i], 1, wrap_java_object(&j_env, symbolic)); + } + + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, n, args); + printf("RESULT: "); + PyObject_Print(result, stdout, 0); + printf("\n"); + + free(cmd); + free(args); + Py_FinalizeEx(); // free Python +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h new file mode 100644 index 0000000000..02bbccba00 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class org_usvm_interpreter_CPythonAdapter */ + +#ifndef _Included_org_usvm_interpreter_CPythonAdapter +#define _Included_org_usvm_interpreter_CPythonAdapter +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: run + * Signature: (Ljava/lang/String;Ljava/lang/String;[Lorg/usvm/language/Symbol;)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_run + (JNIEnv *, jobject, jstring, jstring, jobjectArray); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c new file mode 100644 index 0000000000..1558605ab0 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -0,0 +1,78 @@ +#include "utils.h" + +PyObject * +run_python(const char *statements, const char *expression) { + PyObject *m, *d, *v; + m = PyImport_AddModule("__main__"); + if (m == NULL) + return 0; + d = PyModule_GetDict(m); + v = PyRun_StringFlags(statements, Py_file_input, d, d, 0); + if (v == NULL) { + PyErr_Print(); + return 0; + } + v = PyRun_StringFlags(expression, Py_eval_input, d, d, 0); + if (v == NULL) { + PyErr_Print(); + return 0; + } + return v; +} + +static void +java_python_object_dealloc(PyObject *op) { + JavaPythonObject *obj = (JavaPythonObject *) op; + (*(obj->env->env))->DeleteGlobalRef(obj->env->env, obj->reference); + Py_TYPE(op)->tp_free(op); +} + +PyTypeObject JavaPythonObject_Type = { + PyVarObject_HEAD_INIT(&PyType_Type, 0) + JavaPythonObjectTypeName, /* tp_name */ + sizeof(JavaPythonObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + java_python_object_dealloc, /* tp_dealloc */ + 0, /* tp_vectorcall_offset */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_as_async */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + 0, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + PyObject_Free, /* tp_free */ +}; + +PyObject *wrap_java_object(JavaEnvironment *env, jobject object) { + JavaPythonObject *result = PyObject_New(JavaPythonObject, &JavaPythonObject_Type); + result->env = env; + result->object = object; + result->reference = (*(env->env))->NewGlobalRef(env->env, object); + return (PyObject*) result; +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h new file mode 100644 index 0000000000..302d62c87a --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -0,0 +1,32 @@ +#include +#include "Python.h" + +#ifndef _Included_CPythonAdapter_utils +#define _Included_CPythonAdapter_utils +#ifdef __cplusplus +extern "C" { +#endif + +#define JavaPythonObjectTypeName "ibmviqhlye.___java_object___ibmviqhlye" + +typedef struct { + JNIEnv *env; + jclass cpython_adapter_cls; + jmethodID handler_mid; + jclass symbol_cls; +} JavaEnvironment; + +typedef struct { + PyObject_HEAD + jobject reference; + jobject object; + JavaEnvironment *env; +} JavaPythonObject; + +PyObject *run_python(const char *statements, const char *expression); +PyObject *wrap_java_object(JavaEnvironment *env, jobject object); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/setup.md b/usvm-python/setup.md new file mode 100644 index 0000000000..2030603ee0 --- /dev/null +++ b/usvm-python/setup.md @@ -0,0 +1,5 @@ +# CPython build + +Official instruction: https://devguide.python.org/getting-started/setup-building/. + +## Unix diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java new file mode 100644 index 0000000000..7ed4e93f0d --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -0,0 +1,20 @@ +package org.usvm.interpreter; + +import org.usvm.language.Symbol; + +public class CPythonAdapter { + public native void run(String code, String functionName, Symbol[] args_symbolic); + + static { + System.loadLibrary("cpythonadapter"); + } + + static Symbol handler(String cmd, Symbol[] args) { + System.out.print("Hello from Java! Args:"); + for (Symbol arg : args) + System.out.print(" " + arg.repr); + System.out.println(); + System.out.flush(); + return new Symbol(cmd); + } +} diff --git a/usvm-python/src/main/java/org/usvm/language/Symbol.java b/usvm-python/src/main/java/org/usvm/language/Symbol.java new file mode 100644 index 0000000000..d2d0ea3878 --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/language/Symbol.java @@ -0,0 +1,8 @@ +package org.usvm.language; + +public class Symbol { + public String repr; + public Symbol(String repr) { + this.repr = repr; + } +} diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt new file mode 100644 index 0000000000..ded576cba1 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt @@ -0,0 +1,9 @@ +package org.usvm.interpreter + +import org.usvm.UContext + +class PythonInterpreter( + private val ctx: UContext +) { + +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt new file mode 100644 index 0000000000..dca179565f --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt @@ -0,0 +1,2 @@ +package org.usvm.interpreter + diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt new file mode 100644 index 0000000000..3bc855a194 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt @@ -0,0 +1,24 @@ +package org.usvm.interpreter + +import kotlinx.collections.immutable.PersistentList +import kotlinx.collections.immutable.persistentListOf +import org.usvm.UCallStack +import org.usvm.UContext +import org.usvm.UState +import org.usvm.constraints.UPathConstraints +import org.usvm.language.* +import org.usvm.memory.UMemoryBase +import org.usvm.model.UModel + +class PythonExecutionState( + ctx: UContext, + callStack: UCallStack = UCallStack(), + pathConstraints: UPathConstraints = UPathConstraints(ctx), + memory: UMemoryBase = UMemoryBase(ctx, pathConstraints.typeConstraints), + models: List = listOf(), + path: PersistentList = persistentListOf() +): UState(ctx, callStack, pathConstraints, memory, models, path) { + override fun clone(newConstraints: UPathConstraints?): UState { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt new file mode 100644 index 0000000000..8eb4ec410e --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -0,0 +1,5 @@ +package org.usvm.language + +class Slot +class Attribute +class Callable \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt new file mode 100644 index 0000000000..cc4630d67c --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt @@ -0,0 +1,3 @@ +package org.usvm.language + +class Instruction \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt new file mode 100644 index 0000000000..2e86bc792a --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -0,0 +1,3 @@ +package org.usvm.language + +object PythonType \ No newline at end of file From d17802096170baea58af8f57b65319d8f1ebc294 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 24 May 2023 12:00:08 +0300 Subject: [PATCH 002/344] updated cpythonadapter interface --- .gitmodules | 2 +- usvm-python/build.gradle.kts | 16 ++ usvm-python/cpythonadapter/build.gradle.kts | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 139 +++++++++--------- .../c/org_usvm_interpreter_CPythonAdapter.h | 40 ++++- usvm-python/cpythonadapter/src/main/c/utils.c | 4 +- usvm-python/cpythonadapter/src/main/c/utils.h | 1 - .../org/usvm/interpreter/CPythonAdapter.java | 6 +- .../org/usvm/interpreter/Interpreter.kt | 9 -- .../org/usvm/interpreter/PythonInterpreter.kt | 13 ++ .../org/usvm/interpreter/PythonMachine.kt | 20 +++ .../kotlin/org/usvm/interpreter/Runner.kt | 2 - .../main/kotlin/org/usvm/language/Domain.kt | 4 + usvm-python/src/main/kotlin/test.kt | 18 +++ 14 files changed, 187 insertions(+), 88 deletions(-) delete mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt delete mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt create mode 100644 usvm-python/src/main/kotlin/test.kt diff --git a/.gitmodules b/.gitmodules index 0296141df4..7df605b1b6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "usvm-python/cpythonadapter/cpython"] path = usvm-python/cpythonadapter/cpython url = git@github.com:tochilinak/cpython.git - branch = wrapper-v2 + branch = wrapper-v2 diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 4947a14fca..a760045a31 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -8,4 +8,20 @@ dependencies { implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") +} + +tasks.build { + dependsOn(":usvm-python:cpythonadapter:linkDebug") +} + +val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" +val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" + +tasks.register("runTestKt") { + dependsOn(tasks.build) + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + //System.err.println("Here") + classpath = sourceSets.main.get().runtimeClasspath + mainClass.set("TestKt") } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index fefcde4ca1..59e9c3c743 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -30,6 +30,7 @@ val cpython = tasks.register("CPythonBuild") { outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") workingDir = File(cpythonPath) commandLine("make") + commandLine("echo", "`pwd`") commandLine("make", "install") } diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 7413571499..4ab799d17a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -5,83 +5,84 @@ #include "symbolicadapter.h" -static PyObject * -symbolic_handler(Py_ssize_t n, PyObject *const *args, void *param) { - JavaEnvironment *env = (JavaEnvironment *) param; - printf("IN SYMBOLIC HANDLER:"); - int k = 0; - jobject *buf = malloc(sizeof(jobject) * n); - for (int i = 0; i < n; i++) { - printf(" "); - PyObject_Print(args[i], stdout, 0); - if (strcmp(Py_TYPE(args[i])->tp_name, JavaPythonObjectTypeName) == 0) { - buf[k++] = ((JavaPythonObject *) args[i])->object; - } - } - printf(" (java: %d)\n", k); - fflush(stdout); - - char cmd_buf[100]; - Py_ssize_t sz = PyObject_Length(args[0]); - for (int i = 0; i < sz; i++) { - cmd_buf[i] = PyUnicode_READ(PyUnicode_4BYTE_KIND, PyUnicode_AS_DATA(args[0]), i); - } - cmd_buf[sz] = 0; - - jstring cmd = (*env->env)->NewStringUTF(env->env, cmd_buf); - jobjectArray java_args = (*env->env)->NewObjectArray(env->env, k, env->symbol_cls, 0); - for (int i = 0; i < k; i++) { - (*env->env)->SetObjectArrayElement(env->env, java_args, i, buf[i]); - } +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: initializePython + * Signature: ()J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { + Py_Initialize(); - free(buf); - jobject java_result = (*env->env)->CallStaticObjectMethod(env->env, env->cpython_adapter_cls, env->handler_mid, cmd, java_args); + PyObject *m = PyImport_AddModule("__main__"); + //printf("%ld\n", (jlong) m); + //fflush(stdout); + return (jlong) m; // may be null +} - PyObject *result = wrap_java_object(env, java_result); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: finalizePython + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { + Py_FinalizeEx(); +} - if (PyUnicode_CompareWithASCIIString(args[0], "LOAD_CONST") == 0 || PyUnicode_CompareWithASCIIString(args[0], "BUILD_LIST") == 0) { - PyObject *list = PyList_New(1); - PyList_SetItem(list, 0, result); - result = list; +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: concreteRun + * Signature: (JLjava/lang/String;)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( + JNIEnv *env, + jobject cpython_adapter, + jlong main_module, + jstring code +) { + jboolean is_copy; + const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); + + PyObject *m = (PyObject *) main_module; + PyObject *dict = PyModule_GetDict(m); + PyObject *v = PyRun_StringFlags(c_code, Py_file_input, dict, dict, 0); + if (v == NULL) { + PyErr_Print(); + return 1; } - return result; + return 0; } -JNIEXPORT void JNICALL -Java_CPythonAdapter_run(JNIEnv *env, jobject cpython_adapter, jstring code, jstring func_name, jobjectArray symbolic_args) { - Py_Initialize(); - JavaEnvironment j_env; - - jboolean is_copy1, is_copy2; - const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy1); - const char *c_func_name = (*env)->GetStringUTFChars(env, func_name, &is_copy2); - - j_env.cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - j_env.handler_mid = (*env)->GetStaticMethodID(env, j_env.cpython_adapter_cls, "handler", "(Ljava/lang/String;[LSymbol;)LSymbol;"); - j_env.env = env; - j_env.symbol_cls = (*env)->FindClass(env, "Symbol"); - - SymbolicAdapter *adapter = create_new_adapter(symbolic_handler, &j_env); - - char *cmd = malloc(strlen(c_func_name) + 10); - sprintf(cmd, "eval(\"%s\")", c_func_name); - PyObject *function = run_python(c_code, cmd); - Py_ssize_t n = (*env)->GetArrayLength(env, symbolic_args); - PyObject **args = malloc(sizeof(PyObject *) * n); - for (int i = 0; i < n; i++) { - args[i] = PyTuple_New(2); - PyTuple_SetItem(args[i], 0, Py_None); // concrete value - jobject symbolic = (*env)->GetObjectArrayElement(env, symbolic_args, i); - PyTuple_SetItem(args[i], 1, wrap_java_object(&j_env, symbolic)); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: eval + * Signature: (JLjava/lang/String;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( + JNIEnv *env, + jobject cpython_adapter, + jlong main_module, + jstring code +) { + jboolean is_copy; + const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); + + PyObject *m = (PyObject *) main_module; + PyObject *dict = PyModule_GetDict(m); + PyObject *v = PyRun_StringFlags(c_code, Py_eval_input, dict, dict, 0); + if (v == NULL) { + PyErr_Print(); + return 0; } - PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, n, args); - printf("RESULT: "); - PyObject_Print(result, stdout, 0); - printf("\n"); + return (jlong) v; +} - free(cmd); - free(args); - Py_FinalizeEx(); // free Python +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: concolicRun + * Signature: (JLjava/lang/String;[Lorg/usvm/language/Symbol;)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun(JNIEnv *env, jobject cpython_adapter, jlong main_module, jstring function_name, jobjectArray symbolic_args) { + // TODO } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 02bbccba00..449b9b8855 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -9,11 +9,43 @@ extern "C" { #endif /* * Class: org_usvm_interpreter_CPythonAdapter - * Method: run - * Signature: (Ljava/lang/String;Ljava/lang/String;[Lorg/usvm/language/Symbol;)V + * Method: initializePython + * Signature: ()J */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_run - (JNIEnv *, jobject, jstring, jstring, jobjectArray); +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython + (JNIEnv *, jobject); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: finalizePython + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython + (JNIEnv *, jobject); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: concreteRun + * Signature: (JLjava/lang/String;)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun + (JNIEnv *, jobject, jlong, jstring); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: eval + * Signature: (JLjava/lang/String;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval + (JNIEnv *, jobject, jlong, jstring); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: concolicRun + * Signature: (JLjava/lang/String;[Lorg/usvm/language/Symbol;)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun + (JNIEnv *, jobject, jlong, jstring, jobjectArray); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 1558605ab0..7fb8308d18 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,7 +1,8 @@ #include "utils.h" +/* PyObject * -run_python(const char *statements, const char *expression) { +run_python_statement(const char *statement) { PyObject *m, *d, *v; m = PyImport_AddModule("__main__"); if (m == NULL) @@ -19,6 +20,7 @@ run_python(const char *statements, const char *expression) { } return v; } +*/ static void java_python_object_dealloc(PyObject *op) { diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 302d62c87a..8b83481898 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -23,7 +23,6 @@ typedef struct { JavaEnvironment *env; } JavaPythonObject; -PyObject *run_python(const char *statements, const char *expression); PyObject *wrap_java_object(JavaEnvironment *env, jobject object); #ifdef __cplusplus diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7ed4e93f0d..d60d61a83b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,7 +3,11 @@ import org.usvm.language.Symbol; public class CPythonAdapter { - public native void run(String code, String functionName, Symbol[] args_symbolic); + public native long initializePython(); // returns pointer to __main__ module, might be null + public native void finalizePython(); + public native int concreteRun(long main_module, String code); + public native long eval(long main_module, String expr); // returns PyObject * + public native void concolicRun(long main_modu, String functionName, Symbol[] args_symbolic); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt deleted file mode 100644 index ded576cba1..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/Interpreter.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.usvm.interpreter - -import org.usvm.UContext - -class PythonInterpreter( - private val ctx: UContext -) { - -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt new file mode 100644 index 0000000000..fbf2dfff12 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt @@ -0,0 +1,13 @@ +package org.usvm.interpreter + +import org.usvm.StepResult +import org.usvm.UContext +import org.usvm.UInterpreter + +class PythonInterpreter( + private val ctx: UContext +) : UInterpreter() { + override fun step(state: PythonExecutionState): StepResult { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt new file mode 100644 index 0000000000..7bf9cd66c2 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -0,0 +1,20 @@ +package org.usvm.interpreter + +import org.usvm.UInterpreter +import org.usvm.UMachine +import org.usvm.UPathSelector +import org.usvm.language.Callable +import org.usvm.language.Program + +class PythonMachine( + val program: Program +): UMachine() { + override fun getInterpreter(target: Callable): UInterpreter { + TODO("Not yet implemented") + } + + override fun getPathSelector(target: Callable): UPathSelector { + TODO("Not yet implemented") + } + +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt deleted file mode 100644 index dca179565f..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/Runner.kt +++ /dev/null @@ -1,2 +0,0 @@ -package org.usvm.interpreter - diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 8eb4ec410e..a737ffe6ad 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -1,5 +1,9 @@ package org.usvm.language +class Program( + val asString: String +) + class Slot class Attribute class Callable \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt new file mode 100644 index 0000000000..298b9812a6 --- /dev/null +++ b/usvm-python/src/main/kotlin/test.kt @@ -0,0 +1,18 @@ +import org.usvm.interpreter.CPythonAdapter + +fun main() { + val lib = CPythonAdapter() + val mainModule = lib.initializePython() + try { + println(mainModule) + + if (mainModule == 0L) + return + + val res = lib.concreteRun(mainModule, "print('Hello from Python!', flush=True)") + if (res != 0) + return + } finally { + lib.finalizePython() + } +} \ No newline at end of file From 421e0cd9598d7ac6f6011e12b04efe3d2c94c152 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 24 May 2023 17:13:36 +0300 Subject: [PATCH 003/344] work on interface; some docs --- usvm-python/API.md | 30 +++++++++ usvm-python/cpythonadapter/build.gradle.kts | 5 ++ .../c/org_usvm_interpreter_CPythonAdapter.c | 64 ++++++++----------- .../c/org_usvm_interpreter_CPythonAdapter.h | 18 ++++-- .../src/main/c/symbolic_handler.c | 6 ++ .../src/main/c/symbolic_handler.h | 15 +++++ usvm-python/setup.md | 4 ++ .../org/usvm/interpreter/CPythonAdapter.java | 10 +-- .../usvm/interpreter/ConcolicRunContext.java | 12 ++++ .../interpreter/ConcretePythonInterpreter.kt | 42 ++++++++++++ .../org/usvm/interpreter/PythonComponents.kt | 19 ++++++ .../{State.kt => PythonExecutionState.kt} | 0 .../org/usvm/interpreter/PythonInterpreter.kt | 13 ---- .../org/usvm/interpreter/PythonMachine.kt | 14 ++-- .../usvm/interpreter/USVMPythonInterpreter.kt | 25 ++++++++ .../main/kotlin/org/usvm/language/Domain.kt | 19 ++++-- .../kotlin/org/usvm/language/PythonModel.kt | 11 ++++ usvm-python/src/main/kotlin/test.kt | 19 ++---- 18 files changed, 242 insertions(+), 84 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/symbolic_handler.c create mode 100644 usvm-python/cpythonadapter/src/main/c/symbolic_handler.h create mode 100644 usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt rename usvm-python/src/main/kotlin/org/usvm/interpreter/{State.kt => PythonExecutionState.kt} (100%) delete mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt diff --git a/usvm-python/API.md b/usvm-python/API.md index e69de29bb2..e5cbdcac7d 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -0,0 +1,30 @@ +### Handler signature + +``` +PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) +``` + +### Signal types + +| Signal type | Description | Expected return type | +|:-----------:|-----------------------------------------------------------------------|:--------------------:| +| `STACK` | Asks for symbolic values that should be put on the interpreter stack. | `list` | +| `NOTIFY` | Notifies about some action. | `None` | + +### `STACK` signals list + +For all signals empty list may be given as a return value. + +| Signal id | Arguments | Expected return list | +|:---------:|:----------------------------------------------:|:----------------------:| +| `LIST` | Symbolic contents of the list (as Python list) | `[symbolic_list]` | +| `CONST` | Python constant | `[constans_as_symbol]` | + +### `NOTIFY` signals list + + +| Signal id | Arguments | +|:-------------:|:---------------------------------------------------------------| +| `INSTRUCTION` | One argument: `int`, number of instruction to be executed | +| `FORK` | One argument: `PyObject*` inside `if` condition. | +| `FORK_RESULT` | One argument: `True` or `False`. Result of concrete condition. | diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 59e9c3c743..5ccf5b040d 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -58,6 +58,11 @@ library { val cpythonClean = tasks.register("cleanCPython") { + workingDir = File(cpythonPath) + commandLine("make", "clean") +} + +tasks.register("distcleanCPython") { workingDir = File(cpythonPath) commandLine("make", "distclean") } diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 4ab799d17a..1f3df12f24 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -2,48 +2,39 @@ #include "org_usvm_interpreter_CPythonAdapter.h" #include "utils.h" +#include "symbolic_handler.h" #include "symbolicadapter.h" -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: initializePython - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { - Py_Initialize(); +#define SET_IS_INITIALIZED(value) \ + jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ + jfieldID f = (*env)->GetFieldID(env, cls, "isInitialized", "Z"); \ + (*env)->SetBooleanField(env, cpython_adapter, f, value); - PyObject *m = PyImport_AddModule("__main__"); - //printf("%ld\n", (jlong) m); - //fflush(stdout); - return (jlong) m; // may be null +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { + Py_Initialize(); + SET_IS_INITIALIZED(JNI_TRUE); } -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: finalizePython - * Signature: ()V - */ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { Py_FinalizeEx(); + SET_IS_INITIALIZED(JNI_FALSE); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace(JNIEnv *env, jobject cpython_adapter) { + return (jlong) PyDict_New(); } -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: concreteRun - * Signature: (JLjava/lang/String;)I - */ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( JNIEnv *env, jobject cpython_adapter, - jlong main_module, + jlong globals, jstring code ) { jboolean is_copy; const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); - PyObject *m = (PyObject *) main_module; - PyObject *dict = PyModule_GetDict(m); + PyObject *dict = (PyObject *) globals; PyObject *v = PyRun_StringFlags(c_code, Py_file_input, dict, dict, 0); if (v == NULL) { PyErr_Print(); @@ -53,22 +44,16 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( return 0; } -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: eval - * Signature: (JLjava/lang/String;)J - */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( JNIEnv *env, jobject cpython_adapter, - jlong main_module, + jlong globals, jstring code ) { jboolean is_copy; const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); - PyObject *m = (PyObject *) main_module; - PyObject *dict = PyModule_GetDict(m); + PyObject *dict = (PyObject *) globals; PyObject *v = PyRun_StringFlags(c_code, Py_eval_input, dict, dict, 0); if (v == NULL) { PyErr_Print(); @@ -78,11 +63,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( return (jlong) v; } -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: concolicRun - * Signature: (JLjava/lang/String;[Lorg/usvm/language/Symbol;)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun(JNIEnv *env, jobject cpython_adapter, jlong main_module, jstring function_name, jobjectArray symbolic_args) { +JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( + JNIEnv *env, + jobject cpython_adapter, + jlong globals, + jlong function_ref, + jobjectArray symbolic_args, + jobject context +) { // TODO + return 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 449b9b8855..2a11ec4307 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -10,9 +10,9 @@ extern "C" { /* * Class: org_usvm_interpreter_CPythonAdapter * Method: initializePython - * Signature: ()J + * Signature: ()V */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython (JNIEnv *, jobject); /* @@ -23,6 +23,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePytho JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython (JNIEnv *, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getNewNamespace + * Signature: ()J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace + (JNIEnv *, jobject); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRun @@ -42,10 +50,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JLjava/lang/String;[Lorg/usvm/language/Symbol;)V + * Signature: (JJ[Lorg/usvm/language/Symbol;Lorg/usvm/interpreter/ConcolicRunContext;)I */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jstring, jobjectArray); +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun + (JNIEnv *, jobject, jlong, jlong, jobjectArray, jobject); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c new file mode 100644 index 0000000000..2674a3de9e --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -0,0 +1,6 @@ +#include "symbolic_handler.h" + +PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { + // TODO + return 0; +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h new file mode 100644 index 0000000000..e055007b2f --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h @@ -0,0 +1,15 @@ +#include +#include "Python.h" + +#ifndef _Included_CPythonAdapter_utils +#define _Included_CPythonAdapter_utils +#ifdef __cplusplus +extern "C" { +#endif + +PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/setup.md b/usvm-python/setup.md index 2030603ee0..5ef02597a0 100644 --- a/usvm-python/setup.md +++ b/usvm-python/setup.md @@ -3,3 +3,7 @@ Official instruction: https://devguide.python.org/getting-started/setup-building/. ## Unix + +Gradle task should do everything automatically. + +Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index d60d61a83b..b69b1b96e3 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,11 +3,13 @@ import org.usvm.language.Symbol; public class CPythonAdapter { - public native long initializePython(); // returns pointer to __main__ module, might be null + public boolean isInitialized = false; + public native void initializePython(); public native void finalizePython(); - public native int concreteRun(long main_module, String code); - public native long eval(long main_module, String expr); // returns PyObject * - public native void concolicRun(long main_modu, String functionName, Symbol[] args_symbolic); + public native long getNewNamespace(); // returns reference to a new dict + public native int concreteRun(long globals, String code); // returns 0 on success + public native long eval(long globals, String expr); // returns PyObject * + public native int concolicRun(long globals, long functionRef, Symbol[] symbolicArgs, ConcolicRunContext context); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java new file mode 100644 index 0000000000..492ec559b3 --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -0,0 +1,12 @@ +package org.usvm.interpreter; + +import org.usvm.StepScope; +import org.usvm.language.PythonType; + +public class ConcolicRunContext { + public StepScope stepScope; + + ConcolicRunContext(StepScope stepScope) { + this.stepScope = stepScope; + } +} diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt new file mode 100644 index 0000000000..97862e679d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -0,0 +1,42 @@ +package org.usvm.interpreter + +import org.usvm.language.Symbol + +object ConcretePythonInterpreter { + private val pythonAdapter = CPythonAdapter() + + fun getNewNamespace(): PythonNamespace { + val result = pythonAdapter.newNamespace + if (result == 0L) + throw CPythonExecutionException + return PythonNamespace(result) + } + + fun concreteRun(globals: PythonNamespace, code: String) { + val result = pythonAdapter.concreteRun(globals.address, code) + if (result != 0) + throw CPythonExecutionException + } + + fun eval(globals: PythonNamespace, expr: String): PythonObject { + val result = pythonAdapter.eval(globals.address, expr) + if (result == 0L) + throw CPythonExecutionException + return PythonObject(result) + } + + fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, symbolicArgs: Array, stepScope: PythonStepScope) { + val result = pythonAdapter.concolicRun(globals.address, functionRef.address, symbolicArgs, ConcolicRunContext(stepScope)) + if (result != 0) + throw CPythonExecutionException + } + + init { + pythonAdapter.initializePython() + } +} + +// object CPythonInitializationException: Exception() +object CPythonExecutionException: Exception() +data class PythonObject(val address: Long) +data class PythonNamespace(val address: Long) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt new file mode 100644 index 0000000000..e74a20e6c0 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -0,0 +1,19 @@ +package org.usvm.interpreter + +import org.usvm.UComponents +import org.usvm.UContext +import org.usvm.UTypeSystem +import org.usvm.language.Attribute +import org.usvm.language.Callable +import org.usvm.language.PythonType +import org.usvm.solver.USolverBase + +object PythonComponents: UComponents { + override fun mkSolver(ctx: UContext): USolverBase { + TODO("Not yet implemented") + } + + override fun mkTypeSystem(ctx: UContext): UTypeSystem { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/State.kt rename to usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt deleted file mode 100644 index fbf2dfff12..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonInterpreter.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.usvm.interpreter - -import org.usvm.StepResult -import org.usvm.UContext -import org.usvm.UInterpreter - -class PythonInterpreter( - private val ctx: UContext -) : UInterpreter() { - override fun step(state: PythonExecutionState): StepResult { - TODO("Not yet implemented") - } -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 7bf9cd66c2..41ae6b4e91 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -1,20 +1,24 @@ package org.usvm.interpreter -import org.usvm.UInterpreter +import org.usvm.UContext import org.usvm.UMachine import org.usvm.UPathSelector import org.usvm.language.Callable import org.usvm.language.Program class PythonMachine( - val program: Program + val program: Program, ): UMachine() { - override fun getInterpreter(target: Callable): UInterpreter { - TODO("Not yet implemented") - } + override fun getInterpreter(target: Callable): USVMPythonInterpreter = + USVMPythonInterpreter(ctx, globals, target) override fun getPathSelector(target: Callable): UPathSelector { TODO("Not yet implemented") } + private val ctx = UContext(PythonComponents) + private val globals = ConcretePythonInterpreter.getNewNamespace() + init { + ConcretePythonInterpreter.concreteRun(globals, program.asString) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt new file mode 100644 index 0000000000..d6e4682806 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -0,0 +1,25 @@ +package org.usvm.interpreter + +import org.usvm.StepResult +import org.usvm.StepScope +import org.usvm.UContext +import org.usvm.UInterpreter +import org.usvm.language.Callable +import org.usvm.language.PythonType + +typealias PythonStepScope = StepScope + +class USVMPythonInterpreter( + private val ctx: UContext, + private val namespace: PythonNamespace, + private val callable: Callable +) : UInterpreter() { + private val functionRef = callable.reference(namespace) + override fun step(state: PythonExecutionState): StepResult { + val scope = PythonStepScope(ctx, state) + + ConcretePythonInterpreter.concolicRun(namespace, functionRef, arrayOf(), scope) + + return scope.stepResult() + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index a737ffe6ad..438e276d89 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -1,9 +1,20 @@ package org.usvm.language -class Program( - val asString: String -) +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonNamespace +import org.usvm.interpreter.PythonObject + +data class Program(val asString: String) class Slot class Attribute -class Callable \ No newline at end of file + +class Callable( + val numberOfArguments: Int, + val reference: (PythonNamespace) -> /* function reference */ PythonObject +) { + companion object { + fun constructCallableFromName(numberOfArguments: Int, name: String) = + Callable(numberOfArguments) { globals -> ConcretePythonInterpreter.eval(globals, name) } + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt b/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt new file mode 100644 index 0000000000..c073752b4d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt @@ -0,0 +1,11 @@ +package org.usvm.language + +import org.usvm.UExpr +import org.usvm.USort +import org.usvm.model.UModel + +class PythonModel(): UModel { + override fun eval(expr: UExpr): UExpr { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 298b9812a6..1c6285ea2b 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,18 +1,7 @@ -import org.usvm.interpreter.CPythonAdapter +import org.usvm.interpreter.ConcretePythonInterpreter fun main() { - val lib = CPythonAdapter() - val mainModule = lib.initializePython() - try { - println(mainModule) - - if (mainModule == 0L) - return - - val res = lib.concreteRun(mainModule, "print('Hello from Python!', flush=True)") - if (res != 0) - return - } finally { - lib.finalizePython() - } + val globals = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(globals, "x = 10 ** 100") + ConcretePythonInterpreter.concreteRun(globals, "print('Hello from Python!\\nx is', x, flush=True)") } \ No newline at end of file From 0ae923bb330f3b5bdcfc62f5029b2b5b7db4e185 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 25 May 2023 17:22:21 +0300 Subject: [PATCH 004/344] update --- .gitmodules | 2 +- usvm-python/API.md | 37 ++++++++-------- usvm-python/README.md | 29 +++++++++++++ usvm-python/build.gradle.kts | 2 + usvm-python/cpythonadapter/build.gradle.kts | 11 ++--- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 39 ++++++++++++++--- .../c/org_usvm_interpreter_CPythonAdapter.h | 4 +- .../src/main/c/symbolic_handler.c | 4 +- .../src/main/c/symbolic_handler.h | 5 ++- usvm-python/run_cpython.sh | 3 ++ usvm-python/setup.md | 9 ---- .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../interpreter/ConcretePythonInterpreter.kt | 15 ++++++- .../org/usvm/interpreter/PythonComponents.kt | 13 ++++-- .../usvm/interpreter/PythonExecutionState.kt | 5 +-- .../org/usvm/interpreter/PythonMachine.kt | 43 ++++++++++++++++--- .../usvm/interpreter/USVMPythonInterpreter.kt | 25 ++++++----- .../main/kotlin/org/usvm/language/Domain.kt | 2 +- .../kotlin/org/usvm/language/PythonModel.kt | 11 ----- .../main/kotlin/org/usvm/language/Types.kt | 19 +++++++- usvm-python/src/main/kotlin/test.kt | 19 ++++++++ 22 files changed, 216 insertions(+), 85 deletions(-) create mode 100644 usvm-python/README.md create mode 100755 usvm-python/run_cpython.sh delete mode 100644 usvm-python/setup.md delete mode 100644 usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt diff --git a/.gitmodules b/.gitmodules index 7df605b1b6..fb7ef386d0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "usvm-python/cpythonadapter/cpython"] path = usvm-python/cpythonadapter/cpython - url = git@github.com:tochilinak/cpython.git + url = https://github.com/tochilinak/cpython.git branch = wrapper-v2 diff --git a/usvm-python/API.md b/usvm-python/API.md index e5cbdcac7d..b673da1399 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -1,30 +1,29 @@ ### Handler signature ``` -PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) +PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) ``` -### Signal types +### Event types -| Signal type | Description | Expected return type | -|:-----------:|-----------------------------------------------------------------------|:--------------------:| -| `STACK` | Asks for symbolic values that should be put on the interpreter stack. | `list` | -| `NOTIFY` | Notifies about some action. | `None` | +| event type | Description | Expected return type | +|-------------------------|-----------------------------------------------------------------------|:--------------------:| +| `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | +| `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Ignores return value | -### `STACK` signals list +### `STACK` events list -For all signals empty list may be given as a return value. +For all events empty list may be given as a return value. -| Signal id | Arguments | Expected return list | -|:---------:|:----------------------------------------------:|:----------------------:| -| `LIST` | Symbolic contents of the list (as Python list) | `[symbolic_list]` | -| `CONST` | Python constant | `[constans_as_symbol]` | +| event id | Arguments | Expected return tuple | +|:--------------------------:|:-----------------------------------------------|:-----------------------:| +| `SYM_EVENT_ID_CREATE_LIST` | Symbolic contents of the list (as Python list) | `(symbolic_list,)` | +| `SYM_EVENT_ID_CONST` | Python constant | `(constant_as_symbol,)` | -### `NOTIFY` signals list +### `NOTIFY` events list - -| Signal id | Arguments | -|:-------------:|:---------------------------------------------------------------| -| `INSTRUCTION` | One argument: `int`, number of instruction to be executed | -| `FORK` | One argument: `PyObject*` inside `if` condition. | -| `FORK_RESULT` | One argument: `True` or `False`. Result of concrete condition. | +| event id | Arguments | +|:--------------------------:|:-------------------------------------------------------------------------------------------------| +| `SYM_EVENT_ID_INSTRUCTION` | One argument: `PyFrameObject*`, frame that is about to execute next instruction. | +| `SYM_EVENT_ID_FORK` | One argument: `PyObject*` inside `if` condition. | +| `SYM_EVENT_ID_FORK_RESULT` | One argument: `Py_True` or `Py_False`. Result of concrete condition. Closes `SYM_EVENT_ID_FORK`. | diff --git a/usvm-python/README.md b/usvm-python/README.md new file mode 100644 index 0000000000..8537955e59 --- /dev/null +++ b/usvm-python/README.md @@ -0,0 +1,29 @@ +# Developer notes + +## Working with `git submodule` + +Clone repo with submodules: +``` +git clone --recurse-submodules [repo] +``` + +Clone submodule into already cloned project: +``` +git submodule update --init +``` + +Update repo: +``` +git pull +git submodule update --init +``` + +## CPython build + +Official instruction: https://devguide.python.org/getting-started/setup-building/. + +### Unix + +Gradle tasks should do everything automatically. + +Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index a760045a31..dbf4b4d877 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -7,6 +7,8 @@ dependencies { implementation(project(":usvm-core")) implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") + implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") + implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") } diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 5ccf5b040d..89e19cf9f8 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -6,11 +6,12 @@ plugins { val cpythonPath = "${projectDir.path}/cpython" val cpythonBuildPath = "${project.buildDir.path}/cpython_build" +val cpythonTaskGroup = "cpython" val configCPython = tasks.register("CPythonBuildConfiguration") { + group = cpythonTaskGroup workingDir = File(cpythonPath) - val resultFile = File("$cpythonBuildPath/configured") - outputs.file(resultFile) + outputs.file("$cpythonPath/Makefile") commandLine( "$cpythonPath/configure", "--enable-shared", @@ -19,12 +20,10 @@ val configCPython = tasks.register("CPythonBuildConfiguration") { "--prefix=$cpythonBuildPath", "--disable-test-modules" ) - doLast { - commandLine("touch", resultFile.path) // for UP-TO-DATE - } } val cpython = tasks.register("CPythonBuild") { + group = cpythonTaskGroup dependsOn(configCPython) inputs.dir(cpythonPath) outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") @@ -58,11 +57,13 @@ library { val cpythonClean = tasks.register("cleanCPython") { + group = cpythonTaskGroup workingDir = File(cpythonPath) commandLine("make", "clean") } tasks.register("distcleanCPython") { + group = cpythonTaskGroup workingDir = File(cpythonPath) commandLine("make", "distclean") } diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 743e6c1fa3..39e313165e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 743e6c1fa338b3a8fa00bb9ba914fc233de62814 +Subproject commit 39e313165ebed9aeef10b6bf84e0d4fa4346b33c diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 1f3df12f24..dd9c885626 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -31,11 +31,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( jlong globals, jstring code ) { - jboolean is_copy; - const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); + const char *c_code = (*env)->GetStringUTFChars(env, code, 0); PyObject *dict = (PyObject *) globals; PyObject *v = PyRun_StringFlags(c_code, Py_file_input, dict, dict, 0); + (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { PyErr_Print(); return 1; @@ -50,11 +50,11 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( jlong globals, jstring code ) { - jboolean is_copy; - const char *c_code = (*env)->GetStringUTFChars(env, code, &is_copy); + const char *c_code = (*env)->GetStringUTFChars(env, code, 0); PyObject *dict = (PyObject *) globals; PyObject *v = PyRun_StringFlags(c_code, Py_eval_input, dict, dict, 0); + (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { PyErr_Print(); return 0; @@ -68,9 +68,38 @@ JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jobject cpython_adapter, jlong globals, jlong function_ref, + jlongArray concrete_args, jobjectArray symbolic_args, jobject context ) { - // TODO + PyObject *function = (PyObject *) function_ref; + printf("CONCOLIC RUN on \n"); + PyObject_Print(function, stdout, 0); + + int n = (*env)->GetArrayLength(env, concrete_args); + jlong *addresses = (*env)->GetLongArrayElements(env, concrete_args, 0); + PyObject **args = malloc(sizeof(PyObject *) * n); + for (int i = 0; i < n; i++) { + PyObject *tuple = PyTuple_New(2); + PyTuple_SetItem(tuple, 0, (PyObject *) addresses[i]); + PyTuple_SetItem(tuple, 1, Py_None); + args[i] = tuple; + } + (*env)->ReleaseLongArrayElements(env, concrete_args, addresses, 0); + printf("\n"); + fflush(stdout); + + SymbolicAdapter *adapter = create_new_adapter(handler, 0); + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, n, args); + free(args); + + if (result == NULL) { + PyErr_Print(); + return 1; + } + + PyObject_Print(result, stdout, 0); + printf("\n"); + fflush(stdout); return 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 2a11ec4307..5bfbf34eb2 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -50,10 +50,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[Lorg/usvm/language/Symbol;Lorg/usvm/interpreter/ConcolicRunContext;)I + * Signature: (JJ[J[Lorg/usvm/language/Symbol;Lorg/usvm/interpreter/ConcolicRunContext;)I */ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlong, jobjectArray, jobject); + (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 2674a3de9e..14f1bddbd5 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -2,5 +2,7 @@ PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { // TODO - return 0; + //printf("IN HANDLER\n"); + //fflush(stdout); + return Py_None; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h index e055007b2f..f581af734f 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h @@ -1,8 +1,9 @@ #include #include "Python.h" +#include "SYMBOLIC_API.h" -#ifndef _Included_CPythonAdapter_utils -#define _Included_CPythonAdapter_utils +#ifndef _Included_CPythonAdapter_symbolic_handler +#define _Included_CPythonAdapter_symbolic_handler #ifdef __cplusplus extern "C" { #endif diff --git a/usvm-python/run_cpython.sh b/usvm-python/run_cpython.sh new file mode 100755 index 0000000000..6a240b7e98 --- /dev/null +++ b/usvm-python/run_cpython.sh @@ -0,0 +1,3 @@ +export LD_LIBRARY_PATH=./cpythonadapter/build/cpython_build/lib +export PYTHONHOME=./cpythonadapter/build/cpython_build +./cpythonadapter/build/cpython_build/bin/python3 -s diff --git a/usvm-python/setup.md b/usvm-python/setup.md deleted file mode 100644 index 5ef02597a0..0000000000 --- a/usvm-python/setup.md +++ /dev/null @@ -1,9 +0,0 @@ -# CPython build - -Official instruction: https://devguide.python.org/getting-started/setup-building/. - -## Unix - -Gradle task should do everything automatically. - -Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index b69b1b96e3..0a36da32e1 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -9,7 +9,7 @@ public class CPythonAdapter { public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String expr); // returns PyObject * - public native int concolicRun(long globals, long functionRef, Symbol[] symbolicArgs, ConcolicRunContext context); + public native int concolicRun(long globals, long functionRef, long[] concreteArgs, Symbol[] symbolicArgs, ConcolicRunContext context); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 97862e679d..237ccda6d3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -25,12 +25,23 @@ object ConcretePythonInterpreter { return PythonObject(result) } - fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, symbolicArgs: Array, stepScope: PythonStepScope) { - val result = pythonAdapter.concolicRun(globals.address, functionRef.address, symbolicArgs, ConcolicRunContext(stepScope)) + fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, + symbolicArgs: Array, stepScope: PythonStepScope) { + val result = pythonAdapter.concolicRun( + globals.address, + functionRef.address, + concreteArgs.map { it.address }.toLongArray(), + symbolicArgs, + ConcolicRunContext(stepScope) + ) if (result != 0) throw CPythonExecutionException } + fun kill() { + pythonAdapter.finalizePython() + } + init { pythonAdapter.initializePython() } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index e74a20e6c0..6fab7e071d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -1,19 +1,26 @@ package org.usvm.interpreter +import io.ksmt.solver.yices.KYicesSolver +import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext import org.usvm.UTypeSystem import org.usvm.language.Attribute import org.usvm.language.Callable import org.usvm.language.PythonType +import org.usvm.language.PythonTypeSystem +import org.usvm.model.buildTranslatorAndLazyDecoder +import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase object PythonComponents: UComponents { override fun mkSolver(ctx: UContext): USolverBase { - TODO("Not yet implemented") + val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) + val softConstraintsProvider = USoftConstraintsProvider(ctx) + return USolverBase(ctx, KYicesSolver(ctx), translator, decoder, softConstraintsProvider) } - + override fun mkTypeSystem(ctx: UContext): UTypeSystem { - TODO("Not yet implemented") + return PythonTypeSystem } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 3bc855a194..42bfbc3d7e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -18,7 +18,6 @@ class PythonExecutionState( models: List = listOf(), path: PersistentList = persistentListOf() ): UState(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState { - TODO("Not yet implemented") - } + override fun clone(newConstraints: UPathConstraints?): UState = + PythonExecutionState(ctx, callStack, pathConstraints, memory, models, path) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 41ae6b4e91..c0dc9acd11 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -3,22 +3,51 @@ package org.usvm.interpreter import org.usvm.UContext import org.usvm.UMachine import org.usvm.UPathSelector +import org.usvm.language.Attribute import org.usvm.language.Callable -import org.usvm.language.Program +import org.usvm.language.PythonProgram +import org.usvm.language.PythonType +import org.usvm.ps.DfsPathSelector class PythonMachine( - val program: Program, + private val program: PythonProgram, ): UMachine() { + private val ctx = UContext(PythonComponents) + private val globals = ConcretePythonInterpreter.getNewNamespace() + private val solver = ctx.solver() + init { + ConcretePythonInterpreter.concreteRun(globals, program.asString) + } override fun getInterpreter(target: Callable): USVMPythonInterpreter = USVMPythonInterpreter(ctx, globals, target) + @Suppress("UNUSED_PARAMETER") + private fun getInitialState(target: Callable): PythonExecutionState { + return PythonExecutionState( + ctx, + models = List(target.numberOfArguments) { solver.emptyModel() } + ) + } + override fun getPathSelector(target: Callable): UPathSelector { - TODO("Not yet implemented") + val ps = DfsPathSelector() + val initialState = getInitialState(target) + ps.add(sequenceOf(initialState)) + return ps } - private val ctx = UContext(PythonComponents) - private val globals = ConcretePythonInterpreter.getNewNamespace() - init { - ConcretePythonInterpreter.concreteRun(globals, program.asString) + fun analyze(callable: Callable) { + var cnt = 0 + run( + callable, + onState = { cnt += 1 }, + continueAnalyzing = { true }, + shouldStop = { cnt >= 10 } + ) + } + + override fun close() { + solver.close() + ctx.close() } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index d6e4682806..aaea4fa38b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,9 +1,6 @@ package org.usvm.interpreter -import org.usvm.StepResult -import org.usvm.StepScope -import org.usvm.UContext -import org.usvm.UInterpreter +import org.usvm.* import org.usvm.language.Callable import org.usvm.language.PythonType @@ -15,11 +12,17 @@ class USVMPythonInterpreter( private val callable: Callable ) : UInterpreter() { private val functionRef = callable.reference(namespace) - override fun step(state: PythonExecutionState): StepResult { - val scope = PythonStepScope(ctx, state) - - ConcretePythonInterpreter.concolicRun(namespace, functionRef, arrayOf(), scope) - - return scope.stepResult() - } + override fun step(state: PythonExecutionState): StepResult = + with(ctx) { + val scope = PythonStepScope(ctx, state) + val registers = List(callable.numberOfArguments) { mkRegisterReading(it, intSort) } + val seeds = (state.models zip registers).map { (model, register) -> model.eval(register) } + val concrete = seeds.map { + println("CONCRETE: $it") + ConcretePythonInterpreter.eval(namespace, it.toString()) + } + ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, arrayOf(), scope) + scope.fork(registers.first() ge mkIntNum(0)) + scope.stepResult() + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 438e276d89..6c52a92d54 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -4,7 +4,7 @@ import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonNamespace import org.usvm.interpreter.PythonObject -data class Program(val asString: String) +data class PythonProgram(val asString: String) class Slot class Attribute diff --git a/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt b/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt deleted file mode 100644 index c073752b4d..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/language/PythonModel.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.usvm.language - -import org.usvm.UExpr -import org.usvm.USort -import org.usvm.model.UModel - -class PythonModel(): UModel { - override fun eval(expr: UExpr): UExpr { - TODO("Not yet implemented") - } -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt index 2e86bc792a..28027b336f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -1,3 +1,20 @@ package org.usvm.language -object PythonType \ No newline at end of file +import org.usvm.UTypeSystem + +object PythonType + +object PythonTypeSystem: UTypeSystem { + override fun isSupertype(u: PythonType, t: PythonType): Boolean { + TODO("Not yet implemented") + } + + override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { + TODO("Not yet implemented") + } + + override fun isFinal(t: PythonType): Boolean { + TODO("Not yet implemented") + } + +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 1c6285ea2b..321406a0b7 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,7 +1,26 @@ import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonMachine +import org.usvm.language.Callable +import org.usvm.language.PythonProgram fun main() { val globals = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(globals, "x = 10 ** 100") ConcretePythonInterpreter.concreteRun(globals, "print('Hello from Python!\\nx is', x, flush=True)") + + val program = PythonProgram( + """ + import time + def f(x): + start = time.time() + y = 0 + while y < 10**7: y += 1 + print("TIME", time.time() - start, flush=True) + return x*2 if x > 0 else -x*2 + """.trimIndent() + ) + val function = Callable.constructCallableFromName(1, "f") + val machine = PythonMachine(program) + machine.analyze(function) + machine.close() } \ No newline at end of file From 90b6759e96adc3e6c5394f696bf8c11ebb282aec Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 26 May 2023 14:02:24 +0300 Subject: [PATCH 005/344] Added test usage of SymbolicAdapter without Java --- .gitignore | 3 ++ usvm-python/build.gradle.kts | 1 - usvm-python/cpythonadapter/build.gradle.kts | 34 +++++++++++++++---- usvm-python/cpythonadapter/cpython | 2 +- .../cpythonadapter/cpython_check/.gitignore | 1 + .../cpythonadapter/cpython_check/run_check.sh | 2 ++ .../cpython_check/sample_handler.c | 28 +++++++++++++++ .../src/main/c/symbolic_handler.c | 4 +-- usvm-python/src/main/kotlin/test.kt | 5 --- 9 files changed, 64 insertions(+), 16 deletions(-) create mode 100644 usvm-python/cpythonadapter/cpython_check/.gitignore create mode 100755 usvm-python/cpythonadapter/cpython_check/run_check.sh create mode 100644 usvm-python/cpythonadapter/cpython_check/sample_handler.c diff --git a/.gitignore b/.gitignore index 649ad2b413..ac4534db69 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ buildSrc/.gradle # Ignore Idea directory .idea + +# Ignore vim cache +*.swp \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index dbf4b4d877..cecbb94629 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -23,7 +23,6 @@ tasks.register("runTestKt") { dependsOn(tasks.build) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - //System.err.println("Here") classpath = sourceSets.main.get().runtimeClasspath mainClass.set("TestKt") } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 89e19cf9f8..a80aea44e9 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -22,14 +22,20 @@ val configCPython = tasks.register("CPythonBuildConfiguration") { ) } -val cpython = tasks.register("CPythonBuild") { +val cpythonBuild = tasks.register("CPythonBuild") { group = cpythonTaskGroup dependsOn(configCPython) inputs.dir(cpythonPath) - outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") workingDir = File(cpythonPath) commandLine("make") - commandLine("echo", "`pwd`") +} + +val cpython = tasks.register("CPythonInstall") { + group = cpythonTaskGroup + dependsOn(cpythonBuild) + inputs.dir(cpythonPath) + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") + workingDir = File(cpythonPath) commandLine("make", "install") } @@ -49,20 +55,19 @@ library { compileTask.includes.from("$cpythonBuildPath/include/python3.11") compileTask.source.from(fileTree("src/main/c")) - compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonPath", "-lpython3.11")) + compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11")) compileTask.dependsOn(cpython) } } - -val cpythonClean = tasks.register("cleanCPython") { +val cpythonClean = tasks.register("CPythonClean") { group = cpythonTaskGroup workingDir = File(cpythonPath) commandLine("make", "clean") } -tasks.register("distcleanCPython") { +tasks.register("CPythonDistclean") { group = cpythonTaskGroup workingDir = File(cpythonPath) commandLine("make", "distclean") @@ -70,4 +75,19 @@ tasks.register("distcleanCPython") { tasks.clean { dependsOn(cpythonClean) +} + +tasks.register("cpython_check_compile") { + dependsOn(cpython) + workingDir = File("${projectDir.path}/cpython_check") + commandLine( + "gcc", + "-std=c11", + "-I$cpythonBuildPath/include/python3.11", + "sample_handler.c", + "-o", + "check", + "-L$cpythonBuildPath/lib", + "-lpython3.11" + ) } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 39e313165e..6e761176f2 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 39e313165ebed9aeef10b6bf84e0d4fa4346b33c +Subproject commit 6e761176f27fb90c2432e381ee8b0ff98a80ebb0 diff --git a/usvm-python/cpythonadapter/cpython_check/.gitignore b/usvm-python/cpythonadapter/cpython_check/.gitignore new file mode 100644 index 0000000000..4c04caa2d2 --- /dev/null +++ b/usvm-python/cpythonadapter/cpython_check/.gitignore @@ -0,0 +1 @@ +check \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython_check/run_check.sh b/usvm-python/cpythonadapter/cpython_check/run_check.sh new file mode 100755 index 0000000000..a4c60a4584 --- /dev/null +++ b/usvm-python/cpythonadapter/cpython_check/run_check.sh @@ -0,0 +1,2 @@ +export LD_LIBRARY_PATH=../build/cpython_build/lib +./check diff --git a/usvm-python/cpythonadapter/cpython_check/sample_handler.c b/usvm-python/cpythonadapter/cpython_check/sample_handler.c new file mode 100644 index 0000000000..a3efbc7304 --- /dev/null +++ b/usvm-python/cpythonadapter/cpython_check/sample_handler.c @@ -0,0 +1,28 @@ +#include "Python.h" +#include "symbolicadapter.h" + + +PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) { + return 0; +} + +int main() { + Py_Initialize(); + + PyObject *dict = PyDict_New(); + PyObject *function = PyRun_StringFlags("lambda x: (x*2 if x > 0 else -x*2)", Py_eval_input, dict, dict, 0); + PyObject *arg = PyLong_FromLong(0); + PyObject *arg_packed = PyTuple_New(2); + PyTuple_SetItem(arg_packed, 0, arg); + PyTuple_SetItem(arg_packed, 1, Py_None); + PyObject *args[] = {arg_packed}; + + SymbolicAdapter *adapter = create_new_adapter(handler, 0); + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, 1, args); + + if (result == NULL) { + PyErr_Print(); + } + + Py_FinalizeEx(); +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 14f1bddbd5..f27a0a55b4 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -2,7 +2,7 @@ PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { // TODO - //printf("IN HANDLER\n"); - //fflush(stdout); + printf("IN HANDLER. type: %d, id: %d\n", signal_type, signal_id); + fflush(stdout); return Py_None; } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 321406a0b7..d46580933f 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -10,12 +10,7 @@ fun main() { val program = PythonProgram( """ - import time def f(x): - start = time.time() - y = 0 - while y < 10**7: y += 1 - print("TIME", time.time() - start, flush=True) return x*2 if x > 0 else -x*2 """.trimIndent() ) From b56da2fb4a88dc497d219adaf02bae14e6b6ae92 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 31 May 2023 17:37:26 +0300 Subject: [PATCH 006/344] input bools --- usvm-python/README.md | 2 + usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/CPythonAdapterMethods.h | 8 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 22 +++---- .../src/main/c/symbolic_handler.c | 58 ++++++++++++++-- usvm-python/cpythonadapter/src/main/c/utils.c | 66 ++++++++++++------- usvm-python/cpythonadapter/src/main/c/utils.h | 31 ++++++--- .../org/usvm/interpreter/CPythonAdapter.java | 25 +++++-- .../usvm/interpreter/ConcolicRunContext.java | 9 ++- .../main/java/org/usvm/language/Symbol.java | 9 ++- .../interpreter/CPythonAdapterHandlers.kt | 12 ++++ .../interpreter/ConcretePythonInterpreter.kt | 8 ++- .../usvm/interpreter/PythonExecutionState.kt | 5 +- .../org/usvm/interpreter/PythonMachine.kt | 2 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 10 +-- usvm-python/src/main/kotlin/test.kt | 11 +++- 16 files changed, 203 insertions(+), 77 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt diff --git a/usvm-python/README.md b/usvm-python/README.md index 8537955e59..6e8e16616a 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -18,6 +18,8 @@ git pull git submodule update --init ``` +You can always compare commit of submodule from GitHub page and in your local repository. + ## CPython build Official instruction: https://devguide.python.org/getting-started/setup-building/. diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 6e761176f2..b6b101a307 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 6e761176f27fb90c2432e381ee8b0ff98a80ebb0 +Subproject commit b6b101a307b454cb2f43cc6a76c3606748274c9e diff --git a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h new file mode 100644 index 0000000000..50e01b8e9f --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h @@ -0,0 +1,8 @@ +#define load_const_long_name "handlerLoadConstLong" +#define load_const_long_sig "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" + +#define handle_fork_name "handlerFork" +#define handle_fork_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" + +#define handle_fork_result_name "handlerForkResult" +#define handle_fork_result_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index dd9c885626..bc1ad5346c 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -72,26 +72,20 @@ JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jobjectArray symbolic_args, jobject context ) { + PyObjectArray args; + ConcolicContext ctx; + PyObject *function = (PyObject *) function_ref; printf("CONCOLIC RUN on \n"); PyObject_Print(function, stdout, 0); - - int n = (*env)->GetArrayLength(env, concrete_args); - jlong *addresses = (*env)->GetLongArrayElements(env, concrete_args, 0); - PyObject **args = malloc(sizeof(PyObject *) * n); - for (int i = 0; i < n; i++) { - PyObject *tuple = PyTuple_New(2); - PyTuple_SetItem(tuple, 0, (PyObject *) addresses[i]); - PyTuple_SetItem(tuple, 1, Py_None); - args[i] = tuple; - } - (*env)->ReleaseLongArrayElements(env, concrete_args, addresses, 0); printf("\n"); fflush(stdout); - SymbolicAdapter *adapter = create_new_adapter(handler, 0); - PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, n, args); - free(args); + construct_concolic_context(env, context, cpython_adapter, &ctx); + SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); + construct_args_for_symbolic_adapter(env, &concrete_args, symbolic_args, &args); + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); + free(args.ptr); if (result == NULL) { PyErr_Print(); diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index f27a0a55b4..254917c737 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -1,8 +1,58 @@ #include "symbolic_handler.h" +#include "utils.h" + +static PyObject * +load_const(ConcolicContext *ctx, PyObject *value) { + if (!PyLong_Check(value)) + return Py_None; + int overflow; + long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); + if (overflow) + return Py_None; + + jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->load_const_long, ctx->context, value_as_long); + return wrap_java_object(ctx->env, result); +} + +static void +handle_fork(ConcolicContext *ctx, PyObject *value) { + //printf("HERE 1\n"); + //fflush(stdout); + if (!is_wrapped_java_object(value)) + return; + jobject obj = ((JavaPythonObject *) value)->object; + //printf("HERE\n"); + //fflush(stdout); + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); +} + +static void +handle_fork_result(ConcolicContext *ctx, PyObject *value) { + if (!PyBool_Check(value)) + return; + int result = value == Py_True; + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, result); +} + +PyObject * +handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { + ConcolicContext *ctx = (ConcolicContext *) param; + + //printf("IN HANDLER. type: %d, id: %d\n", signal_type, signal_id); + //fflush(stdout); + + if (signal_id == SYM_EVENT_ID_CONST) { + assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); + return PyTuple_Pack(1, load_const(ctx, args[0])); + } else if (signal_id == SYM_EVENT_ID_FORK) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + handle_fork(ctx, args[0]); + } else if (signal_id == SYM_EVENT_ID_FORK_RESULT) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + //printf("FORK RESULT: %d\n", args[0] == Py_True); + //fflush(stdout); + handle_fork_result(ctx, args[0]); + } -PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { - // TODO - printf("IN HANDLER. type: %d, id: %d\n", signal_type, signal_id); - fflush(stdout); return Py_None; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 7fb8308d18..f32b1c1811 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,31 +1,10 @@ #include "utils.h" - -/* -PyObject * -run_python_statement(const char *statement) { - PyObject *m, *d, *v; - m = PyImport_AddModule("__main__"); - if (m == NULL) - return 0; - d = PyModule_GetDict(m); - v = PyRun_StringFlags(statements, Py_file_input, d, d, 0); - if (v == NULL) { - PyErr_Print(); - return 0; - } - v = PyRun_StringFlags(expression, Py_eval_input, d, d, 0); - if (v == NULL) { - PyErr_Print(); - return 0; - } - return v; -} -*/ +#include "CPythonAdapterMethods.h" static void java_python_object_dealloc(PyObject *op) { JavaPythonObject *obj = (JavaPythonObject *) op; - (*(obj->env->env))->DeleteGlobalRef(obj->env->env, obj->reference); + (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); Py_TYPE(op)->tp_free(op); } @@ -71,10 +50,47 @@ PyTypeObject JavaPythonObject_Type = { PyObject_Free, /* tp_free */ }; -PyObject *wrap_java_object(JavaEnvironment *env, jobject object) { +PyObject *wrap_java_object(JNIEnv *env, jobject object) { JavaPythonObject *result = PyObject_New(JavaPythonObject, &JavaPythonObject_Type); result->env = env; result->object = object; - result->reference = (*(env->env))->NewGlobalRef(env->env, object); + result->reference = (*env)->NewGlobalRef(env, object); return (PyObject*) result; +} + +int is_wrapped_java_object(PyObject *object) { + return Py_TYPE(object) == &JavaPythonObject_Type; +} + +void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist) { + dist->env = env; + dist->context = context; + dist->cpython_adapter = cpython_adapter; + dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); + dist->load_const_long = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, load_const_long_name, load_const_long_sig); + dist->handle_fork = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_name, handle_fork_sig); + dist->handle_fork_result = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_result_name, handle_fork_result_sig); +} + +void construct_args_for_symbolic_adapter( + JNIEnv *env, + jlongArray *concrete_args, + jobjectArray symbolic_args, + PyObjectArray *dist +) { + int n = (*env)->GetArrayLength(env, *concrete_args); + assert(n == (*env)->GetArrayLength(env, symbolic_args)); + jlong *addresses = (*env)->GetLongArrayElements(env, *concrete_args, 0); + PyObject **args = malloc(sizeof(PyObject *) * n); + for (int i = 0; i < n; i++) { + PyObject *tuple = PyTuple_New(2); + PyTuple_SetItem(tuple, 0, (PyObject *) addresses[i]); + PyObject *symbolic = wrap_java_object(env, (*env)->GetObjectArrayElement(env, symbolic_args, i)); + PyTuple_SetItem(tuple, 1, symbolic); + args[i] = tuple; + } + (*env)->ReleaseLongArrayElements(env, *concrete_args, addresses, 0); + + dist->size = n; + dist->ptr = args; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 8b83481898..522328ea03 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -9,21 +9,34 @@ extern "C" { #define JavaPythonObjectTypeName "ibmviqhlye.___java_object___ibmviqhlye" -typedef struct { - JNIEnv *env; - jclass cpython_adapter_cls; - jmethodID handler_mid; - jclass symbol_cls; -} JavaEnvironment; - typedef struct { PyObject_HEAD jobject reference; jobject object; - JavaEnvironment *env; + JNIEnv *env; } JavaPythonObject; -PyObject *wrap_java_object(JavaEnvironment *env, jobject object); +PyObject *wrap_java_object(JNIEnv *env, jobject object); +int is_wrapped_java_object(PyObject *object); + +typedef struct { + jobject context; + JNIEnv *env; + jclass cpython_adapter_cls; + jobject cpython_adapter; + jmethodID load_const_long; + jmethodID handle_fork; + jmethodID handle_fork_result; +} ConcolicContext; + +void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist); + +typedef struct { + int size; + PyObject **ptr; +} PyObjectArray; + +void construct_args_for_symbolic_adapter(JNIEnv *env, jlongArray *concrete_args, jobjectArray symbolic_args, PyObjectArray *dist); #ifdef __cplusplus } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0a36da32e1..a5adc57bba 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -2,6 +2,9 @@ import org.usvm.language.Symbol; +import static org.usvm.interpreter.CPythonAdapterHandlersKt.handlerForkResultKt; + +@SuppressWarnings("unused") public class CPythonAdapter { public boolean isInitialized = false; public native void initializePython(); @@ -15,12 +18,20 @@ public class CPythonAdapter { System.loadLibrary("cpythonadapter"); } - static Symbol handler(String cmd, Symbol[] args) { - System.out.print("Hello from Java! Args:"); - for (Symbol arg : args) - System.out.print(" " + arg.repr); - System.out.println(); - System.out.flush(); - return new Symbol(cmd); + public static Symbol handlerLoadConstLong(ConcolicRunContext context, long value) { + return new Symbol(context.ctx.mkIntNum(value)); + } + + @SuppressWarnings("unchecked") + public static void handlerFork(ConcolicRunContext context, Symbol cond) { + if (cond.expr.getSort() != context.ctx.getBoolSort()) { + context.openedCondition = null; + } else { + context.openedCondition = cond.expr; + } + } + + public static void handlerForkResult(ConcolicRunContext context, boolean result) { + handlerForkResultKt(context.ctx, context.openedCondition, context.stepScope, result); } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 492ec559b3..0aea141ee2 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -1,12 +1,19 @@ package org.usvm.interpreter; +import io.ksmt.expr.KExpr; +import io.ksmt.sort.KBoolSort; import org.usvm.StepScope; +import org.usvm.UContext; import org.usvm.language.PythonType; +import org.usvm.language.Symbol; public class ConcolicRunContext { public StepScope stepScope; + public UContext ctx; + KExpr openedCondition = null; - ConcolicRunContext(StepScope stepScope) { + ConcolicRunContext(StepScope stepScope, UContext ctx) { this.stepScope = stepScope; + this.ctx = ctx; } } diff --git a/usvm-python/src/main/java/org/usvm/language/Symbol.java b/usvm-python/src/main/java/org/usvm/language/Symbol.java index d2d0ea3878..57922d0bad 100644 --- a/usvm-python/src/main/java/org/usvm/language/Symbol.java +++ b/usvm-python/src/main/java/org/usvm/language/Symbol.java @@ -1,8 +1,11 @@ package org.usvm.language; +import io.ksmt.expr.KExpr; + +@SuppressWarnings("rawtypes") public class Symbol { - public String repr; - public Symbol(String repr) { - this.repr = repr; + public KExpr expr; + public Symbol(KExpr expr) { + this.expr = expr; } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt new file mode 100644 index 0000000000..3f40e55f3a --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt @@ -0,0 +1,12 @@ +package org.usvm.interpreter + +import org.usvm.UBoolExpr +import org.usvm.UContext + +fun handlerForkResultKt(ctx: UContext, openedExpr: UBoolExpr?, stepScope: PythonStepScope, result: Boolean) { + openedExpr ?: return + with (ctx) { + val cond = if (!result) mkNot(openedExpr) else openedExpr + stepScope.fork(cond) + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 237ccda6d3..02a42a0089 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -1,5 +1,7 @@ package org.usvm.interpreter +import org.usvm.UContext +import org.usvm.UExpr import org.usvm.language.Symbol object ConcretePythonInterpreter { @@ -26,13 +28,13 @@ object ConcretePythonInterpreter { } fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, - symbolicArgs: Array, stepScope: PythonStepScope) { + symbolicArgs: List>, stepScope: PythonStepScope, ctx: UContext) { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), - symbolicArgs, - ConcolicRunContext(stepScope) + Array(symbolicArgs.size) { Symbol(symbolicArgs[it]) }, + ConcolicRunContext(stepScope, ctx) ) if (result != 0) throw CPythonExecutionException diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 42bfbc3d7e..5296da290e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -16,8 +16,9 @@ class PythonExecutionState( pathConstraints: UPathConstraints = UPathConstraints(ctx), memory: UMemoryBase = UMemoryBase(ctx, pathConstraints.typeConstraints), models: List = listOf(), - path: PersistentList = persistentListOf() + path: PersistentList = persistentListOf(), + var wasExecuted: Boolean = false ): UState(ctx, callStack, pathConstraints, memory, models, path) { override fun clone(newConstraints: UPathConstraints?): UState = - PythonExecutionState(ctx, callStack, pathConstraints, memory, models, path) + PythonExecutionState(ctx, callStack, pathConstraints, memory, models, path, wasExecuted) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index c0dc9acd11..842125fc6c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -41,7 +41,7 @@ class PythonMachine( run( callable, onState = { cnt += 1 }, - continueAnalyzing = { true }, + continueAnalyzing = { !it.wasExecuted }, shouldStop = { cnt >= 10 } ) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index aaea4fa38b..6171569086 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -15,14 +15,16 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { val scope = PythonStepScope(ctx, state) - val registers = List(callable.numberOfArguments) { mkRegisterReading(it, intSort) } + val registers = List(callable.numberOfArguments) { mkRegisterReading(it, boolSort) } val seeds = (state.models zip registers).map { (model, register) -> model.eval(register) } val concrete = seeds.map { println("CONCRETE: $it") - ConcretePythonInterpreter.eval(namespace, it.toString()) + val repr = if (it.isTrue) "True" else "False" + ConcretePythonInterpreter.eval(namespace, repr) } - ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, arrayOf(), scope) - scope.fork(registers.first() ge mkIntNum(0)) + ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, registers, scope, ctx) + scope.doWithState { wasExecuted = true } + // scope.fork(registers.first() ge mkIntNum(0)) scope.stepResult() } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index d46580933f..ab1f4a9df5 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -10,12 +10,17 @@ fun main() { val program = PythonProgram( """ + import time def f(x): - return x*2 if x > 0 else -x*2 + #start = time.time() + #y = [] + #while len(y) < 10**6: y += [1] + #print("TIME", time.time() - start, flush=True) + [] + return x*2 if x else -x*2 """.trimIndent() ) val function = Callable.constructCallableFromName(1, "f") val machine = PythonMachine(program) - machine.analyze(function) - machine.close() + machine.use { it.analyze(function) } } \ No newline at end of file From 68a1a80790df98c6d6135e94bd302b37249c1143 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 2 Jun 2023 11:35:29 +0300 Subject: [PATCH 007/344] Made case with several branches working --- usvm-python/API.md | 9 ++-- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/CPythonAdapterMethods.h | 5 ++- .../src/main/c/symbolic_handler.c | 44 +++++++++++++++---- usvm-python/cpythonadapter/src/main/c/utils.c | 9 ++++ usvm-python/cpythonadapter/src/main/c/utils.h | 2 + .../org/usvm/interpreter/CPythonAdapter.java | 11 +++++ .../interpreter/CPythonAdapterHandlers.kt | 18 +++++++- .../usvm/interpreter/PythonExecutionState.kt | 27 +++++++++--- .../org/usvm/interpreter/PythonMachine.kt | 5 ++- .../usvm/interpreter/USVMPythonInterpreter.kt | 17 ++++--- usvm-python/src/main/kotlin/test.kt | 15 +++++-- 12 files changed, 130 insertions(+), 34 deletions(-) diff --git a/usvm-python/API.md b/usvm-python/API.md index b673da1399..b9200e91c5 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -15,10 +15,11 @@ PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args For all events empty list may be given as a return value. -| event id | Arguments | Expected return tuple | -|:--------------------------:|:-----------------------------------------------|:-----------------------:| -| `SYM_EVENT_ID_CREATE_LIST` | Symbolic contents of the list (as Python list) | `(symbolic_list,)` | -| `SYM_EVENT_ID_CONST` | Python constant | `(constant_as_symbol,)` | +| event id | Arguments | Expected return tuple | +|:--------------------------:|:-----------------------------------------------|:-------------------------:| +| `SYM_EVENT_ID_CREATE_LIST` | Symbolic contents of the list (as Python list) | `(symbolic_list,)` | +| `SYM_EVENT_ID_CONST` | Python constant | `(constant_as_symbol,)` | +| `SYM_EVENT_ID_GT` | 2 arguments: operands in corresponding order | `(result_of_comparison,)` | ### `NOTIFY` events list diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index b6b101a307..02b81dba4d 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit b6b101a307b454cb2f43cc6a76c3606748274c9e +Subproject commit 02b81dba4d3d7d0d4f90d029ee448a4683cd2c75 diff --git a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h index 50e01b8e9f..0091ae52eb 100644 --- a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h +++ b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h @@ -5,4 +5,7 @@ #define handle_fork_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" #define handle_fork_result_name "handlerForkResult" -#define handle_fork_result_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" \ No newline at end of file +#define handle_fork_result_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" + +#define handle_gt_long_name "handlerGTLong" +#define handle_gt_long_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 254917c737..b232f04e06 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -16,13 +16,11 @@ load_const(ConcolicContext *ctx, PyObject *value) { static void handle_fork(ConcolicContext *ctx, PyObject *value) { - //printf("HERE 1\n"); - //fflush(stdout); if (!is_wrapped_java_object(value)) return; + printf("Fork on known condition\n"); + fflush(stdout); jobject obj = ((JavaPythonObject *) value)->object; - //printf("HERE\n"); - //fflush(stdout); (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); } @@ -34,24 +32,52 @@ handle_fork_result(ConcolicContext *ctx, PyObject *value) { (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, result); } +static PyObject * +handle_gt(ConcolicContext *ctx, PyObject *left, PyObject *right) { + if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) + return Py_None; + jobject left_obj = ((JavaPythonObject *) left)->object; + jobject right_obj = ((JavaPythonObject *) right)->object; + jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_gt_long, ctx->context, left_obj, right_obj); + PyObject *r = wrap_java_object(ctx->env, result); + return r; +} + +static void +handle_instruction(ConcolicContext *ctx, PyObject *frame) { + int instruction = take_instruction_from_frame(frame); +} + PyObject * handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { ConcolicContext *ctx = (ConcolicContext *) param; - //printf("IN HANDLER. type: %d, id: %d\n", signal_type, signal_id); - //fflush(stdout); - if (signal_id == SYM_EVENT_ID_CONST) { assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); return PyTuple_Pack(1, load_const(ctx, args[0])); + } else if (signal_id == SYM_EVENT_ID_FORK) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); handle_fork(ctx, args[0]); + return Py_None; + } else if (signal_id == SYM_EVENT_ID_FORK_RESULT) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - //printf("FORK RESULT: %d\n", args[0] == Py_True); - //fflush(stdout); + printf("FORK RESULT: %d %s\n", args[0] == Py_True, Py_TYPE(args[0])->tp_name); + fflush(stdout); handle_fork_result(ctx, args[0]); + return Py_None; + + } else if (signal_id == SYM_EVENT_ID_GT) { + assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 2); + //printf("GT\n"); + //fflush(stdout); + return PyTuple_Pack(1, handle_gt(ctx, args[0], args[1])); // TODO + + } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + handle_instruction(ctx, args[0]); + return Py_None; } return Py_None; diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index f32b1c1811..7eef8307a2 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -70,6 +70,7 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->load_const_long = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, load_const_long_name, load_const_long_sig); dist->handle_fork = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_name, handle_fork_sig); dist->handle_fork_result = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_result_name, handle_fork_result_sig); + dist->handle_gt_long = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_gt_long_name, handle_gt_long_sig); } void construct_args_for_symbolic_adapter( @@ -93,4 +94,12 @@ void construct_args_for_symbolic_adapter( dist->size = n; dist->ptr = args; +} + +int take_instruction_from_frame(PyObject *frame) { + PyObject *res = PyObject_GetAttrString(frame, "f_lasti"); + int overflow; + long value_as_long = PyLong_AsLongAndOverflow(res, &overflow); + assert(!overflow); + return (int) value_as_long; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 522328ea03..2078868d2a 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -27,6 +27,7 @@ typedef struct { jmethodID load_const_long; jmethodID handle_fork; jmethodID handle_fork_result; + jmethodID handle_gt_long; } ConcolicContext; void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist); @@ -37,6 +38,7 @@ typedef struct { } PyObjectArray; void construct_args_for_symbolic_adapter(JNIEnv *env, jlongArray *concrete_args, jobjectArray symbolic_args, PyObjectArray *dist); +int take_instruction_from_frame(PyObject *frame); #ifdef __cplusplus } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index a5adc57bba..f772a8633c 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,8 +1,12 @@ package org.usvm.interpreter; +import io.ksmt.expr.KExpr; +import io.ksmt.sort.KBoolSort; +import io.ksmt.sort.KIntSort; import org.usvm.language.Symbol; import static org.usvm.interpreter.CPythonAdapterHandlersKt.handlerForkResultKt; +import static org.usvm.interpreter.CPythonAdapterHandlersKt.handlerGTLongKt; @SuppressWarnings("unused") public class CPythonAdapter { @@ -34,4 +38,11 @@ public static void handlerFork(ConcolicRunContext context, Symbol cond) { public static void handlerForkResult(ConcolicRunContext context, boolean result) { handlerForkResultKt(context.ctx, context.openedCondition, context.stepScope, result); } + + public static Symbol handlerGTLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerGTLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt index 3f40e55f3a..813447090f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt @@ -1,12 +1,28 @@ package org.usvm.interpreter +import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr import org.usvm.UContext +import org.usvm.UExpr fun handlerForkResultKt(ctx: UContext, openedExpr: UBoolExpr?, stepScope: PythonStepScope, result: Boolean) { openedExpr ?: return with (ctx) { val cond = if (!result) mkNot(openedExpr) else openedExpr - stepScope.fork(cond) + println("Fork on $cond") + System.out.flush() + stepScope.fork( + cond, + blockOnFalseState = { println("Neg state created"); System.out.flush() } + ) + } +} + +@Suppress("unchecked_cast") +fun handlerGTLongKt(ctx: UContext, left: UExpr<*>, right: UExpr<*>): UBoolExpr? { + with (ctx) { + if (left.sort != intSort || right.sort != intSort) + return null + return (left as UExpr) gt (right as UExpr) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 5296da290e..f50f764b92 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -2,9 +2,7 @@ package org.usvm.interpreter import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf -import org.usvm.UCallStack -import org.usvm.UContext -import org.usvm.UState +import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.* import org.usvm.memory.UMemoryBase @@ -12,13 +10,30 @@ import org.usvm.model.UModel class PythonExecutionState( ctx: UContext, + val callable: Callable, callStack: UCallStack = UCallStack(), pathConstraints: UPathConstraints = UPathConstraints(ctx), - memory: UMemoryBase = UMemoryBase(ctx, pathConstraints.typeConstraints), + memory: UMemoryBase = + UMemoryBase(ctx, pathConstraints.typeConstraints).apply { + stack.push(callable.numberOfArguments) + }, models: List = listOf(), path: PersistentList = persistentListOf(), var wasExecuted: Boolean = false ): UState(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState = - PythonExecutionState(ctx, callStack, pathConstraints, memory, models, path, wasExecuted) + override fun clone(newConstraints: UPathConstraints?): UState { + val newPathConstraints = newConstraints ?: pathConstraints.clone() + return PythonExecutionState( + ctx, + callable, + callStack, + newPathConstraints, + memory.clone(newPathConstraints.typeConstraints), + models, + path, + wasExecuted + ) + } + + val symbols: List> = List(callable.numberOfArguments) { memory.read(URegisterRef(ctx.intSort, it)) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 842125fc6c..51c19fc18a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -25,7 +25,8 @@ class PythonMachine( private fun getInitialState(target: Callable): PythonExecutionState { return PythonExecutionState( ctx, - models = List(target.numberOfArguments) { solver.emptyModel() } + target, + models = listOf(solver.emptyModel()) ) } @@ -42,7 +43,7 @@ class PythonMachine( callable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 10 } + shouldStop = { cnt >= 100 } ) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 6171569086..4042b87f8c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -14,17 +14,22 @@ class USVMPythonInterpreter( private val functionRef = callable.reference(namespace) override fun step(state: PythonExecutionState): StepResult = with(ctx) { - val scope = PythonStepScope(ctx, state) - val registers = List(callable.numberOfArguments) { mkRegisterReading(it, boolSort) } - val seeds = (state.models zip registers).map { (model, register) -> model.eval(register) } + println("Step on $state") + println(state.pathConstraints.logicalConstraints) + System.out.flush() + val symbols = state.symbols + val seeds = symbols.map { state.models.first().eval(it) } val concrete = seeds.map { println("CONCRETE: $it") - val repr = if (it.isTrue) "True" else "False" + val repr = it.toString() //if (it.isTrue) "True" else "False" ConcretePythonInterpreter.eval(namespace, repr) } - ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, registers, scope, ctx) + val scope = PythonStepScope(ctx, state) + ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, scope, ctx) scope.doWithState { wasExecuted = true } // scope.fork(registers.first() ge mkIntNum(0)) - scope.stepResult() + val result = scope.stepResult() + println("Result of step: ${result.forkedStates.take(10).toList()}") + result } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index ab1f4a9df5..9b5e9e4c09 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -11,16 +11,23 @@ fun main() { val program = PythonProgram( """ import time - def f(x): + def f(x, y): #start = time.time() #y = [] #while len(y) < 10**6: y += [1] #print("TIME", time.time() - start, flush=True) - [] - return x*2 if x else -x*2 + if x > y: + return 1 + elif 0 > x: + return 2 + elif 10 > y: + return 3 + elif y > x: + return 4 + return 5 """.trimIndent() ) - val function = Callable.constructCallableFromName(1, "f") + val function = Callable.constructCallableFromName(2, "f") val machine = PythonMachine(program) machine.use { it.analyze(function) } } \ No newline at end of file From 3a62edd059e787e5e2b41be2b3118c401c0f6610 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 5 Jun 2023 16:55:12 +0300 Subject: [PATCH 008/344] Covered more complex example --- usvm-python/API.md | 23 ++- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/CPythonAdapterMethods.h | 62 +++++++- .../c/org_usvm_interpreter_CPythonAdapter.c | 8 +- .../src/main/c/symbolic_handler.c | 140 ++++++++++++++---- usvm-python/cpythonadapter/src/main/c/utils.c | 22 ++- usvm-python/cpythonadapter/src/main/c/utils.h | 6 +- .../org/usvm/interpreter/CPythonAdapter.java | 93 ++++++++++-- .../usvm/interpreter/ConcolicRunContext.java | 17 +-- .../interpreter/CPythonAdapterHandlers.kt | 28 ---- .../interpreter/ConcretePythonInterpreter.kt | 4 +- .../usvm/interpreter/PythonExecutionState.kt | 22 ++- .../org/usvm/interpreter/PythonMachine.kt | 16 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 27 ++-- .../org/usvm/interpreter/operations/Fork.kt | 27 ++++ .../org/usvm/interpreter/operations/Long.kt | 45 ++++++ .../kotlin/org/usvm/language/Instruction.kt | 2 +- usvm-python/src/main/kotlin/test.kt | 37 +++-- 18 files changed, 427 insertions(+), 154 deletions(-) delete mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt diff --git a/usvm-python/API.md b/usvm-python/API.md index b9200e91c5..9676b2ccd7 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -1,17 +1,22 @@ -### Handler signature +# API between patched CPython and USVM + +All constants are defined in header `SYMBOLIC_API.h`. + +## Handler signature ``` PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) ``` -### Event types +## Event types | event type | Description | Expected return type | |-------------------------|-----------------------------------------------------------------------|:--------------------:| | `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | | `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Ignores return value | +| `SYM_EVENT_TYPE_METHOD` | | `PyObject *` | -### `STACK` events list +## `SYM_EVENT_TYPE_STACK` events list For all events empty list may be given as a return value. @@ -19,12 +24,20 @@ For all events empty list may be given as a return value. |:--------------------------:|:-----------------------------------------------|:-------------------------:| | `SYM_EVENT_ID_CREATE_LIST` | Symbolic contents of the list (as Python list) | `(symbolic_list,)` | | `SYM_EVENT_ID_CONST` | Python constant | `(constant_as_symbol,)` | -| `SYM_EVENT_ID_GT` | 2 arguments: operands in corresponding order | `(result_of_comparison,)` | -### `NOTIFY` events list +## `SYM_EVENT_TYPE_NOTIFY` events list | event id | Arguments | |:--------------------------:|:-------------------------------------------------------------------------------------------------| | `SYM_EVENT_ID_INSTRUCTION` | One argument: `PyFrameObject*`, frame that is about to execute next instruction. | | `SYM_EVENT_ID_FORK` | One argument: `PyObject*` inside `if` condition. | | `SYM_EVENT_ID_FORK_RESULT` | One argument: `Py_True` or `Py_False`. Result of concrete condition. Closes `SYM_EVENT_ID_FORK`. | + +## `SYM_EVENT_TYPE_METHOD` events list + +| event id | Arguments | +|:----------------------:|:------------------------------| +| `SYM_EVENT_ID_INT_ADD` | 2 arguments: integer operands | +| `SYM_EVENT_ID_INT_GT` | 2 arguments: integer operands | +| `SYM_EVENT_ID_INT_LT` | 2 arguments: integer operands | +| `SYM_EVENT_ID_INT_EQ` | 2 arguments: integer operands | \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 02b81dba4d..2b47ba7758 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 02b81dba4d3d7d0d4f90d029ee448a4683cd2c75 +Subproject commit 2b47ba7758509becf6a045a27ed7aa720782e783 diff --git a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h index 0091ae52eb..ff56e8a7f2 100644 --- a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h +++ b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h @@ -1,11 +1,57 @@ -#define load_const_long_name "handlerLoadConstLong" -#define load_const_long_sig "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" +#define HANDLERS_DEFS \ + jmethodID handle_instruction; \ + jmethodID handle_load_const_long; \ + jmethodID handle_fork; \ + jmethodID handle_gt_long; \ + jmethodID handle_lt_long; \ + jmethodID handle_eq_long; \ + jmethodID handle_ne_long; \ + jmethodID handle_le_long; \ + jmethodID handle_ge_long; \ + jmethodID handle_add_long; \ + jmethodID handle_sub_long; \ + jmethodID handle_mul_long; \ + jmethodID handle_div_long; \ + jmethodID handle_rem_long; -#define handle_fork_name "handlerFork" -#define handle_fork_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" +#define handle_name_instruction "handlerInstruction" +#define handle_sig_instruction "(Lorg/usvm/interpreter/ConcolicRunContext;I)V" -#define handle_fork_result_name "handlerForkResult" -#define handle_fork_result_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" +#define handle_name_load_const_long "handlerLoadConstLong" +#define handle_sig_load_const_long "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" -#define handle_gt_long_name "handlerGTLong" -#define handle_gt_long_sig "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" \ No newline at end of file +#define handle_name_fork "handlerFork" +#define handle_sig_fork "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" + +#define handle_name_gt_long "handlerGTLong" +#define handle_sig_gt_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_lt_long "handlerLTLong" +#define handle_sig_lt_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_eq_long "handlerEQLong" +#define handle_sig_eq_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_ne_long "handlerNELong" +#define handle_sig_ne_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_le_long "handlerLELong" +#define handle_sig_le_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_ge_long "handlerGELong" +#define handle_sig_ge_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_add_long "handlerADDLong" +#define handle_sig_add_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_sub_long "handlerSUBLong" +#define handle_sig_sub_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_mul_long "handlerMULLong" +#define handle_sig_mul_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_div_long "handlerDIVLong" +#define handle_sig_div_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + +#define handle_name_rem_long "handlerREMLong" +#define handle_sig_rem_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index bc1ad5346c..5a52cfc7da 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -76,10 +76,10 @@ JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( ConcolicContext ctx; PyObject *function = (PyObject *) function_ref; - printf("CONCOLIC RUN on \n"); - PyObject_Print(function, stdout, 0); - printf("\n"); - fflush(stdout); + //printf("CONCOLIC RUN on \n"); + //PyObject_Print(function, stdout, 0); + //printf("\n"); + //fflush(stdout); construct_concolic_context(env, context, cpython_adapter, &ctx); SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index b232f04e06..6ed7ebe2c0 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -10,7 +10,7 @@ load_const(ConcolicContext *ctx, PyObject *value) { if (overflow) return Py_None; - jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->load_const_long, ctx->context, value_as_long); + jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_load_const_long, ctx->context, value_as_long); return wrap_java_object(ctx->env, result); } @@ -18,34 +18,82 @@ static void handle_fork(ConcolicContext *ctx, PyObject *value) { if (!is_wrapped_java_object(value)) return; - printf("Fork on known condition\n"); - fflush(stdout); + //printf("Fork on known condition\n"); + //fflush(stdout); jobject obj = ((JavaPythonObject *) value)->object; (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); } -static void -handle_fork_result(ConcolicContext *ctx, PyObject *value) { - if (!PyBool_Check(value)) - return; - int result = value == Py_True; - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, result); +#define BINARY_INT_HANDLER(func) \ + if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ + return Py_None; \ + jobject left_obj = ((JavaPythonObject *) left)->object; \ + jobject right_obj = ((JavaPythonObject *) right)->object; \ + jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, left_obj, right_obj); \ + if (!result) \ + return 0; \ + PyObject *r = wrap_java_object(ctx->env, result); \ + return r; + +static PyObject * +handle_int_gt(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(gt_long) } static PyObject * -handle_gt(ConcolicContext *ctx, PyObject *left, PyObject *right) { - if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) - return Py_None; - jobject left_obj = ((JavaPythonObject *) left)->object; - jobject right_obj = ((JavaPythonObject *) right)->object; - jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_gt_long, ctx->context, left_obj, right_obj); - PyObject *r = wrap_java_object(ctx->env, result); - return r; +handle_int_lt(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(lt_long) +} + +static PyObject * +handle_int_eq(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(eq_long) +} + +static PyObject * +handle_int_ne(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(ne_long) +} + +static PyObject * +handle_int_ge(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(ge_long) +} + +static PyObject * +handle_int_le(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(le_long) +} + +static PyObject * +handle_int_add(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(add_long) +} + +static PyObject * +handle_int_sub(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(sub_long) +} + +static PyObject * +handle_int_mul(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(mul_long) +} + +static PyObject * +handle_int_div(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(div_long) +} + +static PyObject * +handle_int_rem(ConcolicContext *ctx, PyObject *left, PyObject *right) { + BINARY_INT_HANDLER(rem_long) } static void handle_instruction(ConcolicContext *ctx, PyObject *frame) { int instruction = take_instruction_from_frame(frame); + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); } PyObject * @@ -54,25 +102,59 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * if (signal_id == SYM_EVENT_ID_CONST) { assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); - return PyTuple_Pack(1, load_const(ctx, args[0])); + PyObject *result = load_const(ctx, args[0]); + if (result && result != Py_None) + return PyTuple_Pack(1, result); + return Py_None; } else if (signal_id == SYM_EVENT_ID_FORK) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); handle_fork(ctx, args[0]); return Py_None; - } else if (signal_id == SYM_EVENT_ID_FORK_RESULT) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - printf("FORK RESULT: %d %s\n", args[0] == Py_True, Py_TYPE(args[0])->tp_name); - fflush(stdout); - handle_fork_result(ctx, args[0]); - return Py_None; + } else if (signal_id == SYM_EVENT_ID_INT_GT) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_gt(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_LT) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_lt(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_EQ) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_eq(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_NE) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_ne(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_LE) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_le(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_GE) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_ge(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_ADD) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_add(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_SUB) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_sub(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_MULT) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_mul(ctx, args[0], args[1]); + + } else if (signal_id == SYM_EVENT_ID_INT_FLOORDIV) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_div(ctx, args[0], args[1]); - } else if (signal_id == SYM_EVENT_ID_GT) { - assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 2); - //printf("GT\n"); - //fflush(stdout); - return PyTuple_Pack(1, handle_gt(ctx, args[0], args[1])); // TODO + } else if (signal_id == SYM_EVENT_ID_INT_REM) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + return handle_int_rem(ctx, args[0], args[1]); } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 7eef8307a2..abeaa54730 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,5 +1,4 @@ #include "utils.h" -#include "CPythonAdapterMethods.h" static void java_python_object_dealloc(PyObject *op) { @@ -62,15 +61,28 @@ int is_wrapped_java_object(PyObject *object) { return Py_TYPE(object) == &JavaPythonObject_Type; } +#define REGISTER_HANDLER(name) \ + dist->handle_##name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_##name, handle_sig_##name); + void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist) { dist->env = env; dist->context = context; dist->cpython_adapter = cpython_adapter; dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - dist->load_const_long = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, load_const_long_name, load_const_long_sig); - dist->handle_fork = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_name, handle_fork_sig); - dist->handle_fork_result = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_fork_result_name, handle_fork_result_sig); - dist->handle_gt_long = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_gt_long_name, handle_gt_long_sig); + REGISTER_HANDLER(instruction); + REGISTER_HANDLER(load_const_long); + REGISTER_HANDLER(fork); + REGISTER_HANDLER(gt_long); + REGISTER_HANDLER(lt_long); + REGISTER_HANDLER(eq_long); + REGISTER_HANDLER(ne_long); + REGISTER_HANDLER(ge_long); + REGISTER_HANDLER(le_long); + REGISTER_HANDLER(add_long); + REGISTER_HANDLER(sub_long); + REGISTER_HANDLER(mul_long); + REGISTER_HANDLER(div_long); + REGISTER_HANDLER(rem_long); } void construct_args_for_symbolic_adapter( diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 2078868d2a..516daaf011 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -1,5 +1,6 @@ #include #include "Python.h" +#include "CPythonAdapterMethods.h" #ifndef _Included_CPythonAdapter_utils #define _Included_CPythonAdapter_utils @@ -24,10 +25,7 @@ typedef struct { JNIEnv *env; jclass cpython_adapter_cls; jobject cpython_adapter; - jmethodID load_const_long; - jmethodID handle_fork; - jmethodID handle_fork_result; - jmethodID handle_gt_long; + HANDLERS_DEFS } ConcolicContext; void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index f772a8633c..07f5e6f26b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,10 +3,11 @@ import io.ksmt.expr.KExpr; import io.ksmt.sort.KBoolSort; import io.ksmt.sort.KIntSort; +import org.usvm.language.Instruction; import org.usvm.language.Symbol; -import static org.usvm.interpreter.CPythonAdapterHandlersKt.handlerForkResultKt; -import static org.usvm.interpreter.CPythonAdapterHandlersKt.handlerGTLongKt; +import static org.usvm.interpreter.operations.ForkKt.handlerForkKt; +import static org.usvm.interpreter.operations.LongKt.*; @SuppressWarnings("unused") public class CPythonAdapter { @@ -22,21 +23,19 @@ public class CPythonAdapter { System.loadLibrary("cpythonadapter"); } + public static void handlerInstruction(ConcolicRunContext context, int instruction) { + context.instructionCounter++; + // TODO: check consistency + if (context.instructionCounter > context.curState.getPath().size()) + context.curState.setPath(context.curState.getPath().add(new Instruction(instruction))); + } + public static Symbol handlerLoadConstLong(ConcolicRunContext context, long value) { return new Symbol(context.ctx.mkIntNum(value)); } - @SuppressWarnings("unchecked") public static void handlerFork(ConcolicRunContext context, Symbol cond) { - if (cond.expr.getSort() != context.ctx.getBoolSort()) { - context.openedCondition = null; - } else { - context.openedCondition = cond.expr; - } - } - - public static void handlerForkResult(ConcolicRunContext context, boolean result) { - handlerForkResultKt(context.ctx, context.openedCondition, context.stepScope, result); + handlerForkKt(context, cond.expr); } public static Symbol handlerGTLong(ConcolicRunContext context, Symbol left, Symbol right) { @@ -45,4 +44,74 @@ public static Symbol handlerGTLong(ConcolicRunContext context, Symbol left, Symb return null; return new Symbol(res); } + + public static Symbol handlerLTLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerLTLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerEQLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerEQLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerNELong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerNELongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerGELong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerGELongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerLELong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerLELongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerADDLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerADDLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerSUBLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerSUBLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerMULLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerMULLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerDIVLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerDIVLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } + + public static Symbol handlerREMLong(ConcolicRunContext context, Symbol left, Symbol right) { + KExpr res = handlerREMLongKt(context.ctx, left.expr, right.expr); + if (res == null) + return null; + return new Symbol(res); + } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 0aea141ee2..0100967f23 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -1,19 +1,18 @@ package org.usvm.interpreter; -import io.ksmt.expr.KExpr; -import io.ksmt.sort.KBoolSort; -import org.usvm.StepScope; import org.usvm.UContext; -import org.usvm.language.PythonType; -import org.usvm.language.Symbol; + +import java.util.ArrayList; public class ConcolicRunContext { - public StepScope stepScope; + public PythonExecutionState curState; public UContext ctx; - KExpr openedCondition = null; + public ArrayList forkedStates = new ArrayList<>(); + int instructionCounter = 0; - ConcolicRunContext(StepScope stepScope, UContext ctx) { - this.stepScope = stepScope; + ConcolicRunContext(PythonExecutionState curState, UContext ctx) { + this.curState = curState; this.ctx = ctx; + // forkedStates.add(curState); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt deleted file mode 100644 index 813447090f..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/CPythonAdapterHandlers.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.usvm.interpreter - -import io.ksmt.sort.KIntSort -import org.usvm.UBoolExpr -import org.usvm.UContext -import org.usvm.UExpr - -fun handlerForkResultKt(ctx: UContext, openedExpr: UBoolExpr?, stepScope: PythonStepScope, result: Boolean) { - openedExpr ?: return - with (ctx) { - val cond = if (!result) mkNot(openedExpr) else openedExpr - println("Fork on $cond") - System.out.flush() - stepScope.fork( - cond, - blockOnFalseState = { println("Neg state created"); System.out.flush() } - ) - } -} - -@Suppress("unchecked_cast") -fun handlerGTLongKt(ctx: UContext, left: UExpr<*>, right: UExpr<*>): UBoolExpr? { - with (ctx) { - if (left.sort != intSort || right.sort != intSort) - return null - return (left as UExpr) gt (right as UExpr) - } -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 02a42a0089..f500cbbac9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -28,13 +28,13 @@ object ConcretePythonInterpreter { } fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, - symbolicArgs: List>, stepScope: PythonStepScope, ctx: UContext) { + symbolicArgs: List>, ctx: ConcolicRunContext) { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), Array(symbolicArgs.size) { Symbol(symbolicArgs[it]) }, - ConcolicRunContext(stepScope, ctx) + ctx ) if (result != 0) throw CPythonExecutionException diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index f50f764b92..4fdba7c311 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -11,29 +11,25 @@ import org.usvm.model.UModel class PythonExecutionState( ctx: UContext, val callable: Callable, + pathConstraints: UPathConstraints, + memory: UMemoryBase, + models: List, callStack: UCallStack = UCallStack(), - pathConstraints: UPathConstraints = UPathConstraints(ctx), - memory: UMemoryBase = - UMemoryBase(ctx, pathConstraints.typeConstraints).apply { - stack.push(callable.numberOfArguments) - }, - models: List = listOf(), - path: PersistentList = persistentListOf(), - var wasExecuted: Boolean = false + path: PersistentList = persistentListOf() ): UState(ctx, callStack, pathConstraints, memory, models, path) { override fun clone(newConstraints: UPathConstraints?): UState { val newPathConstraints = newConstraints ?: pathConstraints.clone() + val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( ctx, callable, - callStack, newPathConstraints, - memory.clone(newPathConstraints.typeConstraints), + newMemory, models, - path, - wasExecuted + callStack, + path ) } - val symbols: List> = List(callable.numberOfArguments) { memory.read(URegisterRef(ctx.intSort, it)) } + var wasExecuted: Boolean = false } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 51c19fc18a..b5ab563cf4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -3,10 +3,12 @@ package org.usvm.interpreter import org.usvm.UContext import org.usvm.UMachine import org.usvm.UPathSelector +import org.usvm.constraints.UPathConstraints import org.usvm.language.Attribute import org.usvm.language.Callable import org.usvm.language.PythonProgram import org.usvm.language.PythonType +import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector class PythonMachine( @@ -21,12 +23,20 @@ class PythonMachine( override fun getInterpreter(target: Callable): USVMPythonInterpreter = USVMPythonInterpreter(ctx, globals, target) - @Suppress("UNUSED_PARAMETER") private fun getInitialState(target: Callable): PythonExecutionState { + val pathConstraints = UPathConstraints(ctx) + val memory = UMemoryBase( + ctx, + pathConstraints.typeConstraints + ).apply { + stack.push(target.numberOfArguments) + } return PythonExecutionState( ctx, target, - models = listOf(solver.emptyModel()) + pathConstraints, + memory, + listOf(solver.emptyModel()) ) } @@ -43,7 +53,7 @@ class PythonMachine( callable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 100 } + shouldStop = { cnt >= 1000 } ) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 4042b87f8c..2253783f16 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -2,9 +2,6 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.language.Callable -import org.usvm.language.PythonType - -typealias PythonStepScope = StepScope class USVMPythonInterpreter( private val ctx: UContext, @@ -14,22 +11,22 @@ class USVMPythonInterpreter( private val functionRef = callable.reference(namespace) override fun step(state: PythonExecutionState): StepResult = with(ctx) { - println("Step on $state") - println(state.pathConstraints.logicalConstraints) - System.out.flush() - val symbols = state.symbols + //println("Step on $state. ${state.wasExecuted}. Executed path: ${state.path}") + //println(state.pathConstraints.logicalConstraints) + //System.out.flush() + val symbols = List(callable.numberOfArguments) { state.memory.read(URegisterRef(ctx.intSort, it)) } val seeds = symbols.map { state.models.first().eval(it) } val concrete = seeds.map { - println("CONCRETE: $it") + //println("CONCRETE: $it") val repr = it.toString() //if (it.isTrue) "True" else "False" ConcretePythonInterpreter.eval(namespace, repr) } - val scope = PythonStepScope(ctx, state) - ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, scope, ctx) - scope.doWithState { wasExecuted = true } - // scope.fork(registers.first() ge mkIntNum(0)) - val result = scope.stepResult() - println("Result of step: ${result.forkedStates.take(10).toList()}") - result + val concolicRunContext = ConcolicRunContext(state, ctx) + ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) + concolicRunContext.curState.wasExecuted = true + //println("Finished with state: ${concolicRunContext.curState}. ${concolicRunContext.curState.pathConstraints.logicalConstraints}") + //println("Forked states: ${concolicRunContext.forkedStates}") + //println("Result of step: ${result.forkedStates.take(10).toList()}") + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt new file mode 100644 index 0000000000..09adf97721 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt @@ -0,0 +1,27 @@ +package org.usvm.interpreter.operations + +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.fork +import org.usvm.interpreter.ConcolicRunContext + +fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { + cond ?: return + with (ctx.ctx) { + if (cond.sort != boolSort) + return + val model = ctx.curState.models.first() + val oldCurState = ctx.curState + @Suppress("unchecked_cast") + val forkResult = fork(ctx.curState, cond as UBoolExpr) + if (forkResult.positiveState?.models?.first() == model) { + ctx.curState = forkResult.positiveState + } else if (forkResult.negativeState?.models?.first() == model) { + ctx.curState = forkResult.negativeState + } else { + error("Should not be reachable") + } + if (forkResult.negativeState != oldCurState) + forkResult.negativeState?.let { ctx.forkedStates.add(it) } + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt new file mode 100644 index 0000000000..cc13e78e08 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -0,0 +1,45 @@ +package org.usvm.interpreter.operations + +import io.ksmt.expr.KExpr +import io.ksmt.sort.KIntSort +import io.ksmt.sort.KSort +import org.usvm.UBoolExpr +import org.usvm.UContext +import org.usvm.UExpr + + +fun createBinaryIntOp( + op: (UContext, UExpr, UExpr) -> UExpr +): (UContext, UExpr<*>, UExpr<*>) -> UExpr? = { ctx, left, right -> + with (ctx) { + if (left.sort != intSort || right.sort != intSort) + null + else { + @Suppress("unchecked_cast") + op(ctx, left as UExpr, right as UExpr) + } + } +} + +fun handlerGTLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) +fun handlerLTLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) +fun handlerEQLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) +fun handlerNELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) +fun handlerGELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) +fun handlerLELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = + createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) +fun handlerADDLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = + createBinaryIntOp { ctx, left, right -> ctx.mkArithAdd(left, right) } (x, y, z) +fun handlerSUBLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = + createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) +fun handlerMULLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = + createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) +fun handlerDIVLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = + createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) +fun handlerREMLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = + createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt index cc4630d67c..487307cf1a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt @@ -1,3 +1,3 @@ package org.usvm.language -class Instruction \ No newline at end of file +data class Instruction(val numberInBytecode: Int) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 9b5e9e4c09..be3c91d9cb 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -10,24 +10,31 @@ fun main() { val program = PythonProgram( """ - import time - def f(x, y): - #start = time.time() - #y = [] - #while len(y) < 10**6: y += [1] - #print("TIME", time.time() - start, flush=True) - if x > y: - return 1 - elif 0 > x: - return 2 - elif 10 > y: - return 3 - elif y > x: - return 4 + def f(x, y, z): + if x + y > 100: + return 0 + y += 10 ** 9 + if 0 < x + z + 1 < 100 and y > 0: + return 1 + elif x + 3 < -2 - z and x < y: + return 2 + elif x * 100 % 7 == 0 and z + y % 100 == 0: + return 3 + elif x % 155 == 0 and x + y - z < 0: + return 4 + elif (x + z) % 10 == 0 and x + y > 0: return 5 + elif (x - 10 ** 8 + y) * 50 % 9 == 0 and y // 88 == 5: + return 6 + elif z == 15789 and y + x > 10 ** 9: + return 7 + elif x + y + z == -10 ** 9 and x != 0 and z == 2598: + return 8 + else: + return 9 """.trimIndent() ) - val function = Callable.constructCallableFromName(2, "f") + val function = Callable.constructCallableFromName(3, "f") val machine = PythonMachine(program) machine.use { it.analyze(function) } } \ No newline at end of file From c64f3f5b64c2e94a3c42c91d1c97f238e6a2ba01 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 6 Jun 2023 16:33:18 +0300 Subject: [PATCH 009/344] Some refactoring --- usvm-python/README.md | 26 +++- usvm-python/cpythonadapter/build.gradle.kts | 36 +++++ usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/CPythonAdapterMethods.h | 57 ------- .../src/main/c/symbolic_handler.c | 147 ++++++------------ usvm-python/cpythonadapter/src/main/c/utils.c | 18 +-- usvm-python/cpythonadapter/src/main/c/utils.h | 2 +- .../src/main/json/handler_defs.json | 77 +++++++++ .../org/usvm/interpreter/CPythonAdapter.java | 71 +++------ .../org/usvm/interpreter/PythonComponents.kt | 5 +- .../org/usvm/interpreter/operations/Fork.kt | 4 + .../org/usvm/interpreter/operations/Long.kt | 12 +- usvm-python/src/main/kotlin/test.kt | 2 + 13 files changed, 230 insertions(+), 229 deletions(-) delete mode 100644 usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h create mode 100644 usvm-python/cpythonadapter/src/main/json/handler_defs.json diff --git a/usvm-python/README.md b/usvm-python/README.md index 6e8e16616a..76e9330350 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -28,4 +28,28 @@ Official instruction: https://devguide.python.org/getting-started/setup-building Gradle tasks should do everything automatically. -Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. \ No newline at end of file +Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. + +## Addition of a method in CPythonAdapter + +### Native method + +Add the definition of the native method in `CPythonAdapter.java`. + +Regenerate `org_usvm_interpreter_CPythonAdapter.h`: + +``` +cd src/main/java +javah org.usvm.interpreter.CPythonAdapter +mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c +``` + +Then implement the corresponding methods in `org_usvm_interpreter_CPythonAdapter.c`. + +### Static method that can be called from C code + +Implement the method in `CPythonAdapter.java`. + +Add the definition in `cpythonadapter/src/main/json/handler_defs.json`. Define `c_name`, `java_name`, `sig`. + +The `jmethodID` of the method will be accessible in `ConcolicContext` by the name `handle_`. \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index a80aea44e9..bcbda43c5e 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -1,4 +1,5 @@ import org.gradle.internal.jvm.Jvm +import groovy.json.JsonSlurper plugins { `cpp-library` @@ -39,6 +40,39 @@ val cpython = tasks.register("CPythonInstall") { commandLine("make", "install") } +fun generateHandlerDefs(): String { + val handlerDefs by extra { + @Suppress("unchecked_cast") + JsonSlurper().parse(file("${projectDir.path}/src/main/json/handler_defs.json")) as List> + } + val jmethodIDMacro = handlerDefs.fold("#define HANDLERS_DEFS ") { acc, handler -> + acc + "jmethodID handle_${handler["c_name"]!!}; " + } + val nameMacros = handlerDefs.map { "#define handle_name_${it["c_name"]!!} \"${it["java_name"]!!}\"" } + val sigMacros = handlerDefs.map { "#define handle_sig_${it["c_name"]!!} \"${it["sig"]!!}\"" } + + val registrations = handlerDefs.fold("#define DO_REGISTRATIONS(dist, env) ") { acc, handler -> + val name = handler["c_name"]!! + acc + "dist->handle_$name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_$name, handle_sig_$name);" + } + + return """ + $jmethodIDMacro + ${nameMacros.joinToString("\n ")} + ${sigMacros.joinToString("\n ")} + $registrations + """.trimIndent() +} + +val adapterHeaderPath = "${project.buildDir.path}/adapter_include" + +val headers = tasks.register("generateHeaders") { + File(adapterHeaderPath).mkdirs() + val file = File("$adapterHeaderPath/CPythonAdapterMethods.h") + file.createNewFile() + file.writeText(generateHandlerDefs()) +} + library { binaries.configureEach { val compileTask = compileTask.get() @@ -53,11 +87,13 @@ library { compileTask.includes.from("${Jvm.current().javaHome}/include/win32") } + compileTask.includes.from(adapterHeaderPath) compileTask.includes.from("$cpythonBuildPath/include/python3.11") compileTask.source.from(fileTree("src/main/c")) compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11")) compileTask.dependsOn(cpython) + compileTask.dependsOn(headers) } } diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 2b47ba7758..740d365079 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 2b47ba7758509becf6a045a27ed7aa720782e783 +Subproject commit 740d365079fee537a8e0097dbd6f3db0f288196b diff --git a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h b/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h deleted file mode 100644 index ff56e8a7f2..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/CPythonAdapterMethods.h +++ /dev/null @@ -1,57 +0,0 @@ -#define HANDLERS_DEFS \ - jmethodID handle_instruction; \ - jmethodID handle_load_const_long; \ - jmethodID handle_fork; \ - jmethodID handle_gt_long; \ - jmethodID handle_lt_long; \ - jmethodID handle_eq_long; \ - jmethodID handle_ne_long; \ - jmethodID handle_le_long; \ - jmethodID handle_ge_long; \ - jmethodID handle_add_long; \ - jmethodID handle_sub_long; \ - jmethodID handle_mul_long; \ - jmethodID handle_div_long; \ - jmethodID handle_rem_long; - -#define handle_name_instruction "handlerInstruction" -#define handle_sig_instruction "(Lorg/usvm/interpreter/ConcolicRunContext;I)V" - -#define handle_name_load_const_long "handlerLoadConstLong" -#define handle_sig_load_const_long "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" - -#define handle_name_fork "handlerFork" -#define handle_sig_fork "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" - -#define handle_name_gt_long "handlerGTLong" -#define handle_sig_gt_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_lt_long "handlerLTLong" -#define handle_sig_lt_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_eq_long "handlerEQLong" -#define handle_sig_eq_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_ne_long "handlerNELong" -#define handle_sig_ne_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_le_long "handlerLELong" -#define handle_sig_le_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_ge_long "handlerGELong" -#define handle_sig_ge_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_add_long "handlerADDLong" -#define handle_sig_add_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_sub_long "handlerSUBLong" -#define handle_sig_sub_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_mul_long "handlerMULLong" -#define handle_sig_mul_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_div_long "handlerDIVLong" -#define handle_sig_div_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" - -#define handle_name_rem_long "handlerREMLong" -#define handle_sig_rem_long "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 6ed7ebe2c0..c6a55a91f4 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -1,100 +1,18 @@ #include "symbolic_handler.h" #include "utils.h" -static PyObject * -load_const(ConcolicContext *ctx, PyObject *value) { - if (!PyLong_Check(value)) - return Py_None; - int overflow; - long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); - if (overflow) - return Py_None; - - jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_load_const_long, ctx->context, value_as_long); - return wrap_java_object(ctx->env, result); -} - -static void -handle_fork(ConcolicContext *ctx, PyObject *value) { - if (!is_wrapped_java_object(value)) - return; - //printf("Fork on known condition\n"); - //fflush(stdout); - jobject obj = ((JavaPythonObject *) value)->object; - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); -} - #define BINARY_INT_HANDLER(func) \ + PyObject *left = args[0], *right = args[1]; \ if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ return Py_None; \ jobject left_obj = ((JavaPythonObject *) left)->object; \ jobject right_obj = ((JavaPythonObject *) right)->object; \ jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, left_obj, right_obj); \ if (!result) \ - return 0; \ + return Py_None; \ PyObject *r = wrap_java_object(ctx->env, result); \ return r; -static PyObject * -handle_int_gt(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(gt_long) -} - -static PyObject * -handle_int_lt(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(lt_long) -} - -static PyObject * -handle_int_eq(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(eq_long) -} - -static PyObject * -handle_int_ne(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(ne_long) -} - -static PyObject * -handle_int_ge(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(ge_long) -} - -static PyObject * -handle_int_le(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(le_long) -} - -static PyObject * -handle_int_add(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(add_long) -} - -static PyObject * -handle_int_sub(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(sub_long) -} - -static PyObject * -handle_int_mul(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(mul_long) -} - -static PyObject * -handle_int_div(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(div_long) -} - -static PyObject * -handle_int_rem(ConcolicContext *ctx, PyObject *left, PyObject *right) { - BINARY_INT_HANDLER(rem_long) -} - -static void -handle_instruction(ConcolicContext *ctx, PyObject *frame) { - int instruction = take_instruction_from_frame(frame); - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); -} PyObject * handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { @@ -102,63 +20,88 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * if (signal_id == SYM_EVENT_ID_CONST) { assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); - PyObject *result = load_const(ctx, args[0]); - if (result && result != Py_None) - return PyTuple_Pack(1, result); - return Py_None; + + PyObject *value = args[0]; + if (!PyLong_Check(value)) + return Py_None; + int overflow; + long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); + if (overflow) + return Py_None; + + jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_load_const_long, ctx->context, value_as_long); + return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); } else if (signal_id == SYM_EVENT_ID_FORK) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - handle_fork(ctx, args[0]); + + PyObject *value = args[0]; + if (is_wrapped_java_object(value)) { + //printf("Fork on known condition\n"); + //fflush(stdout); + jobject obj = ((JavaPythonObject *) value)->object; + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); + } + return Py_None; } else if (signal_id == SYM_EVENT_ID_INT_GT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_gt(ctx, args[0], args[1]); + BINARY_INT_HANDLER(gt_long) } else if (signal_id == SYM_EVENT_ID_INT_LT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_lt(ctx, args[0], args[1]); + BINARY_INT_HANDLER(lt_long) } else if (signal_id == SYM_EVENT_ID_INT_EQ) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_eq(ctx, args[0], args[1]); + BINARY_INT_HANDLER(eq_long) } else if (signal_id == SYM_EVENT_ID_INT_NE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_ne(ctx, args[0], args[1]); + BINARY_INT_HANDLER(ne_long) } else if (signal_id == SYM_EVENT_ID_INT_LE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_le(ctx, args[0], args[1]); + BINARY_INT_HANDLER(le_long) } else if (signal_id == SYM_EVENT_ID_INT_GE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_ge(ctx, args[0], args[1]); + BINARY_INT_HANDLER(ge_long) } else if (signal_id == SYM_EVENT_ID_INT_ADD) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_add(ctx, args[0], args[1]); + BINARY_INT_HANDLER(add_long) } else if (signal_id == SYM_EVENT_ID_INT_SUB) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_sub(ctx, args[0], args[1]); + BINARY_INT_HANDLER(sub_long) } else if (signal_id == SYM_EVENT_ID_INT_MULT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_mul(ctx, args[0], args[1]); + BINARY_INT_HANDLER(mul_long) } else if (signal_id == SYM_EVENT_ID_INT_FLOORDIV) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_div(ctx, args[0], args[1]); + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_INT_HANDLER(div_long) } else if (signal_id == SYM_EVENT_ID_INT_REM) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - return handle_int_rem(ctx, args[0], args[1]); + BINARY_INT_HANDLER(rem_long) + + } else if (signal_id == SYM_EVENT_ID_INT_POW) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 3); + if (args[2] != Py_None) + return Py_None; + BINARY_INT_HANDLER(pow_long) } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - handle_instruction(ctx, args[0]); + + PyFrameObject *frame = args[0]; + int instruction = take_instruction_from_frame(frame); + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); + return Py_None; } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index abeaa54730..3f0b3e5873 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -61,28 +61,12 @@ int is_wrapped_java_object(PyObject *object) { return Py_TYPE(object) == &JavaPythonObject_Type; } -#define REGISTER_HANDLER(name) \ - dist->handle_##name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_##name, handle_sig_##name); - void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist) { dist->env = env; dist->context = context; dist->cpython_adapter = cpython_adapter; dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - REGISTER_HANDLER(instruction); - REGISTER_HANDLER(load_const_long); - REGISTER_HANDLER(fork); - REGISTER_HANDLER(gt_long); - REGISTER_HANDLER(lt_long); - REGISTER_HANDLER(eq_long); - REGISTER_HANDLER(ne_long); - REGISTER_HANDLER(ge_long); - REGISTER_HANDLER(le_long); - REGISTER_HANDLER(add_long); - REGISTER_HANDLER(sub_long); - REGISTER_HANDLER(mul_long); - REGISTER_HANDLER(div_long); - REGISTER_HANDLER(rem_long); + DO_REGISTRATIONS(dist, env) } void construct_args_for_symbolic_adapter( diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 516daaf011..5c6a7f260c 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -1,6 +1,6 @@ #include #include "Python.h" -#include "CPythonAdapterMethods.h" +#include "CPythonAdapterMethods.h" // this is generated in Gradle script from "handler_defs.json" #ifndef _Included_CPythonAdapter_utils #define _Included_CPythonAdapter_utils diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json new file mode 100644 index 0000000000..03f5cc0eca --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -0,0 +1,77 @@ +[ + { + "c_name": "instruction", + "java_name": "handlerInstruction", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)V" + }, + { + "c_name": "load_const_long", + "java_name": "handlerLoadConstLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "fork", + "java_name": "handlerFork", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" + }, + { + "c_name": "gt_long", + "java_name": "handlerGTLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "lt_long", + "java_name": "handlerLTLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "eq_long", + "java_name": "handlerEQLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "ne_long", + "java_name": "handlerNELong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "le_long", + "java_name": "handlerLELong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "ge_long", + "java_name": "handlerGELong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "add_long", + "java_name": "handlerADDLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "sub_long", + "java_name": "handlerSUBLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "mul_long", + "java_name": "handlerMULLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "div_long", + "java_name": "handlerDIVLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "rem_long", + "java_name": "handlerREMLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + }, + { + "c_name": "pow_long", + "java_name": "handlerPOWLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + } +] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 07f5e6f26b..931b6f2972 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,11 +1,11 @@ package org.usvm.interpreter; import io.ksmt.expr.KExpr; -import io.ksmt.sort.KBoolSort; -import io.ksmt.sort.KIntSort; import org.usvm.language.Instruction; import org.usvm.language.Symbol; +import java.util.function.Supplier; + import static org.usvm.interpreter.operations.ForkKt.handlerForkKt; import static org.usvm.interpreter.operations.LongKt.*; @@ -30,6 +30,14 @@ public static void handlerInstruction(ConcolicRunContext context, int instructio context.curState.setPath(context.curState.getPath().add(new Instruction(instruction))); } + @SuppressWarnings("rawtypes") + private static Symbol methodWrapper(ConcolicRunContext context, Supplier valueSupplier) { + T result = valueSupplier.get(); + if (result != null) + return new Symbol(result); + return null; + } + public static Symbol handlerLoadConstLong(ConcolicRunContext context, long value) { return new Symbol(context.ctx.mkIntNum(value)); } @@ -39,79 +47,50 @@ public static void handlerFork(ConcolicRunContext context, Symbol cond) { } public static Symbol handlerGTLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerGTLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerGTLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerLTLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerLTLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerLTLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerEQLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerEQLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerEQLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerNELong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerNELongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerNELongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerGELong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerGELongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerGELongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerLELong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerLELongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerLELongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerADDLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerADDLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerADDLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerSUBLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerSUBLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerSUBLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerMULLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerMULLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerMULLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerDIVLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerDIVLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerDIVLongKt(context.ctx, left.expr, right.expr)); } public static Symbol handlerREMLong(ConcolicRunContext context, Symbol left, Symbol right) { - KExpr res = handlerREMLongKt(context.ctx, left.expr, right.expr); - if (res == null) - return null; - return new Symbol(res); + return methodWrapper(context, () -> handlerREMLongKt(context.ctx, left.expr, right.expr)); + } + + public static Symbol handlerPOWLong(ConcolicRunContext context, Symbol left, Symbol right) { + return methodWrapper(context, () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 6fab7e071d..7741a3a698 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -1,5 +1,6 @@ package org.usvm.interpreter +import io.ksmt.solver.bitwuzla.KBitwuzlaSolver import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents @@ -17,7 +18,9 @@ object PythonComponents: UComponents { override fun mkSolver(ctx: UContext): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) - return USolverBase(ctx, KYicesSolver(ctx), translator, decoder, softConstraintsProvider) + val solver = KYicesSolver(ctx) + //solver.configure { setZ3Option("timeout", 100000) } + return USolverBase(ctx, solver, translator, decoder, softConstraintsProvider) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt index 09adf97721..c91b6afb51 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt @@ -10,6 +10,7 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { with (ctx.ctx) { if (cond.sort != boolSort) return + //println("Fork on: $cond") val model = ctx.curState.models.first() val oldCurState = ctx.curState @Suppress("unchecked_cast") @@ -23,5 +24,8 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { } if (forkResult.negativeState != oldCurState) forkResult.negativeState?.let { ctx.forkedStates.add(it) } + + //println("RESULT: ${forkResult.positiveState} ${forkResult.negativeState} ${ctx.curState}") + //System.out.flush() } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index cc13e78e08..aeb6de93ef 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter.operations import io.ksmt.expr.KExpr +import io.ksmt.expr.KIntNumExpr import io.ksmt.sort.KIntSort import io.ksmt.sort.KSort import org.usvm.UBoolExpr @@ -9,7 +10,7 @@ import org.usvm.UExpr fun createBinaryIntOp( - op: (UContext, UExpr, UExpr) -> UExpr + op: (UContext, UExpr, UExpr) -> UExpr? ): (UContext, UExpr<*>, UExpr<*>) -> UExpr? = { ctx, left, right -> with (ctx) { if (left.sort != intSort || right.sort != intSort) @@ -34,7 +35,7 @@ fun handlerGELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = fun handlerLELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) fun handlerADDLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithAdd(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) fun handlerSUBLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) fun handlerMULLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = @@ -42,4 +43,9 @@ fun handlerMULLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = fun handlerDIVLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) fun handlerREMLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) \ No newline at end of file + createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) +@Suppress("unused_parameter") +fun handlerPOWLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = null // TODO + //createBinaryIntOp { ctx, left, right -> + // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null + //} (x, y, z) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index be3c91d9cb..f779837216 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -11,6 +11,8 @@ fun main() { val program = PythonProgram( """ def f(x, y, z): + if x ** 2 == 4: + return -1 if x + y > 100: return 0 y += 10 ** 9 From 0936d55dc1f5b5f873c625ecf142853da1c54594 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 7 Jun 2023 13:13:47 +0300 Subject: [PATCH 010/344] Updated API; further experiments --- usvm-python/API.md | 25 +++++++---- .../c/org_usvm_interpreter_CPythonAdapter.h | 2 +- .../src/main/json/handler_defs.json | 28 ++++++------- .../org/usvm/interpreter/CPythonAdapter.java | 42 +++++++++---------- .../{Symbol.java => SymbolForCPython.java} | 4 +- .../interpreter/ConcretePythonInterpreter.kt | 5 +-- .../org/usvm/interpreter/PythonComponents.kt | 3 +- .../usvm/interpreter/PythonExecutionState.kt | 8 ++-- .../org/usvm/interpreter/PythonMachine.kt | 16 ++++--- .../usvm/interpreter/USVMPythonInterpreter.kt | 8 +++- .../kotlin/org/usvm/language/Instruction.kt | 8 +++- usvm-python/src/main/kotlin/test.kt | 18 ++++++-- 12 files changed, 100 insertions(+), 67 deletions(-) rename usvm-python/src/main/java/org/usvm/language/{Symbol.java => SymbolForCPython.java} (65%) diff --git a/usvm-python/API.md b/usvm-python/API.md index 9676b2ccd7..3dd4e11a2b 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -8,13 +8,15 @@ All constants are defined in header `SYMBOLIC_API.h`. PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) ``` +Handler might always return `Py_None`. + ## Event types | event type | Description | Expected return type | |-------------------------|-----------------------------------------------------------------------|:--------------------:| | `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | | `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Ignores return value | -| `SYM_EVENT_TYPE_METHOD` | | `PyObject *` | +| `SYM_EVENT_TYPE_METHOD` | Asks for result of some standard operation. | `PyObject *` | ## `SYM_EVENT_TYPE_STACK` events list @@ -35,9 +37,18 @@ For all events empty list may be given as a return value. ## `SYM_EVENT_TYPE_METHOD` events list -| event id | Arguments | -|:----------------------:|:------------------------------| -| `SYM_EVENT_ID_INT_ADD` | 2 arguments: integer operands | -| `SYM_EVENT_ID_INT_GT` | 2 arguments: integer operands | -| `SYM_EVENT_ID_INT_LT` | 2 arguments: integer operands | -| `SYM_EVENT_ID_INT_EQ` | 2 arguments: integer operands | \ No newline at end of file +| event id | Arguments | Operation | +|:---------------------------:|:-------------------------------------------|:-----------:| +| `SYM_EVENT_ID_INT_GT` | 2 arguments: integer operands | `>` | +| `SYM_EVENT_ID_INT_LT` | 2 arguments: integer operands | `<` | +| `SYM_EVENT_ID_INT_EQ` | 2 arguments: integer operands | `==` | +| `SYM_EVENT_ID_INT_NE` | 2 arguments: integer operands | `!=` | +| `SYM_EVENT_ID_INT_GE` | 2 arguments: integer operands | `>=` | +| `SYM_EVENT_ID_INT_LE` | 2 arguments: integer operands | `<=` | +| `SYM_EVENT_ID_INT_ADD` | 2 arguments: integer operands | `+` | +| `SYM_EVENT_ID_INT_SUB` | 2 arguments: integer operands | `-` | +| `SYM_EVENT_ID_INT_NEG` | 1 argument: integer operand | `-` (unary) | +| `SYM_EVENT_ID_INT_MULT` | 2 arguments: integer operands | `*` | +| `SYM_EVENT_ID_INT_REM` | 2 arguments: integer operands | `%` | +| `SYM_EVENT_ID_INT_FLOORDIV` | 2 arguments: integer operands | `//` | +| `SYM_EVENT_ID_INT_POW` | %0: `int`, %1: `int`, %2: `None` (for now) | `**` | \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 5bfbf34eb2..bd4a56bff2 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -50,7 +50,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[Lorg/usvm/language/Symbol;Lorg/usvm/interpreter/ConcolicRunContext;)I + * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;)I */ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject); diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 03f5cc0eca..46be9a3390 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -7,71 +7,71 @@ { "c_name": "load_const_long", "java_name": "handlerLoadConstLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "fork", "java_name": "handlerFork", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;)V" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, { "c_name": "gt_long", "java_name": "handlerGTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "lt_long", "java_name": "handlerLTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "eq_long", "java_name": "handlerEQLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ne_long", "java_name": "handlerNELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "le_long", "java_name": "handlerLELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ge_long", "java_name": "handlerGELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "add_long", "java_name": "handlerADDLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "sub_long", "java_name": "handlerSUBLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "mul_long", "java_name": "handlerMULLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "div_long", "java_name": "handlerDIVLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "rem_long", "java_name": "handlerREMLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "pow_long", "java_name": "handlerPOWLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/Symbol;Lorg/usvm/language/Symbol;)Lorg/usvm/language/Symbol;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 931b6f2972..7391e98bca 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,8 +1,8 @@ package org.usvm.interpreter; import io.ksmt.expr.KExpr; -import org.usvm.language.Instruction; -import org.usvm.language.Symbol; +import org.usvm.language.PythonOPCODE; +import org.usvm.language.SymbolForCPython; import java.util.function.Supplier; @@ -17,7 +17,7 @@ public class CPythonAdapter { public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String expr); // returns PyObject * - public native int concolicRun(long globals, long functionRef, long[] concreteArgs, Symbol[] symbolicArgs, ConcolicRunContext context); + public native int concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); static { System.loadLibrary("cpythonadapter"); @@ -27,70 +27,70 @@ public static void handlerInstruction(ConcolicRunContext context, int instructio context.instructionCounter++; // TODO: check consistency if (context.instructionCounter > context.curState.getPath().size()) - context.curState.setPath(context.curState.getPath().add(new Instruction(instruction))); + context.curState.setPath(context.curState.getPath().add(new PythonOPCODE(instruction))); } @SuppressWarnings("rawtypes") - private static Symbol methodWrapper(ConcolicRunContext context, Supplier valueSupplier) { + private static SymbolForCPython methodWrapper(ConcolicRunContext context, Supplier valueSupplier) { T result = valueSupplier.get(); if (result != null) - return new Symbol(result); + return new SymbolForCPython(result); return null; } - public static Symbol handlerLoadConstLong(ConcolicRunContext context, long value) { - return new Symbol(context.ctx.mkIntNum(value)); + public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, long value) { + return methodWrapper(context, () -> context.ctx.mkIntNum(value)); } - public static void handlerFork(ConcolicRunContext context, Symbol cond) { + public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { handlerForkKt(context, cond.expr); } - public static Symbol handlerGTLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerGTLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerLTLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerLTLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerEQLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerEQLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerNELong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerNELongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerGELong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerGELongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerLELong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerLELongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerADDLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerADDLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerSUBLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerSUBLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerMULLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerMULLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerDIVLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerDIVLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerREMLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerREMLongKt(context.ctx, left.expr, right.expr)); } - public static Symbol handlerPOWLong(ConcolicRunContext context, Symbol left, Symbol right) { + public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); } } diff --git a/usvm-python/src/main/java/org/usvm/language/Symbol.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java similarity index 65% rename from usvm-python/src/main/java/org/usvm/language/Symbol.java rename to usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index 57922d0bad..648209b629 100644 --- a/usvm-python/src/main/java/org/usvm/language/Symbol.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -3,9 +3,9 @@ import io.ksmt.expr.KExpr; @SuppressWarnings("rawtypes") -public class Symbol { +public class SymbolForCPython { public KExpr expr; - public Symbol(KExpr expr) { + public SymbolForCPython(KExpr expr) { this.expr = expr; } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index f500cbbac9..2c2df5ed7d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -1,8 +1,7 @@ package org.usvm.interpreter -import org.usvm.UContext import org.usvm.UExpr -import org.usvm.language.Symbol +import org.usvm.language.SymbolForCPython object ConcretePythonInterpreter { private val pythonAdapter = CPythonAdapter() @@ -33,7 +32,7 @@ object ConcretePythonInterpreter { globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), - Array(symbolicArgs.size) { Symbol(symbolicArgs[it]) }, + Array(symbolicArgs.size) { SymbolForCPython(symbolicArgs[it]) }, ctx ) if (result != 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 7741a3a698..8688d02117 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -1,6 +1,5 @@ package org.usvm.interpreter -import io.ksmt.solver.bitwuzla.KBitwuzlaSolver import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents @@ -22,7 +21,7 @@ object PythonComponents: UComponents { //solver.configure { setZ3Option("timeout", 100000) } return USolverBase(ctx, solver, translator, decoder, softConstraintsProvider) } - + override fun mkTypeSystem(ctx: UContext): UTypeSystem { return PythonTypeSystem } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 4fdba7c311..3c2816c58c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -14,10 +14,10 @@ class PythonExecutionState( pathConstraints: UPathConstraints, memory: UMemoryBase, models: List, - callStack: UCallStack = UCallStack(), - path: PersistentList = persistentListOf() -): UState(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState { + callStack: UCallStack = UCallStack(), + path: PersistentList = persistentListOf() +): UState(ctx, callStack, pathConstraints, memory, models, path) { + override fun clone(newConstraints: UPathConstraints?): UState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index b5ab563cf4..54f4b0d6bb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -12,16 +12,17 @@ import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector class PythonMachine( - private val program: PythonProgram, + program: PythonProgram, ): UMachine() { private val ctx = UContext(PythonComponents) private val globals = ConcretePythonInterpreter.getNewNamespace() - private val solver = ctx.solver() + val solver = ctx.solver() + private val iterationCounter = IterationCounter() init { ConcretePythonInterpreter.concreteRun(globals, program.asString) } override fun getInterpreter(target: Callable): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, globals, target) + USVMPythonInterpreter(ctx, globals, target, iterationCounter) private fun getInitialState(target: Callable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) @@ -47,18 +48,21 @@ class PythonMachine( return ps } - fun analyze(callable: Callable) { + fun analyze(callable: Callable): Int { var cnt = 0 run( callable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 1000 } + shouldStop = { cnt >= 10 } ) + return iterationCounter.iterations } override fun close() { solver.close() ctx.close() } -} \ No newline at end of file +} + +data class IterationCounter(var iterations: Int = 0) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 2253783f16..baa558ef51 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,12 +1,14 @@ package org.usvm.interpreter +import io.ksmt.expr.KBitVec32Value import org.usvm.* import org.usvm.language.Callable class USVMPythonInterpreter( private val ctx: UContext, private val namespace: PythonNamespace, - private val callable: Callable + private val callable: Callable, + private val iterationCounter: IterationCounter ) : UInterpreter() { private val functionRef = callable.reference(namespace) override fun step(state: PythonExecutionState): StepResult = @@ -17,7 +19,7 @@ class USVMPythonInterpreter( val symbols = List(callable.numberOfArguments) { state.memory.read(URegisterRef(ctx.intSort, it)) } val seeds = symbols.map { state.models.first().eval(it) } val concrete = seeds.map { - //println("CONCRETE: $it") + println("CONCRETE: $it") val repr = it.toString() //if (it.isTrue) "True" else "False" ConcretePythonInterpreter.eval(namespace, repr) } @@ -27,6 +29,8 @@ class USVMPythonInterpreter( //println("Finished with state: ${concolicRunContext.curState}. ${concolicRunContext.curState.pathConstraints.logicalConstraints}") //println("Forked states: ${concolicRunContext.forkedStates}") //println("Result of step: ${result.forkedStates.take(10).toList()}") + println("Number of forks: ${concolicRunContext.forkedStates.size}") + iterationCounter.iterations += 1 return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt index 487307cf1a..7dc5f05e3a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt @@ -1,3 +1,9 @@ package org.usvm.language -data class Instruction(val numberInBytecode: Int) \ No newline at end of file +sealed class PythonInstruction +data class PythonOPCODE(val numberInBytecode: Int): PythonInstruction() +data class MethodQuery( + val methodId: Int, + val operands: List, + val result: SymbolForCPython +): PythonInstruction() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index f779837216..555e6a7c9f 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -4,13 +4,19 @@ import org.usvm.language.Callable import org.usvm.language.PythonProgram fun main() { - val globals = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(globals, "x = 10 ** 100") - ConcretePythonInterpreter.concreteRun(globals, "print('Hello from Python!\\nx is', x, flush=True)") + //val globals = ConcretePythonInterpreter.getNewNamespace() + //ConcretePythonInterpreter.concreteRun(globals, "x = 10 ** 100") + //ConcretePythonInterpreter.concreteRun(globals, "print('Hello from Python!\\nx is', x, flush=True)") val program = PythonProgram( """ def f(x, y, z): + while y < 10 ** 5: + y += 1 + if x == y or z == y: + return 1 + return 2 + ${"\"\"\""} if x ** 2 == 4: return -1 if x + y > 100: @@ -34,9 +40,13 @@ fun main() { return 8 else: return 9 + ${"\"\"\""} """.trimIndent() ) val function = Callable.constructCallableFromName(3, "f") val machine = PythonMachine(program) - machine.use { it.analyze(function) } + val start = System.currentTimeMillis() + val iterations = machine.use { it.analyze(function) } + println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") + println("${machine.solver.cnt}") } \ No newline at end of file From c6e3135b979313355946500c86e391c834c5ccf1 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 7 Jun 2023 15:13:53 +0300 Subject: [PATCH 011/344] Update API.md --- usvm-python/API.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usvm-python/API.md b/usvm-python/API.md index 3dd4e11a2b..33de11ab3b 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -2,6 +2,8 @@ All constants are defined in header `SYMBOLIC_API.h`. +Current CPython patch: https://github.com/tochilinak/cpython/pull/3/files. + ## Handler signature ``` @@ -51,4 +53,4 @@ For all events empty list may be given as a return value. | `SYM_EVENT_ID_INT_MULT` | 2 arguments: integer operands | `*` | | `SYM_EVENT_ID_INT_REM` | 2 arguments: integer operands | `%` | | `SYM_EVENT_ID_INT_FLOORDIV` | 2 arguments: integer operands | `//` | -| `SYM_EVENT_ID_INT_POW` | %0: `int`, %1: `int`, %2: `None` (for now) | `**` | \ No newline at end of file +| `SYM_EVENT_ID_INT_POW` | %0: `int`, %1: `int`, %2: `None` (for now) | `**` | From dc97d5833204ee2091aeccdce118060f87dd5434 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 7 Jun 2023 15:15:26 +0300 Subject: [PATCH 012/344] Old example in test.kt --- .../main/kotlin/org/usvm/interpreter/PythonMachine.kt | 2 +- usvm-python/src/main/kotlin/test.kt | 11 +---------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 54f4b0d6bb..bcac27e9ae 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -54,7 +54,7 @@ class PythonMachine( callable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 10 } + shouldStop = { cnt >= 1000 } ) return iterationCounter.iterations } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 555e6a7c9f..5051a3ffb7 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -11,14 +11,6 @@ fun main() { val program = PythonProgram( """ def f(x, y, z): - while y < 10 ** 5: - y += 1 - if x == y or z == y: - return 1 - return 2 - ${"\"\"\""} - if x ** 2 == 4: - return -1 if x + y > 100: return 0 y += 10 ** 9 @@ -40,7 +32,6 @@ fun main() { return 8 else: return 9 - ${"\"\"\""} """.trimIndent() ) val function = Callable.constructCallableFromName(3, "f") @@ -49,4 +40,4 @@ fun main() { val iterations = machine.use { it.analyze(function) } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") println("${machine.solver.cnt}") -} \ No newline at end of file +} From f74a2f8bc0bc55f6b0e0921a82c1243187d5a96c Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 28 Jun 2023 09:52:42 +0300 Subject: [PATCH 013/344] Added PythonObject converter --- .../interpreter/ConverterToPythonObject.kt | 19 ++++++++++++ .../org/usvm/interpreter/PythonComponents.kt | 2 +- .../org/usvm/interpreter/PythonMachine.kt | 2 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 13 ++++---- .../main/kotlin/org/usvm/language/Domain.kt | 7 +++-- .../main/kotlin/org/usvm/language/Types.kt | 3 +- usvm-python/src/main/kotlin/test.kt | 31 +++++-------------- 7 files changed, 42 insertions(+), 35 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt new file mode 100644 index 0000000000..70a5a46341 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -0,0 +1,19 @@ +package org.usvm.interpreter + +import io.ksmt.expr.KIntNumExpr +import org.usvm.UExpr +import org.usvm.language.PythonInt +import org.usvm.language.PythonType + +class ConverterToPythonObject(private val namespace: PythonNamespace) { + fun convert(expr: UExpr<*>, targetType: PythonType): PythonObject? = + when (targetType) { + is PythonInt -> convertInt(expr) + } + + private fun convertInt(expr: UExpr<*>): PythonObject? { + if (expr !is KIntNumExpr) + return null + return ConcretePythonInterpreter.eval(namespace, expr.toString()) + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 8688d02117..e603e75112 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -17,7 +17,7 @@ object PythonComponents: UComponents { override fun mkSolver(ctx: UContext): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) - val solver = KYicesSolver(ctx) + val solver = KZ3Solver(ctx) //solver.configure { setZ3Option("timeout", 100000) } return USolverBase(ctx, solver, translator, decoder, softConstraintsProvider) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index bcac27e9ae..fc278b6973 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -54,7 +54,7 @@ class PythonMachine( callable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 1000 } + shouldStop = { cnt >= 10000 } ) return iterationCounter.iterations } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index baa558ef51..40186d284e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,8 +1,8 @@ package org.usvm.interpreter -import io.ksmt.expr.KBitVec32Value import org.usvm.* import org.usvm.language.Callable +import org.usvm.language.PythonInt class USVMPythonInterpreter( private val ctx: UContext, @@ -11,6 +11,7 @@ class USVMPythonInterpreter( private val iterationCounter: IterationCounter ) : UInterpreter() { private val functionRef = callable.reference(namespace) + private val converter = ConverterToPythonObject(namespace) override fun step(state: PythonExecutionState): StepResult = with(ctx) { //println("Step on $state. ${state.wasExecuted}. Executed path: ${state.path}") @@ -18,10 +19,10 @@ class USVMPythonInterpreter( //System.out.flush() val symbols = List(callable.numberOfArguments) { state.memory.read(URegisterRef(ctx.intSort, it)) } val seeds = symbols.map { state.models.first().eval(it) } - val concrete = seeds.map { - println("CONCRETE: $it") - val repr = it.toString() //if (it.isTrue) "True" else "False" - ConcretePythonInterpreter.eval(namespace, repr) + val concrete = (seeds zip callable.signature).map { (seed, type) -> + //println("Concrete: $seed") + //System.out.flush() + converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") } val concolicRunContext = ConcolicRunContext(state, ctx) ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) @@ -29,7 +30,7 @@ class USVMPythonInterpreter( //println("Finished with state: ${concolicRunContext.curState}. ${concolicRunContext.curState.pathConstraints.logicalConstraints}") //println("Forked states: ${concolicRunContext.forkedStates}") //println("Result of step: ${result.forkedStates.take(10).toList()}") - println("Number of forks: ${concolicRunContext.forkedStates.size}") + //println("Number of forks: ${concolicRunContext.forkedStates.size}") iterationCounter.iterations += 1 return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 6c52a92d54..60944049a4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -10,11 +10,12 @@ class Slot class Attribute class Callable( - val numberOfArguments: Int, + val signature: List, val reference: (PythonNamespace) -> /* function reference */ PythonObject ) { + val numberOfArguments: Int = signature.size companion object { - fun constructCallableFromName(numberOfArguments: Int, name: String) = - Callable(numberOfArguments) { globals -> ConcretePythonInterpreter.eval(globals, name) } + fun constructCallableFromName(signature: List, name: String) = + Callable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt index 28027b336f..2ccba60a76 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -2,7 +2,8 @@ package org.usvm.language import org.usvm.UTypeSystem -object PythonType +sealed class PythonType +object PythonInt: PythonType() object PythonTypeSystem: UTypeSystem { override fun isSupertype(u: PythonType, t: PythonType): Boolean { diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 5051a3ffb7..a257366093 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,6 +1,6 @@ -import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonMachine import org.usvm.language.Callable +import org.usvm.language.PythonInt import org.usvm.language.PythonProgram fun main() { @@ -10,31 +10,16 @@ fun main() { val program = PythonProgram( """ - def f(x, y, z): - if x + y > 100: - return 0 - y += 10 ** 9 - if 0 < x + z + 1 < 100 and y > 0: - return 1 - elif x + 3 < -2 - z and x < y: - return 2 - elif x * 100 % 7 == 0 and z + y % 100 == 0: - return 3 - elif x % 155 == 0 and x + y - z < 0: - return 4 - elif (x + z) % 10 == 0 and x + y > 0: - return 5 - elif (x - 10 ** 8 + y) * 50 % 9 == 0 and y // 88 == 5: - return 6 - elif z == 15789 and y + x > 10 ** 9: - return 7 - elif x + y + z == -10 ** 9 and x != 0 and z == 2598: - return 8 + import pickle + def f(x: int): + print("x:", x, flush=True) + if x > 0: + return pickle.dumps(x) else: - return 9 + return pickle.dumps(-x) """.trimIndent() ) - val function = Callable.constructCallableFromName(3, "f") + val function = Callable.constructCallableFromName(List(1) { PythonInt }, "f") val machine = PythonMachine(program) val start = System.currentTimeMillis() val iterations = machine.use { it.analyze(function) } From 9a452bd61e2018c9b28edefec61bdc760c62f859 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 28 Jun 2023 15:14:09 +0300 Subject: [PATCH 014/344] Added path diversion detection --- usvm-python/API.md | 10 +-- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/symbolic_handler.c | 20 ++++- .../src/main/json/handler_defs.json | 24 ++--- .../org/usvm/interpreter/CPythonAdapter.java | 87 +++++++++++-------- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../interpreter/ConcretePythonInterpreter.kt | 4 +- .../usvm/interpreter/PythonExecutionState.kt | 12 +-- .../org/usvm/interpreter/PythonMachine.kt | 5 ++ .../usvm/interpreter/SymbolicHandlerEvent.kt | 29 +++++++ .../usvm/interpreter/USVMPythonInterpreter.kt | 5 +- .../interpreter/operations/PathTracing.kt | 34 ++++++++ .../kotlin/org/usvm/language/Instruction.kt | 8 +- usvm-python/src/main/kotlin/test.kt | 11 ++- 14 files changed, 176 insertions(+), 77 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt diff --git a/usvm-python/API.md b/usvm-python/API.md index 33de11ab3b..6cd6c1b14c 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -14,11 +14,11 @@ Handler might always return `Py_None`. ## Event types -| event type | Description | Expected return type | -|-------------------------|-----------------------------------------------------------------------|:--------------------:| -| `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | -| `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Ignores return value | -| `SYM_EVENT_TYPE_METHOD` | Asks for result of some standard operation. | `PyObject *` | +| event type | Description | Expected return type | +|-------------------------|-----------------------------------------------------------------------|:------------------------------------:| +| `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | +| `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Must return `0` or `None` on success | +| `SYM_EVENT_TYPE_METHOD` | Asks for result of some standard operation. | `PyObject *` | ## `SYM_EVENT_TYPE_STACK` events list diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 740d365079..f1f5f330ee 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 740d365079fee537a8e0097dbd6f3db0f288196b +Subproject commit f1f5f330ee24df816cdd968ffb0ac0ee7faccae0 diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index c6a55a91f4..adb38cc5fd 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -1,13 +1,26 @@ #include "symbolic_handler.h" #include "utils.h" +#define CHECK_FOR_EXCEPTION(fail_value) \ + if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ + /*printf("HERE\n"); \ + fflush(stdout);*/ \ + PyErr_SetString(PyExc_RuntimeError, "Java exception"); \ + return fail_value; \ + } + +#define CALL_JAVA_METHOD(result, ctx, func, args...) \ + result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ + CHECK_FOR_EXCEPTION(Py_None) + #define BINARY_INT_HANDLER(func) \ PyObject *left = args[0], *right = args[1]; \ if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ return Py_None; \ jobject left_obj = ((JavaPythonObject *) left)->object; \ jobject right_obj = ((JavaPythonObject *) right)->object; \ - jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, left_obj, right_obj); \ + jobject result; \ + CALL_JAVA_METHOD(result, ctx, func, ctx->context, signal_id, left_obj, right_obj) \ if (!result) \ return Py_None; \ PyObject *r = wrap_java_object(ctx->env, result); \ @@ -29,7 +42,8 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * if (overflow) return Py_None; - jobject result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_load_const_long, ctx->context, value_as_long); + jobject result; + CALL_JAVA_METHOD(result, ctx, load_const_long, ctx->context, value_as_long) return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); } else if (signal_id == SYM_EVENT_ID_FORK) { @@ -41,6 +55,7 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * //fflush(stdout); jobject obj = ((JavaPythonObject *) value)->object; (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); + CHECK_FOR_EXCEPTION(1) } return Py_None; @@ -101,6 +116,7 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * PyFrameObject *frame = args[0]; int instruction = take_instruction_from_frame(frame); (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); + CHECK_FOR_EXCEPTION(1) return Py_None; } diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 46be9a3390..7e1613a332 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -17,61 +17,61 @@ { "c_name": "gt_long", "java_name": "handlerGTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "lt_long", "java_name": "handlerLTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "eq_long", "java_name": "handlerEQLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ne_long", "java_name": "handlerNELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "le_long", "java_name": "handlerLELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ge_long", "java_name": "handlerGELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "add_long", "java_name": "handlerADDLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "sub_long", "java_name": "handlerSUBLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "mul_long", "java_name": "handlerMULLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "div_long", "java_name": "handlerDIVLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "rem_long", "java_name": "handlerREMLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "pow_long", "java_name": "handlerPOWLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7391e98bca..948975d3ee 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,13 +1,17 @@ package org.usvm.interpreter; import io.ksmt.expr.KExpr; -import org.usvm.language.PythonOPCODE; +import kotlin.Unit; +import org.usvm.language.PythonInstruction; import org.usvm.language.SymbolForCPython; +import java.util.Arrays; +import java.util.List; import java.util.function.Supplier; import static org.usvm.interpreter.operations.ForkKt.handlerForkKt; import static org.usvm.interpreter.operations.LongKt.*; +import static org.usvm.interpreter.operations.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -24,73 +28,86 @@ public class CPythonAdapter { } public static void handlerInstruction(ConcolicRunContext context, int instruction) { - context.instructionCounter++; - // TODO: check consistency - if (context.instructionCounter > context.curState.getPath().size()) - context.curState.setPath(context.curState.getPath().add(new PythonOPCODE(instruction))); + withTracing(context, new NextInstruction(new PythonInstruction(instruction)), () -> Unit.INSTANCE); } @SuppressWarnings("rawtypes") - private static SymbolForCPython methodWrapper(ConcolicRunContext context, Supplier valueSupplier) { - T result = valueSupplier.get(); - if (result != null) - return new SymbolForCPython(result); - return null; + private static SymbolForCPython wrap(KExpr expr) { + if (expr == null) + return null; + return new SymbolForCPython(expr); + } + + @SuppressWarnings("rawtypes") + private static SymbolForCPython methodWrapper( + ConcolicRunContext context, + int methodId, + List operands, + Supplier valueSupplier + ) { + return withTracing( + context, + new MethodQueryParameters(methodId, operands), + () -> { + T result = valueSupplier.get(); + return wrap(result); + } + ); } public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, long value) { - return methodWrapper(context, () -> context.ctx.mkIntNum(value)); + return withTracing(context, new LoadConstParameters(value), () -> wrap(context.ctx.mkIntNum(value))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { handlerForkKt(context, cond.expr); } - public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerGTLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerLTLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerLTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerEQLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerEQLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerNELongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerNELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerGELongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerGELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerLELongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerLELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerADDLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerADDLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerSUBLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerMULLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerMULLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerDIVLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerREMLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerREMLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context.ctx, left.expr, right.expr)); } - public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); + public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 0100967f23..9a3401ae4a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -8,7 +8,7 @@ public class ConcolicRunContext { public PythonExecutionState curState; public UContext ctx; public ArrayList forkedStates = new ArrayList<>(); - int instructionCounter = 0; + public int instructionCounter = 0; ConcolicRunContext(PythonExecutionState curState, UContext ctx) { this.curState = curState; diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 2c2df5ed7d..70a149aeb8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -27,12 +27,12 @@ object ConcretePythonInterpreter { } fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, - symbolicArgs: List>, ctx: ConcolicRunContext) { + symbolicArgs: List, ctx: ConcolicRunContext) { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), - Array(symbolicArgs.size) { SymbolForCPython(symbolicArgs[it]) }, + Array(symbolicArgs.size) { symbolicArgs[it] }, ctx ) if (result != 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 3c2816c58c..221bfa280e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -10,19 +10,21 @@ import org.usvm.model.UModel class PythonExecutionState( ctx: UContext, - val callable: Callable, + private val callable: Callable, + val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemoryBase, models: List, - callStack: UCallStack = UCallStack(), - path: PersistentList = persistentListOf() -): UState(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState { + callStack: UCallStack> = UCallStack(), + path: PersistentList> = persistentListOf() +): UState>(ctx, callStack, pathConstraints, memory, models, path) { + override fun clone(newConstraints: UPathConstraints?): UState> { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( ctx, callable, + inputSymbols, newPathConstraints, newMemory, models, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index fc278b6973..22ac2940ae 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -1,13 +1,16 @@ package org.usvm.interpreter +import com.microsoft.z3.Symbol import org.usvm.UContext import org.usvm.UMachine import org.usvm.UPathSelector +import org.usvm.URegisterRef import org.usvm.constraints.UPathConstraints import org.usvm.language.Attribute import org.usvm.language.Callable import org.usvm.language.PythonProgram import org.usvm.language.PythonType +import org.usvm.language.SymbolForCPython import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector @@ -32,9 +35,11 @@ class PythonMachine( ).apply { stack.push(target.numberOfArguments) } + val symbols = List(target.numberOfArguments) { SymbolForCPython(memory.read(URegisterRef(ctx.intSort, it))) } return PythonExecutionState( ctx, target, + symbols, pathConstraints, memory, listOf(solver.emptyModel()) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt new file mode 100644 index 0000000000..b5629c52a1 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt @@ -0,0 +1,29 @@ +package org.usvm.interpreter + +import org.usvm.language.PythonInstruction +import org.usvm.language.SymbolForCPython + +sealed class SymbolicHandlerEventParameters + +data class MethodQueryParameters( + val methodId: Int, + val operands: List +): SymbolicHandlerEventParameters() + +data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() +data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEventParameters() + +class SymbolicHandlerEvent( + val parameters: SymbolicHandlerEventParameters, + val result: T? +) + +/* +data class MethodQuery( + val methodId: Int, + val operands: List, + val result: SymbolForCPython +): SymbolicHandlerEvent() +*/ + +// data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEvent() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 40186d284e..72126c356a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -2,7 +2,6 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.language.Callable -import org.usvm.language.PythonInt class USVMPythonInterpreter( private val ctx: UContext, @@ -17,8 +16,8 @@ class USVMPythonInterpreter( //println("Step on $state. ${state.wasExecuted}. Executed path: ${state.path}") //println(state.pathConstraints.logicalConstraints) //System.out.flush() - val symbols = List(callable.numberOfArguments) { state.memory.read(URegisterRef(ctx.intSort, it)) } - val seeds = symbols.map { state.models.first().eval(it) } + val symbols = state.inputSymbols + val seeds = symbols.map { state.models.first().eval(it.expr) } val concrete = (seeds zip callable.signature).map { (seed, type) -> //println("Concrete: $seed") //System.out.flush() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt new file mode 100644 index 0000000000..757f60641a --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt @@ -0,0 +1,34 @@ +package org.usvm.interpreter.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.SymbolicHandlerEvent +import org.usvm.interpreter.SymbolicHandlerEventParameters + +fun withTracing( + context: ConcolicRunContext, + newEventParameters: SymbolicHandlerEventParameters, + resultSupplier: () -> T? +): T? { + context.instructionCounter++ + if (context.instructionCounter > context.curState.path.size) { + val result = resultSupplier() + val eventRecord = SymbolicHandlerEvent(newEventParameters, result) + context.curState.path = context.curState.path.add(eventRecord) + return result + } + val event = context.curState.path[context.instructionCounter - 1] + if (event.parameters != newEventParameters) { + // path diversion + println("Path diversion!") + println(event.parameters) + println(newEventParameters) + System.out.flush() + throw PathDiversionException + } + event.result ?: return null + + @Suppress("unchecked_cast") + return event.result as T +} + +object PathDiversionException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt index 7dc5f05e3a..35182f8db2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt @@ -1,9 +1,3 @@ package org.usvm.language -sealed class PythonInstruction -data class PythonOPCODE(val numberInBytecode: Int): PythonInstruction() -data class MethodQuery( - val methodId: Int, - val operands: List, - val result: SymbolForCPython -): PythonInstruction() \ No newline at end of file +data class PythonInstruction(val numberInBytecode: Int) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index a257366093..9af7b8b50a 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -11,12 +11,15 @@ fun main() { val program = PythonProgram( """ import pickle - def f(x: int): + def f(x): print("x:", x, flush=True) - if x > 0: - return pickle.dumps(x) + if int(x) >= 0: + if x >= 0: + return pickle.dumps(x) + else: + return pickle.dumps(-x) else: - return pickle.dumps(-x) + return 1 """.trimIndent() ) val function = Callable.constructCallableFromName(List(1) { PythonInt }, "f") From 11b461f4a20005622c43c24eeee19780eeedc776 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 28 Jun 2023 15:52:57 +0300 Subject: [PATCH 015/344] Restart program on each step --- .../c/org_usvm_interpreter_CPythonAdapter.c | 9 ++++--- .../c/org_usvm_interpreter_CPythonAdapter.h | 12 +++++++-- .../org/usvm/interpreter/CPythonAdapter.java | 3 ++- .../interpreter/ConcretePythonInterpreter.kt | 9 +++++-- .../org/usvm/interpreter/PythonComponents.kt | 9 +++---- .../usvm/interpreter/PythonExecutionState.kt | 12 ++++----- .../org/usvm/interpreter/PythonMachine.kt | 27 ++++++++----------- .../usvm/interpreter/USVMPythonInterpreter.kt | 21 ++++++++++----- .../interpreter/operations/PathTracing.kt | 1 - .../main/kotlin/org/usvm/language/Domain.kt | 4 +-- usvm-python/src/main/kotlin/test.kt | 4 +-- 11 files changed, 64 insertions(+), 47 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 5a52cfc7da..248da80a1e 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -63,7 +63,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( return (jlong) v; } -JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEnv *env, jobject cpython_adapter, jlong globals, @@ -89,11 +89,12 @@ JNIEXPORT int JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( if (result == NULL) { PyErr_Print(); - return 1; } + return (PyObject *) result; +} - PyObject_Print(result, stdout, 0); +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { + PyObject_Print((PyObject *) object_ref, stdout, 0); printf("\n"); fflush(stdout); - return 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index bd4a56bff2..b88d70a188 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -50,11 +50,19 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;)I + * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;)J */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: printPythonObject + * Signature: (J)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 948975d3ee..a761975c87 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -21,7 +21,8 @@ public class CPythonAdapter { public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String expr); // returns PyObject * - public native int concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); + public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); + public native void printPythonObject(long object); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 70a149aeb8..2b26de3dd5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -27,7 +27,7 @@ object ConcretePythonInterpreter { } fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, - symbolicArgs: List, ctx: ConcolicRunContext) { + symbolicArgs: List, ctx: ConcolicRunContext): PythonObject { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, @@ -35,8 +35,13 @@ object ConcretePythonInterpreter { Array(symbolicArgs.size) { symbolicArgs[it] }, ctx ) - if (result != 0) + if (result == 0L) throw CPythonExecutionException + return PythonObject(result) + } + + fun printPythonObject(pythonObject: PythonObject) { + pythonAdapter.printPythonObject(pythonObject.address) } fun kill() { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index e603e75112..1744a280ee 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -1,21 +1,20 @@ package org.usvm.interpreter -import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext import org.usvm.UTypeSystem import org.usvm.language.Attribute -import org.usvm.language.Callable +import org.usvm.language.PythonCallable import org.usvm.language.PythonType import org.usvm.language.PythonTypeSystem import org.usvm.model.buildTranslatorAndLazyDecoder import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase -object PythonComponents: UComponents { - override fun mkSolver(ctx: UContext): USolverBase { - val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) +object PythonComponents: UComponents { + override fun mkSolver(ctx: UContext): USolverBase { + val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) //solver.configure { setZ3Option("timeout", 100000) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 221bfa280e..487feff338 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -10,20 +10,20 @@ import org.usvm.model.UModel class PythonExecutionState( ctx: UContext, - private val callable: Callable, + private val pythonCallable: PythonCallable, val inputSymbols: List, pathConstraints: UPathConstraints, - memory: UMemoryBase, + memory: UMemoryBase, models: List, - callStack: UCallStack> = UCallStack(), + callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf() -): UState>(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState> { +): UState>(ctx, callStack, pathConstraints, memory, models, path) { + override fun clone(newConstraints: UPathConstraints?): UState> { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( ctx, - callable, + pythonCallable, inputSymbols, newPathConstraints, newMemory, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 22ac2940ae..a858464022 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -1,13 +1,12 @@ package org.usvm.interpreter -import com.microsoft.z3.Symbol import org.usvm.UContext import org.usvm.UMachine import org.usvm.UPathSelector import org.usvm.URegisterRef import org.usvm.constraints.UPathConstraints import org.usvm.language.Attribute -import org.usvm.language.Callable +import org.usvm.language.PythonCallable import org.usvm.language.PythonProgram import org.usvm.language.PythonType import org.usvm.language.SymbolForCPython @@ -15,21 +14,17 @@ import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector class PythonMachine( - program: PythonProgram, -): UMachine() { + private val program: PythonProgram, +): UMachine() { private val ctx = UContext(PythonComponents) - private val globals = ConcretePythonInterpreter.getNewNamespace() - val solver = ctx.solver() + val solver = ctx.solver() private val iterationCounter = IterationCounter() - init { - ConcretePythonInterpreter.concreteRun(globals, program.asString) - } - override fun getInterpreter(target: Callable): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, globals, target, iterationCounter) + override fun getInterpreter(target: PythonCallable): USVMPythonInterpreter = + USVMPythonInterpreter(ctx, program, target, iterationCounter) - private fun getInitialState(target: Callable): PythonExecutionState { + private fun getInitialState(target: PythonCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) - val memory = UMemoryBase( + val memory = UMemoryBase( ctx, pathConstraints.typeConstraints ).apply { @@ -46,17 +41,17 @@ class PythonMachine( ) } - override fun getPathSelector(target: Callable): UPathSelector { + override fun getPathSelector(target: PythonCallable): UPathSelector { val ps = DfsPathSelector() val initialState = getInitialState(target) ps.add(sequenceOf(initialState)) return ps } - fun analyze(callable: Callable): Int { + fun analyze(pythonCallable: PythonCallable): Int { var cnt = 0 run( - callable, + pythonCallable, onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, shouldStop = { cnt >= 10000 } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 72126c356a..213174b83a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,16 +1,21 @@ package org.usvm.interpreter import org.usvm.* -import org.usvm.language.Callable +import org.usvm.language.PythonCallable +import org.usvm.language.PythonProgram class USVMPythonInterpreter( private val ctx: UContext, - private val namespace: PythonNamespace, - private val callable: Callable, + private val program: PythonProgram, + private val callable: PythonCallable, private val iterationCounter: IterationCounter ) : UInterpreter() { - private val functionRef = callable.reference(namespace) - private val converter = ConverterToPythonObject(namespace) + private fun prepareNamespace(): PythonNamespace { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, program.asString) + return namespace + } + override fun step(state: PythonExecutionState): StepResult = with(ctx) { //println("Step on $state. ${state.wasExecuted}. Executed path: ${state.path}") @@ -18,14 +23,18 @@ class USVMPythonInterpreter( //System.out.flush() val symbols = state.inputSymbols val seeds = symbols.map { state.models.first().eval(it.expr) } + val namespace = prepareNamespace() + val converter = ConverterToPythonObject(namespace) + val functionRef = callable.reference(namespace) val concrete = (seeds zip callable.signature).map { (seed, type) -> //println("Concrete: $seed") //System.out.flush() converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") } val concolicRunContext = ConcolicRunContext(state, ctx) - ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) + val result = ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) concolicRunContext.curState.wasExecuted = true + ConcretePythonInterpreter.printPythonObject(result) //println("Finished with state: ${concolicRunContext.curState}. ${concolicRunContext.curState.pathConstraints.logicalConstraints}") //println("Forked states: ${concolicRunContext.forkedStates}") //println("Result of step: ${result.forkedStates.take(10).toList()}") diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt index 757f60641a..b46e52f62c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt @@ -18,7 +18,6 @@ fun withTracing( } val event = context.curState.path[context.instructionCounter - 1] if (event.parameters != newEventParameters) { - // path diversion println("Path diversion!") println(event.parameters) println(newEventParameters) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 60944049a4..93bea50c21 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -9,13 +9,13 @@ data class PythonProgram(val asString: String) class Slot class Attribute -class Callable( +class PythonCallable( val signature: List, val reference: (PythonNamespace) -> /* function reference */ PythonObject ) { val numberOfArguments: Int = signature.size companion object { fun constructCallableFromName(signature: List, name: String) = - Callable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } + PythonCallable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 9af7b8b50a..0514d0ead7 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,5 +1,5 @@ import org.usvm.interpreter.PythonMachine -import org.usvm.language.Callable +import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.language.PythonProgram @@ -22,7 +22,7 @@ fun main() { return 1 """.trimIndent() ) - val function = Callable.constructCallableFromName(List(1) { PythonInt }, "f") + val function = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "f") val machine = PythonMachine(program) val start = System.currentTimeMillis() val iterations = machine.use { it.analyze(function) } From 4075cd33950ac93af4edde6271d1a3d9bb89b2a3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 11:19:08 +0300 Subject: [PATCH 016/344] Added customization of PythonObject serialization --- .../org/usvm/interpreter/PythonMachine.kt | 18 ++++++++++---- .../usvm/interpreter/USVMPythonInterpreter.kt | 19 ++++++--------- usvm-python/src/main/kotlin/test.kt | 24 +++++++++++++------ 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index a858464022..b8c6f1bc9b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -13,14 +13,23 @@ import org.usvm.language.SymbolForCPython import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector -class PythonMachine( +data class PythonAnalysisResult( + val inputValues: List, + val result: PYTHON_OBJECT_REPRESENTATION? +) + +class PythonMachine( private val program: PythonProgram, + private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { private val ctx = UContext(PythonComponents) - val solver = ctx.solver() + private val solver = ctx.solver() private val iterationCounter = IterationCounter() - override fun getInterpreter(target: PythonCallable): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, program, target, iterationCounter) + val results = mutableListOf>() + override fun getInterpreter(target: PythonCallable): USVMPythonInterpreter = + USVMPythonInterpreter(ctx, program, target, iterationCounter, pythonObjectSerialization) { inputs, result -> + results.add(PythonAnalysisResult(inputs, result)) + } private fun getInitialState(target: PythonCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) @@ -50,6 +59,7 @@ class PythonMachine( fun analyze(pythonCallable: PythonCallable): Int { var cnt = 0 + results.clear() run( pythonCallable, onState = { cnt += 1 }, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 213174b83a..33b81fdbf3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -4,11 +4,13 @@ import org.usvm.* import org.usvm.language.PythonCallable import org.usvm.language.PythonProgram -class USVMPythonInterpreter( +class USVMPythonInterpreter( private val ctx: UContext, private val program: PythonProgram, private val callable: PythonCallable, - private val iterationCounter: IterationCounter + private val iterationCounter: IterationCounter, + private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, + private val saveRunResult: (List, PYTHON_OBJECT_REPRESENTATION?) -> Unit ) : UInterpreter() { private fun prepareNamespace(): PythonNamespace { val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -18,27 +20,20 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { - //println("Step on $state. ${state.wasExecuted}. Executed path: ${state.path}") - //println(state.pathConstraints.logicalConstraints) - //System.out.flush() val symbols = state.inputSymbols val seeds = symbols.map { state.models.first().eval(it.expr) } val namespace = prepareNamespace() val converter = ConverterToPythonObject(namespace) val functionRef = callable.reference(namespace) val concrete = (seeds zip callable.signature).map { (seed, type) -> - //println("Concrete: $seed") - //System.out.flush() converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") } + val serializedInputs = concrete.map(pythonObjectSerialization) val concolicRunContext = ConcolicRunContext(state, ctx) val result = ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) + val serializedResult = pythonObjectSerialization(result) + saveRunResult(serializedInputs, serializedResult) concolicRunContext.curState.wasExecuted = true - ConcretePythonInterpreter.printPythonObject(result) - //println("Finished with state: ${concolicRunContext.curState}. ${concolicRunContext.curState.pathConstraints.logicalConstraints}") - //println("Forked states: ${concolicRunContext.forkedStates}") - //println("Result of step: ${result.forkedStates.take(10).toList()}") - //println("Number of forks: ${concolicRunContext.forkedStates.size}") iterationCounter.iterations += 1 return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 0514d0ead7..01b41bef7c 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,17 +1,19 @@ +import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonMachine import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.language.PythonProgram fun main() { - //val globals = ConcretePythonInterpreter.getNewNamespace() - //ConcretePythonInterpreter.concreteRun(globals, "x = 10 ** 100") - //ConcretePythonInterpreter.concreteRun(globals, "print('Hello from Python!\\nx is', x, flush=True)") - val program = PythonProgram( """ import pickle def f(x): + if x >= 0: + return x + else: + return -x + ${"\"\"\""} print("x:", x, flush=True) if int(x) >= 0: if x >= 0: @@ -20,12 +22,20 @@ fun main() { return pickle.dumps(-x) else: return 1 + ${"\"\"\""} """.trimIndent() ) val function = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "f") - val machine = PythonMachine(program) + val machine = PythonMachine(program) { it } val start = System.currentTimeMillis() - val iterations = machine.use { it.analyze(function) } + val iterations = machine.use { activeMachine -> + activeMachine.analyze(function) + activeMachine.results.forEach { (inputs, result) -> + println("INPUT:") + inputs.forEach { ConcretePythonInterpreter.printPythonObject(it) } + println("RESULT:") + ConcretePythonInterpreter.printPythonObject(result!!) + } + } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") - println("${machine.solver.cnt}") } From 66af933cdfb58137d49600d3d1434a782d615bb0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 13:15:05 +0300 Subject: [PATCH 017/344] Changed structure of analysis result --- .../c/org_usvm_interpreter_CPythonAdapter.c | 6 +++++ .../c/org_usvm_interpreter_CPythonAdapter.h | 8 ++++++ .../org/usvm/interpreter/CPythonAdapter.java | 1 + .../interpreter/ConcretePythonInterpreter.kt | 5 +++- .../org/usvm/interpreter/PythonMachine.kt | 14 +++------- .../usvm/interpreter/SymbolicHandlerEvent.kt | 12 +-------- .../usvm/interpreter/USVMPythonInterpreter.kt | 26 ++++++++++++++++--- usvm-python/src/main/kotlin/test.kt | 21 +++++---------- 8 files changed, 52 insertions(+), 41 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 248da80a1e..3e3cb4a310 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -97,4 +97,10 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObjec PyObject_Print((PyObject *) object_ref, stdout, 0); printf("\n"); fflush(stdout); +} + +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { + PyObject *repr = PyObject_Repr((PyObject *) object_ref); + char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); + return (*env)->NewStringUTF(env, repr_as_string); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index b88d70a188..083c33c949 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -63,6 +63,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getPythonObjectRepr + * Signature: (J)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index a761975c87..5847e79885 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -23,6 +23,7 @@ public class CPythonAdapter { public native long eval(long globals, String expr); // returns PyObject * public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); public native void printPythonObject(long object); + public native String getPythonObjectRepr(long object); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 2b26de3dd5..8d812d950f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -1,6 +1,5 @@ package org.usvm.interpreter -import org.usvm.UExpr import org.usvm.language.SymbolForCPython object ConcretePythonInterpreter { @@ -44,6 +43,10 @@ object ConcretePythonInterpreter { pythonAdapter.printPythonObject(pythonObject.address) } + fun getPythonObjectRepr(pythonObject: PythonObject): String { + return pythonAdapter.getPythonObjectRepr(pythonObject.address) + } + fun kill() { pythonAdapter.finalizePython() } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index b8c6f1bc9b..78c672143f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -1,9 +1,6 @@ package org.usvm.interpreter -import org.usvm.UContext -import org.usvm.UMachine -import org.usvm.UPathSelector -import org.usvm.URegisterRef +import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.Attribute import org.usvm.language.PythonCallable @@ -13,11 +10,6 @@ import org.usvm.language.SymbolForCPython import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector -data class PythonAnalysisResult( - val inputValues: List, - val result: PYTHON_OBJECT_REPRESENTATION? -) - class PythonMachine( private val program: PythonProgram, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION @@ -27,8 +19,8 @@ class PythonMachine( private val iterationCounter = IterationCounter() val results = mutableListOf>() override fun getInterpreter(target: PythonCallable): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, program, target, iterationCounter, pythonObjectSerialization) { inputs, result -> - results.add(PythonAnalysisResult(inputs, result)) + USVMPythonInterpreter(ctx, program, target, iterationCounter, pythonObjectSerialization) { + results.add(it) } private fun getInitialState(target: PythonCallable): PythonExecutionState { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt index b5629c52a1..ee4b010a25 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt @@ -16,14 +16,4 @@ data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHa class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, val result: T? -) - -/* -data class MethodQuery( - val methodId: Int, - val operands: List, - val result: SymbolForCPython -): SymbolicHandlerEvent() -*/ - -// data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEvent() \ No newline at end of file +) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 33b81fdbf3..82685e96ee 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -3,6 +3,7 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.language.PythonCallable import org.usvm.language.PythonProgram +import org.usvm.language.PythonType class USVMPythonInterpreter( private val ctx: UContext, @@ -10,7 +11,7 @@ class USVMPythonInterpreter( private val callable: PythonCallable, private val iterationCounter: IterationCounter, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, - private val saveRunResult: (List, PYTHON_OBJECT_REPRESENTATION?) -> Unit + private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { private fun prepareNamespace(): PythonNamespace { val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -32,9 +33,28 @@ class USVMPythonInterpreter( val concolicRunContext = ConcolicRunContext(state, ctx) val result = ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) val serializedResult = pythonObjectSerialization(result) - saveRunResult(serializedInputs, serializedResult) + saveRunResult( + PythonAnalysisResult( + (seeds zip callable.signature zip serializedInputs).map { (p, z) -> + val (x, y) = p + InputObject(x, y, z) + }, + serializedResult + ) + ) concolicRunContext.curState.wasExecuted = true iterationCounter.iterations += 1 return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } -} \ No newline at end of file +} + +data class InputObject( + val asUExpr: UExpr<*>, + val type: PythonType, + val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION +) + +data class PythonAnalysisResult( + val inputValues: List>, + val result: PYTHON_OBJECT_REPRESENTATION? +) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 01b41bef7c..dcf35887f0 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -10,32 +10,23 @@ fun main() { import pickle def f(x): if x >= 0: - return x + return pickle.dumps(x) else: - return -x - ${"\"\"\""} - print("x:", x, flush=True) - if int(x) >= 0: - if x >= 0: - return pickle.dumps(x) - else: - return pickle.dumps(-x) - else: - return 1 - ${"\"\"\""} + return pickle.dumps(-x) """.trimIndent() ) val function = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "f") val machine = PythonMachine(program) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> - activeMachine.analyze(function) + val returnValue = activeMachine.analyze(function) activeMachine.results.forEach { (inputs, result) -> println("INPUT:") - inputs.forEach { ConcretePythonInterpreter.printPythonObject(it) } + inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } println("RESULT:") - ConcretePythonInterpreter.printPythonObject(result!!) + println(ConcretePythonInterpreter.getPythonObjectRepr(result!!)) } + returnValue } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") } From 32744366fbf6b3d8537db46ccc4b5572b48041f1 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 16:34:01 +0300 Subject: [PATCH 018/344] Fixes after rebase --- .../usvm/interpreter/PythonExecutionState.kt | 4 +-- .../org/usvm/interpreter/PythonMachine.kt | 25 +++++++++++-------- usvm-python/src/main/kotlin/test.kt | 7 ++++-- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 487feff338..3d08eff3f7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -6,7 +6,7 @@ import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.* import org.usvm.memory.UMemoryBase -import org.usvm.model.UModel +import org.usvm.model.UModelBase class PythonExecutionState( ctx: UContext, @@ -14,7 +14,7 @@ class PythonExecutionState( val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemoryBase, - models: List, + models: List>, callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf() ): UState>(ctx, callStack, pathConstraints, memory, models, path) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 78c672143f..0b8acc42e5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -13,12 +13,14 @@ import org.usvm.ps.DfsPathSelector class PythonMachine( private val program: PythonProgram, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION -): UMachine() { +): UMachine() { private val ctx = UContext(PythonComponents) private val solver = ctx.solver() private val iterationCounter = IterationCounter() - val results = mutableListOf>() - override fun getInterpreter(target: PythonCallable): USVMPythonInterpreter = + private fun getInterpreter( + target: PythonCallable, + results: MutableList> + ): USVMPythonInterpreter = USVMPythonInterpreter(ctx, program, target, iterationCounter, pythonObjectSerialization) { results.add(it) } @@ -31,7 +33,7 @@ class PythonMachine( ).apply { stack.push(target.numberOfArguments) } - val symbols = List(target.numberOfArguments) { SymbolForCPython(memory.read(URegisterRef(ctx.intSort, it))) } + val symbols = List(target.numberOfArguments) { SymbolForCPython(memory.read(URegisterLValue(ctx.intSort, it))) } return PythonExecutionState( ctx, target, @@ -42,21 +44,24 @@ class PythonMachine( ) } - override fun getPathSelector(target: PythonCallable): UPathSelector { + fun getPathSelector(target: PythonCallable): UPathSelector { val ps = DfsPathSelector() val initialState = getInitialState(target) - ps.add(sequenceOf(initialState)) + ps.add(listOf(initialState)) return ps } - fun analyze(pythonCallable: PythonCallable): Int { + fun analyze( + pythonCallable: PythonCallable, + results: MutableList> + ): Int { var cnt = 0 - results.clear() run( - pythonCallable, + getInterpreter(pythonCallable, results), + getPathSelector(pythonCallable), onState = { cnt += 1 }, continueAnalyzing = { !it.wasExecuted }, - shouldStop = { cnt >= 10000 } + stoppingStrategy = { cnt >= 10000 } ) return iterationCounter.iterations } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index dcf35887f0..a8c56da3c1 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,5 +1,7 @@ import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonAnalysisResult import org.usvm.interpreter.PythonMachine +import org.usvm.interpreter.PythonObject import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.language.PythonProgram @@ -19,8 +21,9 @@ fun main() { val machine = PythonMachine(program) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> - val returnValue = activeMachine.analyze(function) - activeMachine.results.forEach { (inputs, result) -> + val results: MutableList> = mutableListOf() + val returnValue = activeMachine.analyze(function, results) + results.forEach { (inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } println("RESULT:") From 2f529e904d12b87eba99c7d888b012b6aba81fb7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 17:12:41 +0300 Subject: [PATCH 019/344] Added concreteRunOnFunctionRef --- .../c/org_usvm_interpreter_CPythonAdapter.c | 30 +++++++++++++++---- .../c/org_usvm_interpreter_CPythonAdapter.h | 8 +++++ .../org/usvm/interpreter/CPythonAdapter.java | 1 + .../interpreter/ConcretePythonInterpreter.kt | 15 ++++++++++ usvm-python/src/main/kotlin/test.kt | 8 +++++ 5 files changed, 57 insertions(+), 5 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 3e3cb4a310..699b06f60a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -63,6 +63,30 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( return (jlong) v; } +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef( + JNIEnv *env, + jobject cpython_adapter, + jlong globals, + jlong function_ref, + jlongArray concrete_args +) { + int n = (*env)->GetArrayLength(env, concrete_args); + jlong *addresses = (*env)->GetLongArrayElements(env, concrete_args, 0); + + PyObject *args = PyTuple_New(n); + for (int i = 0; i < n; i++) { + PyTuple_SetItem(args, i, (PyObject *) addresses[i]); + } + PyObject *result = Py_TYPE(function_ref)->tp_call((PyObject *) function_ref, args, 0); + if (result == 0) + PyErr_Print(); + + Py_DECREF(args); + (*env)->ReleaseLongArrayElements(env, concrete_args, addresses, 0); + + return (jlong) result; +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEnv *env, jobject cpython_adapter, @@ -76,10 +100,6 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( ConcolicContext ctx; PyObject *function = (PyObject *) function_ref; - //printf("CONCOLIC RUN on \n"); - //PyObject_Print(function, stdout, 0); - //printf("\n"); - //fflush(stdout); construct_concolic_context(env, context, cpython_adapter, &ctx); SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); @@ -90,7 +110,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( if (result == NULL) { PyErr_Print(); } - return (PyObject *) result; + return (jlong) result; } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 083c33c949..a29680f43a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -47,6 +47,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval (JNIEnv *, jobject, jlong, jstring); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: concreteRunOnFunctionRef + * Signature: (JJ[J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef + (JNIEnv *, jobject, jlong, jlong, jlongArray); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 5847e79885..24d4a69a83 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -21,6 +21,7 @@ public class CPythonAdapter { public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String expr); // returns PyObject * + public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 8d812d950f..d18e6e7489 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -25,6 +25,21 @@ object ConcretePythonInterpreter { return PythonObject(result) } + fun concreteRunOnFunctionRef( + globals: PythonNamespace, + functionRef: PythonObject, + concreteArgs: Collection + ): PythonObject { + val result = pythonAdapter.concreteRunOnFunctionRef( + globals.address, + functionRef.address, + concreteArgs.map { it.address }.toLongArray() + ) + if (result == 0L) + throw CPythonExecutionException + return PythonObject(result) + } + fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, symbolicArgs: List, ctx: ConcolicRunContext): PythonObject { val result = pythonAdapter.concolicRun( diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index a8c56da3c1..e9a7cb02bd 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -18,6 +18,14 @@ fun main() { """.trimIndent() ) val function = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "f") + + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, program.asString) + val functionRef = function.reference(namespace) + val args = listOf(ConcretePythonInterpreter.eval(namespace, "1")) + val result = ConcretePythonInterpreter.concreteRunOnFunctionRef(namespace, functionRef, args) + println("RESULT OF CONCRETE RUN: ${ConcretePythonInterpreter.getPythonObjectRepr(result)}") + val machine = PythonMachine(program) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> From eca87b151766f3c9c3c5e924ed3706e6bbce35a4 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 30 Jun 2023 12:03:07 +0300 Subject: [PATCH 020/344] Added getPythonObjectTypeName --- .../src/main/c/org_usvm_interpreter_CPythonAdapter.c | 5 +++++ .../src/main/c/org_usvm_interpreter_CPythonAdapter.h | 8 ++++++++ .../main/java/org/usvm/interpreter/CPythonAdapter.java | 1 + .../org/usvm/interpreter/ConcretePythonInterpreter.kt | 4 ++++ usvm-python/src/main/kotlin/test.kt | 1 + 5 files changed, 19 insertions(+) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 699b06f60a..2defe3e3a9 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -123,4 +123,9 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje PyObject *repr = PyObject_Repr((PyObject *) object_ref); char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); return (*env)->NewStringUTF(env, repr_as_string); +} + +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { + char *type_name = Py_TYPE(object_ref)->tp_name; + return (*env)->NewStringUTF(env, type_name); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index a29680f43a..a164c9c2b4 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -79,6 +79,14 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObjec JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getPythonObjectTypeName + * Signature: (J)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 24d4a69a83..7adf6a722b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -25,6 +25,7 @@ public class CPythonAdapter { public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); + public native String getPythonObjectTypeName(long object); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index d18e6e7489..b622e3785a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -62,6 +62,10 @@ object ConcretePythonInterpreter { return pythonAdapter.getPythonObjectRepr(pythonObject.address) } + fun getPythonObjectTypeName(pythonObject: PythonObject): String { + return pythonAdapter.getPythonObjectTypeName(pythonObject.address) + } + fun kill() { pythonAdapter.finalizePython() } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index e9a7cb02bd..e3f4db72dd 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -36,6 +36,7 @@ fun main() { inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } println("RESULT:") println(ConcretePythonInterpreter.getPythonObjectRepr(result!!)) + println(ConcretePythonInterpreter.getPythonObjectTypeName(result)) } returnValue } From de29c903afbf3192200562f5567ee0f721724b88 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 3 Jul 2023 13:56:55 +0300 Subject: [PATCH 021/344] Fixes after rebase --- .../org/usvm/interpreter/PythonMachine.kt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 0b8acc42e5..a37116ac6f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -9,6 +9,7 @@ import org.usvm.language.PythonType import org.usvm.language.SymbolForCPython import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector +import org.usvm.statistics.UMachineObserver class PythonMachine( private val program: PythonProgram, @@ -55,13 +56,13 @@ class PythonMachine( pythonCallable: PythonCallable, results: MutableList> ): Int { - var cnt = 0 + val observer = PythonMachineObserver() run( getInterpreter(pythonCallable, results), getPathSelector(pythonCallable), - onState = { cnt += 1 }, - continueAnalyzing = { !it.wasExecuted }, - stoppingStrategy = { cnt >= 10000 } + observer = observer, + isStateTerminated = { it.wasExecuted }, + stopStrategy = { observer.stateCounter >= 10000 } ) return iterationCounter.iterations } @@ -70,6 +71,15 @@ class PythonMachine( solver.close() ctx.close() } + + private class PythonMachineObserver( + var stateCounter: Int = 0 + ): UMachineObserver { + override fun onState(parent: PythonExecutionState, forks: Sequence) { + super.onState(parent, forks) + stateCounter += 1 + } + } } data class IterationCounter(var iterations: Int = 0) \ No newline at end of file From eea4a3b2d2b54f0b4d63807c94a26ecfcccbbdb1 Mon Sep 17 00:00:00 2001 From: Alexey Menshutin Date: Wed, 14 Jun 2023 18:40:44 +0300 Subject: [PATCH 022/344] Test runner for python proposal --- usvm-python/build.gradle.kts | 21 ++++++ .../src/samples/python/SimpleExample.py | 22 ++++++ .../org/usvm/samples/PythonTestRunner.kt | 70 +++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 usvm-python/src/samples/python/SimpleExample.py create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index cecbb94629..61afc741cf 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -25,4 +25,25 @@ tasks.register("runTestKt") { environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") classpath = sourceSets.main.get().runtimeClasspath mainClass.set("TestKt") +} + +tasks.register("testRunner") { + dependsOn(tasks.build) + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("org.usvm.samples.PythonTestRunnerKt") +} + +sourceSets { + val samples by creating { + java { + srcDir("src/samples/java") + } + } + + test { + compileClasspath += samples.output + runtimeClasspath += samples.output + } } \ No newline at end of file diff --git a/usvm-python/src/samples/python/SimpleExample.py b/usvm-python/src/samples/python/SimpleExample.py new file mode 100644 index 0000000000..9d6b175ea5 --- /dev/null +++ b/usvm-python/src/samples/python/SimpleExample.py @@ -0,0 +1,22 @@ +def f(x, y, z): + if x + y > 100: + return 0 + y += 10 ** 9 + if 0 < x + z + 1 < 100 and y > 0: + return 1 + elif x + 3 < -2 - z and x < y: + return 2 + elif x * 100 % 7 == 0 and z + y % 100 == 0: + return 3 + elif x % 155 == 0 and x + y - z < 0: + return 4 + elif (x + z) % 10 == 0 and x + y > 0: + return 5 + elif (x - 10 ** 8 + y) * 50 % 9 == 0 and y // 88 == 5: + return 6 + elif z == 15789 and y + x > 10 ** 9: + return 7 + elif x + y + z == -10 ** 9 and x != 0 and z == 2598: + return 8 + else: + return 9 diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt new file mode 100644 index 0000000000..2c27c23358 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -0,0 +1,70 @@ +package org.usvm.samples + +import org.usvm.interpreter.PythonExecutionState +import org.usvm.interpreter.PythonMachine +import org.usvm.language.PythonCallable +import org.usvm.language.PythonProgram +import org.usvm.test.util.TestRunner +import java.io.File +import kotlin.time.ExperimentalTime +import kotlin.time.measureTimedValue + +fun main() { + val functionDescriptor = FunctionDescriptor( + fileName = "./src/samples/python/SimpleExample.py", + functionName = "f", + numberOfArguments = 3 + ) + PythonTestRunner().internalCheck(functionDescriptor) +} + +class PythonTestRunner : TestRunner() { + + @OptIn(ExperimentalTime::class) + fun internalCheck( + functionDescriptor: FunctionDescriptor, + ) { + val file = File(functionDescriptor.fileName) + val program = PythonProgram(file.readText()) + val function = PythonCallable.constructCallableFromName( + functionDescriptor.numberOfArguments, + functionDescriptor.functionName + ) + + val machine = PythonMachine(program) + + val (results, time) = measureTimedValue { + machine.use { + it.analyzeWithProducingStates(function) + } + } + + val tests = results.extractInputValuesWithResult() + + println("Finished in $time milliseconds.") + println(tests) + } + + private fun List.extractInputValuesWithResult(): List = + this.map { + TODO() + } + + override val typeTransformer: (Any?) -> Any + get() = { _ -> TODO() } + override val checkType: (Any, Any) -> Boolean + get() = { _, _ -> true } + override val runner: (FunctionDescriptor) -> List + get() = TODO("Not yet implemented") + override val coverageRunner: (List) -> PythonCoverage + get() = TODO("Not yet implemented") +} + +data class FunctionDescriptor( + val fileName: String, + val functionName: String, + val numberOfArguments: Int +) + +data class PythonTest(val inputValues: List, val result: Any?) +data class PythonCoverage(val int: Int) \ No newline at end of file From dd228caad391c8b9c630eabb510c058655594b91 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 16:18:31 +0300 Subject: [PATCH 023/344] Fixed PythonTestRunner --- usvm-python/build.gradle.kts | 19 +--- .../org/usvm/samples/PythonTestRunner.kt | 96 ++++++++----------- .../org/usvm/samples/SimpleExampleTest.kt | 21 ++++ .../resources/samples}/SimpleExample.py | 2 +- 4 files changed, 64 insertions(+), 74 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt rename usvm-python/src/{samples/python => test/resources/samples}/SimpleExample.py (97%) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 61afc741cf..713cfde058 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -27,23 +27,8 @@ tasks.register("runTestKt") { mainClass.set("TestKt") } -tasks.register("testRunner") { - dependsOn(tasks.build) +tasks.test { + dependsOn(":usvm-python:cpythonadapter:linkDebug") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("org.usvm.samples.PythonTestRunnerKt") -} - -sourceSets { - val samples by creating { - java { - srcDir("src/samples/java") - } - } - - test { - compileClasspath += samples.output - runtimeClasspath += samples.output - } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 2c27c23358..1226af1f93 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,70 +1,54 @@ package org.usvm.samples -import org.usvm.interpreter.PythonExecutionState +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonAnalysisResult import org.usvm.interpreter.PythonMachine import org.usvm.language.PythonCallable +import org.usvm.language.PythonInt import org.usvm.language.PythonProgram +import org.usvm.language.PythonType import org.usvm.test.util.TestRunner +import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File -import kotlin.time.ExperimentalTime -import kotlin.time.measureTimedValue -fun main() { - val functionDescriptor = FunctionDescriptor( - fileName = "./src/samples/python/SimpleExample.py", - functionName = "f", - numberOfArguments = 3 - ) - PythonTestRunner().internalCheck(functionDescriptor) -} - -class PythonTestRunner : TestRunner() { - - @OptIn(ExperimentalTime::class) - fun internalCheck( - functionDescriptor: FunctionDescriptor, - ) { - val file = File(functionDescriptor.fileName) - val program = PythonProgram(file.readText()) - val function = PythonCallable.constructCallableFromName( - functionDescriptor.numberOfArguments, - functionDescriptor.functionName - ) - - val machine = PythonMachine(program) - - val (results, time) = measureTimedValue { - machine.use { - it.analyzeWithProducingStates(function) - } - } - - val tests = results.extractInputValuesWithResult() - - println("Finished in $time milliseconds.") - println(tests) +open class PythonTestRunner(sourcePath: String) : TestRunner() { + private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() + private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> + ConcretePythonInterpreter.getPythonObjectRepr(pythonObject) } - - private fun List.extractInputValuesWithResult(): List = - this.map { - TODO() - } - - override val typeTransformer: (Any?) -> Any - get() = { _ -> TODO() } - override val checkType: (Any, Any) -> Boolean + override val typeTransformer: (Any?) -> PythonType + get() = { _ -> PythonInt } + override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (FunctionDescriptor) -> List - get() = TODO("Not yet implemented") + override val runner: (PythonCallable) -> List + get() = { callable -> + val results: MutableList> = mutableListOf() + machine.analyze(callable, results) + results + } override val coverageRunner: (List) -> PythonCoverage - get() = TODO("Not yet implemented") -} + get() = { _ -> PythonCoverage(0) } + + private inline fun > createCheckReprs(): + (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { + target: PythonCallable, + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + invariants: List, + propertiesToDiscover: List -> + internalCheck( + target, + analysisResultsNumberMatcher, + propertiesToDiscover.toTypedArray(), + invariants.toTypedArray(), + { pythonTest -> pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result }, + (target.signature.map { PythonInt } + PythonInt).toTypedArray(), + CheckMode.MATCH_PROPERTIES, + { true } + ) + } -data class FunctionDescriptor( - val fileName: String, - val functionName: String, - val numberOfArguments: Int -) + protected val checkReprs3 = createCheckReprs<(String, String, String, String) -> Boolean>() +} -data class PythonTest(val inputValues: List, val result: Any?) +typealias PythonTest = PythonAnalysisResult data class PythonCoverage(val int: Int) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt new file mode 100644 index 0000000000..18c6b3cd4b --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -0,0 +1,21 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.PythonCallable +import org.usvm.language.PythonInt +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { + private val functionF = PythonCallable.constructCallableFromName(List(3) { PythonInt }, "f") + @Test + fun testF() { + checkReprs3( + functionF, + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(10) { index -> + { _, _, _, res -> res == index.toString() } + } + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/samples/python/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py similarity index 97% rename from usvm-python/src/samples/python/SimpleExample.py rename to usvm-python/src/test/resources/samples/SimpleExample.py index 9d6b175ea5..1da8518beb 100644 --- a/usvm-python/src/samples/python/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -19,4 +19,4 @@ def f(x, y, z): elif x + y + z == -10 ** 9 and x != 0 and z == 2598: return 8 else: - return 9 + return 9 \ No newline at end of file From 7594c2b44b63236be078624133d36edc87bbb76f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Jun 2023 17:45:45 +0300 Subject: [PATCH 024/344] Add concolic and concrete run comparison in PythonTestRunner --- .../org/usvm/samples/PythonTestRunner.kt | 52 +++++++++++++++---- .../org/usvm/samples/SimpleExampleTest.kt | 7 ++- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 1226af1f93..0ca47a2852 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,8 +1,6 @@ package org.usvm.samples -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonAnalysisResult -import org.usvm.interpreter.PythonMachine +import org.usvm.interpreter.* import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.language.PythonProgram @@ -29,25 +27,59 @@ open class PythonTestRunner(sourcePath: String) : TestRunner) -> PythonCoverage get() = { _ -> PythonCoverage(0) } - private inline fun > createCheckReprs(): - (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { + private fun compareWithConcreteRun( target: PythonCallable, - analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - invariants: List, - propertiesToDiscover: List -> + test: PythonTest, + check: (PythonObject) -> Boolean + ): Boolean { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, testSources) + val functionRef = target.reference(namespace) + val converter = ConverterToPythonObject(namespace) + val args = test.inputValues.map { converter.convert(it.asUExpr, it.type)!! } + val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(namespace, functionRef, args) + return check(concreteResult) + } + + private inline fun > createCheckReprsWithConcreteRun(concreteRun: Boolean = true): + (PythonCallable, AnalysisResultsNumberMatcher, List, List, (PythonTest, PythonObject) -> Boolean) -> Unit = { + target: PythonCallable, + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + invariants: List, + propertiesToDiscover: List, + compareConcolicAndConcrete: (PythonTest, PythonObject) -> Boolean -> + val onAnalysisResult = { pythonTest: PythonTest -> + val result = pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result + if (concreteRun) { + require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { + "Error in CPython patch: concrete and concolic results differ" + } + } + result + } internalCheck( target, analysisResultsNumberMatcher, propertiesToDiscover.toTypedArray(), invariants.toTypedArray(), - { pythonTest -> pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result }, + onAnalysisResult, (target.signature.map { PythonInt } + PythonInt).toTypedArray(), CheckMode.MATCH_PROPERTIES, - { true } + coverageChecker = { true } ) } + private inline fun > createCheckReprs(): + (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { + target: PythonCallable, + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + invariants: List, + propertiesToDiscover: List -> + createCheckReprsWithConcreteRun(concreteRun = false)(target, analysisResultsNumberMatcher, invariants, propertiesToDiscover) { _, _ -> true } + } + protected val checkReprs3 = createCheckReprs<(String, String, String, String) -> Boolean>() + protected val checkReprs3WithConcreteRun = createCheckReprsWithConcreteRun<(String, String, String, String) -> Boolean>() } typealias PythonTest = PythonAnalysisResult diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 18c6b3cd4b..27175aa3b2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,6 +1,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -9,13 +10,15 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionF = PythonCallable.constructCallableFromName(List(3) { PythonInt }, "f") @Test fun testF() { - checkReprs3( + checkReprs3WithConcreteRun( functionF, ignoreNumberOfAnalysisResults, /* invariants = */ emptyList(), /* propertiesToDiscover = */ List(10) { index -> { _, _, _, res -> res == index.toString() } } - ) + ) /* compareConcolicAndConcrete */ { testFromConcolic, concreteResult -> + testFromConcolic.result == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + } } } \ No newline at end of file From fd7a8466aa384f7e1f5b66fdee9a1196e6408bd7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 30 Jun 2023 12:13:15 +0300 Subject: [PATCH 025/344] Some more tests --- .../org/usvm/samples/PythonTestRunner.kt | 98 ++++++++++++------- .../org/usvm/samples/SimpleExampleTest.kt | 44 +++++++-- .../test/resources/samples/SimpleExample.py | 20 +++- 3 files changed, 116 insertions(+), 46 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 0ca47a2852..d9488dffb8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -12,7 +12,10 @@ import java.io.File open class PythonTestRunner(sourcePath: String) : TestRunner() { private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> - ConcretePythonInterpreter.getPythonObjectRepr(pythonObject) + PythonObjectInfo( + ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), + ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) + ) } override val typeTransformer: (Any?) -> PythonType get() = { _ -> PythonInt } @@ -20,7 +23,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner true } override val runner: (PythonCallable) -> List get() = { callable -> - val results: MutableList> = mutableListOf() + val results: MutableList = mutableListOf() machine.analyze(callable, results) results } @@ -41,46 +44,67 @@ open class PythonTestRunner(sourcePath: String) : TestRunner> createCheckReprsWithConcreteRun(concreteRun: Boolean = true): - (PythonCallable, AnalysisResultsNumberMatcher, List, List, (PythonTest, PythonObject) -> Boolean) -> Unit = { - target: PythonCallable, - analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - invariants: List, - propertiesToDiscover: List, - compareConcolicAndConcrete: (PythonTest, PythonObject) -> Boolean -> - val onAnalysisResult = { pythonTest: PythonTest -> - val result = pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result - if (concreteRun) { - require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { - "Error in CPython patch: concrete and concolic results differ" + private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): + (PythonCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> Boolean, List, List) -> Unit = + { target: PythonCallable, + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + compareConcolicAndConcrete: (PythonTest, PythonObject) -> Boolean, + invariants: List, + propertiesToDiscover: List -> + val onAnalysisResult = { pythonTest: PythonTest -> + val result = pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result + if (concreteRun) { + require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { + "Error in CPython patch: concrete and concolic results differ" + } } + result } - result + internalCheck( + target, + analysisResultsNumberMatcher, + propertiesToDiscover.toTypedArray(), + invariants.toTypedArray(), + onAnalysisResult, + (target.signature.map { PythonInt } + PythonInt).toTypedArray(), + CheckMode.MATCH_PROPERTIES, + coverageChecker = { true } + ) } - internalCheck( - target, - analysisResultsNumberMatcher, - propertiesToDiscover.toTypedArray(), - invariants.toTypedArray(), - onAnalysisResult, - (target.signature.map { PythonInt } + PythonInt).toTypedArray(), - CheckMode.MATCH_PROPERTIES, - coverageChecker = { true } - ) - } - private inline fun > createCheckReprs(): - (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { - target: PythonCallable, - analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - invariants: List, - propertiesToDiscover: List -> - createCheckReprsWithConcreteRun(concreteRun = false)(target, analysisResultsNumberMatcher, invariants, propertiesToDiscover) { _, _ -> true } - } + private inline fun > createCheck(): + (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = + { target: PythonCallable, + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + invariants: List, + propertiesToDiscover: List -> + createCheckWithConcreteRun(concreteRun = false)( + target, + analysisResultsNumberMatcher, + { _, _ -> true }, + invariants, + propertiesToDiscover + ) + } - protected val checkReprs3 = createCheckReprs<(String, String, String, String) -> Boolean>() - protected val checkReprs3WithConcreteRun = createCheckReprsWithConcreteRun<(String, String, String, String) -> Boolean>() + protected val check1WithConcreteRun = + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() + + protected val check3 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + protected val check3WithConcreteRun = + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + + protected val compareConcolicAndConcreteReprs: + (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> + testFromConcolic.result?.repr == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + } } -typealias PythonTest = PythonAnalysisResult +data class PythonObjectInfo( + val repr: String, + val typeName: String +) + +typealias PythonTest = PythonAnalysisResult + data class PythonCoverage(val int: Int) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 27175aa3b2..f3015f3f72 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,24 +1,54 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.language.PythonCallable import org.usvm.language.PythonInt +import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionF = PythonCallable.constructCallableFromName(List(3) { PythonInt }, "f") + private val functionMyAbs = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "my_abs") + private val functionSamplePickle = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "pickle_sample") + @Test fun testF() { - checkReprs3WithConcreteRun( + check3WithConcreteRun( functionF, ignoreNumberOfAnalysisResults, - /* invariants = */ emptyList(), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { x, y, z, res -> + listOf(x, y, z, res).all { it.typeName == "int" } + }, /* propertiesToDiscover = */ List(10) { index -> - { _, _, _, res -> res == index.toString() } + { _, _, _, res -> res.repr == index.toString() } } - ) /* compareConcolicAndConcrete */ { testFromConcolic, concreteResult -> - testFromConcolic.result == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) - } + ) + } + + @Test + fun testMyAbs() { + check1WithConcreteRun( + functionMyAbs, + eq(3), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { x, _ -> x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { x, res -> x.repr.toInt() > 0 && res.typeName == "int" }, + { x, res -> x.repr.toInt() == 0 && res.typeName == "str" }, + { x, res -> x.repr.toInt() < 0 && res.typeName == "int" }, + ) + ) + } + + @Test + fun testSamplePickle() { + check1WithConcreteRun( + functionSamplePickle, + eq(1), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { _, res -> res.typeName == "bytes" }, + /* propertiesToDiscover = */ emptyList() + ) } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 1da8518beb..642d263efb 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -1,4 +1,7 @@ -def f(x, y, z): +import pickle + + +def f(x: int, y: int, z: int): if x + y > 100: return 0 y += 10 ** 9 @@ -19,4 +22,17 @@ def f(x, y, z): elif x + y + z == -10 ** 9 and x != 0 and z == 2598: return 8 else: - return 9 \ No newline at end of file + return 9 + + +def my_abs(x: int): + if x > 0: + return x + elif x == 0: + return "zero" + else: + return -x + + +def pickle_sample(x): + return pickle.dumps(x) \ No newline at end of file From a59728163229d0f417bbd391f1d3cfc33fa6a3d5 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 3 Jul 2023 15:07:12 +0300 Subject: [PATCH 026/344] Fix after rebase --- .../src/test/kotlin/org/usvm/samples/PythonTestRunner.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index d9488dffb8..452db39a8e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,5 +1,6 @@ package org.usvm.samples +import org.usvm.UMachineOptions import org.usvm.interpreter.* import org.usvm.language.PythonCallable import org.usvm.language.PythonInt @@ -21,8 +22,8 @@ open class PythonTestRunner(sourcePath: String) : TestRunner PythonInt } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (PythonCallable) -> List - get() = { callable -> + override val runner: (PythonCallable, UMachineOptions) -> List + get() = { callable, _ -> val results: MutableList = mutableListOf() machine.analyze(callable, results) results From 4e2d7fbf7a76fab5e12864d1d0c9f39a4b792c8f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 3 Jul 2023 15:28:52 +0300 Subject: [PATCH 027/344] Added processing of python function calls --- usvm-python/API.md | 12 +++++----- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/symbolic_handler.c | 10 +++++++-- .../src/main/json/handler_defs.json | 10 +++++++++ .../org/usvm/interpreter/CPythonAdapter.java | 12 +++++++++- .../usvm/interpreter/PythonExecutionState.kt | 4 +++- .../org/usvm/interpreter/PythonMachine.kt | 22 ++++++++++--------- .../usvm/interpreter/SymbolicHandlerEvent.kt | 3 +++ .../usvm/interpreter/USVMPythonInterpreter.kt | 17 +++++--------- .../operations/{Fork.kt => Control.kt} | 11 ++++++++++ .../main/kotlin/org/usvm/language/Domain.kt | 10 ++++++--- usvm-python/src/main/kotlin/test.kt | 18 +++++++++------ .../org/usvm/samples/PythonTestRunner.kt | 19 +++++++--------- .../org/usvm/samples/SimpleExampleTest.kt | 8 +++---- 14 files changed, 101 insertions(+), 57 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/interpreter/operations/{Fork.kt => Control.kt} (74%) diff --git a/usvm-python/API.md b/usvm-python/API.md index 6cd6c1b14c..4105f72f92 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -31,11 +31,13 @@ For all events empty list may be given as a return value. ## `SYM_EVENT_TYPE_NOTIFY` events list -| event id | Arguments | -|:--------------------------:|:-------------------------------------------------------------------------------------------------| -| `SYM_EVENT_ID_INSTRUCTION` | One argument: `PyFrameObject*`, frame that is about to execute next instruction. | -| `SYM_EVENT_ID_FORK` | One argument: `PyObject*` inside `if` condition. | -| `SYM_EVENT_ID_FORK_RESULT` | One argument: `Py_True` or `Py_False`. Result of concrete condition. Closes `SYM_EVENT_ID_FORK`. | +| event id | Arguments | +|:-----------------------------------:|:-------------------------------------------------------------------------------------------------| +| `SYM_EVENT_ID_INSTRUCTION` | One argument: `PyFrameObject*`, frame that is about to execute next instruction. | +| `SYM_EVENT_ID_FORK` | One argument: `PyObject*` inside `if` condition. | +| `SYM_EVENT_ID_FORK_RESULT` | One argument: `Py_True` or `Py_False`. Result of concrete condition. Closes `SYM_EVENT_ID_FORK`. | +| `SYM_EVENT_ID_PYTHON_FUNCTION_CALL` | One argument: `PyFunctionObject*` to be called. | +| `SYM_EVENT_ID_RETURN` | No arguments. | ## `SYM_EVENT_TYPE_METHOD` events list diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index f1f5f330ee..7ea4602cf9 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit f1f5f330ee24df816cdd968ffb0ac0ee7faccae0 +Subproject commit 7ea4602cf96e09eb07b2b167b772797c96f43065 diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index adb38cc5fd..fce9a141ea 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -3,8 +3,6 @@ #define CHECK_FOR_EXCEPTION(fail_value) \ if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ - /*printf("HERE\n"); \ - fflush(stdout);*/ \ PyErr_SetString(PyExc_RuntimeError, "Java exception"); \ return fail_value; \ } @@ -119,6 +117,14 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * CHECK_FOR_EXCEPTION(1) return Py_None; + + } else if (signal_id == SYM_EVENT_ID_PYTHON_FUNCTION_CALL) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + + + } else if (signal_id == SYM_EVENT_ID_RETURN) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 0); + } return Py_None; diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 7e1613a332..3d34d091b0 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -73,5 +73,15 @@ "c_name": "pow_long", "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "function_call", + "java_name": "handlerFunctionCall", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" + }, + { + "c_name": "python_return", + "java_name": "handlerReturn", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)V" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7adf6a722b..cc0428ad43 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,13 +3,14 @@ import io.ksmt.expr.KExpr; import kotlin.Unit; import org.usvm.language.PythonInstruction; +import org.usvm.language.PythonPinnedCallable; import org.usvm.language.SymbolForCPython; import java.util.Arrays; import java.util.List; import java.util.function.Supplier; -import static org.usvm.interpreter.operations.ForkKt.handlerForkKt; +import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.LongKt.*; import static org.usvm.interpreter.operations.PathTracingKt.withTracing; @@ -114,4 +115,13 @@ public static SymbolForCPython handlerREMLong(ConcolicRunContext context, int me public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); } + + public static void handlerFunctionCall(ConcolicRunContext context, long function) { + PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); + withTracing(context, new PythonFunctionCall(callable), () -> handlerFunctionCallKt(context, callable)); + } + + public static void handlerReturn(ConcolicRunContext context) { + withTracing(context, PythonReturn.INSTANCE, () -> handlerReturnKt(context)); + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 3d08eff3f7..2d18a9044e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -10,7 +10,7 @@ import org.usvm.model.UModelBase class PythonExecutionState( ctx: UContext, - private val pythonCallable: PythonCallable, + private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemoryBase, @@ -34,4 +34,6 @@ class PythonExecutionState( } var wasExecuted: Boolean = false + val lastHandlerEvent: SymbolicHandlerEvent? + get() = if (path.isEmpty()) null else path.last() } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index a37116ac6f..81a2297ec8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -2,11 +2,7 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.language.Attribute -import org.usvm.language.PythonCallable -import org.usvm.language.PythonProgram -import org.usvm.language.PythonType -import org.usvm.language.SymbolForCPython +import org.usvm.language.* import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.statistics.UMachineObserver @@ -18,15 +14,21 @@ class PythonMachine( private val ctx = UContext(PythonComponents) private val solver = ctx.solver() private val iterationCounter = IterationCounter() + private val namespace = ConcretePythonInterpreter.getNewNamespace() + + init { + ConcretePythonInterpreter.concreteRun(namespace, program.asString) + } + private fun getInterpreter( - target: PythonCallable, + target: PythonUnpinnedCallable, results: MutableList> ): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, program, target, iterationCounter, pythonObjectSerialization) { + USVMPythonInterpreter(ctx, namespace, target, iterationCounter, pythonObjectSerialization) { results.add(it) } - private fun getInitialState(target: PythonCallable): PythonExecutionState { + private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) val memory = UMemoryBase( ctx, @@ -45,7 +47,7 @@ class PythonMachine( ) } - fun getPathSelector(target: PythonCallable): UPathSelector { + private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { val ps = DfsPathSelector() val initialState = getInitialState(target) ps.add(listOf(initialState)) @@ -53,7 +55,7 @@ class PythonMachine( } fun analyze( - pythonCallable: PythonCallable, + pythonCallable: PythonUnpinnedCallable, results: MutableList> ): Int { val observer = PythonMachineObserver() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt index ee4b010a25..755c624d49 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter import org.usvm.language.PythonInstruction +import org.usvm.language.PythonPinnedCallable import org.usvm.language.SymbolForCPython sealed class SymbolicHandlerEventParameters @@ -12,6 +13,8 @@ data class MethodQueryParameters( data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEventParameters() +data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() +object PythonReturn: SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 82685e96ee..14ff345e70 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,37 +1,30 @@ package org.usvm.interpreter import org.usvm.* -import org.usvm.language.PythonCallable -import org.usvm.language.PythonProgram import org.usvm.language.PythonType +import org.usvm.language.PythonUnpinnedCallable class USVMPythonInterpreter( private val ctx: UContext, - private val program: PythonProgram, - private val callable: PythonCallable, + private val namespace: PythonNamespace, + private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { - private fun prepareNamespace(): PythonNamespace { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, program.asString) - return namespace - } + private val pinnedCallable = callable.reference(namespace) override fun step(state: PythonExecutionState): StepResult = with(ctx) { val symbols = state.inputSymbols val seeds = symbols.map { state.models.first().eval(it.expr) } - val namespace = prepareNamespace() val converter = ConverterToPythonObject(namespace) - val functionRef = callable.reference(namespace) val concrete = (seeds zip callable.signature).map { (seed, type) -> converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") } val serializedInputs = concrete.map(pythonObjectSerialization) val concolicRunContext = ConcolicRunContext(state, ctx) - val result = ConcretePythonInterpreter.concolicRun(namespace, functionRef, concrete, symbols, concolicRunContext) + val result = ConcretePythonInterpreter.concolicRun(namespace, pinnedCallable, concrete, symbols, concolicRunContext) val serializedResult = pythonObjectSerialization(result) saveRunResult( PythonAnalysisResult( diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt similarity index 74% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt rename to usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index c91b6afb51..b1b370d3f9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Fork.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -4,6 +4,7 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.fork import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonPinnedCallable fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { cond ?: return @@ -28,4 +29,14 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { //println("RESULT: ${forkResult.positiveState} ${forkResult.negativeState} ${ctx.curState}") //System.out.flush() } +} + +fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable): Int { // return value for Java call + ctx.curState.callStack.push(function, ctx.curState.lastHandlerEvent) + return 0 +} + +fun handlerReturnKt(ctx: ConcolicRunContext): Int { // return value for Java call + ctx.curState.callStack.pop() + return 0 } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 93bea50c21..8793c7ed13 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -9,13 +9,17 @@ data class PythonProgram(val asString: String) class Slot class Attribute -class PythonCallable( +sealed class PythonCallable + +data class PythonPinnedCallable(val asPythonObject: PythonObject): PythonCallable() + +class PythonUnpinnedCallable( val signature: List, val reference: (PythonNamespace) -> /* function reference */ PythonObject -) { +): PythonCallable() { val numberOfArguments: Int = signature.size companion object { fun constructCallableFromName(signature: List, name: String) = - PythonCallable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } + PythonUnpinnedCallable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index e3f4db72dd..0aa5ee77ca 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -2,22 +2,26 @@ import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonAnalysisResult import org.usvm.interpreter.PythonMachine import org.usvm.interpreter.PythonObject -import org.usvm.language.PythonCallable import org.usvm.language.PythonInt import org.usvm.language.PythonProgram +import org.usvm.language.PythonUnpinnedCallable fun main() { val program = PythonProgram( """ - import pickle - def f(x): - if x >= 0: - return pickle.dumps(x) + def g(x): + if x > 0: + return x else: - return pickle.dumps(-x) + return -x + + def f(x): + if g(x) == 0: + return 1 + return 2 """.trimIndent() ) - val function = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "f") + val function = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "f") val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, program.asString) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 452db39a8e..80adc8a45d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -2,15 +2,12 @@ package org.usvm.samples import org.usvm.UMachineOptions import org.usvm.interpreter.* -import org.usvm.language.PythonCallable -import org.usvm.language.PythonInt -import org.usvm.language.PythonProgram -import org.usvm.language.PythonType +import org.usvm.language.* import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File -open class PythonTestRunner(sourcePath: String) : TestRunner() { +open class PythonTestRunner(sourcePath: String) : TestRunner() { private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> PythonObjectInfo( @@ -22,7 +19,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner PythonInt } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (PythonCallable, UMachineOptions) -> List + override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List get() = { callable, _ -> val results: MutableList = mutableListOf() machine.analyze(callable, results) @@ -32,7 +29,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner PythonCoverage(0) } private fun compareWithConcreteRun( - target: PythonCallable, + target: PythonUnpinnedCallable, test: PythonTest, check: (PythonObject) -> Boolean ): Boolean { @@ -46,8 +43,8 @@ open class PythonTestRunner(sourcePath: String) : TestRunner> createCheckWithConcreteRun(concreteRun: Boolean = true): - (PythonCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> Boolean, List, List) -> Unit = - { target: PythonCallable, + (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> Boolean, List, List) -> Unit = + { target: PythonUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, compareConcolicAndConcrete: (PythonTest, PythonObject) -> Boolean, invariants: List, @@ -74,8 +71,8 @@ open class PythonTestRunner(sourcePath: String) : TestRunner> createCheck(): - (PythonCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = - { target: PythonCallable, + (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = + { target: PythonUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, invariants: List, propertiesToDiscover: List -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index f3015f3f72..31d5c8dbf4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,15 +1,15 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.usvm.language.PythonCallable import org.usvm.language.PythonInt +import org.usvm.language.PythonUnpinnedCallable import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { - private val functionF = PythonCallable.constructCallableFromName(List(3) { PythonInt }, "f") - private val functionMyAbs = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "my_abs") - private val functionSamplePickle = PythonCallable.constructCallableFromName(List(1) { PythonInt }, "pickle_sample") + private val functionF = PythonUnpinnedCallable.constructCallableFromName(List(3) { PythonInt }, "f") + private val functionMyAbs = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "my_abs") + private val functionSamplePickle = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "pickle_sample") @Test fun testF() { From b7e7e5c84fdf069856eb8c6c8fa630eeb2b0e58e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 5 Jul 2023 12:02:33 +0300 Subject: [PATCH 028/344] Added processing of Python exceptions --- usvm-python/build.gradle.kts | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 24 +++++------ .../org/usvm/interpreter/PythonMachine.kt | 21 +++++++++- .../usvm/interpreter/USVMPythonInterpreter.kt | 42 +++++++++---------- .../org/usvm/interpreter/operations/Long.kt | 33 +++++++-------- usvm-python/src/main/kotlin/test.kt | 10 ++--- .../org/usvm/samples/PythonTestRunner.kt | 13 +++--- .../org/usvm/samples/SimpleExampleTest.kt | 39 ++++++++++++++--- .../test/resources/samples/SimpleExample.py | 9 +++- 9 files changed, 121 insertions(+), 72 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 713cfde058..b018707fdb 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -20,7 +20,7 @@ val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_bu val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" tasks.register("runTestKt") { - dependsOn(tasks.build) + // dependsOn(tasks.build) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") classpath = sourceSets.main.get().runtimeClasspath diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cc0428ad43..80e46ab570 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -69,51 +69,51 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerLTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerEQLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerNELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerGELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerLELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerADDLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerMULLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerREMLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context, left.expr, right.expr)); } public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context.ctx, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context, left.expr, right.expr)); } public static void handlerFunctionCall(ConcolicRunContext context, long function) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 81a2297ec8..4c7d18d6fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -84,4 +84,23 @@ class PythonMachine( } } -data class IterationCounter(var iterations: Int = 0) \ No newline at end of file +data class IterationCounter(var iterations: Int = 0) + +data class InputObject( + val asUExpr: UExpr<*>, + val type: PythonType, + val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION +) + +sealed class ExecutionResult +class Success( + val output: PYTHON_OBJECT_REPRESENTATION +): ExecutionResult() + +class Fail: ExecutionResult() + +data class PythonAnalysisResult( + val inputValueConverter: ConverterToPythonObject, + val inputValues: List>, + val result: ExecutionResult +) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 14ff345e70..a79290cda6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -23,31 +23,29 @@ class USVMPythonInterpreter( converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") } val serializedInputs = concrete.map(pythonObjectSerialization) + val inputForResult = + (seeds zip callable.signature zip serializedInputs).map { (p, z) -> + val (x, y) = p + InputObject(x, y, z) + } val concolicRunContext = ConcolicRunContext(state, ctx) - val result = ConcretePythonInterpreter.concolicRun(namespace, pinnedCallable, concrete, symbols, concolicRunContext) - val serializedResult = pythonObjectSerialization(result) - saveRunResult( - PythonAnalysisResult( - (seeds zip callable.signature zip serializedInputs).map { (p, z) -> - val (x, y) = p - InputObject(x, y, z) - }, - serializedResult + try { + val result = ConcretePythonInterpreter.concolicRun( + namespace, + pinnedCallable, + concrete, + symbols, + concolicRunContext ) - ) + val serializedResult = pythonObjectSerialization(result) + saveRunResult(PythonAnalysisResult(converter, inputForResult, Success(serializedResult))) + + } catch (_: CPythonExecutionException) { + saveRunResult(PythonAnalysisResult(converter, inputForResult, Fail())) + } + concolicRunContext.curState.wasExecuted = true iterationCounter.iterations += 1 return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) } -} - -data class InputObject( - val asUExpr: UExpr<*>, - val type: PythonType, - val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION -) - -data class PythonAnalysisResult( - val inputValues: List>, - val result: PYTHON_OBJECT_REPRESENTATION? -) \ No newline at end of file +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index aeb6de93ef..433f0b5b31 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -1,51 +1,50 @@ package org.usvm.interpreter.operations -import io.ksmt.expr.KExpr -import io.ksmt.expr.KIntNumExpr import io.ksmt.sort.KIntSort import io.ksmt.sort.KSort import org.usvm.UBoolExpr import org.usvm.UContext import org.usvm.UExpr +import org.usvm.interpreter.ConcolicRunContext fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? -): (UContext, UExpr<*>, UExpr<*>) -> UExpr? = { ctx, left, right -> - with (ctx) { +): (ConcolicRunContext, UExpr<*>, UExpr<*>) -> UExpr? = { concolicContext, left, right -> + with (concolicContext.ctx) { if (left.sort != intSort || right.sort != intSort) null else { @Suppress("unchecked_cast") - op(ctx, left as UExpr, right as UExpr) + op(this, left as UExpr, right as UExpr) } } } -fun handlerGTLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerGTLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) -fun handlerLTLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerLTLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) -fun handlerEQLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerEQLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) -fun handlerNELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerNELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) -fun handlerGELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerGELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) -fun handlerLELongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = +fun handlerLELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) -fun handlerADDLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = +fun handlerADDLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) -fun handlerSUBLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = +fun handlerSUBLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) -fun handlerMULLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = +fun handlerMULLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) -fun handlerDIVLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = +fun handlerDIVLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) -fun handlerREMLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = +fun handlerREMLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") -fun handlerPOWLongKt(x: UContext, y: UExpr<*>, z: UExpr<*>): UExpr? = null // TODO +fun handlerPOWLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = null // TODO //createBinaryIntOp { ctx, left, right -> // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null //} (x, y, z) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 0aa5ee77ca..68f39e047c 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,7 +1,4 @@ -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonAnalysisResult -import org.usvm.interpreter.PythonMachine -import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.* import org.usvm.language.PythonInt import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable @@ -35,12 +32,11 @@ fun main() { val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() val returnValue = activeMachine.analyze(function, results) - results.forEach { (inputs, result) -> + results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } println("RESULT:") - println(ConcretePythonInterpreter.getPythonObjectRepr(result!!)) - println(ConcretePythonInterpreter.getPythonObjectTypeName(result)) + println((result as? Success)?.output?.let { ConcretePythonInterpreter.getPythonObjectRepr(it) } ?: "Bad execution") } returnValue } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 80adc8a45d..46068beff6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -50,7 +50,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner, propertiesToDiscover: List -> val onAnalysisResult = { pythonTest: PythonTest -> - val result = pythonTest.inputValues.map { it.reprFromPythonObject } + pythonTest.result + val result = pythonTest.inputValues.map { it.reprFromPythonObject } + (pythonTest.result as? Success)?.output if (concreteRun) { require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { "Error in CPython patch: concrete and concolic results differ" @@ -85,16 +85,19 @@ open class PythonTestRunner(sourcePath: String) : TestRunner Boolean>() protected val check1WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo?) -> Boolean>() - protected val check3 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + protected val check3 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() protected val check3WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() protected val compareConcolicAndConcreteReprs: (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> - testFromConcolic.result?.repr == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + (testFromConcolic.result as? Success)?.let { + it.output.repr == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + } ?: true } } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 31d5c8dbf4..757cb2e9f8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -10,6 +10,8 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionF = PythonUnpinnedCallable.constructCallableFromName(List(3) { PythonInt }, "f") private val functionMyAbs = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "my_abs") private val functionSamplePickle = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "pickle_sample") + private val functionCall = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "call") + private val functionZeroDivision = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "zero_division") @Test fun testF() { @@ -18,10 +20,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ignoreNumberOfAnalysisResults, compareConcolicAndConcreteReprs, /* invariants = */ listOf { x, y, z, res -> - listOf(x, y, z, res).all { it.typeName == "int" } + listOf(x, y, z, res).all { it!!.typeName == "int" } }, /* propertiesToDiscover = */ List(10) { index -> - { _, _, _, res -> res.repr == index.toString() } + { _, _, _, res -> res!!.repr == index.toString() } } ) } @@ -34,9 +36,9 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { compareConcolicAndConcreteReprs, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { x, res -> x.repr.toInt() > 0 && res.typeName == "int" }, - { x, res -> x.repr.toInt() == 0 && res.typeName == "str" }, - { x, res -> x.repr.toInt() < 0 && res.typeName == "int" }, + { x, res -> x.repr.toInt() > 0 && res!!.typeName == "int" }, + { x, res -> x.repr.toInt() == 0 && res!!.typeName == "str" }, + { x, res -> x.repr.toInt() < 0 && res!!.typeName == "int" }, ) ) } @@ -47,8 +49,33 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { functionSamplePickle, eq(1), compareConcolicAndConcreteReprs, - /* invariants = */ listOf { _, res -> res.typeName == "bytes" }, + /* invariants = */ listOf { _, res -> res!!.typeName == "bytes" }, /* propertiesToDiscover = */ emptyList() ) } + + @Test + fun testCall() { + check1WithConcreteRun( + functionCall, + eq(3), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { x, _ -> x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { x, res -> x.repr.toInt() > 0 && res!!.typeName == "int" }, + { x, res -> x.repr.toInt() == 0 && res!!.typeName == "str" }, + { x, res -> x.repr.toInt() < 0 && res!!.typeName == "int" }, + ) + ) + } + + @Test + fun testZeroDivision() { + check1( + functionZeroDivision, + eq(1), + /* invariants = */ listOf { x, res -> x.typeName == "int" && res == null }, + /* propertiesToDiscover = */ listOf() + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 642d263efb..c6a83d34cb 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -35,4 +35,11 @@ def my_abs(x: int): def pickle_sample(x): - return pickle.dumps(x) \ No newline at end of file + return pickle.dumps(x) + +def call(x: int): + return my_abs(x) + + +def zero_division(x: int): + return x / 0 \ No newline at end of file From 632b181062c09dde1e495bab3d714f19f204d701 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 5 Jul 2023 12:24:20 +0300 Subject: [PATCH 029/344] Added option for not printing Python exception message --- usvm-python/build.gradle.kts | 4 ++-- .../c/org_usvm_interpreter_CPythonAdapter.c | 6 ++++-- .../c/org_usvm_interpreter_CPythonAdapter.h | 4 ++-- .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../interpreter/ConcretePythonInterpreter.kt | 13 +++++++++--- .../org/usvm/interpreter/PythonMachine.kt | 3 ++- .../usvm/interpreter/USVMPythonInterpreter.kt | 4 +++- usvm-python/src/main/kotlin/test.kt | 20 ++----------------- .../org/usvm/samples/SimpleExampleTest.kt | 14 +++++++++++++ .../test/resources/samples/SimpleExample.py | 8 +++++++- 10 files changed, 47 insertions(+), 31 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index b018707fdb..ca8a12a280 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") } -tasks.build { +tasks.assemble { dependsOn(":usvm-python:cpythonadapter:linkDebug") } @@ -20,7 +20,7 @@ val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_bu val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" tasks.register("runTestKt") { - // dependsOn(tasks.build) + dependsOn(tasks.assemble) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") classpath = sourceSets.main.get().runtimeClasspath diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 2defe3e3a9..af391be029 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -94,7 +94,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jlong function_ref, jlongArray concrete_args, jobjectArray symbolic_args, - jobject context + jobject context, + jboolean print_error_message ) { PyObjectArray args; ConcolicContext ctx; @@ -107,9 +108,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); free(args.ptr); - if (result == NULL) { + if (result == NULL && print_error_message == JNI_TRUE) { PyErr_Print(); } + PyErr_Clear(); return (jlong) result; } diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index a164c9c2b4..7aa7c7b646 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -58,10 +58,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;)J + * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject); + (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 80e46ab570..12afbe8aa6 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -23,7 +23,7 @@ public class CPythonAdapter { public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String expr); // returns PyObject * public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); - public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context); + public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index b622e3785a..3cb7e72687 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -40,14 +40,21 @@ object ConcretePythonInterpreter { return PythonObject(result) } - fun concolicRun(globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection, - symbolicArgs: List, ctx: ConcolicRunContext): PythonObject { + fun concolicRun( + globals: PythonNamespace, + functionRef: PythonObject, + concreteArgs: Collection, + symbolicArgs: List, + ctx: ConcolicRunContext, + printErrorMsg: Boolean = false + ): PythonObject { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), Array(symbolicArgs.size) { symbolicArgs[it] }, - ctx + ctx, + printErrorMsg ) if (result == 0L) throw CPythonExecutionException diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 4c7d18d6fe..b47a6a69e1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -9,6 +9,7 @@ import org.usvm.statistics.UMachineObserver class PythonMachine( private val program: PythonProgram, + private val printErrorMsg: Boolean = false, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { private val ctx = UContext(PythonComponents) @@ -24,7 +25,7 @@ class PythonMachine( target: PythonUnpinnedCallable, results: MutableList> ): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, namespace, target, iterationCounter, pythonObjectSerialization) { + USVMPythonInterpreter(ctx, namespace, target, iterationCounter, printErrorMsg, pythonObjectSerialization) { results.add(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index a79290cda6..83fb03d6e1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -9,6 +9,7 @@ class USVMPythonInterpreter( private val namespace: PythonNamespace, private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, + private val printErrorMsg: Boolean, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { @@ -35,7 +36,8 @@ class USVMPythonInterpreter( pinnedCallable, concrete, symbols, - concolicRunContext + concolicRunContext, + printErrorMsg ) val serializedResult = pythonObjectSerialization(result) saveRunResult(PythonAnalysisResult(converter, inputForResult, Success(serializedResult))) diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 68f39e047c..9431ca5749 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -6,28 +6,12 @@ import org.usvm.language.PythonUnpinnedCallable fun main() { val program = PythonProgram( """ - def g(x): - if x > 0: - return x - else: - return -x - def f(x): - if g(x) == 0: - return 1 - return 2 + return x / 0 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "f") - - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, program.asString) - val functionRef = function.reference(namespace) - val args = listOf(ConcretePythonInterpreter.eval(namespace, "1")) - val result = ConcretePythonInterpreter.concreteRunOnFunctionRef(namespace, functionRef, args) - println("RESULT OF CONCRETE RUN: ${ConcretePythonInterpreter.getPythonObjectRepr(result)}") - - val machine = PythonMachine(program) { it } + val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 757cb2e9f8..99cfe6c4df 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -12,6 +12,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionSamplePickle = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "pickle_sample") private val functionCall = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "call") private val functionZeroDivision = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "zero_division") + private val functionZeroDivisionInBranch = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "zero_division_in_branch") @Test fun testF() { @@ -78,4 +79,17 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { /* propertiesToDiscover = */ listOf() ) } + + @Test + fun testZeroDivisionInBranch() { + check1( + functionZeroDivisionInBranch, + eq(2), + /* invariants = */ listOf(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.repr.toInt() > 100 && res == null }, + { x, res -> x.repr.toInt() <= 100 && res!!.repr == x.repr } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index c6a83d34cb..dd91aaf67f 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -42,4 +42,10 @@ def call(x: int): def zero_division(x: int): - return x / 0 \ No newline at end of file + return x / 0 + + +def zero_division_in_branch(x: int): + if x > 100: + return x / 0 + return x From 37b6502d355c04d7ab9848374750bc205923930d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 5 Jul 2023 17:57:05 +0300 Subject: [PATCH 030/344] Draft --- .../org/usvm/interpreter/CPythonAdapter.java | 48 +++++------ .../org/usvm/language/SymbolForCPython.java | 9 +- .../interpreter/ConcretePythonInterpreter.kt | 4 +- .../interpreter/ConverterToPythonObject.kt | 15 ++-- .../kotlin/org/usvm/interpreter/PyModel.kt | 28 ++++++ .../org/usvm/interpreter/PythonComponents.kt | 10 +-- .../usvm/interpreter/PythonExecutionState.kt | 13 +-- .../org/usvm/interpreter/PythonMachine.kt | 20 +++-- .../usvm/interpreter/USVMPythonInterpreter.kt | 3 +- .../usvm/interpreter/operations/Constants.kt | 11 +++ .../usvm/interpreter/operations/Control.kt | 40 ++++----- .../org/usvm/interpreter/operations/Long.kt | 63 ++++++++------ .../SymbolicObjectConstruction.kt | 30 +++++++ .../symbolicobjects/SymbolicPythonObject.kt | 86 +++++++++++++++++++ .../main/kotlin/org/usvm/language/Domain.kt | 3 - .../main/kotlin/org/usvm/language/Fields.kt | 6 ++ .../main/kotlin/org/usvm/language/Types.kt | 24 ++++-- usvm-python/src/main/kotlin/test.kt | 4 +- .../org/usvm/samples/PythonTestRunner.kt | 4 +- .../org/usvm/samples/SimpleExampleTest.kt | 14 +-- 20 files changed, 309 insertions(+), 126 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/Fields.kt diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 12afbe8aa6..7a617d8505 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,7 +1,8 @@ package org.usvm.interpreter; -import io.ksmt.expr.KExpr; import kotlin.Unit; +import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject; +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.PythonInstruction; import org.usvm.language.PythonPinnedCallable; import org.usvm.language.SymbolForCPython; @@ -10,6 +11,7 @@ import java.util.List; import java.util.function.Supplier; +import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.LongKt.*; import static org.usvm.interpreter.operations.PathTracingKt.withTracing; @@ -21,7 +23,7 @@ public class CPythonAdapter { public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success - public native long eval(long globals, String expr); // returns PyObject * + public native long eval(long globals, String obj); // returns PyObject * public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); @@ -36,84 +38,82 @@ public static void handlerInstruction(ConcolicRunContext context, int instructio withTracing(context, new NextInstruction(new PythonInstruction(instruction)), () -> Unit.INSTANCE); } - @SuppressWarnings("rawtypes") - private static SymbolForCPython wrap(KExpr expr) { - if (expr == null) + private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { + if (obj == null) return null; - return new SymbolForCPython(expr); + return new SymbolForCPython(obj); } - @SuppressWarnings("rawtypes") - private static SymbolForCPython methodWrapper( + private static SymbolForCPython methodWrapper( ConcolicRunContext context, int methodId, List operands, - Supplier valueSupplier + Supplier valueSupplier ) { return withTracing( context, new MethodQueryParameters(methodId, operands), () -> { - T result = valueSupplier.get(); + UninterpretedSymbolicPythonObject result = valueSupplier.get(); return wrap(result); } ); } public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, long value) { - return withTracing(context, new LoadConstParameters(value), () -> wrap(context.ctx.mkIntNum(value))); + return withTracing(context, new LoadConstParameters(value), () -> wrap(handlerLoadConstLongKt(context, value))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { - handlerForkKt(context, cond.expr); + handlerForkKt(context, cond.obj); } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerEQLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerNELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerGELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerADDLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerMULLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerREMLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context, left.expr, right.expr)); + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context, left.obj, right.obj)); } public static void handlerFunctionCall(ConcolicRunContext context, long function) { diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index 648209b629..8f8efc6b1a 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -1,11 +1,10 @@ package org.usvm.language; -import io.ksmt.expr.KExpr; +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; -@SuppressWarnings("rawtypes") public class SymbolForCPython { - public KExpr expr; - public SymbolForCPython(KExpr expr) { - this.expr = expr; + public UninterpretedSymbolicPythonObject obj; + public SymbolForCPython(UninterpretedSymbolicPythonObject obj) { + this.obj = obj; } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 3cb7e72687..9c0f963ba8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -85,4 +85,6 @@ object ConcretePythonInterpreter { // object CPythonInitializationException: Exception() object CPythonExecutionException: Exception() data class PythonObject(val address: Long) -data class PythonNamespace(val address: Long) \ No newline at end of file +data class PythonNamespace(val address: Long) + +val emptyNamespace = ConcretePythonInterpreter.getNewNamespace() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt index 70a5a46341..091fcb4755 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -1,19 +1,20 @@ package org.usvm.interpreter import io.ksmt.expr.KIntNumExpr -import org.usvm.UExpr -import org.usvm.language.PythonInt +import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.language.pythonInt import org.usvm.language.PythonType class ConverterToPythonObject(private val namespace: PythonNamespace) { - fun convert(expr: UExpr<*>, targetType: PythonType): PythonObject? = + fun convert(obj: InterpretedSymbolicPythonObject, targetType: PythonType): PythonObject? = when (targetType) { - is PythonInt -> convertInt(expr) + pythonInt -> convertInt(obj) + else -> null } - private fun convertInt(expr: UExpr<*>): PythonObject? { - if (expr !is KIntNumExpr) + private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject? { + if (obj.getIntContent() !is KIntNumExpr) return null - return ConcretePythonInterpreter.eval(namespace, expr.toString()) + return ConcretePythonInterpreter.eval(namespace, obj.getIntContent().toString()) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt new file mode 100644 index 0000000000..68ba338c45 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt @@ -0,0 +1,28 @@ +package org.usvm.interpreter + +import io.ksmt.expr.KInterpretedValue +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.USort +import org.usvm.language.PropertyOfPythonObject +import org.usvm.language.PythonType +import org.usvm.model.UModelBase + +@Suppress("unchecked_cast") +class PyModel(val uModel: UModelBase) { + fun eval(expr: UExpr): UExpr = + uModel.eval(expr) // as KInterpretedValue + + fun readField(ref: UConcreteHeapRef, field: PropertyOfPythonObject, sort: Sort): KInterpretedValue = + uModel.heap.readField(ref, field, sort) as KInterpretedValue + + override fun equals(other: Any?): Boolean { + if (other !is PyModel) + return false + return uModel == other.uModel + } + + override fun hashCode(): Int { + return uModel.hashCode() + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 1744a280ee..837c87e7bd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -4,7 +4,7 @@ import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext import org.usvm.UTypeSystem -import org.usvm.language.Attribute +import org.usvm.language.PropertyOfPythonObject import org.usvm.language.PythonCallable import org.usvm.language.PythonType import org.usvm.language.PythonTypeSystem @@ -12,10 +12,10 @@ import org.usvm.model.buildTranslatorAndLazyDecoder import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase -object PythonComponents: UComponents { - override fun mkSolver(ctx: UContext): USolverBase { - val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) - val softConstraintsProvider = USoftConstraintsProvider(ctx) +object PythonComponents: UComponents { + override fun mkSolver(ctx: UContext): USolverBase { + val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) + val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) //solver.configure { setZ3Option("timeout", 100000) } return USolverBase(ctx, solver, translator, decoder, softConstraintsProvider) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 2d18a9044e..da126dd276 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -13,12 +13,12 @@ class PythonExecutionState( private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, - memory: UMemoryBase, - models: List>, + memory: UMemoryBase, + uModel: UModelBase, callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf() -): UState>(ctx, callStack, pathConstraints, memory, models, path) { - override fun clone(newConstraints: UPathConstraints?): UState> { +): UState>(ctx, callStack, pathConstraints, memory, listOf(uModel), path) { + override fun clone(newConstraints: UPathConstraints?): UState> { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( @@ -27,12 +27,15 @@ class PythonExecutionState( inputSymbols, newPathConstraints, newMemory, - models, + pyModel.uModel, callStack, path ) } + val pyModel: PyModel + get() = PyModel(models.first()) + var wasExecuted: Boolean = false val lastHandlerEvent: SymbolicHandlerEvent? get() = if (path.isEmpty()) null else path.last() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index b47a6a69e1..12b27c5779 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -2,18 +2,21 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector +import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver class PythonMachine( - private val program: PythonProgram, + program: PythonProgram, private val printErrorMsg: Boolean = false, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { private val ctx = UContext(PythonComponents) - private val solver = ctx.solver() + private val solver = ctx.solver() private val iterationCounter = IterationCounter() private val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -31,20 +34,25 @@ class PythonMachine( private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) - val memory = UMemoryBase( + val memory = UMemoryBase( ctx, pathConstraints.typeConstraints ).apply { stack.push(target.numberOfArguments) } - val symbols = List(target.numberOfArguments) { SymbolForCPython(memory.read(URegisterLValue(ctx.intSort, it))) } + val symbols = target.signature.mapIndexed { index, type -> + SymbolForCPython(constructInputObject(index, (type as? ConcretePythonType)!!, ctx, memory)) + } + val solverRes = solver.check(pathConstraints, useSoftConstraints = false) + if (solverRes !is USatResult) + error("Failed to construct initial model") return PythonExecutionState( ctx, target, symbols, pathConstraints, memory, - listOf(solver.emptyModel()) + solverRes.model ) } @@ -88,7 +96,7 @@ class PythonMachine( data class IterationCounter(var iterations: Int = 0) data class InputObject( - val asUExpr: UExpr<*>, + val asUExpr: InterpretedSymbolicPythonObject, val type: PythonType, val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION ) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 83fb03d6e1..2dfcc58ad7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter import org.usvm.* +import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.PythonType import org.usvm.language.PythonUnpinnedCallable @@ -18,7 +19,7 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { val symbols = state.inputSymbols - val seeds = symbols.map { state.models.first().eval(it.expr) } + val seeds = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel, ctx) } val converter = ConverterToPythonObject(namespace) val concrete = (seeds zip callable.signature).map { (seed, type) -> converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt new file mode 100644 index 0000000000..f497661568 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt @@ -0,0 +1,11 @@ +package org.usvm.interpreter.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.constructObject +import org.usvm.language.pythonInt + +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject { + return constructObject(context.ctx.mkIntNum(value), pythonInt, context.ctx, context.curState.memory) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index b1b370d3f9..4c1807fab1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -1,34 +1,28 @@ package org.usvm.interpreter.operations -import org.usvm.UBoolExpr -import org.usvm.UExpr import org.usvm.fork import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.language.PythonPinnedCallable +import org.usvm.language.pythonBool -fun handlerForkKt(ctx: ConcolicRunContext, cond: UExpr<*>?) { +fun handlerForkKt(ctx: ConcolicRunContext, cond: SymbolicPythonObject?) { cond ?: return - with (ctx.ctx) { - if (cond.sort != boolSort) - return - //println("Fork on: $cond") - val model = ctx.curState.models.first() - val oldCurState = ctx.curState - @Suppress("unchecked_cast") - val forkResult = fork(ctx.curState, cond as UBoolExpr) - if (forkResult.positiveState?.models?.first() == model) { - ctx.curState = forkResult.positiveState - } else if (forkResult.negativeState?.models?.first() == model) { - ctx.curState = forkResult.negativeState - } else { - error("Should not be reachable") - } - if (forkResult.negativeState != oldCurState) - forkResult.negativeState?.let { ctx.forkedStates.add(it) } - - //println("RESULT: ${forkResult.positiveState} ${forkResult.negativeState} ${ctx.curState}") - //System.out.flush() + if (cond.concreteType != pythonBool) + return + val expr = cond.getBoolContent() + val model = ctx.curState.pyModel + val oldCurState = ctx.curState + val forkResult = fork(ctx.curState, expr) + if (forkResult.positiveState?.pyModel == model) { + ctx.curState = forkResult.positiveState + } else if (forkResult.negativeState?.pyModel == model) { + ctx.curState = forkResult.negativeState + } else { + error("Should not be reachable") } + if (forkResult.negativeState != oldCurState) + forkResult.negativeState?.let { ctx.forkedStates.add(it) } } fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable): Int { // return value for Java call diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 433f0b5b31..780fb7a6a8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -2,49 +2,56 @@ package org.usvm.interpreter.operations import io.ksmt.sort.KIntSort import io.ksmt.sort.KSort -import org.usvm.UBoolExpr import org.usvm.UContext import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext - +import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.constructObject +import org.usvm.language.ConcretePythonType +import org.usvm.language.pythonBool +import org.usvm.language.pythonInt fun createBinaryIntOp( + resultConcreteType: ConcretePythonType, op: (UContext, UExpr, UExpr) -> UExpr? -): (ConcolicRunContext, UExpr<*>, UExpr<*>) -> UExpr? = { concolicContext, left, right -> +): (ConcolicRunContext, SymbolicPythonObject, SymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> with (concolicContext.ctx) { - if (left.sort != intSort || right.sort != intSort) + if (left.concreteType != pythonInt || right.concreteType != pythonInt) null else { @Suppress("unchecked_cast") - op(this, left as UExpr, right as UExpr) + op(this, left.getIntContent(), right.getIntContent())?.let { + constructObject(it, resultConcreteType, this, concolicContext.curState.memory) + } } } } -fun handlerGTLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) -fun handlerLTLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) -fun handlerEQLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) -fun handlerNELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) -fun handlerGELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) -fun handlerLELongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UBoolExpr? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) -fun handlerADDLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) -fun handlerSUBLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) -fun handlerMULLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) -fun handlerDIVLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) -fun handlerREMLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = - createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) +fun handlerGTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) +fun handlerLTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) +fun handlerEQLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) +fun handlerNELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) +fun handlerGELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) +fun handlerLELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left le right } } (x, y, z) +fun handlerADDLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonInt) { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) +fun handlerSUBLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) +fun handlerMULLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) +fun handlerDIVLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) +fun handlerREMLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") -fun handlerPOWLongKt(x: ConcolicRunContext, y: UExpr<*>, z: UExpr<*>): UExpr? = null // TODO +fun handlerPOWLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO //createBinaryIntOp { ctx, left, right -> // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null //} (x, y, z) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt new file mode 100644 index 0000000000..567cdbc87d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -0,0 +1,30 @@ +package org.usvm.interpreter.symbolicobjects + +import org.usvm.* +import org.usvm.language.* +import org.usvm.memory.UMemoryBase + +fun constructInputObject( + stackIndex: Int, + type: ConcretePythonType, + ctx: UContext, + memory: UMemoryBase +): UninterpretedSymbolicPythonObject { + @Suppress("unchecked_cast") + val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr + val result = UninterpretedSymbolicPythonObject(address, memory, ctx) + result.castToConcreteType(type) + return result +} + +fun constructObject( + expr: UExpr, + concretePythonType: ConcretePythonType, + ctx: UContext, + memory: UMemoryBase +): UninterpretedSymbolicPythonObject { + val address = memory.alloc(concretePythonType) + val result = UninterpretedSymbolicPythonObject(address, memory, ctx) + result.setContent(expr, concretePythonType) + return result +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt new file mode 100644 index 0000000000..74d0c5b2b8 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -0,0 +1,86 @@ +package org.usvm.interpreter.symbolicobjects + +import io.ksmt.sort.KBoolSort +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.interpreter.PyModel +import org.usvm.language.* +import org.usvm.memory.UMemoryBase +import org.usvm.memory.UReadOnlySymbolicHeap + +sealed class SymbolicPythonObject( + open val address: UHeapRef, + open val heap: UReadOnlySymbolicHeap, + private val ctx: UContext +) { + override fun equals(other: Any?): Boolean { + if (other !is SymbolicPythonObject) + return false + return address == other.address && heap == other.heap + } + + override fun hashCode(): Int { + return (address to heap).hashCode() + } + + val concreteType: ConcretePythonType? + get() = castedTo + + protected var castedTo: ConcretePythonType? = null + + fun getIntContent(): UExpr { + require(castedTo == pythonInt) + @Suppress("unchecked_cast") + return heap.readField(address, IntContent, ctx.intSort) as UExpr + } + + fun getBoolContent(): UExpr { + require(castedTo == pythonBool) + @Suppress("unchecked_cast") + return heap.readField(address, BoolContent, ctx.boolSort) as UExpr + } +} + +class UninterpretedSymbolicPythonObject( + override val address: UHeapRef, + private val memory: UMemoryBase, + ctx: UContext, +): SymbolicPythonObject(address, memory.heap, ctx) { + fun castToConcreteType(type: ConcretePythonType) { + if (castedTo != null) { + require(castedTo == type) + return + } + castedTo = type + memory.types.cast(address, type) + } + + fun setContent(expr: UExpr, concretePythonType: ConcretePythonType) { + castToConcreteType(concretePythonType) + val field = + when (concretePythonType) { + pythonInt -> IntContent + pythonBool -> BoolContent + else -> TODO() + } + val lvalue = UFieldLValue(expr.sort, address, field) + memory.write(lvalue, expr) + } +} + +class InterpretedSymbolicPythonObject( + override val address: UConcreteHeapRef, + private val model: PyModel, + ctx: UContext, +): SymbolicPythonObject(address, model.uModel.heap, ctx) { + init { + castedTo = model.uModel.types.typeOf(address.address) as ConcretePythonType + } +} + +fun interpretSymbolicPythonObject( + obj: UninterpretedSymbolicPythonObject, + model: PyModel, + ctx: UContext +): InterpretedSymbolicPythonObject = + InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 8793c7ed13..381d54f13a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -6,9 +6,6 @@ import org.usvm.interpreter.PythonObject data class PythonProgram(val asString: String) -class Slot -class Attribute - sealed class PythonCallable data class PythonPinnedCallable(val asPythonObject: PythonObject): PythonCallable() diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt new file mode 100644 index 0000000000..e2f54313e5 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -0,0 +1,6 @@ +package org.usvm.language + +sealed class PropertyOfPythonObject +sealed class ContentOfPrimitiveType: PropertyOfPythonObject() +object IntContent: ContentOfPrimitiveType() +object BoolContent: ContentOfPrimitiveType() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt index 2ccba60a76..7f23560967 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -1,21 +1,31 @@ package org.usvm.language import org.usvm.UTypeSystem +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.emptyNamespace sealed class PythonType -object PythonInt: PythonType() + +sealed class VirtualPythonType: PythonType() +data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() + +private fun createConcreteType(name: String) = ConcretePythonType(name, ConcretePythonInterpreter.eval(emptyNamespace, name)) + +val pythonInt = createConcreteType("int") +val pythonBool = createConcreteType("bool") object PythonTypeSystem: UTypeSystem { - override fun isSupertype(u: PythonType, t: PythonType): Boolean { - TODO("Not yet implemented") + override fun isSupertype(u: PythonType, t: PythonType): Boolean { // TODO + return u == t } - override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { - TODO("Not yet implemented") + override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { // TODO + return false } - override fun isFinal(t: PythonType): Boolean { - TODO("Not yet implemented") + override fun isFinal(t: PythonType): Boolean { // TODO + return true } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 9431ca5749..dd9536bea8 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,5 +1,5 @@ import org.usvm.interpreter.* -import org.usvm.language.PythonInt +import org.usvm.language.pythonInt import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable @@ -10,7 +10,7 @@ fun main() { return x / 0 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(List(1) { PythonInt }, "f") + val function = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 46068beff6..e44418d465 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -16,7 +16,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner PythonType - get() = { _ -> PythonInt } + get() = { _ -> pythonInt } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List @@ -64,7 +64,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner Date: Thu, 6 Jul 2023 13:16:36 +0300 Subject: [PATCH 031/344] Made different types work --- .../interpreter/ConverterToPythonObject.kt | 25 +++++++----- .../kotlin/org/usvm/interpreter/PyModel.kt | 4 +- .../org/usvm/interpreter/PythonMachine.kt | 2 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 7 ++-- .../SymbolicObjectConstruction.kt | 5 ++- .../symbolicobjects/SymbolicPythonObject.kt | 38 +++++++++++++++---- usvm-python/src/main/kotlin/test.kt | 12 ++++-- .../org/usvm/samples/PythonTestRunner.kt | 9 +++-- .../org/usvm/samples/SimpleExampleTest.kt | 29 ++++++++++++++ .../test/resources/samples/SimpleExample.py | 15 ++++++++ 10 files changed, 114 insertions(+), 32 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt index 091fcb4755..d3d369cb35 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -1,20 +1,25 @@ package org.usvm.interpreter -import io.ksmt.expr.KIntNumExpr +import org.usvm.UContext import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.language.pythonInt -import org.usvm.language.PythonType +import org.usvm.language.pythonBool -class ConverterToPythonObject(private val namespace: PythonNamespace) { - fun convert(obj: InterpretedSymbolicPythonObject, targetType: PythonType): PythonObject? = - when (targetType) { +class ConverterToPythonObject(private val ctx: UContext) { + fun convert(obj: InterpretedSymbolicPythonObject): PythonObject? = + when (obj.concreteType) { pythonInt -> convertInt(obj) + pythonBool -> convertBool(obj) else -> null } - private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject? { - if (obj.getIntContent() !is KIntNumExpr) - return null - return ConcretePythonInterpreter.eval(namespace, obj.getIntContent().toString()) - } + private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = + ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent().toString()) + + private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject? = + when (obj.getBoolContent()) { + ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") + ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") + else -> null + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt index 68ba338c45..181bb2f71b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt @@ -10,8 +10,8 @@ import org.usvm.model.UModelBase @Suppress("unchecked_cast") class PyModel(val uModel: UModelBase) { - fun eval(expr: UExpr): UExpr = - uModel.eval(expr) // as KInterpretedValue + fun eval(expr: UExpr): KInterpretedValue = + uModel.eval(expr) as KInterpretedValue fun readField(ref: UConcreteHeapRef, field: PropertyOfPythonObject, sort: Sort): KInterpretedValue = uModel.heap.readField(ref, field, sort) as KInterpretedValue diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 12b27c5779..e2c36a8525 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -41,7 +41,7 @@ class PythonMachine( stack.push(target.numberOfArguments) } val symbols = target.signature.mapIndexed { index, type -> - SymbolForCPython(constructInputObject(index, (type as? ConcretePythonType)!!, ctx, memory)) + SymbolForCPython(constructInputObject(index, (type as? ConcretePythonType)!!, ctx, memory, pathConstraints)) } val solverRes = solver.check(pathConstraints, useSoftConstraints = false) if (solverRes !is USatResult) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 2dfcc58ad7..cdd613fe18 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -2,7 +2,6 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.language.PythonType import org.usvm.language.PythonUnpinnedCallable class USVMPythonInterpreter( @@ -20,9 +19,9 @@ class USVMPythonInterpreter( with(ctx) { val symbols = state.inputSymbols val seeds = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel, ctx) } - val converter = ConverterToPythonObject(namespace) - val concrete = (seeds zip callable.signature).map { (seed, type) -> - converter.convert(seed, type) ?: error("Couldn't construct PythonObject from model") + val converter = ConverterToPythonObject(ctx) + val concrete = seeds.map { seed -> + converter.convert(seed) ?: error("Couldn't construct PythonObject from model") } val serializedInputs = concrete.map(pythonObjectSerialization) val inputForResult = diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index 567cdbc87d..dba020e70c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter.symbolicobjects import org.usvm.* +import org.usvm.constraints.UPathConstraints import org.usvm.language.* import org.usvm.memory.UMemoryBase @@ -8,10 +9,12 @@ fun constructInputObject( stackIndex: Int, type: ConcretePythonType, ctx: UContext, - memory: UMemoryBase + memory: UMemoryBase, + pathConstraints: UPathConstraints ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr + pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address, memory, ctx) result.castToConcreteType(type) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 74d0c5b2b8..99c0eb4f60 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -1,5 +1,6 @@ package org.usvm.interpreter.symbolicobjects +import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import org.usvm.* @@ -11,7 +12,7 @@ import org.usvm.memory.UReadOnlySymbolicHeap sealed class SymbolicPythonObject( open val address: UHeapRef, open val heap: UReadOnlySymbolicHeap, - private val ctx: UContext + protected val ctx: UContext ) { override fun equals(other: Any?): Boolean { if (other !is SymbolicPythonObject) @@ -23,18 +24,18 @@ sealed class SymbolicPythonObject( return (address to heap).hashCode() } - val concreteType: ConcretePythonType? + open val concreteType: ConcretePythonType? get() = castedTo - protected var castedTo: ConcretePythonType? = null + /*protected*/ var castedTo: ConcretePythonType? = null - fun getIntContent(): UExpr { + open fun getIntContent(): UExpr { require(castedTo == pythonInt) @Suppress("unchecked_cast") return heap.readField(address, IntContent, ctx.intSort) as UExpr } - fun getBoolContent(): UExpr { + open fun getBoolContent(): UExpr { require(castedTo == pythonBool) @Suppress("unchecked_cast") return heap.readField(address, BoolContent, ctx.boolSort) as UExpr @@ -73,14 +74,35 @@ class InterpretedSymbolicPythonObject( private val model: PyModel, ctx: UContext, ): SymbolicPythonObject(address, model.uModel.heap, ctx) { - init { + /*init { castedTo = model.uModel.types.typeOf(address.address) as ConcretePythonType + }*/ + + override val concreteType: ConcretePythonType + get() = super.concreteType!! + + override fun getIntContent(): KInterpretedValue { + require(castedTo == pythonInt) + @Suppress("unchecked_cast") + return model.readField(address, IntContent, ctx.intSort) + } + + override fun getBoolContent(): KInterpretedValue { + require(castedTo == pythonBool) + @Suppress("unchecked_cast") + return model.readField(address, BoolContent, ctx.boolSort) } } +// TODO fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject, model: PyModel, ctx: UContext -): InterpretedSymbolicPythonObject = - InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) \ No newline at end of file +): InterpretedSymbolicPythonObject { + // InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) + val type = obj.concreteType!! + val result = InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) + result.castedTo = type + return result +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index dd9536bea8..76d8d9228b 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -2,15 +2,21 @@ import org.usvm.interpreter.* import org.usvm.language.pythonInt import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.pythonBool fun main() { val program = PythonProgram( """ - def f(x): - return x / 0 + def f(x: bool, y: int): + if x and y % 10 == 5: + return 1 + elif not x: + return 2 + else: + return 3 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonBool, pythonInt), "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index e44418d465..5ce0ceff5b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,5 +1,6 @@ package org.usvm.samples +import org.usvm.UContext import org.usvm.UMachineOptions import org.usvm.interpreter.* import org.usvm.language.* @@ -36,8 +37,8 @@ open class PythonTestRunner(sourcePath: String) : TestRunner Boolean>() - protected val check3 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + protected val check2WithConcreteRun = + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + protected val check3WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 557b609bd5..4153c4d46d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -3,6 +3,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.pythonInt import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.pythonBool import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -13,6 +14,8 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionCall = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "call") private val functionZeroDivision = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "zero_division") private val functionZeroDivisionInBranch = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "zero_division_in_branch") + private val functionBoolInput = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonBool }, "bool_input") + private val functionMixedInputTypes = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonBool, pythonInt), "mixed_input_types") @Test fun testF() { @@ -92,4 +95,30 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) ) } + + @Test + fun testBoolInput() { + check1WithConcreteRun( + functionBoolInput, + eq(2), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { x, _ -> x.typeName == "bool" }, + /* propertiesToDiscover = */ List(2) { index -> + { _, res -> res!!.repr == (index + 1).toString() } + } + ) + } + + @Test + fun testMixedInputTypes() { + check2WithConcreteRun( + functionMixedInputTypes, + eq(3), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { x, y, _ -> x.typeName == "bool" && y.typeName == "int" }, + /* propertiesToDiscover = */ List(3) { index -> + { _, _, res -> res!!.repr == (index + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index dd91aaf67f..f502288277 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -49,3 +49,18 @@ def zero_division_in_branch(x: int): if x > 100: return x / 0 return x + + +def bool_input(x: bool): + if x: + return 1 + return 2 + + +def mixed_input_types(x: bool, y: int): + if x and y % 10 == 5: + return 1 + elif not x: + return 2 + else: + return 3 \ No newline at end of file From aaaf556e02f3ad01fb7235db638452e738f154f0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 6 Jul 2023 14:51:39 +0300 Subject: [PATCH 032/344] Small refactoring --- usvm-python/build.gradle.kts | 1 + .../usvm/interpreter/ConverterToPythonObject.kt | 2 +- .../src/main/kotlin/org/usvm/language/Types.kt | 1 + .../kotlin/org/usvm/samples/PythonTestRunner.kt | 3 +++ .../org/usvm/samples/SimpleExampleTest.kt | 17 ++++++++--------- .../src/test/resources/samples/SimpleExample.py | 1 + 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index ca8a12a280..3992da84f3 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -20,6 +20,7 @@ val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_bu val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" tasks.register("runTestKt") { + group = "run" dependsOn(tasks.assemble) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt index d3d369cb35..53fa915ffb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -10,7 +10,7 @@ class ConverterToPythonObject(private val ctx: UContext) { when (obj.concreteType) { pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) - else -> null + else -> TODO() } private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt index 7f23560967..24b89914c8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -14,6 +14,7 @@ private fun createConcreteType(name: String) = ConcretePythonType(name, Concrete val pythonInt = createConcreteType("int") val pythonBool = createConcreteType("bool") +val pythonList = createConcreteType("list") object PythonTypeSystem: UTypeSystem { override fun isSupertype(u: PythonType, t: PythonType): Boolean { // TODO diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 5ce0ceff5b..3f1418c2ae 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -102,6 +102,9 @@ open class PythonTestRunner(sourcePath: String) : TestRunner): PythonUnpinnedCallable = + PythonUnpinnedCallable.constructCallableFromName(signature, name) } data class PythonObjectInfo( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 4153c4d46d..09a166fd40 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -2,21 +2,13 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.pythonInt -import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.pythonBool import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { - private val functionF = PythonUnpinnedCallable.constructCallableFromName(List(3) { pythonInt }, "f") - private val functionMyAbs = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "my_abs") - private val functionSamplePickle = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "pickle_sample") - private val functionCall = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "call") - private val functionZeroDivision = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "zero_division") - private val functionZeroDivisionInBranch = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonInt }, "zero_division_in_branch") - private val functionBoolInput = PythonUnpinnedCallable.constructCallableFromName(List(1) { pythonBool }, "bool_input") - private val functionMixedInputTypes = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonBool, pythonInt), "mixed_input_types") + private val functionF = constructFunction("f", List(3) { pythonInt }) @Test fun testF() { check3WithConcreteRun( @@ -32,6 +24,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionMyAbs = constructFunction("my_abs", List(1) { pythonInt }) @Test fun testMyAbs() { check1WithConcreteRun( @@ -47,6 +40,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionSamplePickle = constructFunction("pickle_sample", List(1) { pythonInt }) @Test fun testSamplePickle() { check1WithConcreteRun( @@ -58,6 +52,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionCall = constructFunction("call", List(1) { pythonInt }) @Test fun testCall() { check1WithConcreteRun( @@ -73,6 +68,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionZeroDivision = constructFunction("zero_division", List(1) { pythonInt }) @Test fun testZeroDivision() { check1( @@ -83,6 +79,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionZeroDivisionInBranch = constructFunction("zero_division_in_branch", List(1) { pythonInt }) @Test fun testZeroDivisionInBranch() { check1( @@ -96,6 +93,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionBoolInput = constructFunction("bool_input", List(1) { pythonBool }) @Test fun testBoolInput() { check1WithConcreteRun( @@ -109,6 +107,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } + private val functionMixedInputTypes = constructFunction("mixed_input_types", listOf(pythonBool, pythonInt)) @Test fun testMixedInputTypes() { check2WithConcreteRun( diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index f502288277..60fc1f6749 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -37,6 +37,7 @@ def my_abs(x: int): def pickle_sample(x): return pickle.dumps(x) + def call(x: int): return my_abs(x) From 9d52ecc573a2bd8875eaa4517a3427a3fd246e3f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 12 Jul 2023 23:13:21 +0300 Subject: [PATCH 033/344] Fix after rebase --- usvm-python/cpythonadapter/cpython | 2 +- .../org/usvm/interpreter/PythonComponents.kt | 2 +- .../usvm/interpreter/PythonExecutionState.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 4 +-- .../main/kotlin/org/usvm/language/Types.kt | 26 ++++++++++++++++--- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 7ea4602cf9..b001ecb5bd 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 7ea4602cf96e09eb07b2b167b772797c96f43065 +Subproject commit b001ecb5bdbaba048bde0f2f18e7525ff0505d00 diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 837c87e7bd..f83dfeb267 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -3,7 +3,6 @@ package org.usvm.interpreter import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext -import org.usvm.UTypeSystem import org.usvm.language.PropertyOfPythonObject import org.usvm.language.PythonCallable import org.usvm.language.PythonType @@ -11,6 +10,7 @@ import org.usvm.language.PythonTypeSystem import org.usvm.model.buildTranslatorAndLazyDecoder import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase +import org.usvm.types.UTypeSystem object PythonComponents: UComponents { override fun mkSolver(ctx: UContext): USolverBase { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index da126dd276..5d41019efb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -9,7 +9,7 @@ import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase class PythonExecutionState( - ctx: UContext, + private val ctx: UContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 99c0eb4f60..cdf78d2529 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -53,7 +53,7 @@ class UninterpretedSymbolicPythonObject( return } castedTo = type - memory.types.cast(address, type) + memory.types.addSupertype(address, type) } fun setContent(expr: UExpr, concretePythonType: ConcretePythonType) { @@ -83,13 +83,11 @@ class InterpretedSymbolicPythonObject( override fun getIntContent(): KInterpretedValue { require(castedTo == pythonInt) - @Suppress("unchecked_cast") return model.readField(address, IntContent, ctx.intSort) } override fun getBoolContent(): KInterpretedValue { require(castedTo == pythonBool) - @Suppress("unchecked_cast") return model.readField(address, BoolContent, ctx.boolSort) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt index 24b89914c8..5c1bf90820 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Types.kt @@ -1,13 +1,17 @@ package org.usvm.language -import org.usvm.UTypeSystem import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonObject import org.usvm.interpreter.emptyNamespace +import org.usvm.types.USupportTypeStream +import org.usvm.types.UTypeStream +import org.usvm.types.UTypeSystem sealed class PythonType sealed class VirtualPythonType: PythonType() +object PythonAnyType: VirtualPythonType() + data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() private fun createConcreteType(name: String) = ConcretePythonType(name, ConcretePythonInterpreter.eval(emptyNamespace, name)) @@ -18,15 +22,31 @@ val pythonList = createConcreteType("list") object PythonTypeSystem: UTypeSystem { override fun isSupertype(u: PythonType, t: PythonType): Boolean { // TODO + if (u == PythonAnyType) + return true return u == t } override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { // TODO - return false + return t == PythonAnyType } override fun isFinal(t: PythonType): Boolean { // TODO - return true + return t != PythonAnyType + } + + override fun isInstantiable(t: PythonType): Boolean { + return t is ConcretePythonType + } + + override fun findSubtypes(t: PythonType): Sequence { + if (t == PythonAnyType) + return sequenceOf(pythonInt, pythonBool) + return sequenceOf(t) + } + + override fun topTypeStream(): UTypeStream { + return USupportTypeStream.from(this, PythonAnyType) } } \ No newline at end of file From 15aeaf82b31a148951dfba774e20a64b51c79571 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 13 Jul 2023 18:47:02 +0300 Subject: [PATCH 034/344] Moved to new usvm type system --- .../c/org_usvm_interpreter_CPythonAdapter.c | 8 ++ .../c/org_usvm_interpreter_CPythonAdapter.h | 8 ++ .../org/usvm/interpreter/CPythonAdapter.java | 18 +++- .../interpreter/ConcretePythonInterpreter.kt | 7 ++ .../interpreter/ConverterToPythonObject.kt | 10 +- .../kotlin/org/usvm/interpreter/PyModel.kt | 11 ++- .../org/usvm/interpreter/PythonComponents.kt | 4 +- .../usvm/interpreter/PythonExecutionState.kt | 4 +- .../org/usvm/interpreter/PythonMachine.kt | 2 + .../usvm/interpreter/USVMPythonInterpreter.kt | 2 +- .../usvm/interpreter/operations/Constants.kt | 9 +- .../usvm/interpreter/operations/Control.kt | 39 +++++--- .../org/usvm/interpreter/operations/Long.kt | 44 ++++----- .../operations/{ => tracing}/PathTracing.kt | 9 +- .../tracing}/SymbolicHandlerEvent.kt | 3 +- .../SymbolicObjectConstruction.kt | 32 +++--- .../symbolicobjects/SymbolicPythonObject.kt | 98 +++++++------------ .../main/kotlin/org/usvm/language/Domain.kt | 1 + .../{Types.kt => types/TypeSystem.kt} | 22 +---- .../kotlin/org/usvm/language/types/Types.kt | 22 +++++ .../org/usvm/language/types/VirtualTypes.kt | 7 ++ usvm-python/src/main/kotlin/test.kt | 40 +++++++- .../org/usvm/samples/PythonTestRunner.kt | 3 +- .../org/usvm/samples/SimpleExampleTest.kt | 4 +- 24 files changed, 245 insertions(+), 162 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/interpreter/operations/{ => tracing}/PathTracing.kt (80%) rename usvm-python/src/main/kotlin/org/usvm/interpreter/{ => operations/tracing}/SymbolicHandlerEvent.kt (85%) rename usvm-python/src/main/kotlin/org/usvm/language/{Types.kt => types/TypeSystem.kt} (58%) create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index af391be029..6abc58b139 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -5,6 +5,7 @@ #include "symbolic_handler.h" #include "symbolicadapter.h" +#include "investigator.h" #define SET_IS_INITIALIZED(value) \ jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ @@ -118,6 +119,9 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { PyObject_Print((PyObject *) object_ref, stdout, 0); printf("\n"); + //if (Py_TYPE(object_ref) == &PyType_Type) + // printf("tp_new: %p\n", ((PyTypeObject *) object_ref)->tp_new); + fflush(stdout); } @@ -130,4 +134,8 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { char *type_name = Py_TYPE(object_ref)->tp_name; return (*env)->NewStringUTF(env, type_name); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_createInvestigatorObject(JNIEnv *env, jobject cpython_adapter) { + return create_new_investigator(); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 7aa7c7b646..2ce98d963a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -87,6 +87,14 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: createInvestigatorObject + * Signature: ()J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_createInvestigatorObject + (JNIEnv *, jobject); + #ifdef __cplusplus } #endif diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7a617d8505..415f8ec8e6 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,7 +1,7 @@ package org.usvm.interpreter; import kotlin.Unit; -import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject; +import org.usvm.interpreter.operations.tracing.*; import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.PythonInstruction; import org.usvm.language.PythonPinnedCallable; @@ -14,7 +14,7 @@ import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.LongKt.*; -import static org.usvm.interpreter.operations.PathTracingKt.withTracing; +import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -29,6 +29,7 @@ public class CPythonAdapter { public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); + public native long createInvestigatorObject(); static { System.loadLibrary("cpythonadapter"); @@ -60,12 +61,19 @@ private static SymbolForCPython methodWrapper( ); } + private static Supplier unit(Runnable function) { + return () -> { + function.run(); + return Unit.INSTANCE; + }; + } + public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, long value) { return withTracing(context, new LoadConstParameters(value), () -> wrap(handlerLoadConstLongKt(context, value))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { - handlerForkKt(context, cond.obj); + withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { @@ -118,10 +126,10 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int me public static void handlerFunctionCall(ConcolicRunContext context, long function) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); - withTracing(context, new PythonFunctionCall(callable), () -> handlerFunctionCallKt(context, callable)); + withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); } public static void handlerReturn(ConcolicRunContext context) { - withTracing(context, PythonReturn.INSTANCE, () -> handlerReturnKt(context)); + withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 9c0f963ba8..660fe059ab 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -73,6 +73,13 @@ object ConcretePythonInterpreter { return pythonAdapter.getPythonObjectTypeName(pythonObject.address) } + fun createInvestigatorObject(): PythonObject { + val result = pythonAdapter.createInvestigatorObject() + if (result == 0L) + throw CPythonExecutionException + return PythonObject(result) + } + fun kill() { pythonAdapter.finalizePython() } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt index 53fa915ffb..da1b0de9bf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -2,22 +2,22 @@ package org.usvm.interpreter import org.usvm.UContext import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject -import org.usvm.language.pythonInt -import org.usvm.language.pythonBool +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonBool class ConverterToPythonObject(private val ctx: UContext) { fun convert(obj: InterpretedSymbolicPythonObject): PythonObject? = - when (obj.concreteType) { + when (obj.getConcreteType()) { pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) else -> TODO() } private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = - ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent().toString()) + ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx).toString()) private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject? = - when (obj.getBoolContent()) { + when (obj.getBoolContent(ctx)) { ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") else -> null diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt index 181bb2f71b..80a3a7d713 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt @@ -5,7 +5,8 @@ import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.USort import org.usvm.language.PropertyOfPythonObject -import org.usvm.language.PythonType +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonType import org.usvm.model.UModelBase @Suppress("unchecked_cast") @@ -25,4 +26,12 @@ class PyModel(val uModel: UModelBase) { override fun hashCode(): Int { return uModel.hashCode() } + + fun getConcreteType(ref: UConcreteHeapRef): ConcretePythonType? { + val typeStream = uModel.types.typeStream(ref) + val prefix = typeStream.take(2) + if (prefix.size > 1) + return null + return prefix.first() as? ConcretePythonType + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index f83dfeb267..f1aa38b0c7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -5,8 +5,8 @@ import org.usvm.UComponents import org.usvm.UContext import org.usvm.language.PropertyOfPythonObject import org.usvm.language.PythonCallable -import org.usvm.language.PythonType -import org.usvm.language.PythonTypeSystem +import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem import org.usvm.model.buildTranslatorAndLazyDecoder import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 5d41019efb..04fbe98347 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -4,10 +4,11 @@ import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.operations.tracing.SymbolicHandlerEvent import org.usvm.language.* +import org.usvm.language.types.PythonType import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase - class PythonExecutionState( private val ctx: UContext, private val pythonCallable: PythonUnpinnedCallable, @@ -37,6 +38,7 @@ class PythonExecutionState( get() = PyModel(models.first()) var wasExecuted: Boolean = false + var modelDied: Boolean = false val lastHandlerEvent: SymbolicHandlerEvent? get() = if (path.isEmpty()) null else path.last() } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index e2c36a8525..9bb6250ca3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -5,6 +5,8 @@ import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInputObject import org.usvm.language.* +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonType import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index cdd613fe18..df3eae7a96 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -18,7 +18,7 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { val symbols = state.inputSymbols - val seeds = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel, ctx) } + val seeds = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } val converter = ConverterToPythonObject(ctx) val concrete = seeds.map { seed -> converter.convert(seed) ?: error("Couldn't construct PythonObject from model") diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt index f497661568..aa5c3a1fb4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt @@ -1,11 +1,8 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructObject -import org.usvm.language.pythonInt +import org.usvm.interpreter.symbolicobjects.constructInt -fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject { - return constructObject(context.ctx.mkIntNum(value), pythonInt, context.ctx, context.curState.memory) -} \ No newline at end of file +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject = + constructInt(context, context.ctx.mkIntNum(value)) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index 4c1807fab1..8f2db4c41e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -1,19 +1,16 @@ package org.usvm.interpreter.operations +import io.ksmt.sort.KBoolSort +import org.usvm.UExpr import org.usvm.fork import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.language.PythonPinnedCallable -import org.usvm.language.pythonBool -fun handlerForkKt(ctx: ConcolicRunContext, cond: SymbolicPythonObject?) { - cond ?: return - if (cond.concreteType != pythonBool) - return - val expr = cond.getBoolContent() +fun myFork(ctx: ConcolicRunContext, cond: UExpr) { val model = ctx.curState.pyModel val oldCurState = ctx.curState - val forkResult = fork(ctx.curState, expr) + val forkResult = fork(ctx.curState, cond) if (forkResult.positiveState?.pyModel == model) { ctx.curState = forkResult.positiveState } else if (forkResult.negativeState?.pyModel == model) { @@ -25,12 +22,30 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: SymbolicPythonObject?) { forkResult.negativeState?.let { ctx.forkedStates.add(it) } } -fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable): Int { // return value for Java call +fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { + val model = ctx.curState.pyModel + val forkResult = fork(ctx.curState, cond) + if (forkResult.positiveState?.pyModel != model) { + + if (forkResult.negativeState == ctx.curState) + ctx.curState.modelDied = true + + throw BadModelException + } +} + +fun handlerForkKt(ctx: ConcolicRunContext, cond: SymbolicPythonObject?) { + cond ?: return + val expr = cond.getBoolContent(ctx) + myFork(ctx, expr) +} + +fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable) { ctx.curState.callStack.push(function, ctx.curState.lastHandlerEvent) - return 0 } -fun handlerReturnKt(ctx: ConcolicRunContext): Int { // return value for Java call +fun handlerReturnKt(ctx: ConcolicRunContext) { ctx.curState.callStack.pop() - return 0 -} \ No newline at end of file +} + +object BadModelException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 780fb7a6a8..2c9852efb0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -2,54 +2,50 @@ package org.usvm.interpreter.operations import io.ksmt.sort.KIntSort import io.ksmt.sort.KSort +import org.usvm.UBoolExpr import org.usvm.UContext import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructObject -import org.usvm.language.ConcretePythonType -import org.usvm.language.pythonBool -import org.usvm.language.pythonInt +import org.usvm.interpreter.symbolicobjects.constructBool +import org.usvm.interpreter.symbolicobjects.constructInt fun createBinaryIntOp( - resultConcreteType: ConcretePythonType, op: (UContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, SymbolicPythonObject, SymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> - with (concolicContext.ctx) { - if (left.concreteType != pythonInt || right.concreteType != pythonInt) - null - else { - @Suppress("unchecked_cast") - op(this, left.getIntContent(), right.getIntContent())?.let { - constructObject(it, resultConcreteType, this, concolicContext.curState.memory) - } + op(concolicContext.ctx, left.getIntContent(concolicContext), right.getIntContent(concolicContext))?.let { + @Suppress("unchecked_cast") + when (it.sort) { + concolicContext.ctx.intSort -> constructInt(concolicContext, it as UExpr) + concolicContext.ctx.boolSort -> constructBool(concolicContext, it as UBoolExpr) + else -> TODO() } } } fun handlerGTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) fun handlerLTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) fun handlerEQLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) fun handlerNELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) fun handlerGELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) fun handlerLELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonBool) { ctx, left, right -> with(ctx) { left le right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) fun handlerADDLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonInt) { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) + createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) fun handlerSUBLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) fun handlerMULLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) fun handlerDIVLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) fun handlerREMLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp(pythonInt) { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") fun handlerPOWLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO //createBinaryIntOp { ctx, left, right -> diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt similarity index 80% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt rename to usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index b46e52f62c..b9889aaa77 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -1,17 +1,16 @@ -package org.usvm.interpreter.operations +package org.usvm.interpreter.operations.tracing import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.SymbolicHandlerEvent -import org.usvm.interpreter.SymbolicHandlerEventParameters +import java.util.function.Supplier fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, - resultSupplier: () -> T? + resultSupplier: Supplier ): T? { context.instructionCounter++ if (context.instructionCounter > context.curState.path.size) { - val result = resultSupplier() + val result = resultSupplier.get() val eventRecord = SymbolicHandlerEvent(newEventParameters, result) context.curState.path = context.curState.path.add(eventRecord) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt similarity index 85% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt rename to usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 755c624d49..1d0005ed63 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter +package org.usvm.interpreter.operations.tracing import org.usvm.language.PythonInstruction import org.usvm.language.PythonPinnedCallable @@ -15,6 +15,7 @@ data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParame data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEventParameters() data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() object PythonReturn: SymbolicHandlerEventParameters() +data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index dba020e70c..caedee870e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -1,8 +1,15 @@ package org.usvm.interpreter.symbolicobjects +import io.ksmt.sort.KBoolSort +import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonType +import org.usvm.language.types.pythonBool +import org.usvm.language.types.pythonInt import org.usvm.memory.UMemoryBase fun constructInputObject( @@ -15,19 +22,22 @@ fun constructInputObject( @Suppress("unchecked_cast") val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) - val result = UninterpretedSymbolicPythonObject(address, memory, ctx) - result.castToConcreteType(type) + val result = UninterpretedSymbolicPythonObject(address) + pathConstraints += memory.types.evalIs(address, type) return result } -fun constructObject( - expr: UExpr, - concretePythonType: ConcretePythonType, - ctx: UContext, - memory: UMemoryBase -): UninterpretedSymbolicPythonObject { - val address = memory.alloc(concretePythonType) - val result = UninterpretedSymbolicPythonObject(address, memory, ctx) - result.setContent(expr, concretePythonType) + +fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { + val address = context.curState.memory.alloc(pythonInt) + val result = UninterpretedSymbolicPythonObject(address) + result.setIntContent(context, expr) + return result +} + +fun constructBool(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { + val address = context.curState.memory.alloc(pythonBool) + val result = UninterpretedSymbolicPythonObject(address) + result.setBoolContent(context, expr) return result } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index cdf78d2529..8b5380eac4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -4,103 +4,75 @@ import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.PyModel +import org.usvm.interpreter.PythonExecutionState +import org.usvm.interpreter.operations.myAssert import org.usvm.language.* +import org.usvm.language.types.* import org.usvm.memory.UMemoryBase -import org.usvm.memory.UReadOnlySymbolicHeap -sealed class SymbolicPythonObject( - open val address: UHeapRef, - open val heap: UReadOnlySymbolicHeap, - protected val ctx: UContext -) { +sealed class SymbolicPythonObject(open val address: UHeapRef) { override fun equals(other: Any?): Boolean { if (other !is SymbolicPythonObject) return false - return address == other.address && heap == other.heap + return address == other.address } override fun hashCode(): Int { - return (address to heap).hashCode() + return address.hashCode() } - open val concreteType: ConcretePythonType? - get() = castedTo - - /*protected*/ var castedTo: ConcretePythonType? = null - - open fun getIntContent(): UExpr { - require(castedTo == pythonInt) + open fun getIntContent(ctx: ConcolicRunContext): UExpr { + myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, pythonInt)) @Suppress("unchecked_cast") - return heap.readField(address, IntContent, ctx.intSort) as UExpr + return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr } - open fun getBoolContent(): UExpr { - require(castedTo == pythonBool) + open fun getBoolContent(ctx: ConcolicRunContext): UExpr { + myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, HasNbBool)) @Suppress("unchecked_cast") - return heap.readField(address, BoolContent, ctx.boolSort) as UExpr + return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr } } -class UninterpretedSymbolicPythonObject( - override val address: UHeapRef, - private val memory: UMemoryBase, - ctx: UContext, -): SymbolicPythonObject(address, memory.heap, ctx) { - fun castToConcreteType(type: ConcretePythonType) { - if (castedTo != null) { - require(castedTo == type) - return - } - castedTo = type - memory.types.addSupertype(address, type) +class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject(address) { + private fun addTypeConstraint(ctx: ConcolicRunContext, type: PythonType) { + myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, type)) + } + + fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { + addTypeConstraint(ctx, pythonInt) + val lvalue = UFieldLValue(expr.sort, address, IntContent) + ctx.curState.memory.write(lvalue, expr) } - fun setContent(expr: UExpr, concretePythonType: ConcretePythonType) { - castToConcreteType(concretePythonType) - val field = - when (concretePythonType) { - pythonInt -> IntContent - pythonBool -> BoolContent - else -> TODO() - } - val lvalue = UFieldLValue(expr.sort, address, field) - memory.write(lvalue, expr) + fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { + addTypeConstraint(ctx, pythonBool) + val lvalue = UFieldLValue(expr.sort, address, BoolContent) + ctx.curState.memory.write(lvalue, expr) } } class InterpretedSymbolicPythonObject( override val address: UConcreteHeapRef, - private val model: PyModel, - ctx: UContext, -): SymbolicPythonObject(address, model.uModel.heap, ctx) { - /*init { - castedTo = model.uModel.types.typeOf(address.address) as ConcretePythonType - }*/ - - override val concreteType: ConcretePythonType - get() = super.concreteType!! - - override fun getIntContent(): KInterpretedValue { - require(castedTo == pythonInt) + private val model: PyModel +): SymbolicPythonObject(address) { + fun getConcreteType(): ConcretePythonType? = model.getConcreteType(address) + fun getIntContent(ctx: UContext): KInterpretedValue { + require(getConcreteType() == pythonInt) return model.readField(address, IntContent, ctx.intSort) } - override fun getBoolContent(): KInterpretedValue { - require(castedTo == pythonBool) + fun getBoolContent(ctx: UContext): KInterpretedValue { + require(getConcreteType() == pythonBool) // TODO: types with nb_bool ? return model.readField(address, BoolContent, ctx.boolSort) } } -// TODO fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject, - model: PyModel, - ctx: UContext + model: PyModel ): InterpretedSymbolicPythonObject { - // InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) - val type = obj.concreteType!! - val result = InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model, ctx) - result.castedTo = type - return result + return InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 381d54f13a..edd1209f18 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -3,6 +3,7 @@ package org.usvm.language import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonNamespace import org.usvm.interpreter.PythonObject +import org.usvm.language.types.PythonType data class PythonProgram(val asString: String) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt similarity index 58% rename from usvm-python/src/main/kotlin/org/usvm/language/Types.kt rename to usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 5c1bf90820..f79d8f8524 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,29 +1,15 @@ -package org.usvm.language +package org.usvm.language.types -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem -sealed class PythonType - -sealed class VirtualPythonType: PythonType() -object PythonAnyType: VirtualPythonType() - -data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() - -private fun createConcreteType(name: String) = ConcretePythonType(name, ConcretePythonInterpreter.eval(emptyNamespace, name)) - -val pythonInt = createConcreteType("int") -val pythonBool = createConcreteType("bool") -val pythonList = createConcreteType("list") - object PythonTypeSystem: UTypeSystem { override fun isSupertype(u: PythonType, t: PythonType): Boolean { // TODO if (u == PythonAnyType) return true + if (u == HasNbBool) + return t == HasNbBool || t == pythonBool return u == t } @@ -42,7 +28,7 @@ object PythonTypeSystem: UTypeSystem { override fun findSubtypes(t: PythonType): Sequence { if (t == PythonAnyType) return sequenceOf(pythonInt, pythonBool) - return sequenceOf(t) + return sequenceOf() } override fun topTypeStream(): UTypeStream { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt new file mode 100644 index 0000000000..7632c6b225 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -0,0 +1,22 @@ +package org.usvm.language.types + +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.emptyNamespace +import org.usvm.types.USupportTypeStream +import org.usvm.types.UTypeStream +import org.usvm.types.UTypeSystem + +sealed class PythonType + +open class VirtualPythonType: PythonType() + +data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() + +private fun createConcreteType(name: String) = ConcretePythonType(name, ConcretePythonInterpreter.eval(emptyNamespace, name)) + +val pythonInt = createConcreteType("int") +val pythonBool = createConcreteType("bool") +val pythonObjectType = createConcreteType("object") +val pythonNoneType = ConcretePythonType("NoneType", ConcretePythonInterpreter.eval(emptyNamespace, "type(None)")) +val pythonTypeType = createConcreteType("type") \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt new file mode 100644 index 0000000000..4d078e997d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -0,0 +1,7 @@ +package org.usvm.language.types + +object PythonAnyType: VirtualPythonType() + +sealed class TypeProtocol: VirtualPythonType() + +object HasNbBool: TypeProtocol() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 76d8d9228b..58742e24be 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,10 +1,41 @@ import org.usvm.interpreter.* -import org.usvm.language.pythonInt -import org.usvm.language.PythonProgram -import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.pythonBool fun main() { + val investigator = ConcretePythonInterpreter.createInvestigatorObject() + ConcretePythonInterpreter.printPythonObject(investigator) + /* + ConcretePythonInterpreter.printPythonObject(pythonNoneType.asObject) + ConcretePythonInterpreter.printPythonObject(pythonObjectType.asObject) + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun( + namespace, + """ + class A: + pass + + class B: + def __init__(self, x): + self.x = x + + class C: + def __new__(cls): + pass + + class D: + def __new__(cls, x): + pass + """.trimIndent() + ) + val classA = ConcretePythonInterpreter.eval(namespace, "A") + val classB = ConcretePythonInterpreter.eval(namespace, "B") + val classC = ConcretePythonInterpreter.eval(namespace, "C") + val classD = ConcretePythonInterpreter.eval(namespace, "D") + ConcretePythonInterpreter.printPythonObject(classA) + ConcretePythonInterpreter.printPythonObject(classB) + ConcretePythonInterpreter.printPythonObject(classC) + ConcretePythonInterpreter.printPythonObject(classD) + */ + /* val program = PythonProgram( """ def f(x: bool, y: int): @@ -31,4 +62,5 @@ fun main() { returnValue } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") + */ } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 3f1418c2ae..555297cc52 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,9 +1,10 @@ package org.usvm.samples -import org.usvm.UContext import org.usvm.UMachineOptions import org.usvm.interpreter.* import org.usvm.language.* +import org.usvm.language.types.PythonType +import org.usvm.language.types.pythonInt import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 09a166fd40..f7f1075b0e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,8 +1,8 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.usvm.language.pythonInt -import org.usvm.language.pythonBool +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonBool import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults From 2ddb21369304f6b2f29ab311cc2ed19cf7f3b819 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 17 Jul 2023 14:10:08 +0300 Subject: [PATCH 035/344] First version of type inference --- usvm-python/cpythonadapter/build.gradle.kts | 2 +- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 14 +-- .../c/org_usvm_interpreter_CPythonAdapter.h | 12 +- .../src/main/c/symbolic_handler.c | 25 ++--- usvm-python/cpythonadapter/src/main/c/utils.c | 21 +++- usvm-python/cpythonadapter/src/main/c/utils.h | 18 ++- .../src/main/c/virtual_objects.c | 105 ++++++++++++++++++ .../src/main/c/virtual_objects.h | 24 ++++ .../src/main/json/handler_defs.json | 10 ++ .../org/usvm/interpreter/CPythonAdapter.java | 15 ++- .../usvm/language/VirtualPythonObject.java | 12 ++ .../interpreter/ConcretePythonInterpreter.kt | 14 +-- .../interpreter/ConverterToPythonObject.kt | 1 + .../org/usvm/interpreter/PythonMachine.kt | 2 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 82 +++++++++++--- .../usvm/interpreter/operations/Virtual.kt | 10 ++ .../operations/tracing/PathTracing.kt | 17 ++- .../SymbolicObjectConstruction.kt | 3 +- .../org/usvm/language/types/TypeSystem.kt | 4 +- usvm-python/src/main/kotlin/test.kt | 28 ++--- .../usvm/samples/SimpleTypeInferenceTest.kt | 21 ++++ .../resources/samples/SimpleTypeInference.py | 5 + 23 files changed, 357 insertions(+), 90 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/virtual_objects.c create mode 100644 usvm-python/cpythonadapter/src/main/c/virtual_objects.h create mode 100644 usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt create mode 100644 usvm-python/src/test/resources/samples/SimpleTypeInference.py diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index bcbda43c5e..5949c9a575 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -90,7 +90,7 @@ library { compileTask.includes.from(adapterHeaderPath) compileTask.includes.from("$cpythonBuildPath/include/python3.11") compileTask.source.from(fileTree("src/main/c")) - compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11")) + compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) compileTask.dependsOn(cpython) compileTask.dependsOn(headers) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index b001ecb5bd..92d01e6071 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit b001ecb5bdbaba048bde0f2f18e7525ff0505d00 +Subproject commit 92d01e6071b536439cb069694e8b4a1bed9376d3 diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 6abc58b139..75ce001d14 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -5,7 +5,7 @@ #include "symbolic_handler.h" #include "symbolicadapter.h" -#include "investigator.h" +#include "virtual_objects.h" #define SET_IS_INITIALIZED(value) \ jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ @@ -94,6 +94,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jlong globals, jlong function_ref, jlongArray concrete_args, + jobjectArray virtual_args, jobjectArray symbolic_args, jobject context, jboolean print_error_message @@ -105,7 +106,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_concolic_context(env, context, cpython_adapter, &ctx); SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); - construct_args_for_symbolic_adapter(env, &concrete_args, symbolic_args, &args); + construct_args_for_symbolic_adapter(&ctx, &concrete_args, virtual_args, symbolic_args, &args); + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); free(args.ptr); @@ -127,15 +129,11 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObjec JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { PyObject *repr = PyObject_Repr((PyObject *) object_ref); - char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); + const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); return (*env)->NewStringUTF(env, repr_as_string); } JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { - char *type_name = Py_TYPE(object_ref)->tp_name; + const char *type_name = Py_TYPE(object_ref)->tp_name; return (*env)->NewStringUTF(env, type_name); -} - -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_createInvestigatorObject(JNIEnv *env, jobject cpython_adapter) { - return create_new_investigator(); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 2ce98d963a..e5291ed687 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -58,10 +58,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J + * Signature: (JJ[J[Lorg/usvm/language/VirtualPythonObject;[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobject, jboolean); + (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobjectArray, jobject, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter @@ -87,14 +87,6 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName (JNIEnv *, jobject, jlong); -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: createInvestigatorObject - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_createInvestigatorObject - (JNIEnv *, jobject); - #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index fce9a141ea..3e01f78ab8 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -1,16 +1,6 @@ #include "symbolic_handler.h" #include "utils.h" -#define CHECK_FOR_EXCEPTION(fail_value) \ - if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ - PyErr_SetString(PyExc_RuntimeError, "Java exception"); \ - return fail_value; \ - } - -#define CALL_JAVA_METHOD(result, ctx, func, args...) \ - result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ - CHECK_FOR_EXCEPTION(Py_None) - #define BINARY_INT_HANDLER(func) \ PyObject *left = args[0], *right = args[1]; \ if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ @@ -53,7 +43,7 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * //fflush(stdout); jobject obj = ((JavaPythonObject *) value)->object; (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); - CHECK_FOR_EXCEPTION(1) + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) } return Py_None; @@ -111,19 +101,26 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - PyFrameObject *frame = args[0]; + PyFrameObject *frame = (PyFrameObject *) args[0]; int instruction = take_instruction_from_frame(frame); (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); - CHECK_FOR_EXCEPTION(1) + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) return Py_None; } else if (signal_id == SYM_EVENT_ID_PYTHON_FUNCTION_CALL) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - + // TODO } else if (signal_id == SYM_EVENT_ID_RETURN) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 0); + // TODO + + } else if (signal_id == SYM_EVENT_ID_FORK_RESULT) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, args[0] == Py_True); + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 3f0b3e5873..0a27737a2c 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,4 +1,5 @@ #include "utils.h" +#include "virtual_objects.h" static void java_python_object_dealloc(PyObject *op) { @@ -70,20 +71,32 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad } void construct_args_for_symbolic_adapter( - JNIEnv *env, + ConcolicContext *ctx, jlongArray *concrete_args, + jobjectArray virtual_args, jobjectArray symbolic_args, PyObjectArray *dist ) { + JNIEnv *env = ctx->env; int n = (*env)->GetArrayLength(env, *concrete_args); + assert(n == (*env)->GetArrayLength(env, virtual_args)); assert(n == (*env)->GetArrayLength(env, symbolic_args)); jlong *addresses = (*env)->GetLongArrayElements(env, *concrete_args, 0); PyObject **args = malloc(sizeof(PyObject *) * n); for (int i = 0; i < n; i++) { PyObject *tuple = PyTuple_New(2); - PyTuple_SetItem(tuple, 0, (PyObject *) addresses[i]); + jobject virtual_arg = (*env)->GetObjectArrayElement(env, virtual_args, i); + assert((addresses[i] == 0) ^ (virtual_arg == 0)); + + PyObject *concrete_arg = (PyObject *) addresses[i]; + if (concrete_arg == 0) { + concrete_arg = create_new_virtual_object(ctx, virtual_arg); + } + PyTuple_SetItem(tuple, 0, concrete_arg); + PyObject *symbolic = wrap_java_object(env, (*env)->GetObjectArrayElement(env, symbolic_args, i)); PyTuple_SetItem(tuple, 1, symbolic); + args[i] = tuple; } (*env)->ReleaseLongArrayElements(env, *concrete_args, addresses, 0); @@ -92,8 +105,8 @@ void construct_args_for_symbolic_adapter( dist->ptr = args; } -int take_instruction_from_frame(PyObject *frame) { - PyObject *res = PyObject_GetAttrString(frame, "f_lasti"); +int take_instruction_from_frame(PyFrameObject *frame) { + PyObject *res = PyObject_GetAttrString((PyObject *) frame, "f_lasti"); int overflow; long value_as_long = PyLong_AsLongAndOverflow(res, &overflow); assert(!overflow); diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 5c6a7f260c..a2eccf1297 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -35,8 +35,22 @@ typedef struct { PyObject **ptr; } PyObjectArray; -void construct_args_for_symbolic_adapter(JNIEnv *env, jlongArray *concrete_args, jobjectArray symbolic_args, PyObjectArray *dist); -int take_instruction_from_frame(PyObject *frame); +void construct_args_for_symbolic_adapter(ConcolicContext *ctx, jlongArray *concrete_args, jobjectArray virtual_args, jobjectArray symbolic_args, PyObjectArray *dist); +int take_instruction_from_frame(PyFrameObject *frame); + +#define CHECK_FOR_EXCEPTION(ctx, fail_value) \ + if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ + PyErr_SetString(PyExc_RuntimeError, "Java exception"); \ + return fail_value; \ + } + +#define CALL_JAVA_METHOD(result, ctx, func, args...) \ + result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ + CHECK_FOR_EXCEPTION(ctx, Py_None) + +#define CALL_JAVA_METHOD_CUSTOM_FAIL(fail_value, result, ctx, func, args...) \ + result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ + CHECK_FOR_EXCEPTION(ctx, fail_value) #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c new file mode 100644 index 0000000000..adfdfa1f10 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -0,0 +1,105 @@ +#include "virtual_objects.h" + +static void +virtual_object_dealloc(PyObject *op) { + VirtualPythonObject *obj = (VirtualPythonObject *) op; + (*(obj->ctx->env))->DeleteGlobalRef(obj->ctx->env, obj->reference); + Py_TYPE(op)->tp_free(op); +} + +static int +nb_bool(PyObject *self) { + VirtualPythonObject *obj = (VirtualPythonObject *) self; + jboolean result = (*obj->ctx->env)->CallStaticBooleanMethod(obj->ctx->env, obj->ctx->cpython_adapter_cls, obj->ctx->handle_virtual_nb_bool, obj->ctx->context, obj->object); + CHECK_FOR_EXCEPTION(obj->ctx, -1) + return (int) result; +} + +static PyNumberMethods virtual_as_number = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + nb_bool, /*nb_bool*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + 0, /*nb_int*/ + 0, /*nb_reserved*/ + 0, /*nb_float*/ + 0, /* nb_inplace_add */ + 0, /* nb_inplace_subtract */ + 0, /* nb_inplace_multiply */ + 0, /* nb_inplace_remainder */ + 0, /* nb_inplace_power */ + 0, /* nb_inplace_lshift */ + 0, /* nb_inplace_rshift */ + 0, /* nb_inplace_and */ + 0, /* nb_inplace_xor */ + 0, /* nb_inplace_or */ + 0, /* nb_floor_divide */ + 0, /* nb_true_divide */ + 0, /* nb_inplace_floor_divide */ + 0, /* nb_inplace_true_divide */ + 0, /* nb_index */ +}; + +PyTypeObject VirtualPythonObject_Type = { + PyVarObject_HEAD_INIT(&PyType_Type, 0) + VirtualObjectTypeName, + sizeof(VirtualPythonObject), + 0, + virtual_object_dealloc, /*tp_dealloc*/ + 0, /*tp_vectorcall_offset*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_as_async*/ + 0, /*tp_repr*/ + &virtual_as_number, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call */ + 0, /*tp_str */ + 0, /*tp_getattro */ + 0, /*tp_setattro */ + 0, /*tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /*tp_flags */ + 0, /*tp_doc */ + 0, /*tp_traverse */ + 0, /*tp_clear */ + 0, /*tp_richcompare */ + 0, /*tp_weaklistoffset */ + 0, /*tp_iter */ + 0, /*tp_iternext */ + 0, /*tp_methods */ + 0, /*tp_members */ + 0, /*tp_getset */ + 0, /*tp_base */ + 0, /*tp_dict */ + 0, /*tp_descr_get */ + 0, /*tp_descr_set */ + 0, /*tp_dictoffset */ + 0, /*tp_init */ + 0, /*tp_alloc */ + 0, /*tp_new */ +}; + + +PyObject * +create_new_virtual_object(ConcolicContext *ctx, jobject object) { + VirtualPythonObject *result = PyObject_New(VirtualPythonObject, &VirtualPythonObject_Type); + result->ctx = ctx; + result->object = object; + result->reference = (*ctx->env)->NewGlobalRef(ctx->env, object); + + return (PyObject *) result; +} diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.h b/usvm-python/cpythonadapter/src/main/c/virtual_objects.h new file mode 100644 index 0000000000..aeb7cd4162 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.h @@ -0,0 +1,24 @@ +#ifndef _Included_CPythonAdapter_virtual_objects +#define _Included_CPythonAdapter_virtual_objects +#ifdef __cplusplus +extern "C" { +#endif + +#include "Python.h" +#include "utils.h" + +#define VirtualObjectTypeName "ibmviqhlye.___virtual_object___ibmviqhlye" + +typedef struct { + PyObject_HEAD + ConcolicContext *ctx; + jobject reference; + jobject object; +} VirtualPythonObject; + +PyObject *create_new_virtual_object(ConcolicContext *ctx, jobject object); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 3d34d091b0..99c633c32a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -83,5 +83,15 @@ "c_name": "python_return", "java_name": "handlerReturn", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)V" + }, + { + "c_name": "fork_result", + "java_name": "handlerForkResult", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" + }, + { + "c_name": "virtual_nb_bool", + "java_name": "virtualCallNbBool", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)Z" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 415f8ec8e6..faaa178f60 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -6,6 +6,7 @@ import org.usvm.language.PythonInstruction; import org.usvm.language.PythonPinnedCallable; import org.usvm.language.SymbolForCPython; +import org.usvm.language.VirtualPythonObject; import java.util.Arrays; import java.util.List; @@ -14,6 +15,8 @@ import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.LongKt.*; +import static org.usvm.interpreter.operations.VirtualKt.nbBoolKt; +import static org.usvm.interpreter.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") @@ -25,11 +28,10 @@ public class CPythonAdapter { public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String obj); // returns PyObject * public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); - public native long concolicRun(long globals, long functionRef, long[] concreteArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); + public native long concolicRun(long globals, long functionRef, long[] concreteArgs, VirtualPythonObject[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); - public native long createInvestigatorObject(); static { System.loadLibrary("cpythonadapter"); @@ -76,6 +78,10 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } + public static void handlerForkResult(ConcolicRunContext context, boolean result) { + handlerForkResultKt(context, result); + } + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context, left.obj, right.obj)); } @@ -132,4 +138,9 @@ public static void handlerFunctionCall(ConcolicRunContext context, long function public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } + + // TODO: add tracing + public static boolean virtualCallNbBool(ConcolicRunContext context, VirtualPythonObject object) { + return nbBoolKt(context, object); + } } diff --git a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java new file mode 100644 index 0000000000..f215ff0e24 --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java @@ -0,0 +1,12 @@ +package org.usvm.language; + +import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject; + +public class VirtualPythonObject { + public InterpretedSymbolicPythonObject obj; + public SymbolForCPython symbol; + public VirtualPythonObject(InterpretedSymbolicPythonObject obj, SymbolForCPython symbol) { + this.obj = obj; + this.symbol = symbol; + } +} diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 660fe059ab..68005f4a93 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter import org.usvm.language.SymbolForCPython +import org.usvm.language.VirtualPythonObject object ConcretePythonInterpreter { private val pythonAdapter = CPythonAdapter() @@ -43,7 +44,8 @@ object ConcretePythonInterpreter { fun concolicRun( globals: PythonNamespace, functionRef: PythonObject, - concreteArgs: Collection, + concreteArgs: Collection, + virtualArgs: List, symbolicArgs: List, ctx: ConcolicRunContext, printErrorMsg: Boolean = false @@ -51,7 +53,8 @@ object ConcretePythonInterpreter { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, - concreteArgs.map { it.address }.toLongArray(), + concreteArgs.map { it?.address ?: 0L }.toLongArray(), + Array(virtualArgs.size) { virtualArgs[it] }, Array(symbolicArgs.size) { symbolicArgs[it] }, ctx, printErrorMsg @@ -73,13 +76,6 @@ object ConcretePythonInterpreter { return pythonAdapter.getPythonObjectTypeName(pythonObject.address) } - fun createInvestigatorObject(): PythonObject { - val result = pythonAdapter.createInvestigatorObject() - if (result == 0L) - throw CPythonExecutionException - return PythonObject(result) - } - fun kill() { pythonAdapter.finalizePython() } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt index da1b0de9bf..c37698cca4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt @@ -8,6 +8,7 @@ import org.usvm.language.types.pythonBool class ConverterToPythonObject(private val ctx: UContext) { fun convert(obj: InterpretedSymbolicPythonObject): PythonObject? = when (obj.getConcreteType()) { + null -> null pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) else -> TODO() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 9bb6250ca3..5dfa30622e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -43,7 +43,7 @@ class PythonMachine( stack.push(target.numberOfArguments) } val symbols = target.signature.mapIndexed { index, type -> - SymbolForCPython(constructInputObject(index, (type as? ConcretePythonType)!!, ctx, memory, pathConstraints)) + SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints)) } val solverRes = solver.check(pathConstraints, useSoftConstraints = false) if (solverRes !is USatResult) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index df3eae7a96..f88a7f4c10 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,8 +1,13 @@ package org.usvm.interpreter import org.usvm.* +import org.usvm.interpreter.operations.BadModelException +import org.usvm.interpreter.operations.myFork +import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.SymbolForCPython +import org.usvm.language.VirtualPythonObject class USVMPythonInterpreter( private val ctx: UContext, @@ -15,39 +20,80 @@ class USVMPythonInterpreter( ) : UInterpreter() { private val pinnedCallable = callable.reference(namespace) - override fun step(state: PythonExecutionState): StepResult = - with(ctx) { + private fun getSeeds(state: PythonExecutionState, symbols: List): List = + symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } + + private fun getConcrete(converter: ConverterToPythonObject, seeds: List): List = + seeds.map { seed -> converter.convert(seed) } + + private fun getVirtual(concrete: List, seeds: List, symbols: List): List = + (concrete zip seeds zip symbols).map { (p, symbol) -> + val (pythonObject, interpretedObject) = p + if (pythonObject != null) + null + else + VirtualPythonObject(interpretedObject, symbol) + } + + private fun getInputs(virtualObjects: List, concrete: List, seeds: List): List>? = + if (virtualObjects.all { it == null }) { + val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) + (seeds zip callable.signature zip serializedInputs).map { (p, z) -> + val (x, y) = p + InputObject(x, y, z) + } + } else { + null + } + + private fun forkOnVirtualObjects(ctx: ConcolicRunContext, virtualObjects: List): Boolean { + val obj = virtualObjects.firstNotNullOfOrNull { it } ?: return false + val stream = ctx.curState.pyModel.uModel.types.typeStream(obj.obj.address) + if (stream.isEmpty) + return false + val candidate = stream.take(1).first() + myFork(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(obj.symbol.obj.address, candidate)) + return true + } + + override fun step(state: PythonExecutionState): StepResult = with(ctx) { + val concolicRunContext = ConcolicRunContext(state, ctx) + try { val symbols = state.inputSymbols - val seeds = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } + val seeds = getSeeds(state, symbols) val converter = ConverterToPythonObject(ctx) - val concrete = seeds.map { seed -> - converter.convert(seed) ?: error("Couldn't construct PythonObject from model") - } - val serializedInputs = concrete.map(pythonObjectSerialization) - val inputForResult = - (seeds zip callable.signature zip serializedInputs).map { (p, z) -> - val (x, y) = p - InputObject(x, y, z) - } - val concolicRunContext = ConcolicRunContext(state, ctx) + val concrete = getConcrete(converter, seeds) + val virtualObjects = getVirtual(concrete, seeds, symbols) + val inputs = getInputs(virtualObjects, concrete, seeds) try { val result = ConcretePythonInterpreter.concolicRun( namespace, pinnedCallable, concrete, + virtualObjects, symbols, concolicRunContext, printErrorMsg ) - val serializedResult = pythonObjectSerialization(result) - saveRunResult(PythonAnalysisResult(converter, inputForResult, Success(serializedResult))) + if (inputs != null) { + val serializedResult = pythonObjectSerialization(result) + saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) + } } catch (_: CPythonExecutionException) { - saveRunResult(PythonAnalysisResult(converter, inputForResult, Fail())) + if (inputs != null) + saveRunResult(PythonAnalysisResult(converter, inputs, Fail())) } - concolicRunContext.curState.wasExecuted = true + val madeFork = forkOnVirtualObjects(concolicRunContext, virtualObjects) + concolicRunContext.curState.wasExecuted = !madeFork + iterationCounter.iterations += 1 + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted && !state.modelDied) + + } catch (_: BadModelException) { + iterationCounter.iterations += 1 - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted && !state.modelDied) } + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt new file mode 100644 index 0000000000..797a4691e7 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -0,0 +1,10 @@ +package org.usvm.interpreter.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.language.VirtualPythonObject + +fun nbBoolKt(context: ConcolicRunContext, obj: VirtualPythonObject): Boolean { + val symbolicValue = obj.symbol.obj.getBoolContent(context) + return context.curState.pyModel.eval(symbolicValue).isTrue +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index b9889aaa77..d35b2e8902 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -1,6 +1,7 @@ package org.usvm.interpreter.operations.tracing import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue import java.util.function.Supplier fun withTracing( @@ -29,4 +30,18 @@ fun withTracing( return event.result as T } -object PathDiversionException: Exception() \ No newline at end of file +object PathDiversionException: Exception() + + +// TODO: there might be events between fork and fork result +fun handlerForkResultKt(context: ConcolicRunContext, result: Boolean) { + if (context.instructionCounter < 1) + return + val lastEventParams = context.curState.path[context.instructionCounter - 1].parameters + if (lastEventParams !is Fork) + return + + val expectedResult = context.curState.pyModel.eval(lastEventParams.condition.obj.getBoolContent(context)).isTrue + if (result != expectedResult) + throw PathDiversionException +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index caedee870e..870a6189a5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -6,7 +6,6 @@ import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt @@ -14,7 +13,7 @@ import org.usvm.memory.UMemoryBase fun constructInputObject( stackIndex: Int, - type: ConcretePythonType, + type: PythonType, ctx: UContext, memory: UMemoryBase, pathConstraints: UPathConstraints diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index f79d8f8524..4653d798c8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -18,7 +18,7 @@ object PythonTypeSystem: UTypeSystem { } override fun isFinal(t: PythonType): Boolean { // TODO - return t != PythonAnyType + return t != PythonAnyType && t != HasNbBool } override fun isInstantiable(t: PythonType): Boolean { @@ -28,6 +28,8 @@ object PythonTypeSystem: UTypeSystem { override fun findSubtypes(t: PythonType): Sequence { if (t == PythonAnyType) return sequenceOf(pythonInt, pythonBool) + if (t == HasNbBool) + return sequenceOf(pythonBool) return sequenceOf() } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 58742e24be..3c00361d4e 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,17 +1,18 @@ import org.usvm.interpreter.* +import org.usvm.language.PythonProgram +import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.types.PythonAnyType +import org.usvm.language.types.pythonBool +import org.usvm.language.types.pythonInt fun main() { - val investigator = ConcretePythonInterpreter.createInvestigatorObject() - ConcretePythonInterpreter.printPythonObject(investigator) - /* - ConcretePythonInterpreter.printPythonObject(pythonNoneType.asObject) + /*ConcretePythonInterpreter.printPythonObject(pythonNoneType.asObject) ConcretePythonInterpreter.printPythonObject(pythonObjectType.asObject) val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun( namespace, """ - class A: - pass + class A: pass class B: def __init__(self, x): @@ -33,21 +34,17 @@ fun main() { ConcretePythonInterpreter.printPythonObject(classA) ConcretePythonInterpreter.printPythonObject(classB) ConcretePythonInterpreter.printPythonObject(classC) - ConcretePythonInterpreter.printPythonObject(classD) - */ - /* + ConcretePythonInterpreter.printPythonObject(classD)*/ val program = PythonProgram( """ - def f(x: bool, y: int): - if x and y % 10 == 5: + def f(x): + if x: return 1 - elif not x: - return 2 else: - return 3 + return 2 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonBool, pythonInt), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> @@ -62,5 +59,4 @@ fun main() { returnValue } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") - */ } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt new file mode 100644 index 0000000000..470818a59c --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -0,0 +1,21 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.types.PythonAnyType +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py") { + private val functionBoolInput = constructFunction("bool_input", List(1) { PythonAnyType }) + @Test + fun testBoolInput() { + check1WithConcreteRun( + functionBoolInput, + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteReprs, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(2) { index -> + { _, res -> res!!.repr == (index + 1).toString() } + } + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py new file mode 100644 index 0000000000..dd37fc198a --- /dev/null +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -0,0 +1,5 @@ +def bool_input(x): + if x: + return 1 + else: + return 2 \ No newline at end of file From ff15efe94c4a123d41aed0b087fc1621988d9bf7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 20 Jul 2023 17:41:45 +0300 Subject: [PATCH 036/344] PythonVirtualPathSelector --- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 26 ++++++- .../c/org_usvm_interpreter_CPythonAdapter.h | 28 +++++++- .../src/main/c/symbolic_handler.c | 17 ++++- usvm-python/cpythonadapter/src/main/c/utils.c | 45 ++++++++---- usvm-python/cpythonadapter/src/main/c/utils.h | 14 ++-- .../src/main/c/virtual_objects.c | 68 ++++++++++++++++-- .../src/main/c/virtual_objects.h | 9 ++- .../src/main/json/handler_defs.json | 7 +- .../org/usvm/interpreter/CPythonAdapter.java | 17 +++-- .../usvm/language/VirtualPythonObject.java | 10 +-- .../interpreter/ConcretePythonInterpreter.kt | 30 ++++++-- .../interpreter/ConverterToPythonObject.kt | 26 ------- .../usvm/interpreter/PythonExecutionState.kt | 23 ++++++- .../org/usvm/interpreter/PythonMachine.kt | 15 ++-- .../interpreter/PythonVirtualPathSelector.kt | 69 +++++++++++++++++++ .../usvm/interpreter/USVMPythonInterpreter.kt | 47 +++++-------- .../operations/MethodNotifications.kt | 9 +++ .../usvm/interpreter/operations/Virtual.kt | 5 +- .../tracing/SymbolicHandlerEvent.kt | 1 + .../ConverterToPythonObject.kt | 61 ++++++++++++++++ .../symbolicobjects/SymbolicPythonObject.kt | 8 +-- .../org/usvm/language/types/TypeSystem.kt | 31 +++++---- .../kotlin/org/usvm/language/types/Types.kt | 11 +-- .../org/usvm/language/types/VirtualTypes.kt | 27 +++++++- .../org/usvm/samples/PythonTestRunner.kt | 3 +- 26 files changed, 457 insertions(+), 152 deletions(-) delete mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 92d01e6071..a936e9f9a0 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 92d01e6071b536439cb069694e8b4a1bed9376d3 +Subproject commit a936e9f9a09afadaee9041429f675cbbd222a232 diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 75ce001d14..7a306b6927 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -94,7 +94,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jlong globals, jlong function_ref, jlongArray concrete_args, - jobjectArray virtual_args, + jlongArray virtual_args, jobjectArray symbolic_args, jobject context, jboolean print_error_message @@ -106,7 +106,9 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_concolic_context(env, context, cpython_adapter, &ctx); SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); - construct_args_for_symbolic_adapter(&ctx, &concrete_args, virtual_args, symbolic_args, &args); + register_virtual_methods(); + + construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); free(args.ptr); @@ -136,4 +138,24 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { const char *type_name = Py_TYPE(object_ref)->tp_name; return (*env)->NewStringUTF(env, type_name); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject(JNIEnv *env, jobject cpython_adapter, jobject virtual_object) { + return (jlong) allocate_raw_virtual_object(env, virtual_object); +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool(JNIEnv *env, jobject cpython_adapter, jlong type_ref) { + if (Py_TYPE(type_ref) != &PyType_Type) + return -1; + + PyTypeObject *type = (PyTypeObject *) type_ref; + return type->tp_as_number && type->tp_as_number->nb_bool; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNIEnv *env, jobject cpython_adapter, jlong type_ref) { + if (Py_TYPE(type_ref) != &PyType_Type) + return -1; + + PyTypeObject *type = (PyTypeObject *) type_ref; + return type->tp_as_number && type->tp_as_number->nb_int; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index e5291ed687..0aa8a3aad7 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -58,10 +58,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[Lorg/usvm/language/VirtualPythonObject;[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J + * Signature: (JJ[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlong, jlongArray, jobjectArray, jobjectArray, jobject, jboolean); + (JNIEnv *, jobject, jlong, jlong, jlongArray, jlongArray, jobjectArray, jobject, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter @@ -87,6 +87,30 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: allocateVirtualObject + * Signature: (Lorg/usvm/language/VirtualPythonObject;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject + (JNIEnv *, jobject, jobject); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbBool + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbInt + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 3e01f78ab8..2eee22d229 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -1,12 +1,13 @@ #include "symbolic_handler.h" #include "utils.h" +#include "virtual_objects.h" #define BINARY_INT_HANDLER(func) \ PyObject *left = args[0], *right = args[1]; \ if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ return Py_None; \ - jobject left_obj = ((JavaPythonObject *) left)->object; \ - jobject right_obj = ((JavaPythonObject *) right)->object; \ + jobject left_obj = ((JavaPythonObject *) left)->reference; \ + jobject right_obj = ((JavaPythonObject *) right)->reference; \ jobject result; \ CALL_JAVA_METHOD(result, ctx, func, ctx->context, signal_id, left_obj, right_obj) \ if (!result) \ @@ -41,7 +42,7 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * if (is_wrapped_java_object(value)) { //printf("Fork on known condition\n"); //fflush(stdout); - jobject obj = ((JavaPythonObject *) value)->object; + jobject obj = ((JavaPythonObject *) value)->reference; (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) } @@ -122,6 +123,16 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, args[0] == Py_True); CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) + } else if (signal_id == SYM_EVENT_ID_NB_BOOL) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + + PyObject *symbolic = args[0]; + if (is_wrapped_java_object(symbolic)) { + jobject object = ((JavaPythonObject *) symbolic)->reference; + (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_nb_bool, ctx->context, object); + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) + } + } return Py_None; diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 0a27737a2c..cc33ef13fc 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -3,8 +3,8 @@ static void java_python_object_dealloc(PyObject *op) { - JavaPythonObject *obj = (JavaPythonObject *) op; - (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); + // JavaPythonObject *obj = (JavaPythonObject *) op; + // (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); Py_TYPE(op)->tp_free(op); } @@ -53,8 +53,8 @@ PyTypeObject JavaPythonObject_Type = { PyObject *wrap_java_object(JNIEnv *env, jobject object) { JavaPythonObject *result = PyObject_New(JavaPythonObject, &JavaPythonObject_Type); result->env = env; - result->object = object; - result->reference = (*env)->NewGlobalRef(env, object); + result->reference = object; + // result->reference = (*env)->NewGlobalRef(env, object); return (PyObject*) result; } @@ -70,31 +70,46 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad DO_REGISTRATIONS(dist, env) } -void construct_args_for_symbolic_adapter( +static void +finish_virtual_objects_initialization( + SymbolicAdapter *adapter, + ConcolicContext *ctx, + jlongArray *virtual_args +) { + JNIEnv *env = ctx->env; + int n = (*env)->GetArrayLength(env, *virtual_args); + jlong *addresses = (*env)->GetLongArrayElements(env, *virtual_args, 0); + for (int i = 0; i < n; i++) { + finish_virtual_object_initialization((VirtualPythonObject *) addresses[i], ctx, adapter); + } + (*env)->ReleaseLongArrayElements(env, *virtual_args, addresses, 0); +} + +void +construct_args_for_symbolic_adapter( + SymbolicAdapter *adapter, ConcolicContext *ctx, jlongArray *concrete_args, - jobjectArray virtual_args, - jobjectArray symbolic_args, + jlongArray *virtual_args, + jobjectArray *symbolic_args, PyObjectArray *dist ) { + finish_virtual_objects_initialization(adapter, ctx, virtual_args); JNIEnv *env = ctx->env; int n = (*env)->GetArrayLength(env, *concrete_args); - assert(n == (*env)->GetArrayLength(env, virtual_args)); - assert(n == (*env)->GetArrayLength(env, symbolic_args)); + assert(n == (*env)->GetArrayLength(env, *symbolic_args)); jlong *addresses = (*env)->GetLongArrayElements(env, *concrete_args, 0); PyObject **args = malloc(sizeof(PyObject *) * n); for (int i = 0; i < n; i++) { PyObject *tuple = PyTuple_New(2); - jobject virtual_arg = (*env)->GetObjectArrayElement(env, virtual_args, i); - assert((addresses[i] == 0) ^ (virtual_arg == 0)); PyObject *concrete_arg = (PyObject *) addresses[i]; - if (concrete_arg == 0) { - concrete_arg = create_new_virtual_object(ctx, virtual_arg); - } PyTuple_SetItem(tuple, 0, concrete_arg); - PyObject *symbolic = wrap_java_object(env, (*env)->GetObjectArrayElement(env, symbolic_args, i)); + jobject java_symbolic_object = (*env)->GetObjectArrayElement(env, *symbolic_args, i); + PyObject *symbolic = Py_None; + if (java_symbolic_object) + symbolic = wrap_java_object(env, java_symbolic_object); PyTuple_SetItem(tuple, 1, symbolic); args[i] = tuple; diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index a2eccf1297..5c6e1de4aa 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -1,19 +1,19 @@ -#include -#include "Python.h" -#include "CPythonAdapterMethods.h" // this is generated in Gradle script from "handler_defs.json" - #ifndef _Included_CPythonAdapter_utils #define _Included_CPythonAdapter_utils #ifdef __cplusplus extern "C" { #endif +#include +#include "Python.h" +#include "symbolicadapter.h" +#include "CPythonAdapterMethods.h" // this is generated in Gradle script from "handler_defs.json" + #define JavaPythonObjectTypeName "ibmviqhlye.___java_object___ibmviqhlye" typedef struct { PyObject_HEAD - jobject reference; - jobject object; + jobject reference; // local JNIEnv *env; } JavaPythonObject; @@ -35,7 +35,7 @@ typedef struct { PyObject **ptr; } PyObjectArray; -void construct_args_for_symbolic_adapter(ConcolicContext *ctx, jlongArray *concrete_args, jobjectArray virtual_args, jobjectArray symbolic_args, PyObjectArray *dist); +void construct_args_for_symbolic_adapter(SymbolicAdapter *adapter, ConcolicContext *ctx, jlongArray *concrete_args, jlongArray *virtual_args, jobjectArray *symbolic_args, PyObjectArray *dist); int take_instruction_from_frame(PyFrameObject *frame); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index adfdfa1f10..4f1ce1b06f 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -7,11 +7,37 @@ virtual_object_dealloc(PyObject *op) { Py_TYPE(op)->tp_free(op); } +/* +static PyObject * +tp_richcompare(PyObject *o1, PyObject *o2, int op) { + ConcolicContext *ctx = 0; + SymbolicAdapter *adapter = 0; + if (is_virtual_object(o1)) { + ctx = ((VirtualPythonObject *) o1)->ctx; + adapter = ((VirtualPythonObject *) o1)->adapter; + } else if (is_virtual_object(o2)) { + ctx = ((VirtualPythonObject *) o2)->ctx; + adapter = ((VirtualPythonObject *) o2)->adapter; + } else { + PyErr_SetString(PyExc_RuntimeError, "Internal error in virtual tp_richcompare"); + return 0; // should not be reachable + } + adapter->ignore = 1; + jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context); + adapter->ignore = 0; + CHECK_FOR_EXCEPTION(ctx, 0) + return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); +} +*/ + static int nb_bool(PyObject *self) { VirtualPythonObject *obj = (VirtualPythonObject *) self; - jboolean result = (*obj->ctx->env)->CallStaticBooleanMethod(obj->ctx->env, obj->ctx->cpython_adapter_cls, obj->ctx->handle_virtual_nb_bool, obj->ctx->context, obj->object); - CHECK_FOR_EXCEPTION(obj->ctx, -1) + SymbolicAdapter *adapter = obj->adapter; + ConcolicContext *ctx = obj->ctx; + adapter->ignore = 1; + jboolean result = (*ctx->env)->CallStaticBooleanMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_nb_bool, ctx->context, obj->reference); + adapter->ignore = 0; return (int) result; } @@ -93,13 +119,41 @@ PyTypeObject VirtualPythonObject_Type = { 0, /*tp_new */ }; - PyObject * -create_new_virtual_object(ConcolicContext *ctx, jobject object) { +allocate_raw_virtual_object(JNIEnv *env, jobject object) { VirtualPythonObject *result = PyObject_New(VirtualPythonObject, &VirtualPythonObject_Type); - result->ctx = ctx; - result->object = object; - result->reference = (*ctx->env)->NewGlobalRef(ctx->env, object); + + if (!result) + return 0; + + result->reference = (*env)->NewGlobalRef(env, object); + result->ctx = 0; + result->adapter = 0; return (PyObject *) result; } + +void +finish_virtual_object_initialization(VirtualPythonObject *object, ConcolicContext *ctx, SymbolicAdapter *adapter) { + object->ctx = ctx; + object->adapter = adapter; +} + +PyObject * +create_new_virtual_object(ConcolicContext *ctx, jobject object, SymbolicAdapter *adapter) { + VirtualPythonObject *result = (VirtualPythonObject *) allocate_raw_virtual_object(ctx->env, object); + finish_virtual_object_initialization(result, ctx, adapter); + + return (PyObject *) result; +} + +int +is_virtual_object(PyObject *obj) { + if (!obj) + return 0; + return Py_TYPE(obj) == &VirtualPythonObject_Type; +} + +void register_virtual_methods() { + // virtual_tp_richcompare = tp_richcompare; +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.h b/usvm-python/cpythonadapter/src/main/c/virtual_objects.h index aeb7cd4162..17e011bc98 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.h +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.h @@ -6,6 +6,7 @@ extern "C" { #include "Python.h" #include "utils.h" +#include "symbolicadapter.h" #define VirtualObjectTypeName "ibmviqhlye.___virtual_object___ibmviqhlye" @@ -13,10 +14,14 @@ typedef struct { PyObject_HEAD ConcolicContext *ctx; jobject reference; - jobject object; + SymbolicAdapter *adapter; } VirtualPythonObject; -PyObject *create_new_virtual_object(ConcolicContext *ctx, jobject object); +PyObject *allocate_raw_virtual_object(JNIEnv *env, jobject object); +void finish_virtual_object_initialization(VirtualPythonObject *object, ConcolicContext *ctx, SymbolicAdapter *adapter); +PyObject *create_new_virtual_object(ConcolicContext *ctx, jobject object, SymbolicAdapter *adapter); +int is_virtual_object(PyObject *obj); +void register_virtual_methods(); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 99c633c32a..15cab0d97b 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -89,9 +89,14 @@ "java_name": "handlerForkResult", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" }, + { + "c_name": "nb_bool", + "java_name": "notifyNbBool", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "virtual_nb_bool", - "java_name": "virtualCallNbBool", + "java_name": "virtualNbBool", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)Z" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index faaa178f60..95fe99a639 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -15,7 +15,8 @@ import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.LongKt.*; -import static org.usvm.interpreter.operations.VirtualKt.nbBoolKt; +import static org.usvm.interpreter.operations.MethodNotificationsKt.nbBoolKt; +import static org.usvm.interpreter.operations.VirtualKt.virtualNbBoolKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; @@ -28,10 +29,13 @@ public class CPythonAdapter { public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String obj); // returns PyObject * public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); - public native long concolicRun(long globals, long functionRef, long[] concreteArgs, VirtualPythonObject[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); + public native long concolicRun(long globals, long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); + public native long allocateVirtualObject(VirtualPythonObject object); + public native int typeHasNbBool(long type); + public native int typeHasNbInt(long type); static { System.loadLibrary("cpythonadapter"); @@ -139,8 +143,11 @@ public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } - // TODO: add tracing - public static boolean virtualCallNbBool(ConcolicRunContext context, VirtualPythonObject object) { - return nbBoolKt(context, object); + public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython symbol) { + withTracing(context, new NbBool(symbol), unit(() -> nbBoolKt(context, symbol.obj))); + } + + public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { + return virtualNbBoolKt(context, obj); } } diff --git a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java index f215ff0e24..7aed91bc04 100644 --- a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java +++ b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java @@ -3,10 +3,10 @@ import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject; public class VirtualPythonObject { - public InterpretedSymbolicPythonObject obj; - public SymbolForCPython symbol; - public VirtualPythonObject(InterpretedSymbolicPythonObject obj, SymbolForCPython symbol) { - this.obj = obj; - this.symbol = symbol; + public InterpretedSymbolicPythonObject interpretedObj; + public SymbolForCPython origin; + public VirtualPythonObject(InterpretedSymbolicPythonObject interpretedObj, SymbolForCPython origin) { + this.interpretedObj = interpretedObj; + this.origin = origin; } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 68005f4a93..9a8a9c3a4b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -44,8 +44,8 @@ object ConcretePythonInterpreter { fun concolicRun( globals: PythonNamespace, functionRef: PythonObject, - concreteArgs: Collection, - virtualArgs: List, + concreteArgs: List, + virtualArgs: Collection, symbolicArgs: List, ctx: ConcolicRunContext, printErrorMsg: Boolean = false @@ -53,8 +53,8 @@ object ConcretePythonInterpreter { val result = pythonAdapter.concolicRun( globals.address, functionRef.address, - concreteArgs.map { it?.address ?: 0L }.toLongArray(), - Array(virtualArgs.size) { virtualArgs[it] }, + concreteArgs.map { it.address }.toLongArray(), + virtualArgs.map { it.address }.toLongArray(), Array(symbolicArgs.size) { symbolicArgs[it] }, ctx, printErrorMsg @@ -64,6 +64,7 @@ object ConcretePythonInterpreter { return PythonObject(result) } + fun printPythonObject(pythonObject: PythonObject) { pythonAdapter.printPythonObject(pythonObject.address) } @@ -76,6 +77,27 @@ object ConcretePythonInterpreter { return pythonAdapter.getPythonObjectTypeName(pythonObject.address) } + fun allocateVirtualObject(virtualObject: VirtualPythonObject): PythonObject { + val ref = pythonAdapter.allocateVirtualObject(virtualObject) + if (ref == 0L) + throw CPythonExecutionException + return PythonObject(ref); + } + + fun typeHasNbBool(pythonObject: PythonObject): Boolean { + val result = pythonAdapter.typeHasNbBool(pythonObject.address) + if (result < 0) + error("Given Python object is not a type") + return result != 0 + } + + fun typeHasNbInt(pythonObject: PythonObject): Boolean { + val result = pythonAdapter.typeHasNbInt(pythonObject.address) + if (result < 0) + error("Given Python object is not a type") + return result != 0 + } + fun kill() { pythonAdapter.finalizePython() } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt deleted file mode 100644 index c37698cca4..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConverterToPythonObject.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.usvm.interpreter - -import org.usvm.UContext -import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonBool - -class ConverterToPythonObject(private val ctx: UContext) { - fun convert(obj: InterpretedSymbolicPythonObject): PythonObject? = - when (obj.getConcreteType()) { - null -> null - pythonInt -> convertInt(obj) - pythonBool -> convertBool(obj) - else -> TODO() - } - - private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = - ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx).toString()) - - private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject? = - when (obj.getBoolContent(ctx)) { - ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") - ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") - else -> null - } -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 04fbe98347..d1b6ee232d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -5,10 +5,13 @@ import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.operations.tracing.SymbolicHandlerEvent +import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase +import org.usvm.types.UTypeStream + class PythonExecutionState( private val ctx: UContext, private val pythonCallable: PythonUnpinnedCallable, @@ -17,7 +20,8 @@ class PythonExecutionState( memory: UMemoryBase, uModel: UModelBase, callStack: UCallStack> = UCallStack(), - path: PersistentList> = persistentListOf() + path: PersistentList> = persistentListOf(), + var delayedForks: PersistentList = persistentListOf() ): UState>(ctx, callStack, pathConstraints, memory, listOf(uModel), path) { override fun clone(newConstraints: UPathConstraints?): UState> { val newPathConstraints = newConstraints ?: pathConstraints.clone() @@ -30,10 +34,13 @@ class PythonExecutionState( newMemory, pyModel.uModel, callStack, - path + path, + delayedForks ) } + var extractedFrom: UPathSelector? = null + val pyModel: PyModel get() = PyModel(models.first()) @@ -41,4 +48,14 @@ class PythonExecutionState( var modelDied: Boolean = false val lastHandlerEvent: SymbolicHandlerEvent? get() = if (path.isEmpty()) null else path.last() -} \ No newline at end of file + + // TODO: here we will use Python type hints to prioritize concrete types + fun makeTypeRating(delayedFork: DelayedFork): UTypeStream { + return pyModel.uModel.typeStreamOf(pyModel.eval(delayedFork.symbol.obj.address)) + } +} + +data class DelayedFork( + val state: PythonExecutionState, + val symbol: SymbolForCPython +) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 5dfa30622e..a0ac4c4d96 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -2,10 +2,10 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInputObject import org.usvm.language.* -import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector @@ -59,10 +59,10 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = DfsPathSelector() - val initialState = getInitialState(target) - ps.add(listOf(initialState)) - return ps + val ps = PythonVirtualPathSelector(DfsPathSelector(), DfsPathSelector()) + val initialState = getInitialState(target) + ps.add(listOf(initialState)) + return ps } fun analyze( @@ -70,11 +70,12 @@ class PythonMachine( results: MutableList> ): Int { val observer = PythonMachineObserver() + val interpreter = getInterpreter(pythonCallable, results) run( - getInterpreter(pythonCallable, results), + interpreter, getPathSelector(pythonCallable), observer = observer, - isStateTerminated = { it.wasExecuted }, + isStateTerminated = { it.modelDied }, stopStrategy = { observer.stateCounter >= 10000 } ) return iterationCounter.iterations diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt new file mode 100644 index 0000000000..93b09486e1 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -0,0 +1,69 @@ +package org.usvm.interpreter + +import org.usvm.UPathSelector +import org.usvm.language.types.PythonType +import org.usvm.types.UTypeStream + +class PythonVirtualPathSelector( + private val basePathSelector: UPathSelector, + private val pathSelectorForStatesWithDelayedForks: UPathSelector +): UPathSelector { + private val delayedForks = mutableSetOf() + + override fun isEmpty(): Boolean { + return basePathSelector.isEmpty() && delayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty() + } + + override fun peek(): PythonExecutionState { + if (!basePathSelector.isEmpty()) { + val result = basePathSelector.peek() + result.extractedFrom = basePathSelector + return result + } + if (delayedForks.isNotEmpty()) { + TODO() + + } else if (!pathSelectorForStatesWithDelayedForks.isEmpty()) { + val result = pathSelectorForStatesWithDelayedForks.peek() + result.extractedFrom = pathSelectorForStatesWithDelayedForks + return result + + } else { + error("Not reachable") + } + } + + override fun update(state: PythonExecutionState) { + if (state.wasExecuted) { + state.extractedFrom?.remove(state) + state.delayedForks.forEach { + delayedForks.add(DelayedForkWithTypeRating(it, state.makeTypeRating(it))) + } + + } else { + state.extractedFrom?.update(state) + } + } + + override fun add(states: Collection) { + states.forEach { state -> + if (state.wasExecuted) + return@forEach + if (state.delayedForks.isEmpty()) { + basePathSelector.add(listOf(state)) + } else { + pathSelectorForStatesWithDelayedForks.add(listOf(state)) + } + } + } + + override fun remove(state: PythonExecutionState) { + state.extractedFrom?.remove(state) + } + +} + +data class DelayedForkWithTypeRating( + val delayedFork: DelayedFork, + val typeRating: UTypeStream +) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index f88a7f4c10..48ab411ac3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -2,12 +2,11 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.interpreter.operations.BadModelException -import org.usvm.interpreter.operations.myFork +import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython -import org.usvm.language.VirtualPythonObject class USVMPythonInterpreter( private val ctx: UContext, @@ -19,24 +18,16 @@ class USVMPythonInterpreter( private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { private val pinnedCallable = callable.reference(namespace) + private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableListOf() private fun getSeeds(state: PythonExecutionState, symbols: List): List = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } - private fun getConcrete(converter: ConverterToPythonObject, seeds: List): List = - seeds.map { seed -> converter.convert(seed) } + private fun getConcrete(converter: ConverterToPythonObject, seeds: List, symbols: List): List = + (seeds zip symbols).map { (seed, symbol) -> converter.convert(seed, symbol) } - private fun getVirtual(concrete: List, seeds: List, symbols: List): List = - (concrete zip seeds zip symbols).map { (p, symbol) -> - val (pythonObject, interpretedObject) = p - if (pythonObject != null) - null - else - VirtualPythonObject(interpretedObject, symbol) - } - - private fun getInputs(virtualObjects: List, concrete: List, seeds: List): List>? = - if (virtualObjects.all { it == null }) { + private fun getInputs(virtualObjects: Collection, concrete: List, seeds: List): List>? = + if (virtualObjects.isEmpty()) { val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) (seeds zip callable.signature zip serializedInputs).map { (p, z) -> val (x, y) = p @@ -46,24 +37,14 @@ class USVMPythonInterpreter( null } - private fun forkOnVirtualObjects(ctx: ConcolicRunContext, virtualObjects: List): Boolean { - val obj = virtualObjects.firstNotNullOfOrNull { it } ?: return false - val stream = ctx.curState.pyModel.uModel.types.typeStream(obj.obj.address) - if (stream.isEmpty) - return false - val candidate = stream.take(1).first() - myFork(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(obj.symbol.obj.address, candidate)) - return true - } - override fun step(state: PythonExecutionState): StepResult = with(ctx) { val concolicRunContext = ConcolicRunContext(state, ctx) try { val symbols = state.inputSymbols val seeds = getSeeds(state, symbols) val converter = ConverterToPythonObject(ctx) - val concrete = getConcrete(converter, seeds) - val virtualObjects = getVirtual(concrete, seeds, symbols) + val concrete = getConcrete(converter, seeds, symbols) + val virtualObjects = converter.getVirtualObjects() val inputs = getInputs(virtualObjects, concrete, seeds) try { val result = ConcretePythonInterpreter.concolicRun( @@ -85,15 +66,19 @@ class USVMPythonInterpreter( saveRunResult(PythonAnalysisResult(converter, inputs, Fail())) } - val madeFork = forkOnVirtualObjects(concolicRunContext, virtualObjects) - concolicRunContext.curState.wasExecuted = !madeFork + concolicRunContext.curState.wasExecuted = true iterationCounter.iterations += 1 - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted && !state.modelDied) + + if (concolicRunContext.curState.delayedForks.isEmpty() && inputs == null) { + executionsWithVirtualObjectAndWithoutDelayedForks.add(concolicRunContext.curState) + } + + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) } catch (_: BadModelException) { iterationCounter.iterations += 1 - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.wasExecuted && !state.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt new file mode 100644 index 0000000000..9b46b60b65 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -0,0 +1,9 @@ +package org.usvm.interpreter.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.language.types.HasNbBool + +fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + on.addSupertype(context, HasNbBool) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 797a4691e7..b6568e2538 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -4,7 +4,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.VirtualPythonObject -fun nbBoolKt(context: ConcolicRunContext, obj: VirtualPythonObject): Boolean { - val symbolicValue = obj.symbol.obj.getBoolContent(context) - return context.curState.pyModel.eval(symbolicValue).isTrue +fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { + return context.curState.pyModel.eval(on.origin.obj.getBoolContent(context)).isTrue } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 1d0005ed63..2e7ca254b1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -16,6 +16,7 @@ data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHa data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() +data class NbBool(val on: SymbolForCPython): SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt new file mode 100644 index 0000000000..22532a0ed4 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt @@ -0,0 +1,61 @@ +package org.usvm.interpreter.symbolicobjects + +import org.usvm.UConcreteHeapRef +import org.usvm.UContext +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.emptyNamespace +import org.usvm.language.SymbolForCPython +import org.usvm.language.VirtualPythonObject +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonBool + +class ConverterToPythonObject(private val ctx: UContext) { + private val constructedObjects = mutableMapOf() + private val virtualObjects = mutableMapOf>() + fun restart() { + constructedObjects.clear() + virtualObjects.clear() + } + + fun getVirtualObjects(): Collection = virtualObjects.values.map { it.second } + + fun convert( + obj: InterpretedSymbolicPythonObject, + symbol: SymbolForCPython? = null, + //concolicRunContext: ConcolicRunContext? = null + ): PythonObject { + val cached = constructedObjects[obj.address] + if (cached != null) + return cached + val result = when (obj.getConcreteType()) { + null -> constructVirtualObject( + obj, + symbol ?: error("Symbol must not be null if virtual object creation is possible") + ) + pythonInt -> convertInt(obj) + pythonBool -> convertBool(obj) + else -> TODO() + } + constructedObjects[obj.address] = result + return result + } + + private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject, symbol: SymbolForCPython): PythonObject { + val virtual = VirtualPythonObject(obj, symbol) + val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) + virtualObjects[obj.address] = virtual to result + return result + } + + private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = + ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx).toString()) + + private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject = + when (obj.getBoolContent(ctx)) { + ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") + ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") + else -> error("Not reachable") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 8b5380eac4..1f03e7868f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -6,11 +6,9 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.PyModel -import org.usvm.interpreter.PythonExecutionState import org.usvm.interpreter.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* -import org.usvm.memory.UMemoryBase sealed class SymbolicPythonObject(open val address: UHeapRef) { override fun equals(other: Any?): Boolean { @@ -37,18 +35,18 @@ sealed class SymbolicPythonObject(open val address: UHeapRef) { } class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject(address) { - private fun addTypeConstraint(ctx: ConcolicRunContext, type: PythonType) { + fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, type)) } fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { - addTypeConstraint(ctx, pythonInt) + addSupertype(ctx, pythonInt) val lvalue = UFieldLValue(expr.sort, address, IntContent) ctx.curState.memory.write(lvalue, expr) } fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { - addTypeConstraint(ctx, pythonBool) + addSupertype(ctx, pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContent) ctx.curState.memory.write(lvalue, expr) } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 4653d798c8..94671487fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -5,32 +5,35 @@ import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem object PythonTypeSystem: UTypeSystem { - override fun isSupertype(u: PythonType, t: PythonType): Boolean { // TODO - if (u == PythonAnyType) - return true - if (u == HasNbBool) - return t == HasNbBool || t == pythonBool + override fun isSupertype(u: PythonType, t: PythonType): Boolean { + if (u is VirtualPythonType) + return u.accepts(t) return u == t } - override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { // TODO - return t == PythonAnyType + override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { + return t !is ConcretePythonType } - override fun isFinal(t: PythonType): Boolean { // TODO - return t != PythonAnyType && t != HasNbBool + override fun isFinal(t: PythonType): Boolean { + return t is ConcretePythonType } override fun isInstantiable(t: PythonType): Boolean { return t is ConcretePythonType } + private val basicConcretePythonTypes = listOf( + pythonInt, + pythonBool, + pythonObjectType, + pythonNoneType + ) + override fun findSubtypes(t: PythonType): Sequence { - if (t == PythonAnyType) - return sequenceOf(pythonInt, pythonBool) - if (t == HasNbBool) - return sequenceOf(pythonBool) - return sequenceOf() + if (t is ConcretePythonType) + return emptySequence() + return basicConcretePythonTypes.filter { isSupertype(t, it) }.asSequence() } override fun topTypeStream(): UTypeStream { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 7632c6b225..20afc226e6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -3,13 +3,12 @@ package org.usvm.language.types import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonObject import org.usvm.interpreter.emptyNamespace -import org.usvm.types.USupportTypeStream -import org.usvm.types.UTypeStream -import org.usvm.types.UTypeSystem sealed class PythonType -open class VirtualPythonType: PythonType() +abstract class VirtualPythonType: PythonType() { + abstract fun accepts(type: PythonType): Boolean +} data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() @@ -19,4 +18,6 @@ val pythonInt = createConcreteType("int") val pythonBool = createConcreteType("bool") val pythonObjectType = createConcreteType("object") val pythonNoneType = ConcretePythonType("NoneType", ConcretePythonInterpreter.eval(emptyNamespace, "type(None)")) -val pythonTypeType = createConcreteType("type") \ No newline at end of file +val pythonTypeType = createConcreteType("type") +val pythonList = createConcreteType("list") +val pythonTuple = createConcreteType("tuple") \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 4d078e997d..bf838a1c68 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -1,7 +1,28 @@ package org.usvm.language.types -object PythonAnyType: VirtualPythonType() +import org.usvm.interpreter.ConcretePythonInterpreter -sealed class TypeProtocol: VirtualPythonType() +object PythonAnyType: VirtualPythonType() { + override fun accepts(type: PythonType): Boolean = true +} -object HasNbBool: TypeProtocol() \ No newline at end of file +sealed class TypeProtocol: VirtualPythonType() { + abstract fun acceptsConcrete(type: ConcretePythonType): Boolean + override fun accepts(type: PythonType): Boolean { + if (type == this) + return true + if (type !is ConcretePythonType) + return false + return acceptsConcrete(type) + } +} + +object HasNbBool: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbBool(type.asObject) +} + +object HasNbInt: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbInt(type.asObject) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 555297cc52..59b9b53d55 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -39,7 +39,8 @@ open class PythonTestRunner(sourcePath: String) : TestRunner Date: Thu, 20 Jul 2023 19:33:27 +0300 Subject: [PATCH 037/344] Added type concretization for completed executions --- .../src/main/c/virtual_objects.c | 13 +++- .../src/main/json/handler_defs.json | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 5 ++ .../usvm/interpreter/PythonExecutionState.kt | 3 + .../org/usvm/interpreter/PythonMachine.kt | 5 +- .../interpreter/PythonVirtualPathSelector.kt | 70 ++++++++++++++++++- .../usvm/interpreter/USVMPythonInterpreter.kt | 12 +++- .../usvm/interpreter/operations/Virtual.kt | 8 +++ .../ConverterToPythonObject.kt | 11 +-- .../symbolicobjects/ObjectValidator.kt | 56 +++++++++++++++ .../symbolicobjects/SymbolicPythonObject.kt | 6 +- usvm-python/src/main/kotlin/test.kt | 41 +++-------- .../usvm/samples/SimpleTypeInferenceTest.kt | 40 +++++++++++ .../resources/samples/SimpleTypeInference.py | 18 ++++- 14 files changed, 244 insertions(+), 49 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 4f1ce1b06f..7b28654b1d 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -37,10 +37,21 @@ nb_bool(PyObject *self) { ConcolicContext *ctx = obj->ctx; adapter->ignore = 1; jboolean result = (*ctx->env)->CallStaticBooleanMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_nb_bool, ctx->context, obj->reference); + CHECK_FOR_EXCEPTION(obj->ctx, -1) adapter->ignore = 0; return (int) result; } +static PyObject * +nb_int(PyObject *self) { + VirtualPythonObject *obj = (VirtualPythonObject *) self; + obj->adapter->ignore = 1; + jlong result = (*obj->ctx->env)->CallStaticLongMethod(obj->ctx->env, obj->ctx->cpython_adapter_cls, obj->ctx->handle_virtual_nb_int, obj->ctx->context, obj->reference); + obj->adapter->ignore = 0; + CHECK_FOR_EXCEPTION(obj->ctx, 0) + return (PyObject *) result; +} + static PyNumberMethods virtual_as_number = { 0, /*nb_add*/ 0, /*nb_subtract*/ @@ -58,7 +69,7 @@ static PyNumberMethods virtual_as_number = { 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ - 0, /*nb_int*/ + nb_int, /*nb_int*/ 0, /*nb_reserved*/ 0, /*nb_float*/ 0, /* nb_inplace_add */ diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 15cab0d97b..f8b638227a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -98,5 +98,10 @@ "c_name": "virtual_nb_bool", "java_name": "virtualNbBool", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)Z" + }, + { + "c_name": "virtual_nb_int", + "java_name": "virtualNbInt", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)J" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 95fe99a639..6fc17436ed 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -17,6 +17,7 @@ import static org.usvm.interpreter.operations.LongKt.*; import static org.usvm.interpreter.operations.MethodNotificationsKt.nbBoolKt; import static org.usvm.interpreter.operations.VirtualKt.virtualNbBoolKt; +import static org.usvm.interpreter.operations.VirtualKt.virtualNbIntKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; @@ -150,4 +151,8 @@ public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython sym public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); } + + public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject obj) { + return virtualNbIntKt(context, obj).getAddress(); + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index d1b6ee232d..7a25f6bfb3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -53,6 +53,9 @@ class PythonExecutionState( fun makeTypeRating(delayedFork: DelayedFork): UTypeStream { return pyModel.uModel.typeStreamOf(pyModel.eval(delayedFork.symbol.obj.address)) } + + var symbolsWithoutConcreteTypes: Collection? = null + var fromStateWithVirtualObjectAndWithoutDelayedForks: PythonExecutionState? = null } data class DelayedFork( diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index a0ac4c4d96..a6b3771738 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -59,7 +59,7 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(DfsPathSelector(), DfsPathSelector()) + val ps = PythonVirtualPathSelector(DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps @@ -71,9 +71,10 @@ class PythonMachine( ): Int { val observer = PythonMachineObserver() val interpreter = getInterpreter(pythonCallable, results) + val pathSelector = getPathSelector(pythonCallable) run( interpreter, - getPathSelector(pythonCallable), + pathSelector, observer = observer, isStateTerminated = { it.modelDied }, stopStrategy = { observer.stateCounter >= 10000 } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt index 93b09486e1..d52453f3ec 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -1,20 +1,65 @@ package org.usvm.interpreter import org.usvm.UPathSelector +import org.usvm.fork +import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.PythonType import org.usvm.types.UTypeStream +import org.usvm.types.takeFirst class PythonVirtualPathSelector( private val basePathSelector: UPathSelector, - private val pathSelectorForStatesWithDelayedForks: UPathSelector -): UPathSelector { + private val pathSelectorForStatesWithDelayedForks: UPathSelector, + private val pathSelectorForStatesWithConcretizedTypes: UPathSelector +) : UPathSelector { private val delayedForks = mutableSetOf() + private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() override fun isEmpty(): Boolean { return basePathSelector.isEmpty() && delayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty() + && executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty() && pathSelectorForStatesWithConcretizedTypes.isEmpty() + } + + private fun generateStateWithConcretizedType(): PythonExecutionState? { + if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) + return null + val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() + val symbol = state.symbolsWithoutConcreteTypes!!.first() + val obj = interpretSymbolicPythonObject(symbol.obj, state.pyModel) + val typeStream = state.pyModel.uModel.types.typeStream(obj.address) + if (typeStream.isEmpty) { + executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) + return generateStateWithConcretizedType() + } + val type = typeStream.takeFirst() + val forkResult = fork(state, state.pathConstraints.typeConstraints.evalIs(symbol.obj.address, type)) + executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) + val stateWithRemainingTypes = forkResult.negativeState + if (stateWithRemainingTypes != null) { + stateWithRemainingTypes.symbolsWithoutConcreteTypes = state.symbolsWithoutConcreteTypes!! + executionsWithVirtualObjectAndWithoutDelayedForks.add(stateWithRemainingTypes) + } + + require(forkResult.positiveState != null) + + val result = forkResult.positiveState!! + result.fromStateWithVirtualObjectAndWithoutDelayedForks = stateWithRemainingTypes + result.extractedFrom = null + result.wasExecuted = false + return result } override fun peek(): PythonExecutionState { + if (!pathSelectorForStatesWithConcretizedTypes.isEmpty()) { + val result = pathSelectorForStatesWithConcretizedTypes.peek() + result.extractedFrom = pathSelectorForStatesWithConcretizedTypes + return result + } + val stateWithConcreteType = generateStateWithConcretizedType() + if (stateWithConcreteType != null) { + pathSelectorForStatesWithConcretizedTypes.add(listOf(stateWithConcreteType)) + return peek() + } if (!basePathSelector.isEmpty()) { val result = basePathSelector.peek() result.extractedFrom = basePathSelector @@ -34,6 +79,15 @@ class PythonVirtualPathSelector( } override fun update(state: PythonExecutionState) { + if (state.symbolsWithoutConcreteTypes != null) { + require(state.wasExecuted) + executionsWithVirtualObjectAndWithoutDelayedForks.add(state) + } + if (state.wasExecuted && !state.modelDied) { + state.fromStateWithVirtualObjectAndWithoutDelayedForks?.let { + executionsWithVirtualObjectAndWithoutDelayedForks.remove(it) + } + } if (state.wasExecuted) { state.extractedFrom?.remove(state) state.delayedForks.forEach { @@ -47,8 +101,18 @@ class PythonVirtualPathSelector( override fun add(states: Collection) { states.forEach { state -> - if (state.wasExecuted) + if (state.wasExecuted && !state.modelDied) { + state.fromStateWithVirtualObjectAndWithoutDelayedForks?.let { + executionsWithVirtualObjectAndWithoutDelayedForks.remove(it) + } + } + if (state.symbolsWithoutConcreteTypes != null) { + require(state.wasExecuted) + executionsWithVirtualObjectAndWithoutDelayedForks.add(state) + } + if (state.wasExecuted) { return@forEach + } if (state.delayedForks.isEmpty()) { basePathSelector.add(listOf(state)) } else { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 48ab411ac3..c295bdb209 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -4,6 +4,7 @@ import org.usvm.* import org.usvm.interpreter.operations.BadModelException import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.ObjectValidator import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython @@ -18,7 +19,6 @@ class USVMPythonInterpreter( private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { private val pinnedCallable = callable.reference(namespace) - private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableListOf() private fun getSeeds(state: PythonExecutionState, symbols: List): List = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } @@ -39,13 +39,21 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { val concolicRunContext = ConcolicRunContext(state, ctx) + state.symbolsWithoutConcreteTypes = null try { + val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols + symbols.forEach { validator.check(it.obj) } val seeds = getSeeds(state, symbols) val converter = ConverterToPythonObject(ctx) val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getVirtualObjects() val inputs = getInputs(virtualObjects, concrete, seeds) + + /*println("INPUTS:") + concrete.forEach { println(ConcretePythonInterpreter.getPythonObjectRepr(it)) } + System.out.flush()*/ + try { val result = ConcretePythonInterpreter.concolicRun( namespace, @@ -70,7 +78,7 @@ class USVMPythonInterpreter( iterationCounter.iterations += 1 if (concolicRunContext.curState.delayedForks.isEmpty() && inputs == null) { - executionsWithVirtualObjectAndWithoutDelayedForks.add(concolicRunContext.curState) + concolicRunContext.curState.symbolsWithoutConcreteTypes = converter.getSymbolsWithoutConcreteTypes() } return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index b6568e2538..66d3e468c2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -1,9 +1,17 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.emptyNamespace import org.usvm.isTrue import org.usvm.language.VirtualPythonObject fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { return context.curState.pyModel.eval(on.origin.obj.getBoolContent(context)).isTrue +} + +fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { + val expr = context.curState.pyModel.eval(on.origin.obj.getIntContent(context)) + return ConcretePythonInterpreter.eval(emptyNamespace, expr.toString()) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt index 22532a0ed4..2609c647ff 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt @@ -8,18 +8,19 @@ import org.usvm.interpreter.PythonObject import org.usvm.interpreter.emptyNamespace import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonBool +import org.usvm.language.types.* +import org.usvm.types.UTypeStream class ConverterToPythonObject(private val ctx: UContext) { private val constructedObjects = mutableMapOf() - private val virtualObjects = mutableMapOf>() + private val virtualObjects = mutableMapOf>() fun restart() { constructedObjects.clear() virtualObjects.clear() } fun getVirtualObjects(): Collection = virtualObjects.values.map { it.second } + fun getSymbolsWithoutConcreteTypes(): Collection = virtualObjects.keys fun convert( obj: InterpretedSymbolicPythonObject, @@ -36,6 +37,8 @@ class ConverterToPythonObject(private val ctx: UContext) { ) pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) + pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") + pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") else -> TODO() } constructedObjects[obj.address] = result @@ -45,7 +48,7 @@ class ConverterToPythonObject(private val ctx: UContext) { private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject, symbol: SymbolForCPython): PythonObject { val virtual = VirtualPythonObject(obj, symbol) val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) - virtualObjects[obj.address] = virtual to result + virtualObjects[symbol] = virtual to result return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt new file mode 100644 index 0000000000..5c18f5d01d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt @@ -0,0 +1,56 @@ +package org.usvm.interpreter.symbolicobjects + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.operations.myAssert +import org.usvm.language.types.pythonBool +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonNoneType + +class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { + fun check(symbol: UninterpretedSymbolicPythonObject) { + val model = concolicRunContext.curState.pyModel + val concrete = interpretSymbolicPythonObject(symbol, model) + with(concolicRunContext.ctx) { + myAssert(concolicRunContext, mkHeapRefEq(symbol.address, nullRef).not()) + } + when (concrete.getConcreteType()) { + pythonInt -> checkInt(symbol) + pythonNoneType -> checkNone(symbol) + pythonBool -> checkBool(symbol) + } + } + + private fun checkInt(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { + val cond = (symbolic.getIntContent(concolicRunContext) eq mkIntNum(0)) xor symbolic.getBoolContent(concolicRunContext) + myAssert(concolicRunContext, cond) + } + + private fun checkNone(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { + myAssert(concolicRunContext, symbolic.getBoolContent(concolicRunContext).not()) + } + + private fun checkBool(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { + val isTrue = symbolic.getBoolContent(concolicRunContext) + val isFalse = isTrue.not() + val asInt = symbolic.getIntContent(concolicRunContext) + myAssert(concolicRunContext, isTrue implies (asInt eq mkIntNum(1))) + myAssert(concolicRunContext, isFalse implies (asInt eq mkIntNum(0))) + } + + /* + private fun checkList(symbolic: UninterpretedSymbolicPythonObject, concrete: InterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { + @Suppress("unchecked_cast") + val symbolicSize = concolicRunContext.curState.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr + myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) + val size = concrete.model.eval(symbolicSize) as KInt32NumExpr + List(size.value) { index -> + @Suppress("unchecked_cast") + val element = concolicRunContext.curState.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef + myAssert(concolicRunContext, (symbolicSize gt mkIntNum(index)) implies mkNot(mkHeapRefEq(element, nullRef))) + val elemObj = UninterpretedSymbolicPythonObject(element) + //elemObj.assertIsExactly(concolicRunContext, pythonInt) // temporary + check(elemObj) + } + } + */ +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 1f03e7868f..4f517b6d6e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -22,7 +22,7 @@ sealed class SymbolicPythonObject(open val address: UHeapRef) { } open fun getIntContent(ctx: ConcolicRunContext): UExpr { - myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, pythonInt)) + myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, HasNbInt)) @Suppress("unchecked_cast") return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr } @@ -54,11 +54,11 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject class InterpretedSymbolicPythonObject( override val address: UConcreteHeapRef, - private val model: PyModel + val model: PyModel ): SymbolicPythonObject(address) { fun getConcreteType(): ConcretePythonType? = model.getConcreteType(address) fun getIntContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == pythonInt) + require(getConcreteType() == pythonInt) // TODO: types with nb_int ? return model.readField(address, IntContent, ctx.intSort) } diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 3c00361d4e..8edafed56c 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -6,45 +6,20 @@ import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt fun main() { - /*ConcretePythonInterpreter.printPythonObject(pythonNoneType.asObject) - ConcretePythonInterpreter.printPythonObject(pythonObjectType.asObject) - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun( - namespace, - """ - class A: pass - - class B: - def __init__(self, x): - self.x = x - - class C: - def __new__(cls): - pass - - class D: - def __new__(cls, x): - pass - """.trimIndent() - ) - val classA = ConcretePythonInterpreter.eval(namespace, "A") - val classB = ConcretePythonInterpreter.eval(namespace, "B") - val classC = ConcretePythonInterpreter.eval(namespace, "C") - val classD = ConcretePythonInterpreter.eval(namespace, "D") - ConcretePythonInterpreter.printPythonObject(classA) - ConcretePythonInterpreter.printPythonObject(classB) - ConcretePythonInterpreter.printPythonObject(classC) - ConcretePythonInterpreter.printPythonObject(classD)*/ val program = PythonProgram( """ - def f(x): - if x: + def f(x, y): + if x and y: return 1 - else: + elif x: return 2 + elif y: + return 3 + else: + return 4 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 470818a59c..5ee67f8500 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -2,6 +2,9 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.types.PythonAnyType +import org.usvm.language.types.pythonNoneType +import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py") { @@ -18,4 +21,41 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py } ) } + + private val functionIntConvertationAny = constructFunction("int_convertation", List(1) { PythonAnyType }) + @Test + fun testIntConvertationAny() { + check1WithConcreteRun( + functionIntConvertationAny, + ge(1), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { _, res -> res != null }, + /* propertiesToDiscover = */ emptyList() + ) + } + + private val functionIntConvertationNone = constructFunction("int_convertation", List(1) { pythonNoneType }) + @Test + fun testIntConvertationNone() { + check1( + functionIntConvertationNone, + eq(1), + /* invariants = */ listOf { _, res -> res == null }, + /* propertiesToDiscover = */ emptyList() + ) + } + + private val functionTwoArgs = constructFunction("two_args", List(2) { PythonAnyType }) + @Test + fun testTwoArgs() { + check2WithConcreteRun( + functionTwoArgs, + ge(4), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { _, _, res -> res != null }, + /* propertiesToDiscover = */ List(4) { index -> + { _, _, res -> res!!.repr == (index + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index dd37fc198a..a59b51acaa 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -2,4 +2,20 @@ def bool_input(x): if x: return 1 else: - return 2 \ No newline at end of file + return 2 + + +def int_convertation(x): + y = int(x) + return y + + +def two_args(x, y): + if x and y: + return 1 + elif x: + return 2 + elif y: + return 3 + else: + return 4 \ No newline at end of file From 1dbe4eedeba8f970c222fc1086091f44673cfd54 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 21 Jul 2023 14:32:34 +0300 Subject: [PATCH 038/344] Added lists --- .../src/main/kotlin/org/usvm/Expressions.kt | 16 +-- .../c/org_usvm_interpreter_CPythonAdapter.c | 13 +- .../c/org_usvm_interpreter_CPythonAdapter.h | 16 ++- .../src/main/c/symbolic_handler.c | 115 +++++++++++++--- usvm-python/cpythonadapter/src/main/c/utils.c | 1 + usvm-python/cpythonadapter/src/main/c/utils.h | 1 + .../src/main/json/handler_defs.json | 30 ++++ .../org/usvm/interpreter/CPythonAdapter.java | 32 ++++- .../interpreter/ConcretePythonInterpreter.kt | 8 +- .../usvm/interpreter/PythonExecutionState.kt | 3 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 23 +++- .../usvm/interpreter/operations/Constants.kt | 16 ++- .../usvm/interpreter/operations/Control.kt | 12 +- .../org/usvm/interpreter/operations/List.kt | 104 ++++++++++++++ .../org/usvm/interpreter/operations/Long.kt | 30 ++-- .../operations/tracing/PathTracing.kt | 13 +- .../tracing/SymbolicHandlerEvent.kt | 2 + .../ConverterToPythonObject.kt | 24 +++- .../symbolicobjects/ObjectValidator.kt | 11 +- usvm-python/src/main/kotlin/test.kt | 16 +-- .../org/usvm/samples/PythonTestRunner.kt | 3 +- .../org/usvm/samples/SimpleListsTest.kt | 129 ++++++++++++++++++ .../src/test/resources/samples/SimpleLists.py | 63 +++++++++ 23 files changed, 588 insertions(+), 93 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt create mode 100644 usvm-python/src/test/resources/samples/SimpleLists.py diff --git a/usvm-core/src/main/kotlin/org/usvm/Expressions.kt b/usvm-core/src/main/kotlin/org/usvm/Expressions.kt index 0b8a0e3af3..24d91e3f39 100644 --- a/usvm-core/src/main/kotlin/org/usvm/Expressions.kt +++ b/usvm-core/src/main/kotlin/org/usvm/Expressions.kt @@ -3,19 +3,7 @@ package org.usvm import io.ksmt.cache.hash import io.ksmt.cache.structurallyEqual import io.ksmt.decl.KConstDecl -import io.ksmt.expr.KAndExpr -import io.ksmt.expr.KApp -import io.ksmt.expr.KBitVec32Value -import io.ksmt.expr.KBitVec64Value -import io.ksmt.expr.KEqExpr -import io.ksmt.expr.KExpr -import io.ksmt.expr.KFalse -import io.ksmt.expr.KIntNumExpr -import io.ksmt.expr.KInterpretedValue -import io.ksmt.expr.KIteExpr -import io.ksmt.expr.KNotExpr -import io.ksmt.expr.KOrExpr -import io.ksmt.expr.KTrue +import io.ksmt.expr.* import io.ksmt.expr.printer.ExpressionPrinter import io.ksmt.expr.transformer.KTransformerBase import io.ksmt.sort.KBoolSort @@ -50,7 +38,7 @@ typealias UIntepretedValue = KInterpretedValue typealias UConcreteInt = KIntNumExpr typealias UConcreteInt32 = KBitVec32Value typealias UConcreteInt64 = KBitVec64Value -typealias UConcreteSize = KBitVec32Value +typealias UConcreteSize = KInt32NumExpr typealias UAddressSort = KUninterpretedSort diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 7a306b6927..8c8c2bf1b6 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -67,7 +67,6 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef( JNIEnv *env, jobject cpython_adapter, - jlong globals, jlong function_ref, jlongArray concrete_args ) { @@ -91,7 +90,6 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEnv *env, jobject cpython_adapter, - jlong globals, jlong function_ref, jlongArray concrete_args, jlongArray virtual_args, @@ -144,6 +142,17 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtual return (jlong) allocate_raw_virtual_object(env, virtual_object); } +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList(JNIEnv *env, jobject cpython_adapter, jlongArray elements) { + int size = (*env)->GetArrayLength(env, elements); + PyObject *result = PyList_New(size); + jlong *addresses = (*env)->GetLongArrayElements(env, elements, 0); + for (int i = 0; i < size; i++) { + PyList_SetItem(result, i, (PyObject *) addresses[i]); + } + (*env)->ReleaseLongArrayElements(env, elements, addresses, 0); + return (jlong) result; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool(JNIEnv *env, jobject cpython_adapter, jlong type_ref) { if (Py_TYPE(type_ref) != &PyType_Type) return -1; diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 0aa8a3aad7..880b056211 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -50,18 +50,18 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRunOnFunctionRef - * Signature: (JJ[J)J + * Signature: (J[J)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef - (JNIEnv *, jobject, jlong, jlong, jlongArray); + (JNIEnv *, jobject, jlong, jlongArray); /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (JJ[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J + * Signature: (J[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlong, jlongArray, jlongArray, jobjectArray, jobject, jboolean); + (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jobjectArray, jobject, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter @@ -95,6 +95,14 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject (JNIEnv *, jobject, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: makeList + * Signature: ([J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList + (JNIEnv *, jobject, jlongArray); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasNbBool diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 2eee22d229..7fd2f3acc1 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -2,7 +2,7 @@ #include "utils.h" #include "virtual_objects.h" -#define BINARY_INT_HANDLER(func) \ +#define BINARY_METHOD_HANDLER(func) \ PyObject *left = args[0], *right = args[1]; \ if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ return Py_None; \ @@ -15,6 +15,41 @@ PyObject *r = wrap_java_object(ctx->env, result); \ return r; +static jobject +make_load_const(ConcolicContext *ctx, PyObject *value) { + if (PyLong_Check(value)) { + int overflow; + long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); + if (overflow) + return 0; + + jobject result; + CALL_JAVA_METHOD_CUSTOM_FAIL(0, result, ctx, load_const_long, ctx->context, value_as_long) + + return result; + + } else if (PyTuple_Check(value)) { + + int n = PyTuple_GET_SIZE(value); + jobjectArray args = (*ctx->env)->NewObjectArray(ctx->env, n, ctx->symbol_cls, 0); + + for (int i = 0; i < n; i++) { + jobject elem = make_load_const(ctx, PyTuple_GetItem(value, i)); + if (!elem) { + return 0; + } + (*ctx->env)->SetObjectArrayElement(ctx->env, args, i, elem); + } + + jobject result; + CALL_JAVA_METHOD_CUSTOM_FAIL(0, result, ctx, load_const_tuple, ctx->context, args) + + return result; + + } else { + return 0; + } +} PyObject * handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { @@ -22,17 +57,11 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * if (signal_id == SYM_EVENT_ID_CONST) { assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); - PyObject *value = args[0]; - if (!PyLong_Check(value)) - return Py_None; - int overflow; - long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); - if (overflow) + jobject result = make_load_const(ctx, value); + if (!result) return Py_None; - jobject result; - CALL_JAVA_METHOD(result, ctx, load_const_long, ctx->context, value_as_long) return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); } else if (signal_id == SYM_EVENT_ID_FORK) { @@ -51,53 +80,53 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * } else if (signal_id == SYM_EVENT_ID_INT_GT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(gt_long) + BINARY_METHOD_HANDLER(gt_long) } else if (signal_id == SYM_EVENT_ID_INT_LT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(lt_long) + BINARY_METHOD_HANDLER(lt_long) } else if (signal_id == SYM_EVENT_ID_INT_EQ) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(eq_long) + BINARY_METHOD_HANDLER(eq_long) } else if (signal_id == SYM_EVENT_ID_INT_NE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(ne_long) + BINARY_METHOD_HANDLER(ne_long) } else if (signal_id == SYM_EVENT_ID_INT_LE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(le_long) + BINARY_METHOD_HANDLER(le_long) } else if (signal_id == SYM_EVENT_ID_INT_GE) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(ge_long) + BINARY_METHOD_HANDLER(ge_long) } else if (signal_id == SYM_EVENT_ID_INT_ADD) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(add_long) + BINARY_METHOD_HANDLER(add_long) } else if (signal_id == SYM_EVENT_ID_INT_SUB) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(sub_long) + BINARY_METHOD_HANDLER(sub_long) } else if (signal_id == SYM_EVENT_ID_INT_MULT) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(mul_long) + BINARY_METHOD_HANDLER(mul_long) } else if (signal_id == SYM_EVENT_ID_INT_FLOORDIV) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(div_long) + BINARY_METHOD_HANDLER(div_long) } else if (signal_id == SYM_EVENT_ID_INT_REM) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_INT_HANDLER(rem_long) + BINARY_METHOD_HANDLER(rem_long) } else if (signal_id == SYM_EVENT_ID_INT_POW) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 3); if (args[2] != Py_None) return Py_None; - BINARY_INT_HANDLER(pow_long) + BINARY_METHOD_HANDLER(pow_long) } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); @@ -109,6 +138,50 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * return Py_None; + } else if (signal_id == SYM_EVENT_ID_CREATE_LIST) { + assert(signal_type == SYM_EVENT_TYPE_STACK && nargs >= 0); + + //printf("BUILD_LIST!\n"); + //fflush(stdout); + + jobjectArray symbol_array = (*ctx->env)->NewObjectArray(ctx->env, nargs, ctx->symbol_cls, 0); + for (int i = 0; i < nargs; i++) { + if (!is_wrapped_java_object(args[i])) + return Py_None; + + jobject elem = ((JavaPythonObject *) args[i])->reference; + (*ctx->env)->SetObjectArrayElement(ctx->env, symbol_array, i, elem); + } + + jobject result; + CALL_JAVA_METHOD(result, ctx, create_list, ctx->context, symbol_array); + return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); + + } else if (signal_id == SYM_EVENT_ID_LIST_GET_ITEM) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_METHOD_HANDLER(list_get_item) + + } else if (signal_id == SYM_EVENT_ID_LIST_SET_ITEM) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 3); + + if (!is_wrapped_java_object(args[0]) || !is_wrapped_java_object(args[1]) || !is_wrapped_java_object(args[2])) + return Py_None; + + jobject self = ((JavaPythonObject *) args[0])->reference; + jobject o1 = ((JavaPythonObject *) args[1])->reference; + jobject o2 = ((JavaPythonObject *) args[2])->reference; + + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_list_set_item, ctx->context, signal_id, self, o1, o2); + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) + + } else if (signal_id == SYM_EVENT_ID_LIST_EXTEND) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_METHOD_HANDLER(list_extend) + + } else if (signal_id == SYM_EVENT_ID_LIST_APPEND) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_METHOD_HANDLER(list_append) + } else if (signal_id == SYM_EVENT_ID_PYTHON_FUNCTION_CALL) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); // TODO diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index cc33ef13fc..ac6a28db9c 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -67,6 +67,7 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->context = context; dist->cpython_adapter = cpython_adapter; dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); + dist->symbol_cls = (*env)->FindClass(env, "Lorg/usvm/language/SymbolForCPython;"); DO_REGISTRATIONS(dist, env) } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 5c6e1de4aa..3013218f2a 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -25,6 +25,7 @@ typedef struct { JNIEnv *env; jclass cpython_adapter_cls; jobject cpython_adapter; + jclass symbol_cls; HANDLERS_DEFS } ConcolicContext; diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index f8b638227a..26f80567a0 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -74,6 +74,36 @@ "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "create_list", + "java_name": "handlerCreateList", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_get_item", + "java_name": "handlerListGetItem", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_set_item", + "java_name": "handlerListSetItem", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, + { + "c_name": "load_const_tuple", + "java_name": "handlerLoadConstTuple", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_extend", + "java_name": "handlerListExtend", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_append", + "java_name": "handlerListAppend", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "function_call", "java_name": "handlerFunctionCall", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 6fc17436ed..9bcc7fac48 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -13,7 +13,9 @@ import java.util.function.Supplier; import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; +import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstTupleKt; import static org.usvm.interpreter.operations.ControlKt.*; +import static org.usvm.interpreter.operations.ListKt.*; import static org.usvm.interpreter.operations.LongKt.*; import static org.usvm.interpreter.operations.MethodNotificationsKt.nbBoolKt; import static org.usvm.interpreter.operations.VirtualKt.virtualNbBoolKt; @@ -29,12 +31,13 @@ public class CPythonAdapter { public native long getNewNamespace(); // returns reference to a new dict public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String obj); // returns PyObject * - public native long concreteRunOnFunctionRef(long globals, long functionRef, long[] concreteArgs); - public native long concolicRun(long globals, long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); + public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs); + public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); public native long allocateVirtualObject(VirtualPythonObject object); + public native long makeList(long[] elements); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); @@ -79,6 +82,10 @@ public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, return withTracing(context, new LoadConstParameters(value), () -> wrap(handlerLoadConstLongKt(context, value))); } + public static SymbolForCPython handlerLoadConstTuple(ConcolicRunContext context, SymbolForCPython[] elements) { + return withTracing(context, new LoadConstParameters(Arrays.asList(elements)), () -> wrap(handlerLoadConstTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); + } + public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } @@ -135,6 +142,27 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int me return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { + ListCreation event = new ListCreation(Arrays.asList(elements)); + return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + } + + public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython index) { + return methodWrapper(context, methodId, Arrays.asList(list, index), () -> handlerListGetItemKt(context, list.obj, index.obj)); + } + + public static SymbolForCPython handlerListExtend(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython tuple) { + return methodWrapper(context, methodId, Arrays.asList(list, tuple), () -> handlerListExtendKt(context, list.obj, tuple.obj)); + } + + public static SymbolForCPython handlerListAppend(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython elem) { + return methodWrapper(context, methodId, Arrays.asList(list, elem), () -> handlerListAppendKt(context, list.obj, elem.obj)); + } + + public static void handlerListSetItem(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { + withTracing(context, new MethodWithoutReturnValueParameters(methodId, Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + } + public static void handlerFunctionCall(ConcolicRunContext context, long function) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 9a8a9c3a4b..776595f1ec 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -27,12 +27,10 @@ object ConcretePythonInterpreter { } fun concreteRunOnFunctionRef( - globals: PythonNamespace, functionRef: PythonObject, concreteArgs: Collection ): PythonObject { val result = pythonAdapter.concreteRunOnFunctionRef( - globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray() ) @@ -42,7 +40,6 @@ object ConcretePythonInterpreter { } fun concolicRun( - globals: PythonNamespace, functionRef: PythonObject, concreteArgs: List, virtualArgs: Collection, @@ -51,7 +48,6 @@ object ConcretePythonInterpreter { printErrorMsg: Boolean = false ): PythonObject { val result = pythonAdapter.concolicRun( - globals.address, functionRef.address, concreteArgs.map { it.address }.toLongArray(), virtualArgs.map { it.address }.toLongArray(), @@ -84,6 +80,10 @@ object ConcretePythonInterpreter { return PythonObject(ref); } + fun makeList(elements: List): PythonObject { + return PythonObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) + } + fun typeHasNbBool(pythonObject: PythonObject): Boolean { val result = pythonAdapter.typeHasNbBool(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 7a25f6bfb3..48d9e062fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -5,7 +5,6 @@ import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.operations.tracing.SymbolicHandlerEvent -import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.memory.UMemoryBase @@ -58,7 +57,7 @@ class PythonExecutionState( var fromStateWithVirtualObjectAndWithoutDelayedForks: PythonExecutionState? = null } -data class DelayedFork( +class DelayedFork( val state: PythonExecutionState, val symbol: SymbolForCPython ) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index c295bdb209..7df5926dd9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -20,13 +20,25 @@ class USVMPythonInterpreter( ) : UInterpreter() { private val pinnedCallable = callable.reference(namespace) - private fun getSeeds(state: PythonExecutionState, symbols: List): List = + private fun getSeeds( + state: PythonExecutionState, + symbols: List + ): List = symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } - private fun getConcrete(converter: ConverterToPythonObject, seeds: List, symbols: List): List = - (seeds zip symbols).map { (seed, symbol) -> converter.convert(seed, symbol) } + private fun getConcrete( + converter: ConverterToPythonObject, + seeds: List, + symbols: List, + concolicRunContext: ConcolicRunContext + ): List = + (seeds zip symbols).map { (seed, symbol) -> converter.convert(seed, symbol, concolicRunContext) } - private fun getInputs(virtualObjects: Collection, concrete: List, seeds: List): List>? = + private fun getInputs( + virtualObjects: Collection, + concrete: List, + seeds: List + ): List>? = if (virtualObjects.isEmpty()) { val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) (seeds zip callable.signature zip serializedInputs).map { (p, z) -> @@ -46,7 +58,7 @@ class USVMPythonInterpreter( symbols.forEach { validator.check(it.obj) } val seeds = getSeeds(state, symbols) val converter = ConverterToPythonObject(ctx) - val concrete = getConcrete(converter, seeds, symbols) + val concrete = getConcrete(converter, seeds, symbols, concolicRunContext) val virtualObjects = converter.getVirtualObjects() val inputs = getInputs(virtualObjects, concrete, seeds) @@ -56,7 +68,6 @@ class USVMPythonInterpreter( try { val result = ConcretePythonInterpreter.concolicRun( - namespace, pinnedCallable, concrete, virtualObjects, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt index aa5c3a1fb4..be005de42c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt @@ -1,8 +1,22 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInt +import org.usvm.language.types.pythonTuple +import java.util.stream.Stream +import kotlin.streams.asSequence fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject = - constructInt(context, context.ctx.mkIntNum(value)) \ No newline at end of file + constructInt(context, context.ctx.mkIntNum(value)) + +fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject { + val addresses = elements.map { it!!.address }.asSequence() + with (context.ctx) { + val tupleAddress = context.curState.memory.malloc(pythonTuple, addressSort, addresses) + val result = UninterpretedSymbolicPythonObject(tupleAddress) + result.addSupertype(context, pythonTuple) + return result + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index 8f2db4c41e..b9bf8573eb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -3,8 +3,10 @@ package org.usvm.interpreter.operations import io.ksmt.sort.KBoolSort import org.usvm.UExpr import org.usvm.fork +import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject +import org.usvm.isTrue import org.usvm.language.PythonPinnedCallable fun myFork(ctx: ConcolicRunContext, cond: UExpr) { @@ -23,13 +25,9 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { - val model = ctx.curState.pyModel - val forkResult = fork(ctx.curState, cond) - if (forkResult.positiveState?.pyModel != model) { - - if (forkResult.negativeState == ctx.curState) - ctx.curState.modelDied = true - + val forkResult = forkMulti(ctx.curState, listOf(cond)).single() + if (forkResult == null) { + ctx.curState.modelDied = true throw BadModelException } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt new file mode 100644 index 0000000000..948e74c241 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -0,0 +1,104 @@ +package org.usvm.interpreter.operations + +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.language.types.PythonType +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList +import org.usvm.language.types.pythonTuple +import java.util.stream.Stream +import kotlin.streams.asSequence + +fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject { + val addresses = elements.map { it!!.address }.asSequence() + with (context.ctx) { + val listAddress = context.curState.memory.malloc(pythonList, addressSort, addresses) + val result = UninterpretedSymbolicPythonObject(listAddress) + myAssert(context, context.curState.pathConstraints.typeConstraints.evalIs(listAddress, pythonList)) + return result + } +} + +private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { + with (context.ctx) { + index.addSupertype(context, pythonInt) + list.addSupertype(context, pythonList) + + @Suppress("unchecked_cast") + val listSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + val indexValue = index.getIntContent(context) + + val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) + myFork(context, indexCond) + + if (context.curState.pyModel.eval(indexCond).isFalse) + return null + + val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) + myFork(context, positiveIndex) + + return if (context.curState.pyModel.eval(positiveIndex).isTrue) { + UArrayIndexLValue(addressSort, list.address, indexValue, pythonList) + } else { + val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) + require(context.curState.pyModel.eval(negativeIndex).isTrue) + UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), pythonList) + } + } +} + +fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, index: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + list ?: return null + index ?: return null + with (context.ctx) { + val lvalue = resolveIndex(context, list, index) ?: return null + + @Suppress("unchecked_cast") + val elemAddr = context.curState.memory.read(lvalue) as UHeapRef + if (elemAddr == nullRef) + return null + myAssert(context, mkNot(mkHeapRefEq(elemAddr, nullRef))) + + return UninterpretedSymbolicPythonObject(elemAddr) + } +} + + +fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, index: UninterpretedSymbolicPythonObject?, value: UninterpretedSymbolicPythonObject?) { + val lvalue = resolveIndex(context, list ?: return, index ?: return) ?: return + context.curState.memory.write(lvalue, value?.address ?: context.ctx.nullRef) +} + + +fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, tuple: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + list ?: return null + tuple ?: return null + with (context.ctx) { + list.addSupertype(context, pythonList) + tuple.addSupertype(context, pythonTuple) + @Suppress("unchecked_cast") + val currentSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + @Suppress("unchecked_cast") + val tupleSize = context.curState.memory.read(UArrayLengthLValue(tuple.address, pythonTuple)) as UExpr + // TODO: type: list or tuple? + context.curState.memory.memcpy(tuple.address, list.address, pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) + val newSize = mkArithAdd(currentSize, tupleSize) + context.curState.memory.write(UArrayLengthLValue(list.address, pythonList), newSize) + return list + } +} + +fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, elem: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + list ?: return null + elem ?: return null + with (context.ctx) { + list.addSupertype(context, pythonList) + @Suppress("unchecked_cast") + val currentSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + context.curState.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, pythonList), elem.address) + context.curState.memory.write(UArrayLengthLValue(list.address, pythonList), mkArithAdd(currentSize, mkIntNum(1))) + return list + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 2c9852efb0..c2d9f79ff3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -6,14 +6,16 @@ import org.usvm.UBoolExpr import org.usvm.UContext import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructBool import org.usvm.interpreter.symbolicobjects.constructInt +import org.usvm.language.types.pythonInt fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? -): (ConcolicRunContext, SymbolicPythonObject, SymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> +): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> + left.addSupertype(concolicContext, pythonInt) + right.addSupertype(concolicContext, pythonInt) op(concolicContext.ctx, left.getIntContent(concolicContext), right.getIntContent(concolicContext))?.let { @Suppress("unchecked_cast") when (it.sort) { @@ -24,30 +26,30 @@ fun createBinaryIntOp( } } -fun handlerGTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerGTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) -fun handlerLTLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerLTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) -fun handlerEQLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerEQLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) -fun handlerNELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerNELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) -fun handlerGELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerGELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) -fun handlerLELongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerLELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) -fun handlerADDLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerADDLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) -fun handlerSUBLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerSUBLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) -fun handlerMULLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerMULLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) -fun handlerDIVLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerDIVLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) -fun handlerREMLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerREMLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") -fun handlerPOWLongKt(x: ConcolicRunContext, y: SymbolicPythonObject, z: SymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO +fun handlerPOWLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO //createBinaryIntOp { ctx, left, right -> // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null //} (x, y, z) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index d35b2e8902..e343095423 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -4,6 +4,17 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import java.util.function.Supplier +private fun getResult(resultSupplier: Supplier): T? { + var exception: Throwable? = null + val result = runCatching { resultSupplier.get() }.onFailure { + System.err.println(it) + exception = it + }.getOrNull() + if (exception != null) + throw exception as Throwable + return result +} + fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, @@ -11,7 +22,7 @@ fun withTracing( ): T? { context.instructionCounter++ if (context.instructionCounter > context.curState.path.size) { - val result = resultSupplier.get() + val result = getResult(resultSupplier) val eventRecord = SymbolicHandlerEvent(newEventParameters, result) context.curState.path = context.curState.path.add(eventRecord) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 2e7ca254b1..157e8c2999 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -17,6 +17,8 @@ data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandl object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class NbBool(val on: SymbolForCPython): SymbolicHandlerEventParameters() +data class ListCreation(val elements: List): SymbolicHandlerEventParameters() +data class MethodWithoutReturnValueParameters(val methodId: Int, val operands: List): SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt index 2609c647ff..5bcbc50368 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt @@ -1,7 +1,10 @@ package org.usvm.interpreter.symbolicobjects +import io.ksmt.expr.KInt32NumExpr +import org.usvm.UArrayIndexLValue import org.usvm.UConcreteHeapRef import org.usvm.UContext +import org.usvm.UHeapRef import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.ConcretePythonInterpreter import org.usvm.interpreter.PythonObject @@ -25,7 +28,7 @@ class ConverterToPythonObject(private val ctx: UContext) { fun convert( obj: InterpretedSymbolicPythonObject, symbol: SymbolForCPython? = null, - //concolicRunContext: ConcolicRunContext? = null + concolicRunContext: ConcolicRunContext? = null ): PythonObject { val cached = constructedObjects[obj.address] if (cached != null) @@ -39,6 +42,7 @@ class ConverterToPythonObject(private val ctx: UContext) { pythonBool -> convertBool(obj) pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") + pythonList -> convertList(obj, symbol?.obj, concolicRunContext) else -> TODO() } constructedObjects[obj.address] = result @@ -61,4 +65,22 @@ class ConverterToPythonObject(private val ctx: UContext) { ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") else -> error("Not reachable") } + + private fun convertList(obj: InterpretedSymbolicPythonObject, symbol: UninterpretedSymbolicPythonObject?, concolicRunContext: ConcolicRunContext?): PythonObject = with(ctx) { + val size = obj.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr + val listOfPythonObjects = List(size.value) { index -> + val indexExpr = mkSizeExpr(index) + val element = obj.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef + val elemInterpretedObject = InterpretedSymbolicPythonObject(element, obj.model) + val elementSymbolicAddress = symbol?.address?.let { address -> + concolicRunContext?.curState?.memory?.read(UArrayIndexLValue(addressSort, address, indexExpr, pythonList)) + } + val elementSymbol = elementSymbolicAddress?.let { + @Suppress("unchecked_cast") + SymbolForCPython(UninterpretedSymbolicPythonObject(it as UHeapRef)) + } + convert(elemInterpretedObject, elementSymbol, concolicRunContext) + } + return ConcretePythonInterpreter.makeList(listOfPythonObjects) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt index 5c18f5d01d..e2f1cc8fbe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt @@ -1,9 +1,15 @@ package org.usvm.interpreter.symbolicobjects +import io.ksmt.expr.KInt32NumExpr +import org.usvm.UArrayIndexLValue +import org.usvm.UArrayLengthLValue +import org.usvm.UHeapRef +import org.usvm.USizeExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.operations.myAssert import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList import org.usvm.language.types.pythonNoneType class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { @@ -17,6 +23,7 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { pythonInt -> checkInt(symbol) pythonNoneType -> checkNone(symbol) pythonBool -> checkBool(symbol) + pythonList -> checkList(symbol, concrete) } } @@ -37,7 +44,6 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { myAssert(concolicRunContext, isFalse implies (asInt eq mkIntNum(0))) } - /* private fun checkList(symbolic: UninterpretedSymbolicPythonObject, concrete: InterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { @Suppress("unchecked_cast") val symbolicSize = concolicRunContext.curState.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr @@ -48,9 +54,8 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { val element = concolicRunContext.curState.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef myAssert(concolicRunContext, (symbolicSize gt mkIntNum(index)) implies mkNot(mkHeapRefEq(element, nullRef))) val elemObj = UninterpretedSymbolicPythonObject(element) - //elemObj.assertIsExactly(concolicRunContext, pythonInt) // temporary + elemObj.addSupertype(concolicRunContext, pythonInt) // temporary check(elemObj) } } - */ } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/main/kotlin/test.kt index 8edafed56c..9843619d75 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/main/kotlin/test.kt @@ -1,25 +1,21 @@ import org.usvm.interpreter.* import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x, y): - if x and y: + def f(y: list, i: int): + if y[i] == 0: return 1 - elif x: + elif y[i] == 167: return 2 - elif y: - return 3 - else: - return 4 + return 3 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonInt), "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 59b9b53d55..a6c0554ba5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -41,7 +41,7 @@ open class PythonTestRunner(sourcePath: String) : TestRunner Boolean>() + protected val check2 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() protected val check2WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt new file mode 100644 index 0000000000..66dc9e77a8 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -0,0 +1,129 @@ +package org.usvm.samples + + +import org.junit.jupiter.api.Test +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList +import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { + + private val functionSimpleListSample = constructFunction("simple_list_sample", listOf(pythonList, pythonInt)) + @Test + fun testSimpleListSample() { + check2( + functionSimpleListSample, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { list, index, _ -> + list.typeName == "list" && index.typeName == "int" + }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res == null }, + { _, _, res -> res?.repr == "1" }, + { _, _, res -> res?.repr == "2" }, + { _, _, res -> res?.repr == "3" } + ) + ) + } + + private val functionAllocatedList = constructFunction("allocated_list_sample", listOf(pythonInt)) + @Test + fun testAllocatedList() { + check1( + functionAllocatedList, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { index, _ -> + index.typeName == "int" + }, + /* propertiesToDiscover = */ listOf( + { _, res -> res == null }, + { _, res -> res?.repr == "1" }, + { _, res -> res?.repr == "2" }, + { _, res -> res?.repr == "3" }, + { _, res -> res?.repr == "4" } + ) + ) + } + + private val functionMixedAllocation = constructFunction("mixed_allocation", listOf(pythonInt, pythonInt)) + @Test + fun testMixedAllocation() { + check2( + functionMixedAllocation, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { x, i, _ -> + x.typeName == "int" && i.typeName == "int" + }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res == null }, + { _, _, res -> res?.repr == "1" }, + { _, _, res -> res?.repr == "2" }, + { _, _, res -> res?.repr == "3" }, + { _, _, res -> res?.repr == "4" }, + { _, _, res -> res?.repr == "5" } + ) + ) + } + + private val functionNegativeIndex = constructFunction("negative_index", listOf(pythonInt)) + @Test + fun testNegativeIndex() { + check1WithConcreteRun( + functionNegativeIndex, + eq(2), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { i, _ -> i.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res?.repr == "1" }, + { _, res -> res?.repr == "2" } + ) + ) + } + + private val functionLongList = constructFunction("long_list", listOf(pythonInt)) + @Test + fun testLongList() { + check1WithConcreteRun( + functionLongList, + eq(2), + compareConcolicAndConcreteReprs, + /* invariants = */ listOf { i, _ -> i.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res?.repr == "1" }, + { _, res -> res?.repr == "2" } + ) + ) + } + + private val functionSetItem = constructFunction("set_item", listOf(pythonList, pythonInt)) + @Test + fun testSetItem() { + check2( + functionSetItem, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { arr, x, _ -> arr.typeName == "list" && x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res == null }, + { _, _, res -> res?.repr == "0" }, + { _, _, res -> res?.repr == "1" }, + { _, _, res -> res?.repr == "2" } + ) + ) + } + + private val functionMemoryModel = constructFunction("memory_model", listOf(pythonList, pythonList)) + @Test + fun testMemoryModel() { + check2( + functionMemoryModel, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res == null }, + { _, _, res -> res?.repr == "1" }, + { _, _, res -> res?.repr == "2" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py new file mode 100644 index 0000000000..d7ac710c0a --- /dev/null +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -0,0 +1,63 @@ +def simple_list_sample(y: list, i: int): + if y[i] == 0: + return 1 + elif y[i] == 167: + return 2 + return 3 + + +def allocated_list_sample(y: int): + arr = [1, 2, 3, 4] + if arr[y] == 1: + return 1 + elif arr[y] == 2: + return 2 + elif arr[y] == 3: + return 3 + elif arr[y] == 4: + return 4 + + +def mixed_allocation(x: int, i: int): + arr = [1, x, 10, 11, 12] + if arr[i] == 1 and i != 1: + return 1 + elif arr[i] == 1: + return 2 + elif arr[i] >= 10 and i != 1: + return 3 + elif arr[i] == 3: + return 4 + else: + return 5 + + +def negative_index(x: int): + arr = [1, x] + if arr[-1] == 10: + return 1 + return 2 + + +def long_list(x: int): + arr = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, x] + if arr[-1] == 10 ** 9: + return 1 + return 2 + + +def memory_model(arr1: list[int], arr2: list[int]): + arr1[0] = 1 + arr2[0] = 2 + if arr1[0] == arr2[0]: + return 1 + return 2 + + +def set_item(arr: list, x: int): + arr[0] = x + if arr[0] < 0: + return 0 + elif arr[1] > arr[0] + 500: + return 1 + return 2 \ No newline at end of file From f05e1b46053477782e9e031e584c00f90e7a8a2a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 28 Jul 2023 13:43:51 +0300 Subject: [PATCH 039/344] Lists of arbitrary types (not just ints) --- usvm-python/README.md | 6 +- usvm-python/build.gradle.kts | 39 ++++- usvm-python/cpythonadapter/build.gradle.kts | 39 ++++- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 27 +-- .../c/org_usvm_interpreter_CPythonAdapter.h | 8 + .../src/main/c/symbolic_handler.c | 46 ++++- usvm-python/cpythonadapter/src/main/c/utils.c | 17 +- usvm-python/cpythonadapter/src/main/c/utils.h | 5 +- .../src/main/c/virtual_objects.c | 9 +- .../src/main/json/handler_defs.json | 20 +++ .../org/usvm/interpreter/CPythonAdapter.java | 40 +++-- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../usvm/language/VirtualPythonObject.java | 8 +- .../interpreter/ConcretePythonInterpreter.kt | 15 +- .../kotlin/org/usvm/interpreter/PyModel.kt | 16 +- .../org/usvm/interpreter/PythonComponents.kt | 3 +- .../usvm/interpreter/PythonExecutionState.kt | 54 ++++-- .../org/usvm/interpreter/PythonMachine.kt | 10 +- .../interpreter/PythonVirtualPathSelector.kt | 160 ++++++++++++------ .../org/usvm/interpreter/TypeDefaultValues.kt | 16 ++ .../usvm/interpreter/USVMPythonInterpreter.kt | 56 +++--- .../usvm/interpreter/operations/Control.kt | 30 +++- .../org/usvm/interpreter/operations/List.kt | 12 +- .../org/usvm/interpreter/operations/Long.kt | 21 ++- .../operations/MethodNotifications.kt | 10 ++ .../usvm/interpreter/operations/Virtual.kt | 57 ++++++- .../operations/tracing/PathTracing.kt | 17 +- .../tracing/SymbolicHandlerEvent.kt | 2 + .../ConverterToPythonObject.kt | 77 +++++---- .../symbolicobjects/ObjectValidator.kt | 21 +-- .../SymbolicObjectConstruction.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 135 ++++++++++++--- .../main/kotlin/org/usvm/language/Domain.kt | 8 +- .../org/usvm/language/types/TypeSystem.kt | 26 +-- .../kotlin/org/usvm/language/types/Types.kt | 2 + .../org/usvm/language/types/VirtualTypes.kt | 7 +- .../test.kt => test/kotlin/manualTest.kt} | 12 +- .../org/usvm/samples/PythonTestRunner.kt | 5 +- .../org/usvm/samples/SimpleExampleTest.kt | 6 +- .../org/usvm/samples/SimpleListsTest.kt | 13 ++ .../usvm/samples/SimpleTypeInferenceTest.kt | 23 --- .../test/resources/logging/logback-debug.xml | 12 ++ .../test/resources/logging/logback-info.xml | 12 ++ .../test/resources/samples/SimpleExample.py | 2 +- .../src/test/resources/samples/SimpleLists.py | 19 ++- .../resources/samples/SimpleTypeInference.py | 5 - 47 files changed, 803 insertions(+), 331 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt rename usvm-python/src/{main/kotlin/test.kt => test/kotlin/manualTest.kt} (85%) create mode 100644 usvm-python/src/test/resources/logging/logback-debug.xml create mode 100644 usvm-python/src/test/resources/logging/logback-info.xml diff --git a/usvm-python/README.md b/usvm-python/README.md index 76e9330350..143a00fb54 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -28,7 +28,11 @@ Official instruction: https://devguide.python.org/getting-started/setup-building Gradle tasks should do everything automatically. -Task for running `src/main/kotlin/test.kt`: `:usvm-python:runTestKt`. +Tasks for running `src/test/kotlin/manualTest.kt` (name of task group --- `run`): + +- `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython +- `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython +- `:usvm-python:manualTestRelease`: run with info logging and release build of CPython ## Addition of a method in CPythonAdapter diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 3992da84f3..f99008b400 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -10,25 +10,48 @@ dependencies { implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") -} -tasks.assemble { - dependsOn(":usvm-python:cpythonadapter:linkDebug") + testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" -tasks.register("runTestKt") { - group = "run" - dependsOn(tasks.assemble) +fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { + if (debug) + dependsOn(":usvm-python:cpythonadapter:linkDebug") + else + dependsOn(":usvm-python:cpythonadapter:linkRelease") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - classpath = sourceSets.main.get().runtimeClasspath - mainClass.set("TestKt") +} + +tasks.register("manualTestDebug") { + group = "run" + registerCpython(this, debug = true) + jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") +} + +tasks.register("manualTestDebugNoLogs") { + group = "run" + registerCpython(this, debug = true) + jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") +} + +tasks.register("manualTestRelease") { + group = "run" + registerCpython(this, debug = false) + jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") } tasks.test { + jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") dependsOn(":usvm-python:cpythonadapter:linkDebug") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 5949c9a575..f286ed2d44 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -9,7 +9,7 @@ val cpythonPath = "${projectDir.path}/cpython" val cpythonBuildPath = "${project.buildDir.path}/cpython_build" val cpythonTaskGroup = "cpython" -val configCPython = tasks.register("CPythonBuildConfiguration") { +val configCPythonDebug = tasks.register("CPythonBuildConfigurationDebug") { group = cpythonTaskGroup workingDir = File(cpythonPath) outputs.file("$cpythonPath/Makefile") @@ -19,24 +19,43 @@ val configCPython = tasks.register("CPythonBuildConfiguration") { "--without-static-libpython", "--with-ensurepip=no", "--prefix=$cpythonBuildPath", - "--disable-test-modules" + "--disable-test-modules", + "--with-assertions" ) } -val cpythonBuild = tasks.register("CPythonBuild") { +val configCPythonRelease = tasks.register("CPythonBuildConfigurationRelease") { group = cpythonTaskGroup - dependsOn(configCPython) + workingDir = File(cpythonPath) + outputs.file("$cpythonPath/Makefile") + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=no", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--enable-optimizations" + ) +} + +val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { + group = cpythonTaskGroup + dependsOn(configCPythonDebug) inputs.dir(cpythonPath) + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") workingDir = File(cpythonPath) commandLine("make") + commandLine("make", "install") } -val cpython = tasks.register("CPythonInstall") { +val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { group = cpythonTaskGroup - dependsOn(cpythonBuild) + dependsOn(configCPythonRelease) inputs.dir(cpythonPath) outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") workingDir = File(cpythonPath) + commandLine("make") commandLine("make", "install") } @@ -92,8 +111,12 @@ library { compileTask.source.from(fileTree("src/main/c")) compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) - compileTask.dependsOn(cpython) compileTask.dependsOn(headers) + if (!compileTask.isOptimized) { + compileTask.dependsOn(cpythonBuildDebug) + } else { + compileTask.dependsOn(cpythonBuildRelease) + } } } @@ -114,7 +137,7 @@ tasks.clean { } tasks.register("cpython_check_compile") { - dependsOn(cpython) + dependsOn(cpythonBuildDebug) workingDir = File("${projectDir.path}/cpython_check") commandLine( "gcc", diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index a936e9f9a0..533162837b 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit a936e9f9a09afadaee9041429f675cbbd222a232 +Subproject commit 533162837b095b0bac1ebe8128cf5b3c22f3a983 diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 8c8c2bf1b6..34f911bfa8 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -147,24 +147,31 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList(JNIEnv PyObject *result = PyList_New(size); jlong *addresses = (*env)->GetLongArrayElements(env, elements, 0); for (int i = 0; i < size; i++) { - PyList_SetItem(result, i, (PyObject *) addresses[i]); + PyList_SET_ITEM(result, i, (PyObject *) addresses[i]); + Py_INCREF(addresses[i]); } + Py_INCREF(result); (*env)->ReleaseLongArrayElements(env, elements, addresses, 0); return (jlong) result; } -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool(JNIEnv *env, jobject cpython_adapter, jlong type_ref) { - if (Py_TYPE(type_ref) != &PyType_Type) - return -1; +#define QUERY_TYPE_HAS_PREFIX \ + if (Py_TYPE(type_ref) != &PyType_Type) \ + return -1; \ + PyTypeObject *type = (PyTypeObject *) type_ref; \ - PyTypeObject *type = (PyTypeObject *) type_ref; + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX return type->tp_as_number && type->tp_as_number->nb_bool; } -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNIEnv *env, jobject cpython_adapter, jlong type_ref) { - if (Py_TYPE(type_ref) != &PyType_Type) - return -1; - - PyTypeObject *type = (PyTypeObject *) type_ref; +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX return type->tp_as_number && type->tp_as_number->nb_int; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_richcompare != 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 880b056211..5de5a52307 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -119,6 +119,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpRichcmp + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 7fd2f3acc1..6b64be894e 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -15,6 +15,14 @@ PyObject *r = wrap_java_object(ctx->env, result); \ return r; +#define NOTIFY_UNARY(func) \ + PyObject *symbolic = args[0]; \ + if (is_wrapped_java_object(symbolic)) { \ + jobject object = ((JavaPythonObject *) symbolic)->reference; \ + (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, object); \ + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) \ + } + static jobject make_load_const(ConcolicContext *ctx, PyObject *value) { if (PyLong_Check(value)) { @@ -54,6 +62,19 @@ make_load_const(ConcolicContext *ctx, PyObject *value) { PyObject * handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { ConcolicContext *ctx = (ConcolicContext *) param; + // assert(!PyErr_Occurred()); + if (PyErr_Occurred()) { + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (type == ctx->java_exception) { + PyErr_Print(); + printf("EVENT_ID: %d\n", signal_id); + fflush(stdout); + (*ctx->env)->ExceptionDescribe(ctx->env); + } + assert(type != ctx->java_exception); + PyErr_Restore(type, value, traceback); + } if (signal_id == SYM_EVENT_ID_CONST) { assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); @@ -133,6 +154,10 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * PyFrameObject *frame = (PyFrameObject *) args[0]; int instruction = take_instruction_from_frame(frame); + + //printf("INSTRUCTION: %d\n", instruction); + //fflush(stdout); + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) @@ -198,14 +223,27 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * } else if (signal_id == SYM_EVENT_ID_NB_BOOL) { assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + NOTIFY_UNARY(nb_bool) - PyObject *symbolic = args[0]; - if (is_wrapped_java_object(symbolic)) { - jobject object = ((JavaPythonObject *) symbolic)->reference; - (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_nb_bool, ctx->context, object); + } else if (signal_id == SYM_EVENT_ID_NB_INT) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); + NOTIFY_UNARY(nb_int) + + } else if (signal_id == SYM_EVENT_ID_TP_RICHCMP) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 3); + + int op = extract_int_value(args[2]); + if (is_wrapped_java_object(args[0]) && is_wrapped_java_object(args[1])) { + jobject left = ((JavaPythonObject *) args[0])->reference; + jobject right = ((JavaPythonObject *) args[1])->reference; + (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_tp_richcmp, ctx->context, op, left, right); CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) } + } else if (signal_id == SYM_EVENT_ID_VIRTUAL_RICHCMP) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_METHOD_HANDLER(symbolic_virtual_tp_richcmp) + } return Py_None; diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index ac6a28db9c..397debac5f 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,5 +1,6 @@ #include "utils.h" #include "virtual_objects.h" +#include "limits.h" static void java_python_object_dealloc(PyObject *op) { @@ -67,7 +68,9 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->context = context; dist->cpython_adapter = cpython_adapter; dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - dist->symbol_cls = (*env)->FindClass(env, "Lorg/usvm/language/SymbolForCPython;"); + dist->symbol_cls = (*env)->FindClass(env, "org/usvm/language/SymbolForCPython"); + dist->virtual_cls = (*env)->FindClass(env, "org/usvm/language/VirtualPythonObject"); + dist->java_exception = PyErr_NewException("ibmviqhlye.JavaException", 0, 0); DO_REGISTRATIONS(dist, env) } @@ -121,10 +124,16 @@ construct_args_for_symbolic_adapter( dist->ptr = args; } -int take_instruction_from_frame(PyFrameObject *frame) { - PyObject *res = PyObject_GetAttrString((PyObject *) frame, "f_lasti"); +int +extract_int_value(PyObject *int_object) { + assert(PyLong_Check(int_object)); int overflow; - long value_as_long = PyLong_AsLongAndOverflow(res, &overflow); + long value_as_long = PyLong_AsLongAndOverflow(int_object, &overflow); assert(!overflow); + assert(value_as_long < INT_MAX); return (int) value_as_long; +} + +int take_instruction_from_frame(PyFrameObject *frame) { + return extract_int_value(PyObject_GetAttrString((PyObject *) frame, "f_lasti")); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 3013218f2a..e811861f52 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -26,6 +26,8 @@ typedef struct { jclass cpython_adapter_cls; jobject cpython_adapter; jclass symbol_cls; + jclass virtual_cls; + PyObject *java_exception; HANDLERS_DEFS } ConcolicContext; @@ -38,10 +40,11 @@ typedef struct { void construct_args_for_symbolic_adapter(SymbolicAdapter *adapter, ConcolicContext *ctx, jlongArray *concrete_args, jlongArray *virtual_args, jobjectArray *symbolic_args, PyObjectArray *dist); int take_instruction_from_frame(PyFrameObject *frame); +int extract_int_value(PyObject *int_object); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ - PyErr_SetString(PyExc_RuntimeError, "Java exception"); \ + PyErr_SetString(ctx->java_exception, "Java exception"); \ return fail_value; \ } diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 7b28654b1d..f4980d208a 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -1,13 +1,15 @@ #include "virtual_objects.h" +#include "SYMBOLIC_API.h" static void virtual_object_dealloc(PyObject *op) { + //printf("DELETING: %p\n", op); + //fflush(stdout); VirtualPythonObject *obj = (VirtualPythonObject *) op; (*(obj->ctx->env))->DeleteGlobalRef(obj->ctx->env, obj->reference); Py_TYPE(op)->tp_free(op); } -/* static PyObject * tp_richcompare(PyObject *o1, PyObject *o2, int op) { ConcolicContext *ctx = 0; @@ -28,7 +30,6 @@ tp_richcompare(PyObject *o1, PyObject *o2, int op) { CHECK_FOR_EXCEPTION(ctx, 0) return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); } -*/ static int nb_bool(PyObject *self) { @@ -113,7 +114,7 @@ PyTypeObject VirtualPythonObject_Type = { 0, /*tp_doc */ 0, /*tp_traverse */ 0, /*tp_clear */ - 0, /*tp_richcompare */ + tp_richcompare, /*tp_richcompare */ 0, /*tp_weaklistoffset */ 0, /*tp_iter */ 0, /*tp_iternext */ @@ -166,5 +167,5 @@ is_virtual_object(PyObject *obj) { } void register_virtual_methods() { - // virtual_tp_richcompare = tp_richcompare; + virtual_tp_richcompare = tp_richcompare; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 26f80567a0..0ba08949ee 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -124,6 +124,16 @@ "java_name": "notifyNbBool", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "nb_int", + "java_name": "notifyNbInt", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" + }, + { + "c_name": "tp_richcmp", + "java_name": "notifyTpRichcmp", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "virtual_nb_bool", "java_name": "virtualNbBool", @@ -133,5 +143,15 @@ "c_name": "virtual_nb_int", "java_name": "virtualNbInt", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)J" + }, + { + "c_name": "virtual_call", + "java_name": "virtualCall", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)Lorg/usvm/language/VirtualPythonObject;" + }, + { + "c_name": "symbolic_virtual_tp_richcmp", + "java_name": "handlerVirtualTpRichcmp", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 9bcc7fac48..41c10fd7b4 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,23 +3,20 @@ import kotlin.Unit; import org.usvm.interpreter.operations.tracing.*; import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; -import org.usvm.language.PythonInstruction; -import org.usvm.language.PythonPinnedCallable; -import org.usvm.language.SymbolForCPython; -import org.usvm.language.VirtualPythonObject; +import org.usvm.language.*; import java.util.Arrays; +import java.util.Collections; import java.util.List; -import java.util.function.Supplier; +import java.util.concurrent.Callable; import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstTupleKt; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.ListKt.*; import static org.usvm.interpreter.operations.LongKt.*; -import static org.usvm.interpreter.operations.MethodNotificationsKt.nbBoolKt; -import static org.usvm.interpreter.operations.VirtualKt.virtualNbBoolKt; -import static org.usvm.interpreter.operations.VirtualKt.virtualNbIntKt; +import static org.usvm.interpreter.operations.MethodNotificationsKt.*; +import static org.usvm.interpreter.operations.VirtualKt.*; import static org.usvm.interpreter.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; @@ -40,12 +37,14 @@ public class CPythonAdapter { public native long makeList(long[] elements); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); + public native int typeHasTpRichcmp(long type); static { System.loadLibrary("cpythonadapter"); } public static void handlerInstruction(ConcolicRunContext context, int instruction) { + context.curOperation = null; withTracing(context, new NextInstruction(new PythonInstruction(instruction)), () -> Unit.INSTANCE); } @@ -59,19 +58,19 @@ private static SymbolForCPython methodWrapper( ConcolicRunContext context, int methodId, List operands, - Supplier valueSupplier + Callable valueSupplier ) { return withTracing( context, new MethodQueryParameters(methodId, operands), () -> { - UninterpretedSymbolicPythonObject result = valueSupplier.get(); + UninterpretedSymbolicPythonObject result = valueSupplier.call(); return wrap(result); } ); } - private static Supplier unit(Runnable function) { + private static Callable unit(Runnable function) { return () -> { function.run(); return Unit.INSTANCE; @@ -172,10 +171,25 @@ public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } + public static SymbolForCPython handlerVirtualTpRichcmp(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, methodId, Arrays.asList(left, right), () -> virtualCallSymbolKt(context)); + } + public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython symbol) { + context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); withTracing(context, new NbBool(symbol), unit(() -> nbBoolKt(context, symbol.obj))); } + public static void notifyNbInt(ConcolicRunContext context, SymbolForCPython symbol) { + context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); + withTracing(context, new NbInt(symbol), unit(() -> nbIntKt(context, symbol.obj))); + } + + public static void notifyTpRichcmp(ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { + context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); + withTracing(context, new TpRichcmp(op, left, right), unit(() -> tpRichcmpKt(context, left.obj, right.obj))); + } + public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); } @@ -183,4 +197,8 @@ public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObj public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbIntKt(context, obj).getAddress(); } + + public static VirtualPythonObject virtualCall(ConcolicRunContext context) { + return virtualCallKt(context); + } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 9a3401ae4a..031ac21bfc 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -9,10 +9,10 @@ public class ConcolicRunContext { public UContext ctx; public ArrayList forkedStates = new ArrayList<>(); public int instructionCounter = 0; + public MockHeader curOperation = null; ConcolicRunContext(PythonExecutionState curState, UContext ctx) { this.curState = curState; this.ctx = ctx; - // forkedStates.add(curState); } } diff --git a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java index 7aed91bc04..4306c97ac7 100644 --- a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java +++ b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java @@ -1,12 +1,10 @@ package org.usvm.language; -import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject; +import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject; public class VirtualPythonObject { - public InterpretedSymbolicPythonObject interpretedObj; - public SymbolForCPython origin; - public VirtualPythonObject(InterpretedSymbolicPythonObject interpretedObj, SymbolForCPython origin) { + public InterpretedInputSymbolicPythonObject interpretedObj; + public VirtualPythonObject(InterpretedInputSymbolicPythonObject interpretedObj) { this.interpretedObj = interpretedObj; - this.origin = origin; } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 776595f1ec..0854cd6e48 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -84,19 +84,16 @@ object ConcretePythonInterpreter { return PythonObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) } - fun typeHasNbBool(pythonObject: PythonObject): Boolean { - val result = pythonAdapter.typeHasNbBool(pythonObject.address) + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> + val result = checkMethod(pythonObject.address) if (result < 0) error("Given Python object is not a type") - return result != 0 + result != 0 } - fun typeHasNbInt(pythonObject: PythonObject): Boolean { - val result = pythonAdapter.typeHasNbInt(pythonObject.address) - if (result < 0) - error("Given Python object is not a type") - return result != 0 - } + val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } + val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } + val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } fun kill() { pythonAdapter.finalizePython() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt index 80a3a7d713..7ef7391269 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt @@ -1,12 +1,11 @@ package org.usvm.interpreter import io.ksmt.expr.KInterpretedValue -import org.usvm.UConcreteHeapRef -import org.usvm.UExpr -import org.usvm.USort +import org.usvm.* import org.usvm.language.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType +import org.usvm.language.types.TypeOfVirtualObject import org.usvm.model.UModelBase @Suppress("unchecked_cast") @@ -27,6 +26,17 @@ class PyModel(val uModel: UModelBase) { return uModel.hashCode() } + fun getFirstType(ref: UConcreteHeapRef): PythonType? { + val typeStream = uModel.types.typeStream(ref) + if (typeStream.isEmpty) + return null + val first = typeStream.take(1).first() + val concrete = getConcreteType(ref) + if (concrete == null) + require(first is TypeOfVirtualObject) + return first + } + fun getConcreteType(ref: UConcreteHeapRef): ConcretePythonType? { val typeStream = uModel.types.typeStream(ref) val prefix = typeStream.take(2) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index f1aa38b0c7..3160cba489 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -10,6 +10,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.model.buildTranslatorAndLazyDecoder import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase +import org.usvm.solver.UTypeSolver import org.usvm.types.UTypeSystem object PythonComponents: UComponents { @@ -18,7 +19,7 @@ object PythonComponents: UComponents(ctx) val solver = KZ3Solver(ctx) //solver.configure { setZ3Option("timeout", 100000) } - return USolverBase(ctx, solver, translator, decoder, softConstraintsProvider) + return USolverBase(ctx, solver, UTypeSolver(PythonTypeSystem), translator, decoder, softConstraintsProvider) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 48d9e062fe..1defa85be1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -5,11 +5,16 @@ import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.operations.tracing.SymbolicHandlerEvent +import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.TypeOfVirtualObject import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase -import org.usvm.types.UTypeStream + +private const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 class PythonExecutionState( private val ctx: UContext, @@ -20,9 +25,10 @@ class PythonExecutionState( uModel: UModelBase, callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf(), - var delayedForks: PersistentList = persistentListOf() + var delayedForks: PersistentList = persistentListOf(), + private val mocks: MutableMap> = mutableMapOf() ): UState>(ctx, callStack, pathConstraints, memory, listOf(uModel), path) { - override fun clone(newConstraints: UPathConstraints?): UState> { + override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( @@ -34,30 +40,56 @@ class PythonExecutionState( pyModel.uModel, callStack, path, - delayedForks + delayedForks, + mocks.toMutableMap() // copy ) } - var extractedFrom: UPathSelector? = null + override val isExceptional: Boolean = false // TODO + var extractedFrom: UPathSelector? = null val pyModel: PyModel get() = PyModel(models.first()) - var wasExecuted: Boolean = false var modelDied: Boolean = false val lastHandlerEvent: SymbolicHandlerEvent? get() = if (path.isEmpty()) null else path.last() // TODO: here we will use Python type hints to prioritize concrete types - fun makeTypeRating(delayedFork: DelayedFork): UTypeStream { - return pyModel.uModel.typeStreamOf(pyModel.eval(delayedFork.symbol.obj.address)) + @Suppress("unused_parameter") + fun makeTypeRating(delayedFork: DelayedFork): List { + val res = PythonTypeSystem.topTypeStream().take(MAX_CONCRETE_TYPES_TO_CONSIDER).toList() + require(res.first() == TypeOfVirtualObject) + return res.drop(1) } - var symbolsWithoutConcreteTypes: Collection? = null - var fromStateWithVirtualObjectAndWithoutDelayedForks: PythonExecutionState? = null + var objectsWithoutConcreteTypes: Set? = null + var lastConverter: ConverterToPythonObject? = null + + fun mock(what: MockHeader): MockResult { + val cached = mocks[what] + if (cached != null) + return MockResult(UninterpretedSymbolicPythonObject(cached), false) + val (result, newMocker) = memory.mocker.call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) + memory.mocker = newMocker + mocks[what] = result + return MockResult(UninterpretedSymbolicPythonObject(result), true) + } } class DelayedFork( val state: PythonExecutionState, - val symbol: SymbolForCPython + val symbol: UninterpretedSymbolicPythonObject, + val delayedForkPrefix: PersistentList +) + +data class MockHeader( + val method: TypeMethod, + val args: List, + val methodOwner: SymbolForCPython +) + +data class MockResult( + val mockedObject: UninterpretedSymbolicPythonObject, + val isNew: Boolean ) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index a6b3771738..0a3c2f6edc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -3,7 +3,7 @@ package org.usvm.interpreter import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject -import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.language.types.PythonType @@ -45,7 +45,7 @@ class PythonMachine( val symbols = target.signature.mapIndexed { index, type -> SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints)) } - val solverRes = solver.check(pathConstraints, useSoftConstraints = false) + val solverRes = solver.check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") return PythonExecutionState( @@ -59,7 +59,7 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val ps = PythonVirtualPathSelector(ctx, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps @@ -77,7 +77,7 @@ class PythonMachine( pathSelector, observer = observer, isStateTerminated = { it.modelDied }, - stopStrategy = { observer.stateCounter >= 10000 } + stopStrategy = { observer.stateCounter >= 1000 } ) return iterationCounter.iterations } @@ -100,7 +100,7 @@ class PythonMachine( data class IterationCounter(var iterations: Int = 0) data class InputObject( - val asUExpr: InterpretedSymbolicPythonObject, + val asUExpr: InterpretedInputSymbolicPythonObject, val type: PythonType, val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION ) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt index d52453f3ec..27f46080b4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -1,97 +1,155 @@ package org.usvm.interpreter +import mu.KLogging +import org.usvm.UContext import org.usvm.UPathSelector import org.usvm.fork -import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.PythonType -import org.usvm.types.UTypeStream -import org.usvm.types.takeFirst +import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.types.first +import kotlin.random.Random class PythonVirtualPathSelector( + private val ctx: UContext, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector ) : UPathSelector { - private val delayedForks = mutableSetOf() + private val unservedDelayedForks = mutableSetOf() + private val servedDelayedForks = mutableSetOf() private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() + private val random = Random(0) override fun isEmpty(): Boolean { - return basePathSelector.isEmpty() && delayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty() - && executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty() && pathSelectorForStatesWithConcretizedTypes.isEmpty() + return nullablePeek() == null } - private fun generateStateWithConcretizedType(): PythonExecutionState? { - if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) + private fun generateStateWithConcretizedTypeFromDelayedFork( + delayedForkStorage: MutableSet + ): PythonExecutionState? = with(ctx) { + if (delayedForkStorage.isEmpty()) return null - val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() - val symbol = state.symbolsWithoutConcreteTypes!!.first() - val obj = interpretSymbolicPythonObject(symbol.obj, state.pyModel) - val typeStream = state.pyModel.uModel.types.typeStream(obj.address) - if (typeStream.isEmpty) { - executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) - return generateStateWithConcretizedType() + val delayedFork = delayedForkStorage.random() // TODO: add weights (the less unresolved types, the more probable choice) + val state = delayedFork.delayedFork.state + val symbol = delayedFork.delayedFork.symbol + val typeRating = delayedFork.typeRating + if (typeRating.isEmpty()) { + delayedForkStorage.remove(delayedFork) + return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) } - val type = typeStream.takeFirst() - val forkResult = fork(state, state.pathConstraints.typeConstraints.evalIs(symbol.obj.address, type)) - executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) - val stateWithRemainingTypes = forkResult.negativeState - if (stateWithRemainingTypes != null) { - stateWithRemainingTypes.symbolsWithoutConcreteTypes = state.symbolsWithoutConcreteTypes!! - executionsWithVirtualObjectAndWithoutDelayedForks.add(stateWithRemainingTypes) + val concreteType = typeRating.first() + require(concreteType != TypeOfVirtualObject) + val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType).not()) + if (forkResult.positiveState != state) { + unservedDelayedForks.removeIf { it.delayedFork.state == state } + servedDelayedForks.removeIf { it.delayedFork.state == state } + } else { + typeRating.removeFirst() } + if (forkResult.negativeState != null && unservedDelayedForks.remove(delayedFork)) + servedDelayedForks.add(delayedFork) - require(forkResult.positiveState != null) + return forkResult.negativeState?.let { + it.delayedForks = delayedFork.delayedFork.delayedForkPrefix + it + } + } - val result = forkResult.positiveState!! - result.fromStateWithVirtualObjectAndWithoutDelayedForks = stateWithRemainingTypes - result.extractedFrom = null - result.wasExecuted = false - return result + private fun generateStateWithConcretizedTypeWithoutDelayedForks(): PythonExecutionState? { + if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) + return null + val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() + executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) + val objects = state.objectsWithoutConcreteTypes!!.map { it.interpretedObj } + val typeStreams = objects.map { it.getTypeStream() } + if (typeStreams.any { it.take(2).size < 2 }) { + return generateStateWithConcretizedTypeWithoutDelayedForks() + } + require(typeStreams.all { it.first() == TypeOfVirtualObject }) + val types = typeStreams.map {it.take(2).last()} + (objects zip types).forEach { (obj, type) -> + state.lastConverter!!.forcedConcreteTypes[obj.address] = type + } + state.wasExecuted = false + state.extractedFrom = null + return state } - override fun peek(): PythonExecutionState { + private val threshold: Double = 0.5 + private var peekCache: PythonExecutionState? = null + + private fun nullablePeek(): PythonExecutionState? { + if (peekCache != null) + return peekCache if (!pathSelectorForStatesWithConcretizedTypes.isEmpty()) { val result = pathSelectorForStatesWithConcretizedTypes.peek() result.extractedFrom = pathSelectorForStatesWithConcretizedTypes + peekCache = result return result } - val stateWithConcreteType = generateStateWithConcretizedType() + val stateWithConcreteType = generateStateWithConcretizedTypeWithoutDelayedForks() if (stateWithConcreteType != null) { pathSelectorForStatesWithConcretizedTypes.add(listOf(stateWithConcreteType)) - return peek() + return nullablePeek() } if (!basePathSelector.isEmpty()) { val result = basePathSelector.peek() result.extractedFrom = basePathSelector + peekCache = result return result } - if (delayedForks.isNotEmpty()) { - TODO() - } else if (!pathSelectorForStatesWithDelayedForks.isEmpty()) { + val firstCoin = random.nextDouble() + val secondCoin = random.nextDouble() + if (unservedDelayedForks.isNotEmpty() && (firstCoin < threshold || pathSelectorForStatesWithDelayedForks.isEmpty())) { + val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) + newState?.let { add(listOf(it)) } + return nullablePeek() + + } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < threshold || servedDelayedForks.isEmpty())) { val result = pathSelectorForStatesWithDelayedForks.peek() result.extractedFrom = pathSelectorForStatesWithDelayedForks + peekCache = result return result + } else if (servedDelayedForks.isNotEmpty()) { + val newState = generateStateWithConcretizedTypeFromDelayedFork(servedDelayedForks) + newState?.let { add(listOf(it)) } + return nullablePeek() + } else { - error("Not reachable") + peekCache = null + return null } } + override fun peek(): PythonExecutionState { + val result = nullablePeek()!! + val source = when (result.extractedFrom) { + basePathSelector -> "basePathSelector" + pathSelectorForStatesWithDelayedForks -> "pathSelectorForStatesWithDelayedForks" + pathSelectorForStatesWithConcretizedTypes -> "pathSelectorForStatesWithConcretizedTypes" + else -> error("Not reachable") + } + logger.debug("Extracted from {} state {}", source, result) + return result + } + override fun update(state: PythonExecutionState) { - if (state.symbolsWithoutConcreteTypes != null) { + peekCache = null + if (state.objectsWithoutConcreteTypes != null) { require(state.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) } - if (state.wasExecuted && !state.modelDied) { - state.fromStateWithVirtualObjectAndWithoutDelayedForks?.let { - executionsWithVirtualObjectAndWithoutDelayedForks.remove(it) - } - } if (state.wasExecuted) { state.extractedFrom?.remove(state) - state.delayedForks.forEach { - delayedForks.add(DelayedForkWithTypeRating(it, state.makeTypeRating(it))) + state.delayedForks.firstOrNull()?.let { + unservedDelayedForks.add( + DelayedForkWithTypeRating( + it, + state.makeTypeRating(it).toMutableList() + ) + ) } } else { @@ -100,13 +158,9 @@ class PythonVirtualPathSelector( } override fun add(states: Collection) { + peekCache = null states.forEach { state -> - if (state.wasExecuted && !state.modelDied) { - state.fromStateWithVirtualObjectAndWithoutDelayedForks?.let { - executionsWithVirtualObjectAndWithoutDelayedForks.remove(it) - } - } - if (state.symbolsWithoutConcreteTypes != null) { + if (state.objectsWithoutConcreteTypes != null) { require(state.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) } @@ -122,12 +176,16 @@ class PythonVirtualPathSelector( } override fun remove(state: PythonExecutionState) { + peekCache = null state.extractedFrom?.remove(state) } + companion object { + val logger = object : KLogging() {}.logger + } } -data class DelayedForkWithTypeRating( +class DelayedForkWithTypeRating( val delayedFork: DelayedFork, - val typeRating: UTypeStream + val typeRating: MutableList ) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt new file mode 100644 index 0000000000..01f0793aec --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt @@ -0,0 +1,16 @@ +package org.usvm.interpreter + +import org.usvm.language.types.* + +object TypeDefaultValueProvider { + fun provide(type: PythonType): PythonObject { + require(PythonTypeSystem.isInstantiable(type)) + + return when (type) { + pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") + pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") + pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") + else -> TODO() + } + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 7df5926dd9..b4dcac15bb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -1,17 +1,15 @@ package org.usvm.interpreter +import mu.KLogging import org.usvm.* import org.usvm.interpreter.operations.BadModelException -import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject -import org.usvm.interpreter.symbolicobjects.InterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.ObjectValidator -import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython class USVMPythonInterpreter( private val ctx: UContext, - private val namespace: PythonNamespace, + namespace: PythonNamespace, private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, @@ -23,23 +21,22 @@ class USVMPythonInterpreter( private fun getSeeds( state: PythonExecutionState, symbols: List - ): List = - symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) } + ): List = + symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) as InterpretedInputSymbolicPythonObject } private fun getConcrete( converter: ConverterToPythonObject, - seeds: List, - symbols: List, - concolicRunContext: ConcolicRunContext + seeds: List, + symbols: List ): List = - (seeds zip symbols).map { (seed, symbol) -> converter.convert(seed, symbol, concolicRunContext) } + (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } private fun getInputs( - virtualObjects: Collection, + converter: ConverterToPythonObject, concrete: List, - seeds: List + seeds: List ): List>? = - if (virtualObjects.isEmpty()) { + if (converter.numberOfVirtualObjectUsages() == 0) { val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) (seeds zip callable.signature zip serializedInputs).map { (p, z) -> val (x, y) = p @@ -51,20 +48,25 @@ class USVMPythonInterpreter( override fun step(state: PythonExecutionState): StepResult = with(ctx) { val concolicRunContext = ConcolicRunContext(state, ctx) - state.symbolsWithoutConcreteTypes = null + state.objectsWithoutConcreteTypes = null + state.lastConverter?.restart() try { + logger.debug("Step on state: {}", state) val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols symbols.forEach { validator.check(it.obj) } val seeds = getSeeds(state, symbols) - val converter = ConverterToPythonObject(ctx) - val concrete = getConcrete(converter, seeds, symbols, concolicRunContext) - val virtualObjects = converter.getVirtualObjects() - val inputs = getInputs(virtualObjects, concrete, seeds) + val converter = state.lastConverter ?: ConverterToPythonObject(ctx, state.pyModel) + val concrete = getConcrete(converter, seeds, symbols) + val virtualObjects = converter.getPythonVirtualObjects() + val inputs = getInputs(converter, concrete, seeds) - /*println("INPUTS:") - concrete.forEach { println(ConcretePythonInterpreter.getPythonObjectRepr(it)) } - System.out.flush()*/ + if (logger.isDebugEnabled) { // getting __repr__ might be slow + logger.debug( + "Generated inputs: {}", + concrete.joinToString(", ") { ConcretePythonInterpreter.getPythonObjectRepr(it) } + ) + } try { val result = ConcretePythonInterpreter.concolicRun( @@ -79,8 +81,10 @@ class USVMPythonInterpreter( val serializedResult = pythonObjectSerialization(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) } + logger.debug("Step result: Successful run") } catch (_: CPythonExecutionException) { + logger.debug("Step result: Exception") if (inputs != null) saveRunResult(PythonAnalysisResult(converter, inputs, Fail())) } @@ -89,7 +93,8 @@ class USVMPythonInterpreter( iterationCounter.iterations += 1 if (concolicRunContext.curState.delayedForks.isEmpty() && inputs == null) { - concolicRunContext.curState.symbolsWithoutConcreteTypes = converter.getSymbolsWithoutConcreteTypes() + concolicRunContext.curState.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() + concolicRunContext.curState.lastConverter = converter } return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) @@ -97,7 +102,12 @@ class USVMPythonInterpreter( } catch (_: BadModelException) { iterationCounter.iterations += 1 + logger.debug("Step result: Bad model") return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) } } + + companion object { + val logger = object : KLogging() {}.logger + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index b9bf8573eb..60f5982119 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -5,9 +5,15 @@ import org.usvm.UExpr import org.usvm.fork import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.DelayedFork +import org.usvm.interpreter.PythonExecutionState +import org.usvm.interpreter.operations.tracing.withTracing import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue import org.usvm.language.PythonPinnedCallable +import org.usvm.language.SymbolForCPython fun myFork(ctx: ConcolicRunContext, cond: UExpr) { val model = ctx.curState.pyModel @@ -25,16 +31,30 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { + val oldModel = ctx.curState.pyModel val forkResult = forkMulti(ctx.curState, listOf(cond)).single() - if (forkResult == null) { + if (forkResult == null) ctx.curState.modelDied = true + + if (forkResult?.pyModel != oldModel) throw BadModelException - } } -fun handlerForkKt(ctx: ConcolicRunContext, cond: SymbolicPythonObject?) { - cond ?: return - val expr = cond.getBoolContent(ctx) +fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PythonExecutionState) { + context.curState.delayedForks = context.curState.delayedForks.add( + DelayedFork( + clonedState, + on, + context.curState.delayedForks + ) + ) +} + +fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObject) { + if (cond.getConcreteTypeInModel(ctx) == null) { + addDelayedFork(ctx, cond, ctx.curState.clone()) + } + val expr = cond.getToBoolValue(ctx) ?: return myFork(ctx, expr) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt index 948e74c241..4edda8a8c5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -16,7 +16,7 @@ fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> - left.addSupertype(concolicContext, pythonInt) - right.addSupertype(concolicContext, pythonInt) - op(concolicContext.ctx, left.getIntContent(concolicContext), right.getIntContent(concolicContext))?.let { - @Suppress("unchecked_cast") - when (it.sort) { - concolicContext.ctx.intSort -> constructInt(concolicContext, it as UExpr) - concolicContext.ctx.boolSort -> constructBool(concolicContext, it as UBoolExpr) - else -> TODO() + with (concolicContext.ctx) { + val leftType = left.getConcreteTypeInModel(concolicContext) + val rightType = right.getConcreteTypeInModel(concolicContext) + require(leftType == pythonInt || leftType == pythonBool) + require(rightType == pythonInt || rightType == pythonBool) + op(concolicContext.ctx, left.getToIntContent(concolicContext), right.getToIntContent(concolicContext))?.let { + @Suppress("unchecked_cast") + when (it.sort) { + intSort -> constructInt(concolicContext, it as UExpr) + boolSort -> constructBool(concolicContext, it as UBoolExpr) + else -> TODO() + } } } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index 9b46b60b65..808e14b9fa 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -3,7 +3,17 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.HasNbBool +import org.usvm.language.types.HasNbInt +import org.usvm.language.types.HasTpRichcmp fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { on.addSupertype(context, HasNbBool) +} + +fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + on.addSupertype(context, HasNbInt) +} + +fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { + myAssert(context, left.evalIs(context, HasTpRichcmp) or right.evalIs(context, HasTpRichcmp)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 66d3e468c2..cebad5f5b9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -1,17 +1,58 @@ package org.usvm.interpreter.operations -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.emptyNamespace +import org.usvm.interpreter.* +import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue +import org.usvm.language.NbBoolMethod +import org.usvm.language.NbIntMethod import org.usvm.language.VirtualPythonObject +import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.language.types.pythonBool +import org.usvm.language.types.pythonInt +import org.usvm.types.first fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { - return context.curState.pyModel.eval(on.origin.obj.getBoolContent(context)).isTrue + context.curOperation ?: throw UnregisteredVirtualOperation + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.curState.pyModel) + require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) + val (virtualObject, symbolic) = internalVirtualCallKt(context) + symbolic.addSupertype(context, pythonBool) + val boolValue = virtualObject.interpretedObj.getBoolContent(context) + myFork(context, boolValue) + return boolValue.isTrue } fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { - val expr = context.curState.pyModel.eval(on.origin.obj.getIntContent(context)) - return ConcretePythonInterpreter.eval(emptyNamespace, expr.toString()) -} \ No newline at end of file + context.curOperation ?: throw UnregisteredVirtualOperation + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.curState.pyModel) + require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) + val (virtualObject, symbolic) = internalVirtualCallKt(context) + symbolic.addSupertype(context, pythonInt) + val intValue = virtualObject.interpretedObj.getIntContent(context) + return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) +} + +private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { + context.curOperation ?: throw UnregisteredVirtualOperation + val interpretedOwner = + interpretSymbolicPythonObject( + context.curOperation.methodOwner.obj, + context.curState.pyModel + ) as InterpretedInputSymbolicPythonObject + val typeStreamOfOwner = interpretedOwner.getTypeStream() + val ownerIsAlreadyMocked = typeStreamOfOwner.first() == TypeOfVirtualObject && typeStreamOfOwner.take(2).size == 1 + val clonedState = if (!ownerIsAlreadyMocked) context.curState.clone() else null + val (symbolic, _) = context.curState.mock(context.curOperation) + if (!ownerIsAlreadyMocked) { + addDelayedFork(context, context.curOperation.methodOwner.obj, clonedState!!) + } + val concrete = interpretSymbolicPythonObject(symbolic, context.curState.pyModel) + return VirtualPythonObject(concrete as InterpretedInputSymbolicPythonObject) to symbolic +} + +fun virtualCallKt(context: ConcolicRunContext): VirtualPythonObject = internalVirtualCallKt(context).first +fun virtualCallSymbolKt(context: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(context).second + +object UnregisteredVirtualOperation: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index e343095423..4d6caf1d2b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -2,27 +2,16 @@ package org.usvm.interpreter.operations.tracing import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import java.util.function.Supplier - -private fun getResult(resultSupplier: Supplier): T? { - var exception: Throwable? = null - val result = runCatching { resultSupplier.get() }.onFailure { - System.err.println(it) - exception = it - }.getOrNull() - if (exception != null) - throw exception as Throwable - return result -} +import java.util.concurrent.Callable fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, - resultSupplier: Supplier + resultSupplier: Callable ): T? { context.instructionCounter++ if (context.instructionCounter > context.curState.path.size) { - val result = getResult(resultSupplier) + val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() val eventRecord = SymbolicHandlerEvent(newEventParameters, result) context.curState.path = context.curState.path.add(eventRecord) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 157e8c2999..83b7d582a5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -17,6 +17,8 @@ data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandl object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class NbBool(val on: SymbolForCPython): SymbolicHandlerEventParameters() +data class NbInt(val on: SymbolForCPython): SymbolicHandlerEventParameters() +data class TpRichcmp(val op: Int, val left: SymbolForCPython, val right: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class MethodWithoutReturnValueParameters(val methodId: Int, val operands: List): SymbolicHandlerEventParameters() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt index 5bcbc50368..247bb00162 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt @@ -1,85 +1,84 @@ package org.usvm.interpreter.symbolicobjects import io.ksmt.expr.KInt32NumExpr -import org.usvm.UArrayIndexLValue import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.UHeapRef -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.emptyNamespace -import org.usvm.language.SymbolForCPython +import org.usvm.interpreter.* import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* -import org.usvm.types.UTypeStream -class ConverterToPythonObject(private val ctx: UContext) { - private val constructedObjects = mutableMapOf() - private val virtualObjects = mutableMapOf>() +class ConverterToPythonObject( + private val ctx: UContext, + private val model: PyModel +) { + val forcedConcreteTypes = mutableMapOf() + private val constructedObjects = mutableMapOf() + private val virtualObjects = mutableSetOf>() + private var numberOfGeneratedVirtualObjects: Int = 0 + init { + restart() + } fun restart() { constructedObjects.clear() virtualObjects.clear() + val nullRef = model.eval(ctx.nullRef) as UConcreteHeapRef + val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, model)) + constructedObjects[ctx.nullRef] = defaultObject + numberOfGeneratedVirtualObjects = 0 } + fun getPythonVirtualObjects(): Collection = virtualObjects.map { it.second } + fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() + fun numberOfVirtualObjectUsages(): Int = numberOfGeneratedVirtualObjects - fun getVirtualObjects(): Collection = virtualObjects.values.map { it.second } - fun getSymbolsWithoutConcreteTypes(): Collection = virtualObjects.keys - - fun convert( - obj: InterpretedSymbolicPythonObject, - symbol: SymbolForCPython? = null, - concolicRunContext: ConcolicRunContext? = null - ): PythonObject { + fun convert(obj: InterpretedInputSymbolicPythonObject): PythonObject { + require(obj.model == model) val cached = constructedObjects[obj.address] if (cached != null) return cached - val result = when (obj.getConcreteType()) { - null -> constructVirtualObject( - obj, - symbol ?: error("Symbol must not be null if virtual object creation is possible") - ) + val result = when (obj.getFirstType()) { + null -> error("Type stream for interpreted object is empty") + TypeOfVirtualObject -> constructVirtualObject(obj) pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - pythonList -> convertList(obj, symbol?.obj, concolicRunContext) + pythonList -> convertList(obj) else -> TODO() } constructedObjects[obj.address] = result return result } - private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject, symbol: SymbolForCPython): PythonObject { - val virtual = VirtualPythonObject(obj, symbol) + private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { + val default = forcedConcreteTypes[obj.address]?.let { TypeDefaultValueProvider.provide(it) } + if (default != null) + return default + + numberOfGeneratedVirtualObjects += 1 + val virtual = VirtualPythonObject(obj) val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) - virtualObjects[symbol] = virtual to result + virtualObjects.add(virtual to result) return result } - private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = + private fun convertInt(obj: InterpretedInputSymbolicPythonObject): PythonObject = ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx).toString()) - private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject = + private fun convertBool(obj: InterpretedInputSymbolicPythonObject): PythonObject = when (obj.getBoolContent(ctx)) { ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") else -> error("Not reachable") } - private fun convertList(obj: InterpretedSymbolicPythonObject, symbol: UninterpretedSymbolicPythonObject?, concolicRunContext: ConcolicRunContext?): PythonObject = with(ctx) { + private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { val size = obj.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) val element = obj.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef - val elemInterpretedObject = InterpretedSymbolicPythonObject(element, obj.model) - val elementSymbolicAddress = symbol?.address?.let { address -> - concolicRunContext?.curState?.memory?.read(UArrayIndexLValue(addressSort, address, indexExpr, pythonList)) - } - val elementSymbol = elementSymbolicAddress?.let { - @Suppress("unchecked_cast") - SymbolForCPython(UninterpretedSymbolicPythonObject(it as UHeapRef)) - } - convert(elemInterpretedObject, elementSymbol, concolicRunContext) + val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.model) + convert(elemInterpretedObject) } return ConcretePythonInterpreter.makeList(listOfPythonObjects) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt index e2f1cc8fbe..35f9c06452 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt @@ -1,20 +1,11 @@ package org.usvm.interpreter.symbolicobjects -import io.ksmt.expr.KInt32NumExpr -import org.usvm.UArrayIndexLValue -import org.usvm.UArrayLengthLValue -import org.usvm.UHeapRef -import org.usvm.USizeExpr import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.operations.myAssert -import org.usvm.language.types.pythonBool -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList -import org.usvm.language.types.pythonNoneType class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { + @Suppress("unused_parameter") fun check(symbol: UninterpretedSymbolicPythonObject) { - val model = concolicRunContext.curState.pyModel + /*val model = concolicRunContext.curState.pyModel val concrete = interpretSymbolicPythonObject(symbol, model) with(concolicRunContext.ctx) { myAssert(concolicRunContext, mkHeapRefEq(symbol.address, nullRef).not()) @@ -24,9 +15,10 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { pythonNoneType -> checkNone(symbol) pythonBool -> checkBool(symbol) pythonList -> checkList(symbol, concrete) - } + }*/ } + /* private fun checkInt(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { val cond = (symbolic.getIntContent(concolicRunContext) eq mkIntNum(0)) xor symbolic.getBoolContent(concolicRunContext) myAssert(concolicRunContext, cond) @@ -49,13 +41,16 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { val symbolicSize = concolicRunContext.curState.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = concrete.model.eval(symbolicSize) as KInt32NumExpr + myAssert(concolicRunContext, symbolicSize le mkIntNum(10)) // temporary List(size.value) { index -> @Suppress("unchecked_cast") val element = concolicRunContext.curState.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef myAssert(concolicRunContext, (symbolicSize gt mkIntNum(index)) implies mkNot(mkHeapRefEq(element, nullRef))) val elemObj = UninterpretedSymbolicPythonObject(element) - elemObj.addSupertype(concolicRunContext, pythonInt) // temporary + if (concolicRunContext.curState.useOnlyIntsAsInternalObjects) + elemObj.addSupertype(concolicRunContext, pythonInt) check(elemObj) } } + */ } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index 870a6189a5..9b9512c33a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -22,7 +22,7 @@ fun constructInputObject( val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address) - pathConstraints += memory.types.evalIs(address, type) + pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type) return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 4f517b6d6e..f323f047a3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -4,11 +4,14 @@ import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.PyModel import org.usvm.interpreter.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* +import org.usvm.types.UTypeStream +import org.usvm.types.first sealed class SymbolicPythonObject(open val address: UHeapRef) { override fun equals(other: Any?): Boolean { @@ -20,23 +23,21 @@ sealed class SymbolicPythonObject(open val address: UHeapRef) { override fun hashCode(): Int { return address.hashCode() } - - open fun getIntContent(ctx: ConcolicRunContext): UExpr { - myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, HasNbInt)) - @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr - } - - open fun getBoolContent(ctx: ConcolicRunContext): UExpr { - myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, HasNbBool)) - @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr - } } class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject(address) { fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { - myAssert(ctx, ctx.curState.pathConstraints.typeConstraints.evalIs(address, type)) + myAssert(ctx, evalIs(ctx, type)) + } + + fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr = + evalIs(ctx.ctx, ctx.curState.pathConstraints.typeConstraints, type) + + fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { + var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) + if (type is ConcretePythonType) + result = result and mkHeapRefEq(address, nullRef).not() + return result } fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { @@ -50,27 +51,121 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject val lvalue = UFieldLValue(expr.sort, address, BoolContent) ctx.curState.memory.write(lvalue, expr) } + + fun getIntContent(ctx: ConcolicRunContext): UExpr { + addSupertype(ctx, pythonInt) + @Suppress("unchecked_cast") + return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr + } + + fun getToIntContent(ctx: ConcolicRunContext): UExpr = with(ctx.ctx) { + return when (getConcreteTypeInModel(ctx)) { + pythonInt -> getIntContent(ctx) + pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) + else -> TODO() + } + } + + fun getBoolContent(ctx: ConcolicRunContext): UExpr { + addSupertype(ctx, pythonBool) + @Suppress("unchecked_cast") + return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr + } + + fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? { + val interpreted = interpretSymbolicPythonObject(this, ctx.curState.pyModel) + with (ctx.ctx) { + return when (interpreted.getConcreteType(ctx)) { + pythonBool -> getBoolContent(ctx) + pythonInt -> getIntContent(ctx) neq mkIntNum(0) + else -> null + } + } + } + + fun getConcreteTypeInModel(ctx: ConcolicRunContext): ConcretePythonType? { + val interpreted = interpretSymbolicPythonObject(this, ctx.curState.pyModel) + return interpreted.getConcreteType(ctx) + } } -class InterpretedSymbolicPythonObject( - override val address: UConcreteHeapRef, - val model: PyModel +sealed class InterpretedSymbolicPythonObject( + override val address: UConcreteHeapRef ): SymbolicPythonObject(address) { - fun getConcreteType(): ConcretePythonType? = model.getConcreteType(address) + abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? + abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue + abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue +} + +class InterpretedInputSymbolicPythonObject( + address: UConcreteHeapRef, + val model: PyModel +): InterpretedSymbolicPythonObject(address) { + init { + require(address.address <= 0) + } + + override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = getConcreteType() + + override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) + + override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue = getIntContent(ctx.ctx) + + fun getFirstType(): PythonType? { + if (address.address == 0) + return PythonTypeSystem.topTypeStream().first() + return model.getFirstType(address) + } + fun getConcreteType(): ConcretePythonType? { + if (address.address == 0) + return null + return model.getConcreteType(address) + } + + fun getTypeStream(): UTypeStream { + if (address.address == 0) + return PythonTypeSystem.topTypeStream() + return model.uModel.typeStreamOf(address) + } + fun getIntContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == pythonInt) // TODO: types with nb_int ? + require(getConcreteType() == pythonInt) return model.readField(address, IntContent, ctx.intSort) } fun getBoolContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == pythonBool) // TODO: types with nb_bool ? + require(getConcreteType() == pythonBool) return model.readField(address, BoolContent, ctx.boolSort) } } +class InterpretedAllocatedSymbolicPythonObject( + override val address: UConcreteHeapRef +): InterpretedSymbolicPythonObject(address) { + init { + require(address.address > 0) + } + override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? { + return ctx.curState.memory.typeStreamOf(address).first() as? ConcretePythonType + } + + override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { + @Suppress("unchecked_cast") + return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as KInterpretedValue + } + + override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue { + @Suppress("unchecked_cast") + return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue + } +} + fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject, model: PyModel ): InterpretedSymbolicPythonObject { - return InterpretedSymbolicPythonObject(model.eval(obj.address) as UConcreteHeapRef, model) + val evaluated = model.eval(obj.address) as UConcreteHeapRef + if (evaluated.address > 0) + return InterpretedAllocatedSymbolicPythonObject(evaluated) + return InterpretedInputSymbolicPythonObject(evaluated, model) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index edd1209f18..e2e469c726 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -20,4 +20,10 @@ class PythonUnpinnedCallable( fun constructCallableFromName(signature: List, name: String) = PythonUnpinnedCallable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } } -} \ No newline at end of file +} + +sealed class TypeMethod: PythonCallable() + +object NbBoolMethod: TypeMethod() +object NbIntMethod: TypeMethod() +data class TpRichcmpMethod(val op: Int): TypeMethod() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 94671487fe..4accc8052b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -5,22 +5,22 @@ import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem object PythonTypeSystem: UTypeSystem { - override fun isSupertype(u: PythonType, t: PythonType): Boolean { - if (u is VirtualPythonType) - return u.accepts(t) - return u == t + override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { + if (supertype is VirtualPythonType) + return supertype.accepts(type) + return supertype == type } - override fun isMultipleInheritanceAllowedFor(t: PythonType): Boolean { - return t !is ConcretePythonType + override fun isMultipleInheritanceAllowedFor(type: PythonType): Boolean { + return !isInstantiable(type) } - override fun isFinal(t: PythonType): Boolean { - return t is ConcretePythonType + override fun isFinal(type: PythonType): Boolean { + return isInstantiable(type) } - override fun isInstantiable(t: PythonType): Boolean { - return t is ConcretePythonType + override fun isInstantiable(type: PythonType): Boolean { + return type is ConcretePythonType || type is TypeOfVirtualObject } private val basicConcretePythonTypes = listOf( @@ -30,10 +30,10 @@ object PythonTypeSystem: UTypeSystem { pythonNoneType ) - override fun findSubtypes(t: PythonType): Sequence { - if (t is ConcretePythonType) + override fun findSubtypes(type: PythonType): Sequence { + if (isFinal(type)) return emptySequence() - return basicConcretePythonTypes.filter { isSupertype(t, it) }.asSequence() + return (listOf(TypeOfVirtualObject) + basicConcretePythonTypes.filter { isSupertype(type, it) }).asSequence() } override fun topTypeStream(): UTypeStream { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 20afc226e6..5820571e81 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -6,6 +6,8 @@ import org.usvm.interpreter.emptyNamespace sealed class PythonType +object TypeOfVirtualObject: PythonType() + abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index bf838a1c68..d2d291d20f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -9,7 +9,7 @@ object PythonAnyType: VirtualPythonType() { sealed class TypeProtocol: VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { - if (type == this) + if (type == this || type is TypeOfVirtualObject) return true if (type !is ConcretePythonType) return false @@ -25,4 +25,9 @@ object HasNbBool: TypeProtocol() { object HasNbInt: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbInt(type.asObject) +} + +object HasTpRichcmp: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpRichcmp(type.asObject) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/test.kt b/usvm-python/src/test/kotlin/manualTest.kt similarity index 85% rename from usvm-python/src/main/kotlin/test.kt rename to usvm-python/src/test/kotlin/manualTest.kt index 9843619d75..98b6750b34 100644 --- a/usvm-python/src/main/kotlin/test.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,18 +1,20 @@ import org.usvm.interpreter.* import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.types.PythonAnyType import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(y: list, i: int): - if y[i] == 0: + def f(arr: list, x: int): + arr[0] = x + if arr[0] < 0: + return 0 + elif arr[1] > arr[0] + 500: return 1 - elif y[i] == 167: - return 2 - return 3 + return 2 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonInt), "f") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index a6c0554ba5..02999d8cb8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -9,7 +9,10 @@ import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File -open class PythonTestRunner(sourcePath: String) : TestRunner() { +open class PythonTestRunner( + sourcePath: String +): TestRunner() { + override var options: UMachineOptions = UMachineOptions() private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> PythonObjectInfo( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index f7f1075b0e..d48cb41cb2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -8,11 +8,11 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { - private val functionF = constructFunction("f", List(3) { pythonInt }) + private val functionManyBranches = constructFunction("many_branches", List(3) { pythonInt }) @Test - fun testF() { + fun testManyBranches() { check3WithConcreteRun( - functionF, + functionManyBranches, ignoreNumberOfAnalysisResults, compareConcolicAndConcreteReprs, /* invariants = */ listOf { x, y, z, res -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 66dc9e77a8..049f52086f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -126,4 +126,17 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) ) } + + private val functionPositiveAndNegativeIndex = constructFunction("positive_and_negative_index", listOf(pythonList, pythonInt)) + @Test + fun testPositiveAndNegativeIndex() { + check2( + functionPositiveAndNegativeIndex, + ignoreNumberOfAnalysisResults, + /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "int" }, + /* propertiesToDiscover = */ List(6) { index -> + { _, _, res -> res?.repr == (index + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 5ee67f8500..b3b615d9ed 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -22,29 +22,6 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionIntConvertationAny = constructFunction("int_convertation", List(1) { PythonAnyType }) - @Test - fun testIntConvertationAny() { - check1WithConcreteRun( - functionIntConvertationAny, - ge(1), - compareConcolicAndConcreteReprs, - /* invariants = */ listOf { _, res -> res != null }, - /* propertiesToDiscover = */ emptyList() - ) - } - - private val functionIntConvertationNone = constructFunction("int_convertation", List(1) { pythonNoneType }) - @Test - fun testIntConvertationNone() { - check1( - functionIntConvertationNone, - eq(1), - /* invariants = */ listOf { _, res -> res == null }, - /* propertiesToDiscover = */ emptyList() - ) - } - private val functionTwoArgs = constructFunction("two_args", List(2) { PythonAnyType }) @Test fun testTwoArgs() { diff --git a/usvm-python/src/test/resources/logging/logback-debug.xml b/usvm-python/src/test/resources/logging/logback-debug.xml new file mode 100644 index 0000000000..d3ef06c644 --- /dev/null +++ b/usvm-python/src/test/resources/logging/logback-debug.xml @@ -0,0 +1,12 @@ + + + + + %d{HH:mm:ss.SSS} |%.-1level| %replace(%c{0}){'(\$Companion)?\$logger\$1',''} - %msg%n + + + + + + + \ No newline at end of file diff --git a/usvm-python/src/test/resources/logging/logback-info.xml b/usvm-python/src/test/resources/logging/logback-info.xml new file mode 100644 index 0000000000..0eca66e26f --- /dev/null +++ b/usvm-python/src/test/resources/logging/logback-info.xml @@ -0,0 +1,12 @@ + + + + + %d{HH:mm:ss.SSS} |%.-1level| %replace(%c{0}){'(\$Companion)?\$logger\$1',''} - %msg%n + + + + + + + \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 60fc1f6749..f512a34971 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -1,7 +1,7 @@ import pickle -def f(x: int, y: int, z: int): +def many_branches(x: int, y: int, z: int): if x + y > 100: return 0 y += 10 ** 9 diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index d7ac710c0a..03ec7ef135 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -60,4 +60,21 @@ def set_item(arr: list, x: int): return 0 elif arr[1] > arr[0] + 500: return 1 - return 2 \ No newline at end of file + return 2 + + +def positive_and_negative_index(y: list, i: int): + if y[i] == 0: + if i >= 0: + return 1 + else: + return 2 + elif y[i] == 167: + if i >= 0: + return 3 + else: + return 4 + if i >= 0: + return 5 + else: + return 6 diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index a59b51acaa..b05a074c02 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -5,11 +5,6 @@ def bool_input(x): return 2 -def int_convertation(x): - y = int(x) - return y - - def two_args(x, y): if x and y: return 1 From b868d23470b63d2355444921d16770f87a893237 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 28 Jul 2023 16:12:33 +0300 Subject: [PATCH 040/344] More accurate work with exceptions --- .../c/org_usvm_interpreter_CPythonAdapter.c | 44 ++++++++++- .../c/org_usvm_interpreter_CPythonAdapter.h | 24 ++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 10 ++- usvm-python/cpythonadapter/src/main/c/utils.h | 10 ++- .../org/usvm/interpreter/CPythonAdapter.java | 17 +++- .../interpreter/ConcretePythonInterpreter.kt | 47 ++++++++--- .../org/usvm/interpreter/PythonMachine.kt | 4 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 17 +++- usvm-python/src/test/kotlin/manualTest.kt | 28 +++++-- .../org/usvm/samples/PythonTestRunner.kt | 47 ++++++++--- .../org/usvm/samples/SimpleExampleTest.kt | 46 +++++------ .../org/usvm/samples/SimpleListsTest.kt | 77 ++++++++++--------- .../usvm/samples/SimpleTypeInferenceTest.kt | 12 ++- 13 files changed, 271 insertions(+), 112 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 34f911bfa8..5ca27ed35d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -12,6 +12,17 @@ jfieldID f = (*env)->GetFieldID(env, cls, "isInitialized", "Z"); \ (*env)->SetBooleanField(env, cpython_adapter, f, value); +#define SET_EXCEPTION_IN_CPYTHONADAPTER \ + PyObject *type, *value, *traceback; \ + PyErr_Fetch(&type, &value, &traceback); \ + jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ + jfieldID f = (*env)->GetFieldID(env, cls, "thrownException", "J"); \ + jfieldID f_type = (*env)->GetFieldID(env, cls, "thrownExceptionType", "J"); \ + (*env)->SetLongField(env, cpython_adapter, f, (jlong) value); \ + (*env)->SetLongField(env, cpython_adapter, f_type, (jlong) type); \ + Py_INCREF(value); \ + PyErr_Restore(type, value, traceback); \ + JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { Py_Initialize(); SET_IS_INITIALIZED(JNI_TRUE); @@ -78,8 +89,11 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu PyTuple_SetItem(args, i, (PyObject *) addresses[i]); } PyObject *result = Py_TYPE(function_ref)->tp_call((PyObject *) function_ref, args, 0); - if (result == 0) - PyErr_Print(); + + if (result == NULL) { + SET_EXCEPTION_IN_CPYTHONADAPTER + PyErr_Clear(); + } Py_DECREF(args); (*env)->ReleaseLongArrayElements(env, concrete_args, addresses, 0); @@ -103,6 +117,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( PyObject *function = (PyObject *) function_ref; construct_concolic_context(env, context, cpython_adapter, &ctx); + (*env)->SetLongField(env, cpython_adapter, ctx.cpython_java_exception_field, (jlong) ctx.java_exception); + SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); register_virtual_methods(); @@ -111,6 +127,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); free(args.ptr); + if (result == NULL) { + SET_EXCEPTION_IN_CPYTHONADAPTER + } + if (result == NULL && print_error_message == JNI_TRUE) { PyErr_Print(); } @@ -127,17 +147,27 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObjec fflush(stdout); } -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { PyObject *repr = PyObject_Repr((PyObject *) object_ref); const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); return (*env)->NewStringUTF(env, repr_as_string); } -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject cpython_adapter, jlong object_ref) { +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject _, jlong object_ref) { const char *type_name = Py_TYPE(object_ref)->tp_name; return (*env)->NewStringUTF(env, type_name); } +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectType(JNIEnv *env, jobject _, jlong object_ref) { + return (jlong) Py_TYPE(object_ref); +} + +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPythonType(JNIEnv *env, jobject _, jlong type_ref) { + assert(PyType_Check((PyObject *) type_ref)); + const char *type_name = ((PyTypeObject *) type_ref)->tp_name; + return (*env)->NewStringUTF(env, type_name); +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject(JNIEnv *env, jobject cpython_adapter, jobject virtual_object) { return (jlong) allocate_raw_virtual_object(env, virtual_object); } @@ -174,4 +204,10 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNI JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_richcompare != 0; +} + +JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException(JNIEnv *env, jobject _, jlong exception) { + PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); + assert(is_wrapped_java_object(wrapped)); + return ((JavaPythonObject *) wrapped)->reference; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 5de5a52307..8dbb9c275a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -87,6 +87,22 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getPythonObjectType + * Signature: (J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectType + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getNameOfPythonType + * Signature: (J)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPythonType + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: allocateVirtualObject @@ -127,6 +143,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: extractException + * Signature: (J)Ljava/lang/Throwable; + */ +JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 397debac5f..09f73ad703 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -4,8 +4,8 @@ static void java_python_object_dealloc(PyObject *op) { - // JavaPythonObject *obj = (JavaPythonObject *) op; - // (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); + JavaPythonObject *obj = (JavaPythonObject *) op; + (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); Py_TYPE(op)->tp_free(op); } @@ -54,8 +54,8 @@ PyTypeObject JavaPythonObject_Type = { PyObject *wrap_java_object(JNIEnv *env, jobject object) { JavaPythonObject *result = PyObject_New(JavaPythonObject, &JavaPythonObject_Type); result->env = env; - result->reference = object; - // result->reference = (*env)->NewGlobalRef(env, object); + // result->reference = object; + result->reference = (*env)->NewGlobalRef(env, object); return (PyObject*) result; } @@ -71,6 +71,8 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->symbol_cls = (*env)->FindClass(env, "org/usvm/language/SymbolForCPython"); dist->virtual_cls = (*env)->FindClass(env, "org/usvm/language/VirtualPythonObject"); dist->java_exception = PyErr_NewException("ibmviqhlye.JavaException", 0, 0); + dist->cpython_thrown_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "thrownException", "J"); + dist->cpython_java_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "javaExceptionType", "J"); DO_REGISTRATIONS(dist, env) } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index e811861f52..46001e897a 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -28,6 +28,8 @@ typedef struct { jclass symbol_cls; jclass virtual_cls; PyObject *java_exception; + jfieldID cpython_thrown_exception_field; + jfieldID cpython_java_exception_field; HANDLERS_DEFS } ConcolicContext; @@ -43,8 +45,12 @@ int take_instruction_from_frame(PyFrameObject *frame); int extract_int_value(PyObject *int_object); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ - if ((*ctx->env)->ExceptionCheck(ctx->env)) { \ - PyErr_SetString(ctx->java_exception, "Java exception"); \ + jthrowable cur_exception = (*ctx->env)->ExceptionOccurred(ctx->env); \ + if (cur_exception) { \ + (*ctx->env)->ExceptionClear(ctx->env); \ + PyObject *exception_instance = ((PyTypeObject *)ctx->java_exception)->tp_new((PyTypeObject *)ctx->java_exception, 0, 0); \ + PyObject_SetAttrString(exception_instance, "java_exception", wrap_java_object(ctx->env, cur_exception)); \ + PyErr_SetObject(ctx->java_exception, exception_instance); \ return fail_value; \ } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 41c10fd7b4..4c0c6c999d 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1,6 +1,7 @@ package org.usvm.interpreter; import kotlin.Unit; +import org.jetbrains.annotations.NotNull; import org.usvm.interpreter.operations.tracing.*; import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; @@ -23,6 +24,9 @@ @SuppressWarnings("unused") public class CPythonAdapter { public boolean isInitialized = false; + public long thrownException = 0L; + public long thrownExceptionType = 0L; + public long javaExceptionType = 0L; public native void initializePython(); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict @@ -33,17 +37,20 @@ public class CPythonAdapter { public native void printPythonObject(long object); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); + public native long getPythonObjectType(long object); + public native String getNameOfPythonType(long type); public native long allocateVirtualObject(VirtualPythonObject object); public native long makeList(long[] elements); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); public native int typeHasTpRichcmp(long type); + public native Throwable extractException(long exception); static { System.loadLibrary("cpythonadapter"); } - public static void handlerInstruction(ConcolicRunContext context, int instruction) { + public static void handlerInstruction(@NotNull ConcolicRunContext context, int instruction) { context.curOperation = null; withTracing(context, new NextInstruction(new PythonInstruction(instruction)), () -> Unit.INSTANCE); } @@ -70,6 +77,7 @@ private static SymbolForCPython methodWrapper( ); } + @NotNull private static Callable unit(Runnable function) { return () -> { function.run(); @@ -175,17 +183,17 @@ public static SymbolForCPython handlerVirtualTpRichcmp(ConcolicRunContext contex return methodWrapper(context, methodId, Arrays.asList(left, right), () -> virtualCallSymbolKt(context)); } - public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython symbol) { + public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); withTracing(context, new NbBool(symbol), unit(() -> nbBoolKt(context, symbol.obj))); } - public static void notifyNbInt(ConcolicRunContext context, SymbolForCPython symbol) { + public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); withTracing(context, new NbInt(symbol), unit(() -> nbIntKt(context, symbol.obj))); } - public static void notifyTpRichcmp(ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { + public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); withTracing(context, new TpRichcmp(op, left, right), unit(() -> tpRichcmpKt(context, left.obj, right.obj))); } @@ -198,6 +206,7 @@ public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject return virtualNbIntKt(context, obj).getAddress(); } + @NotNull public static VirtualPythonObject virtualCall(ConcolicRunContext context) { return virtualCallKt(context); } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 0854cd6e48..81dd1ce398 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -9,33 +9,41 @@ object ConcretePythonInterpreter { fun getNewNamespace(): PythonNamespace { val result = pythonAdapter.newNamespace if (result == 0L) - throw CPythonExecutionException + throw CPythonExecutionException() return PythonNamespace(result) } fun concreteRun(globals: PythonNamespace, code: String) { val result = pythonAdapter.concreteRun(globals.address, code) if (result != 0) - throw CPythonExecutionException + throw CPythonExecutionException() } fun eval(globals: PythonNamespace, expr: String): PythonObject { val result = pythonAdapter.eval(globals.address, expr) if (result == 0L) - throw CPythonExecutionException + throw CPythonExecutionException() return PythonObject(result) } + private fun wrap(address: Long): PythonObject? { + if (address == 0L) + return null + return PythonObject(address) + } + fun concreteRunOnFunctionRef( functionRef: PythonObject, concreteArgs: Collection ): PythonObject { + pythonAdapter.thrownException = 0L + pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concreteRunOnFunctionRef( functionRef.address, concreteArgs.map { it.address }.toLongArray() ) if (result == 0L) - throw CPythonExecutionException + throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) return PythonObject(result) } @@ -47,6 +55,8 @@ object ConcretePythonInterpreter { ctx: ConcolicRunContext, printErrorMsg: Boolean = false ): PythonObject { + pythonAdapter.thrownException = 0L + pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concolicRun( functionRef.address, concreteArgs.map { it.address }.toLongArray(), @@ -56,7 +66,7 @@ object ConcretePythonInterpreter { printErrorMsg ) if (result == 0L) - throw CPythonExecutionException + throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) return PythonObject(result) } @@ -73,11 +83,28 @@ object ConcretePythonInterpreter { return pythonAdapter.getPythonObjectTypeName(pythonObject.address) } + fun getNameOfPythonType(pythonObject: PythonObject): String { + return pythonAdapter.getNameOfPythonType(pythonObject.address) + } + + fun getPythonObjectType(pythonObject: PythonObject): PythonObject { + return PythonObject(pythonAdapter.getPythonObjectType(pythonObject.address)) + } + + fun isJavaException(pythonObject: PythonObject): Boolean { + return pythonAdapter.javaExceptionType == pythonAdapter.getPythonObjectType(pythonObject.address) + } + + fun extractException(pythonObject: PythonObject): Throwable { + require(isJavaException(pythonObject)) + return pythonAdapter.extractException(pythonObject.address) + } + fun allocateVirtualObject(virtualObject: VirtualPythonObject): PythonObject { val ref = pythonAdapter.allocateVirtualObject(virtualObject) if (ref == 0L) - throw CPythonExecutionException - return PythonObject(ref); + throw CPythonExecutionException() + return PythonObject(ref) } fun makeList(elements: List): PythonObject { @@ -104,8 +131,10 @@ object ConcretePythonInterpreter { } } -// object CPythonInitializationException: Exception() -object CPythonExecutionException: Exception() +class CPythonExecutionException( + val pythonExceptionValue: PythonObject? = null, + val pythonExceptionType: PythonObject? = null +): Exception() data class PythonObject(val address: Long) data class PythonNamespace(val address: Long) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 0a3c2f6edc..a79a51fb3a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -110,7 +110,9 @@ class Success( val output: PYTHON_OBJECT_REPRESENTATION ): ExecutionResult() -class Fail: ExecutionResult() +class Fail( + val exception: PYTHON_OBJECT_REPRESENTATION +): ExecutionResult() data class PythonAnalysisResult( val inputValueConverter: ConverterToPythonObject, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index b4dcac15bb..06472e0bfc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -83,10 +83,19 @@ class USVMPythonInterpreter( } logger.debug("Step result: Successful run") - } catch (_: CPythonExecutionException) { - logger.debug("Step result: Exception") - if (inputs != null) - saveRunResult(PythonAnalysisResult(converter, inputs, Fail())) + } catch (exception: CPythonExecutionException) { + require(exception.pythonExceptionValue != null) + if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { + throw ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) + } + logger.debug( + "Step result: exception from CPython: {}", + ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) + ) + if (inputs != null) { + val serializedException = pythonObjectSerialization(exception.pythonExceptionValue) + saveRunResult(PythonAnalysisResult(converter, inputs, Fail(serializedException))) + } } concolicRunContext.curState.wasExecuted = true diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 98b6750b34..9be9f7591c 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,13 +8,21 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(arr: list, x: int): - arr[0] = x - if arr[0] < 0: - return 0 - elif arr[1] > arr[0] + 500: - return 1 - return 2 + def f(y: list, i: int): + if y[i] == 0: + if i >= 0: + return 1 + else: + return 2 + elif y[i] == 167: + if i >= 0: + return 3 + else: + return 4 + if i >= 0: + return 5 + else: + return 6 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonInt), "f") @@ -27,7 +35,11 @@ fun main() { println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } println("RESULT:") - println((result as? Success)?.output?.let { ConcretePythonInterpreter.getPythonObjectRepr(it) } ?: "Bad execution") + when (result) { + is Success -> println(ConcretePythonInterpreter.getPythonObjectRepr(result.output)) + is Fail -> println(ConcretePythonInterpreter.getPythonObjectTypeName(result.exception)) + } + println() } returnValue } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 02999d8cb8..43da4518e1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -44,8 +44,13 @@ open class PythonTestRunner( val converter = test.inputValueConverter converter.restart() val args = test.inputValues.map { converter.convert(it.asUExpr) } - val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(functionRef, args) - return check(concreteResult) + return try { + val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(functionRef, args) + check(concreteResult) + } catch (exception: CPythonExecutionException) { + require(exception.pythonExceptionType != null) + check(exception.pythonExceptionType!!) + } } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): @@ -56,7 +61,11 @@ open class PythonTestRunner( invariants: List, propertiesToDiscover: List -> val onAnalysisResult = { pythonTest: PythonTest -> - val result = pythonTest.inputValues.map { it.reprFromPythonObject } + (pythonTest.result as? Success)?.output + val executionResult = when (val result = pythonTest.result) { + is Success -> result.output + is Fail -> result.exception + } + val result = pythonTest.inputValues.map { it.reprFromPythonObject } + executionResult if (concreteRun) { require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { "Error in CPython patch: concrete and concolic results differ" @@ -91,32 +100,48 @@ open class PythonTestRunner( ) } - protected val check1 = createCheck<(PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + protected val check1 = createCheck<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val check1WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val check2 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + protected val check2 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val check2WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val check3WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo?) -> Boolean>() + createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val compareConcolicAndConcreteReprs: + protected val compareConcolicAndConcreteReprsIfSuccess: (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Success)?.let { it.output.repr == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) } ?: true } + protected val compareConcolicAndConcreteTypesIfFail: + (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? Fail)?.let { + ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) == "type" && + it.exception.typeName == ConcretePythonInterpreter.getNameOfPythonType(concreteResult) + } ?: true + } + + protected val standardConcolicAndConcreteChecks: + (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> + compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) && + compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) + } + protected fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = PythonUnpinnedCallable.constructCallableFromName(signature, name) } -data class PythonObjectInfo( +class PythonObjectInfo( val repr: String, val typeName: String -) +) { + override fun toString(): String = "$repr: $typeName" +} typealias PythonTest = PythonAnalysisResult diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index d48cb41cb2..76f7e29d92 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -14,12 +14,12 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check3WithConcreteRun( functionManyBranches, ignoreNumberOfAnalysisResults, - compareConcolicAndConcreteReprs, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, y, z, res -> - listOf(x, y, z, res).all { it!!.typeName == "int" } + listOf(x, y, z, res).all { it.typeName == "int" } }, /* propertiesToDiscover = */ List(10) { index -> - { _, _, _, res -> res!!.repr == index.toString() } + { _, _, _, res -> res.repr == index.toString() } } ) } @@ -30,12 +30,12 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check1WithConcreteRun( functionMyAbs, eq(3), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { x, res -> x.repr.toInt() > 0 && res!!.typeName == "int" }, - { x, res -> x.repr.toInt() == 0 && res!!.typeName == "str" }, - { x, res -> x.repr.toInt() < 0 && res!!.typeName == "int" }, + { x, res -> x.repr.toInt() > 0 && res.typeName == "int" }, + { x, res -> x.repr.toInt() == 0 && res.typeName == "str" }, + { x, res -> x.repr.toInt() < 0 && res.typeName == "int" }, ) ) } @@ -46,8 +46,8 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check1WithConcreteRun( functionSamplePickle, eq(1), - compareConcolicAndConcreteReprs, - /* invariants = */ listOf { _, res -> res!!.typeName == "bytes" }, + compareConcolicAndConcreteReprsIfSuccess, + /* invariants = */ listOf { _, res -> res.typeName == "bytes" }, /* propertiesToDiscover = */ emptyList() ) } @@ -58,12 +58,12 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check1WithConcreteRun( functionCall, eq(3), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { x, res -> x.repr.toInt() > 0 && res!!.typeName == "int" }, - { x, res -> x.repr.toInt() == 0 && res!!.typeName == "str" }, - { x, res -> x.repr.toInt() < 0 && res!!.typeName == "int" }, + { x, res -> x.repr.toInt() > 0 && res.typeName == "int" }, + { x, res -> x.repr.toInt() == 0 && res.typeName == "str" }, + { x, res -> x.repr.toInt() < 0 && res.typeName == "int" }, ) ) } @@ -71,10 +71,11 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionZeroDivision = constructFunction("zero_division", List(1) { pythonInt }) @Test fun testZeroDivision() { - check1( + check1WithConcreteRun( functionZeroDivision, eq(1), - /* invariants = */ listOf { x, res -> x.typeName == "int" && res == null }, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "ZeroDivisionError" }, /* propertiesToDiscover = */ listOf() ) } @@ -82,13 +83,14 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { private val functionZeroDivisionInBranch = constructFunction("zero_division_in_branch", List(1) { pythonInt }) @Test fun testZeroDivisionInBranch() { - check1( + check1WithConcreteRun( functionZeroDivisionInBranch, eq(2), + standardConcolicAndConcreteChecks, /* invariants = */ listOf(), /* propertiesToDiscover = */ listOf( - { x, res -> x.repr.toInt() > 100 && res == null }, - { x, res -> x.repr.toInt() <= 100 && res!!.repr == x.repr } + { x, res -> x.repr.toInt() > 100 && res.typeName == "ZeroDivisionError" }, + { x, res -> x.repr.toInt() <= 100 && res.repr == x.repr } ) ) } @@ -99,10 +101,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check1WithConcreteRun( functionBoolInput, eq(2), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "bool" }, /* propertiesToDiscover = */ List(2) { index -> - { _, res -> res!!.repr == (index + 1).toString() } + { _, res -> res.repr == (index + 1).toString() } } ) } @@ -113,10 +115,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { check2WithConcreteRun( functionMixedInputTypes, eq(3), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, y, _ -> x.typeName == "bool" && y.typeName == "int" }, /* propertiesToDiscover = */ List(3) { index -> - { _, _, res -> res!!.repr == (index + 1).toString() } + { _, _, res -> res.repr == (index + 1).toString() } } ) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 049f52086f..233f8df666 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -1,6 +1,5 @@ package org.usvm.samples - import org.junit.jupiter.api.Test import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList @@ -12,17 +11,18 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionSimpleListSample = constructFunction("simple_list_sample", listOf(pythonList, pythonInt)) @Test fun testSimpleListSample() { - check2( + check2WithConcreteRun( functionSimpleListSample, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { list, index, _ -> list.typeName == "list" && index.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res == null }, - { _, _, res -> res?.repr == "1" }, - { _, _, res -> res?.repr == "2" }, - { _, _, res -> res?.repr == "3" } + { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" }, + { _, _, res -> res.repr == "3" } ) ) } @@ -30,18 +30,19 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionAllocatedList = constructFunction("allocated_list_sample", listOf(pythonInt)) @Test fun testAllocatedList() { - check1( + check1WithConcreteRun( functionAllocatedList, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { index, _ -> index.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, res -> res == null }, - { _, res -> res?.repr == "1" }, - { _, res -> res?.repr == "2" }, - { _, res -> res?.repr == "3" }, - { _, res -> res?.repr == "4" } + { _, res -> res.typeName == "IndexError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" }, + { _, res -> res.repr == "4" } ) ) } @@ -49,19 +50,20 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionMixedAllocation = constructFunction("mixed_allocation", listOf(pythonInt, pythonInt)) @Test fun testMixedAllocation() { - check2( + check2WithConcreteRun( functionMixedAllocation, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, i, _ -> x.typeName == "int" && i.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res == null }, - { _, _, res -> res?.repr == "1" }, - { _, _, res -> res?.repr == "2" }, - { _, _, res -> res?.repr == "3" }, - { _, _, res -> res?.repr == "4" }, - { _, _, res -> res?.repr == "5" } + { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" }, + { _, _, res -> res.repr == "3" }, + { _, _, res -> res.repr == "4" }, + { _, _, res -> res.repr == "5" } ) ) } @@ -72,11 +74,11 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { check1WithConcreteRun( functionNegativeIndex, eq(2), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { i, _ -> i.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, res -> res?.repr == "1" }, - { _, res -> res?.repr == "2" } + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } ) ) } @@ -87,11 +89,11 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { check1WithConcreteRun( functionLongList, eq(2), - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { i, _ -> i.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, res -> res?.repr == "1" }, - { _, res -> res?.repr == "2" } + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } ) ) } @@ -99,15 +101,16 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionSetItem = constructFunction("set_item", listOf(pythonList, pythonInt)) @Test fun testSetItem() { - check2( + check2WithConcreteRun( functionSetItem, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { arr, x, _ -> arr.typeName == "list" && x.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res == null }, - { _, _, res -> res?.repr == "0" }, - { _, _, res -> res?.repr == "1" }, - { _, _, res -> res?.repr == "2" } + { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.repr == "0" }, + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" } ) ) } @@ -115,14 +118,15 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionMemoryModel = constructFunction("memory_model", listOf(pythonList, pythonList)) @Test fun testMemoryModel() { - check2( + check2WithConcreteRun( functionMemoryModel, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "list" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res == null }, - { _, _, res -> res?.repr == "1" }, - { _, _, res -> res?.repr == "2" } + { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" } ) ) } @@ -130,12 +134,13 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionPositiveAndNegativeIndex = constructFunction("positive_and_negative_index", listOf(pythonList, pythonInt)) @Test fun testPositiveAndNegativeIndex() { - check2( + check2WithConcreteRun( functionPositiveAndNegativeIndex, ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "int" }, /* propertiesToDiscover = */ List(6) { index -> - { _, _, res -> res?.repr == (index + 1).toString() } + { _, _, res -> res.repr == (index + 1).toString() } } ) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index b3b615d9ed..ff8b4991a3 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -2,8 +2,6 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.pythonNoneType -import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -14,10 +12,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py check1WithConcreteRun( functionBoolInput, ignoreNumberOfAnalysisResults, - compareConcolicAndConcreteReprs, + compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ emptyList(), /* propertiesToDiscover = */ List(2) { index -> - { _, res -> res!!.repr == (index + 1).toString() } + { _, res -> res.repr == (index + 1).toString() } } ) } @@ -28,10 +26,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py check2WithConcreteRun( functionTwoArgs, ge(4), - compareConcolicAndConcreteReprs, - /* invariants = */ listOf { _, _, res -> res != null }, + compareConcolicAndConcreteReprsIfSuccess, + /* invariants = */ emptyList(), /* propertiesToDiscover = */ List(4) { index -> - { _, _, res -> res!!.repr == (index + 1).toString() } + { _, _, res -> res.repr == (index + 1).toString() } } ) } From 4db56354f1dc69ebd520b20c07f828d565a6fca7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 28 Jul 2023 19:40:10 +0300 Subject: [PATCH 041/344] Added PythonMockEvaluator --- .../usvm/interpreter/ConcolicRunContext.java | 9 ++- ...faultValues.kt => DefaultValueProvider.kt} | 2 +- .../kotlin/org/usvm/interpreter/PyModel.kt | 7 +++ .../usvm/interpreter/PythonExecutionState.kt | 28 +++++----- .../org/usvm/interpreter/PythonMachine.kt | 4 +- .../usvm/interpreter/PythonMockEvaluator.kt | 31 ++++++++++ .../interpreter/PythonVirtualPathSelector.kt | 56 ++++++++++--------- .../org/usvm/interpreter/UPythonContext.kt | 12 ++++ .../usvm/interpreter/USVMPythonInterpreter.kt | 32 ++++++----- .../usvm/interpreter/operations/Control.kt | 2 +- .../usvm/interpreter/operations/Virtual.kt | 14 +++-- .../ConverterToPythonObject.kt | 16 +++--- .../symbolicobjects/SymbolicPythonObject.kt | 24 ++++---- .../main/kotlin/org/usvm/language/Domain.kt | 8 +-- 14 files changed, 158 insertions(+), 87 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/interpreter/{TypeDefaultValues.kt => DefaultValueProvider.kt} (93%) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 031ac21bfc..c4a07e86aa 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -1,18 +1,21 @@ package org.usvm.interpreter; +import org.jetbrains.annotations.NotNull; import org.usvm.UContext; import java.util.ArrayList; public class ConcolicRunContext { public PythonExecutionState curState; - public UContext ctx; + public UPythonContext ctx; public ArrayList forkedStates = new ArrayList<>(); public int instructionCounter = 0; public MockHeader curOperation = null; + public PyModelHolder modelHolder; - ConcolicRunContext(PythonExecutionState curState, UContext ctx) { + ConcolicRunContext(@NotNull PythonExecutionState curState, UPythonContext ctx, PyModelHolder modelHolder) { this.curState = curState; this.ctx = ctx; + this.modelHolder = modelHolder; } -} +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt similarity index 93% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt rename to usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt index 01f0793aec..34d2a9bc66 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/TypeDefaultValues.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt @@ -2,7 +2,7 @@ package org.usvm.interpreter import org.usvm.language.types.* -object TypeDefaultValueProvider { +object DefaultValueProvider { fun provide(type: PythonType): PythonObject { require(PythonTypeSystem.isInstantiable(type)) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt index 7ef7391269..a9ef4b2172 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt @@ -44,4 +44,11 @@ class PyModel(val uModel: UModelBase) { return null return prefix.first() as? ConcretePythonType } +} + +class PyModelHolder(var model: PyModel) + +fun substituteModel(state: PythonExecutionState, newModel: PyModel, ctx: ConcolicRunContext) { + state.models = listOf(newModel.uModel) + ctx.modelHolder.model = newModel } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 1defa85be1..58f5cd81cf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -17,7 +17,7 @@ import org.usvm.model.UModelBase private const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 class PythonExecutionState( - private val ctx: UContext, + private val ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, @@ -44,14 +44,10 @@ class PythonExecutionState( mocks.toMutableMap() // copy ) } - override val isExceptional: Boolean = false // TODO - - var extractedFrom: UPathSelector? = null + val meta = PythonExecutionStateInfo() val pyModel: PyModel get() = PyModel(models.first()) - var wasExecuted: Boolean = false - var modelDied: Boolean = false val lastHandlerEvent: SymbolicHandlerEvent? get() = if (path.isEmpty()) null else path.last() @@ -63,17 +59,14 @@ class PythonExecutionState( return res.drop(1) } - var objectsWithoutConcreteTypes: Set? = null - var lastConverter: ConverterToPythonObject? = null - fun mock(what: MockHeader): MockResult { val cached = mocks[what] if (cached != null) - return MockResult(UninterpretedSymbolicPythonObject(cached), false) + return MockResult(UninterpretedSymbolicPythonObject(cached), false, cached) val (result, newMocker) = memory.mocker.call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) memory.mocker = newMocker mocks[what] = result - return MockResult(UninterpretedSymbolicPythonObject(result), true) + return MockResult(UninterpretedSymbolicPythonObject(result), true, result) } } @@ -91,5 +84,14 @@ data class MockHeader( data class MockResult( val mockedObject: UninterpretedSymbolicPythonObject, - val isNew: Boolean -) \ No newline at end of file + val isNew: Boolean, + val mockSymbol: UMockSymbol +) + +class PythonExecutionStateInfo { + var extractedFrom: UPathSelector? = null + var wasExecuted: Boolean = false + var modelDied: Boolean = false + var objectsWithoutConcreteTypes: Set? = null + var lastConverter: ConverterToPythonObject? = null +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index a79a51fb3a..ac200c101f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -17,7 +17,7 @@ class PythonMachine( private val printErrorMsg: Boolean = false, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { - private val ctx = UContext(PythonComponents) + private val ctx = UPythonContext() private val solver = ctx.solver() private val iterationCounter = IterationCounter() private val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -76,7 +76,7 @@ class PythonMachine( interpreter, pathSelector, observer = observer, - isStateTerminated = { it.modelDied }, + isStateTerminated = { it.meta.modelDied }, stopStrategy = { observer.stateCounter >= 1000 } ) return iterationCounter.iterations diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt new file mode 100644 index 0000000000..87846bde46 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt @@ -0,0 +1,31 @@ +package org.usvm.interpreter + +import org.usvm.* +import org.usvm.model.UModelBase + +class PythonMockEvaluator( + ctx: UPythonContext, + private val baseMockEvaluator: UMockEvaluator, + private val mockSymbol: UMockSymbol +): UMockEvaluator { + private val evaluatedMockSymbol = ctx.provideRawConcreteHeapRef() + override fun eval(symbol: UMockSymbol): UExpr { + if (symbol == mockSymbol) { + @Suppress("unchecked_cast") + return evaluatedMockSymbol as UExpr + } + return baseMockEvaluator.eval(symbol) + } +} + +fun constructModelWithNewMockEvaluator(ctx: UPythonContext, oldModel: PyModel, mockSymbol: UMockSymbol): PyModel { + val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocks, mockSymbol) + val newModel = UModelBase( + ctx, + oldModel.uModel.stack, + oldModel.uModel.heap, + oldModel.uModel.types, + newMockEvaluator + ) + return PyModel(newModel) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt index 27f46080b4..6218cbdaf2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -60,7 +60,7 @@ class PythonVirtualPathSelector( return null val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) - val objects = state.objectsWithoutConcreteTypes!!.map { it.interpretedObj } + val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } val typeStreams = objects.map { it.getTypeStream() } if (typeStreams.any { it.take(2).size < 2 }) { return generateStateWithConcretizedTypeWithoutDelayedForks() @@ -68,10 +68,10 @@ class PythonVirtualPathSelector( require(typeStreams.all { it.first() == TypeOfVirtualObject }) val types = typeStreams.map {it.take(2).last()} (objects zip types).forEach { (obj, type) -> - state.lastConverter!!.forcedConcreteTypes[obj.address] = type + state.meta.lastConverter!!.forcedConcreteTypes[obj.address] = type } - state.wasExecuted = false - state.extractedFrom = null + state.meta.wasExecuted = false + state.meta.extractedFrom = null return state } @@ -83,7 +83,7 @@ class PythonVirtualPathSelector( return peekCache if (!pathSelectorForStatesWithConcretizedTypes.isEmpty()) { val result = pathSelectorForStatesWithConcretizedTypes.peek() - result.extractedFrom = pathSelectorForStatesWithConcretizedTypes + result.meta.extractedFrom = pathSelectorForStatesWithConcretizedTypes peekCache = result return result } @@ -94,7 +94,7 @@ class PythonVirtualPathSelector( } if (!basePathSelector.isEmpty()) { val result = basePathSelector.peek() - result.extractedFrom = basePathSelector + result.meta.extractedFrom = basePathSelector peekCache = result return result } @@ -108,7 +108,7 @@ class PythonVirtualPathSelector( } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < threshold || servedDelayedForks.isEmpty())) { val result = pathSelectorForStatesWithDelayedForks.peek() - result.extractedFrom = pathSelectorForStatesWithDelayedForks + result.meta.extractedFrom = pathSelectorForStatesWithDelayedForks peekCache = result return result @@ -125,7 +125,7 @@ class PythonVirtualPathSelector( override fun peek(): PythonExecutionState { val result = nullablePeek()!! - val source = when (result.extractedFrom) { + val source = when (result.meta.extractedFrom) { basePathSelector -> "basePathSelector" pathSelectorForStatesWithDelayedForks -> "pathSelectorForStatesWithDelayedForks" pathSelectorForStatesWithConcretizedTypes -> "pathSelectorForStatesWithConcretizedTypes" @@ -135,36 +135,42 @@ class PythonVirtualPathSelector( return result } + private fun processDelayedForksOfExecutedState(state: PythonExecutionState) { + require(state.meta.wasExecuted) + state.delayedForks.firstOrNull()?.let { + unservedDelayedForks.add( + DelayedForkWithTypeRating( + it, + state.makeTypeRating(it).toMutableList() + ) + ) + } + } + override fun update(state: PythonExecutionState) { peekCache = null - if (state.objectsWithoutConcreteTypes != null) { - require(state.wasExecuted) + if (state.meta.objectsWithoutConcreteTypes != null) { + require(state.meta.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) } - if (state.wasExecuted) { - state.extractedFrom?.remove(state) - state.delayedForks.firstOrNull()?.let { - unservedDelayedForks.add( - DelayedForkWithTypeRating( - it, - state.makeTypeRating(it).toMutableList() - ) - ) - } + if (state.meta.wasExecuted) { + state.meta.extractedFrom?.remove(state) + processDelayedForksOfExecutedState(state) } else { - state.extractedFrom?.update(state) + state.meta.extractedFrom?.update(state) } } override fun add(states: Collection) { peekCache = null states.forEach { state -> - if (state.objectsWithoutConcreteTypes != null) { - require(state.wasExecuted) + if (state.meta.objectsWithoutConcreteTypes != null) { + require(state.meta.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) } - if (state.wasExecuted) { + if (state.meta.wasExecuted) { + processDelayedForksOfExecutedState(state) return@forEach } if (state.delayedForks.isEmpty()) { @@ -177,7 +183,7 @@ class PythonVirtualPathSelector( override fun remove(state: PythonExecutionState) { peekCache = null - state.extractedFrom?.remove(state) + state.meta.extractedFrom?.remove(state) } companion object { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt new file mode 100644 index 0000000000..9605815175 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt @@ -0,0 +1,12 @@ +package org.usvm.interpreter + +import org.usvm.UConcreteHeapAddress +import org.usvm.UConcreteHeapRef +import org.usvm.UContext + +class UPythonContext: UContext(PythonComponents) { + private var nextAddress: UConcreteHeapAddress = -1000_000_000 + fun provideRawConcreteHeapRef(): UConcreteHeapRef { + return mkConcreteHeapRef(nextAddress--) + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 06472e0bfc..46a4f49fb8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -8,7 +8,7 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython class USVMPythonInterpreter( - private val ctx: UContext, + private val ctx: UPythonContext, namespace: PythonNamespace, private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, @@ -19,10 +19,10 @@ class USVMPythonInterpreter( private val pinnedCallable = callable.reference(namespace) private fun getSeeds( - state: PythonExecutionState, + concolicRunContext: ConcolicRunContext, symbols: List ): List = - symbols.map { interpretSymbolicPythonObject(it.obj, state.pyModel) as InterpretedInputSymbolicPythonObject } + symbols.map { interpretSymbolicPythonObject(it.obj, concolicRunContext.modelHolder) as InterpretedInputSymbolicPythonObject } private fun getConcrete( converter: ConverterToPythonObject, @@ -47,16 +47,21 @@ class USVMPythonInterpreter( } override fun step(state: PythonExecutionState): StepResult = with(ctx) { - val concolicRunContext = ConcolicRunContext(state, ctx) - state.objectsWithoutConcreteTypes = null - state.lastConverter?.restart() + val modelHolder = + if (state.meta.lastConverter != null) + state.meta.lastConverter!!.modelHolder + else + PyModelHolder(state.pyModel) + val concolicRunContext = ConcolicRunContext(state, ctx, modelHolder) + state.meta.objectsWithoutConcreteTypes = null + state.meta.lastConverter?.restart() try { logger.debug("Step on state: {}", state) val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols symbols.forEach { validator.check(it.obj) } - val seeds = getSeeds(state, symbols) - val converter = state.lastConverter ?: ConverterToPythonObject(ctx, state.pyModel) + val seeds = getSeeds(concolicRunContext, symbols) + val converter = state.meta.lastConverter ?: ConverterToPythonObject(ctx, concolicRunContext.modelHolder) val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getPythonVirtualObjects() val inputs = getInputs(converter, concrete, seeds) @@ -98,21 +103,22 @@ class USVMPythonInterpreter( } } - concolicRunContext.curState.wasExecuted = true + concolicRunContext.curState.meta.wasExecuted = true iterationCounter.iterations += 1 if (concolicRunContext.curState.delayedForks.isEmpty() && inputs == null) { - concolicRunContext.curState.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() - concolicRunContext.curState.lastConverter = converter + concolicRunContext.curState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() + concolicRunContext.curState.meta.lastConverter = converter } + logger.debug((concolicRunContext.curState == state).toString()) - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) } catch (_: BadModelException) { iterationCounter.iterations += 1 logger.debug("Step result: Bad model") - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index 60f5982119..0de7d555fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -34,7 +34,7 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { val oldModel = ctx.curState.pyModel val forkResult = forkMulti(ctx.curState, listOf(cond)).single() if (forkResult == null) - ctx.curState.modelDied = true + ctx.curState.meta.modelDied = true if (forkResult?.pyModel != oldModel) throw BadModelException diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index cebad5f5b9..6dd9db9443 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -15,7 +15,7 @@ import org.usvm.types.first fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.curState.pyModel) + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) val (virtualObject, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, pythonBool) @@ -26,7 +26,7 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.curState.pyModel) + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) val (virtualObject, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, pythonInt) @@ -39,16 +39,20 @@ private fun internalVirtualCallKt(context: ConcolicRunContext): Pair() private val constructedObjects = mutableMapOf() @@ -22,8 +22,8 @@ class ConverterToPythonObject( fun restart() { constructedObjects.clear() virtualObjects.clear() - val nullRef = model.eval(ctx.nullRef) as UConcreteHeapRef - val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, model)) + val nullRef = modelHolder.model.eval(ctx.nullRef) as UConcreteHeapRef + val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder)) constructedObjects[ctx.nullRef] = defaultObject numberOfGeneratedVirtualObjects = 0 } @@ -32,7 +32,7 @@ class ConverterToPythonObject( fun numberOfVirtualObjectUsages(): Int = numberOfGeneratedVirtualObjects fun convert(obj: InterpretedInputSymbolicPythonObject): PythonObject { - require(obj.model == model) + require(obj.modelHolder == modelHolder) val cached = constructedObjects[obj.address] if (cached != null) return cached @@ -51,7 +51,7 @@ class ConverterToPythonObject( } private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val default = forcedConcreteTypes[obj.address]?.let { TypeDefaultValueProvider.provide(it) } + val default = forcedConcreteTypes[obj.address]?.let { DefaultValueProvider.provide(it) } if (default != null) return default @@ -73,11 +73,11 @@ class ConverterToPythonObject( } private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { - val size = obj.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) - val element = obj.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef - val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.model) + val element = obj.modelHolder.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef + val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder) convert(elemInterpretedObject) } return ConcretePythonInterpreter.makeList(listOfPythonObjects) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index f323f047a3..c7b61e6228 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -6,7 +6,7 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.PyModel +import org.usvm.interpreter.PyModelHolder import org.usvm.interpreter.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* @@ -73,7 +73,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject } fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? { - val interpreted = interpretSymbolicPythonObject(this, ctx.curState.pyModel) + val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) with (ctx.ctx) { return when (interpreted.getConcreteType(ctx)) { pythonBool -> getBoolContent(ctx) @@ -84,7 +84,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject } fun getConcreteTypeInModel(ctx: ConcolicRunContext): ConcretePythonType? { - val interpreted = interpretSymbolicPythonObject(this, ctx.curState.pyModel) + val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) } } @@ -99,7 +99,7 @@ sealed class InterpretedSymbolicPythonObject( class InterpretedInputSymbolicPythonObject( address: UConcreteHeapRef, - val model: PyModel + val modelHolder: PyModelHolder ): InterpretedSymbolicPythonObject(address) { init { require(address.address <= 0) @@ -114,28 +114,28 @@ class InterpretedInputSymbolicPythonObject( fun getFirstType(): PythonType? { if (address.address == 0) return PythonTypeSystem.topTypeStream().first() - return model.getFirstType(address) + return modelHolder.model.getFirstType(address) } fun getConcreteType(): ConcretePythonType? { if (address.address == 0) return null - return model.getConcreteType(address) + return modelHolder.model.getConcreteType(address) } fun getTypeStream(): UTypeStream { if (address.address == 0) return PythonTypeSystem.topTypeStream() - return model.uModel.typeStreamOf(address) + return modelHolder.model.uModel.typeStreamOf(address) } fun getIntContent(ctx: UContext): KInterpretedValue { require(getConcreteType() == pythonInt) - return model.readField(address, IntContent, ctx.intSort) + return modelHolder.model.readField(address, IntContent, ctx.intSort) } fun getBoolContent(ctx: UContext): KInterpretedValue { require(getConcreteType() == pythonBool) - return model.readField(address, BoolContent, ctx.boolSort) + return modelHolder.model.readField(address, BoolContent, ctx.boolSort) } } @@ -162,10 +162,10 @@ class InterpretedAllocatedSymbolicPythonObject( fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject, - model: PyModel + modelHolder: PyModelHolder ): InterpretedSymbolicPythonObject { - val evaluated = model.eval(obj.address) as UConcreteHeapRef + val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef if (evaluated.address > 0) return InterpretedAllocatedSymbolicPythonObject(evaluated) - return InterpretedInputSymbolicPythonObject(evaluated, model) + return InterpretedInputSymbolicPythonObject(evaluated, modelHolder) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index e2e469c726..5f12c7721b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -22,8 +22,8 @@ class PythonUnpinnedCallable( } } -sealed class TypeMethod: PythonCallable() +sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallable() -object NbBoolMethod: TypeMethod() -object NbIntMethod: TypeMethod() -data class TpRichcmpMethod(val op: Int): TypeMethod() \ No newline at end of file +object NbBoolMethod: TypeMethod(true) +object NbIntMethod: TypeMethod(true) +data class TpRichcmpMethod(val op: Int): TypeMethod(false) \ No newline at end of file From 81515cf2a415088fbec540f25a02876ec3ce7500 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 31 Jul 2023 14:08:45 +0300 Subject: [PATCH 042/344] More cases in type inference --- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 12 +++++ .../c/org_usvm_interpreter_CPythonAdapter.h | 16 +++++++ .../src/main/c/symbolic_handler.c | 26 +++++++++- .../src/main/c/virtual_objects.c | 42 +++++++++------- .../src/main/json/handler_defs.json | 9 +++- .../org/usvm/interpreter/CPythonAdapter.java | 15 ++++-- .../interpreter/ConcretePythonInterpreter.kt | 5 ++ .../usvm/interpreter/PythonExecutionState.kt | 5 +- .../org/usvm/interpreter/PythonMachine.kt | 4 +- .../interpreter/PythonVirtualPathSelector.kt | 1 + .../usvm/interpreter/USVMPythonInterpreter.kt | 10 ++-- .../usvm/interpreter/operations/Control.kt | 7 ++- .../org/usvm/interpreter/operations/Long.kt | 8 ++-- .../operations/MethodNotifications.kt | 9 +++- .../usvm/interpreter/operations/Virtual.kt | 9 +--- .../operations/tracing/PathTracing.kt | 9 ++-- .../tracing/SymbolicHandlerEvent.kt | 3 -- .../ConverterToPythonObject.kt | 10 +++- .../symbolicobjects/ObjectValidator.kt | 39 +++++++-------- .../symbolicobjects/SymbolicPythonObject.kt | 22 ++++----- .../main/kotlin/org/usvm/language/Domain.kt | 1 + .../org/usvm/language/types/TypeSystem.kt | 3 +- .../org/usvm/language/types/VirtualTypes.kt | 5 ++ usvm-python/src/test/kotlin/manualTest.kt | 25 +++------- .../org/usvm/samples/PythonTestRunner.kt | 12 +++-- .../org/usvm/samples/SimpleExampleTest.kt | 4 +- .../org/usvm/samples/SimpleListsTest.kt | 10 ++-- .../usvm/samples/SimpleTypeInferenceTest.kt | 48 +++++++++++++++++++ .../test/resources/samples/SimpleExample.py | 2 +- .../resources/samples/SimpleTypeInference.py | 22 ++++++++- 31 files changed, 273 insertions(+), 122 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 533162837b..fdc8ecf123 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 533162837b095b0bac1ebe8128cf5b3c22f3a983 +Subproject commit fdc8ecf1232568d25f4b8d9737b33c5ab70c518f diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 5ca27ed35d..36db986444 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -37,6 +37,13 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace return (jlong) PyDict_New(); } +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_addName(JNIEnv *env, jobject _, jlong dict, jlong ref, jstring name) { + assert(PyDict_Check((PyObject *) dict)); + const char *c_name = (*env)->GetStringUTFChars(env, name, 0); + PyDict_SetItemString((PyObject *) dict, c_name, (PyObject *) ref); + (*env)->ReleaseStringUTFChars(env, name, c_name); +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( JNIEnv *env, jobject cpython_adapter, @@ -201,6 +208,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNI return type->tp_as_number && type->tp_as_number->nb_int; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscript(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_mapping && type->tp_as_mapping->mp_subscript; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_richcompare != 0; diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 8dbb9c275a..55fee2a706 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -31,6 +31,14 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace (JNIEnv *, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: addName + * Signature: (JJLjava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_addName + (JNIEnv *, jobject, jlong, jlong, jstring); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRun @@ -135,6 +143,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasMpSubscript + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscript + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpRichcmp diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c index 6b64be894e..240f1feb24 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c @@ -23,6 +23,16 @@ CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) \ } +#define NOTIFY_BINARY(func) \ + PyObject *first = args[0]; \ + PyObject *second = args[1]; \ + if (is_wrapped_java_object(first) && is_wrapped_java_object(second)) { \ + jobject j_first = ((JavaPythonObject *) first)->reference; \ + jobject j_second = ((JavaPythonObject *) second)->reference; \ + (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, j_first, j_second); \ + CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) \ + } + static jobject make_load_const(ConcolicContext *ctx, PyObject *value) { if (PyLong_Check(value)) { @@ -70,6 +80,10 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * PyErr_Print(); printf("EVENT_ID: %d\n", signal_id); fflush(stdout); + PyObject *wrapped = PyObject_GetAttrString((PyObject *) value, "java_exception"); + printf("%p\n", wrapped); + fflush(stdout); + (*ctx->env)->Throw(ctx->env, ((JavaPythonObject *) wrapped)->reference); (*ctx->env)->ExceptionDescribe(ctx->env); } assert(type != ctx->java_exception); @@ -240,11 +254,19 @@ handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void * CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) } + } else if (signal_id == SYM_EVENT_ID_MP_SUBSCRIPT) { + assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 2); + NOTIFY_BINARY(mp_subscript) + } else if (signal_id == SYM_EVENT_ID_VIRTUAL_RICHCMP) { assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(symbolic_virtual_tp_richcmp) + BINARY_METHOD_HANDLER(symbolic_virtual_binary_fun) - } + } else if (signal_id == SYM_EVENT_ID_VIRTUAL_MP_SUBSCRIPT) { + assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); + BINARY_METHOD_HANDLER(symbolic_virtual_binary_fun) + + } return Py_None; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index f4980d208a..e2114cf6a2 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -10,25 +10,19 @@ virtual_object_dealloc(PyObject *op) { Py_TYPE(op)->tp_free(op); } +#define MAKE_USVM_VIRUAL_CALL(obj) \ + SymbolicAdapter *adapter = (obj)->adapter; \ + ConcolicContext *ctx = (obj)->ctx; \ + adapter->ignore = 1; \ + jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context); \ + adapter->ignore = 0; \ + CHECK_FOR_EXCEPTION(ctx, 0) \ + return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); + static PyObject * tp_richcompare(PyObject *o1, PyObject *o2, int op) { - ConcolicContext *ctx = 0; - SymbolicAdapter *adapter = 0; - if (is_virtual_object(o1)) { - ctx = ((VirtualPythonObject *) o1)->ctx; - adapter = ((VirtualPythonObject *) o1)->adapter; - } else if (is_virtual_object(o2)) { - ctx = ((VirtualPythonObject *) o2)->ctx; - adapter = ((VirtualPythonObject *) o2)->adapter; - } else { - PyErr_SetString(PyExc_RuntimeError, "Internal error in virtual tp_richcompare"); - return 0; // should not be reachable - } - adapter->ignore = 1; - jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context); - adapter->ignore = 0; - CHECK_FOR_EXCEPTION(ctx, 0) - return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); + assert(is_virtual_object(o1)); + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1) } static int @@ -53,6 +47,11 @@ nb_int(PyObject *self) { return (PyObject *) result; } +static PyObject * +mp_subscript(PyObject *self, PyObject *item) { + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self) +} + static PyNumberMethods virtual_as_number = { 0, /*nb_add*/ 0, /*nb_subtract*/ @@ -90,6 +89,12 @@ static PyNumberMethods virtual_as_number = { 0, /* nb_index */ }; +PyMappingMethods virtual_as_mapping = { + 0, /* mp_length */ + mp_subscript, /* mp_subscript */ + 0 /* mp_ass_subscript */ +}; + PyTypeObject VirtualPythonObject_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) VirtualObjectTypeName, @@ -103,7 +108,7 @@ PyTypeObject VirtualPythonObject_Type = { 0, /*tp_repr*/ &virtual_as_number, /*tp_as_number*/ 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ + &virtual_as_mapping, /*tp_as_mapping*/ 0, /*tp_hash */ 0, /*tp_call */ 0, /*tp_str */ @@ -168,4 +173,5 @@ is_virtual_object(PyObject *obj) { void register_virtual_methods() { virtual_tp_richcompare = tp_richcompare; + virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 0ba08949ee..8e03860ee7 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -129,6 +129,11 @@ "java_name": "notifyNbInt", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "mp_subscript", + "java_name": "notifyMpSubscript", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "tp_richcmp", "java_name": "notifyTpRichcmp", @@ -150,8 +155,8 @@ "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)Lorg/usvm/language/VirtualPythonObject;" }, { - "c_name": "symbolic_virtual_tp_richcmp", - "java_name": "handlerVirtualTpRichcmp", + "c_name": "symbolic_virtual_binary_fun", + "java_name": "handlerVirtualBinaryFun", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 4c0c6c999d..e643e2595a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -30,6 +30,7 @@ public class CPythonAdapter { public native void initializePython(); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict + public native void addName(long dict, long object, String name); public native int concreteRun(long globals, String code); // returns 0 on success public native long eval(long globals, String obj); // returns PyObject * public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs); @@ -43,6 +44,7 @@ public class CPythonAdapter { public native long makeList(long[] elements); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); + public native int typeHasMpSubscript(long type); public native int typeHasTpRichcmp(long type); public native Throwable extractException(long exception); @@ -179,23 +181,28 @@ public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } - public static SymbolForCPython handlerVirtualTpRichcmp(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { + public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, methodId, Arrays.asList(left, right), () -> virtualCallSymbolKt(context)); } public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); - withTracing(context, new NbBool(symbol), unit(() -> nbBoolKt(context, symbol.obj))); + nbBoolKt(context, symbol.obj); } public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); - withTracing(context, new NbInt(symbol), unit(() -> nbIntKt(context, symbol.obj))); + nbIntKt(context, symbol.obj); + } + + public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { + context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); + mpSubscriptKt(context, storage.obj); } public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); - withTracing(context, new TpRichcmp(op, left, right), unit(() -> tpRichcmpKt(context, left.obj, right.obj))); + tpRichcmpKt(context, left.obj); } public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index 81dd1ce398..a7fe593f0f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -13,6 +13,10 @@ object ConcretePythonInterpreter { return PythonNamespace(result) } + fun addObjectToNamespace(namespace: PythonNamespace, pythonObject: PythonObject, name: String) { + pythonAdapter.addName(namespace.address, pythonObject.address, name) + } + fun concreteRun(globals: PythonNamespace, code: String) { val result = pythonAdapter.concreteRun(globals.address, code) if (result != 0) @@ -120,6 +124,7 @@ object ConcretePythonInterpreter { val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } + val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } fun kill() { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 58f5cd81cf..86a2b05176 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -45,7 +45,7 @@ class PythonExecutionState( ) } override val isExceptional: Boolean = false // TODO - val meta = PythonExecutionStateInfo() + val meta = PythonExecutionStateMeta() val pyModel: PyModel get() = PyModel(models.first()) val lastHandlerEvent: SymbolicHandlerEvent? @@ -88,10 +88,11 @@ data class MockResult( val mockSymbol: UMockSymbol ) -class PythonExecutionStateInfo { +class PythonExecutionStateMeta { var extractedFrom: UPathSelector? = null var wasExecuted: Boolean = false var modelDied: Boolean = false var objectsWithoutConcreteTypes: Set? = null var lastConverter: ConverterToPythonObject? = null + var generatedFrom: String = "" // for debugging only } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index ac200c101f..08e68055b0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -55,7 +55,9 @@ class PythonMachine( pathConstraints, memory, solverRes.model - ) + ).also { + it.meta.generatedFrom = "Initial state" + } } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt index 6218cbdaf2..c295363c98 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -51,6 +51,7 @@ class PythonVirtualPathSelector( return forkResult.negativeState?.let { it.delayedForks = delayedFork.delayedFork.delayedForkPrefix + it.meta.generatedFrom = "From delayed fork" it } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 46a4f49fb8..92d83d9438 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -57,6 +57,7 @@ class USVMPythonInterpreter( state.meta.lastConverter?.restart() try { logger.debug("Step on state: {}", state) + logger.debug("Source of the state: {}", state.meta.generatedFrom) val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols symbols.forEach { validator.check(it.obj) } @@ -89,16 +90,17 @@ class USVMPythonInterpreter( logger.debug("Step result: Successful run") } catch (exception: CPythonExecutionException) { - require(exception.pythonExceptionValue != null) + require(exception.pythonExceptionValue != null && exception.pythonExceptionType != null) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { throw ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) } logger.debug( - "Step result: exception from CPython: {}", + "Step result: exception from CPython: {} - {}", + ConcretePythonInterpreter.getNameOfPythonType(exception.pythonExceptionType), ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) ) if (inputs != null) { - val serializedException = pythonObjectSerialization(exception.pythonExceptionValue) + val serializedException = pythonObjectSerialization(exception.pythonExceptionType) saveRunResult(PythonAnalysisResult(converter, inputs, Fail(serializedException))) } } @@ -110,7 +112,7 @@ class USVMPythonInterpreter( concolicRunContext.curState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() concolicRunContext.curState.meta.lastConverter = converter } - logger.debug((concolicRunContext.curState == state).toString()) + logger.debug("Finished step on state: {}", concolicRunContext.curState) return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index 0de7d555fe..eee1e16b24 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -27,7 +27,10 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { error("Should not be reachable") } if (forkResult.negativeState != oldCurState) - forkResult.negativeState?.let { ctx.forkedStates.add(it) } + forkResult.negativeState?.let { + ctx.forkedStates.add(it) + it.meta.generatedFrom = "From ordinary fork" + } } fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { @@ -51,7 +54,7 @@ fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonO } fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObject) { - if (cond.getConcreteTypeInModel(ctx) == null) { + if (cond.getTypeIfDefined(ctx) == null) { addDelayedFork(ctx, cond, ctx.curState.clone()) } val expr = cond.getToBoolValue(ctx) ?: return diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 15ef824663..77a0b118ca 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -16,11 +16,9 @@ fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> with (concolicContext.ctx) { - val leftType = left.getConcreteTypeInModel(concolicContext) - val rightType = right.getConcreteTypeInModel(concolicContext) - require(leftType == pythonInt || leftType == pythonBool) - require(rightType == pythonInt || rightType == pythonBool) - op(concolicContext.ctx, left.getToIntContent(concolicContext), right.getToIntContent(concolicContext))?.let { + myAssert(concolicContext, left.evalIs(concolicContext, pythonInt) or left.evalIs(concolicContext, pythonBool)) + myAssert(concolicContext, right.evalIs(concolicContext, pythonInt) or right.evalIs(concolicContext, pythonBool)) + op(concolicContext.ctx, left.getToIntContent(concolicContext)!!, right.getToIntContent(concolicContext)!!)?.let { @Suppress("unchecked_cast") when (it.sort) { intSort -> constructInt(concolicContext, it as UExpr) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index 808e14b9fa..57049d2a54 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -2,6 +2,7 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.language.types.HasMpSubscript import org.usvm.language.types.HasNbBool import org.usvm.language.types.HasNbInt import org.usvm.language.types.HasTpRichcmp @@ -14,6 +15,10 @@ fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) on.addSupertype(context, HasNbInt) } -fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { - myAssert(context, left.evalIs(context, HasTpRichcmp) or right.evalIs(context, HasTpRichcmp)) +fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + on.addSupertype(context, HasMpSubscript) +} + +fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { + myAssert(context, left.evalIs(context, HasTpRichcmp)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 6dd9db9443..722bbcbe1e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -11,7 +11,6 @@ import org.usvm.language.VirtualPythonObject import org.usvm.language.types.TypeOfVirtualObject import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt -import org.usvm.types.first fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation @@ -36,13 +35,7 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedOwner = - interpretSymbolicPythonObject( - context.curOperation.methodOwner.obj, - context.modelHolder - ) as InterpretedInputSymbolicPythonObject - val typeStreamOfOwner = interpretedOwner.getTypeStream() - val ownerIsAlreadyMocked = typeStreamOfOwner.first() == TypeOfVirtualObject && typeStreamOfOwner.take(2).size == 1 + val ownerIsAlreadyMocked = context.curOperation.methodOwner.obj.getTypeIfDefined(context) is TypeOfVirtualObject val clonedState = if (!ownerIsAlreadyMocked) context.curState.clone() else null val (symbolic, _, mockSymbol) = context.curState.mock(context.curOperation) if (!ownerIsAlreadyMocked) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index 4d6caf1d2b..f43ed09a7e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -19,8 +19,8 @@ fun withTracing( val event = context.curState.path[context.instructionCounter - 1] if (event.parameters != newEventParameters) { println("Path diversion!") - println(event.parameters) - println(newEventParameters) + println("Expected: ${event.parameters}") + println("Got: $newEventParameters") System.out.flush() throw PathDiversionException } @@ -41,7 +41,10 @@ fun handlerForkResultKt(context: ConcolicRunContext, result: Boolean) { if (lastEventParams !is Fork) return - val expectedResult = context.curState.pyModel.eval(lastEventParams.condition.obj.getBoolContent(context)).isTrue + val expectedResult = lastEventParams.condition.obj.getToBoolValue(context)?.let { + context.curState.pyModel.eval(it) + }?.isTrue ?: return + if (result != expectedResult) throw PathDiversionException } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 83b7d582a5..f0ee652a23 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -16,9 +16,6 @@ data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHa data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() -data class NbBool(val on: SymbolForCPython): SymbolicHandlerEventParameters() -data class NbInt(val on: SymbolForCPython): SymbolicHandlerEventParameters() -data class TpRichcmp(val op: Int, val left: SymbolForCPython, val right: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class MethodWithoutReturnValueParameters(val methodId: Int, val operands: List): SymbolicHandlerEventParameters() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt index 543a80ce62..852bb21545 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt @@ -74,12 +74,20 @@ class ConverterToPythonObject( private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { val size = obj.modelHolder.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr + val resultList = ConcretePythonInterpreter.makeList(emptyList()) + constructedObjects[obj.address] = resultList val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) val element = obj.modelHolder.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder) convert(elemInterpretedObject) } - return ConcretePythonInterpreter.makeList(listOfPythonObjects) + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, resultList, "x") + listOfPythonObjects.forEach { + ConcretePythonInterpreter.addObjectToNamespace(namespace, it, "y") + ConcretePythonInterpreter.concreteRun(namespace, "x.append(y)") + } + return resultList } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt index 35f9c06452..c7e2b54490 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt @@ -1,21 +1,26 @@ package org.usvm.interpreter.symbolicobjects +import io.ksmt.expr.KInt32NumExpr +import org.usvm.* import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.PyModelHolder +import org.usvm.interpreter.operations.myAssert +import org.usvm.language.types.pythonList class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { - @Suppress("unused_parameter") + private val checked = mutableSetOf() fun check(symbol: UninterpretedSymbolicPythonObject) { - /*val model = concolicRunContext.curState.pyModel - val concrete = interpretSymbolicPythonObject(symbol, model) - with(concolicRunContext.ctx) { - myAssert(concolicRunContext, mkHeapRefEq(symbol.address, nullRef).not()) + val modelHolder = concolicRunContext.modelHolder + val concrete = interpretSymbolicPythonObject(symbol, modelHolder) + if (checked.contains(concrete.address)) + return + checked.add(concrete.address) + when (concrete.getConcreteType(concolicRunContext)) { + //pythonInt -> checkInt(symbol) + //pythonNoneType -> checkNone(symbol) + //pythonBool -> checkBool(symbol) + pythonList -> checkList(symbol, modelHolder) } - when (concrete.getConcreteType()) { - pythonInt -> checkInt(symbol) - pythonNoneType -> checkNone(symbol) - pythonBool -> checkBool(symbol) - pythonList -> checkList(symbol, concrete) - }*/ } /* @@ -34,23 +39,19 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { val asInt = symbolic.getIntContent(concolicRunContext) myAssert(concolicRunContext, isTrue implies (asInt eq mkIntNum(1))) myAssert(concolicRunContext, isFalse implies (asInt eq mkIntNum(0))) - } + }*/ - private fun checkList(symbolic: UninterpretedSymbolicPythonObject, concrete: InterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { + @Suppress("unchecked_parameter") + private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { @Suppress("unchecked_cast") val symbolicSize = concolicRunContext.curState.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) - val size = concrete.model.eval(symbolicSize) as KInt32NumExpr - myAssert(concolicRunContext, symbolicSize le mkIntNum(10)) // temporary + val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> @Suppress("unchecked_cast") val element = concolicRunContext.curState.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef - myAssert(concolicRunContext, (symbolicSize gt mkIntNum(index)) implies mkNot(mkHeapRefEq(element, nullRef))) val elemObj = UninterpretedSymbolicPythonObject(element) - if (concolicRunContext.curState.useOnlyIntsAsInternalObjects) - elemObj.addSupertype(concolicRunContext, pythonInt) check(elemObj) } } - */ } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index c7b61e6228..4c5f5abb05 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -58,11 +58,11 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr } - fun getToIntContent(ctx: ConcolicRunContext): UExpr = with(ctx.ctx) { - return when (getConcreteTypeInModel(ctx)) { + fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { pythonInt -> getIntContent(ctx) pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) - else -> TODO() + else -> null } } @@ -72,18 +72,16 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr } - fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? { - val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) - with (ctx.ctx) { - return when (interpreted.getConcreteType(ctx)) { - pythonBool -> getBoolContent(ctx) - pythonInt -> getIntContent(ctx) neq mkIntNum(0) - else -> null - } + fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + pythonBool -> getBoolContent(ctx) + pythonInt -> getIntContent(ctx) neq mkIntNum(0) + pythonList -> ctx.curState.memory.heap.readArrayLength(address, pythonList) gt mkIntNum(0) + else -> null } } - fun getConcreteTypeInModel(ctx: ConcolicRunContext): ConcretePythonType? { + fun getTypeIfDefined(ctx: ConcolicRunContext): PythonType? { val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 5f12c7721b..01b5a6ac0f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -26,4 +26,5 @@ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallab object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) +object MpSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 4accc8052b..0b8d7db56d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -27,7 +27,8 @@ object PythonTypeSystem: UTypeSystem { pythonInt, pythonBool, pythonObjectType, - pythonNoneType + pythonNoneType, + pythonList ) override fun findSubtypes(type: PythonType): Sequence { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index d2d291d20f..7e363d9437 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -27,6 +27,11 @@ object HasNbInt: TypeProtocol() { ConcretePythonInterpreter.typeHasNbInt(type.asObject) } +object HasMpSubscript: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasMpSubscript(type.asObject) +} + object HasTpRichcmp: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpRichcmp(type.asObject) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9be9f7591c..f13c365818 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -2,30 +2,17 @@ import org.usvm.interpreter.* import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(y: list, i: int): - if y[i] == 0: - if i >= 0: - return 1 - else: - return 2 - elif y[i] == 167: - if i >= 0: - return 3 - else: - return 4 - if i >= 0: - return 5 - else: - return 6 + def f(x, y): + if x > y: + return 1 + return 2 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonInt), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> @@ -37,7 +24,7 @@ fun main() { println("RESULT:") when (result) { is Success -> println(ConcretePythonInterpreter.getPythonObjectRepr(result.output)) - is Fail -> println(ConcretePythonInterpreter.getPythonObjectTypeName(result.exception)) + is Fail -> println(ConcretePythonInterpreter.getNameOfPythonType(result.exception)) } println() } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 43da4518e1..f57101d7f6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -15,9 +15,11 @@ open class PythonTestRunner( override var options: UMachineOptions = UMachineOptions() private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> + val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) PythonObjectInfo( ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), - ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) + typeName, + if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(pythonObject) else null ) } override val typeTransformer: (Any?) -> PythonType @@ -121,8 +123,9 @@ open class PythonTestRunner( protected val compareConcolicAndConcreteTypesIfFail: (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Fail)?.let { - ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) == "type" && - it.exception.typeName == ConcretePythonInterpreter.getNameOfPythonType(concreteResult) + it.exception.typeName == "type" && + ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) == "type" && + it.exception.selfTypeName == ConcretePythonInterpreter.getNameOfPythonType(concreteResult) } ?: true } @@ -138,7 +141,8 @@ open class PythonTestRunner( class PythonObjectInfo( val repr: String, - val typeName: String + val typeName: String, + val selfTypeName: String? ) { override fun toString(): String = "$repr: $typeName" } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 76f7e29d92..be51da678f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -75,7 +75,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { functionZeroDivision, eq(1), standardConcolicAndConcreteChecks, - /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "ZeroDivisionError" }, + /* invariants = */ listOf { x, res -> x.typeName == "int" && res.selfTypeName == "ZeroDivisionError" }, /* propertiesToDiscover = */ listOf() ) } @@ -89,7 +89,7 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { standardConcolicAndConcreteChecks, /* invariants = */ listOf(), /* propertiesToDiscover = */ listOf( - { x, res -> x.repr.toInt() > 100 && res.typeName == "ZeroDivisionError" }, + { x, res -> x.repr.toInt() > 100 && res.selfTypeName == "ZeroDivisionError" }, { x, res -> x.repr.toInt() <= 100 && res.repr == x.repr } ) ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 233f8df666..419bfab175 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -19,7 +19,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { list.typeName == "list" && index.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, { _, _, res -> res.repr == "1" }, { _, _, res -> res.repr == "2" }, { _, _, res -> res.repr == "3" } @@ -38,7 +38,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { index.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, res -> res.typeName == "IndexError" }, + { _, res -> res.selfTypeName == "IndexError" }, { _, res -> res.repr == "1" }, { _, res -> res.repr == "2" }, { _, res -> res.repr == "3" }, @@ -58,7 +58,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { x.typeName == "int" && i.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, { _, _, res -> res.repr == "1" }, { _, _, res -> res.repr == "2" }, { _, _, res -> res.repr == "3" }, @@ -107,7 +107,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { standardConcolicAndConcreteChecks, /* invariants = */ listOf { arr, x, _ -> arr.typeName == "list" && x.typeName == "int" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, { _, _, res -> res.repr == "0" }, { _, _, res -> res.repr == "1" }, { _, _, res -> res.repr == "2" } @@ -124,7 +124,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "list" }, /* propertiesToDiscover = */ listOf( - { _, _, res -> res.typeName == "IndexError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, { _, _, res -> res.repr == "1" }, { _, _, res -> res.repr == "2" } ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index ff8b4991a3..bfee3466c1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -33,4 +33,52 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py } ) } + + private val functionListOfInt = constructFunction("list_of_int", List(1) { PythonAnyType }) + @Test + fun testListOfInt() { + check1WithConcreteRun( + functionListOfInt, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.selfTypeName != "TypeError" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + } + + private val functionDoubleSubscript = constructFunction("double_subscript", listOf(PythonAnyType)) + @Test + fun testDoubleSubscript() { + check1WithConcreteRun( + functionDoubleSubscript, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.selfTypeName != "TypeError" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + } + + private val functionSimpleComparison = constructFunction("simple_comparison", List(2) { PythonAnyType }) + @Test + fun testSimpleComparison() { + check2WithConcreteRun( + functionSimpleComparison, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" }, + { _, _, res -> res.repr == "3" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index f512a34971..0abebbc1ea 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -7,7 +7,7 @@ def many_branches(x: int, y: int, z: int): y += 10 ** 9 if 0 < x + z + 1 < 100 and y > 0: return 1 - elif x + 3 < -2 - z and x < y: + elif x + 3 < -2 - z and x <= y: return 2 elif x * 100 % 7 == 0 and z + y % 100 == 0: return 3 diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index b05a074c02..33e9c0fc0a 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -13,4 +13,24 @@ def two_args(x, y): elif y: return 3 else: - return 4 \ No newline at end of file + return 4 + + +def list_of_int(x): + if x[0] == 10: + return 1 + return 2 + + +def double_subscript(x): + if x[0][0]: + return 1 + return 2 + + +def simple_comparison(x, y): + if x > y: + return 1 + elif x == y: + return 2 + return 3 From 491f7840e4949b994f6619663b5829df5acf3ae7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 1 Aug 2023 15:53:58 +0300 Subject: [PATCH 043/344] Allowed path diversions --- .../src/main/c/approximations/lists.c | 7 +++ .../usvm/interpreter/ConcolicRunContext.java | 21 +++++++- .../org/usvm/interpreter/PythonMachine.kt | 3 +- .../usvm/interpreter/USVMPythonInterpreter.kt | 24 ++++++--- .../usvm/interpreter/operations/Constants.kt | 13 +++-- .../usvm/interpreter/operations/Control.kt | 28 ++++++---- .../org/usvm/interpreter/operations/List.kt | 52 +++++++++++-------- .../org/usvm/interpreter/operations/Long.kt | 4 +- .../usvm/interpreter/operations/Virtual.kt | 7 +-- .../operations/tracing/PathTracing.kt | 33 +++++++----- .../symbolicobjects/ObjectValidator.kt | 5 +- .../SymbolicObjectConstruction.kt | 6 ++- .../symbolicobjects/SymbolicPythonObject.kt | 31 +++++++---- usvm-python/src/test/kotlin/manualTest.kt | 13 +++-- .../org/usvm/samples/PathDiversionTest.kt | 39 ++++++++++++++ .../org/usvm/samples/PythonTestRunner.kt | 50 +++++++++++------- .../org/usvm/samples/SimpleListsTest.kt | 4 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 3 +- .../src/test/resources/samples/SimpleLists.py | 10 ++-- .../resources/samples/SimpleTypeInference.py | 4 +- .../test/resources/samples/TrickyExample.py | 21 ++++++++ 21 files changed, 269 insertions(+), 109 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/lists.c create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt create mode 100644 usvm-python/src/test/resources/samples/TrickyExample.py diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/lists.c b/usvm-python/cpythonadapter/src/main/c/approximations/lists.c new file mode 100644 index 0000000000..23cbfe09c4 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/approximations/lists.c @@ -0,0 +1,7 @@ +#include "Python.h" + +/*PyObject * +list_richcompare(PyObject *v, PyObject *w, int op) { + +} +*/ \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index c4a07e86aa..1f6d63dcb4 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -1,21 +1,38 @@ package org.usvm.interpreter; import org.jetbrains.annotations.NotNull; -import org.usvm.UContext; +import org.jetbrains.annotations.Nullable; +import org.usvm.interpreter.operations.tracing.PathDiversionException; import java.util.ArrayList; public class ConcolicRunContext { + @Nullable public PythonExecutionState curState; public UPythonContext ctx; public ArrayList forkedStates = new ArrayList<>(); public int instructionCounter = 0; public MockHeader curOperation = null; public PyModelHolder modelHolder; + public boolean allowPathDiversion; - ConcolicRunContext(@NotNull PythonExecutionState curState, UPythonContext ctx, PyModelHolder modelHolder) { + ConcolicRunContext( + @NotNull PythonExecutionState curState, + UPythonContext ctx, + PyModelHolder modelHolder, + boolean allowPathDiversion + ) { this.curState = curState; this.ctx = ctx; this.modelHolder = modelHolder; + this.allowPathDiversion = allowPathDiversion; + } + + public void pathDiversion() throws PathDiversionException { + if (allowPathDiversion) { + curState = null; + } else { + throw PathDiversionException.INSTANCE; + } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 08e68055b0..9cd2aa5e73 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -15,6 +15,7 @@ import org.usvm.statistics.UMachineObserver class PythonMachine( program: PythonProgram, private val printErrorMsg: Boolean = false, + private val allowPathDiversion: Boolean = true, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { private val ctx = UPythonContext() @@ -30,7 +31,7 @@ class PythonMachine( target: PythonUnpinnedCallable, results: MutableList> ): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, namespace, target, iterationCounter, printErrorMsg, pythonObjectSerialization) { + USVMPythonInterpreter(ctx, namespace, target, iterationCounter, printErrorMsg, allowPathDiversion, pythonObjectSerialization) { results.add(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 92d83d9438..5d6f621e6b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -13,6 +13,7 @@ class USVMPythonInterpreter( private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, + private val allowPathDiversion: Boolean = true, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { @@ -52,7 +53,7 @@ class USVMPythonInterpreter( state.meta.lastConverter!!.modelHolder else PyModelHolder(state.pyModel) - val concolicRunContext = ConcolicRunContext(state, ctx, modelHolder) + val concolicRunContext = ConcolicRunContext(state, ctx, modelHolder, allowPathDiversion) state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { @@ -105,16 +106,23 @@ class USVMPythonInterpreter( } } - concolicRunContext.curState.meta.wasExecuted = true iterationCounter.iterations += 1 + val resultState = concolicRunContext.curState + if (resultState != null) { + resultState.meta.wasExecuted = true - if (concolicRunContext.curState.delayedForks.isEmpty() && inputs == null) { - concolicRunContext.curState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() - concolicRunContext.curState.meta.lastConverter = converter - } - logger.debug("Finished step on state: {}", concolicRunContext.curState) + if (resultState.delayedForks.isEmpty() && inputs == null) { + resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() + resultState.meta.lastConverter = converter + } + logger.debug("Finished step on state: {}", concolicRunContext.curState) - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) + + } else { + logger.debug("Ended step with path diversion") + return StepResult(emptySequence(), false) + } } catch (_: BadModelException) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt index be005de42c..d146091cf9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt @@ -8,13 +8,18 @@ import org.usvm.language.types.pythonTuple import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject = - constructInt(context, context.ctx.mkIntNum(value)) +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + return constructInt(context, context.ctx.mkIntNum(value)) +} -fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject { +fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null val addresses = elements.map { it!!.address }.asSequence() with (context.ctx) { - val tupleAddress = context.curState.memory.malloc(pythonTuple, addressSort, addresses) + val tupleAddress = context.curState!!.memory.malloc(pythonTuple, addressSort, addresses) val result = UninterpretedSymbolicPythonObject(tupleAddress) result.addSupertype(context, pythonTuple) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index eee1e16b24..dd5c97db6b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -16,9 +16,11 @@ import org.usvm.language.PythonPinnedCallable import org.usvm.language.SymbolForCPython fun myFork(ctx: ConcolicRunContext, cond: UExpr) { - val model = ctx.curState.pyModel + if (ctx.curState == null) + return + val model = ctx.curState!!.pyModel val oldCurState = ctx.curState - val forkResult = fork(ctx.curState, cond) + val forkResult = fork(ctx.curState!!, cond) if (forkResult.positiveState?.pyModel == model) { ctx.curState = forkResult.positiveState } else if (forkResult.negativeState?.pyModel == model) { @@ -34,39 +36,45 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { - val oldModel = ctx.curState.pyModel - val forkResult = forkMulti(ctx.curState, listOf(cond)).single() + if (ctx.curState == null) + return + val oldModel = ctx.curState!!.pyModel + val forkResult = forkMulti(ctx.curState!!, listOf(cond)).single() if (forkResult == null) - ctx.curState.meta.modelDied = true + ctx.curState!!.meta.modelDied = true if (forkResult?.pyModel != oldModel) throw BadModelException } fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PythonExecutionState) { - context.curState.delayedForks = context.curState.delayedForks.add( + if (context.curState == null) + return + context.curState!!.delayedForks = context.curState!!.delayedForks.add( DelayedFork( clonedState, on, - context.curState.delayedForks + context.curState!!.delayedForks ) ) } fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObject) { + if (ctx.curState == null) + return if (cond.getTypeIfDefined(ctx) == null) { - addDelayedFork(ctx, cond, ctx.curState.clone()) + addDelayedFork(ctx, cond, ctx.curState!!.clone()) } val expr = cond.getToBoolValue(ctx) ?: return myFork(ctx, expr) } fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable) { - ctx.curState.callStack.push(function, ctx.curState.lastHandlerEvent) + (ctx.curState ?: return).callStack.push(function, (ctx.curState ?: return).lastHandlerEvent) } fun handlerReturnKt(ctx: ConcolicRunContext) { - ctx.curState.callStack.pop() + (ctx.curState ?: return).callStack.pop() } object BadModelException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt index 4edda8a8c5..7bdf0f66fd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -11,90 +11,100 @@ import org.usvm.language.types.pythonTuple import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject { +fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null val addresses = elements.map { it!!.address }.asSequence() with (context.ctx) { - val listAddress = context.curState.memory.malloc(pythonList, addressSort, addresses) + val listAddress = context.curState!!.memory.malloc(pythonList, addressSort, addresses) val result = UninterpretedSymbolicPythonObject(listAddress) - myAssert(context, context.curState.pathConstraints.typeConstraints.evalIsSubtype(listAddress, pythonList)) + myAssert(context, context.curState!!.pathConstraints.typeConstraints.evalIsSubtype(listAddress, pythonList)) return result } } private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { + if (context.curState == null) + return null with (context.ctx) { index.addSupertype(context, pythonInt) list.addSupertype(context, pythonList) @Suppress("unchecked_cast") - val listSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr val indexValue = index.getIntContent(context) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) myFork(context, indexCond) - if (context.curState.pyModel.eval(indexCond).isFalse) + if (context.curState!!.pyModel.eval(indexCond).isFalse) return null val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) myFork(context, positiveIndex) - return if (context.curState.pyModel.eval(positiveIndex).isTrue) { + return if (context.curState!!.pyModel.eval(positiveIndex).isTrue) { UArrayIndexLValue(addressSort, list.address, indexValue, pythonList) } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) - require(context.curState.pyModel.eval(negativeIndex).isTrue) + require(context.curState!!.pyModel.eval(negativeIndex).isTrue) UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), pythonList) } } } fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, index: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null list ?: return null index ?: return null - with (context.ctx) { - val lvalue = resolveIndex(context, list, index) ?: return null + val lvalue = resolveIndex(context, list, index) ?: return null - @Suppress("unchecked_cast") - val elemAddr = context.curState.memory.read(lvalue) as UHeapRef - return UninterpretedSymbolicPythonObject(elemAddr) - } + @Suppress("unchecked_cast") + val elemAddr = context.curState!!.memory.read(lvalue) as UHeapRef + return UninterpretedSymbolicPythonObject(elemAddr) } fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { + if (context.curState == null) + return val lvalue = resolveIndex(context, list, index) ?: return - context.curState.memory.write(lvalue, value.address) + context.curState!!.memory.write(lvalue, value.address) } fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, tuple: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null list ?: return null tuple ?: return null with (context.ctx) { list.addSupertype(context, pythonList) tuple.addSupertype(context, pythonTuple) @Suppress("unchecked_cast") - val currentSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr @Suppress("unchecked_cast") - val tupleSize = context.curState.memory.read(UArrayLengthLValue(tuple.address, pythonTuple)) as UExpr + val tupleSize = context.curState!!.memory.read(UArrayLengthLValue(tuple.address, pythonTuple)) as UExpr // TODO: type: list or tuple? - context.curState.memory.memcpy(tuple.address, list.address, pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) + context.curState!!.memory.memcpy(tuple.address, list.address, pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) val newSize = mkArithAdd(currentSize, tupleSize) - context.curState.memory.write(UArrayLengthLValue(list.address, pythonList), newSize) + context.curState!!.memory.write(UArrayLengthLValue(list.address, pythonList), newSize) return list } } fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, elem: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null list ?: return null elem ?: return null with (context.ctx) { list.addSupertype(context, pythonList) @Suppress("unchecked_cast") - val currentSize = context.curState.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr - context.curState.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, pythonList), elem.address) - context.curState.memory.write(UArrayLengthLValue(list.address, pythonList), mkArithAdd(currentSize, mkIntNum(1))) + val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + context.curState!!.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, pythonList), elem.address) + context.curState!!.memory.write(UArrayLengthLValue(list.address, pythonList), mkArithAdd(currentSize, mkIntNum(1))) return list } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 77a0b118ca..9b1ad9b23c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -15,7 +15,9 @@ import org.usvm.language.types.pythonInt fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> - with (concolicContext.ctx) { + if (concolicContext.curState == null) + null + else with (concolicContext.ctx) { myAssert(concolicContext, left.evalIs(concolicContext, pythonInt) or left.evalIs(concolicContext, pythonBool)) myAssert(concolicContext, right.evalIs(concolicContext, pythonInt) or right.evalIs(concolicContext, pythonBool)) op(concolicContext.ctx, left.getToIntContent(concolicContext)!!, right.getToIntContent(concolicContext)!!)?.let { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 722bbcbe1e..20fb2efc17 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -35,15 +35,16 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation + context.curState ?: throw UnregisteredVirtualOperation val ownerIsAlreadyMocked = context.curOperation.methodOwner.obj.getTypeIfDefined(context) is TypeOfVirtualObject - val clonedState = if (!ownerIsAlreadyMocked) context.curState.clone() else null - val (symbolic, _, mockSymbol) = context.curState.mock(context.curOperation) + val clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null + val (symbolic, _, mockSymbol) = context.curState!!.mock(context.curOperation) if (!ownerIsAlreadyMocked) { addDelayedFork(context, context.curOperation.methodOwner.obj, clonedState!!) } if (context.curOperation.method.isMethodWithNonVirtualReturn) { val newModel = constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol) - substituteModel(context.curState, newModel, context) + substituteModel(context.curState!!, newModel, context) } val concrete = interpretSymbolicPythonObject(symbolic, context.modelHolder) return VirtualPythonObject(concrete as InterpretedInputSymbolicPythonObject) to symbolic diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index f43ed09a7e..70166090cc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -1,28 +1,35 @@ package org.usvm.interpreter.operations.tracing +import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import java.util.concurrent.Callable +private val logger = object : KLogging() {}.logger +object PathDiversionException: Exception() + fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, resultSupplier: Callable ): T? { + if (context.curState == null) + return null context.instructionCounter++ - if (context.instructionCounter > context.curState.path.size) { + if (context.instructionCounter > context.curState!!.path.size) { val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() + if (context.curState == null) + return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) - context.curState.path = context.curState.path.add(eventRecord) + context.curState!!.path = context.curState!!.path.add(eventRecord) return result } - val event = context.curState.path[context.instructionCounter - 1] + val event = context.curState!!.path[context.instructionCounter - 1] if (event.parameters != newEventParameters) { - println("Path diversion!") - println("Expected: ${event.parameters}") - println("Got: $newEventParameters") - System.out.flush() - throw PathDiversionException + logger.debug("Path diversion!") + logger.debug("Expected: {}", event.parameters) + logger.debug("Got: {}", newEventParameters) + context.pathDiversion() } event.result ?: return null @@ -30,21 +37,19 @@ fun withTracing( return event.result as T } -object PathDiversionException: Exception() - // TODO: there might be events between fork and fork result fun handlerForkResultKt(context: ConcolicRunContext, result: Boolean) { - if (context.instructionCounter < 1) + if (context.instructionCounter < 1 || context.curState == null) return - val lastEventParams = context.curState.path[context.instructionCounter - 1].parameters + val lastEventParams = context.curState!!.path[context.instructionCounter - 1].parameters if (lastEventParams !is Fork) return val expectedResult = lastEventParams.condition.obj.getToBoolValue(context)?.let { - context.curState.pyModel.eval(it) + context.curState!!.pyModel.eval(it) }?.isTrue ?: return if (result != expectedResult) - throw PathDiversionException + context.pathDiversion() } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt index c7e2b54490..f99dfd39c2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt @@ -43,13 +43,14 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { @Suppress("unchecked_parameter") private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { + require(concolicRunContext.curState != null) @Suppress("unchecked_cast") - val symbolicSize = concolicRunContext.curState.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr + val symbolicSize = concolicRunContext.curState!!.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> @Suppress("unchecked_cast") - val element = concolicRunContext.curState.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef + val element = concolicRunContext.curState!!.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef val elemObj = UninterpretedSymbolicPythonObject(element) check(elemObj) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index 9b9512c33a..7707f7b4ef 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -28,14 +28,16 @@ fun constructInputObject( fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { - val address = context.curState.memory.alloc(pythonInt) + require(context.curState != null) + val address = context.curState!!.memory.alloc(pythonInt) val result = UninterpretedSymbolicPythonObject(address) result.setIntContent(context, expr) return result } fun constructBool(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { - val address = context.curState.memory.alloc(pythonBool) + require(context.curState != null) + val address = context.curState!!.memory.alloc(pythonBool) val result = UninterpretedSymbolicPythonObject(address) result.setBoolContent(context, expr) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 4c5f5abb05..35e3c38070 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -27,11 +27,14 @@ sealed class SymbolicPythonObject(open val address: UHeapRef) { class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject(address) { fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { + require(ctx.curState != null) myAssert(ctx, evalIs(ctx, type)) } - fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr = - evalIs(ctx.ctx, ctx.curState.pathConstraints.typeConstraints, type) + fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { + require(ctx.curState != null) + return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) + } fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) @@ -41,21 +44,24 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject } fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { + require(ctx.curState != null) addSupertype(ctx, pythonInt) val lvalue = UFieldLValue(expr.sort, address, IntContent) - ctx.curState.memory.write(lvalue, expr) + ctx.curState!!.memory.write(lvalue, expr) } fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { + require(ctx.curState != null) addSupertype(ctx, pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContent) - ctx.curState.memory.write(lvalue, expr) + ctx.curState!!.memory.write(lvalue, expr) } fun getIntContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) addSupertype(ctx, pythonInt) @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr + return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr } fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { @@ -67,16 +73,18 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject } fun getBoolContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) addSupertype(ctx, pythonBool) @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr + return ctx.curState!!.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr } fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + require(ctx.curState != null) return when (getTypeIfDefined(ctx)) { pythonBool -> getBoolContent(ctx) pythonInt -> getIntContent(ctx) neq mkIntNum(0) - pythonList -> ctx.curState.memory.heap.readArrayLength(address, pythonList) gt mkIntNum(0) + pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, pythonList) gt mkIntNum(0) else -> null } } @@ -144,17 +152,20 @@ class InterpretedAllocatedSymbolicPythonObject( require(address.address > 0) } override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? { - return ctx.curState.memory.typeStreamOf(address).first() as? ConcretePythonType + require(ctx.curState != null) + return ctx.curState!!.memory.typeStreamOf(address).first() as? ConcretePythonType } override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { + require(ctx.curState != null) @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as KInterpretedValue + return ctx.curState!!.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as KInterpretedValue } override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue { + require(ctx.curState != null) @Suppress("unchecked_cast") - return ctx.curState.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue + return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index f13c365818..4b14db6c05 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -2,18 +2,23 @@ import org.usvm.interpreter.* import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x, y): - if x > y: + import copy + + def f(x): + y = copy.deepcopy(x) + if y: return 1 return 2 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") - val machine = PythonMachine(program, printErrorMsg = true) { it } + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") + val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt new file mode 100644 index 0000000000..03a1803cb6 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -0,0 +1,39 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.usvm.interpreter.operations.tracing.PathDiversionException +import org.usvm.language.types.pythonInt +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class AllowPathDiversionTest : PythonTestRunner("/samples/TrickyExample.py", allowPathDiversions = true) { + private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) + @Test + fun testAllowPathDiversion() { + check1WithConcreteRun( + function, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, _ -> x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "4" } + ) + ) + } +} + +class ForbidPathDiversionTest : PythonTestRunner("/samples/TrickyExample.py", allowPathDiversions = false) { + private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) + @Test + fun testForbidPathDiversion() { + assertThrows { + check1( + function, + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ emptyList() + ) + } + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index f57101d7f6..f83c7cd6cc 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -10,11 +10,12 @@ import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File open class PythonTestRunner( - sourcePath: String + sourcePath: String, + allowPathDiversions: Boolean = false ): TestRunner() { override var options: UMachineOptions = UMachineOptions() private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() - private val machine = PythonMachine(PythonProgram(testSources)) { pythonObject -> + private val machine = PythonMachine(PythonProgram(testSources), allowPathDiversion = allowPathDiversions) { pythonObject -> val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) PythonObjectInfo( ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), @@ -38,8 +39,8 @@ open class PythonTestRunner( private fun compareWithConcreteRun( target: PythonUnpinnedCallable, test: PythonTest, - check: (PythonObject) -> Boolean - ): Boolean { + check: (PythonObject) -> String? + ): String? { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, testSources) val functionRef = target.reference(namespace) @@ -56,10 +57,10 @@ open class PythonTestRunner( } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> Boolean, List, List) -> Unit = + (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> String?, List, List) -> Unit = { target: PythonUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - compareConcolicAndConcrete: (PythonTest, PythonObject) -> Boolean, + compareConcolicAndConcrete: (PythonTest, PythonObject) -> String?, invariants: List, propertiesToDiscover: List -> val onAnalysisResult = { pythonTest: PythonTest -> @@ -69,8 +70,13 @@ open class PythonTestRunner( } val result = pythonTest.inputValues.map { it.reprFromPythonObject } + executionResult if (concreteRun) { - require(compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) }) { - "Error in CPython patch: concrete and concolic results differ" + val comparisonResult = compareWithConcreteRun(target, pythonTest) { + compareConcolicAndConcrete(pythonTest, it) + } + require(comparisonResult == null) { + "Error in CPython patch: concrete and concolic results differ. " + + "Checker msg: $comparisonResult. " + + "Inputs: ${pythonTest.inputValues.map { it.reprFromPythonObject }.joinToString(", ")}" } } result @@ -96,7 +102,7 @@ open class PythonTestRunner( createCheckWithConcreteRun(concreteRun = false)( target, analysisResultsNumberMatcher, - { _, _ -> true }, + { _, _ -> null }, invariants, propertiesToDiscover ) @@ -114,24 +120,30 @@ open class PythonTestRunner( createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: - (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> + (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Success)?.let { - it.output.repr == ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) - } ?: true + val concolic = it.output.repr + val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + if (concolic == concrete) null else "(Success) Expected $concrete, got $concolic" + } } protected val compareConcolicAndConcreteTypesIfFail: - (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> + (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Fail)?.let { - it.exception.typeName == "type" && - ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) == "type" && - it.exception.selfTypeName == ConcretePythonInterpreter.getNameOfPythonType(concreteResult) - } ?: true + if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") + "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" + else { + val concolic = it.exception.selfTypeName + val concrete = ConcretePythonInterpreter.getNameOfPythonType(concreteResult) + if (concolic == concrete) null else "(Fail) Expected $concrete, got $concolic" + } + } } protected val standardConcolicAndConcreteChecks: - (PythonTest, PythonObject) -> Boolean = { testFromConcolic, concreteResult -> - compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) && + (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 419bfab175..046855f41e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -6,7 +6,7 @@ import org.usvm.language.types.pythonList import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { +class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { private val functionSimpleListSample = constructFunction("simple_list_sample", listOf(pythonList, pythonInt)) @Test @@ -139,7 +139,7 @@ class ListsTest : PythonTestRunner("/samples/SimpleLists.py") { ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "int" }, - /* propertiesToDiscover = */ List(6) { index -> + /* propertiesToDiscover = */ List(7) { index -> { _, _, res -> res.repr == (index + 1).toString() } } ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index bfee3466c1..7c9ab45019 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -45,7 +45,8 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py /* propertiesToDiscover = */ listOf( { _, res -> res.selfTypeName == "IndexError" }, { _, res -> res.repr == "1" }, - { _, res -> res.repr == "2" } + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" } ) ) } diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 03ec7ef135..73eef38de5 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -70,11 +70,13 @@ def positive_and_negative_index(y: list, i: int): else: return 2 elif y[i] == 167: - if i >= 0: + if i % 10 == 7: return 3 - else: + elif i >= 0: return 4 + else: + return 5 if i >= 0: - return 5 - else: return 6 + else: + return 7 diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 33e9c0fc0a..7553a3e9b5 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -19,7 +19,9 @@ def two_args(x, y): def list_of_int(x): if x[0] == 10: return 1 - return 2 + elif x[-1] == 150: + return 2 + return 3 def double_subscript(x): diff --git a/usvm-python/src/test/resources/samples/TrickyExample.py b/usvm-python/src/test/resources/samples/TrickyExample.py new file mode 100644 index 0000000000..ebe6c06a70 --- /dev/null +++ b/usvm-python/src/test/resources/samples/TrickyExample.py @@ -0,0 +1,21 @@ +# we probably won't approximate pickle, so this is used for testing path diversion detection +import pickle + + +def pickle_path_diversion(x: int): + y = pickle.loads(pickle.dumps(x)) # y is equal to x + if y >= 0: + if x >= 0: + return 1 + return 2 # unreachable + else: + if x >= 0: + return 3 # unreachable + return 4 + + +def pickle_unregistered_virtual_call(x): + y = pickle.loads(pickle.dumps(x)) + if y: + return 1 + return 2 From 014e7a815e6ccaeacea34de0e164a12e9e2d07b8 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 2 Aug 2023 13:52:02 +0300 Subject: [PATCH 044/344] Refactored SymbolicAdapter --- usvm-python/cpythonadapter/build.gradle.kts | 84 ++++- usvm-python/cpythonadapter/cpython | 2 +- .../main/c/approximations/approximations.h | 3 + .../src/main/c/approximations/builtins.c | 24 ++ .../src/main/c/approximations/list.c | 8 + .../src/main/c/approximations/lists.c | 7 - .../cpythonadapter/src/main/c/converters.c | 49 +++ .../cpythonadapter/src/main/c/converters.h | 21 ++ .../c/org_usvm_interpreter_CPythonAdapter.c | 23 +- .../c/org_usvm_interpreter_CPythonAdapter.h | 8 + .../src/main/c/symbolic_handler.c | 272 ---------------- .../src/main/c/symbolic_handler.h | 16 - .../src/main/c/virtual_objects.c | 7 +- .../src/main/json/adapter_method_defs.json | 302 ++++++++++++++++++ .../src/main/json/handler_defs.json | 47 ++- .../org/usvm/interpreter/CPythonAdapter.java | 87 +++-- .../interpreter/ConcretePythonInterpreter.kt | 5 + .../usvm/interpreter/operations/Constants.kt | 21 +- .../tracing/SymbolicHandlerEvent.kt | 14 +- usvm-python/src/test/kotlin/manualTest.kt | 22 +- .../test/resources/samples/TrickyExample.py | 2 + 21 files changed, 627 insertions(+), 397 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/approximations.h create mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/builtins.c create mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/list.c delete mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/lists.c create mode 100644 usvm-python/cpythonadapter/src/main/c/converters.c create mode 100644 usvm-python/cpythonadapter/src/main/c/converters.h delete mode 100644 usvm-python/cpythonadapter/src/main/c/symbolic_handler.c delete mode 100644 usvm-python/cpythonadapter/src/main/c/symbolic_handler.h create mode 100644 usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index f286ed2d44..4f52defb33 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -59,7 +59,80 @@ val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { commandLine("make", "install") } -fun generateHandlerDefs(): String { +@Suppress("unchecked_cast") +fun generateSymbolicAdapterMethod(description: Map): String { + val cName = description["c_name"] as String + val cReturnType = description["c_return_type"] as String + val numberOfArgs = description["nargs"] as Int + val cArgTypes = description["c_arg_types"] as List + val cArgs = List(numberOfArgs) { index -> "${cArgTypes[index]} arg_$index" } + val javaArgTypes = description["java_arg_types"] as List + val argConverters = description["argument_converters"] as List + val failValue = description["fail_value"] as String + val defaultValue = description["default_value"] as String + val javaArgsCreation = List(numberOfArgs) { index -> + """ + ${javaArgTypes[index]} java_arg_$index = ${argConverters[index]}(ctx, arg_$index, &fail); if (fail) return $defaultValue; + """.trimIndent() + } + val javaReturnType = description["java_return_type"] as String + val javaReturnDescr: String = when (javaReturnType) { + "jobject" -> "Object" + "void" -> "Void" + else -> error("Incorrect handler definition") + } + val javaArgs = (listOf("ctx->context") + List(numberOfArgs) { "java_arg_$it" }).joinToString(", ") + val returnValueCreation = + if (javaReturnType != "void") + "$javaReturnType java_return = (*ctx->env)->CallStatic${javaReturnDescr}Method(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + else + "(*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + val returnConverted = description["result_converter"] as String + val returnStmt = + if (javaReturnType == "void") + "return $defaultValue;" + else + "return $returnConverted(ctx, java_return);" + return """ + static $cReturnType + $cName(${(listOf("void *arg") + cArgs).joinToString(", ")}) { + // printf("INSIDE $cName!\n"); fflush(stdout); + ConcolicContext *ctx = (ConcolicContext *) arg; + int fail = 0; + ${javaArgsCreation.joinToString("\n ")} + // printf("CALLING JAVA METHOD IN $cName!\n"); fflush(stdout); + $returnValueCreation + CHECK_FOR_EXCEPTION(ctx, $failValue) + $returnStmt + } + """.trimIndent() +} + +fun generateSymbolicAdapterMethods(): String { + val handlerDefs by extra { + @Suppress("unchecked_cast") + JsonSlurper().parse(file("${projectDir.path}/src/main/json/adapter_method_defs.json")) as List> + } + val defs = handlerDefs.joinToString("\n\n", transform = ::generateSymbolicAdapterMethod) + val registration = """ + static void + REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter) { + ${ + handlerDefs.joinToString(" ") { + val name = it["c_name"]!! + "adapter->$name = $name;" + } + } + } + """.trimIndent() + return defs + "\n\n" + registration +} + +tasks.register("testGenerateTask") { + commandLine("echo", generateSymbolicAdapterMethods()) +} + +fun generateCPythonAdapterDefs(): String { val handlerDefs by extra { @Suppress("unchecked_cast") JsonSlurper().parse(file("${projectDir.path}/src/main/json/handler_defs.json")) as List> @@ -87,9 +160,12 @@ val adapterHeaderPath = "${project.buildDir.path}/adapter_include" val headers = tasks.register("generateHeaders") { File(adapterHeaderPath).mkdirs() - val file = File("$adapterHeaderPath/CPythonAdapterMethods.h") - file.createNewFile() - file.writeText(generateHandlerDefs()) + val fileForCPythonAdapterMethods = File("$adapterHeaderPath/CPythonAdapterMethods.h") + fileForCPythonAdapterMethods.createNewFile() + fileForCPythonAdapterMethods.writeText(generateCPythonAdapterDefs()) + val fileForSymbolicAdapterMethods = File("$adapterHeaderPath/SymbolicAdapterMethods.h") + fileForSymbolicAdapterMethods.createNewFile() + fileForSymbolicAdapterMethods.writeText(generateSymbolicAdapterMethods()) } library { diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index fdc8ecf123..8511f92e07 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit fdc8ecf1232568d25f4b8d9737b33c5ab70c518f +Subproject commit 8511f92e07440f5facfd7169bd6ee7d17d5cb121 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h new file mode 100644 index 0000000000..f6ac84a085 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h @@ -0,0 +1,3 @@ +#include "Python.h" + +// PyObject *Approximation_len(PyObject *o); // builtins.len() \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c new file mode 100644 index 0000000000..95c91b3430 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -0,0 +1,24 @@ +#include "approximations.h" +#include "wrapper.h" + +/* +static int +get_len_event_id(lenfunc fun) { + if (fun == PyList_Type.tp_as_sequence.sq_length || fun == PyList_Type.tp_as_mapping.mp_length) + return +} + +PyObject * +Approximation_len(PyObject *o) { + assert(is_wrapped(o)); + SymbolicAdapter *adapter = get_adapter(o); + + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (m && m->sq_length) { + Py_ssize_t len = m->sq_length(o); + PyObject *symbolic_len = + return len; + } + +} +*/ \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c new file mode 100644 index 0000000000..ea1f773529 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -0,0 +1,8 @@ +#include "approximations.h" + +/* +PyObject * +Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { + if (Py_TYPE(v)->) +} +*/ \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/lists.c b/usvm-python/cpythonadapter/src/main/c/approximations/lists.c deleted file mode 100644 index 23cbfe09c4..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/approximations/lists.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "Python.h" - -/*PyObject * -list_richcompare(PyObject *v, PyObject *w, int op) { - -} -*/ \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c new file mode 100644 index 0000000000..8a7f126fd8 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -0,0 +1,49 @@ +#include "converters.h" +#include "utils.h" + +jint frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail) { + return take_instruction_from_frame(value); +} + +jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail) { + if (!is_wrapped_java_object(value)) { + //printf("FAILED TO CONVERT OBJECT OF TYPE %s\n", Py_TYPE(value)->tp_name); + //fflush(stdout); + *fail = 1; + return 0; + } + //printf("Successfully converted\n"); + //fflush(stdout); + return ((JavaPythonObject *) value)->reference; +} + +jint int_converter(ConcolicContext *ctx, int value, int *fail) { + return value; +} + +jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail) { + return (jlong) ref; +} + +PyObject *object_wrapper(ConcolicContext *ctx, jobject value) { + if (!value) + return Py_None; + return wrap_java_object(ctx->env, value); +} + +jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) { + int n = 0; + while (elems[n] != 0) n++; + jobjectArray symbol_array = (*ctx->env)->NewObjectArray(ctx->env, n, ctx->symbol_cls, 0); + for (int i = 0; i < n; i++) { + if (!is_wrapped_java_object(elems[i])) { + *fail = 1; + return 0; + } + + jobject elem = ((JavaPythonObject *) elems[i])->reference; + (*ctx->env)->SetObjectArrayElement(ctx->env, symbol_array, i, elem); + } + + return symbol_array; +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/converters.h b/usvm-python/cpythonadapter/src/main/c/converters.h new file mode 100644 index 0000000000..5b65fd32a2 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/converters.h @@ -0,0 +1,21 @@ +#ifndef _Included_CPythonAdapter_converters +#define _Included_CPythonAdapter_converters +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "Python.h" +#include "utils.h" + +jint frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail); +jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail); +jint int_converter(ConcolicContext *ctx, int value, int *fail); +jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); +PyObject *object_wrapper(ConcolicContext *ctx, jobject value); +jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 36db986444..8fb9ad8c59 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -2,7 +2,8 @@ #include "org_usvm_interpreter_CPythonAdapter.h" #include "utils.h" -#include "symbolic_handler.h" +#include "converters.h" +#include "SymbolicAdapterMethods.h" // generated from Gradle script #include "symbolicadapter.h" #include "virtual_objects.h" @@ -126,8 +127,9 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_concolic_context(env, context, cpython_adapter, &ctx); (*env)->SetLongField(env, cpython_adapter, ctx.cpython_java_exception_field, (jlong) ctx.java_exception); - SymbolicAdapter *adapter = create_new_adapter(handler, &ctx); - register_virtual_methods(); + SymbolicAdapter *adapter = create_new_adapter(&ctx); + register_virtual_methods(adapter); + REGISTER_ADAPTER_METHODS(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); @@ -154,6 +156,21 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObjec fflush(stdout); } +JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterableElements(JNIEnv *env, jobject _, jlong ref) { + PyObject *obj = (PyObject *) ref; + int n = PyObject_Size(obj); + jlong *elements = malloc(n * sizeof(jlong)); + for (int i = 0; i < n; i++) { + elements[i] = (jlong) PyObject_GetItem(obj, PyLong_FromLong(i)); + } + + jlongArray result = (*env)->NewLongArray(env, n); + (*env)->SetLongArrayRegion(env, result, 0, n, elements); + free(elements); + + return result; +} + JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { PyObject *repr = PyObject_Repr((PyObject *) object_ref); const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index 55fee2a706..ab6b2ed831 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -79,6 +79,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getIterableElements + * Signature: (J)[J + */ +JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterableElements + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: getPythonObjectRepr diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c deleted file mode 100644 index 240f1feb24..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.c +++ /dev/null @@ -1,272 +0,0 @@ -#include "symbolic_handler.h" -#include "utils.h" -#include "virtual_objects.h" - -#define BINARY_METHOD_HANDLER(func) \ - PyObject *left = args[0], *right = args[1]; \ - if (!is_wrapped_java_object(left) || !is_wrapped_java_object(right)) \ - return Py_None; \ - jobject left_obj = ((JavaPythonObject *) left)->reference; \ - jobject right_obj = ((JavaPythonObject *) right)->reference; \ - jobject result; \ - CALL_JAVA_METHOD(result, ctx, func, ctx->context, signal_id, left_obj, right_obj) \ - if (!result) \ - return Py_None; \ - PyObject *r = wrap_java_object(ctx->env, result); \ - return r; - -#define NOTIFY_UNARY(func) \ - PyObject *symbolic = args[0]; \ - if (is_wrapped_java_object(symbolic)) { \ - jobject object = ((JavaPythonObject *) symbolic)->reference; \ - (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, object); \ - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) \ - } - -#define NOTIFY_BINARY(func) \ - PyObject *first = args[0]; \ - PyObject *second = args[1]; \ - if (is_wrapped_java_object(first) && is_wrapped_java_object(second)) { \ - jobject j_first = ((JavaPythonObject *) first)->reference; \ - jobject j_second = ((JavaPythonObject *) second)->reference; \ - (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, ctx->context, j_first, j_second); \ - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) \ - } - -static jobject -make_load_const(ConcolicContext *ctx, PyObject *value) { - if (PyLong_Check(value)) { - int overflow; - long value_as_long = PyLong_AsLongAndOverflow(value, &overflow); - if (overflow) - return 0; - - jobject result; - CALL_JAVA_METHOD_CUSTOM_FAIL(0, result, ctx, load_const_long, ctx->context, value_as_long) - - return result; - - } else if (PyTuple_Check(value)) { - - int n = PyTuple_GET_SIZE(value); - jobjectArray args = (*ctx->env)->NewObjectArray(ctx->env, n, ctx->symbol_cls, 0); - - for (int i = 0; i < n; i++) { - jobject elem = make_load_const(ctx, PyTuple_GetItem(value, i)); - if (!elem) { - return 0; - } - (*ctx->env)->SetObjectArrayElement(ctx->env, args, i, elem); - } - - jobject result; - CALL_JAVA_METHOD_CUSTOM_FAIL(0, result, ctx, load_const_tuple, ctx->context, args) - - return result; - - } else { - return 0; - } -} - -PyObject * -handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param) { - ConcolicContext *ctx = (ConcolicContext *) param; - // assert(!PyErr_Occurred()); - if (PyErr_Occurred()) { - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - if (type == ctx->java_exception) { - PyErr_Print(); - printf("EVENT_ID: %d\n", signal_id); - fflush(stdout); - PyObject *wrapped = PyObject_GetAttrString((PyObject *) value, "java_exception"); - printf("%p\n", wrapped); - fflush(stdout); - (*ctx->env)->Throw(ctx->env, ((JavaPythonObject *) wrapped)->reference); - (*ctx->env)->ExceptionDescribe(ctx->env); - } - assert(type != ctx->java_exception); - PyErr_Restore(type, value, traceback); - } - - if (signal_id == SYM_EVENT_ID_CONST) { - assert(signal_type == SYM_EVENT_TYPE_STACK && nargs == 1); - PyObject *value = args[0]; - jobject result = make_load_const(ctx, value); - if (!result) - return Py_None; - - return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); - - } else if (signal_id == SYM_EVENT_ID_FORK) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - - PyObject *value = args[0]; - if (is_wrapped_java_object(value)) { - //printf("Fork on known condition\n"); - //fflush(stdout); - jobject obj = ((JavaPythonObject *) value)->reference; - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork, ctx->context, obj); - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) - } - - return Py_None; - - } else if (signal_id == SYM_EVENT_ID_INT_GT) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(gt_long) - - } else if (signal_id == SYM_EVENT_ID_INT_LT) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(lt_long) - - } else if (signal_id == SYM_EVENT_ID_INT_EQ) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(eq_long) - - } else if (signal_id == SYM_EVENT_ID_INT_NE) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(ne_long) - - } else if (signal_id == SYM_EVENT_ID_INT_LE) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(le_long) - - } else if (signal_id == SYM_EVENT_ID_INT_GE) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(ge_long) - - } else if (signal_id == SYM_EVENT_ID_INT_ADD) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(add_long) - - } else if (signal_id == SYM_EVENT_ID_INT_SUB) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(sub_long) - - } else if (signal_id == SYM_EVENT_ID_INT_MULT) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(mul_long) - - } else if (signal_id == SYM_EVENT_ID_INT_FLOORDIV) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(div_long) - - } else if (signal_id == SYM_EVENT_ID_INT_REM) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(rem_long) - - } else if (signal_id == SYM_EVENT_ID_INT_POW) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 3); - if (args[2] != Py_None) - return Py_None; - BINARY_METHOD_HANDLER(pow_long) - - } else if (signal_id == SYM_EVENT_ID_INSTRUCTION) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - - PyFrameObject *frame = (PyFrameObject *) args[0]; - int instruction = take_instruction_from_frame(frame); - - //printf("INSTRUCTION: %d\n", instruction); - //fflush(stdout); - - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_instruction, ctx->context, instruction); - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) - - return Py_None; - - } else if (signal_id == SYM_EVENT_ID_CREATE_LIST) { - assert(signal_type == SYM_EVENT_TYPE_STACK && nargs >= 0); - - //printf("BUILD_LIST!\n"); - //fflush(stdout); - - jobjectArray symbol_array = (*ctx->env)->NewObjectArray(ctx->env, nargs, ctx->symbol_cls, 0); - for (int i = 0; i < nargs; i++) { - if (!is_wrapped_java_object(args[i])) - return Py_None; - - jobject elem = ((JavaPythonObject *) args[i])->reference; - (*ctx->env)->SetObjectArrayElement(ctx->env, symbol_array, i, elem); - } - - jobject result; - CALL_JAVA_METHOD(result, ctx, create_list, ctx->context, symbol_array); - return PyTuple_Pack(1, wrap_java_object(ctx->env, result)); - - } else if (signal_id == SYM_EVENT_ID_LIST_GET_ITEM) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(list_get_item) - - } else if (signal_id == SYM_EVENT_ID_LIST_SET_ITEM) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 3); - - if (!is_wrapped_java_object(args[0]) || !is_wrapped_java_object(args[1]) || !is_wrapped_java_object(args[2])) - return Py_None; - - jobject self = ((JavaPythonObject *) args[0])->reference; - jobject o1 = ((JavaPythonObject *) args[1])->reference; - jobject o2 = ((JavaPythonObject *) args[2])->reference; - - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_list_set_item, ctx->context, signal_id, self, o1, o2); - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) - - } else if (signal_id == SYM_EVENT_ID_LIST_EXTEND) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(list_extend) - - } else if (signal_id == SYM_EVENT_ID_LIST_APPEND) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(list_append) - - } else if (signal_id == SYM_EVENT_ID_PYTHON_FUNCTION_CALL) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - // TODO - - } else if (signal_id == SYM_EVENT_ID_RETURN) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 0); - // TODO - - } else if (signal_id == SYM_EVENT_ID_FORK_RESULT) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_fork_result, ctx->context, args[0] == Py_True); - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) - - } else if (signal_id == SYM_EVENT_ID_NB_BOOL) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - NOTIFY_UNARY(nb_bool) - - } else if (signal_id == SYM_EVENT_ID_NB_INT) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 1); - NOTIFY_UNARY(nb_int) - - } else if (signal_id == SYM_EVENT_ID_TP_RICHCMP) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 3); - - int op = extract_int_value(args[2]); - if (is_wrapped_java_object(args[0]) && is_wrapped_java_object(args[1])) { - jobject left = ((JavaPythonObject *) args[0])->reference; - jobject right = ((JavaPythonObject *) args[1])->reference; - (*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_tp_richcmp, ctx->context, op, left, right); - CHECK_FOR_EXCEPTION(ctx, (PyObject *) 1) - } - - } else if (signal_id == SYM_EVENT_ID_MP_SUBSCRIPT) { - assert(signal_type == SYM_EVENT_TYPE_NOTIFY && nargs == 2); - NOTIFY_BINARY(mp_subscript) - - } else if (signal_id == SYM_EVENT_ID_VIRTUAL_RICHCMP) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(symbolic_virtual_binary_fun) - - } else if (signal_id == SYM_EVENT_ID_VIRTUAL_MP_SUBSCRIPT) { - assert(signal_type == SYM_EVENT_TYPE_METHOD && nargs == 2); - BINARY_METHOD_HANDLER(symbolic_virtual_binary_fun) - - } - - return Py_None; -} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h b/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h deleted file mode 100644 index f581af734f..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_handler.h +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include "Python.h" -#include "SYMBOLIC_API.h" - -#ifndef _Included_CPythonAdapter_symbolic_handler -#define _Included_CPythonAdapter_symbolic_handler -#ifdef __cplusplus -extern "C" { -#endif - -PyObject *handler(int signal_type, int signal_id, int nargs, PyObject *const *args, void *param); - -#ifdef __cplusplus -} -#endif -#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index e2114cf6a2..81d653d0e1 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -1,5 +1,4 @@ #include "virtual_objects.h" -#include "SYMBOLIC_API.h" static void virtual_object_dealloc(PyObject *op) { @@ -171,7 +170,7 @@ is_virtual_object(PyObject *obj) { return Py_TYPE(obj) == &VirtualPythonObject_Type; } -void register_virtual_methods() { - virtual_tp_richcompare = tp_richcompare; - virtual_mp_subscript = mp_subscript; +void register_virtual_methods(SymbolicAdapter *adapter) { + adapter->virtual_tp_richcompare = tp_richcompare; + adapter->virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json new file mode 100644 index 0000000000..8d05c73981 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -0,0 +1,302 @@ +[ + { + "c_name": "instruction", + "nargs": 1, + "c_arg_types": ["PyFrameObject *"], + "c_return_type": "int", + "java_arg_types": ["jint"], + "java_return_type": "void", + "argument_converters": ["frame_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "fork_notify", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "fork_result", + "nargs": 1, + "c_arg_types": ["int"], + "c_return_type": "int", + "java_arg_types": ["jint"], + "java_return_type": "void", + "argument_converters": ["int_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "load_const", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jlong"], + "java_return_type": "jobject", + "argument_converters": ["ref_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "create_list", + "nargs": 1, + "c_arg_types": ["PyObject **"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobjectArray"], + "java_return_type": "jobject", + "argument_converters": ["array_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "gt_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "lt_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "eq_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "ne_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "le_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "ge_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "add_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "sub_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "mul_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "div_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "rem_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "list_get_item", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "list_set_item", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "list_extend", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "list_append", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "nb_bool", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "nb_int", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "mp_subscript", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "tp_richcompare", + "nargs": 3, + "c_arg_types": ["int", "PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jint", "jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["int_converter", "object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "symbolic_virtual_binary_fun", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + } +] \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 8e03860ee7..ca868aee0a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -5,74 +5,74 @@ "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)V" }, { - "c_name": "load_const_long", - "java_name": "handlerLoadConstLong", + "c_name": "load_const", + "java_name": "handlerLoadConst", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/SymbolForCPython;" }, { - "c_name": "fork", + "c_name": "fork_notify", "java_name": "handlerFork", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, { "c_name": "gt_long", "java_name": "handlerGTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "lt_long", "java_name": "handlerLTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "eq_long", "java_name": "handlerEQLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ne_long", "java_name": "handlerNELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "le_long", "java_name": "handlerLELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "ge_long", "java_name": "handlerGELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "add_long", "java_name": "handlerADDLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "sub_long", "java_name": "handlerSUBLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "mul_long", "java_name": "handlerMULLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "div_long", "java_name": "handlerDIVLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "rem_long", "java_name": "handlerREMLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "pow_long", "java_name": "handlerPOWLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "create_list", @@ -82,27 +82,22 @@ { "c_name": "list_get_item", "java_name": "handlerListGetItem", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "list_set_item", "java_name": "handlerListSetItem", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "load_const_tuple", - "java_name": "handlerLoadConstTuple", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, { "c_name": "list_extend", "java_name": "handlerListExtend", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "list_append", "java_name": "handlerListAppend", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, { "c_name": "function_call", @@ -135,7 +130,7 @@ "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, { - "c_name": "tp_richcmp", + "c_name": "tp_richcompare", "java_name": "notifyTpRichcmp", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, @@ -157,6 +152,6 @@ { "c_name": "symbolic_virtual_binary_fun", "java_name": "handlerVirtualBinaryFun", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index e643e2595a..29d0f8a6f2 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -8,11 +8,9 @@ import java.util.Arrays; import java.util.Collections; -import java.util.List; import java.util.concurrent.Callable; -import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstLongKt; -import static org.usvm.interpreter.operations.ConstantsKt.handlerLoadConstTupleKt; +import static org.usvm.interpreter.operations.ConstantsKt.*; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.ListKt.*; import static org.usvm.interpreter.operations.LongKt.*; @@ -36,6 +34,7 @@ public class CPythonAdapter { public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs); public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); + public native long[] getIterableElements(long iterable); public native String getPythonObjectRepr(long object); public native String getPythonObjectTypeName(long object); public native long getPythonObjectType(long object); @@ -65,13 +64,12 @@ private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { private static SymbolForCPython methodWrapper( ConcolicRunContext context, - int methodId, - List operands, + SymbolicHandlerEventParameters params, Callable valueSupplier ) { return withTracing( context, - new MethodQueryParameters(methodId, operands), + params, () -> { UninterpretedSymbolicPythonObject result = valueSupplier.call(); return wrap(result); @@ -87,12 +85,9 @@ private static Callable unit(Runnable function) { }; } - public static SymbolForCPython handlerLoadConstLong(ConcolicRunContext context, long value) { - return withTracing(context, new LoadConstParameters(value), () -> wrap(handlerLoadConstLongKt(context, value))); - } - - public static SymbolForCPython handlerLoadConstTuple(ConcolicRunContext context, SymbolForCPython[] elements) { - return withTracing(context, new LoadConstParameters(Arrays.asList(elements)), () -> wrap(handlerLoadConstTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); + public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { + PythonObject obj = new PythonObject(ref); + return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { @@ -103,52 +98,52 @@ public static void handlerForkResult(ConcolicRunContext context, boolean result) handlerForkResultKt(context, result); } - public static SymbolForCPython handlerGTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGTLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerLTLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLTLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> handlerLTLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerEQLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerEQLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> handlerEQLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerNELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerNELongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> handlerNELongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerGELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerGELongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> handlerGELongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerLELong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerLELongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> handlerLELongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerADDLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerADDLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> handlerADDLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerSUBLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> handlerSUBLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerMULLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerMULLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> handlerMULLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerDIVLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> handlerDIVLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerREMLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerREMLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> handlerPOWLongKt(context, left.obj, right.obj)); + public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { @@ -156,20 +151,20 @@ public static SymbolForCPython handlerCreateList(ConcolicRunContext context, Sym return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } - public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython index) { - return methodWrapper(context, methodId, Arrays.asList(list, index), () -> handlerListGetItemKt(context, list.obj, index.obj)); + public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { + return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> handlerListGetItemKt(context, list.obj, index.obj)); } - public static SymbolForCPython handlerListExtend(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython tuple) { - return methodWrapper(context, methodId, Arrays.asList(list, tuple), () -> handlerListExtendKt(context, list.obj, tuple.obj)); + public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { + return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); } - public static SymbolForCPython handlerListAppend(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython elem) { - return methodWrapper(context, methodId, Arrays.asList(list, elem), () -> handlerListAppendKt(context, list.obj, elem.obj)); + public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { + return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); } - public static void handlerListSetItem(ConcolicRunContext context, int methodId, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { - withTracing(context, new MethodWithoutReturnValueParameters(methodId, Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { + withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } public static void handlerFunctionCall(ConcolicRunContext context, long function) { @@ -181,8 +176,8 @@ public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } - public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, int methodId, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, methodId, Arrays.asList(left, right), () -> virtualCallSymbolKt(context)); + public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index a7fe593f0f..eb54a4c43f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -115,6 +115,11 @@ object ConcretePythonInterpreter { return PythonObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) } + fun getIterableElements(iterable: PythonObject): List { + val addresses = pythonAdapter.getIterableElements(iterable.address) + return addresses.map { PythonObject(it) } + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt index d146091cf9..520f716fbe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt @@ -1,6 +1,8 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.interpreter.PythonObject import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInt @@ -8,16 +10,29 @@ import org.usvm.language.types.pythonTuple import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerLoadConstLongKt(context: ConcolicRunContext, value: Long): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = + when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { + "int" -> handlerLoadConstLongKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) + "tuple" -> { + val elements = ConcretePythonInterpreter.getIterableElements(value) + val symbolicElements = elements.map { + handlerLoadConstKt(context, it) ?: return null + } + handlerLoadConstTupleKt(context, symbolicElements) + } + else -> null + } + +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null return constructInt(context, context.ctx.mkIntNum(value)) } -fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null - val addresses = elements.map { it!!.address }.asSequence() + val addresses = elements.map { it.address }.asSequence() with (context.ctx) { val tupleAddress = context.curState!!.memory.malloc(pythonTuple, addressSort, addresses) val result = UninterpretedSymbolicPythonObject(tupleAddress) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index f0ee652a23..42771bc717 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -6,18 +6,20 @@ import org.usvm.language.SymbolForCPython sealed class SymbolicHandlerEventParameters -data class MethodQueryParameters( - val methodId: Int, - val operands: List -): SymbolicHandlerEventParameters() - data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEventParameters() data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() -data class MethodWithoutReturnValueParameters(val methodId: Int, val operands: List): SymbolicHandlerEventParameters() +data class MethodParameters( + val name: String, + val operands: List +): SymbolicHandlerEventParameters() +data class MethodParametersNoReturn( + val name: String, + val operands: List +): SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 4b14db6c05..c3d9e77737 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,17 +8,21 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - import copy - - def f(x): - y = copy.deepcopy(x) - if y: - return 1 - return 2 + import pickle + def f(x: int): + y = pickle.loads(pickle.dumps(x)) # y is equal to x + if y >= 0: + if x >= 0: + return 1 + return 2 # unreachable + else: + if x >= 0: + return 3 # unreachable + return 4 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") - val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonInt), "f") + val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = false) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() diff --git a/usvm-python/src/test/resources/samples/TrickyExample.py b/usvm-python/src/test/resources/samples/TrickyExample.py index ebe6c06a70..91b6dc888f 100644 --- a/usvm-python/src/test/resources/samples/TrickyExample.py +++ b/usvm-python/src/test/resources/samples/TrickyExample.py @@ -14,8 +14,10 @@ def pickle_path_diversion(x: int): return 4 +""" def pickle_unregistered_virtual_call(x): y = pickle.loads(pickle.dumps(x)) if y: return 1 return 2 +""" \ No newline at end of file From c8d6a35b20b64b72ed5bb18c67b3309027431486 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 2 Aug 2023 17:22:42 +0300 Subject: [PATCH 045/344] Adde approximation of len(), virtual nb_add --- usvm-python/cpythonadapter/build.gradle.kts | 1 + usvm-python/cpythonadapter/cpython | 2 +- .../main/c/approximations/approximations.h | 2 +- .../src/main/c/approximations/builtins.c | 29 ++++++++--------- .../c/org_usvm_interpreter_CPythonAdapter.c | 16 ++++++++++ .../c/org_usvm_interpreter_CPythonAdapter.h | 24 ++++++++++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 5 +++ usvm-python/cpythonadapter/src/main/c/utils.h | 1 + .../src/main/c/virtual_objects.c | 27 +++++++++++++--- .../src/main/json/adapter_method_defs.json | 24 ++++++++++++++ .../src/main/json/handler_defs.json | 12 ++++++- .../org/usvm/interpreter/CPythonAdapter.java | 17 +++++++++- .../interpreter/ConcretePythonInterpreter.kt | 3 ++ .../usvm/interpreter/PythonExecutionState.kt | 2 +- .../org/usvm/interpreter/PythonMachine.kt | 5 +-- .../interpreter/PythonVirtualPathSelector.kt | 9 ++---- .../usvm/interpreter/operations/Control.kt | 5 --- .../org/usvm/interpreter/operations/List.kt | 9 ++++++ .../org/usvm/interpreter/operations/Long.kt | 2 +- .../operations/MethodNotifications.kt | 9 +++--- .../usvm/interpreter/operations/Virtual.kt | 5 +-- .../main/kotlin/org/usvm/language/Domain.kt | 1 + .../org/usvm/language/types/VirtualTypes.kt | 15 +++++++++ usvm-python/src/test/kotlin/manualTest.kt | 28 ++++++++-------- .../org/usvm/samples/PythonTestRunner.kt | 4 +-- .../org/usvm/samples/SimpleListsTest.kt | 32 +++++++++++++++++++ .../src/test/resources/samples/SimpleLists.py | 19 +++++++++++ 27 files changed, 246 insertions(+), 62 deletions(-) diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 4f52defb33..8ba28e2b51 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -184,6 +184,7 @@ library { compileTask.includes.from(adapterHeaderPath) compileTask.includes.from("$cpythonBuildPath/include/python3.11") + compileTask.includes.from("src/main/c/approximations") compileTask.source.from(fileTree("src/main/c")) compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 8511f92e07..5d1eb6d47e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 8511f92e07440f5facfd7169bd6ee7d17d5cb121 +Subproject commit 5d1eb6d47e75023478bbb10ed101d9011197927d diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h index f6ac84a085..ad5cd9254d 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h @@ -1,3 +1,3 @@ #include "Python.h" -// PyObject *Approximation_len(PyObject *o); // builtins.len() \ No newline at end of file +PyObject *Approximation_len(PyObject *o); // builtins.len \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 95c91b3430..52dc35fe0b 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -1,24 +1,23 @@ #include "approximations.h" #include "wrapper.h" -/* -static int -get_len_event_id(lenfunc fun) { - if (fun == PyList_Type.tp_as_sequence.sq_length || fun == PyList_Type.tp_as_mapping.mp_length) - return -} - PyObject * Approximation_len(PyObject *o) { assert(is_wrapped(o)); SymbolicAdapter *adapter = get_adapter(o); - - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (m && m->sq_length) { - Py_ssize_t len = m->sq_length(o); - PyObject *symbolic_len = - return len; + PyObject *concrete = unwrap(o); + long concrete_result_long = PyObject_Size(concrete); + if (concrete_result_long < 0) { + assert(PyErr_Occurred()); + return 0; } + PyObject *concrete_result = PyLong_FromLong(concrete_result_long); + if (!PyList_Check(concrete)) { + return wrap(concrete_result, Py_None, adapter); + } + + PyObject *symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); + if (!symbolic) return 0; -} -*/ \ No newline at end of file + return wrap(concrete_result, symbolic, adapter); +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 8fb9ad8c59..93d31dc03f 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -130,6 +130,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( SymbolicAdapter *adapter = create_new_adapter(&ctx); register_virtual_methods(adapter); REGISTER_ADAPTER_METHODS(adapter); + register_approximations(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); @@ -225,6 +226,21 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNI return type->tp_as_number && type->tp_as_number->nb_int; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_add; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_sequence && type->tp_as_sequence->sq_length; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpLength(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_mapping && type->tp_as_mapping->mp_length; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscript(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_mapping && type->tp_as_mapping->mp_subscript; diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h index ab6b2ed831..206eb2eaeb 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h @@ -151,6 +151,30 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbAdd + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasSqLength + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasMpLength + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpLength + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasMpSubscript diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 09f73ad703..ff661ce742 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,5 +1,6 @@ #include "utils.h" #include "virtual_objects.h" +#include "approximations.h" #include "limits.h" static void @@ -76,6 +77,10 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad DO_REGISTRATIONS(dist, env) } +void register_approximations(SymbolicAdapter *adapter) { + adapter->approximation_builtin_len = Approximation_len; +} + static void finish_virtual_objects_initialization( SymbolicAdapter *adapter, diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/utils.h index 46001e897a..96c6aaa0b7 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/utils.h @@ -34,6 +34,7 @@ typedef struct { } ConcolicContext; void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist); +void register_approximations(SymbolicAdapter *adapter); typedef struct { int size; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 81d653d0e1..a8f21c1e67 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -9,11 +9,11 @@ virtual_object_dealloc(PyObject *op) { Py_TYPE(op)->tp_free(op); } -#define MAKE_USVM_VIRUAL_CALL(obj) \ +#define MAKE_USVM_VIRUAL_CALL(obj, owner_id) \ SymbolicAdapter *adapter = (obj)->adapter; \ ConcolicContext *ctx = (obj)->ctx; \ adapter->ignore = 1; \ - jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context); \ + jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ adapter->ignore = 0; \ CHECK_FOR_EXCEPTION(ctx, 0) \ return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); @@ -21,7 +21,7 @@ virtual_object_dealloc(PyObject *op) { static PyObject * tp_richcompare(PyObject *o1, PyObject *o2, int op) { assert(is_virtual_object(o1)); - MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1) + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } static int @@ -46,13 +46,29 @@ nb_int(PyObject *self) { return (PyObject *) result; } +static PyObject * +nb_add(PyObject *first, PyObject *second) { + PyObject *owner = 0; + int owner_id = -1; + if (is_virtual_object(first)) { + owner = first; + owner_id = 0; + } else if (is_virtual_object(second)) { + owner = second; + owner_id = 1; + } else { + assert(0); // Not reachable + } + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) owner, owner_id) +} + static PyObject * mp_subscript(PyObject *self, PyObject *item) { - MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self) + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) } static PyNumberMethods virtual_as_number = { - 0, /*nb_add*/ + nb_add, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ 0, /*nb_remainder*/ @@ -172,5 +188,6 @@ is_virtual_object(PyObject *obj) { void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; + adapter->virtual_nb_add = nb_add; adapter->virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 8d05c73981..a01a2e625e 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -227,6 +227,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "list_get_size", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "list_append", "nargs": 2, @@ -263,6 +275,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "nb_add", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "mp_subscript", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index ca868aee0a..441b62b62a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -124,6 +124,11 @@ "java_name": "notifyNbInt", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "nb_add", + "java_name": "notifyNbAdd", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "mp_subscript", "java_name": "notifyMpSubscript", @@ -147,11 +152,16 @@ { "c_name": "virtual_call", "java_name": "virtualCall", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)Lorg/usvm/language/VirtualPythonObject;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)Lorg/usvm/language/VirtualPythonObject;" }, { "c_name": "symbolic_virtual_binary_fun", "java_name": "handlerVirtualBinaryFun", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_get_size", + "java_name": "handlerListGetSize", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 29d0f8a6f2..bfbc3c8169 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -43,6 +43,9 @@ public class CPythonAdapter { public native long makeList(long[] elements); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); + public native int typeHasNbAdd(long type); + public native int typeHasSqLength(long type); + public native int typeHasMpLength(long type); public native int typeHasMpSubscript(long type); public native int typeHasTpRichcmp(long type); public native Throwable extractException(long exception); @@ -167,6 +170,10 @@ public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPyth withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } + public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { + return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); + } + public static void handlerFunctionCall(ConcolicRunContext context, long function) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); @@ -190,6 +197,11 @@ public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPy nbIntKt(context, symbol.obj); } + public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left, right), null); + nbAddKt(context, left.obj, right.obj); + } + public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); mpSubscriptKt(context, storage.obj); @@ -209,7 +221,10 @@ public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject } @NotNull - public static VirtualPythonObject virtualCall(ConcolicRunContext context) { + public static VirtualPythonObject virtualCall(ConcolicRunContext context, int owner) { + if (context.curOperation != null && owner != -1) { + context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); + } return virtualCallKt(context); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index eb54a4c43f..c04abd9947 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -129,6 +129,9 @@ object ConcretePythonInterpreter { val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } + val typeHasNbAdd = createTypeQuery { pythonAdapter.typeHasNbAdd(it) } + val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } + val typeHasMpLength = createTypeQuery { pythonAdapter.typeHasMpLength(it) } val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index 86a2b05176..a01cd6dcac 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -79,7 +79,7 @@ class DelayedFork( data class MockHeader( val method: TypeMethod, val args: List, - val methodOwner: SymbolForCPython + var methodOwner: SymbolForCPython? ) data class MockResult( diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt index 9cd2aa5e73..3dba7ab5e6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt @@ -70,7 +70,8 @@ class PythonMachine( fun analyze( pythonCallable: PythonUnpinnedCallable, - results: MutableList> + results: MutableList>, + maxIterations: Int = 300 ): Int { val observer = PythonMachineObserver() val interpreter = getInterpreter(pythonCallable, results) @@ -80,7 +81,7 @@ class PythonMachine( pathSelector, observer = observer, isStateTerminated = { it.meta.modelDied }, - stopStrategy = { observer.stateCounter >= 1000 } + stopStrategy = { observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations } ) return iterationCounter.iterations } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt index c295363c98..31f60c5212 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt @@ -154,13 +154,8 @@ class PythonVirtualPathSelector( require(state.meta.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) } - if (state.meta.wasExecuted) { - state.meta.extractedFrom?.remove(state) - processDelayedForksOfExecutedState(state) - - } else { - state.meta.extractedFrom?.update(state) - } + state.meta.extractedFrom?.remove(state) + add(listOf(state)) } override fun add(states: Collection) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index dd5c97db6b..ba0e7f6df2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -7,13 +7,8 @@ import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.DelayedFork import org.usvm.interpreter.PythonExecutionState -import org.usvm.interpreter.operations.tracing.withTracing -import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.isTrue import org.usvm.language.PythonPinnedCallable -import org.usvm.language.SymbolForCPython fun myFork(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt index 7bdf0f66fd..83f548503f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -4,6 +4,7 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.constructInt import org.usvm.language.types.PythonType import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList @@ -23,6 +24,14 @@ fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream + return constructInt(context, listSize) +} + private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { if (context.curState == null) return null diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 9b1ad9b23c..4dc6af63c6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -44,7 +44,7 @@ fun handlerGELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, fun handlerLELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) fun handlerADDLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> val res = ctx.mkArithAdd(left, right); res } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.mkArithAdd(left, right) } (x, y, z) fun handlerSUBLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) fun handlerMULLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index 57049d2a54..d47dc5160f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -2,10 +2,7 @@ package org.usvm.interpreter.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.language.types.HasMpSubscript -import org.usvm.language.types.HasNbBool -import org.usvm.language.types.HasNbInt -import org.usvm.language.types.HasTpRichcmp +import org.usvm.language.types.* fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { on.addSupertype(context, HasNbBool) @@ -15,6 +12,10 @@ fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) on.addSupertype(context, HasNbInt) } +fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { + myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) +} + fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { on.addSupertype(context, HasMpSubscript) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 20fb2efc17..7834245869 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -36,11 +36,12 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation context.curState ?: throw UnregisteredVirtualOperation - val ownerIsAlreadyMocked = context.curOperation.methodOwner.obj.getTypeIfDefined(context) is TypeOfVirtualObject + val owner = context.curOperation.methodOwner ?: throw UnregisteredVirtualOperation + val ownerIsAlreadyMocked = owner.obj.getTypeIfDefined(context) is TypeOfVirtualObject val clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null val (symbolic, _, mockSymbol) = context.curState!!.mock(context.curOperation) if (!ownerIsAlreadyMocked) { - addDelayedFork(context, context.curOperation.methodOwner.obj, clonedState!!) + addDelayedFork(context, owner.obj, clonedState!!) } if (context.curOperation.method.isMethodWithNonVirtualReturn) { val newModel = constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 01b5a6ac0f..f9dc35e02e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -26,5 +26,6 @@ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallab object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) +object NbAddMethod: TypeMethod(false) object MpSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 7e363d9437..a371e17100 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -27,6 +27,21 @@ object HasNbInt: TypeProtocol() { ConcretePythonInterpreter.typeHasNbInt(type.asObject) } +object HasNbAdd: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbAdd(type.asObject) +} + +object HasSqLength: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasSqLength(type.asObject) +} + +object HasMpLength: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasMpLength(type.asObject) +} + object HasMpSubscript: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasMpSubscript(type.asObject) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c3d9e77737..c84b75caf3 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,25 +8,25 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - import pickle - def f(x: int): - y = pickle.loads(pickle.dumps(x)) # y is equal to x - if y >= 0: - if x >= 0: - return 1 - return 2 # unreachable - else: - if x >= 0: - return 3 # unreachable - return 4 + def f(x): + i = 0 + sum_ = 0 + while i < len(x): + sum_ += x[i] + i += 1 + if sum_ == 100: + return 1 + elif sum_ % 200 == 153: + return 2 + return 3 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonInt), "f") - val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = false) { it } + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList), "f") + val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results) + val returnValue = activeMachine.analyze(function, results, maxIterations = 10) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index f83c7cd6cc..8546a929b8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -28,9 +28,9 @@ open class PythonTestRunner( override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List - get() = { callable, _ -> + get() = { callable, options -> val results: MutableList = mutableListOf() - machine.analyze(callable, results) + machine.analyze(callable, results, options.stepLimit?.toInt() ?: 300) results } override val coverageRunner: (List) -> PythonCoverage diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 046855f41e..557b7af259 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -1,6 +1,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList import org.usvm.test.util.checkers.eq @@ -144,4 +145,35 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { } ) } + + private val functionLenUsage = constructFunction("len_usage", listOf(pythonList)) + @Test + fun testLenUsage() { + check1WithConcreteRun( + functionLenUsage, + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, + /* propertiesToDiscover = */ List(2) { index -> + { _, res -> res.repr == (index + 1).toString() } + } + ) + } + + private val functionSumOfElements = constructFunction("sum_of_elements", listOf(pythonList)) + @Test + fun testSumOfElements() { + val oldOptions = options + options = UMachineOptions(stepLimit = 20U) + check1WithConcreteRun( + functionSumOfElements, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, + /* propertiesToDiscover = */ List(3) { index -> + { _, res -> res.repr == (index + 1).toString() } + } + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 73eef38de5..bd3353162b 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -80,3 +80,22 @@ def positive_and_negative_index(y: list, i: int): return 6 else: return 7 + + +def len_usage(x: list): + if len(x) > 5: + return 1 + return 2 + + +def sum_of_elements(x: list): + i = 0 + sum_ = 0 + while i < len(x): + sum_ += x[i] + i += 1 + if sum_ == 100: + return 1 + elif sum_ % 200 == 153: + return 2 + return 3 From 8352629ab6983789377d2b9f563e592881a750f3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 2 Aug 2023 19:51:44 +0300 Subject: [PATCH 046/344] isinstance approximation --- usvm-python/cpythonadapter/cpython | 2 +- .../main/c/approximations/approximations.h | 3 +- .../src/main/c/approximations/builtins.c | 21 +++++++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 1 + .../src/main/json/adapter_method_defs.json | 12 +++++++ .../src/main/json/handler_defs.json | 5 +++ .../org/usvm/interpreter/CPythonAdapter.java | 6 ++++ .../usvm/interpreter/DefaultValueProvider.kt | 2 ++ .../org/usvm/interpreter/operations/Common.kt | 36 +++++++++++++++++++ .../operations/tracing/PathTracing.kt | 6 +++- .../tracing/SymbolicHandlerEvent.kt | 2 ++ .../org/usvm/language/types/TypeSystem.kt | 18 ++++++---- usvm-python/src/test/kotlin/manualTest.kt | 17 +++++---- .../org/usvm/samples/SimpleListsTest.kt | 2 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 14 ++++++++ .../src/test/resources/samples/SimpleLists.py | 4 ++- .../resources/samples/SimpleTypeInference.py | 12 +++++++ 17 files changed, 143 insertions(+), 20 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 5d1eb6d47e..9b68aca08b 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 5d1eb6d47e75023478bbb10ed101d9011197927d +Subproject commit 9b68aca08b87056f1741a8e99ecdb92262c4f6b7 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h index ad5cd9254d..637eed1775 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h @@ -1,3 +1,4 @@ #include "Python.h" -PyObject *Approximation_len(PyObject *o); // builtins.len \ No newline at end of file +PyObject *Approximation_len(PyObject *o); // builtins.len +PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 52dc35fe0b..9a75e67a8a 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -19,5 +19,26 @@ Approximation_len(PyObject *o) { PyObject *symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); if (!symbolic) return 0; + return wrap(concrete_result, symbolic, adapter); +} + +PyObject * +Approximation_isinstance(PyObject *obj, PyObject *type_wrapped) { + assert(is_wrapped(obj)); + PyObject *type = unwrap(type_wrapped); + SymbolicAdapter *adapter = get_adapter(obj); + PyObject *concrete = unwrap(obj); + int concrete_result_long = PyObject_IsInstance(concrete, type); + if (concrete_result_long < 0) { + assert(PyErr_Occurred()); + return 0; + } + PyObject *concrete_result = PyLong_FromLong(concrete_result_long); + PyObject *symbolic = Py_None; + if (PyType_Check(type)) { + symbolic = adapter->symbolic_isinstance(adapter->handler_param, get_symbolic_or_none(obj), type); + if (!symbolic) return 0; + } + return wrap(concrete_result, symbolic, adapter); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index ff661ce742..ea1f380c82 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -79,6 +79,7 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_builtin_len = Approximation_len; + adapter->approximation_builtin_isinstance = Approximation_isinstance; } static void diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index a01a2e625e..3a0cf61f25 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -251,6 +251,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "symbolic_isinstance", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jlong"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "ref_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "nb_bool", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 441b62b62a..ac01379b7a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -99,6 +99,11 @@ "java_name": "handlerListAppend", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "symbolic_isinstance", + "java_name": "handlerIsinstance", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "function_call", "java_name": "handlerFunctionCall", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index bfbc3c8169..b17c73cec4 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -10,6 +10,7 @@ import java.util.Collections; import java.util.concurrent.Callable; +import static org.usvm.interpreter.operations.CommonKt.handlerIsinstanceKt; import static org.usvm.interpreter.operations.ConstantsKt.*; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.ListKt.*; @@ -187,6 +188,11 @@ public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext contex return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } + public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { + PythonObject type = new PythonObject(typeRef); + return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); + } + public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); nbBoolKt(context, symbol.obj); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt index 34d2a9bc66..fc8985e9c2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt @@ -10,6 +10,8 @@ object DefaultValueProvider { pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") + pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") + pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") else -> TODO() } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt new file mode 100644 index 0000000000..0109580446 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt @@ -0,0 +1,36 @@ +package org.usvm.interpreter.operations + +import org.usvm.forkMulti +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.PythonExecutionState +import org.usvm.interpreter.PythonObject +import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.interpreter.symbolicobjects.constructBool +import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.pythonObjectType + +fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + ctx.curState ?: return null + val type = PythonTypeSystem.getConcreteTypeByAddress(typeRef) ?: return null + if (type == pythonObjectType) + return constructBool(ctx, ctx.ctx.trueExpr) + + val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) + return if (interpreted.getConcreteType(ctx) == null) { + + var negationState: PythonExecutionState? = ctx.curState!!.clone() // state with concrete type + negationState = forkMulti( + negationState!!, + listOf(negationState.pathConstraints.typeConstraints.evalIsSubtype(obj.address, type)) + ).single() + if (negationState != null) + ctx.forkedStates.add(negationState) + + myAssert(ctx, obj.evalIs(ctx, type).not()) // our state must contain type stream with excluded type + require(interpreted.getConcreteType(ctx) == null) + constructBool(ctx, ctx.ctx.falseExpr) + } else { + constructBool(ctx, obj.evalIs(ctx, type)) + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index 70166090cc..5057941b14 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -50,6 +50,10 @@ fun handlerForkResultKt(context: ConcolicRunContext, result: Boolean) { context.curState!!.pyModel.eval(it) }?.isTrue ?: return - if (result != expectedResult) + if (result != expectedResult) { + logger.debug("Path diversion after fork!") + logger.debug("Expected: {}", expectedResult) + logger.debug("Got: {}", result) context.pathDiversion() + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 42771bc717..0f10692f08 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -1,5 +1,6 @@ package org.usvm.interpreter.operations.tracing +import org.usvm.interpreter.PythonObject import org.usvm.language.PythonInstruction import org.usvm.language.PythonPinnedCallable import org.usvm.language.SymbolForCPython @@ -12,6 +13,7 @@ data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandl object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() +data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( val name: String, val operands: List diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 0b8d7db56d..debd249de0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,5 +1,6 @@ package org.usvm.language.types +import org.usvm.interpreter.PythonObject import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem @@ -23,14 +24,16 @@ object PythonTypeSystem: UTypeSystem { return type is ConcretePythonType || type is TypeOfVirtualObject } - private val basicConcretePythonTypes = listOf( - pythonInt, - pythonBool, - pythonObjectType, - pythonNoneType, - pythonList + private val addressToConcreteType = mapOf( + pythonInt.asObject to pythonInt, + pythonBool.asObject to pythonBool, + pythonObjectType.asObject to pythonObjectType, + pythonNoneType.asObject to pythonNoneType, + pythonList.asObject to pythonList ) + private val basicConcretePythonTypes = addressToConcreteType.values + override fun findSubtypes(type: PythonType): Sequence { if (isFinal(type)) return emptySequence() @@ -41,4 +44,7 @@ object PythonTypeSystem: UTypeSystem { return USupportTypeStream.from(this, PythonAnyType) } + fun getConcreteTypeByAddress(typeAsObject: PythonObject): ConcretePythonType? = + addressToConcreteType[typeAsObject] + } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c84b75caf3..52af75cb89 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -9,19 +9,18 @@ fun main() { val program = PythonProgram( """ def f(x): - i = 0 - sum_ = 0 - while i < len(x): - sum_ += x[i] - i += 1 - if sum_ == 100: + if isinstance(x, bool): return 1 - elif sum_ % 200 == 153: + if isinstance(x, int): return 2 - return 3 + elif isinstance(x, list): + return 3 + elif isinstance(x, object): + return 4 + return "Not reachable" """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 557b7af259..643b9238fc 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -170,7 +170,7 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, - /* propertiesToDiscover = */ List(3) { index -> + /* propertiesToDiscover = */ List(4) { index -> { _, res -> res.repr == (index + 1).toString() } } ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 7c9ab45019..3f8e8e7f5d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -82,4 +82,18 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) ) } + + private val functionIsinstanceSample = constructFunction("isinstance_sample", List(1) { PythonAnyType }) + @Test + fun testIsinstanceSample() { + check1WithConcreteRun( + functionIsinstanceSample, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.typeName == "int" }, + /* propertiesToDiscover = */ List(4) { index -> + { _, res -> res.repr == (index + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index bd3353162b..cb22506cc3 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -98,4 +98,6 @@ def sum_of_elements(x: list): return 1 elif sum_ % 200 == 153: return 2 - return 3 + elif sum_ < -100: + return 3 + return 4 diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 7553a3e9b5..0a7ea9c72b 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -36,3 +36,15 @@ def simple_comparison(x, y): elif x == y: return 2 return 3 + + +def isinstance_sample(x): + if isinstance(x, bool): + return 1 + if isinstance(x, int): + return 2 + elif isinstance(x, list): + return 3 + elif isinstance(x, object): + return 4 + return "Not reachable" From bfa7f93b25472ada43c84873f56afd64616f9515 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 3 Aug 2023 15:06:31 +0300 Subject: [PATCH 047/344] Added support of for loop for lists --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/json/adapter_method_defs.json | 24 +++++++++++++++ .../src/main/json/handler_defs.json | 10 +++++++ .../org/usvm/interpreter/CPythonAdapter.java | 8 +++++ .../usvm/interpreter/USVMPythonInterpreter.kt | 8 +++++ .../org/usvm/interpreter/operations/List.kt | 26 ++++++++++++++++ .../operations/MethodNotifications.kt | 5 ++++ .../SymbolicObjectConstruction.kt | 9 ++++++ .../symbolicobjects/SymbolicPythonObject.kt | 30 +++++++++++++++++++ .../main/kotlin/org/usvm/language/Fields.kt | 4 ++- .../kotlin/org/usvm/language/types/Types.kt | 6 +++- usvm-python/src/test/kotlin/manualTest.kt | 18 +++++------ .../org/usvm/samples/SimpleListsTest.kt | 17 +++++++++++ .../src/test/resources/samples/SimpleLists.py | 12 ++++++++ 14 files changed, 167 insertions(+), 12 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 9b68aca08b..7e9e772783 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 9b68aca08b87056f1741a8e99ecdb92262c4f6b7 +Subproject commit 7e9e77278367b79bc92d95f1c01a4cf42cb2b609 diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 3a0cf61f25..9adf184235 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -251,6 +251,30 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "list_iter", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "list_iterator_next", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "symbolic_isinstance", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index ac01379b7a..cf6b5d1a94 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -99,6 +99,16 @@ "java_name": "handlerListAppend", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "list_iter", + "java_name": "handlerListIter", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_iterator_next", + "java_name": "handlerListIteratorNext", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "symbolic_isinstance", "java_name": "handlerIsinstance", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index b17c73cec4..62c0760e44 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -175,6 +175,14 @@ public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, Sy return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); } + public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { + return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> handlerListIterKt(context, list.obj)); + } + + public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { + return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); + } + public static void handlerFunctionCall(ConcolicRunContext context, long function) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 5d6f621e6b..a693b40787 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -3,6 +3,7 @@ package org.usvm.interpreter import mu.KLogging import org.usvm.* import org.usvm.interpreter.operations.BadModelException +import org.usvm.interpreter.operations.UnregisteredVirtualOperation import org.usvm.interpreter.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython @@ -129,6 +130,13 @@ class USVMPythonInterpreter( iterationCounter.iterations += 1 logger.debug("Step result: Bad model") return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) + + } catch (_: UnregisteredVirtualOperation) { + + iterationCounter.iterations += 1 + logger.debug("Step result: Unregistrered virtual operation") + return StepResult(emptySequence(), false) + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt index 83f548503f..f62be39985 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -5,6 +5,7 @@ import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructInt +import org.usvm.interpreter.symbolicobjects.constructListIterator import org.usvm.language.types.PythonType import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList @@ -116,4 +117,29 @@ fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolic context.curState!!.memory.write(UArrayLengthLValue(list.address, pythonList), mkArithAdd(currentSize, mkIntNum(1))) return list } +} + +fun handlerListIterKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + return constructListIterator(context, list) +} + +fun handlerListIteratorNextKt(context: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(context.ctx) { + if (context.curState == null) + return null + + val (listAddress, index) = iterator.getListIteratorContent(context) + @Suppress("unchecked_cast") + val listSize = context.curState!!.memory.read(UArrayLengthLValue(listAddress, pythonList)) as UExpr + val indexCond = index lt listSize + myFork(context, indexCond) + if (context.curState!!.pyModel.eval(indexCond).isFalse) + return null + + iterator.increaseListIteratorCounter(context) + + @Suppress("unchecked_cast") + val elemAddr = context.curState!!.memory.read(UArrayIndexLValue(addressSort, listAddress, index, pythonList)) as UHeapRef + return UninterpretedSymbolicPythonObject(elemAddr) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index d47dc5160f..b4d2b903d8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -5,21 +5,26 @@ import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.* fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return on.addSupertype(context, HasNbBool) } fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return on.addSupertype(context, HasNbInt) } fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { + context.curState ?: return myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) } fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return on.addSupertype(context, HasMpSubscript) } fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { + context.curState ?: return myAssert(context, left.evalIs(context, HasTpRichcmp)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt index 7707f7b4ef..f1cc441695 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt @@ -9,6 +9,7 @@ import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonListIteratorType import org.usvm.memory.UMemoryBase fun constructInputObject( @@ -41,4 +42,12 @@ fun constructBool(context: ConcolicRunContext, expr: UExpr): Uninterp val result = UninterpretedSymbolicPythonObject(address) result.setBoolContent(context, expr) return result +} + +fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { + require(context.curState != null) + val address = context.curState!!.memory.alloc(pythonListIteratorType) + val result = UninterpretedSymbolicPythonObject(address) + result.setListIteratorContent(context, list) + return result } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 35e3c38070..3881d74d0b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -57,6 +57,36 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject ctx.curState!!.memory.write(lvalue, expr) } + fun setListIteratorContent(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, pythonListIteratorType) + val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) + ctx.curState!!.memory.write(listLValue, list.address) + val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + ctx.curState!!.memory.write(indexLValue, mkIntNum(0)) + } + + fun increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, pythonListIteratorType) + val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + @Suppress("unchecked_cast") + val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr + ctx.curState!!.memory.write(indexLValue, mkArithAdd(oldIndexValue, mkIntNum(1))) + } + + fun getListIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, pythonListIteratorType) + val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) + val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + @Suppress("unchecked_cast") + val listRef = ctx.curState!!.memory.read(listLValue) as UHeapRef + @Suppress("unchecked_cast") + val index = ctx.curState!!.memory.read(indexLValue) as UExpr + return listRef to index + } + fun getIntContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) addSupertype(ctx, pythonInt) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index e2f54313e5..2c3e804093 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -3,4 +3,6 @@ package org.usvm.language sealed class PropertyOfPythonObject sealed class ContentOfPrimitiveType: PropertyOfPythonObject() object IntContent: ContentOfPrimitiveType() -object BoolContent: ContentOfPrimitiveType() \ No newline at end of file +object BoolContent: ContentOfPrimitiveType() +object ListOfListIterator: ContentOfPrimitiveType() +object IndexOfListIterator: ContentOfPrimitiveType() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 5820571e81..7dad583217 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -22,4 +22,8 @@ val pythonObjectType = createConcreteType("object") val pythonNoneType = ConcretePythonType("NoneType", ConcretePythonInterpreter.eval(emptyNamespace, "type(None)")) val pythonTypeType = createConcreteType("type") val pythonList = createConcreteType("list") -val pythonTuple = createConcreteType("tuple") \ No newline at end of file +val pythonTuple = createConcreteType("tuple") +val pythonListIteratorType = ConcretePythonType( + "list_iterator", + ConcretePythonInterpreter.eval(emptyNamespace, "type(iter([]))") +) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 52af75cb89..7df8d3050d 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,16 +8,16 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x): - if isinstance(x, bool): + def f(x: list): + sum_ = 0 + for elem in x: + sum_ += elem + + if sum_ == 10 ** 5: return 1 - if isinstance(x, int): + elif len(x) == 3 and sum_ < -100: return 2 - elif isinstance(x, list): - return 3 - elif isinstance(x, object): - return 4 - return "Not reachable" + return 3 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") @@ -25,7 +25,7 @@ fun main() { val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 10) + val returnValue = activeMachine.analyze(function, results, maxIterations = 20) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 643b9238fc..28643296ac 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -176,4 +176,21 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) options = oldOptions } + + private val functionForLoop = constructFunction("for_loop", listOf(pythonList)) + @Test + fun testForLoop() { + val oldOptions = options + options = UMachineOptions(stepLimit = 20U) + check1WithConcreteRun( + functionForLoop, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, + /* propertiesToDiscover = */ List(3) { index -> + { _, res -> res.repr == (index + 1).toString() } + } + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index cb22506cc3..792987634f 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -101,3 +101,15 @@ def sum_of_elements(x: list): elif sum_ < -100: return 3 return 4 + + +def for_loop(x: list): + sum_ = 0 + for elem in x: + sum_ += elem + + if sum_ == 10 ** 5: + return 1 + elif len(x) == 3 and sum_ < -100: + return 2 + return 3 From 24e9b65d8241645ccbbf105853dbeda988f83a66 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 3 Aug 2023 16:12:13 +0300 Subject: [PATCH 048/344] Added type inference based on len() usage --- usvm-python/README.md | 2 +- usvm-python/cpythonadapter/build.gradle.kts | 2 +- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 16 ++++++----- .../approximations.h | 0 .../src/main/c/{ => include}/converters.h | 0 .../org_usvm_interpreter_CPythonAdapter.h | 0 .../src/main/c/{ => include}/utils.h | 0 .../main/c/{ => include}/virtual_objects.h | 0 .../src/main/c/virtual_objects.c | 27 ++++++++++++++++++- .../src/main/json/adapter_method_defs.json | 24 +++++++++++++++++ .../src/main/json/handler_defs.json | 15 +++++++++++ .../org/usvm/interpreter/CPythonAdapter.java | 13 +++++++++ .../usvm/interpreter/USVMPythonInterpreter.kt | 2 +- .../operations/MethodNotifications.kt | 5 ++++ .../usvm/interpreter/operations/Virtual.kt | 16 ++++++++--- .../main/kotlin/org/usvm/language/Domain.kt | 1 + usvm-python/src/test/kotlin/manualTest.kt | 12 +++------ .../org/usvm/samples/SimpleListsTest.kt | 15 +++++++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 14 ++++++++++ .../src/test/resources/samples/SimpleLists.py | 10 ++++--- .../resources/samples/SimpleTypeInference.py | 6 +++++ 22 files changed, 156 insertions(+), 26 deletions(-) rename usvm-python/cpythonadapter/src/main/c/{approximations => include}/approximations.h (100%) rename usvm-python/cpythonadapter/src/main/c/{ => include}/converters.h (100%) rename usvm-python/cpythonadapter/src/main/c/{ => include}/org_usvm_interpreter_CPythonAdapter.h (100%) rename usvm-python/cpythonadapter/src/main/c/{ => include}/utils.h (100%) rename usvm-python/cpythonadapter/src/main/c/{ => include}/virtual_objects.h (100%) diff --git a/usvm-python/README.md b/usvm-python/README.md index 143a00fb54..e6be5e3004 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -45,7 +45,7 @@ Regenerate `org_usvm_interpreter_CPythonAdapter.h`: ``` cd src/main/java javah org.usvm.interpreter.CPythonAdapter -mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c +mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c/include ``` Then implement the corresponding methods in `org_usvm_interpreter_CPythonAdapter.c`. diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 8ba28e2b51..2dc00254d6 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -184,7 +184,7 @@ library { compileTask.includes.from(adapterHeaderPath) compileTask.includes.from("$cpythonBuildPath/include/python3.11") - compileTask.includes.from("src/main/c/approximations") + compileTask.includes.from("src/main/c/include") compileTask.source.from(fileTree("src/main/c")) compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 7e9e772783..b5e92bf09f 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 7e9e77278367b79bc92d95f1c01a4cf42cb2b609 +Subproject commit b5e92bf09f1cc69ed557e851d76222eba755c5bb diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 9a75e67a8a..63c561afee 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -1,24 +1,28 @@ #include "approximations.h" #include "wrapper.h" +#include "virtual_objects.h" + PyObject * Approximation_len(PyObject *o) { assert(is_wrapped(o)); SymbolicAdapter *adapter = get_adapter(o); PyObject *concrete = unwrap(o); - long concrete_result_long = PyObject_Size(concrete); + long concrete_result_long = PyObject_Size(o); if (concrete_result_long < 0) { assert(PyErr_Occurred()); return 0; } PyObject *concrete_result = PyLong_FromLong(concrete_result_long); - if (!PyList_Check(concrete)) { - return wrap(concrete_result, Py_None, adapter); + PyObject *symbolic = Py_None; + if (PyList_Check(concrete)) { + symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); + if (!symbolic) return 0; + } else if (is_virtual_object(concrete)) { + symbolic = adapter->symbolic_virtual_unary_fun(adapter->handler_param, get_symbolic_or_none(o)); + if (!symbolic) return 0; } - PyObject *symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); - if (!symbolic) return 0; - return wrap(concrete_result, symbolic, adapter); } diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h similarity index 100% rename from usvm-python/cpythonadapter/src/main/c/approximations/approximations.h rename to usvm-python/cpythonadapter/src/main/c/include/approximations.h diff --git a/usvm-python/cpythonadapter/src/main/c/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h similarity index 100% rename from usvm-python/cpythonadapter/src/main/c/converters.h rename to usvm-python/cpythonadapter/src/main/c/include/converters.h diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h similarity index 100% rename from usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.h rename to usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h diff --git a/usvm-python/cpythonadapter/src/main/c/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h similarity index 100% rename from usvm-python/cpythonadapter/src/main/c/utils.h rename to usvm-python/cpythonadapter/src/main/c/include/utils.h diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.h b/usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h similarity index 100% rename from usvm-python/cpythonadapter/src/main/c/virtual_objects.h rename to usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index a8f21c1e67..9812899b1b 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -62,6 +62,18 @@ nb_add(PyObject *first, PyObject *second) { MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) owner, owner_id) } +static Py_ssize_t +sq_length(PyObject *self) { + VirtualPythonObject *obj = (VirtualPythonObject *) self; + SymbolicAdapter *adapter = obj->adapter; + ConcolicContext *ctx = obj->ctx; + adapter->ignore = 1; + jint result = (*ctx->env)->CallStaticIntMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_sq_length, ctx->context, obj->reference); + CHECK_FOR_EXCEPTION(obj->ctx, -1) + adapter->ignore = 0; + return result; +} + static PyObject * mp_subscript(PyObject *self, PyObject *item) { MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) @@ -104,6 +116,19 @@ static PyNumberMethods virtual_as_number = { 0, /* nb_index */ }; +static PySequenceMethods virtual_as_sequence = { + sq_length, /* sq_length */ + 0, /* sq_concat */ + 0, /* sq_repeat */ + 0, /* sq_item */ + 0, /* sq_slice */ + 0, /* sq_ass_item */ + 0, /* sq_ass_slice */ + 0, /* sq_contains */ + 0, /* sq_inplace_concat */ + 0, /* sq_inplace_repeat */ +}; + PyMappingMethods virtual_as_mapping = { 0, /* mp_length */ mp_subscript, /* mp_subscript */ @@ -122,7 +147,7 @@ PyTypeObject VirtualPythonObject_Type = { 0, /*tp_as_async*/ 0, /*tp_repr*/ &virtual_as_number, /*tp_as_number*/ - 0, /*tp_as_sequence*/ + &virtual_as_sequence, /*tp_as_sequence*/ &virtual_as_mapping, /*tp_as_mapping*/ 0, /*tp_hash */ 0, /*tp_call */ diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 9adf184235..311626a310 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -323,6 +323,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "sq_length", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "mp_subscript", "nargs": 2, @@ -347,6 +359,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "symbolic_virtual_unary_fun", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "symbolic_virtual_binary_fun", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index cf6b5d1a94..88ec945dbf 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -144,6 +144,11 @@ "java_name": "notifyNbAdd", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "sq_length", + "java_name": "notifySqLength", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "mp_subscript", "java_name": "notifyMpSubscript", @@ -164,11 +169,21 @@ "java_name": "virtualNbInt", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)J" }, + { + "c_name": "virtual_sq_length", + "java_name": "virtualSqLength", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)I" + }, { "c_name": "virtual_call", "java_name": "virtualCall", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)Lorg/usvm/language/VirtualPythonObject;" }, + { + "c_name": "symbolic_virtual_unary_fun", + "java_name": "handlerVirtualUnaryFun", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "symbolic_virtual_binary_fun", "java_name": "handlerVirtualBinaryFun", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 62c0760e44..379a4e881a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -192,6 +192,10 @@ public static void handlerReturn(ConcolicRunContext context) { withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); } + public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { + return methodWrapper(context, new MethodParameters("virtual_unary_fun", Arrays.asList(obj)), () -> virtualCallSymbolKt(context)); + } + public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } @@ -216,6 +220,11 @@ public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPy nbAddKt(context, left.obj, right.obj); } + public static void notifySqLength(@NotNull ConcolicRunContext context, SymbolForCPython on) { + context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on), on); + sqLengthKt(context, on.obj); + } + public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); mpSubscriptKt(context, storage.obj); @@ -234,6 +243,10 @@ public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject return virtualNbIntKt(context, obj).getAddress(); } + public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObject obj) { + return virtualSqLengthKt(context, obj); + } + @NotNull public static VirtualPythonObject virtualCall(ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index a693b40787..85ad4be2f4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -89,7 +89,7 @@ class USVMPythonInterpreter( val serializedResult = pythonObjectSerialization(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) } - logger.debug("Step result: Successful run") + logger.debug("Step result: Successful run. Returned ${ConcretePythonInterpreter.getPythonObjectRepr(result)}") } catch (exception: CPythonExecutionException) { require(exception.pythonExceptionValue != null && exception.pythonExceptionType != null) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index b4d2b903d8..1fe23a132e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -19,6 +19,11 @@ fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) } +fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + on.addSupertype(context, HasSqLength) +} + fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return on.addSupertype(context, HasMpSubscript) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 7834245869..8bbcfbbe1f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -5,9 +5,7 @@ import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue -import org.usvm.language.NbBoolMethod -import org.usvm.language.NbIntMethod -import org.usvm.language.VirtualPythonObject +import org.usvm.language.* import org.usvm.language.types.TypeOfVirtualObject import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt @@ -33,6 +31,18 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) } +fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { + context.curOperation ?: + throw UnregisteredVirtualOperation + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) + require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) + val (virtualObject, symbolic) = internalVirtualCallKt(context) + symbolic.addSupertype(context, pythonInt) + val intValue = virtualObject.interpretedObj.getIntContent(context) + myAssert(context, intValue le mkIntNum(Int.MAX_VALUE)) + return intValue.toString().toInt() +} + private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation context.curState ?: throw UnregisteredVirtualOperation diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index f9dc35e02e..82a7f05211 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -27,5 +27,6 @@ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallab object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) object NbAddMethod: TypeMethod(false) +object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 7df8d3050d..2fa383d562 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,16 +8,10 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x: list): - sum_ = 0 - for elem in x: - sum_ += elem - - if sum_ == 10 ** 5: + def f(x): + if len(x) == 5: return 1 - elif len(x) == 3 and sum_ < -100: - return 2 - return 3 + return 2 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 28643296ac..9ef4a23705 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -193,4 +193,19 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) options = oldOptions } + + private val functionSimpleAssertion = constructFunction("simple_assertion", listOf(pythonList)) + @Test + fun testSimpleAssertion() { + check1WithConcreteRun( + functionSimpleAssertion, + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, _ -> x.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 3f8e8e7f5d..7d63f12eb5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -96,4 +96,18 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py } ) } + + private val functionLenUsage = constructFunction("len_usage", List(1) { PythonAnyType }) + @Test + fun testLenUsage() { + check1WithConcreteRun( + functionLenUsage, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.typeName == "int" }, + /* propertiesToDiscover = */ List(2) { index -> + { _, res -> res.repr == (index + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 792987634f..cea38edae0 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -20,11 +20,11 @@ def allocated_list_sample(y: int): def mixed_allocation(x: int, i: int): arr = [1, x, 10, 11, 12] - if arr[i] == 1 and i != 1: + if arr[i] == 1 and i != 1 and i >= 0: return 1 elif arr[i] == 1: return 2 - elif arr[i] >= 10 and i != 1: + elif arr[i] >= 10 and i != 1 and i >= 0: return 3 elif arr[i] == 3: return 4 @@ -46,7 +46,7 @@ def long_list(x: int): return 2 -def memory_model(arr1: list[int], arr2: list[int]): +def memory_model(arr1: list, arr2: list): arr1[0] = 1 arr2[0] = 2 if arr1[0] == arr2[0]: @@ -113,3 +113,7 @@ def for_loop(x: list): elif len(x) == 3 and sum_ < -100: return 2 return 3 + + +def simple_assertion(x: list): + assert len(x) == 10 diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 0a7ea9c72b..2c0d3aa5d7 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -48,3 +48,9 @@ def isinstance_sample(x): elif isinstance(x, object): return 4 return "Not reachable" + + +def len_usage(x): + if len(x) == 5: + return 1 + return 2 From 0a6199de140e2e6a52fb38516a7bdc9ee55310b3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 3 Aug 2023 19:29:04 +0300 Subject: [PATCH 049/344] Added list richcompare approximation --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 103 +++++++++++++++++- .../cpythonadapter/src/main/c/converters.c | 4 +- .../src/main/c/include/approximations.h | 4 +- .../src/main/c/include/converters.h | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 16 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 12 ++ usvm-python/cpythonadapter/src/main/c/utils.c | 1 + .../src/main/json/adapter_method_defs.json | 14 ++- .../src/main/json/handler_defs.json | 7 +- .../org/usvm/interpreter/CPythonAdapter.java | 14 ++- .../org/usvm/interpreter/operations/Common.kt | 10 ++ .../tracing/SymbolicHandlerEvent.kt | 5 +- usvm-python/src/test/kotlin/manualTest.kt | 12 +- .../org/usvm/samples/SimpleListsTest.kt | 42 +++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 4 + .../src/test/resources/samples/SimpleLists.py | 24 ++++ 17 files changed, 257 insertions(+), 19 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index b5e92bf09f..cfd1523bd5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit b5e92bf09f1cc69ed557e851d76222eba755c5bb +Subproject commit cfd1523bd583792bb94bd2e5cb5df6475e7e22a0 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index ea1f773529..b6bd3a88f2 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -1,8 +1,103 @@ #include "approximations.h" +#include "wrapper.h" + +#define list_richcmp_impl(OP) \ + "def list_richcompare_impl(x, y): \n" \ + " #print(\"INSIDE RICHCMP\", flush=True) \n" \ + " i = 0 \n" \ + " while i < len(x) and i < len(y): \n" \ + " xitem = x[i] \n" \ + " yitem = y[i] \n" \ + " #if xitem is yitem: \n" \ + " # i += 1 \n" \ + " # continue \n" \ + " if xitem != yitem: \n" \ + " break \n" \ + " i += 1 \n" \ + " if i >= len(x) or i >= len(y): \n" \ + " return len(x) " OP " len(y) \n" \ + " return x[i] " OP " y[i] \n" + + +PyObject *list_richcompare_lt = 0; +PyObject *list_richcompare_gt = 0; +PyObject *list_richcompare_eq = 0; +PyObject *list_richcompare_ne = 0; +PyObject *list_richcompare_le = 0; +PyObject *list_richcompare_ge = 0; + +static void +initialize_list_richcompare_impl(SymbolicAdapter *adapter) { + PyObject *globals = PyDict_New(); + if (!list_richcompare_lt) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl("<"), Py_file_input, globals, globals, 0); + list_richcompare_lt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_lt); + } + if (!list_richcompare_gt) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl(">"), Py_file_input, globals, globals, 0); + list_richcompare_gt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_gt); + } + if (!list_richcompare_eq) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl("=="), Py_file_input, globals, globals, 0); + list_richcompare_eq = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_eq); + } + if (!list_richcompare_ne) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl("!="), Py_file_input, globals, globals, 0); + list_richcompare_ne = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_ne); + } + if (!list_richcompare_le) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl("<="), Py_file_input, globals, globals, 0); + list_richcompare_le = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_le); + } + if (!list_richcompare_ge) { + adapter->ignore = 1; + PyRun_StringFlags(list_richcmp_impl(">="), Py_file_input, globals, globals, 0); + list_richcompare_ge = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + adapter->ignore = 0; + Py_INCREF(list_richcompare_ge); + } + Py_DECREF(globals); +} -/* PyObject * Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { - if (Py_TYPE(v)->) -} -*/ \ No newline at end of file + assert(is_wrapped(v) && is_wrapped(w)); + PyObject *concrete_v = unwrap(v); + PyObject *concrete_w = unwrap(w); + if (!PyList_Check(concrete_v) || !PyList_Check(concrete_w)) + Py_RETURN_NOTIMPLEMENTED; + + SymbolicAdapter *adapter = get_adapter(v); + initialize_list_richcompare_impl(adapter); + PyObject *wrapped = 0; + if (op == Py_LT) { + wrapped = wrap(list_richcompare_lt, Py_None, adapter); + } else if (op == Py_GT) { + wrapped = wrap(list_richcompare_gt, Py_None, adapter); + } else if (op == Py_EQ) { + wrapped = wrap(list_richcompare_eq, Py_None, adapter); + } else if (op == Py_NE) { + wrapped = wrap(list_richcompare_ne, Py_None, adapter); + } else if (op == Py_LE) { + wrapped = wrap(list_richcompare_le, Py_None, adapter); + } else if (op == Py_GE) { + wrapped = wrap(list_richcompare_ge, Py_None, adapter); + } + assert(wrapped); + return Py_TYPE(wrapped)->tp_call(wrapped, PyTuple_Pack(2, v, w), 0); +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index 8a7f126fd8..05f7c09677 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -1,8 +1,8 @@ #include "converters.h" #include "utils.h" -jint frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail) { - return take_instruction_from_frame(value); +jlong frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail) { + return (jlong) value; } jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail) { diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 637eed1775..737d1210b8 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -1,4 +1,6 @@ #include "Python.h" PyObject *Approximation_len(PyObject *o); // builtins.len -PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance \ No newline at end of file +PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance + +PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index 5b65fd32a2..d9e05a34ad 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -8,7 +8,7 @@ extern "C" { #include "Python.h" #include "utils.h" -jint frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail); +jlong frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail); jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail); jint int_converter(ConcolicContext *ctx, int value, int *fail); jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 206eb2eaeb..5c5f511974 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -119,6 +119,22 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObject JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPythonType (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getInstructionFromFrame + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFromFrame + (JNIEnv *, jclass, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getFunctionFromFrame + * Signature: (J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getFunctionFromFrame + (JNIEnv *, jclass, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: allocateVirtualObject diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 93d31dc03f..9de7503b8c 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -8,6 +8,8 @@ #include "symbolicadapter.h" #include "virtual_objects.h" +#include "internal/pycore_frame.h" + #define SET_IS_INITIALIZED(value) \ jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ jfieldID f = (*env)->GetFieldID(env, cls, "isInitialized", "Z"); \ @@ -193,6 +195,16 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPyth return (*env)->NewStringUTF(env, type_name); } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFromFrame(JNIEnv *env, jclass _, jlong frame_ref) { + assert(PyFrame_Check(frame_ref)); + return take_instruction_from_frame((PyFrameObject *) frame_ref); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getFunctionFromFrame(JNIEnv *env, jclass _, jlong frame_ref) { + assert(PyFrame_Check(frame_ref)); + return (jlong) PyFrame_GetCode((PyFrameObject *) frame_ref); +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject(JNIEnv *env, jobject cpython_adapter, jobject virtual_object) { return (jlong) allocate_raw_virtual_object(env, virtual_object); } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index ea1f380c82..a675ca8ab3 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -80,6 +80,7 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_builtin_len = Approximation_len; adapter->approximation_builtin_isinstance = Approximation_isinstance; + adapter->approximation_list_richcompare = Approximation_list_richcompare; } static void diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 311626a310..c760846b18 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -4,7 +4,7 @@ "nargs": 1, "c_arg_types": ["PyFrameObject *"], "c_return_type": "int", - "java_arg_types": ["jint"], + "java_arg_types": ["jlong"], "java_return_type": "void", "argument_converters": ["frame_converter"], "result_converter": "", @@ -191,6 +191,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "bool_and", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "list_get_item", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 88ec945dbf..8a2c93bd6c 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -2,7 +2,7 @@ { "c_name": "instruction", "java_name": "handlerInstruction", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)V" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" }, { "c_name": "load_const", @@ -74,6 +74,11 @@ "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "bool_and", + "java_name": "handlerAND", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "create_list", "java_name": "handlerCreateList", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 379a4e881a..035a7c32c2 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -10,6 +10,7 @@ import java.util.Collections; import java.util.concurrent.Callable; +import static org.usvm.interpreter.operations.CommonKt.handlerAndKt; import static org.usvm.interpreter.operations.CommonKt.handlerIsinstanceKt; import static org.usvm.interpreter.operations.ConstantsKt.*; import static org.usvm.interpreter.operations.ControlKt.*; @@ -40,6 +41,8 @@ public class CPythonAdapter { public native String getPythonObjectTypeName(long object); public native long getPythonObjectType(long object); public native String getNameOfPythonType(long type); + public static native int getInstructionFromFrame(long frameRef); + public static native long getFunctionFromFrame(long frameRef); public native long allocateVirtualObject(VirtualPythonObject object); public native long makeList(long[] elements); public native int typeHasNbBool(long type); @@ -55,9 +58,12 @@ public class CPythonAdapter { System.loadLibrary("cpythonadapter"); } - public static void handlerInstruction(@NotNull ConcolicRunContext context, int instruction) { + public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; - withTracing(context, new NextInstruction(new PythonInstruction(instruction)), () -> Unit.INSTANCE); + int instruction = getInstructionFromFrame(frameRef); + long functionRef = getFunctionFromFrame(frameRef); + PythonPinnedCallable function = new PythonPinnedCallable(new PythonObject(functionRef)); + withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); } private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { @@ -150,6 +156,10 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("bool_ans", Arrays.asList(left, right)), () -> handlerAndKt(context, left.obj, right.obj)); + } + public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { ListCreation event = new ListCreation(Arrays.asList(elements)); return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt index 0109580446..31a10789bb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt @@ -8,6 +8,7 @@ import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructBool import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonObjectType fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { @@ -33,4 +34,13 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho } else { constructBool(ctx, obj.evalIs(ctx, type)) } +} + +fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + ctx.curState ?: return null + left.addSupertype(ctx, pythonBool) + right.addSupertype(ctx, pythonBool) + val leftValue = left.getBoolContent(ctx) + val rightValue = right.getBoolContent(ctx) + return constructBool(ctx, mkAnd(leftValue, rightValue)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index 0f10692f08..c9256cfbe4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -8,7 +8,10 @@ import org.usvm.language.SymbolForCPython sealed class SymbolicHandlerEventParameters data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() -data class NextInstruction(val pythonInstruction: PythonInstruction): SymbolicHandlerEventParameters() +data class NextInstruction( + val pythonInstruction: PythonInstruction, + val function: PythonPinnedCallable +): SymbolicHandlerEventParameters() data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() object PythonReturn: SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 2fa383d562..5bd286fb32 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,18 +8,20 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x): - if len(x) == 5: + def f(x, y): + if x > y: return 1 - return 2 + elif x == y: + return 2 + return 3 """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 20) + val returnValue = activeMachine.analyze(function, results, maxIterations = 300) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 9ef4a23705..ae03b8f380 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -2,6 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions +import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList import org.usvm.test.util.checkers.eq @@ -208,4 +209,45 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) ) } + + private fun richcompareCheck(function: PythonUnpinnedCallable) { + val oldOptions = options + options = UMachineOptions(stepLimit = 10U) + check2WithConcreteRun( + function, + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.repr == "None" } + ) + ) + options = oldOptions + } + + @Test + fun testLt() { + richcompareCheck(constructFunction("lt", listOf(pythonList, pythonList))) + } + @Test + fun testGt() { + richcompareCheck(constructFunction("gt", listOf(pythonList, pythonList))) + } + @Test + fun testEq() { + richcompareCheck(constructFunction("eq", listOf(pythonList, pythonList))) + } + @Test + fun testNe() { + richcompareCheck(constructFunction("ne", listOf(pythonList, pythonList))) + } + @Test + fun testLe() { + richcompareCheck(constructFunction("le", listOf(pythonList, pythonList))) + } + @Test + fun testGe() { + richcompareCheck(constructFunction("ge", listOf(pythonList, pythonList))) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 7d63f12eb5..e583925e1a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -1,12 +1,16 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py") { private val functionBoolInput = constructFunction("bool_input", List(1) { PythonAnyType }) + init { + options = UMachineOptions(stepLimit = 20U) + } @Test fun testBoolInput() { check1WithConcreteRun( diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index cea38edae0..18f946aab4 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -117,3 +117,27 @@ def for_loop(x: list): def simple_assertion(x: list): assert len(x) == 10 + + +def lt(x: list, y: list): + assert x < y + + +def gt(x: list, y: list): + assert x > y + + +def eq(x: list, y: list): + assert x == y + + +def ne(x: list, y: list): + assert x != y + + +def le(x: list, y: list): + assert x <= y + + +def ge(x: list, y: list): + assert x >= y \ No newline at end of file From e5e8b58572ddc9e5a92240ea907fd4f89ecb1d62 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 4 Aug 2023 14:44:45 +0300 Subject: [PATCH 050/344] More cases for type inference --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 6 +-- .../org_usvm_interpreter_CPythonAdapter.h | 16 ++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 10 ++++ .../src/main/c/virtual_objects.c | 28 +++++++++- .../src/main/json/adapter_method_defs.json | 32 ++++++++++-- .../src/main/json/handler_defs.json | 12 ++++- .../org/usvm/interpreter/CPythonAdapter.java | 18 +++++-- .../interpreter/ConcretePythonInterpreter.kt | 2 + .../usvm/interpreter/PythonExecutionState.kt | 5 +- .../usvm/interpreter/operations/Control.kt | 1 + .../operations/MethodNotifications.kt | 10 ++++ .../operations/tracing/PathTracing.kt | 12 ++--- .../symbolicobjects/SymbolicPythonObject.kt | 20 +++++-- .../main/kotlin/org/usvm/language/Domain.kt | 4 +- .../org/usvm/language/types/VirtualTypes.kt | 16 ++++++ usvm-python/src/test/kotlin/manualTest.kt | 23 ++++---- .../org/usvm/samples/SimpleListsTest.kt | 51 ++++++++++-------- .../usvm/samples/SimpleTypeInferenceTest.kt | 52 +++++++++++++------ .../src/test/resources/samples/SimpleLists.py | 7 ++- .../resources/samples/SimpleTypeInference.py | 13 +++++ 21 files changed, 261 insertions(+), 79 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index cfd1523bd5..92f270308e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit cfd1523bd583792bb94bd2e5cb5df6475e7e22a0 +Subproject commit 92f270308ecced706484b85da073425485d3307a diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index b6bd3a88f2..6ddcee773a 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -8,9 +8,9 @@ " while i < len(x) and i < len(y): \n" \ " xitem = x[i] \n" \ " yitem = y[i] \n" \ - " #if xitem is yitem: \n" \ - " # i += 1 \n" \ - " # continue \n" \ + " #if xitem is yitem: \n" \ + " # i += 1 \n" \ + " # continue \n" \ " if xitem != yitem: \n" \ " break \n" \ " i += 1 \n" \ diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 5c5f511974..04b8210fbc 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -199,6 +199,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpLength JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscript (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasMpAssSubscript + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpAssSubscript + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpRichcmp @@ -207,6 +215,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscri JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpIter + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: extractException diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 9de7503b8c..b0fd69f865 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -258,11 +258,21 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscri return type->tp_as_mapping && type->tp_as_mapping->mp_subscript; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpAssSubscript(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_mapping && type->tp_as_mapping->mp_ass_subscript; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_richcompare != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_iter != 0; +} + JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException(JNIEnv *env, jobject _, jlong exception) { PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); assert(is_wrapped_java_object(wrapped)); diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 9812899b1b..e64d162b62 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -18,12 +18,28 @@ virtual_object_dealloc(PyObject *op) { CHECK_FOR_EXCEPTION(ctx, 0) \ return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); + +#define MAKE_USVM_VIRUAL_CALL_NO_RETURN(obj, owner_id) \ + SymbolicAdapter *adapter = (obj)->adapter; \ + ConcolicContext *ctx = (obj)->ctx; \ + adapter->ignore = 1; \ + (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ + adapter->ignore = 0; \ + CHECK_FOR_EXCEPTION(ctx, -1) \ + return 0; + static PyObject * tp_richcompare(PyObject *o1, PyObject *o2, int op) { assert(is_virtual_object(o1)); MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } +static PyObject * +tp_iter(PyObject *o1) { + assert(is_virtual_object(o1)); + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) +} + static int nb_bool(PyObject *self) { VirtualPythonObject *obj = (VirtualPythonObject *) self; @@ -76,9 +92,16 @@ sq_length(PyObject *self) { static PyObject * mp_subscript(PyObject *self, PyObject *item) { + assert(is_virtual_object(self)); MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) } +static int +mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { + assert(is_virtual_object(self)); + MAKE_USVM_VIRUAL_CALL_NO_RETURN((VirtualPythonObject *) self, 0) +} + static PyNumberMethods virtual_as_number = { nb_add, /*nb_add*/ 0, /*nb_subtract*/ @@ -132,7 +155,7 @@ static PySequenceMethods virtual_as_sequence = { PyMappingMethods virtual_as_mapping = { 0, /* mp_length */ mp_subscript, /* mp_subscript */ - 0 /* mp_ass_subscript */ + mp_ass_subscript /* mp_ass_subscript */ }; PyTypeObject VirtualPythonObject_Type = { @@ -161,7 +184,7 @@ PyTypeObject VirtualPythonObject_Type = { 0, /*tp_clear */ tp_richcompare, /*tp_richcompare */ 0, /*tp_weaklistoffset */ - 0, /*tp_iter */ + tp_iter, /*tp_iter */ 0, /*tp_iternext */ 0, /*tp_methods */ 0, /*tp_members */ @@ -213,6 +236,7 @@ is_virtual_object(PyObject *obj) { void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; + adapter->virtual_tp_iter = tp_iter; adapter->virtual_nb_add = nb_add; adapter->virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index c760846b18..52cffc2d7d 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -25,12 +25,12 @@ }, { "c_name": "fork_result", - "nargs": 1, - "c_arg_types": ["int"], + "nargs": 2, + "c_arg_types": ["PyObject *", "int"], "c_return_type": "int", - "java_arg_types": ["jint"], + "java_arg_types": ["jobject", "jint"], "java_return_type": "void", - "argument_converters": ["int_converter"], + "argument_converters": ["object_converter", "int_converter"], "result_converter": "", "fail_value": "-1", "default_value": "0" @@ -359,6 +359,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "mp_ass_subscript", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "tp_richcompare", "nargs": 3, @@ -371,6 +383,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "tp_iter", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "symbolic_virtual_unary_fun", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 8a2c93bd6c..4b14284c0a 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -132,7 +132,7 @@ { "c_name": "fork_result", "java_name": "handlerForkResult", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Z)V" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Z)V" }, { "c_name": "nb_bool", @@ -159,11 +159,21 @@ "java_name": "notifyMpSubscript", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "mp_ass_subscript", + "java_name": "notifyMpAssSubscript", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "tp_richcompare", "java_name": "notifyTpRichcmp", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "tp_iter", + "java_name": "notifyTpIter", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "virtual_nb_bool", "java_name": "virtualNbBool", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 035a7c32c2..cd481ad26a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -51,7 +51,9 @@ public class CPythonAdapter { public native int typeHasSqLength(long type); public native int typeHasMpLength(long type); public native int typeHasMpSubscript(long type); + public native int typeHasMpAssSubscript(long type); public native int typeHasTpRichcmp(long type); + public native int typeHasTpIter(long type); public native Throwable extractException(long exception); static { @@ -104,8 +106,8 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } - public static void handlerForkResult(ConcolicRunContext context, boolean result) { - handlerForkResultKt(context, result); + public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { + handlerForkResultKt(context, cond, result); } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { @@ -203,7 +205,7 @@ public static void handlerReturn(ConcolicRunContext context) { } public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { - return methodWrapper(context, new MethodParameters("virtual_unary_fun", Arrays.asList(obj)), () -> virtualCallSymbolKt(context)); + return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> virtualCallSymbolKt(context)); } public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { @@ -240,11 +242,21 @@ public static void notifyMpSubscript(@NotNull ConcolicRunContext context, Symbol mpSubscriptKt(context, storage.obj); } + public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { + context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage, item, value), storage); + mpAssSubscriptKt(context, storage.obj); + } + public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); tpRichcmpKt(context, left.obj); } + public static void notifyTpIter(@NotNull ConcolicRunContext context, SymbolForCPython on) { + context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on), on); + tpIterKt(context, on.obj); + } + public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index c04abd9947..d5012fa506 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -133,7 +133,9 @@ object ConcretePythonInterpreter { val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } val typeHasMpLength = createTypeQuery { pythonAdapter.typeHasMpLength(it) } val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } + val typeHasMpAssSubscript = createTypeQuery { pythonAdapter.typeHasMpAssSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } + val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } fun kill() { pythonAdapter.finalizePython() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt index a01cd6dcac..325b27b29c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt @@ -13,6 +13,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.TypeOfVirtualObject import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase +import org.usvm.types.UTypeStream private const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 @@ -52,9 +53,8 @@ class PythonExecutionState( get() = if (path.isEmpty()) null else path.last() // TODO: here we will use Python type hints to prioritize concrete types - @Suppress("unused_parameter") fun makeTypeRating(delayedFork: DelayedFork): List { - val res = PythonTypeSystem.topTypeStream().take(MAX_CONCRETE_TYPES_TO_CONSIDER).toList() + val res = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).toList() require(res.first() == TypeOfVirtualObject) return res.drop(1) } @@ -73,6 +73,7 @@ class PythonExecutionState( class DelayedFork( val state: PythonExecutionState, val symbol: UninterpretedSymbolicPythonObject, + val possibleTypes: UTypeStream, val delayedForkPrefix: PersistentList ) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index ba0e7f6df2..c1c36bf456 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -49,6 +49,7 @@ fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonO DelayedFork( clonedState, on, + on.getTypeStreamOfModel(context), context.curState!!.delayedForks ) ) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index 1fe23a132e..f0ba95a12e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -29,7 +29,17 @@ fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonOb on.addSupertype(context, HasMpSubscript) } +fun mpAssSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + on.addSupertype(context, HasMpAssSubscript) +} + fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, left.evalIs(context, HasTpRichcmp)) +} + +fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIs(context, HasTpIter)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index 5057941b14..432e092875 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -3,6 +3,7 @@ package org.usvm.interpreter.operations.tracing import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.language.SymbolForCPython import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger @@ -38,20 +39,17 @@ fun withTracing( } -// TODO: there might be events between fork and fork result -fun handlerForkResultKt(context: ConcolicRunContext, result: Boolean) { - if (context.instructionCounter < 1 || context.curState == null) - return - val lastEventParams = context.curState!!.path[context.instructionCounter - 1].parameters - if (lastEventParams !is Fork) +fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, result: Boolean) { + if (context.curState == null) return - val expectedResult = lastEventParams.condition.obj.getToBoolValue(context)?.let { + val expectedResult = cond.obj.getToBoolValue(context)?.let { context.curState!!.pyModel.eval(it) }?.isTrue ?: return if (result != expectedResult) { logger.debug("Path diversion after fork!") + logger.debug("Condition: {}", cond.obj.getToBoolValue(context)) logger.debug("Expected: {}", expectedResult) logger.debug("Got: {}", result) context.pathDiversion() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 3881d74d0b..a320c3f2ea 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -38,7 +38,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) - if (type is ConcretePythonType) + if (type !is PythonAnyType) result = result and mkHeapRefEq(address, nullRef).not() return result } @@ -123,6 +123,11 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) } + + fun getTypeStreamOfModel(ctx: ConcolicRunContext): UTypeStream { + val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) + return interpreted.getTypeStream(ctx) + } } sealed class InterpretedSymbolicPythonObject( @@ -131,6 +136,7 @@ sealed class InterpretedSymbolicPythonObject( abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue + abstract fun getTypeStream(ctx: ConcolicRunContext): UTypeStream } class InterpretedInputSymbolicPythonObject( @@ -146,6 +152,7 @@ class InterpretedInputSymbolicPythonObject( override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue = getIntContent(ctx.ctx) + override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream = getTypeStream() fun getFirstType(): PythonType? { if (address.address == 0) @@ -181,10 +188,8 @@ class InterpretedAllocatedSymbolicPythonObject( init { require(address.address > 0) } - override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? { - require(ctx.curState != null) - return ctx.curState!!.memory.typeStreamOf(address).first() as? ConcretePythonType - } + override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = + getTypeStream(ctx).first() as? ConcretePythonType override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) @@ -197,6 +202,11 @@ class InterpretedAllocatedSymbolicPythonObject( @Suppress("unchecked_cast") return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue } + + override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { + require(ctx.curState != null) + return ctx.curState!!.memory.typeStreamOf(address) + } } fun interpretSymbolicPythonObject( diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 82a7f05211..844984bfb1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -29,4 +29,6 @@ object NbIntMethod: TypeMethod(true) object NbAddMethod: TypeMethod(false) object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) -data class TpRichcmpMethod(val op: Int): TypeMethod(false) \ No newline at end of file +object MpAssSubscriptMethod: TypeMethod(false) +data class TpRichcmpMethod(val op: Int): TypeMethod(false) +object TpIterMethod: TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index a371e17100..04914b296b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -6,6 +6,12 @@ object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true } +class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { + override fun accepts(type: PythonType): Boolean { + return type != concreteType + } +} + sealed class TypeProtocol: VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { @@ -47,7 +53,17 @@ object HasMpSubscript: TypeProtocol() { ConcretePythonInterpreter.typeHasMpSubscript(type.asObject) } +object HasMpAssSubscript: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasMpAssSubscript(type.asObject) +} + object HasTpRichcmp: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpRichcmp(type.asObject) +} + +object HasTpIter: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpIter(type.asObject) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 5bd286fb32..05f15697f8 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -9,26 +9,25 @@ fun main() { val program = PythonProgram( """ def f(x, y): - if x > y: - return 1 - elif x == y: - return 2 - return 3 + x[0][0] += 1 + assert x < y """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType, PythonAnyType), "f") - val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { it } + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonList), "f") + val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { + ConcretePythonInterpreter.getPythonObjectRepr(it) + } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> - val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 300) + val results: MutableList> = mutableListOf() + val returnValue = activeMachine.analyze(function, results, maxIterations = 20) results.forEach { (_, inputs, result) -> println("INPUT:") - inputs.map { it.reprFromPythonObject }.forEach { ConcretePythonInterpreter.printPythonObject(it) } + inputs.map { it.reprFromPythonObject }.forEach { println(it) } println("RESULT:") when (result) { - is Success -> println(ConcretePythonInterpreter.getPythonObjectRepr(result.output)) - is Fail -> println(ConcretePythonInterpreter.getNameOfPythonType(result.exception)) + is Success -> println(result.output) + is Fail -> println(result.exception) } println() } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index ae03b8f380..70b9677855 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -10,11 +10,10 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { - private val functionSimpleListSample = constructFunction("simple_list_sample", listOf(pythonList, pythonInt)) @Test fun testSimpleListSample() { check2WithConcreteRun( - functionSimpleListSample, + constructFunction("simple_list_sample", listOf(pythonList, pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { list, index, _ -> @@ -29,11 +28,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionAllocatedList = constructFunction("allocated_list_sample", listOf(pythonInt)) @Test fun testAllocatedList() { check1WithConcreteRun( - functionAllocatedList, + constructFunction("allocated_list_sample", listOf(pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { index, _ -> @@ -49,11 +47,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionMixedAllocation = constructFunction("mixed_allocation", listOf(pythonInt, pythonInt)) @Test fun testMixedAllocation() { check2WithConcreteRun( - functionMixedAllocation, + constructFunction("mixed_allocation", listOf(pythonInt, pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, i, _ -> @@ -70,11 +67,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionNegativeIndex = constructFunction("negative_index", listOf(pythonInt)) @Test fun testNegativeIndex() { check1WithConcreteRun( - functionNegativeIndex, + constructFunction("negative_index", listOf(pythonInt)), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { i, _ -> i.typeName == "int" }, @@ -100,11 +96,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionSetItem = constructFunction("set_item", listOf(pythonList, pythonInt)) @Test fun testSetItem() { check2WithConcreteRun( - functionSetItem, + constructFunction("set_item", listOf(pythonList, pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { arr, x, _ -> arr.typeName == "list" && x.typeName == "int" }, @@ -117,11 +112,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionMemoryModel = constructFunction("memory_model", listOf(pythonList, pythonList)) @Test fun testMemoryModel() { check2WithConcreteRun( - functionMemoryModel, + constructFunction("memory_model", listOf(pythonList, pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "list" }, @@ -133,11 +127,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionPositiveAndNegativeIndex = constructFunction("positive_and_negative_index", listOf(pythonList, pythonInt)) @Test fun testPositiveAndNegativeIndex() { check2WithConcreteRun( - functionPositiveAndNegativeIndex, + constructFunction("positive_and_negative_index", listOf(pythonList, pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "int" }, @@ -147,11 +140,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionLenUsage = constructFunction("len_usage", listOf(pythonList)) @Test fun testLenUsage() { check1WithConcreteRun( - functionLenUsage, + constructFunction("len_usage", listOf(pythonList)), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -161,13 +153,12 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { ) } - private val functionSumOfElements = constructFunction("sum_of_elements", listOf(pythonList)) @Test fun testSumOfElements() { val oldOptions = options options = UMachineOptions(stepLimit = 20U) check1WithConcreteRun( - functionSumOfElements, + constructFunction("sum_of_elements", listOf(pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -178,13 +169,12 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { options = oldOptions } - private val functionForLoop = constructFunction("for_loop", listOf(pythonList)) @Test fun testForLoop() { val oldOptions = options options = UMachineOptions(stepLimit = 20U) check1WithConcreteRun( - functionForLoop, + constructFunction("for_loop", listOf(pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -195,11 +185,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { options = oldOptions } - private val functionSimpleAssertion = constructFunction("simple_assertion", listOf(pythonList)) @Test fun testSimpleAssertion() { check1WithConcreteRun( - functionSimpleAssertion, + constructFunction("simple_assertion", listOf(pythonList)), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, _ -> x.typeName == "list" }, @@ -250,4 +239,22 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { fun testGe() { richcompareCheck(constructFunction("ge", listOf(pythonList, pythonList))) } + + @Test + fun testAddAndCompare() { + val oldOptions = options + options = UMachineOptions(stepLimit = 10U) + check2WithConcreteRun( + constructFunction("add_and_compare", listOf(pythonList, pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, + { _, _, res -> res.repr == "None" } + ) + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index e583925e1a..1a101f131e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -7,14 +7,13 @@ import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py") { - private val functionBoolInput = constructFunction("bool_input", List(1) { PythonAnyType }) init { - options = UMachineOptions(stepLimit = 20U) + options = UMachineOptions(stepLimit = 30U) } @Test fun testBoolInput() { check1WithConcreteRun( - functionBoolInput, + constructFunction("bool_input", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ emptyList(), @@ -24,11 +23,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionTwoArgs = constructFunction("two_args", List(2) { PythonAnyType }) @Test fun testTwoArgs() { check2WithConcreteRun( - functionTwoArgs, + constructFunction("two_args", List(2) { PythonAnyType }), ge(4), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ emptyList(), @@ -38,11 +36,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionListOfInt = constructFunction("list_of_int", List(1) { PythonAnyType }) @Test fun testListOfInt() { check1WithConcreteRun( - functionListOfInt, + constructFunction("list_of_int", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { _, res -> res.selfTypeName != "TypeError" }, @@ -55,11 +52,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionDoubleSubscript = constructFunction("double_subscript", listOf(PythonAnyType)) @Test fun testDoubleSubscript() { check1WithConcreteRun( - functionDoubleSubscript, + constructFunction("double_subscript", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { _, res -> res.selfTypeName != "TypeError" }, @@ -71,11 +67,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionSimpleComparison = constructFunction("simple_comparison", List(2) { PythonAnyType }) @Test fun testSimpleComparison() { check2WithConcreteRun( - functionSimpleComparison, + constructFunction("simple_comparison", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), @@ -87,11 +82,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionIsinstanceSample = constructFunction("isinstance_sample", List(1) { PythonAnyType }) @Test fun testIsinstanceSample() { check1WithConcreteRun( - functionIsinstanceSample, + constructFunction("isinstance_sample", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { _, res -> res.typeName == "int" }, @@ -101,11 +95,10 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) } - private val functionLenUsage = constructFunction("len_usage", List(1) { PythonAnyType }) @Test fun testLenUsage() { check1WithConcreteRun( - functionLenUsage, + constructFunction("len_usage", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { _, res -> res.typeName == "int" }, @@ -114,4 +107,33 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py } ) } + + @Test + fun testIteration() { + check1WithConcreteRun( + constructFunction("iteration", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.selfTypeName == "AssertionError" || res.repr == "None" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testAddAndCompare() { + check2WithConcreteRun( + constructFunction("add_and_compare", List(2) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, + { _, _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 18f946aab4..e09d90c41a 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -140,4 +140,9 @@ def le(x: list, y: list): def ge(x: list, y: list): - assert x >= y \ No newline at end of file + assert x >= y + + +def add_and_compare(x: list, y: list): + x[0] += 1 + assert x < y \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 2c0d3aa5d7..9b7f007e9c 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -54,3 +54,16 @@ def len_usage(x): if len(x) == 5: return 1 return 2 + + +def iteration(x): + sum_ = 0 + for elem in x: + sum_ += elem + + assert sum_ % 153 == 152 + + +def add_and_compare(x, y): + x[0] += 1 + assert x < y From 91538afd116ebdeba19b580d3d8efbc04b4edd98 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 4 Aug 2023 18:22:48 +0300 Subject: [PATCH 051/344] Fixes and tests --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 10 +++-- .../src/main/json/adapter_method_defs.json | 36 ++++++++++++++++++ .../src/main/json/handler_defs.json | 9 ++++- .../org/usvm/interpreter/CPythonAdapter.java | 17 ++++++--- .../org/usvm/interpreter/PythonComponents.kt | 2 +- .../org/usvm/interpreter/operations/Common.kt | 6 +++ .../usvm/interpreter/operations/Control.kt | 6 ++- .../org/usvm/interpreter/operations/List.kt | 17 ++++----- .../operations/tracing/PathTracing.kt | 1 + .../tracing/SymbolicHandlerEvent.kt | 2 +- .../org/usvm/samples/SimpleExampleTest.kt | 38 +++++++++++-------- .../org/usvm/samples/SimpleListsTest.kt | 27 ++++++++----- .../test/resources/samples/SimpleExample.py | 10 ++++- .../src/test/resources/samples/SimpleLists.py | 5 +++ 15 files changed, 137 insertions(+), 51 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 92f270308e..25d2e2da5a 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 92f270308ecced706484b85da073425485d3307a +Subproject commit 25d2e2da5afd8e66ebb01fc80ea73ae3b39e81de diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 6ddcee773a..9c7983ebed 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -8,9 +8,9 @@ " while i < len(x) and i < len(y): \n" \ " xitem = x[i] \n" \ " yitem = y[i] \n" \ - " #if xitem is yitem: \n" \ - " # i += 1 \n" \ - " # continue \n" \ + " #if xitem is yitem: \n" \ + " # i += 1 \n" \ + " # continue \n" \ " if xitem != yitem: \n" \ " break \n" \ " i += 1 \n" \ @@ -83,6 +83,10 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { Py_RETURN_NOTIMPLEMENTED; SymbolicAdapter *adapter = get_adapter(v); + if (adapter->add_concrete_supertype(adapter->handler_param, get_symbolic_or_none(v), (PyObject *) &PyList_Type)) + return 0; + if (adapter->add_concrete_supertype(adapter->handler_param, get_symbolic_or_none(w), (PyObject *) &PyList_Type)) + return 0; initialize_list_richcompare_impl(adapter); PyObject *wrapped = 0; if (op == Py_LT) { diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 52cffc2d7d..f82312ee37 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -299,6 +299,42 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "add_concrete_supertype", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jlong"], + "java_return_type": "void", + "argument_converters": ["object_converter", "ref_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "function_call", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jlong"], + "java_return_type": "void", + "argument_converters": ["ref_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, + { + "c_name": "function_return", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jlong"], + "java_return_type": "void", + "argument_converters": ["ref_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "nb_bool", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 4b14284c0a..3bd4ab2994 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -119,15 +119,20 @@ "java_name": "handlerIsinstance", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "add_concrete_supertype", + "java_name": "addConcreteSupertype", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)V" + }, { "c_name": "function_call", "java_name": "handlerFunctionCall", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" }, { - "c_name": "python_return", + "c_name": "function_return", "java_name": "handlerReturn", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;)V" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" }, { "c_name": "fork_result", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cd481ad26a..0ec2d7de4b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -10,8 +10,7 @@ import java.util.Collections; import java.util.concurrent.Callable; -import static org.usvm.interpreter.operations.CommonKt.handlerAndKt; -import static org.usvm.interpreter.operations.CommonKt.handlerIsinstanceKt; +import static org.usvm.interpreter.operations.CommonKt.*; import static org.usvm.interpreter.operations.ConstantsKt.*; import static org.usvm.interpreter.operations.ControlKt.*; import static org.usvm.interpreter.operations.ListKt.*; @@ -195,13 +194,14 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } - public static void handlerFunctionCall(ConcolicRunContext context, long function) { - PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(function)); + public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { + PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); } - public static void handlerReturn(ConcolicRunContext context) { - withTracing(context, PythonReturn.INSTANCE, unit(() -> handlerReturnKt(context))); + public static void handlerReturn(ConcolicRunContext context, long codeRef) { + PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); + withTracing(context, new PythonReturn(callable), unit(() -> handlerReturnKt(context))); } public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { @@ -217,6 +217,11 @@ public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, Sym return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); } + public static void addConcreteSupertype(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { + PythonObject type = new PythonObject(typeRef); + addConcreteSupertypeKt(context, obj.obj, type); + } + public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); nbBoolKt(context, symbol.obj); diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt index 3160cba489..05e319ad05 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt @@ -18,7 +18,7 @@ object PythonComponents: UComponents(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) - //solver.configure { setZ3Option("timeout", 100000) } + solver.configure { setZ3Option("timeout", 1) } return USolverBase(ctx, solver, UTypeSolver(PythonTypeSystem), translator, decoder, softConstraintsProvider) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt index 31a10789bb..a60d832812 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt @@ -36,6 +36,12 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho } } +fun addConcreteSupertypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject) { + ctx.curState ?: return + val type = PythonTypeSystem.getConcreteTypeByAddress(typeRef) ?: return + obj.addSupertype(ctx, type) +} + fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null left.addSupertype(ctx, pythonBool) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index c1c36bf456..1273e8299b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -65,12 +65,14 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje myFork(ctx, expr) } +@Suppress("unused_parameter") fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable) { - (ctx.curState ?: return).callStack.push(function, (ctx.curState ?: return).lastHandlerEvent) + // (ctx.curState ?: return).callStack.push(function, (ctx.curState ?: return).lastHandlerEvent) } +@Suppress("unused_parameter") fun handlerReturnKt(ctx: ConcolicRunContext) { - (ctx.curState ?: return).callStack.pop() + // (ctx.curState ?: return).callStack.pop() } object BadModelException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt index f62be39985..44b6b5a330 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt @@ -28,6 +28,7 @@ fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream return constructInt(context, listSize) @@ -63,15 +64,16 @@ private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymboli } } -fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, index: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { +fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(context.ctx) { if (context.curState == null) return null - list ?: return null - index ?: return null val lvalue = resolveIndex(context, list, index) ?: return null @Suppress("unchecked_cast") val elemAddr = context.curState!!.memory.read(lvalue) as UHeapRef + + myAssert(context, mkHeapRefEq(list.address, elemAddr).not()) // to avoid recursive lists + return UninterpretedSymbolicPythonObject(elemAddr) } @@ -84,11 +86,9 @@ fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymboli } -fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, tuple: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { +fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null - list ?: return null - tuple ?: return null with (context.ctx) { list.addSupertype(context, pythonList) tuple.addSupertype(context, pythonTuple) @@ -104,11 +104,9 @@ fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolic } } -fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject?, elem: UninterpretedSymbolicPythonObject?): UninterpretedSymbolicPythonObject? { +fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null - list ?: return null - elem ?: return null with (context.ctx) { list.addSupertype(context, pythonList) @Suppress("unchecked_cast") @@ -122,6 +120,7 @@ fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolic fun handlerListIterKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null + list.addSupertype(context, pythonList) return constructListIterator(context, list) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt index 432e092875..dee8137fc4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt @@ -31,6 +31,7 @@ fun withTracing( logger.debug("Expected: {}", event.parameters) logger.debug("Got: {}", newEventParameters) context.pathDiversion() + return null } event.result ?: return null diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt index c9256cfbe4..d32a21bf26 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt @@ -13,7 +13,7 @@ data class NextInstruction( val function: PythonPinnedCallable ): SymbolicHandlerEventParameters() data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() -object PythonReturn: SymbolicHandlerEventParameters() +data class PythonReturn(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index be51da678f..3b80f9a7c9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -8,11 +8,10 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { - private val functionManyBranches = constructFunction("many_branches", List(3) { pythonInt }) @Test fun testManyBranches() { check3WithConcreteRun( - functionManyBranches, + constructFunction("many_branches", List(3) { pythonInt }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, y, z, res -> @@ -24,11 +23,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionMyAbs = constructFunction("my_abs", List(1) { pythonInt }) @Test fun testMyAbs() { check1WithConcreteRun( - functionMyAbs, + constructFunction("my_abs", List(1) { pythonInt }), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, @@ -40,11 +38,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionSamplePickle = constructFunction("pickle_sample", List(1) { pythonInt }) @Test fun testSamplePickle() { check1WithConcreteRun( - functionSamplePickle, + constructFunction("pickle_sample", List(1) { pythonInt }), eq(1), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { _, res -> res.typeName == "bytes" }, @@ -52,11 +49,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionCall = constructFunction("call", List(1) { pythonInt }) @Test fun testCall() { check1WithConcreteRun( - functionCall, + constructFunction("call", List(1) { pythonInt }), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, @@ -68,11 +64,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionZeroDivision = constructFunction("zero_division", List(1) { pythonInt }) @Test fun testZeroDivision() { check1WithConcreteRun( - functionZeroDivision, + constructFunction("zero_division", List(1) { pythonInt }), eq(1), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.selfTypeName == "ZeroDivisionError" }, @@ -80,11 +75,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionZeroDivisionInBranch = constructFunction("zero_division_in_branch", List(1) { pythonInt }) @Test fun testZeroDivisionInBranch() { check1WithConcreteRun( - functionZeroDivisionInBranch, + constructFunction("zero_division_in_branch", List(1) { pythonInt }), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf(), @@ -95,11 +89,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionBoolInput = constructFunction("bool_input", List(1) { pythonBool }) @Test fun testBoolInput() { check1WithConcreteRun( - functionBoolInput, + constructFunction("bool_input", List(1) { pythonBool }), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "bool" }, @@ -109,11 +102,10 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) } - private val functionMixedInputTypes = constructFunction("mixed_input_types", listOf(pythonBool, pythonInt)) @Test fun testMixedInputTypes() { check2WithConcreteRun( - functionMixedInputTypes, + constructFunction("mixed_input_types", listOf(pythonBool, pythonInt)), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, y, _ -> x.typeName == "bool" && y.typeName == "int" }, @@ -122,4 +114,18 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { } ) } + + @Test + fun testSymbolicCall() { + check1WithConcreteRun( + constructFunction("symbolic_call", List(1) { pythonInt }), + eq(2), + compareConcolicAndConcreteReprsIfSuccess, + /* invariants = */ listOf { x, _ -> x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 70b9677855..7d63e14712 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -9,6 +9,9 @@ import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { + init { + options = UMachineOptions(stepLimit = 20U) + } @Test fun testSimpleListSample() { @@ -155,8 +158,6 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { @Test fun testSumOfElements() { - val oldOptions = options - options = UMachineOptions(stepLimit = 20U) check1WithConcreteRun( constructFunction("sum_of_elements", listOf(pythonList)), ignoreNumberOfAnalysisResults, @@ -166,13 +167,10 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { { _, res -> res.repr == (index + 1).toString() } } ) - options = oldOptions } @Test fun testForLoop() { - val oldOptions = options - options = UMachineOptions(stepLimit = 20U) check1WithConcreteRun( constructFunction("for_loop", listOf(pythonList)), ignoreNumberOfAnalysisResults, @@ -182,7 +180,6 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { { _, res -> res.repr == (index + 1).toString() } } ) - options = oldOptions } @Test @@ -242,8 +239,6 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { @Test fun testAddAndCompare() { - val oldOptions = options - options = UMachineOptions(stepLimit = 10U) check2WithConcreteRun( constructFunction("add_and_compare", listOf(pythonList, pythonList)), ignoreNumberOfAnalysisResults, @@ -255,6 +250,20 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { { _, _, res -> res.repr == "None" } ) ) - options = oldOptions + } + + @Test + fun testDoubleSubscriptAndCompare() { + check2WithConcreteRun( + constructFunction("double_subscript_and_compare", listOf(pythonList, pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, + { _, _, res -> res.repr == "None" } + ) + ) } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 0abebbc1ea..c45336bf31 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -64,4 +64,12 @@ def mixed_input_types(x: bool, y: int): elif not x: return 2 else: - return 3 \ No newline at end of file + return 3 + + +def simple_condition(x): + return x < 0 + + +def symbolic_call(x): + assert simple_condition(x) \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index e09d90c41a..28c0728c8f 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -145,4 +145,9 @@ def ge(x: list, y: list): def add_and_compare(x: list, y: list): x[0] += 1 + assert x < y + + +def double_subscript_and_compare(x: list, y: list): + x[0][0] += 1 assert x < y \ No newline at end of file From f12e6fedc8f9260b20156b140303948d3ce5fa03 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 4 Aug 2023 18:37:49 +0300 Subject: [PATCH 052/344] Added ConcreteTypeNegation --- .../org/usvm/interpreter/operations/Common.kt | 16 +++------------- .../symbolicobjects/SymbolicPythonObject.kt | 8 ++++++++ .../org/usvm/language/types/VirtualTypes.kt | 4 ++++ usvm-python/src/test/kotlin/manualTest.kt | 15 +++++++++++---- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt index a60d832812..e83e7e02e8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt @@ -1,12 +1,11 @@ package org.usvm.interpreter.operations -import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.PythonExecutionState import org.usvm.interpreter.PythonObject import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.interpreter.symbolicobjects.constructBool import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.language.types.ConcreteTypeNegation import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonObjectType @@ -19,18 +18,9 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) return if (interpreted.getConcreteType(ctx) == null) { - - var negationState: PythonExecutionState? = ctx.curState!!.clone() // state with concrete type - negationState = forkMulti( - negationState!!, - listOf(negationState.pathConstraints.typeConstraints.evalIsSubtype(obj.address, type)) - ).single() - if (negationState != null) - ctx.forkedStates.add(negationState) - - myAssert(ctx, obj.evalIs(ctx, type).not()) // our state must contain type stream with excluded type + myFork(ctx, obj.rawEvalIs(ctx, ConcreteTypeNegation(type)).not()) require(interpreted.getConcreteType(ctx) == null) - constructBool(ctx, ctx.ctx.falseExpr) + constructBool(ctx, falseExpr) } else { constructBool(ctx, obj.evalIs(ctx, type)) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index a320c3f2ea..1179628997 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -36,6 +36,11 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) } + fun rawEvalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { + require(ctx.curState != null) + return rawEvalIs(ctx.curState!!.pathConstraints.typeConstraints, type) + } + fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) if (type !is PythonAnyType) @@ -43,6 +48,9 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject return result } + fun rawEvalIs(typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = + typeConstraints.evalIsSubtype(address, type) + fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) addSupertype(ctx, pythonInt) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 04914b296b..0647ba3fdd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -8,6 +8,10 @@ object PythonAnyType: VirtualPythonType() { class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { + if (type is TypeOfVirtualObject) + return true + if (type !is ConcretePythonType) + return false return type != concreteType } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 05f15697f8..f15a3484dd 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,12 +8,19 @@ import org.usvm.language.types.pythonList fun main() { val program = PythonProgram( """ - def f(x, y): - x[0][0] += 1 - assert x < y + def f(x): + if isinstance(x, bool): + return 1 + if isinstance(x, int): + return 2 + elif isinstance(x, list): + return 3 + elif isinstance(x, object): + return 4 + return "Not reachable" """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonList), "f") + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { ConcretePythonInterpreter.getPythonObjectRepr(it) } From 90c5a5f09b953f4220ba8154317270957e81f2bd Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 7 Aug 2023 15:56:28 +0300 Subject: [PATCH 053/344] Small fixes; tests --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +++ .../src/main/c/virtual_objects.c | 45 ++++++++++++------- .../src/main/json/adapter_method_defs.json | 12 +++++ .../src/main/json/handler_defs.json | 7 ++- .../org/usvm/interpreter/CPythonAdapter.java | 11 +++-- .../usvm/interpreter/ConcolicRunContext.java | 7 +++ .../interpreter/ConcretePythonInterpreter.kt | 1 + .../usvm/interpreter/USVMPythonInterpreter.kt | 2 +- .../usvm/interpreter/operations/Control.kt | 13 ++++-- .../org/usvm/interpreter/operations/Long.kt | 6 ++- .../operations/MethodNotifications.kt | 5 +++ .../usvm/interpreter/operations/Virtual.kt | 32 ++++++++----- .../symbolicobjects/SymbolicPythonObject.kt | 2 +- .../main/kotlin/org/usvm/language/Domain.kt | 1 + .../org/usvm/language/types/VirtualTypes.kt | 5 +++ usvm-python/src/test/kotlin/manualTest.kt | 12 ++--- .../usvm/samples/SimpleTypeInferenceTest.kt | 34 ++++++++++++++ .../resources/samples/SimpleTypeInference.py | 13 ++++++ 20 files changed, 176 insertions(+), 47 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 25d2e2da5a..67ac0e1ea3 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 25d2e2da5afd8e66ebb01fc80ea73ae3b39e81de +Subproject commit 67ac0e1ea377a5925df538473f0724d53af99a51 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 04b8210fbc..ccda2a8e55 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -175,6 +175,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbMultiply + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultiply + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasSqLength diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index b0fd69f865..dc109946be 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -243,6 +243,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd(JNI return type->tp_as_number && type->tp_as_number->nb_add; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultiply(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_multiply; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_sequence && type->tp_as_sequence->sq_length; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index e64d162b62..26d4d45336 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -13,17 +13,20 @@ virtual_object_dealloc(PyObject *op) { SymbolicAdapter *adapter = (obj)->adapter; \ ConcolicContext *ctx = (obj)->ctx; \ adapter->ignore = 1; \ - jobject virtual_object = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ + jlong result_address = (*ctx->env)->CallStaticLongMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ adapter->ignore = 0; \ CHECK_FOR_EXCEPTION(ctx, 0) \ - return (PyObject *) create_new_virtual_object(ctx, virtual_object, adapter); + if (is_virtual_object((PyObject *) result_address)) { \ + finish_virtual_object_initialization((VirtualPythonObject *) result_address, ctx, adapter); \ + } \ + return (PyObject *) result_address; #define MAKE_USVM_VIRUAL_CALL_NO_RETURN(obj, owner_id) \ SymbolicAdapter *adapter = (obj)->adapter; \ ConcolicContext *ctx = (obj)->ctx; \ adapter->ignore = 1; \ - (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ + (*ctx->env)->CallStaticLongMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_virtual_call, ctx->context, owner_id); \ adapter->ignore = 0; \ CHECK_FOR_EXCEPTION(ctx, -1) \ return 0; @@ -62,20 +65,29 @@ nb_int(PyObject *self) { return (PyObject *) result; } +#define BINARY_FUNCTION \ + PyObject *owner = 0; \ + int owner_id = -1; \ + if (is_virtual_object(first)) { \ + owner = first; \ + owner_id = 0; \ + } else if (is_virtual_object(second)) { \ + owner = second; \ + owner_id = 1; \ + } else { \ + assert(0); /* Not reachable */ \ + } \ + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) owner, owner_id) + + static PyObject * nb_add(PyObject *first, PyObject *second) { - PyObject *owner = 0; - int owner_id = -1; - if (is_virtual_object(first)) { - owner = first; - owner_id = 0; - } else if (is_virtual_object(second)) { - owner = second; - owner_id = 1; - } else { - assert(0); // Not reachable - } - MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) owner, owner_id) + BINARY_FUNCTION +} + +static PyObject * +nb_multiply(PyObject *first, PyObject *second) { + BINARY_FUNCTION } static Py_ssize_t @@ -105,7 +117,7 @@ mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { static PyNumberMethods virtual_as_number = { nb_add, /*nb_add*/ 0, /*nb_subtract*/ - 0, /*nb_multiply*/ + nb_multiply, /*nb_multiply*/ 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ @@ -238,5 +250,6 @@ void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; adapter->virtual_tp_iter = tp_iter; adapter->virtual_nb_add = nb_add; + adapter->virtual_nb_multiply = nb_multiply; adapter->virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index f82312ee37..e4394866fc 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -371,6 +371,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "nb_multiply", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "sq_length", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 3bd4ab2994..257f43d94f 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -154,6 +154,11 @@ "java_name": "notifyNbAdd", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "nb_multiply", + "java_name": "notifyNbMultiply", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "sq_length", "java_name": "notifySqLength", @@ -197,7 +202,7 @@ { "c_name": "virtual_call", "java_name": "virtualCall", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)Lorg/usvm/language/VirtualPythonObject;" + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)J" }, { "c_name": "symbolic_virtual_unary_fun", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0ec2d7de4b..3d3f951b49 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -47,6 +47,7 @@ public class CPythonAdapter { public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); public native int typeHasNbAdd(long type); + public native int typeHasNbMultiply(long type); public native int typeHasSqLength(long type); public native int typeHasMpLength(long type); public native int typeHasMpSubscript(long type); @@ -237,6 +238,11 @@ public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPy nbAddKt(context, left.obj, right.obj); } + public static void notifyNbMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left, right), null); + nbMultiplyKt(context, left.obj, right.obj); + } + public static void notifySqLength(@NotNull ConcolicRunContext context, SymbolForCPython on) { context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on), on); sqLengthKt(context, on.obj); @@ -274,11 +280,10 @@ public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObjec return virtualSqLengthKt(context, obj); } - @NotNull - public static VirtualPythonObject virtualCall(ConcolicRunContext context, int owner) { + public static long virtualCall(ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); } - return virtualCallKt(context); + return virtualCallKt(context).getAddress(); } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 1f6d63dcb4..d420286a86 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -3,6 +3,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.usvm.interpreter.operations.tracing.PathDiversionException; +import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject; import java.util.ArrayList; @@ -15,6 +16,7 @@ public class ConcolicRunContext { public MockHeader curOperation = null; public PyModelHolder modelHolder; public boolean allowPathDiversion; + public ConverterToPythonObject converter; ConcolicRunContext( @NotNull PythonExecutionState curState, @@ -26,6 +28,11 @@ public class ConcolicRunContext { this.ctx = ctx; this.modelHolder = modelHolder; this.allowPathDiversion = allowPathDiversion; + if (curState.getMeta().getLastConverter() != null) { + this.converter = curState.getMeta().getLastConverter(); + } else { + this.converter = new ConverterToPythonObject(ctx, modelHolder); + } } public void pathDiversion() throws PathDiversionException { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt index d5012fa506..ffbbeb0494 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt @@ -130,6 +130,7 @@ object ConcretePythonInterpreter { val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } val typeHasNbAdd = createTypeQuery { pythonAdapter.typeHasNbAdd(it) } + val typeHasNbMultiply = createTypeQuery { pythonAdapter.typeHasNbMultiply(it) } val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } val typeHasMpLength = createTypeQuery { pythonAdapter.typeHasMpLength(it) } val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt index 85ad4be2f4..b9b0553ad9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt @@ -64,7 +64,7 @@ class USVMPythonInterpreter( val symbols = state.inputSymbols symbols.forEach { validator.check(it.obj) } val seeds = getSeeds(concolicRunContext, symbols) - val converter = state.meta.lastConverter ?: ConverterToPythonObject(ctx, concolicRunContext.modelHolder) + val converter = concolicRunContext.converter val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getPythonVirtualObjects() val inputs = getInputs(converter, concrete, seeds) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt index 1273e8299b..ea2adffe23 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt @@ -30,14 +30,21 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } } +fun myAssertOnState(state: PythonExecutionState, cond: UExpr): PythonExecutionState? { + val forkResult = forkMulti(state, listOf(cond)).single() + if (forkResult != null) + require(forkResult == state) + + return forkResult +} + fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) return val oldModel = ctx.curState!!.pyModel - val forkResult = forkMulti(ctx.curState!!, listOf(cond)).single() + val forkResult = myAssertOnState(ctx.curState!!, cond) if (forkResult == null) ctx.curState!!.meta.modelDied = true - if (forkResult?.pyModel != oldModel) throw BadModelException } @@ -49,7 +56,7 @@ fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonO DelayedFork( clonedState, on, - on.getTypeStreamOfModel(context), + clonedState.pyModel.uModel.typeStreamOf(clonedState.pyModel.eval(on.address)), context.curState!!.delayedForks ) ) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt index 4dc6af63c6..5dc0fd2489 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt @@ -20,7 +20,11 @@ fun createBinaryIntOp( else with (concolicContext.ctx) { myAssert(concolicContext, left.evalIs(concolicContext, pythonInt) or left.evalIs(concolicContext, pythonBool)) myAssert(concolicContext, right.evalIs(concolicContext, pythonInt) or right.evalIs(concolicContext, pythonBool)) - op(concolicContext.ctx, left.getToIntContent(concolicContext)!!, right.getToIntContent(concolicContext)!!)?.let { + op( + concolicContext.ctx, + left.getToIntContent(concolicContext) ?: return@with null, + right.getToIntContent(concolicContext) ?: return@with null + )?.let { @Suppress("unchecked_cast") when (it.sort) { intSort -> constructInt(concolicContext, it as UExpr) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt index f0ba95a12e..b9bcbdfcd2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt @@ -19,6 +19,11 @@ fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) } +fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { + context.curState ?: return + myAssert(context, left.evalIs(context, HasNbMultiply) or right.evalIs(context, HasNbMultiply)) +} + fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return on.addSupertype(context, HasSqLength) diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt index 8bbcfbbe1f..68594e48bc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt @@ -14,9 +14,9 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole context.curOperation ?: throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) - val (virtualObject, symbolic) = internalVirtualCallKt(context) + val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, pythonBool) - val boolValue = virtualObject.interpretedObj.getBoolContent(context) + val boolValue = interpretedObj.getBoolContent(context) myFork(context, boolValue) return boolValue.isTrue } @@ -25,9 +25,9 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python context.curOperation ?: throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) - val (virtualObject, symbolic) = internalVirtualCallKt(context) + val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, pythonInt) - val intValue = virtualObject.interpretedObj.getIntContent(context) + val intValue = interpretedObj.getIntContent(context) return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) } @@ -36,32 +36,40 @@ fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) - val (virtualObject, symbolic) = internalVirtualCallKt(context) + val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, pythonInt) - val intValue = virtualObject.interpretedObj.getIntContent(context) + val intValue = interpretedObj.getIntContent(context) myAssert(context, intValue le mkIntNum(Int.MAX_VALUE)) return intValue.toString().toInt() } -private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { +private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation context.curState ?: throw UnregisteredVirtualOperation val owner = context.curOperation.methodOwner ?: throw UnregisteredVirtualOperation val ownerIsAlreadyMocked = owner.obj.getTypeIfDefined(context) is TypeOfVirtualObject - val clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null + var clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null + if (clonedState != null) { + clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.obj.address, nullRef).not()) + } val (symbolic, _, mockSymbol) = context.curState!!.mock(context.curOperation) - if (!ownerIsAlreadyMocked) { - addDelayedFork(context, owner.obj, clonedState!!) + if (!ownerIsAlreadyMocked && clonedState != null) { + addDelayedFork(context, owner.obj, clonedState) } if (context.curOperation.method.isMethodWithNonVirtualReturn) { val newModel = constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol) substituteModel(context.curState!!, newModel, context) } val concrete = interpretSymbolicPythonObject(symbolic, context.modelHolder) - return VirtualPythonObject(concrete as InterpretedInputSymbolicPythonObject) to symbolic + return (concrete as InterpretedInputSymbolicPythonObject) to symbolic +} + +fun virtualCallKt(context: ConcolicRunContext): PythonObject { + val (interpreted, _) = internalVirtualCallKt(context) + val converter = context.converter + return converter.convert(interpreted) } -fun virtualCallKt(context: ConcolicRunContext): VirtualPythonObject = internalVirtualCallKt(context).first fun virtualCallSymbolKt(context: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(context).second object UnregisteredVirtualOperation: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt index 1179628997..3c52c80840 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt @@ -43,7 +43,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) - if (type !is PythonAnyType) + if (type is ConcretePythonType) result = result and mkHeapRefEq(address, nullRef).not() return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index 844984bfb1..bc5408c04e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -27,6 +27,7 @@ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallab object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) object NbAddMethod: TypeMethod(false) +object NbMultiplyMethod: TypeMethod(false) object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) object MpAssSubscriptMethod: TypeMethod(false) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 0647ba3fdd..9ee0b8220d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -42,6 +42,11 @@ object HasNbAdd: TypeProtocol() { ConcretePythonInterpreter.typeHasNbAdd(type.asObject) } +object HasNbMultiply: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbMultiply(type.asObject) +} + object HasSqLength: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasSqLength(type.asObject) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index f15a3484dd..df74cd7c6e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -9,15 +9,11 @@ fun main() { val program = PythonProgram( """ def f(x): - if isinstance(x, bool): + if isinstance(x[5], bool): return 1 - if isinstance(x, int): + elif isinstance(x[3], type(None)): return 2 - elif isinstance(x, list): - return 3 - elif isinstance(x, object): - return 4 - return "Not reachable" + return 3 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") @@ -27,7 +23,7 @@ fun main() { val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 20) + val returnValue = activeMachine.analyze(function, results, maxIterations = 40) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 1a101f131e..4064e7867e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -136,4 +136,38 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py ) ) } + + @Test + fun testMultiplyAndCompare() { + val oldOptions = options + options = UMachineOptions(stepLimit = 40U) + check2WithConcreteRun( + constructFunction("multiply_and_compare", List(2) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, + { _, _, res -> res.repr == "None" } + ) + ) + options = oldOptions + } + + @Test + fun testSubscriptAndIsinstance() { + check1WithConcreteRun( + constructFunction("subscript_and_isinstance", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 9b7f007e9c..98f458a8b8 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -67,3 +67,16 @@ def iteration(x): def add_and_compare(x, y): x[0] += 1 assert x < y + + +def multiply_and_compare(x, y): + y[10] *= 5 + assert x[0] < y + + +def subscript_and_isinstance(x): + if isinstance(x[5], bool): + return 1 + elif isinstance(x[3], type(None)): + return 2 + return 3 \ No newline at end of file From f237c1ae860135f679cb893a508206f6c705fce6 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 8 Aug 2023 18:13:58 +0300 Subject: [PATCH 054/344] Added copy of utbot-python-types module; some renaming --- settings.gradle.kts | 1 + usvm-python/README.md | 2 +- usvm-python/build.gradle.kts | 1 + .../org/usvm/interpreter/CPythonAdapter.java | 101 ++-- .../usvm/interpreter/ConcolicRunContext.java | 10 +- .../org/usvm/language/SymbolForCPython.java | 2 +- .../usvm/language/VirtualPythonObject.java | 2 +- .../main/kotlin/org/usvm/language/Domain.kt | 6 +- .../org/usvm/language/types/TypeSystem.kt | 2 +- .../kotlin/org/usvm/language/types/Types.kt | 6 +- .../org/usvm/language/types/VirtualTypes.kt | 2 +- .../DefaultValueProvider.kt | 5 +- .../usvm/{interpreter => machine}/PyModel.kt | 3 +- .../PythonComponents.kt | 2 +- .../PythonExecutionState.kt | 9 +- .../{interpreter => machine}/PythonMachine.kt | 11 +- .../PythonMockEvaluator.kt | 2 +- .../PythonVirtualPathSelector.kt | 2 +- .../UPythonContext.kt | 2 +- .../ConcretePythonInterpreter.kt | 4 +- .../interpreters}/USVMPythonInterpreter.kt | 13 +- .../interpreters}/operations/Common.kt | 10 +- .../interpreters}/operations/Constants.kt | 14 +- .../interpreters}/operations/Control.kt | 8 +- .../interpreters}/operations/List.kt | 8 +- .../interpreters}/operations/Long.kt | 8 +- .../operations/MethodNotifications.kt | 4 +- .../interpreters}/operations/Virtual.kt | 14 +- .../operations/tracing/PathTracing.kt | 2 +- .../tracing/SymbolicHandlerEvent.kt | 4 +- .../ConverterToPythonObject.kt | 7 +- .../symbolicobjects/ObjectValidator.kt | 6 +- .../SymbolicObjectConstruction.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 6 +- usvm-python/src/test/kotlin/manualTest.kt | 5 +- .../org/usvm/samples/PathDiversionTest.kt | 2 +- .../org/usvm/samples/PythonTestRunner.kt | 5 +- .../utbot-python-types/build.gradle.kts | 9 + .../python/newtyping/PythonDefinition.kt | 34 ++ .../org/utbot/python/newtyping/PythonType.kt | 320 ++++++++++++ .../utbot/python/newtyping/PythonTypeAPI.kt | 119 +++++ .../python/newtyping/PythonTypeComparison.kt | 478 ++++++++++++++++++ .../PythonTypeConstraintPropagation.kt | 98 ++++ .../newtyping/PythonTypeCreationRoutines.kt | 95 ++++ .../python/newtyping/PythonTypeHintsBuild.kt | 75 +++ .../python/newtyping/general/TypeCreation.kt | 83 +++ .../newtyping/general/TypeSubstitution.kt | 153 ++++++ .../python/newtyping/general/TypeUtils.kt | 28 + .../utbot/python/newtyping/general/UtType.kt | 53 ++ .../newtyping/inference/TypeInferenceNodes.kt | 36 ++ .../newtyping/mypy/GlobalNamesStorage.kt | 60 +++ .../python/newtyping/mypy/MypyAnnotations.kt | 263 ++++++++++ .../utbot/python/newtyping/mypy/MypyBuild.kt | 88 ++++ .../python/newtyping/mypy/MypyDefinitions.kt | 77 +++ .../utbot/python/newtyping/mypy/RunMypy.kt | 116 +++++ .../org/utbot/python/newtyping/mypy/Utils.kt | 18 + .../utbot/python/newtyping/utils/TypeUtils.kt | 13 + .../org/utbot/python/utils/ProcessUtils.kt | 42 ++ .../PythonCompositeTypeDescriptionTest.kt | 64 +++ .../newtyping/PythonSubtypeCheckerTest.kt | 130 +++++ .../PythonTypeConstraintPropagationKtTest.kt | 38 ++ .../PythonTypeWrapperForEqualityCheckTest.kt | 60 +++ .../DefaultSubstitutionProviderTest.kt | 176 +++++++ .../newtyping/mypy/GlobalNamesStorageTest.kt | 49 ++ .../python/newtyping/mypy/MypyBuildKtTest.kt | 144 ++++++ .../src/test/resources/annotation_sample.json | 1 + .../src/test/resources/boruvka.json | 1 + .../src/test/resources/imports_sample.json | 1 + .../src/test/resources/subtypes_sample.json | 1 + 69 files changed, 3079 insertions(+), 137 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/DefaultValueProvider.kt (77%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PyModel.kt (96%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PythonComponents.kt (97%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PythonExecutionState.kt (92%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PythonMachine.kt (91%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PythonMockEvaluator.kt (97%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/PythonVirtualPathSelector.kt (99%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/UPythonContext.kt (91%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/ConcretePythonInterpreter.kt (97%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/USVMPythonInterpreter.kt (93%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/Common.kt (85%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/Constants.kt (78%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/Control.kt (92%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/List.kt (96%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/Long.kt (94%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/MethodNotifications.kt (93%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/Virtual.kt (88%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/tracing/PathTracing.kt (97%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine/interpreters}/operations/tracing/SymbolicHandlerEvent.kt (92%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/symbolicobjects/ConverterToPythonObject.kt (94%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/symbolicobjects/ObjectValidator.kt (95%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/symbolicobjects/SymbolicObjectConstruction.kt (97%) rename usvm-python/src/main/kotlin/org/usvm/{interpreter => machine}/symbolicobjects/SymbolicPythonObject.kt (98%) create mode 100644 usvm-python/utbot-python-types/build.gradle.kts create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt create mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt create mode 100644 usvm-python/utbot-python-types/src/test/resources/annotation_sample.json create mode 100644 usvm-python/utbot-python-types/src/test/resources/boruvka.json create mode 100644 usvm-python/utbot-python-types/src/test/resources/imports_sample.json create mode 100644 usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json diff --git a/settings.gradle.kts b/settings.gradle.kts index 71833cab5f..e77adf598b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,6 +10,7 @@ include("usvm-jvm-dataflow") include("usvm-python") include("usvm-python:cpythonadapter") findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" +include("usvm-python:utbot-python-types") pluginManagement { resolutionStrategy { diff --git a/usvm-python/README.md b/usvm-python/README.md index e6be5e3004..3d22a6f0c0 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -44,7 +44,7 @@ Regenerate `org_usvm_interpreter_CPythonAdapter.h`: ``` cd src/main/java -javah org.usvm.interpreter.CPythonAdapter +javah org.usvm.machine.CPythonAdapter mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c/include ``` diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index f99008b400..1c660415c4 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -5,6 +5,7 @@ plugins { dependencies { implementation(project(":usvm-core")) + implementation(project(":usvm-python:utbot-python-types")) implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3d3f951b49..0cc81f6b4e 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -2,23 +2,18 @@ import kotlin.Unit; import org.jetbrains.annotations.NotNull; -import org.usvm.interpreter.operations.tracing.*; -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; +import org.usvm.machine.MockHeader; +import org.usvm.machine.interpreters.PythonObject; +import org.usvm.machine.interpreters.operations.tracing.*; +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; import java.util.Arrays; import java.util.Collections; import java.util.concurrent.Callable; -import static org.usvm.interpreter.operations.CommonKt.*; -import static org.usvm.interpreter.operations.ConstantsKt.*; -import static org.usvm.interpreter.operations.ControlKt.*; -import static org.usvm.interpreter.operations.ListKt.*; -import static org.usvm.interpreter.operations.LongKt.*; -import static org.usvm.interpreter.operations.MethodNotificationsKt.*; -import static org.usvm.interpreter.operations.VirtualKt.*; -import static org.usvm.interpreter.operations.tracing.PathTracingKt.handlerForkResultKt; -import static org.usvm.interpreter.operations.tracing.PathTracingKt.withTracing; +import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; +import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -99,11 +94,11 @@ private static Callable unit(Runnable function) { public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); - return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); + return withTracing(context, new LoadConstParameters(obj), () -> wrap(org.usvm.machine.interpreters.operations.ConstantsKt.handlerLoadConstKt(context, obj))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { - withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); + withTracing(context, new Fork(cond), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerForkKt(context, cond.obj))); } public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { @@ -111,179 +106,179 @@ public static void handlerForkResult(ConcolicRunContext context, SymbolForCPytho } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerGTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> handlerLTLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerLTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> handlerEQLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerEQLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> handlerNELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerNELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> handlerGELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerGELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> handlerLELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerLELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> handlerADDLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerADDLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> handlerSUBLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerSUBLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> handlerMULLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerMULLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> handlerDIVLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerDIVLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerREMLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerPOWLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("bool_ans", Arrays.asList(left, right)), () -> handlerAndKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("bool_ans", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.CommonKt.handlerAndKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { ListCreation event = new ListCreation(Arrays.asList(elements)); - return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return withTracing(context, event, () -> wrap(org.usvm.machine.interpreters.operations.ListKt.handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { - return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> handlerListGetItemKt(context, list.obj, index.obj)); + return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListGetItemKt(context, list.obj, index.obj)); } public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { - return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); + return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListExtendKt(context, list.obj, tuple.obj)); } public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { - return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); + return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListAppendKt(context, list.obj, elem.obj)); } public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { - withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> org.usvm.machine.interpreters.operations.ListKt.handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { - return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); + return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListGetSizeKt(context, list.obj)); } public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { - return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> handlerListIterKt(context, list.obj)); + return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListIterKt(context, list.obj)); } public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { - return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); + return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListIteratorNextKt(context, iterator.obj)); } public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); - withTracing(context, new PythonFunctionCall(callable), unit(() -> handlerFunctionCallKt(context, callable))); + withTracing(context, new PythonFunctionCall(callable), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerFunctionCallKt(context, callable))); } public static void handlerReturn(ConcolicRunContext context, long codeRef) { PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); - withTracing(context, new PythonReturn(callable), unit(() -> handlerReturnKt(context))); + withTracing(context, new PythonReturn(callable), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerReturnKt(context))); } public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { - return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> virtualCallSymbolKt(context)); + return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> org.usvm.machine.interpreters.operations.VirtualKt.virtualCallSymbolKt(context)); } public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); + return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.VirtualKt.virtualCallSymbolKt(context)); } public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { PythonObject type = new PythonObject(typeRef); - return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); + return methodWrapper(context, new IsinstanceCheck(obj, type), () -> org.usvm.machine.interpreters.operations.CommonKt.handlerIsinstanceKt(context, obj.obj, type)); } public static void addConcreteSupertype(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { PythonObject type = new PythonObject(typeRef); - addConcreteSupertypeKt(context, obj.obj, type); + org.usvm.machine.interpreters.operations.CommonKt.addConcreteSupertypeKt(context, obj.obj, type); } public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); - nbBoolKt(context, symbol.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbBoolKt(context, symbol.obj); } public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); - nbIntKt(context, symbol.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbIntKt(context, symbol.obj); } public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left, right), null); - nbAddKt(context, left.obj, right.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbAddKt(context, left.obj, right.obj); } public static void notifyNbMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left, right), null); - nbMultiplyKt(context, left.obj, right.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbMultiplyKt(context, left.obj, right.obj); } public static void notifySqLength(@NotNull ConcolicRunContext context, SymbolForCPython on) { context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on), on); - sqLengthKt(context, on.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.sqLengthKt(context, on.obj); } public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); - mpSubscriptKt(context, storage.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.mpSubscriptKt(context, storage.obj); } public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage, item, value), storage); - mpAssSubscriptKt(context, storage.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.mpAssSubscriptKt(context, storage.obj); } public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); - tpRichcmpKt(context, left.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.tpRichcmpKt(context, left.obj); } public static void notifyTpIter(@NotNull ConcolicRunContext context, SymbolForCPython on) { context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on), on); - tpIterKt(context, on.obj); + org.usvm.machine.interpreters.operations.MethodNotificationsKt.tpIterKt(context, on.obj); } public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { - return virtualNbBoolKt(context, obj); + return org.usvm.machine.interpreters.operations.VirtualKt.virtualNbBoolKt(context, obj); } public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject obj) { - return virtualNbIntKt(context, obj).getAddress(); + return org.usvm.machine.interpreters.operations.VirtualKt.virtualNbIntKt(context, obj).getAddress(); } public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObject obj) { - return virtualSqLengthKt(context, obj); + return org.usvm.machine.interpreters.operations.VirtualKt.virtualSqLengthKt(context, obj); } public static long virtualCall(ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); } - return virtualCallKt(context).getAddress(); + return org.usvm.machine.interpreters.operations.VirtualKt.virtualCallKt(context).getAddress(); } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index d420286a86..21cb560b64 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,8 +2,12 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.interpreter.operations.tracing.PathDiversionException; -import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject; +import org.usvm.machine.MockHeader; +import org.usvm.machine.PyModelHolder; +import org.usvm.machine.PythonExecutionState; +import org.usvm.machine.UPythonContext; +import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; +import org.usvm.machine.symbolicobjects.ConverterToPythonObject; import java.util.ArrayList; @@ -18,7 +22,7 @@ public class ConcolicRunContext { public boolean allowPathDiversion; public ConverterToPythonObject converter; - ConcolicRunContext( + public ConcolicRunContext( @NotNull PythonExecutionState curState, UPythonContext ctx, PyModelHolder modelHolder, diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index 8f8efc6b1a..009ca7a195 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -1,6 +1,6 @@ package org.usvm.language; -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject; +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; public class SymbolForCPython { public UninterpretedSymbolicPythonObject obj; diff --git a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java index 4306c97ac7..7c5ed7a73f 100644 --- a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java +++ b/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java @@ -1,6 +1,6 @@ package org.usvm.language; -import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject; +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject; public class VirtualPythonObject { public InterpretedInputSymbolicPythonObject interpretedObj; diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index bc5408c04e..b1c4f240a1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -1,8 +1,8 @@ package org.usvm.language -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonNamespace -import org.usvm.interpreter.PythonObject +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonNamespace +import org.usvm.machine.interpreters.PythonObject import org.usvm.language.types.PythonType data class PythonProgram(val asString: String) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index debd249de0..e44e4846e4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,6 +1,6 @@ package org.usvm.language.types -import org.usvm.interpreter.PythonObject +import org.usvm.machine.interpreters.PythonObject import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 7dad583217..cd01b7ab43 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -1,8 +1,8 @@ package org.usvm.language.types -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.emptyNamespace +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.emptyNamespace sealed class PythonType diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 9ee0b8220d..b1bedb285b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -1,6 +1,6 @@ package org.usvm.language.types -import org.usvm.interpreter.ConcretePythonInterpreter +import org.usvm.machine.interpreters.ConcretePythonInterpreter object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt similarity index 77% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt index fc8985e9c2..07da3204c7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt @@ -1,6 +1,9 @@ -package org.usvm.interpreter +package org.usvm.machine import org.usvm.language.types.* +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.emptyNamespace object DefaultValueProvider { fun provide(type: PythonType): PythonObject { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt similarity index 96% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt index a9ef4b2172..fe35bd0534 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt @@ -1,7 +1,8 @@ -package org.usvm.interpreter +package org.usvm.machine import io.ksmt.expr.KInterpretedValue import org.usvm.* +import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 05e319ad05..37841d0365 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter +package org.usvm.machine import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt similarity index 92% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 325b27b29c..b52cb257bf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -1,15 +1,14 @@ -package org.usvm.interpreter +package org.usvm.machine import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.operations.tracing.SymbolicHandlerEvent -import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent +import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.TypeOfVirtualObject import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt similarity index 91% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 3dba7ab5e6..86ad400413 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -1,12 +1,15 @@ -package org.usvm.interpreter +package org.usvm.machine import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.symbolicobjects.ConverterToPythonObject -import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructInputObject +import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.language.types.PythonType +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt index 87846bde46..b8b9a20a0d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter +package org.usvm.machine import org.usvm.* import org.usvm.model.UModelBase diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt similarity index 99% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 31f60c5212..cd87f00974 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter +package org.usvm.machine import mu.KLogging import org.usvm.UContext diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt similarity index 91% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 9605815175..2fddc9e952 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter +package org.usvm.machine import org.usvm.UConcreteHeapAddress import org.usvm.UConcreteHeapRef diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index ffbbeb0494..b353d08bcc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -1,7 +1,9 @@ -package org.usvm.interpreter +package org.usvm.machine.interpreters import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject +import org.usvm.interpreter.CPythonAdapter +import org.usvm.interpreter.ConcolicRunContext object ConcretePythonInterpreter { private val pythonAdapter = CPythonAdapter() diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt similarity index 93% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index b9b0553ad9..a1552a73fa 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -1,12 +1,14 @@ -package org.usvm.interpreter +package org.usvm.machine.interpreters import mu.KLogging import org.usvm.* -import org.usvm.interpreter.operations.BadModelException -import org.usvm.interpreter.operations.UnregisteredVirtualOperation -import org.usvm.interpreter.symbolicobjects.* +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.interpreters.operations.BadModelException +import org.usvm.machine.interpreters.operations.UnregisteredVirtualOperation +import org.usvm.machine.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython +import org.usvm.machine.* class USVMPythonInterpreter( private val ctx: UPythonContext, @@ -54,7 +56,8 @@ class USVMPythonInterpreter( state.meta.lastConverter!!.modelHolder else PyModelHolder(state.pyModel) - val concolicRunContext = ConcolicRunContext(state, ctx, modelHolder, allowPathDiversion) + val concolicRunContext = + ConcolicRunContext(state, ctx, modelHolder, allowPathDiversion) state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt similarity index 85% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index e83e7e02e8..8bd3c24e64 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -1,10 +1,10 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructBool -import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.pythonBool diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt similarity index 78% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 520f716fbe..6c2c081c52 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -1,14 +1,12 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.ConcretePythonInterpreter -import org.usvm.interpreter.PythonObject -import org.usvm.interpreter.symbolicobjects.SymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructInt +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.symbolicobjects.SymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.language.types.pythonTuple -import java.util.stream.Stream -import kotlin.streams.asSequence fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt similarity index 92% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index ea2adffe23..f04c50bf07 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -1,13 +1,13 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import io.ksmt.sort.KBoolSort import org.usvm.UExpr import org.usvm.fork import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.DelayedFork -import org.usvm.interpreter.PythonExecutionState -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.DelayedFork +import org.usvm.machine.PythonExecutionState +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.PythonPinnedCallable fun myFork(ctx: ConcolicRunContext, cond: UExpr) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt similarity index 96% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 44b6b5a330..9ba96c3081 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -1,11 +1,11 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructInt -import org.usvm.interpreter.symbolicobjects.constructListIterator +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.constructListIterator import org.usvm.language.types.PythonType import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt similarity index 94% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index 5dc0fd2489..0d86d6639a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import io.ksmt.sort.KIntSort import io.ksmt.sort.KSort @@ -6,9 +6,9 @@ import org.usvm.UBoolExpr import org.usvm.UContext import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.constructBool -import org.usvm.interpreter.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt similarity index 93% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt index b9bcbdfcd2..bc50646f5e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt @@ -1,7 +1,7 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.* fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt similarity index 88% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 68594e48bc..156a607d81 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -1,14 +1,18 @@ -package org.usvm.interpreter.operations +package org.usvm.machine.interpreters.operations -import org.usvm.interpreter.* -import org.usvm.interpreter.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.interpreter.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.* +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue import org.usvm.language.* import org.usvm.language.types.TypeOfVirtualObject import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.emptyNamespace fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index dee8137fc4..0d72b364a2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter.operations.tracing +package org.usvm.machine.interpreters.operations.tracing import mu.KLogging import org.usvm.interpreter.ConcolicRunContext diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt similarity index 92% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index d32a21bf26..faa0803f84 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -1,6 +1,6 @@ -package org.usvm.interpreter.operations.tracing +package org.usvm.machine.interpreters.operations.tracing -import org.usvm.interpreter.PythonObject +import org.usvm.machine.interpreters.PythonObject import org.usvm.language.PythonInstruction import org.usvm.language.PythonPinnedCallable import org.usvm.language.SymbolForCPython diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt similarity index 94% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 852bb21545..a664969ff3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -1,12 +1,15 @@ -package org.usvm.interpreter.symbolicobjects +package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.UHeapRef -import org.usvm.interpreter.* +import org.usvm.machine.* import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.emptyNamespace class ConverterToPythonObject( private val ctx: UContext, diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt similarity index 95% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index f99dfd39c2..60c6828897 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -1,10 +1,10 @@ -package org.usvm.interpreter.symbolicobjects +package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.PyModelHolder -import org.usvm.interpreter.operations.myAssert +import org.usvm.machine.PyModelHolder +import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.types.pythonList class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index f1cc441695..3acbc35a75 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter.symbolicobjects +package org.usvm.machine.symbolicobjects import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort diff --git a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt similarity index 98% rename from usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 3c52c80840..87be621bdf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/interpreter/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -1,4 +1,4 @@ -package org.usvm.interpreter.symbolicobjects +package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort @@ -6,8 +6,8 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.PyModelHolder -import org.usvm.interpreter.operations.myAssert +import org.usvm.machine.PyModelHolder +import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* import org.usvm.types.UTypeStream diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index df74cd7c6e..08b2a810b5 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,9 +1,8 @@ -import org.usvm.interpreter.* +import org.usvm.machine.* import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList +import org.usvm.machine.interpreters.ConcretePythonInterpreter fun main() { val program = PythonProgram( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 03a1803cb6..3cf7431e42 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows -import org.usvm.interpreter.operations.tracing.PathDiversionException +import org.usvm.machine.interpreters.operations.tracing.PathDiversionException import org.usvm.language.types.pythonInt import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 8546a929b8..5238b5c04c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -1,10 +1,13 @@ package org.usvm.samples import org.usvm.UMachineOptions -import org.usvm.interpreter.* +import org.usvm.machine.* import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.pythonInt +import org.usvm.machine.interpreters.CPythonExecutionException +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import java.io.File diff --git a/usvm-python/utbot-python-types/build.gradle.kts b/usvm-python/utbot-python-types/build.gradle.kts new file mode 100644 index 0000000000..276561a528 --- /dev/null +++ b/usvm-python/utbot-python-types/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + id("usvm.kotlin-conventions") +} + +dependencies { + implementation("com.squareup.moshi:moshi:1.11.0") + implementation("com.squareup.moshi:moshi-kotlin:1.11.0") + implementation("com.squareup.moshi:moshi-adapters:1.11.0") +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt new file mode 100644 index 0000000000..ebecc7044f --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt @@ -0,0 +1,34 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType + +open class PythonDefinition(open val meta: PythonDefinitionDescription, open val type: UtType) { + override fun toString(): String = + "${meta.name}: ${type.pythonTypeRepresentation()}" +} + +class PythonFunctionDefinition( + override val meta: PythonFuncItemDescription, // TODO: consider overloaded function + override val type: FunctionType +): PythonDefinition(meta, type) + +sealed class PythonDefinitionDescription(val name: String) + +class PythonVariableDescription( + name: String, + val isProperty: Boolean = false, + val isSelf: Boolean = false +): PythonDefinitionDescription(name) + +sealed class PythonFunctionDescription(name: String): PythonDefinitionDescription(name) + +class PythonFuncItemDescription( + name: String, + val args: List +): PythonFunctionDescription(name) + +class PythonOverloadedFuncDefDescription( + name: String, + val items: List +): PythonFunctionDescription(name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt new file mode 100644 index 0000000000..04795ed04b --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt @@ -0,0 +1,320 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.* +import org.utbot.python.newtyping.general.Name +import org.utbot.python.newtyping.utils.isRequired + +sealed class PythonTypeDescription(name: Name) : TypeMetaDataWithName(name) { + open fun castToCompatibleTypeApi(type: UtType): UtType = type + open fun getNamedMembers(type: UtType): List = emptyList() // direct members (without inheritance) + open fun getAnnotationParameters(type: UtType): List = emptyList() + open fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? = + // overridden for some types + getNamedMembers(type).find { it.meta.name == name } + open fun createTypeWithNewAnnotationParameters(like: UtType, newParams: List): UtType = // overriden for Callable + DefaultSubstitutionProvider.substituteAll(like.getOrigin(), newParams) + open fun getTypeRepresentation(type: UtType): String { // overriden for Callable + if (name.prefix == listOf("builtins") && name.name == "tuple") { + return "${getTypeName()}[${type.parameters.first().pythonTypeRepresentation()}, ...]" + } + val root = getTypeName() + val params = getAnnotationParameters(type) + if (params.isEmpty()) + return root + return "$root[${params.joinToString { it.pythonTypeRepresentation() }}]" + } + fun getTypeName(): String { + return if (name.prefix.isEmpty()) + name.name + else + name.prefix.joinToString(".") + "." + name.name + } + fun getModuleName(): String { + return name.prefix.joinToString(".") + } + fun getName(): String { + return name.name + } + fun getModules(type: UtType): Set { + val cur = if (name.prefix.isNotEmpty()) + setOf(name.prefix.joinToString(separator = ".")) + else + emptySet() + return type.pythonAnnotationParameters().fold(cur) { acc, childType -> + acc + childType.pythonModules() + } + } +} + +sealed class PythonCompositeTypeDescription( + name: Name, + private val memberDescriptions: List +): PythonTypeDescription(name) { + override fun castToCompatibleTypeApi(type: UtType): CompositeType { + return type as? CompositeType + ?: error("Got unexpected type PythonCompositeTypeDescription: $type") + } + + override fun getNamedMembers(type: UtType): List { + val compositeType = castToCompatibleTypeApi(type) + assert(compositeType.members.size == memberDescriptions.size) + return (memberDescriptions zip compositeType.members).map { (descr, typ) -> + if (descr is PythonFuncItemDescription) + PythonFunctionDefinition(descr, typ as FunctionType) + else + PythonDefinition(descr, typ) + } + } + + override fun getAnnotationParameters(type: UtType): List = type.parameters + fun mro(storage: PythonTypeHintsBuild, type: UtType): List { + val compositeType = castToCompatibleTypeApi(type) + var bases = compositeType.supertypes + if (bases.isEmpty() && !type.isPythonObjectType()) + bases = listOf(storage.pythonObject) + val linBases = (bases.map { + val description = it.meta as? PythonCompositeTypeDescription + ?: error("Not a PythonCompositeType in superclasses of PythonCompositeType") + description.mro(storage, it) + } + listOf(bases)).map { it.toMutableList() }.toMutableList() + val result = mutableListOf(type) + while (true) { + linBases.removeIf { it.isEmpty() } + if (linBases.isEmpty()) + break + lateinit var addAtThisIteration: UtType + for (seq in linBases) { + val head = seq.first() + val isContainedSomewhereElse = linBases.any { + it.drop(1).any { type -> type.pythonDescription().name == head.pythonDescription().name } + } + if (!isContainedSomewhereElse) { + addAtThisIteration = head + break + } + } + linBases.forEach { + if (it.first().pythonDescription().name == addAtThisIteration.pythonDescription().name) + it.removeFirst() + } + result.add(addAtThisIteration) + } + return result + } + + override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? { + for (parent in mro(storage, type)) { + val cur = parent.getPythonAttributes().find { it.meta.name == name } + if (cur != null) + return cur + } + return null + } +} + +sealed class PythonSpecialAnnotation(name: Name) : PythonTypeDescription(name) + +class PythonTypeVarDescription( + name: Name, + val variance: Variance, + val parameterKind: ParameterKind +) : PythonTypeDescription(name) { + override fun castToCompatibleTypeApi(type: UtType): TypeParameter { + return type as? TypeParameter + ?: error("Got unexpected type PythonTypeVarDescription: $type") + } + + enum class Variance { + INVARIANT, + COVARIANT, + CONTRAVARIANT + } + + enum class ParameterKind { + WithUpperBound, + WithConcreteValues + } +} + +// Composite types +class PythonConcreteCompositeTypeDescription( + name: Name, + memberDescriptions: List, + val isAbstract: Boolean +) : PythonCompositeTypeDescription(name, memberDescriptions) + +class PythonProtocolDescription( + name: Name, + memberDescriptions: List, + val protocolMemberNames: List +) : PythonCompositeTypeDescription(name, memberDescriptions) + +class PythonCallableTypeDescription( + val argumentKinds: List, + val argumentNames: List // like in mypy's CallableType: https://github.com/python/mypy/blob/master/mypy/types.py#L1672 +): PythonTypeDescription(pythonCallableName) { + val numberOfArguments = argumentKinds.size + override fun castToCompatibleTypeApi(type: UtType): FunctionType { + return type as? FunctionType + ?: error("Got unexpected type PythonCallableTypeDescription: $type") + } + + override fun getNamedMembers(type: UtType): List { + val functionType = castToCompatibleTypeApi(type) + return listOf(PythonDefinition(PythonVariableDescription("__call__"), functionType)) + } + + override fun getAnnotationParameters(type: UtType): List { + val functionType = castToCompatibleTypeApi(type) + return functionType.arguments + listOf(functionType.returnValue) + } + + enum class ArgKind { + ARG_POS, + ARG_OPT, + ARG_STAR, + ARG_STAR_2, + ARG_NAMED, + ARG_NAMED_OPT + } + + override fun createTypeWithNewAnnotationParameters(like: UtType, newParams: List): UtType { + val args = newParams.dropLast(1) + val returnValue = newParams.last() + return createPythonCallableType( + like.parameters.size, + argumentKinds, + argumentNames + ) { self -> + val oldToNewParameters = (self.parameters zip like.parameters).mapNotNull { + if (it.second is TypeParameter) it else null + }.toMap() + val newArgs = args.map { + DefaultSubstitutionProvider.substitute(it, oldToNewParameters) + } + val newReturnValue = DefaultSubstitutionProvider.substitute(returnValue, oldToNewParameters) + FunctionTypeCreator.InitializationData( + arguments = newArgs, + returnValue = newReturnValue + ) + } + } + + override fun getTypeRepresentation(type: UtType): String { + val functionType = castToCompatibleTypeApi(type) + val root = name.prefix.joinToString(".") + "." + name.name + return "$root[[${ + functionType.arguments.joinToString(separator = ", ") { it.pythonTypeRepresentation() } + }], ${functionType.returnValue.pythonTypeRepresentation()}]" + } + + fun removeNonPositionalArgs(type: UtType): FunctionType { + val functionType = castToCompatibleTypeApi(type) + val argsCount = argumentKinds.count { it == ArgKind.ARG_POS } + return createPythonCallableType( + functionType.parameters.size, + argumentKinds.take(argsCount), + argumentNames.take(argsCount) + ) { self -> + val substitution = (functionType.parameters zip self.parameters).associate { + Pair(it.first as TypeParameter, it.second) + } + FunctionTypeCreator.InitializationData( + functionType.arguments.take(argsCount).map { + DefaultSubstitutionProvider.substitute(it, substitution) + }, + DefaultSubstitutionProvider.substitute(functionType.returnValue, substitution) + ) + } + } + + fun removeNotRequiredArgs(type: UtType): FunctionType { + val functionType = castToCompatibleTypeApi(type) + return createPythonCallableType( + functionType.parameters.size, + argumentKinds.filter { isRequired(it) }, + argumentNames.filterIndexed { index, _ -> isRequired(argumentKinds[index]) } + ) { self -> + val substitution = (functionType.parameters zip self.parameters).associate { + Pair(it.first as TypeParameter, it.second) + } + FunctionTypeCreator.InitializationData( + functionType.arguments + .filterIndexed { index, _ -> isRequired(argumentKinds[index]) } + .map { DefaultSubstitutionProvider.substitute(it, substitution) }, + DefaultSubstitutionProvider.substitute(functionType.returnValue, substitution) + ) + } + } +} + +// Special Python annotations +object PythonAnyTypeDescription : PythonSpecialAnnotation(pythonAnyName) { + override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition { + return PythonDefinition(PythonVariableDescription(name), pythonAnyType) + } +} + +object PythonNoneTypeDescription : PythonSpecialAnnotation(pythonNoneName) { + // TODO: override getNamedMembers and/or getMemberByName +} + +object PythonUnionTypeDescription : PythonSpecialAnnotation(pythonUnionName) { + override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? { + val children = type.parameters.mapNotNull { + it.getPythonAttributeByName(storage, name)?.type + } + return if (children.isEmpty()) + null + else + PythonDefinition( + PythonVariableDescription(name), + type = createPythonUnionType(children) + ) + } + + override fun getAnnotationParameters(type: UtType): List = type.parameters +} + +object PythonOverloadTypeDescription : PythonSpecialAnnotation(overloadName) { + override fun getAnnotationParameters(type: UtType): List = type.parameters + override fun getNamedMembers(type: UtType): List { + return listOf(PythonDefinition(PythonVariableDescription("__call__"), type)) + } +} + +object PythonTypeAliasDescription : PythonSpecialAnnotation(pythonTypeAliasName) { + override fun castToCompatibleTypeApi(type: UtType): CompositeType { + return type as? CompositeType ?: error("Got unexpected type for PythonTypeAliasDescription: $type") + } + fun getInterior(type: UtType): UtType { + val casted = castToCompatibleTypeApi(type) + return casted.members.first() + } +} + +object PythonTupleTypeDescription : PythonSpecialAnnotation(pythonTupleName) { + override fun getAnnotationParameters(type: UtType): List = castToCompatibleTypeApi(type).parameters + // TODO: getMemberByName and/or getNamedMembers +} + +private fun initTypeVar(param: TypeParameter) { + param.meta = PythonTypeVarDescription( + Name(emptyList(), ""), // TODO: name? + PythonTypeVarDescription.Variance.INVARIANT, + PythonTypeVarDescription.ParameterKind.WithUpperBound + ) +} + +private fun substituteMembers(origin: UtType, members: List): UtType = + DefaultSubstitutionProvider.substitute( + origin, + (origin.parameters.map { it as TypeParameter } zip members).associate { it } + ) + +fun createTypeWithMembers(description: PythonTypeDescription, members: List): UtType { + val origin = TypeCreator.create(members.size, description) { + it.parameters.forEach(::initTypeVar) + } + return substituteMembers(origin, members) +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt new file mode 100644 index 0000000000..cd9dac3b1b --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt @@ -0,0 +1,119 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.* + +fun UtType.isPythonType(): Boolean { + return meta is PythonTypeDescription +} + +fun UtType.pythonDescription(): PythonTypeDescription { + return meta as? PythonTypeDescription ?: error("Trying to get Python description from non-Python type $this") +} + +fun UtType.getPythonAttributes(): List { + return pythonDescription().getNamedMembers(this) +} + +fun UtType.getPythonAttributeByName(storage: PythonTypeHintsBuild, name: String): PythonDefinition? { + return pythonDescription().getMemberByName(storage, this, name) +} + +fun UtType.pythonAnnotationParameters(): List { + return pythonDescription().getAnnotationParameters(this) +} + +fun UtType.pythonModules(): Set { + return pythonDescription().getModules(this) +} + +fun UtType.isPythonObjectType(): Boolean { + if (!isPythonType()) + return false + val description = pythonDescription() + return description.name.prefix == listOf("builtins") && description.name.name == "object" +} + +fun UtType.pythonTypeRepresentation(): String { + return pythonDescription().getTypeRepresentation(this) +} + +fun UtType.pythonTypeName(): String { + return pythonDescription().getTypeName() +} + +fun UtType.pythonModuleName(): String { + return pythonDescription().getModuleName() +} + +fun UtType.pythonName(): String { + return pythonDescription().getName() +} + +val pythonAnyName = Name(listOf("typing"), "Any") +val pythonUnionName = Name(listOf("typing"), "Union") +val pythonNoneName = Name(emptyList(), "None") +val pythonTupleName = Name(listOf("typing"), "Tuple") +val pythonCallableName = Name(listOf("typing"), "Callable") +val overloadName = Name(emptyList(), "Overload") +val pythonTypeAliasName = Name(listOf("typing"), "TypeAlias") + +val pythonAnyType = createTypeWithMembers(PythonAnyTypeDescription, emptyList()) +val pythonNoneType = createTypeWithMembers(PythonNoneTypeDescription, emptyList()) + +fun createPythonUnionType(members: List): UtType = + createTypeWithMembers(PythonUnionTypeDescription, members) + +fun createOverload(members: List): UtType = + createTypeWithMembers(PythonOverloadTypeDescription, members) + +fun createPythonTupleType(members: List): UtType = + createTypeWithMembers(PythonTupleTypeDescription, members) + +fun createPythonTypeAlias(initialization: (UtType) -> UtType): CompositeType = + CompositeTypeCreator.create(0, PythonTypeAliasDescription) { self -> + CompositeTypeCreator.InitializationData( + members = listOf(initialization(self)), + supertypes = emptyList() + ) + } + +fun createPythonConcreteCompositeType( + name: Name, + numberOfParameters: Int, + memberDescriptions: List, + isAbstract: Boolean, + initialization: (CompositeTypeCreator.Original) -> CompositeTypeCreator.InitializationData +): CompositeType = + CompositeTypeCreator.create( + numberOfParameters, + PythonConcreteCompositeTypeDescription(name, memberDescriptions, isAbstract), + initialization + ) + +fun createPythonProtocol( + name: Name, + numberOfParameters: Int, + memberDescriptions: List, + protocolMemberNames: List, + initialization: (CompositeTypeCreator.Original) -> CompositeTypeCreator.InitializationData +): CompositeType = + CompositeTypeCreator.create( + numberOfParameters, + PythonProtocolDescription(name, memberDescriptions, protocolMemberNames), + initialization + ) + +fun createPythonCallableType( + numberOfParameters: Int, + argumentKinds: List, + argumentNames: List, + initialization: (FunctionTypeCreator.Original) -> FunctionTypeCreator.InitializationData +): FunctionType = + FunctionTypeCreator.create( + numberOfParameters, + PythonCallableTypeDescription(argumentKinds, argumentNames), + initialization + ) + +val exactTypeRelation = TypeRelation("=") +val upperBoundRelation = TypeRelation("<") \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt new file mode 100644 index 0000000000..76f198bb56 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt @@ -0,0 +1,478 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.* + +class PythonTypeWrapperForEqualityCheck( + val type: UtType, + private val bounded: List = emptyList() +) { + init { + if (!type.isPythonType()) + error("Trying to create PythonTypeWrapperForEqualityCheck for non-Python type $type") + } + + override fun equals(other: Any?): Boolean { + if (other !is PythonTypeWrapperForEqualityCheck) + return false + val otherMeta = other.type.pythonDescription() + when (val selfMeta = type.pythonDescription()) { + is PythonTypeVarDescription -> { + if (type == other.type as? TypeParameter) + return true + val selfIndex = bounded.indexOf(type as? TypeParameter) + if (selfIndex == -1) + return false + val otherIndex = other.bounded.indexOf(other.type as? TypeParameter) + return selfIndex == otherIndex + } + is PythonCompositeTypeDescription -> { + return otherMeta is PythonCompositeTypeDescription && + otherMeta.name == selfMeta.name && + equalParameters(other) + } + is PythonCallableTypeDescription -> { + if (otherMeta !is PythonCallableTypeDescription) + return false + return selfMeta.argumentKinds == otherMeta.argumentKinds && + equalParameters(other) && + equalChildren( + selfMeta.getAnnotationParameters(type), + otherMeta.getAnnotationParameters(other.type), + other + ) + } + is PythonSpecialAnnotation -> { + if (otherMeta !is PythonSpecialAnnotation) + return false + return selfMeta.name == otherMeta.name && + equalChildren( + selfMeta.getAnnotationParameters(type), + otherMeta.getAnnotationParameters(other.type), + other + ) + } + } + } + + override fun hashCode(): Int { + return when (val selfMeta = type.pythonDescription()) { + is PythonTypeVarDescription -> { + val selfIndex = bounded.indexOf(type as? TypeParameter) + if (selfIndex == -1) + type.hashCode() + else + return selfIndex + } + else -> { + (listOf(selfMeta.name.hashCode()) + selfMeta.getAnnotationParameters(type).map { + getChildWrapper(it).hashCode() + }).hashCode() + } + } + } + + private fun equalChildren( + selfChildren: List, + otherChildren: List, + other: PythonTypeWrapperForEqualityCheck + ): Boolean { + if (selfChildren.size != otherChildren.size) + return false + return (selfChildren zip otherChildren).all { (selfElem, otherElem) -> + getChildWrapper(selfElem) == other.getChildWrapper(otherElem) + } + } + + private fun getChildWrapper(elem: UtType): PythonTypeWrapperForEqualityCheck { + return PythonTypeWrapperForEqualityCheck(elem, bounded + type.getBoundedParameters()) + } + + private fun equalParameters(other: PythonTypeWrapperForEqualityCheck): Boolean { + if (type.parameters.size != other.type.parameters.size) + return false + + val selfBoundedInd = type.getBoundedParametersIndexes() + val otherBoundedInd = other.type.getBoundedParametersIndexes() + + if (selfBoundedInd != otherBoundedInd) + return false + + // constraints for bounded parameters are not checked to avoid possible cyclic dependencies + + return (type.parameters zip other.type.parameters).all { + val (newEquivSelf, newEquivOther) = + if (it.first.isParameterBoundedTo(type)) + Pair(listOf(it.first as TypeParameter), listOf(it.second as TypeParameter)) + else + Pair(emptyList(), emptyList()) + PythonTypeWrapperForEqualityCheck(it.first, bounded + newEquivSelf) == + PythonTypeWrapperForEqualityCheck(it.second, other.bounded + newEquivOther) + } + } +} + +fun typesAreEqual(left: UtType, right: UtType): Boolean { + return PythonTypeWrapperForEqualityCheck(left) == PythonTypeWrapperForEqualityCheck(right) +} + +const val MAX_RECURSION_DEPTH = 100 + +class PythonSubtypeChecker( + val left: UtType, + val right: UtType, + private val pythonTypeStorage: PythonTypeHintsBuild, + private val typeParameterCorrespondence: List>, + private val assumingSubtypePairs: List>, + private val recursionDepth: Int, + private val skipFirstArgument: Boolean = false +) { + init { + if (!left.isPythonType() || !right.isPythonType()) + error("Trying to create PythonSubtypeChecker for non-Python types $left, $right") + } + + fun rightIsSubtypeOfLeft(): Boolean { + val leftWrapper = PythonTypeWrapperForEqualityCheck(left) + val rightWrapper = PythonTypeWrapperForEqualityCheck(right) + if (leftWrapper == rightWrapper) + return true + + if (typesAreEqual(left, pythonTypeStorage.pythonFloat) && typesAreEqual(right, pythonTypeStorage.pythonInt)) + return true + + // this is done to avoid possible infinite recursion + // TODO: probably more accuracy is needed here + if (assumingSubtypePairs.contains(Pair(leftWrapper, rightWrapper)) || assumingSubtypePairs.contains( + Pair( + rightWrapper, + leftWrapper + ) + ) + ) + return true + + val leftMeta = left.meta as PythonTypeDescription + val rightMeta = right.meta as PythonTypeDescription + + // subtype checking is not supported for types with bounded parameters, except CallableType + if (left.hasBoundedParameters() && leftMeta !is PythonCallableTypeDescription) + return false + if (right.hasBoundedParameters() && rightMeta !is PythonCallableTypeDescription) + return false + + if (rightMeta is PythonAnyTypeDescription) + return true + + // just in case + if (recursionDepth >= MAX_RECURSION_DEPTH) { + return false + } + + if (rightMeta is PythonTypeAliasDescription) + return PythonSubtypeChecker( + left = left, + right = PythonTypeAliasDescription.getInterior(right), + pythonTypeStorage, + typeParameterCorrespondence, assumingSubtypePairs, recursionDepth + 1 + ).rightIsSubtypeOfLeft() + + return when (leftMeta) { + is PythonAnyTypeDescription -> true + is PythonTypeAliasDescription -> caseOfLeftTypeAlias(leftMeta) + is PythonTypeVarDescription -> caseOfLeftTypeVar(leftMeta) + is PythonProtocolDescription -> caseOfLeftProtocol(leftMeta) + is PythonCallableTypeDescription -> caseOfLeftCallable(leftMeta) + is PythonUnionTypeDescription -> caseOfLeftUnion(leftMeta) + is PythonConcreteCompositeTypeDescription -> caseOfLeftCompositeType(leftMeta) + is PythonNoneTypeDescription -> rightMeta is PythonNoneTypeDescription + is PythonOverloadTypeDescription -> caseOfLeftOverload(leftMeta) + is PythonTupleTypeDescription -> caseOfLeftTupleType(leftMeta) + } + } + + @Suppress("unused_parameter") + private fun caseOfLeftTypeAlias(leftMeta: PythonTypeAliasDescription): Boolean { + return PythonSubtypeChecker( + left = PythonTypeAliasDescription.getInterior(left), + right = right, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + + private fun caseOfLeftTupleType(leftMeta: PythonTupleTypeDescription): Boolean { + return when (val rightMeta = right.pythonDescription()) { + is PythonAnyTypeDescription -> true + is PythonTupleTypeDescription -> { + val leftAsCompositeType = leftMeta.castToCompatibleTypeApi(left) + val rightAsCompositeType = rightMeta.castToCompatibleTypeApi(right) + if (leftAsCompositeType.parameters.size != rightAsCompositeType.parameters.size) + false + else { + (leftAsCompositeType.parameters zip rightAsCompositeType.parameters).all { (leftMember, rightMember) -> + PythonSubtypeChecker( + left = leftMember, + right = rightMember, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + } + else -> false + } + } + + private fun caseOfLeftOverload(leftMeta: PythonOverloadTypeDescription): Boolean { + val leftAsStatefulType = leftMeta.castToCompatibleTypeApi(left) + return leftAsStatefulType.parameters.all { + PythonSubtypeChecker( + left = it, + right = right, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + + private fun caseOfLeftCompositeType(leftMeta: PythonConcreteCompositeTypeDescription): Boolean { + if (left.isPythonObjectType()) + return true + return when (val rightMeta = right.pythonDescription()) { + is PythonAnyTypeDescription -> true + is PythonConcreteCompositeTypeDescription -> { + val rightAsCompositeType = rightMeta.castToCompatibleTypeApi(right) + if (rightMeta.name == leftMeta.name) { + val origin = left.getOrigin() + (left.parameters zip right.parameters zip origin.parameters).all { + val (args, param) = it + val (leftArg, rightArg) = args + if (leftArg.pythonDescription() is PythonAnyTypeDescription || + rightArg.pythonDescription() is PythonAnyTypeDescription + ) + return@all true + val typeVarDescription = param.pythonDescription() + if (typeVarDescription !is PythonTypeVarDescription) // shouldn't be possible + return@all false + when (typeVarDescription.variance) { + PythonTypeVarDescription.Variance.INVARIANT -> false + PythonTypeVarDescription.Variance.COVARIANT -> + PythonSubtypeChecker( + left = leftArg, + right = rightArg, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + PythonTypeVarDescription.Variance.CONTRAVARIANT -> + PythonSubtypeChecker( + left = rightArg, + right = leftArg, + pythonTypeStorage, + reverse(typeParameterCorrespondence), + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + } else { + rightAsCompositeType.supertypes.any { + PythonSubtypeChecker( + left = left, + right = it, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + } + PythonTupleTypeDescription -> { + if (!typesAreEqual(left.getOrigin(), pythonTypeStorage.pythonTuple) || left.hasBoundedParameters()) + false + else { + right.pythonAnnotationParameters().all { + PythonSubtypeChecker( + left = left.parameters.first(), + right = it, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + } + else -> false + } + } + + private fun caseOfLeftTypeVar(leftMeta: PythonTypeVarDescription): Boolean { + // TODO: more accurate case analysis + if (!typeParameterCorrespondence.any { it.first == left }) + return true // treat unbounded TypeVars like Any. TODO: here might occur false-positives + return when (val rightMeta = right.pythonDescription()) { + is PythonAnyTypeDescription -> true + is PythonTypeVarDescription -> caseOfLeftAndRightTypeVar(leftMeta, rightMeta) + else -> false + } + } + + @Suppress("unused_parameter") + private fun caseOfLeftUnion(leftMeta: PythonUnionTypeDescription): Boolean { + val children = PythonUnionTypeDescription.getAnnotationParameters(left) + return children.any { childType -> + PythonSubtypeChecker( + left = childType, + right = right, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + } + + private fun caseOfLeftAndRightTypeVar( + leftMeta: PythonTypeVarDescription, + rightMeta: PythonTypeVarDescription + ): Boolean { + val leftParam = leftMeta.castToCompatibleTypeApi(left) + val rightParam = rightMeta.castToCompatibleTypeApi(right) + // TODO: more accurate case analysis + return typeParameterCorrespondence.contains(Pair(leftParam, rightParam)) + } + + private fun caseOfLeftProtocol(leftMeta: PythonProtocolDescription): Boolean { + val membersNotToCheck = listOf("__new__", "__init__") + return leftMeta.protocolMemberNames.subtract(membersNotToCheck).all { protocolMemberName -> + // there is a tricky case: importlib.metadata._meta.SimplePath + val neededAttribute = + left.getPythonAttributeByName(pythonTypeStorage, protocolMemberName) ?: return@all true + val rightAttribute = right.getPythonAttributeByName(pythonTypeStorage, protocolMemberName) ?: return false + val firstArgIsSelf = { description: PythonDefinitionDescription -> + (description is PythonFuncItemDescription) && description.args.isNotEmpty() && + description.args.first().isSelf + } + val description = neededAttribute.meta + val skipFirstArgument = + firstArgIsSelf(description) || + ((description is PythonOverloadedFuncDefDescription) && description.items.any(firstArgIsSelf)) + PythonSubtypeChecker( + left = neededAttribute.type, + right = rightAttribute.type, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1, + skipFirstArgument + ).rightIsSubtypeOfLeft() + } + } + + private fun caseOfLeftCallable(leftMeta: PythonCallableTypeDescription): Boolean { + val rightCallAttributeAbstract = right.getPythonAttributeByName(pythonTypeStorage, "__call__")?.type + ?: return false + val leftAsFunctionType = leftMeta.castToCompatibleTypeApi(left) + + // TODO: more accurate work with argument binding? + + if (rightCallAttributeAbstract.pythonDescription() is PythonOverloadTypeDescription) { + val variants = rightCallAttributeAbstract.parameters + return variants.any { variant -> + PythonSubtypeChecker( + left = left, + right = variant, + pythonTypeStorage, + typeParameterCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1, + skipFirstArgument + ).rightIsSubtypeOfLeft() + } + } + + val rightCallAttribute = rightCallAttributeAbstract as? FunctionType ?: return false + + if (rightCallAttribute.arguments.size != leftAsFunctionType.arguments.size) + return false + val leftBounded = leftAsFunctionType.getBoundedParameters() + val rightBounded = rightCallAttribute.getBoundedParameters() + + // TODO: more accurate case analysis + if (rightBounded.isNotEmpty() && leftBounded.size != rightBounded.size) + return false + + var newLeftAsFunctionType = leftAsFunctionType + + // TODO: here might occur false-positives + if (rightBounded.isEmpty() && leftBounded.isNotEmpty()) { + val newLeft = DefaultSubstitutionProvider.substitute(left, leftBounded.associateWith { pythonAnyType }) + newLeftAsFunctionType = leftMeta.castToCompatibleTypeApi(newLeft) + } + + val newCorrespondence = typeParameterCorrespondence + + if (rightBounded.isNotEmpty()) (leftBounded zip rightBounded) else emptyList() + + var args = newLeftAsFunctionType.arguments zip rightCallAttribute.arguments + if (skipFirstArgument) + args = args.drop(1) + + return args.all { (leftArg, rightArg) -> + PythonSubtypeChecker( + left = rightArg, + right = leftArg, + pythonTypeStorage, + reverse(newCorrespondence), + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } && PythonSubtypeChecker( + left = newLeftAsFunctionType.returnValue, + right = rightCallAttribute.returnValue, + pythonTypeStorage, + newCorrespondence, + nextAssumingSubtypePairs, + recursionDepth + 1 + ).rightIsSubtypeOfLeft() + } + + private fun reverse(correspondence: List>): List> = + correspondence.map { Pair(it.second, it.first) } + + private val nextAssumingSubtypePairs: List> + by lazy { + if (left.pythonDescription() is PythonCompositeTypeDescription + && right.pythonDescription() is PythonCompositeTypeDescription + ) + assumingSubtypePairs + + listOf( + Pair( + PythonTypeWrapperForEqualityCheck(left), + PythonTypeWrapperForEqualityCheck(right) + ) + ) + else + assumingSubtypePairs + } + + companion object { + fun checkIfRightIsSubtypeOfLeft(left: UtType, right: UtType, pythonTypeStorage: PythonTypeHintsBuild): Boolean = + PythonSubtypeChecker( + left = left, + right = right, + pythonTypeStorage, + emptyList(), + emptyList(), + 0 + ).rightIsSubtypeOfLeft() + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt new file mode 100644 index 0000000000..d3e822c049 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt @@ -0,0 +1,98 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.general.TypeParameter +import org.utbot.python.newtyping.general.getOrigin + +enum class ConstraintKind { + LowerBound, + UpperBound, + BothSided +} + +fun reverseConstraintKind(kind: ConstraintKind): ConstraintKind { + return when (kind) { + ConstraintKind.LowerBound -> ConstraintKind.UpperBound + ConstraintKind.UpperBound -> ConstraintKind.LowerBound + ConstraintKind.BothSided -> ConstraintKind.BothSided + } +} + +data class TypeConstraint( + val type: UtType, + val kind: ConstraintKind +) + +// key of returned Map: index of annotationParameter +fun propagateConstraint(type: UtType, constraint: TypeConstraint, storage: PythonTypeHintsBuild): Map { + return when (val description = type.pythonDescription()) { + is PythonAnyTypeDescription, is PythonNoneTypeDescription, is PythonTypeVarDescription -> emptyMap() + is PythonOverloadTypeDescription -> emptyMap() // TODO + is PythonCallableTypeDescription -> emptyMap() // TODO + is PythonUnionTypeDescription -> emptyMap() // TODO + is PythonTupleTypeDescription -> emptyMap() // TODO + is PythonProtocolDescription -> emptyMap() // TODO + is PythonTypeAliasDescription -> emptyMap() // TODO + is PythonConcreteCompositeTypeDescription -> { + propagateConstraintForCompositeType(type, description, constraint, storage) + } + } +} + +private fun propagateConstraintForCompositeType( + type: UtType, + description: PythonCompositeTypeDescription, + constraint: TypeConstraint, + storage: PythonTypeHintsBuild +): Map { + return when (val constraintDescription = constraint.type.pythonDescription()) { + is PythonConcreteCompositeTypeDescription -> { + if (constraintDescription.name != description.name) + return emptyMap() // TODO: consider some cases here + val origin = type.getOrigin() + (constraint.type.parameters zip origin.parameters).mapIndexed { index, (constraintValue, param) -> + if ((param.pythonDescription() as? PythonTypeVarDescription)?.variance == PythonTypeVarDescription.Variance.COVARIANT) { + return@mapIndexed Pair(index, TypeConstraint(constraintValue, constraint.kind)) + } + if ((param.pythonDescription() as? PythonTypeVarDescription)?.variance == PythonTypeVarDescription.Variance.CONTRAVARIANT) { + return@mapIndexed Pair(index, TypeConstraint(constraintValue, reverseConstraintKind(constraint.kind))) + } + return@mapIndexed Pair(index, TypeConstraint(constraintValue, ConstraintKind.BothSided)) + }.associate { it } + } + is PythonProtocolDescription -> { + val collectedConstraints = mutableMapOf() + val origin = type.getOrigin() + constraintDescription.protocolMemberNames.forEach { + val abstractAttr = constraint.type.getPythonAttributeByName(storage, it) ?: return@forEach + val concreteAttr = origin.getPythonAttributeByName(storage, it) ?: return@forEach + // TODO: consider more cases + when (val desc = concreteAttr.type.pythonDescription()) { + is PythonTypeVarDescription -> { + collectedConstraints[concreteAttr.type] = + TypeConstraint(abstractAttr.type, ConstraintKind.UpperBound) + } + is PythonCallableTypeDescription -> { + val typeOfAbstract = abstractAttr.type + if (typeOfAbstract !is FunctionType) + return@forEach + val callable = desc.castToCompatibleTypeApi(concreteAttr.type) + (callable.arguments zip typeOfAbstract.arguments).forEach { (arg, abs) -> + if (arg is TypeParameter) + collectedConstraints[arg] = TypeConstraint(abs, ConstraintKind.UpperBound) + } + if (callable.returnValue is TypeParameter) + collectedConstraints[callable.returnValue] = + TypeConstraint(typeOfAbstract.returnValue, ConstraintKind.LowerBound) + } + else -> {} + } + } + origin.parameters.mapIndexedNotNull { ind, param -> + collectedConstraints[param]?.let { Pair(ind, it) } + }.associate { it } + } + else -> emptyMap() // TODO: consider some other cases here + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt new file mode 100644 index 0000000000..4b1fc214e9 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt @@ -0,0 +1,95 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.CompositeTypeCreator +import org.utbot.python.newtyping.general.FunctionTypeCreator +import org.utbot.python.newtyping.general.Name +import org.utbot.python.newtyping.general.UtType + + +fun createIterableWithCustomReturn(returnType: UtType): UtType = + createUnaryProtocolWithCustomReturn("__iter__", returnType) + +fun supportsBoolProtocol(storage: PythonTypeHintsBuild): UtType = + createUnaryProtocolWithCustomReturn("__bool__", storage.pythonBool) + +fun createProtocolWithAttribute(attributeName: String, attributeType: UtType): UtType = + createPythonProtocol( + Name(emptyList(), "Supports_$attributeName"), + 0, + listOf(PythonVariableDescription(attributeName)), + listOf(attributeName) + ) { + CompositeTypeCreator.InitializationData( + members = listOf(attributeType), + supertypes = emptyList() + ) + } + +fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType): UtType = + createPythonProtocol( + Name(emptyList(), "Supports_$methodName"), + 0, + listOf(PythonVariableDescription(methodName)), + listOf(methodName) + ) { self -> + CompositeTypeCreator.InitializationData( + members = listOf( + createPythonCallableType( + 0, + listOf(PythonCallableTypeDescription.ArgKind.ARG_POS, PythonCallableTypeDescription.ArgKind.ARG_POS), + listOf("self", "") + ) { + FunctionTypeCreator.InitializationData( + arguments = listOf(self, argType), + returnValue = returnType + ) + } + ), + supertypes = emptyList() + ) + } + +fun createUnaryProtocolWithCustomReturn(methodName: String, returnType: UtType): UtType = + createPythonProtocol( + Name(emptyList(), "Supports_$methodName"), + 0, + listOf(PythonVariableDescription(methodName)), + listOf(methodName) + ) { self -> + CompositeTypeCreator.InitializationData( + members = listOf( + createPythonCallableType( + 0, + listOf(PythonCallableTypeDescription.ArgKind.ARG_POS), + listOf("self") + ) { + FunctionTypeCreator.InitializationData( + arguments = listOf(self), + returnType + ) + } + ), + supertypes = emptyList() + ) + } + +fun createCallableProtocol(argBounds: List, returnBound: UtType): UtType = + createPythonProtocol( + Name(emptyList(), "SupportsCall"), + 0, + listOf(PythonVariableDescription("__call__")), + listOf("__call__") + ) { + CompositeTypeCreator.InitializationData( + members = listOf( + createPythonCallableType( + 0, + List(argBounds.size) { PythonCallableTypeDescription.ArgKind.ARG_POS }, + List(argBounds.size) { "" } + ) { + FunctionTypeCreator.InitializationData(argBounds, returnBound) + } + ), + supertypes = emptyList() + ) + } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt new file mode 100644 index 0000000000..9e69203bd4 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt @@ -0,0 +1,75 @@ +package org.utbot.python.newtyping + +import org.utbot.python.newtyping.general.CompositeType +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.mypy.ClassDef +import org.utbot.python.newtyping.mypy.CompositeAnnotationNode +import org.utbot.python.newtyping.mypy.MypyAnnotation +import org.utbot.python.newtyping.mypy.MypyInfoBuild + +class PythonTypeHintsBuild( + val pythonObject: UtType, + val pythonBool: UtType, + val pythonList: UtType, + val pythonDict: UtType, + val pythonSet: UtType, + val pythonInt: UtType, + val pythonFloat: UtType, + val pythonComplex: UtType, + val pythonStr: UtType, + val pythonTuple: UtType, + val tupleOfAny: UtType, + val pythonSlice: UtType, + val allTypes: Set +) { + + val simpleTypes: List + get() = allTypes.filter { + val description = it.pythonDescription() + !description.name.name.startsWith("_") + && description is PythonConcreteCompositeTypeDescription + && !description.isAbstract + && !listOf("typing", "typing_extensions").any { mod -> description.name.prefix == listOf(mod) } + }.sortedBy { type -> if (type.pythonTypeName().startsWith("builtins")) 0 else 1 } + + companion object { + private fun getNestedClasses(cur: MypyAnnotation, result: MutableSet) { + val type = cur.asUtBotType + if (type is CompositeType && cur.node is CompositeAnnotationNode) { + result.add(type) + (cur.node as CompositeAnnotationNode).members.forEach { + if (it is ClassDef) + getNestedClasses(it.type, result) + } + } + } + fun get(mypyStorage: MypyInfoBuild): PythonTypeHintsBuild { + val module = mypyStorage.definitions["builtins"]!! + val allTypes: MutableSet = mutableSetOf() + mypyStorage.definitions.forEach { (_, curModule) -> + curModule.forEach { + if (it.value is ClassDef) + getNestedClasses(it.value.type, allTypes) + } + } + val tuple = module["tuple"]!!.type.asUtBotType + val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) + return PythonTypeHintsBuild( + pythonObject = module["object"]!!.type.asUtBotType, + pythonBool = module["bool"]!!.type.asUtBotType, + pythonList = module["list"]!!.type.asUtBotType, + pythonDict = module["dict"]!!.type.asUtBotType, + pythonSet = module["set"]!!.type.asUtBotType, + pythonInt = module["int"]!!.type.asUtBotType, + pythonFloat = module["float"]!!.type.asUtBotType, + pythonComplex = module["complex"]!!.type.asUtBotType, + pythonStr = module["str"]!!.type.asUtBotType, + pythonTuple = tuple, + tupleOfAny = tupleOfAny, + pythonSlice = module["slice"]!!.type.asUtBotType, + allTypes = allTypes + ) + } + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt new file mode 100644 index 0000000000..c51ed56488 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt @@ -0,0 +1,83 @@ +package org.utbot.python.newtyping.general + +object TypeCreator { + fun create(numberOfParameters: Int, meta: TypeMetaData, initialization: (Original) -> Unit): UtType { + val result = Original(numberOfParameters, meta) + initialization(result) + return result + } + class Original( + numberOfParameters: Int, + override val meta: TypeMetaData + ): UtType { + override val parameters: MutableList = + List(numberOfParameters) { TypeParameter(this) }.toMutableList() + } +} + +object FunctionTypeCreator { + fun create( + numberOfParameters: Int, + meta: TypeMetaData, + initialization: (Original) -> InitializationData + ): FunctionType { + val result = Original(numberOfParameters, meta) + val data = initialization(result) + result.arguments = data.arguments + result.returnValue = data.returnValue + return result + } + open class Original( + numberOfParameters: Int, + override val meta: TypeMetaData + ): FunctionType { + override val parameters: MutableList = + List(numberOfParameters) { TypeParameter(this) }.toMutableList() + override lateinit var arguments: List + override lateinit var returnValue: UtType + } + data class InitializationData( + val arguments: List, + val returnValue: UtType + ) +} + +/* +object StatefulTypeCreator { + fun create(parameters: List, members: List, meta: TypeMetaData): StatefulType { + return Original(parameters, members, meta) + } + class Original( + override val parameters: List, + override val members: List, + override val meta: TypeMetaData + ): StatefulType +} + */ + +object CompositeTypeCreator { + fun create( + numberOfParameters: Int, + meta: TypeMetaData, + initialization: (Original) -> InitializationData + ): CompositeType { + val result = Original(numberOfParameters, meta) + val data = initialization(result) + result.members = data.members + result.supertypes = data.supertypes + return result + } + open class Original( + numberOfParameters: Int, + override val meta: TypeMetaData + ): CompositeType { + override val parameters: MutableList = + List(numberOfParameters) { TypeParameter(this) }.toMutableList() + override lateinit var members: List + override lateinit var supertypes: List + } + data class InitializationData( + val members: List, + val supertypes: List + ) +} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt new file mode 100644 index 0000000000..8abdf73802 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt @@ -0,0 +1,153 @@ +package org.utbot.python.newtyping.general + +object DefaultSubstitutionProvider: SubstitutionProvider() { + override fun substitute(type: UtType, params: Map): UtType = + when (type) { + is TypeParameter -> TypeParameterSubstitutionProvider(this).substitute(type, params) + is FunctionType -> FunctionTypeSubstitutionProvider(this).substitute(type, params) + is CompositeType -> CompositeTypeSubstitutionProvider(this).substitute(type, params) + // is StatefulType -> StatefulTypeSubstitutionProvider(this).substitute(type, params) + else -> TypeSubstitutionProvider(this).substitute(type, params) + } +} + +abstract class SubstitutionProvider { + abstract fun substitute(type: I, params: Map): O + fun substituteByIndex(type: I, index: Int, newParamValue: UtType): O { + val param = type.parameters[index] as? TypeParameter + ?: error("Cannot substitute parameter at index $index of type $type") + return substitute(type, mapOf(param to newParamValue)) + } + fun substituteAll(type: I, newParamValues: List): O { + val params = type.parameters.map { + it as? TypeParameter ?: error("Can apply substituteAll only to types without any substitutions") + } + return substitute(type, (params zip newParamValues).associate { it }) + } +} + +class TypeSubstitutionProvider( + private val provider: SubstitutionProvider +): SubstitutionProvider() { + override fun substitute(type: UtType, params: Map): UtType { + return Substitution(type, params, provider) + } + open class Substitution( + originForInitialization: UtType, + rawParams: Map, + provider: SubstitutionProvider + ): UtType, TypeSubstitution { + val newBoundedTypeParameters: Map = + originForInitialization.parameters.mapNotNull { + if ( + it is TypeParameter && + !rawParams.keys.contains(it) && + it.definedAt == originForInitialization + ) { + it to TypeParameter(this).let { newParam -> + newParam.constraints = substituteConstraints(it.constraints, provider, rawParams) + newParam.meta = it.meta + newParam + } + } else { + null + } + }.associate { it } + override val rawOrigin: UtType = originForInitialization + override val params: Map = rawParams + override val parameters: List by lazy { + rawOrigin.parameters.map { + provider.substitute(it, params + newBoundedTypeParameters) + } + } + override val meta: TypeMetaData + get() = rawOrigin.meta + } +} + +class FunctionTypeSubstitutionProvider( + private val provider: SubstitutionProvider +): SubstitutionProvider() { + override fun substitute(type: FunctionType, params: Map): FunctionType { + return Substitution(type, params, provider) + } + open class Substitution( + override val rawOrigin: FunctionType, + override val params: Map, + provider: SubstitutionProvider + ): FunctionType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { + override val arguments: List by lazy { + rawOrigin.arguments.map { provider.substitute(it, newBoundedTypeParameters + params) } + } + override val returnValue: UtType by lazy { + provider.substitute(rawOrigin.returnValue, newBoundedTypeParameters + params) + } + } +} + +/* +class StatefulTypeSubstitutionProvider( + private val provider: SubstitutionProvider +): SubstitutionProvider() { + override fun substitute(type: StatefulType, params: Map): StatefulType { + return Substitution(type, params, provider) + } + open class Substitution( + override val rawOrigin: StatefulType, + override val params: Map, + provider: SubstitutionProvider + ): StatefulType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { + override val members: List by lazy { + rawOrigin.members.map { provider.substitute(it, newBoundedTypeParameters + params) } + } + } +} + */ + +class CompositeTypeSubstitutionProvider( + private val provider: SubstitutionProvider +): SubstitutionProvider() { + override fun substitute(type: CompositeType, params: Map): CompositeType { + return Substitution(type, params, provider) + } + open class Substitution( + override val rawOrigin: CompositeType, + override val params: Map, + provider: SubstitutionProvider + ): CompositeType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { + override val supertypes: List by lazy { + rawOrigin.supertypes.map { provider.substitute(it, newBoundedTypeParameters + params) } + } + override val members: List by lazy { + rawOrigin.members.map { provider.substitute(it, newBoundedTypeParameters + params) } + } + } +} + +class TypeParameterSubstitutionProvider( + private val provider: SubstitutionProvider +): SubstitutionProvider() { + override fun substitute(type: TypeParameter, params: Map): UtType { + return params[type] ?: run { + type.constraints = substituteConstraints(type.constraints, provider, params) + type + } + } +} + +private fun substituteConstraints( + constraints: Set, + provider: SubstitutionProvider, + params: Map +) = + constraints.map { + TypeParameterConstraint( + relation = it.relation, + boundary = provider.substitute(it.boundary, params) + ) + }.toSet() + +interface TypeSubstitution { + val params: Map + val rawOrigin: UtType +} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt new file mode 100644 index 0000000000..7355a75bdb --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt @@ -0,0 +1,28 @@ +package org.utbot.python.newtyping.general + +fun UtType.isParameterBoundedTo(type: UtType): Boolean = + (this is TypeParameter) && (this.definedAt == type) + +fun UtType.getBoundedParametersIndexes(): List = + parameters.mapIndexedNotNull { index, parameter -> + if (parameter.isParameterBoundedTo(this)) { + index + } else { + null + } + } + +fun UtType.getBoundedParameters(): List = + parameters.mapNotNull { parameter -> + if (parameter.isParameterBoundedTo(this)) { + parameter as TypeParameter + } else { + null + } + } + +fun UtType.hasBoundedParameters(): Boolean = + parameters.any { it.isParameterBoundedTo(this) } + +fun UtType.getOrigin(): UtType = + if (this is TypeSubstitution) rawOrigin.getOrigin() else this \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt new file mode 100644 index 0000000000..48d3ec7c5d --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt @@ -0,0 +1,53 @@ +package org.utbot.python.newtyping.general + +interface UtType { + val parameters: List + val meta: TypeMetaData +} + +// arguments and returnValue of FunctionType instance can recursively refer to it and its parameters +interface FunctionType: UtType { + val arguments: List + val returnValue: UtType +} + +/* +interface StatefulType: Type { + val members: List +} + */ + +// members and supertypes of CompositeType instance can recursively refer to it and its parameters +interface CompositeType: UtType { + val supertypes: List + val members: List +} + +open class TypeMetaData +open class TypeMetaDataWithName(val name: Name): TypeMetaData() + +class TypeParameter(val definedAt: UtType): UtType { + // tricky case with cyclic dependency; constraints may be changed after substitution + var constraints: Set = emptySet() + override var meta: TypeMetaData = TypeMetaData() + override val parameters: List = emptyList() +} + +class TypeRelation( + val name: String +) + +open class TypeParameterConstraint( + val relation: TypeRelation, + val boundary: UtType +) + +class Name(val prefix: List, val name: String) { + override fun toString(): String { + return if (prefix.isEmpty()) { + name + } else { + "${prefix.joinToString(".")}.$name" + } + } +} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt new file mode 100644 index 0000000000..63cd2f1170 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt @@ -0,0 +1,36 @@ +package org.utbot.python.newtyping.inference + +import org.utbot.python.newtyping.general.UtType + +interface TypeInferenceNode { + val partialType: UtType + val ingoingEdges: Collection + val outgoingEdges: Collection +} + +interface TypeInferenceEdge { + val from: TypeInferenceNode + val to: TypeInferenceNode +} + +interface TypeInferenceEdgeWithValue: TypeInferenceEdge { + val annotationParameterId: Int +} + +interface TypeInferenceEdgeWithBound: TypeInferenceEdge { + val boundType: BoundType + val dependency: (UtType) -> List + enum class BoundType { + Lower, + Upper + } +} + +fun addEdge(edge: TypeInferenceEdge) { + val fromEdgeStorage = edge.from.outgoingEdges + val toEdgeStorage = edge.to.ingoingEdges + if (fromEdgeStorage is MutableCollection) + fromEdgeStorage.add(edge) + if (toEdgeStorage is MutableCollection) + toEdgeStorage.add(edge) +} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt new file mode 100644 index 0000000000..7db3fe7e32 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt @@ -0,0 +1,60 @@ +package org.utbot.python.newtyping.mypy + +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory +import org.utbot.python.newtyping.general.UtType + +class GlobalNamesStorage(private val mypyStorage: MypyInfoBuild) { + fun resolveTypeName(module: String, name: String): UtType? { + val splitName = name.split(".") + if (splitName.size == 1) { + val nameFromStorage = mypyStorage.names[module]?.find { it.name == name } ?: return null + return when (nameFromStorage) { + is LocalTypeName -> mypyStorage.definitions[module]!![name]!!.getUtBotType() + is ImportedTypeName -> { + val split = nameFromStorage.fullname.split(".") + resolveTypeName(split.dropLast(1).joinToString("."), split.last()) + } + else -> null + } + } + val withoutLast = splitName.dropLast(1) + withoutLast.foldRight(Pair(withoutLast.joinToString("."), splitName.last())) { nextPart, (left, right) -> + val next = Pair(left.dropLast(nextPart.length).removeSuffix("."), "$nextPart.$right") + val nameFromStorage = (mypyStorage.names[module]?.find { it.name == left } as? ModuleName) + ?: return@foldRight next + val attempt = resolveTypeName(nameFromStorage.fullname, right) + if (attempt != null) + return attempt + next + } + withoutLast.foldRight(Pair(withoutLast.joinToString("."), splitName.last())) { nextPart, (left, right) -> + val next = Pair(left.dropLast(nextPart.length).removeSuffix("."), "$nextPart.$right") + mypyStorage.names["$module.$left"] ?: return@foldRight next + val attempt = resolveTypeName("$module.$left", right) + if (attempt != null) + return attempt + next + } + return null + } +} + +sealed class Name(val name: String) +class ModuleName(name: String, val fullname: String): Name(name) +class LocalTypeName(name: String): Name(name) +class ImportedTypeName(name: String, val fullname: String): Name(name) +class OtherName(name: String): Name(name) + +enum class NameType { + Module, + LocalType, + ImportedType, + Other +} + +val namesAdapter: PolymorphicJsonAdapterFactory = + PolymorphicJsonAdapterFactory.of(Name::class.java, "kind") + .withSubtype(ModuleName::class.java, NameType.Module.name) + .withSubtype(LocalTypeName::class.java, NameType.LocalType.name) + .withSubtype(ImportedTypeName::class.java, NameType.ImportedType.name) + .withSubtype(OtherName::class.java, NameType.Other.name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt new file mode 100644 index 0000000000..e8c0f92cdb --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt @@ -0,0 +1,263 @@ +package org.utbot.python.newtyping.mypy + +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory +import org.utbot.python.newtyping.* +import org.utbot.python.newtyping.general.* + +class MypyAnnotation( + val nodeId: String, + val args: List? = null +) { + var initialized = false + @Transient lateinit var storage: MypyInfoBuild + val node: MypyAnnotationNode + get() = storage.nodeStorage[nodeId]!! + val asUtBotType: UtType + get() { + assert(initialized) + val origin = storage.getUtBotTypeOfNode(node) + if (args != null) { + assert(origin.parameters.size == args.size) + assert(origin.parameters.all { it is TypeParameter }) + val argTypes = args.map { it.asUtBotType } + return DefaultSubstitutionProvider.substitute( + origin, + (origin.parameters.map { it as TypeParameter } zip argTypes).toMap() + ) + } + return origin + } +} + +sealed class MypyAnnotationNode { + @Transient lateinit var storage: MypyInfoBuild + open val children: List = emptyList() + abstract fun initializeType(): UtType +} + +sealed class CompositeAnnotationNode( + val module: String, + val simpleName: String, + val members: List, + val typeVars: List, + val bases: List +): MypyAnnotationNode() { + override val children: List + get() = super.children + members.map { it.type } + typeVars + bases + fun getInitData(self: CompositeTypeCreator.Original): CompositeTypeCreator.InitializationData { + storage.nodeToUtBotType[this] = self + (typeVars zip self.parameters).forEach { (node, typeParam) -> + val typeVar = node.node as TypeVarNode + storage.nodeToUtBotType[typeVar] = typeParam + typeParam.meta = PythonTypeVarDescription(Name(emptyList(), typeVar.varName), typeVar.variance, typeVar.kind) + typeParam.constraints = typeVar.constraints + } + val membersForType = members.mapNotNull { def -> + def.getUtBotDefinition()?.type // for now ignore inner types + } + val baseTypes = bases.map { it.asUtBotType } + return CompositeTypeCreator.InitializationData(membersForType, baseTypes) + } +} + + +class ConcreteAnnotation( + module: String, + simpleName: String, + members: List, + typeVars: List, + bases: List, + val isAbstract: Boolean +): CompositeAnnotationNode(module, simpleName, members, typeVars, bases) { + override fun initializeType(): UtType { + assert(storage.nodeToUtBotType[this] == null) + return createPythonConcreteCompositeType( + Name(module.split('.'), simpleName), + typeVars.size, + members.mapNotNull { it.getUtBotDescription() }, + isAbstract + ) { self -> getInitData(self) } + } +} + + +class Protocol( + val protocolMembers: List, + module: String, + simpleName: String, + members: List, + typeVars: List, + bases: List +): CompositeAnnotationNode(module, simpleName, members, typeVars, bases) { + override fun initializeType(): UtType { + return createPythonProtocol( + Name(module.split('.'), simpleName), + typeVars.size, + members.mapNotNull { it.getUtBotDescription() }, + protocolMembers + ) { self -> getInitData(self) } + } +} + + +class FunctionNode( + val argTypes: List, // for now ignore other argument kinds + val returnType: MypyAnnotation, + val typeVars: List, + val argKinds: List, + var argNames: List, +): MypyAnnotationNode() { + override val children: List + get() = super.children + argTypes + listOf(returnType) + override fun initializeType(): UtType { + return createPythonCallableType( + typeVars.size, + argKinds, + argNames + ) { self -> + storage.nodeToUtBotType[this] = self + (typeVars zip self.parameters).forEach { (nodeId, typeParam) -> + val typeVar = storage.nodeStorage[nodeId] as TypeVarNode + storage.nodeToUtBotType[typeVar] = typeParam + typeParam.meta = PythonTypeVarDescription(Name(emptyList(), typeVar.varName), typeVar.variance, typeVar.kind) + typeParam.constraints = typeVar.constraints + } + FunctionTypeCreator.InitializationData( + arguments = argTypes.map { it.asUtBotType }, + returnValue = returnType.asUtBotType + ) + } + } +} + + +class TypeVarNode( + val varName: String, + val values: List, + var upperBound: MypyAnnotation?, + val def: String, + val variance: PythonTypeVarDescription.Variance +): MypyAnnotationNode() { + override val children: List + get() = super.children + values + (upperBound?.let { listOf(it) } ?: emptyList()) + override fun initializeType() = + error("Initialization of TypeVar must be done in defining class or function." + + " TypeVar name: $varName, def_id: $def") + val constraints: Set by lazy { + val upperBoundConstraint: Set = + upperBound?.let { setOf(TypeParameterConstraint(upperBoundRelation, it.asUtBotType)) } ?: emptySet() + values.map { TypeParameterConstraint(exactTypeRelation, it.asUtBotType) }.toSet() + upperBoundConstraint + } + val kind: PythonTypeVarDescription.ParameterKind + get() { + return if (values.isEmpty()) + PythonTypeVarDescription.ParameterKind.WithUpperBound + else { + upperBound = null + PythonTypeVarDescription.ParameterKind.WithConcreteValues + } + } +} + + +class PythonTuple( + val items: List +): MypyAnnotationNode() { + override val children: List + get() = super.children + items + override fun initializeType(): UtType { + return createPythonTupleType(items.map { it.asUtBotType }) + } +} + +class PythonAny: MypyAnnotationNode() { + override fun initializeType(): UtType { + return pythonAnyType + } +} + +//class PythonLiteral: PythonAnnotationNode("typing", "Literal", AnnotationType.Literal) + +class PythonUnion( + val items: List +): MypyAnnotationNode() { + override val children: List + get() = super.children + items + override fun initializeType(): UtType { + return createPythonUnionType(items.map { it.asUtBotType }) + } +} + +class PythonNoneType: MypyAnnotationNode() { + override fun initializeType(): UtType { + return pythonNoneType + } +} + +class OverloadedFunction( + val items: List +): MypyAnnotationNode() { + override val children: List + get() = super.children + items + override fun initializeType(): UtType { + return createOverload(items.map { it.asUtBotType }) + } +} + +class TypeAliasNode(val target: MypyAnnotation): MypyAnnotationNode() { + override val children: List + get() = super.children + target + override fun initializeType(): UtType { + return createPythonTypeAlias { self -> + storage.nodeToUtBotType[this] = self + target.asUtBotType + } + } +} + +class UnknownAnnotationNode: MypyAnnotationNode() { + override fun initializeType(): UtType { + return pythonAnyType + } +} + +enum class AnnotationType { + Concrete, + Protocol, + TypeVar, + Overloaded, + Function, + Any, + Literal, + Union, + Tuple, + NoneType, + TypeAlias, + Unknown +} + +val annotationAdapter: PolymorphicJsonAdapterFactory = + PolymorphicJsonAdapterFactory.of(MypyAnnotationNode::class.java, "type") + .withSubtype(ConcreteAnnotation::class.java, AnnotationType.Concrete.name) + .withSubtype(Protocol::class.java, AnnotationType.Protocol.name) + .withSubtype(TypeVarNode::class.java, AnnotationType.TypeVar.name) + .withSubtype(OverloadedFunction::class.java, AnnotationType.Overloaded.name) + .withSubtype(FunctionNode::class.java, AnnotationType.Function.name) + .withSubtype(PythonAny::class.java, AnnotationType.Any.name) + //.withSubtype(PythonLiteral::class.java, AnnotationType.Literal.name) + .withSubtype(PythonUnion::class.java, AnnotationType.Union.name) + .withSubtype(PythonTuple::class.java, AnnotationType.Tuple.name) + .withSubtype(PythonNoneType::class.java, AnnotationType.NoneType.name) + .withSubtype(TypeAliasNode::class.java, AnnotationType.TypeAlias.name) + .withSubtype(UnknownAnnotationNode::class.java, AnnotationType.Unknown.name) + +object MypyAnnotations { + + data class MypyReportLine( + val line: Int, + val type: String, + val message: String, + val file: String + ) + +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt new file mode 100644 index 0000000000..5159346f56 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt @@ -0,0 +1,88 @@ +package org.utbot.python.newtyping.mypy + +import com.squareup.moshi.Moshi +import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import org.utbot.python.newtyping.general.* + +fun readMypyInfoBuild(mypyBuildDir: MypyBuildDirectory): MypyInfoBuild { + val result = readMypyInfoBuildWithoutRoot(mypyBuildDir.fileForAnnotationStorage.readText()) + result.buildRoot = mypyBuildDir + return result +} + +fun readMypyInfoBuildWithoutRoot(jsonWithAnnotations: String): MypyInfoBuild { + return jsonAdapter.fromJson(jsonWithAnnotations) ?: error("Couldn't parse json with mypy storage") +} + +private val moshi = Moshi.Builder() + .add(annotationAdapter) + .add(namesAdapter) + .add(definitionAdapter) + .addLast(KotlinJsonAdapterFactory()) + .build() + +private val jsonAdapter = moshi.adapter(MypyInfoBuild::class.java) + +class ExpressionTypeFromMypy( + val startOffset: Long, + val endOffset: Long, + val line: Long, + val type: MypyAnnotation +) + +class MypyInfoBuild( + val nodeStorage: Map, + val definitions: Map>, + val types: Map>, + val names: Map> +) { + @Transient lateinit var buildRoot: MypyBuildDirectory + private fun initAnnotation(annotation: MypyAnnotation) { + if (annotation.initialized) + return + annotation.storage = this + annotation.initialized = true + annotation.args?.forEach { initAnnotation(it) } + } + private fun fillArgNames(definition: MypyDefinition) { + val node = definition.type.node + if (node is ConcreteAnnotation) { + node.members.filterIsInstance().forEach { funcDef -> + val nodeInfo = nodeStorage[funcDef.type.nodeId] + if (nodeInfo is FunctionNode && nodeInfo.argNames.contains(null)) { + nodeInfo.argNames = nodeInfo.argNames.zip(funcDef.args).map { + it.first ?: (it.second as Variable).name + } + } + } + } + } + val nodeToUtBotType: MutableMap = mutableMapOf() + fun getUtBotTypeOfNode(node: MypyAnnotationNode): UtType { + //println("entering $node") + val mem = nodeToUtBotType[node] + if (mem != null) { + //println("exiting $node") + return mem + } + val res = node.initializeType() + nodeToUtBotType[node] = res + //println("exiting $node") + return res + } + init { + definitions.values.forEach { defsInModule -> + defsInModule.forEach { + initAnnotation(it.value.type) + fillArgNames(it.value) + } + } + types.values.flatten().forEach { + initAnnotation(it.type) + } + nodeStorage.values.forEach { node -> + node.storage = this + node.children.forEach { initAnnotation(it) } + } + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt new file mode 100644 index 0000000000..6451729007 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt @@ -0,0 +1,77 @@ +package org.utbot.python.newtyping.mypy + +import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory +import org.utbot.python.newtyping.* +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType + +sealed class MypyDefinition(val type: MypyAnnotation) { + fun getUtBotType(): UtType = type.asUtBotType + abstract fun getUtBotDescription(): PythonDefinitionDescription? + abstract fun getUtBotDefinition(): PythonDefinition? +} + +class Variable( + val name: String, + val isProperty: Boolean, + val isSelf: Boolean, + type: MypyAnnotation +): MypyDefinition(type) { + override fun getUtBotDescription(): PythonVariableDescription = + PythonVariableDescription(name, isProperty = isProperty, isSelf = isSelf) + override fun getUtBotDefinition(): PythonDefinition = + PythonDefinition(getUtBotDescription(), getUtBotType()) +} + +class ClassDef(type: MypyAnnotation): MypyDefinition(type) { + override fun getUtBotDefinition(): PythonDefinition? = null + override fun getUtBotDescription(): PythonDefinitionDescription? = null +} + +class FuncDef( + type: MypyAnnotation, + val args: List, + val name: String +): MypyDefinition(type) { + override fun getUtBotDescription(): PythonFuncItemDescription = + PythonFuncItemDescription( + name, + args.map { + val variable = it as Variable + PythonVariableDescription(variable.name, isProperty = variable.isProperty, isSelf = variable.isSelf) + } + ) + + override fun getUtBotDefinition(): PythonFunctionDefinition = + PythonFunctionDefinition(getUtBotDescription(), getUtBotType() as FunctionType) +} + +class OverloadedFuncDef( + type: MypyAnnotation, + val items: List, + val name: String +): MypyDefinition(type) { + override fun getUtBotDescription(): PythonOverloadedFuncDefDescription = + PythonOverloadedFuncDefDescription( + name, + items.mapNotNull { it.getUtBotDescription() } + ) + + override fun getUtBotDefinition(): PythonDefinition = + PythonDefinition(getUtBotDescription(), getUtBotType()) +} + + +enum class MypyDefinitionLabel { + Variable, + ClassDef, + FuncDef, + OverloadedFuncDef +} + +val definitionAdapter: PolymorphicJsonAdapterFactory = + PolymorphicJsonAdapterFactory.of(MypyDefinition::class.java, "kind") + .withSubtype(Variable::class.java, MypyDefinitionLabel.Variable.name) + .withSubtype(ClassDef::class.java, MypyDefinitionLabel.ClassDef.name) + .withSubtype(FuncDef::class.java, MypyDefinitionLabel.FuncDef.name) + .withSubtype(OverloadedFuncDef::class.java, MypyDefinitionLabel.OverloadedFuncDef.name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt new file mode 100644 index 0000000000..b1f8d6a621 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt @@ -0,0 +1,116 @@ +package org.utbot.python.newtyping.mypy + +import org.utbot.python.utils.runCommand +import java.io.File + +private const val configFilename = "config.ini" +private const val mypyCacheDirectoryName = ".mypy_cache" +private const val annotationsFilename = "annotations.json" +private const val mypyStdoutFilename = "mypy.out" +private const val mypyStderrFilename = "mypy.err" +private const val mypyExitStatusFilename = "mypy.exit" + +class MypyBuildDirectory( + val root: File, + val directoriesForSysPath: Set +) { + val configFile = File(root, configFilename) + val fileForAnnotationStorage = File(root, annotationsFilename) + val fileForMypyStdout = File(root, mypyStdoutFilename) + val fileForMypyStderr = File(root, mypyStderrFilename) + val fileForMypyExitStatus = File(root, mypyExitStatusFilename) + private val dirForCache = File(root, mypyCacheDirectoryName) + + init { + val configContent = """ + [mypy] + mypy_path = ${directoriesForSysPath.joinToString(separator = ":") { it.modifyWindowsPath() } } + namespace_packages = True + cache_dir = ${dirForCache.absolutePath} + show_absolute_path = True + cache_fine_grained = True + check_untyped_defs = True + disable_error_code = assignment,union-attr + implicit_optional = True + strict_optional = False + allow_redefinition = True + local_partial_types = True + """.trimIndent() + writeText(configFile, configContent) + } +} + +fun readMypyAnnotationStorageAndInitialErrors( + pythonPath: String, + sourcePath: String, + module: String, + mypyBuildDir: MypyBuildDirectory +): Pair> { + val result = runCommand( + listOf( + pythonPath, + "-X", + "utf8", + "-m", + "utbot_mypy_runner", + "--config", + mypyBuildDir.configFile.absolutePath, + "--sources", + sourcePath.modifyWindowsPath(), + "--modules", + module, + "--annotations_out", + mypyBuildDir.fileForAnnotationStorage.absolutePath, + "--mypy_stdout", + mypyBuildDir.fileForMypyStdout.absolutePath, + "--mypy_stderr", + mypyBuildDir.fileForMypyStderr.absolutePath, + "--mypy_exit_status", + mypyBuildDir.fileForMypyExitStatus.absolutePath, + "--module_for_types", + module + ) + ) + val stderr = if (mypyBuildDir.fileForMypyStderr.exists()) mypyBuildDir.fileForMypyStderr.readText() else null + val stdout = if (mypyBuildDir.fileForMypyStdout.exists()) mypyBuildDir.fileForMypyStdout.readText() else null + val mypyExitStatus = if (mypyBuildDir.fileForMypyExitStatus.exists()) mypyBuildDir.fileForMypyExitStatus.readText() else null + if (result.exitValue != 0 || mypyExitStatus != "0") + error("Something went wrong in initial mypy run. " + + "\nPython stderr ${result.stderr}" + + "\nMypy stderr: $stderr" + + "\nMypy stdout: $stdout") + return Pair( + readMypyInfoBuild(mypyBuildDir), + getErrorsAndNotes(mypyBuildDir.fileForMypyStdout.readText()) + ) +} + +data class MypyReportLine( + val line: Int, + val type: String, + val message: String, + val file: String +) + +fun getErrorNumber(mypyReport: List, filename: String, startLine: Int, endLine: Int) = + mypyReport.count { it.type == "error" && it.file == filename && it.line >= startLine && it.line <= endLine } + +fun getErrorsAndNotes(mypyOutput: String): List { + // logger.debug(mypyOutput) + val regex = Regex("(?m)^([^\n]*):([0-9]*): (error|note): ([^\n]*)\n") + return regex.findAll(mypyOutput).toList().map { match -> + val file = match.groupValues[1] + MypyReportLine( + match.groupValues[2].toInt(), + match.groupValues[3], + match.groupValues[4], + file + ) + } +} + +private fun writeText(file: File, content: String) { + file.parentFile?.mkdirs() + file.writeText(content) + file.createNewFile() +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt new file mode 100644 index 0000000000..0c0c74df05 --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt @@ -0,0 +1,18 @@ +package org.utbot.python.newtyping.mypy + +fun String.modifyWindowsPath(): String { + return if (this.contains(":")) { + val (disk, path) = this.split(":", limit = 2) + "\\\\localhost\\$disk$${path.replace("/", "\\")}" + } else this +} + +/** + * Remove .__init__ suffix if it exists. + It resolves problem with duplication module names in mypy, e.g. mod.__init__ and mod + */ +fun String.dropInitFile(): String { + return if (this.endsWith(".__init__")) { + this.dropLast(9) + } else this +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt new file mode 100644 index 0000000000..45e138e5bf --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt @@ -0,0 +1,13 @@ +package org.utbot.python.newtyping.utils + +import org.utbot.python.newtyping.PythonCallableTypeDescription + +fun getOffsetLine(sourceFileContent: String, offset: Int): Int { + return sourceFileContent.take(offset).count { it == '\n' } + 1 +} + +fun isRequired(kind: PythonCallableTypeDescription.ArgKind) = + listOf(PythonCallableTypeDescription.ArgKind.ARG_POS, PythonCallableTypeDescription.ArgKind.ARG_NAMED).contains(kind) + +fun isNamed(kind: PythonCallableTypeDescription.ArgKind) = + listOf(PythonCallableTypeDescription.ArgKind.ARG_NAMED_OPT, PythonCallableTypeDescription.ArgKind.ARG_NAMED).contains(kind) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt new file mode 100644 index 0000000000..583e0531df --- /dev/null +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt @@ -0,0 +1,42 @@ +package org.utbot.python.utils + +import java.io.BufferedReader +import java.io.InputStreamReader +import java.util.concurrent.TimeUnit + +data class CmdResult( + val stdout: String, + val stderr: String, + val exitValue: Int, + val terminatedByTimeout: Boolean = false +) + +fun startProcess(command: List): Process = ProcessBuilder(command).start() + +fun getResult(process: Process, timeout: Long? = null): CmdResult { + if (timeout != null) { + if (!process.waitFor(timeout, TimeUnit.MILLISECONDS)) { + process.destroy() + return CmdResult("", "", 1, terminatedByTimeout = true) + } + } + + val reader = BufferedReader(InputStreamReader(process.inputStream)) + var stdout = "" + var line: String? = "" + while (line != null) { + stdout += "$line\n" + line = reader.readLine() + } + + if (timeout == null) + process.waitFor() + + val stderr = process.errorStream.readBytes().decodeToString().trimIndent() + return CmdResult(stdout.trimIndent(), stderr, process.exitValue()) +} + +fun runCommand(command: List, timeout: Long? = null): CmdResult { + val process = startProcess(command) + return getResult(process, timeout) +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt new file mode 100644 index 0000000000..14f07f8190 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt @@ -0,0 +1,64 @@ +package org.utbot.python.newtyping + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.mypy.MypyBuildKtTest +import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class PythonCompositeTypeDescriptionTest { + lateinit var storage: MypyInfoBuild + private lateinit var pythonTypeStorage: PythonTypeHintsBuild + @BeforeAll + fun setup() { + val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + storage = readMypyInfoBuildWithoutRoot(sample) + pythonTypeStorage = PythonTypeHintsBuild.get(storage) + } + + @Test + fun testMroForCounter() { + val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() + val counterDescription = counter.pythonDescription() as PythonCompositeTypeDescription + assertTrue( + counterDescription.mro(pythonTypeStorage, counter).map { it.pythonDescription().name.name } == listOf( + "Counter", "dict", "MutableMapping", "Mapping", "Collection", "Iterable", "Container", "object" + ) + ) + val dict = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "dict" }!! + assertTrue(dict.parameters.size == 2) + assertTrue(dict.parameters[0] == counter.parameters[0]) + assertTrue(dict.parameters[1].pythonDescription().name.name == "int") + + val mapping = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "Mapping" }!! + assertTrue(mapping.parameters.size == 2) + assertTrue(mapping.parameters[0] == counter.parameters[0]) + assertTrue(mapping.parameters[1].pythonDescription().name.name == "int") + } + + @Test + fun testMroForObject() { + val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() + val description = obj.pythonDescription() as PythonCompositeTypeDescription + assertTrue( + description.mro(pythonTypeStorage, obj).map { it.pythonDescription().name.name } == listOf("object") + ) + } + + @Test + fun testMroForDeque() { + val deque = storage.definitions["collections"]!!["deque"]!!.getUtBotType() + val description = deque.pythonDescription() as PythonCompositeTypeDescription + assertTrue( + description.mro(pythonTypeStorage, deque).map { it.pythonDescription().name.name } == listOf( + "deque", "MutableSequence", "Sequence", "Collection", "Reversible", "Iterable", "Container", "object" + ) + ) + val iterable = description.mro(pythonTypeStorage, deque).find { it.pythonDescription().name.name == "Iterable" }!! + assertTrue(deque.parameters.size == 1) + assertTrue(iterable.parameters == deque.parameters) + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt new file mode 100644 index 0000000000..55832cb825 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt @@ -0,0 +1,130 @@ +package org.utbot.python.newtyping + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.PythonSubtypeChecker.Companion.checkIfRightIsSubtypeOfLeft +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.TypeParameter +import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class PythonSubtypeCheckerTest { + lateinit var storage: MypyInfoBuild + lateinit var pythonTypeStorage: PythonTypeHintsBuild + @BeforeAll + fun setup() { + val sample = PythonSubtypeCheckerTest::class.java.getResource("/subtypes_sample.json")!!.readText() + storage = readMypyInfoBuildWithoutRoot(sample) + pythonTypeStorage = PythonTypeHintsBuild.get(storage) + } + + @Test + fun testCustomProtocol() { + val protocolP = storage.definitions["subtypes"]!!["P"]!!.getUtBotType() + assertTrue(protocolP.pythonDescription() is PythonProtocolDescription) + val classS = storage.definitions["subtypes"]!!["S"]!!.getUtBotType() + assertTrue(classS.pythonDescription() is PythonConcreteCompositeTypeDescription) + val classS1 = storage.definitions["subtypes"]!!["S1"]!!.getUtBotType() + assertTrue(classS1.pythonDescription() is PythonConcreteCompositeTypeDescription) + assertTrue(checkIfRightIsSubtypeOfLeft(protocolP, classS, pythonTypeStorage)) + assertFalse(checkIfRightIsSubtypeOfLeft(protocolP, classS1, pythonTypeStorage)) + } + + @Test + fun testCustomProtocolWithPossibleInfiniteRecursion() { + val protocolR = storage.definitions["subtypes"]!!["R"]!!.getUtBotType() + assertTrue(protocolR.pythonDescription() is PythonProtocolDescription) + val classRImpl = storage.definitions["subtypes"]!!["RImpl"]!!.getUtBotType() + assertTrue(classRImpl.pythonDescription() is PythonConcreteCompositeTypeDescription) + assertTrue(checkIfRightIsSubtypeOfLeft(protocolR, classRImpl, pythonTypeStorage)) + } + + @Test + fun testVariance() { + val list = storage.definitions["builtins"]!!["list"]!!.getUtBotType() + val frozenset = storage.definitions["builtins"]!!["frozenset"]!!.getUtBotType() + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() + val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() + val listOfInt = DefaultSubstitutionProvider.substitute(list, + mapOf(list.parameters.first() as TypeParameter to int) + ) + val listOfObj = DefaultSubstitutionProvider.substitute(list, + mapOf(list.parameters.first() as TypeParameter to obj) + ) + val listOfAny = DefaultSubstitutionProvider.substitute(list, + mapOf(list.parameters.first() as TypeParameter to pythonAnyType) + ) + val frozensetOfInt = DefaultSubstitutionProvider.substitute(frozenset, + mapOf(frozenset.parameters.first() as TypeParameter to int) + ) + val frozensetOfObj = DefaultSubstitutionProvider.substitute(frozenset, + mapOf(frozenset.parameters.first() as TypeParameter to obj) + ) + + // list is invariant + assertFalse(checkIfRightIsSubtypeOfLeft(listOfObj, listOfInt, pythonTypeStorage)) + assertTrue(checkIfRightIsSubtypeOfLeft(listOfAny, listOfInt, pythonTypeStorage)) + assertTrue(checkIfRightIsSubtypeOfLeft(listOfInt, listOfAny, pythonTypeStorage)) + + // frozenset is covariant + assertTrue(checkIfRightIsSubtypeOfLeft(frozensetOfObj, frozensetOfInt, pythonTypeStorage)) + assertFalse(checkIfRightIsSubtypeOfLeft(frozensetOfInt, frozensetOfObj, pythonTypeStorage)) + } + + @Test + fun testSimpleFunctionWithVariables() { + val b = storage.definitions["subtypes"]!!["b"]!!.getUtBotType() + val func = storage.definitions["subtypes"]!!["func_abs"]!!.getUtBotType() as FunctionType + + assertTrue(checkIfRightIsSubtypeOfLeft(func.arguments[0], b, pythonTypeStorage)) + } + + @Test + fun testSyntheticProtocol() { + val getItemProtocol = createBinaryProtocol("__getitem__", pythonAnyType, pythonAnyType) + val list = DefaultSubstitutionProvider.substituteAll( + storage.definitions["builtins"]!!["list"]!!.getUtBotType(), + listOf(pythonAnyType) + ) + + assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, list, pythonTypeStorage)) + } + + @Test + fun testNumpyArray() { + val numpyArray = storage.definitions["numpy"]!!["ndarray"]!!.getUtBotType() + val numpyArrayOfAny = DefaultSubstitutionProvider.substituteAll(numpyArray, listOf(pythonAnyType, pythonAnyType)) + val getItemProtocol = createBinaryProtocol("__getitem__", pythonTypeStorage.tupleOfAny, pythonAnyType) + + assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, numpyArrayOfAny, pythonTypeStorage)) + } + + @Test + fun testTuple() { + val tuple = storage.definitions["builtins"]!!["tuple"]!!.getUtBotType() + val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() + val float = storage.definitions["builtins"]!!["float"]!!.getUtBotType() + val tupleOfInt = DefaultSubstitutionProvider.substituteAll(tuple, listOf(int)) + val tupleOfIntAndFloat = createPythonTupleType(listOf(int, float)) + + assertTrue(checkIfRightIsSubtypeOfLeft(tupleOfAny, tupleOfIntAndFloat, pythonTypeStorage)) + assertFalse(checkIfRightIsSubtypeOfLeft(tupleOfInt, tupleOfIntAndFloat, pythonTypeStorage)) + } + + @Test + fun testAbstractSet() { + val abstractSet = storage.definitions["typing"]!!["AbstractSet"]!!.getUtBotType() + assertTrue((abstractSet.pythonDescription() as PythonConcreteCompositeTypeDescription).isAbstract) + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() + + val abstractSetOfAny = DefaultSubstitutionProvider.substituteByIndex(abstractSet, 0, pythonAnyType) + val setOfAny = DefaultSubstitutionProvider.substituteByIndex(set, 0, pythonAnyType) + + assertTrue(checkIfRightIsSubtypeOfLeft(abstractSetOfAny, setOfAny, pythonTypeStorage)) + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt new file mode 100644 index 0000000000..34efa8d729 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt @@ -0,0 +1,38 @@ +package org.utbot.python.newtyping + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.mypy.MypyBuildKtTest +import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class PythonTypeConstraintPropagationKtTest { + lateinit var storage: MypyInfoBuild + lateinit var pythonTypeStorage: PythonTypeHintsBuild + @BeforeAll + fun setup() { + val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + storage = readMypyInfoBuildWithoutRoot(sample) + pythonTypeStorage = PythonTypeHintsBuild.get(storage) + } + + @Test + fun testSimpleCompositeTypePropagation() { + val dict = storage.definitions["builtins"]!!["dict"]!!.getUtBotType() + val str = storage.definitions["builtins"]!!["str"]!!.getUtBotType() + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() + val dictOfAny = DefaultSubstitutionProvider.substituteAll(dict, listOf(pythonAnyType, pythonAnyType)) + val dictOfStrToInt = DefaultSubstitutionProvider.substituteAll(dict, listOf(str, int)) + val constraint = TypeConstraint(dictOfStrToInt, ConstraintKind.LowerBound) + val propagated = propagateConstraint(dictOfAny, constraint, pythonTypeStorage) + assertTrue(propagated.size == 2) + assertTrue(PythonTypeWrapperForEqualityCheck(propagated[0]!!.type) == PythonTypeWrapperForEqualityCheck(str)) + assertTrue(propagated[0]!!.kind == ConstraintKind.BothSided) + assertTrue(PythonTypeWrapperForEqualityCheck(propagated[1]!!.type) == PythonTypeWrapperForEqualityCheck(int)) + assertTrue(propagated[1]!!.kind == ConstraintKind.BothSided) + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt new file mode 100644 index 0000000000..f4f7968e36 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt @@ -0,0 +1,60 @@ +package org.utbot.python.newtyping + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.general.TypeParameter +import org.utbot.python.newtyping.mypy.MypyBuildKtTest +import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class PythonTypeWrapperForEqualityCheckTest { + lateinit var storage: MypyInfoBuild + @BeforeAll + fun setup() { + val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + storage = readMypyInfoBuildWithoutRoot(sample) + } + + @Test + fun smokeTest() { + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() + + assert(PythonTypeWrapperForEqualityCheck(int) == PythonTypeWrapperForEqualityCheck(int)) + assert(PythonTypeWrapperForEqualityCheck(int).hashCode() == PythonTypeWrapperForEqualityCheck(int).hashCode()) + assert(PythonTypeWrapperForEqualityCheck(int) != PythonTypeWrapperForEqualityCheck(set)) + assert(PythonTypeWrapperForEqualityCheck(int).hashCode() != PythonTypeWrapperForEqualityCheck(set).hashCode()) + } + + @Test + fun testSubstitutions() { + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() + val set1 = DefaultSubstitutionProvider.substitute(set, emptyMap()) + val setOfInt = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) + val setOfInt1 = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) + + assert(set != set1) + assert(PythonTypeWrapperForEqualityCheck(set) == PythonTypeWrapperForEqualityCheck(set1)) + assert(PythonTypeWrapperForEqualityCheck(set).hashCode() == PythonTypeWrapperForEqualityCheck(set1).hashCode()) + + assert(setOfInt != setOfInt1) + assert(PythonTypeWrapperForEqualityCheck(setOfInt) == PythonTypeWrapperForEqualityCheck(setOfInt1)) + assert(PythonTypeWrapperForEqualityCheck(setOfInt).hashCode() == PythonTypeWrapperForEqualityCheck(setOfInt1).hashCode()) + } + + @Test + fun testBuiltinsModule() { + storage.definitions["builtins"]!!.forEach { (_, def) -> + val type = def.getUtBotType() + val type1 = DefaultSubstitutionProvider.substitute(type, emptyMap()) + assert(type != type1) + assert(PythonTypeWrapperForEqualityCheck(type) == PythonTypeWrapperForEqualityCheck(type1)) + assert(PythonTypeWrapperForEqualityCheck(type).hashCode() == PythonTypeWrapperForEqualityCheck(type1).hashCode()) + } + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt new file mode 100644 index 0000000000..9aff91cba4 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt @@ -0,0 +1,176 @@ +package org.utbot.python.newtyping.general + +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.Assertions.* + +internal class DefaultSubstitutionProviderTest { + @Test + fun test1() { + val unionOfTwo = TypeCreator.create(2, TypeMetaDataWithName(Name(listOf("typing"), "Union"))) {} + + val provider = DefaultSubstitutionProvider + val set = CompositeTypeCreator.create( + numberOfParameters = 1, + TypeMetaDataWithName(Name(listOf("builtins"), "set")) + ) { set -> + val T = set.parameters.first() + CompositeTypeCreator.InitializationData( + members = listOf( + FunctionTypeCreator.create( + numberOfParameters = 1, + TypeMetaData() + ) { self -> + val S = self.parameters.first() + FunctionTypeCreator.InitializationData( + arguments = listOf(provider.substitute(set, mapOf(T to S))), + returnValue = provider.substitute( + set, + mapOf( + T to DefaultSubstitutionProvider.substituteAll(unionOfTwo, listOf(T, S)) + ) + ) + ) + } + ), + supertypes = emptyList() + ) + } + assertTrue(set.members[0] is FunctionType) + val unionMethod = set.members[0] as FunctionType + assertTrue(unionMethod.arguments.size == 1) + assertTrue(unionMethod.arguments[0] is CompositeType) + val setOfS = unionMethod.arguments[0] as CompositeType + assertTrue(setOfS.members.size == 1) + assertTrue(setOfS.members[0] is FunctionType) + assertTrue((setOfS.members[0] as FunctionType).returnValue is CompositeType) + // (setOfS.members[0] as FunctionType).returnValue --- Set> + assertTrue(((setOfS.members[0] as FunctionType).returnValue.parameters[0]).parameters.let { it[0] != it[1] }) + val setOfUnionType = (setOfS.members[0] as FunctionType).returnValue as CompositeType + assertTrue(setOfUnionType.parameters.size == 1) + assertTrue((setOfUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "Union") + assertTrue(setOfUnionType.parameters[0].parameters.size == 2) + assertTrue(setOfUnionType.parameters[0].parameters.all { it is TypeParameter }) + + val compositeTypeDescriptor = CompositeTypeSubstitutionProvider(provider) + val T = set.parameters.first() as TypeParameter + val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} + val setOfInt = compositeTypeDescriptor.substitute( + set, + mapOf(T to int) + ) + assertTrue(setOfInt.members[0] is FunctionType) + val unionMethod1 = setOfInt.members[0] as FunctionType + val innerUnionType = (unionMethod1.returnValue as CompositeType).parameters[0] + assertTrue(innerUnionType.parameters.size == 2) + assertTrue(((innerUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "int")) + assertTrue(innerUnionType.parameters[1] is TypeParameter) + + val setOfSets = compositeTypeDescriptor.substitute(set, mapOf(T to setOfInt)) + assertTrue(setOfSets.members[0] is FunctionType) + val unionMethod2 = setOfSets.members[0] as FunctionType + assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters.size == 2) + assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[0] is CompositeType) + assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[1] is TypeParameter) + } + + @Test + fun testCyclicParameter() { + var classA: CompositeType? = null + val classB = CompositeTypeCreator.create( + 1, + TypeMetaDataWithName(Name(emptyList(), "B")) + ) { classB -> + classA = CompositeTypeCreator.create( + 0, + TypeMetaDataWithName(Name(emptyList(), "A")) + ) { + CompositeTypeCreator.InitializationData( + members = listOf( + FunctionTypeCreator.create( + numberOfParameters = 0, + TypeMetaData() + ) { + FunctionTypeCreator.InitializationData( + arguments = emptyList(), + returnValue = classB + ) + } + ), + supertypes = emptyList() + ) + } + val paramT = classB.parameters.first() + paramT.constraints = setOf( + TypeParameterConstraint(TypeRelation(":"), classA!!) + ) + CompositeTypeCreator.InitializationData( + members = listOf( + FunctionTypeCreator.create( + numberOfParameters = 0, + TypeMetaData() + ) { + FunctionTypeCreator.InitializationData( + arguments = emptyList(), + returnValue = paramT + ) + } + ), + supertypes = listOf(classA!!) + ) + } + + assertTrue(classB.parameters.size == 1) + assertTrue((classB.parameters[0] as TypeParameter).constraints.size == 1) + assertTrue(classB.supertypes.size == 1) + assertTrue(classB.supertypes.first() == classA) + assertTrue((classA as CompositeType).members.size == 1) + assertTrue((classA as CompositeType).members[0] is FunctionType) + + val paramT = classB.parameters.first() as TypeParameter + val bOfA = DefaultSubstitutionProvider.substitute(classB, mapOf(paramT to classA!!)) as CompositeType + assertTrue(bOfA.parameters.size == 1) + assertTrue(bOfA.parameters[0] == classA) + assertTrue(bOfA.members.size == 1) + assertTrue(bOfA.members[0] is FunctionType) + assertTrue((bOfA.members[0] as FunctionType).returnValue == classA) + + val classC = CompositeTypeCreator.create( + numberOfParameters = 0, + TypeMetaDataWithName(Name(emptyList(), "C")) + ) { + CompositeTypeCreator.InitializationData( + members = emptyList(), + supertypes = listOf(bOfA), + ) + } + assertTrue(classC.supertypes.size == 1) + assertTrue(classC.supertypes.first() == bOfA) + } + + @Test + fun testSubstitutionInConstraint() { + val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} + lateinit var classA: UtType + val dummyFunction = FunctionTypeCreator.create( + numberOfParameters = 1, + TypeMetaData() + ) { dummyFunction -> + val typeVarT = dummyFunction.parameters.first() + classA = CompositeTypeCreator.create( + numberOfParameters = 1, + TypeMetaDataWithName(Name(emptyList(), "A")) + ) { classA -> + val param = classA.parameters.first() + param.constraints = setOf(TypeParameterConstraint(TypeRelation(":"), typeVarT)) + CompositeTypeCreator.InitializationData( + members = emptyList(), + supertypes = emptyList() + ) + } + FunctionTypeCreator.InitializationData(arguments = emptyList(), returnValue = classA) + } + val typeVarT = dummyFunction.parameters.first() as TypeParameter + val substituted = DefaultSubstitutionProvider.substitute(classA, mapOf(typeVarT to int)) + assertTrue(substituted.parameters.map { it as TypeParameter }.first().constraints.first().boundary == int) + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt new file mode 100644 index 0000000000..fddb75f36e --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt @@ -0,0 +1,49 @@ +package org.utbot.python.newtyping.mypy + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.general.TypeMetaDataWithName +import org.utbot.python.newtyping.pythonTypeRepresentation + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class GlobalNamesStorageTest { + lateinit var namesStorage: GlobalNamesStorage + @BeforeAll + fun setup() { + val sample = MypyBuildKtTest::class.java.getResource("/imports_sample.json")!!.readText() + namesStorage = GlobalNamesStorage(readMypyInfoBuildWithoutRoot(sample)) + } + + @Test + fun testImportlib1() { + val pathFinderClass = namesStorage.resolveTypeName("import_test", "im.PathFinder") + assertTrue(pathFinderClass is UtType && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") + } + + @Test + fun testImportlib2() { + val pathFinderClass = namesStorage.resolveTypeName("import_test", "importlib.machinery.PathFinder") + assertTrue(pathFinderClass is UtType && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") + } + + @Test + fun testSimpleAsImport() { + val deque = namesStorage.resolveTypeName("import_test", "c.deque") + assertTrue(deque is UtType && deque.pythonTypeRepresentation().startsWith("collections.deque")) + } + + @Test + fun testImportFrom() { + val deque = namesStorage.resolveTypeName("import_test", "deque") + assertTrue(deque is UtType && deque.pythonTypeRepresentation().startsWith("collections.deque")) + } + + @Test + fun testLocal() { + val classA = namesStorage.resolveTypeName("import_test", "A") + assertTrue(classA is UtType && classA.pythonTypeRepresentation() == "import_test.A") + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt new file mode 100644 index 0000000000..c04a1bb9a9 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt @@ -0,0 +1,144 @@ +package org.utbot.python.newtyping.mypy + +import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.TestInstance +import org.utbot.python.newtyping.* +import org.utbot.python.newtyping.general.* + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +internal class MypyBuildKtTest { + lateinit var storage: MypyInfoBuild + lateinit var typeStorage: PythonTypeHintsBuild + lateinit var storageBoruvka: MypyInfoBuild + @BeforeAll + fun setup() { + val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + storage = readMypyInfoBuildWithoutRoot(sample) + typeStorage = PythonTypeHintsBuild.get(storage) + val sample1 = MypyBuildKtTest::class.java.getResource("/boruvka.json")!!.readText() + storageBoruvka = readMypyInfoBuildWithoutRoot(sample1) + } + + @Test + fun testDefinitions() { + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType + assertTrue( + int.getPythonAttributes().map { it.meta.name }.containsAll( + listOf("__add__", "__sub__", "__pow__", "__abs__", "__or__", "__eq__") + ) + ) + + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType + assertTrue( + set.getPythonAttributes().map { it.meta.name }.containsAll( + listOf("add", "copy", "difference", "intersection", "remove", "union") + ) + ) + } + + @Test + fun testUnionMethodOfSet() { + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType + val unionMethod = set.getPythonAttributes().find { it.meta.name == "__or__" }!!.type as FunctionType + assertTrue(unionMethod.parameters.size == 1) + + val setOfUnion = unionMethod.returnValue as CompositeType + assertTrue(setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters.size == 1) + + val unionType = setOfUnion.parameters[0] + assert(unionType.pythonDescription().name == pythonUnionName) + + val s = unionType.parameters[1] as TypeParameter + val paramOfUnionMethod = setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters[0] as TypeParameter + assertTrue(s != paramOfUnionMethod) + } + + @Test + fun testSubstitution() { + val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType + val setOfInts = DefaultSubstitutionProvider.substitute( + set, + mapOf((set.parameters.first() as TypeParameter) to int) + ) as CompositeType + assertTrue(setOfInts.meta is PythonConcreteCompositeTypeDescription) + assertTrue((setOfInts.getPythonAttributes().find { it.meta.name == "add" }!!.type as FunctionType).arguments[1] == int) + } + + @Test + fun testSubstitution2() { + val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() as CompositeType + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType + val counterOfInt = DefaultSubstitutionProvider.substituteByIndex(counter, 0, int) + val subtract = counterOfInt.getPythonAttributeByName(typeStorage, "subtract")!!.type.parameters[2] as FunctionType + val iterable = storage.definitions["typing"]!!["Iterable"]!!.getUtBotType() + val iterableOfInt = DefaultSubstitutionProvider.substituteByIndex(iterable, 0, int) + assertTrue(typesAreEqual(subtract.arguments.last(), iterableOfInt)) + } + + @Test + fun testUserClass() { + val classA = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() as CompositeType + assertTrue(classA.parameters.size == 1) + assertTrue((classA.parameters[0] as TypeParameter).constraints.size == 2) + assertTrue((classA.parameters[0] as TypeParameter).definedAt === classA) + assertTrue( + (classA.parameters[0] as TypeParameter).constraints.any { + it.boundary.pythonDescription().name == classA.pythonDescription().name && it.relation == exactTypeRelation + } + ) + assertTrue( + (classA.parameters[0] as TypeParameter).constraints.all { + it.relation == exactTypeRelation + } + ) + } + + @Test + fun testUserFunction() { + val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType + val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() as FunctionType + assertTrue(square.arguments[0].parameters[0].pythonDescription().name == int.pythonDescription().name) + } + + @Test + fun initializeAllTypes() { + storage.definitions.forEach { (_, contents) -> + contents.forEach { (_, annotation) -> + assert(annotation.getUtBotType().isPythonType()) + } + } + } + + @Test + fun testIncludedDefinitions() { + val defs = storage.definitions["annotation_tests"]!!.keys + assertTrue(listOf("Optional", "collections", "Enum", "Iterable", "list", "int").all { !defs.contains(it) }) + assertTrue(listOf("sequence", "enum_literal", "Color", "A", "tuple_").all { defs.contains(it) }) + } + + @Test + fun testFunctionArgNames() { + val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() + assertTrue( + (square.pythonDescription() as PythonCallableTypeDescription).argumentNames == listOf("collection", "x") + ) + } + + @Test + fun testCustomClassAttributes() { + val A = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() + val attrs = A.getPythonAttributes().map { it.meta.name } + assertTrue(attrs.containsAll(listOf("y", "x", "self_"))) + } + + @Test + fun testTypeAlias() { + val isinstance = storageBoruvka.types["boruvka"]!!.find { it.startOffset == 3731L }!!.type.asUtBotType + val func = isinstance as FunctionType + val classInfo = func.arguments[1] + assertTrue(classInfo.pythonDescription() is PythonTypeAliasDescription) + } +} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json b/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json new file mode 100644 index 0000000000..85e48e520e --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json @@ -0,0 +1 @@ +{"nodeStorage": {"140305627449712": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173904"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682446624"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447072"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447520"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447968"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563360"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563808"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682564256"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565152"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565600"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566048"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566496"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566944"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567392"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567840"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568288"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568736"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569184"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569632"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570080"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570528"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570976"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571424"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571872"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573664"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574112"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574560"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575008"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575456"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576352"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576800"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577248"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577696"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578144"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578592"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682579040"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435168"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435616"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436064"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436512"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436960"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437408"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437856"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174016"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439200"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440544"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440992"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442784"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443680"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444576"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445024"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445472"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305602173904": {"type": "Overloaded", "items": [{"nodeId": "140305682445728"}, {"nodeId": "140305602007712"}]}, "140305682445728": {"type": "Function", "typeVars": [".-1.140305682445728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305682445728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140305719629120": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619585056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901008"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547490272"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714656"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715104"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715552"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716896"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717344"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717792"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718240"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718688"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719136"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719584"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695113504"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114848"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140305619585056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140305627451392": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594848"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427616"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428960"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595072"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595408"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596192"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432544"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432992"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433440"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673322784"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323232"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673324128"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596528"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "isAbstract": false}, "140305602594848": {"type": "Overloaded", "items": [{"nodeId": "140305678424032"}, {"nodeId": "140305678424480"}, {"nodeId": "140305678424928"}, {"nodeId": "140305678425376"}, {"nodeId": "140305678425824"}, {"nodeId": "140305678426272"}, {"nodeId": "140305678426720"}]}, "140305678424032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451392": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, ".2.140305627451392": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, "140305678424480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305678424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619086896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304096"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304544"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "keys"]}, "140305707304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619086896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086896": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "INVARIANT"}, ".2.140305619086896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "COVARIANT"}, "140305719633152": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598339936"}}], "typeVars": [{"nodeId": ".1.140305719633152"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305598339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633152"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633152"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633152": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633152", "variance": "COVARIANT"}, "140305719633488": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598342848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703080832"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305719633488"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633488"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140305598342848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": ".1.140305719633488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719633488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633488", "variance": "COVARIANT"}, "140305703080832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140305707304544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}, {"nodeId": ".1.140305619086896"}], "returnType": {"nodeId": ".2.140305619086896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305678425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595632"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602595632": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305678426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595856"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305602595856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, "140305678426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627451056": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602592944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279264"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279712"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280160"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280608"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281056"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281504"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281952"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678282400"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602593056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678283744"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678284192"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594288"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594400"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678286432"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594624"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419104"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420000"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420448"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423584"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627451056"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627451056"}]}], "isAbstract": false}, "140305602592944": {"type": "Overloaded", "items": [{"nodeId": "140305678278368"}, {"nodeId": "140305678278816"}]}, "140305678278368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451056", "variance": "INVARIANT"}, "140305678278816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678279264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678279712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305627772768": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597898464"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305597898464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627448032": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167744"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690397152"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479968"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547480864"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479744"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399392"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399840"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690400288"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690401632"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547478624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402528"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402976"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403424"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403872"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404320"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407008"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407904"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690408352"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602168864"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682186976"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188320"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188768"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189216"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189664"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190112"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190560"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191008"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191456"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191904"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192352"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192800"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193248"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193696"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194144"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194592"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195040"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195488"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195936"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196384"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197280"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198176"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198624"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199072"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199520"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199968"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167744": {"type": "Overloaded", "items": [{"nodeId": "140305602006816"}, {"nodeId": "140305690396704"}]}, "140305602006816": {"type": "Function", "typeVars": [".-1.140305602006816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169536"}], "returnType": {"nodeId": ".-1.140305602006816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602169536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305602169424"}, {"nodeId": "140305627758992"}, {"nodeId": "140305627772768"}, {"nodeId": "140305619086224"}]}, "140305602169424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619227856": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305619227744"}]}, "140305627766048": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602175136"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447264"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447712"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448160"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448608"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449056"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449504"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450400"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450848"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677566688"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567136"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567584"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568032"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568480"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568928"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569376"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569824"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570272"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570720"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571168"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571616"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572064"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572512"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572960"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573408"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573856"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574304"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574752"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575200"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575648"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576096"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576544"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576992"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577440"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577888"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578336"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578784"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579232"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579680"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580128"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580576"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547737600"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547903712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677581920"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677713696"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602178608"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715040"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715488"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715936"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716384"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716832"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717280"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717728"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718176"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718624"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719072"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719520"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719968"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627764032"}], "isAbstract": false}, "140305602175136": {"type": "Overloaded", "items": [{"nodeId": "140305602008160"}, {"nodeId": "140305677446368"}, {"nodeId": "140305677446816"}]}, "140305602008160": {"type": "Function", "typeVars": [".-1.140305602008160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602179840"}], "returnType": {"nodeId": ".-1.140305602008160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305602179840": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305627760000"}, {"nodeId": "140305602179728"}]}, "140305627760000": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598230848"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__bytes__"]}, "140305598230848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602008160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602008160", "variance": "INVARIANT"}, "140305677446368": {"type": "Function", "typeVars": [".-1.140305677446368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305677446368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140305677446368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446368", "variance": "INVARIANT"}, "140305677446816": {"type": "Function", "typeVars": [".-1.140305677446816"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305677446816"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305677446816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446816", "variance": "INVARIANT"}, "140305677447264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677447712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677448160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180064"}, {"nodeId": "140305602180176"}, {"nodeId": "140305602180288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180064": {"type": "Union", "items": [{"nodeId": "140305602179952"}, {"nodeId": "140305627772768"}]}, "140305602179952": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180176": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180288": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677448608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677449056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180624"}, {"nodeId": "140305602180736"}, {"nodeId": "140305602180848"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180624": {"type": "Union", "items": [{"nodeId": "140305602180400"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602180512"}]}]}, "140305602180400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627450720": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104864"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105760"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272992"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602444560"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274336"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274784"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275232"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275680"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678276128"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627450720"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305627450720"}]}], "isAbstract": false}, "140305678104864": {"type": "Function", "typeVars": [".-1.140305678104864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": ".-1.140305678104864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140305627450720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627450720", "variance": "COVARIANT"}, ".-1.140305678104864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678104864", "variance": "INVARIANT"}, "140305678105312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678105760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719629456": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095904"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442432"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442544"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443328"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443440"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443552"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443664"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678101728"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305678095904": {"type": "Function", "typeVars": [".-1.140305678095904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305678095904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140305678095904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678095904", "variance": "INVARIANT"}, "140305602442432": {"type": "Overloaded", "items": [{"nodeId": "140305678096352"}, {"nodeId": "140305678096800"}]}, "140305678096352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678096800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602442544": {"type": "Overloaded", "items": [{"nodeId": "140305678097248"}, {"nodeId": "140305678097696"}]}, "140305678097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443328": {"type": "Overloaded", "items": [{"nodeId": "140305678098144"}, {"nodeId": "140305678098592"}]}, "140305678098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678098592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443440": {"type": "Overloaded", "items": [{"nodeId": "140305678099040"}, {"nodeId": "140305678099488"}]}, "140305678099040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678099488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443552": {"type": "Overloaded", "items": [{"nodeId": "140305678099936"}, {"nodeId": "140305678100384"}]}, "140305678099936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678100384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443664": {"type": "Overloaded", "items": [{"nodeId": "140305678100832"}, {"nodeId": "140305678101280"}]}, "140305678100832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305602444112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602444112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305602443888": {"type": "Overloaded", "items": [{"nodeId": "140305678106208"}, {"nodeId": "140305678270752"}]}, "140305678106208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627450720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678270752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627450384": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548098048"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548165856"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548166080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443776"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104416"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548165856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548166080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602443776": {"type": "Overloaded", "items": [{"nodeId": "140305678103520"}, {"nodeId": "140305678103968"}]}, "140305678103520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678103968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678104416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305602592832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602592832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305678271200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678271648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602444560": {"type": "Overloaded", "items": [{"nodeId": "140305678273440"}, {"nodeId": "140305678273888"}]}, "140305678273440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678273888": {"type": "Function", "typeVars": [".-1.140305678273888"], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".-1.140305678273888"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305602593168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678273888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678273888", "variance": "INVARIANT"}, "140305602593168": {"type": "Union", "items": [{"nodeId": ".1.140305627450720"}, {"nodeId": ".-1.140305678273888"}]}, "140305678274336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678274784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678275232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678275680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678276128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635973760": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594326752"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327200"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192512"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686193856"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594326752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627447360": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485120"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484672"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484448"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484224"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484000"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483776"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483552"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483328"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305601968304"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126048"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126496"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126944"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127392"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127840"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547482880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695128736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695129184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547485120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967712": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690188864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189312"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191104"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192448"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192896"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193792"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194240"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "isAbstract": false}, "140305690188864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305635967712": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "INVARIANT"}, ".2.140305635967712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "COVARIANT"}, "140305690189312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": ".1.140305635967712"}], "returnType": {"nodeId": ".2.140305635967712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690189760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690191104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690191552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762352": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400640"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401088"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703583808"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584256"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584704"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585600"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762352"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627762352"}]}], "isAbstract": false}, "140305703400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762352"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762352": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762352", "variance": "COVARIANT"}, "140305719638192": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598592640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949168"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589184"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589632"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590080"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590528"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719638192"}]}], "isAbstract": true}, "140305598592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": ".2.140305719638192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719638192": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "INVARIANT"}, ".2.140305719638192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "COVARIANT"}, "140305614949168": {"type": "Overloaded", "items": [{"nodeId": "140305703588288"}, {"nodeId": "140305703588736"}]}, "140305703588288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": "140305614954320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614954320": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": "N"}]}, "140305703588736": {"type": "Function", "typeVars": [".-1.140305703588736"], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}, {"nodeId": "140305614954432"}], "returnType": {"nodeId": "140305614954544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954432": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, ".-1.140305703588736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703588736", "variance": "INVARIANT"}, "140305614954544": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, "140305703589184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762016": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395712"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396160"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396608"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397056"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397952"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398400"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398848"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399744"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305631852048"}]}], "isAbstract": false}, "140305703394816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762016": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, ".2.140305627762016": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, "140305703395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627766720": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326368"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326816"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327264"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327712"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328160"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328608"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329056"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329504"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329952"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330400"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330848"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331744"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332192"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334432"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334880"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335776"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336672"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337568"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338016"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470688"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673471136"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627766720"}], "bases": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305627766720"}]}], "isAbstract": false}, "140305602596976": {"type": "Overloaded", "items": [{"nodeId": "140305673325472"}, {"nodeId": "140305673325920"}]}, "140305673325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627766720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627766720", "variance": "INVARIANT"}, "140305673325920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673327264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673327712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673328160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673328608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673329952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673332192": {"type": "Function", "typeVars": [".-1.140305673332192"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673332192"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673332192": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673332192", "variance": "INVARIANT"}, "140305602599104": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673332192"}]}, "140305673332640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673333088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673333536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673333984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673334432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719637520": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598502208"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703319616"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320064"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320512"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320960"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387648"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388544"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388992"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703389440"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140305719637520"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719637520"}]}], "isAbstract": true}, "140305598502208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719637520": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637520", "variance": "COVARIANT"}, "140305703319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388096": {"type": "Function", "typeVars": [".-1.140305703388096"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388096"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614949952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388096": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388096", "variance": "INVARIANT"}, "140305614949952": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388096"}]}, "140305703388544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388992": {"type": "Function", "typeVars": [".-1.140305703388992"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388992"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614950176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388992", "variance": "INVARIANT"}, "140305614950176": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388992"}]}, "140305703389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305719636512": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598446976"}}], "typeVars": [{"nodeId": ".1.140305719636512"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719636512"}]}, {"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636512"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140305598446976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636512"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719636512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636512", "variance": "COVARIANT"}, "140305719636176": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598444288"}}], "typeVars": [{"nodeId": ".1.140305719636176"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__"]}, "140305598444288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636176"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636176": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636176", "variance": "COVARIANT"}, "140305673334880": {"type": "Function", "typeVars": [".-1.140305673334880"], "argTypes": [{"nodeId": ".-1.140305673334880"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673334880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673334880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673334880", "variance": "INVARIANT"}, "140305673335328": {"type": "Function", "typeVars": [".-1.140305673335328"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673335328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335328": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335328", "variance": "INVARIANT"}, "140305602599216": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673335328"}]}, "140305673335776": {"type": "Function", "typeVars": [".-1.140305673335776"], "argTypes": [{"nodeId": ".-1.140305673335776"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673335776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335776", "variance": "INVARIANT"}, "140305673336224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305602599328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602599328": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": "N"}]}, "140305673336672": {"type": "Function", "typeVars": [".-1.140305673336672"], "argTypes": [{"nodeId": ".-1.140305673336672"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673336672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673336672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673336672", "variance": "INVARIANT"}, "140305673337120": {"type": "Function", "typeVars": [".-1.140305673337120"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673337120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337120", "variance": "INVARIANT"}, "140305602599440": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673337120"}]}, "140305673337568": {"type": "Function", "typeVars": [".-1.140305673337568"], "argTypes": [{"nodeId": ".-1.140305673337568"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673337568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337568", "variance": "INVARIANT"}, "140305673338016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673338464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305719637856": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598503776"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598511392"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703390784"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391232"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391680"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392128"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392576"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393024"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393472"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140305719637856"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "isAbstract": true}, "140305598503776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140305719637856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637856", "variance": "INVARIANT"}, "140305598511392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".1.140305719637856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703392128": {"type": "Function", "typeVars": [".-1.140305703392128"], "argTypes": [{"nodeId": ".-1.140305703392128"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703392128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392128", "variance": "INVARIANT"}, "140305703392576": {"type": "Function", "typeVars": [".-1.140305703392576"], "argTypes": [{"nodeId": ".-1.140305703392576"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703392576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392576", "variance": "INVARIANT"}, "140305703393024": {"type": "Function", "typeVars": [".-1.140305703393024"], "argTypes": [{"nodeId": ".-1.140305703393024"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703393024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393024", "variance": "INVARIANT"}, "140305703393472": {"type": "Function", "typeVars": [".-1.140305703393472"], "argTypes": [{"nodeId": ".-1.140305703393472"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703393472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393472", "variance": "INVARIANT"}, "140305614951072": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703395712": {"type": "Function", "typeVars": [".-1.140305703395712"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703395712"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703395712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703395712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703395712", "variance": "INVARIANT"}, "140305703396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951296"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951296": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951520"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951520": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397504": {"type": "Function", "typeVars": [".-1.140305703397504"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397504"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951856"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397504": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397504", "variance": "INVARIANT"}, "140305614951856": {"type": "Union", "items": [{"nodeId": "140305614951744"}, {"nodeId": ".-1.140305703397504"}]}, "140305614951744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397952": {"type": "Function", "typeVars": [".-1.140305703397952"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397952"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397952", "variance": "INVARIANT"}, "140305614952192": {"type": "Union", "items": [{"nodeId": "140305614952080"}, {"nodeId": ".-1.140305703397952"}]}, "140305614952080": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614952528": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398848": {"type": "Function", "typeVars": [".-1.140305703398848"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703398848"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703398848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703398848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703398848", "variance": "INVARIANT"}, "140305703399296": {"type": "Function", "typeVars": [".-1.140305703399296"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399296"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399296", "variance": "INVARIANT"}, "140305614952864": {"type": "Union", "items": [{"nodeId": "140305614952752"}, {"nodeId": ".-1.140305703399296"}]}, "140305614952752": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703399744": {"type": "Function", "typeVars": [".-1.140305703399744"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399744"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399744", "variance": "INVARIANT"}, "140305614953200": {"type": "Union", "items": [{"nodeId": "140305614953088"}, {"nodeId": ".-1.140305703399744"}]}, "140305614953088": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305627761680": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394368"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140305627760672"}], "isAbstract": false}, "140305703393920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305703394368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627760672": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598337920"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__len__"]}, "140305598337920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305631852048": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703589632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703590080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762688": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703587392"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627762688"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305627762688"}]}], "isAbstract": false}, "140305703586048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762688": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762688", "variance": "COVARIANT"}, "140305703586496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703586944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703587392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703590528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401088": {"type": "Function", "typeVars": [".-1.140305703401088"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703401088"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703401088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703401088": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703401088", "variance": "INVARIANT"}, "140305703401536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402880": {"type": "Function", "typeVars": [".-1.140305703402880"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703402880"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703402880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703402880", "variance": "INVARIANT"}, "140305614953536": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703402880"}]}, "140305703583808": {"type": "Function", "typeVars": [".-1.140305703583808"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703583808"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703583808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703583808", "variance": "INVARIANT"}, "140305614953648": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703583808"}]}, "140305703584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703584704": {"type": "Function", "typeVars": [".-1.140305703584704"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703584704"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703584704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703584704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703584704", "variance": "INVARIANT"}, "140305703585152": {"type": "Function", "typeVars": [".-1.140305703585152"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585152"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585152", "variance": "INVARIANT"}, "140305614953872": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585152"}]}, "140305703585600": {"type": "Function", "typeVars": [".-1.140305703585600"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585600"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585600", "variance": "INVARIANT"}, "140305614953984": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585600"}]}, "140305690192000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305690193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690193792": {"type": "Function", "typeVars": [".-1.140305690193792", ".-2.140305690193792"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690193792"}, {"nodeId": ".-2.140305690193792"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962160"}, {"nodeId": "140305614962272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690193792": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, ".-2.140305690193792": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, "140305614962160": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690193792"}]}, "140305614962272": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690193792"}]}, "140305690194240": {"type": "Function", "typeVars": [".-1.140305690194240", ".-2.140305690194240"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690194240"}, {"nodeId": ".-2.140305690194240"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962384"}, {"nodeId": "140305614962496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690194240": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, ".-2.140305690194240": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, "140305614962384": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690194240"}]}, "140305614962496": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690194240"}]}, "140305547484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305602167296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602167296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305547483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606901456": {"type": "Overloaded", "items": [{"nodeId": "140305695124256"}, {"nodeId": "140305695124704"}]}, "140305695124256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695124704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140305601968304": {"type": "Overloaded", "items": [{"nodeId": "140305695125152"}, {"nodeId": "140305695125600"}]}, "140305695125152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305695125600": {"type": "Function", "typeVars": [".-1.140305695125600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305695125600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140305695125600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695125600", "variance": "INVARIANT"}, "140305695126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305695126496": {"type": "Function", "typeVars": [".-1.140305695126496"], "argTypes": [{"nodeId": ".-1.140305695126496"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305695126496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305695126496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695126496", "variance": "INVARIANT"}, "140305695126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547482880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140305695128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635974432": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594329888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195200"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195648"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594329888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686195200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686195648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305695129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305594327200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594327424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140305686192512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686193856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719636848": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614947712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703310656"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311104"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312448"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305719636848"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719636848"}]}], "isAbstract": true}, "140305614947712": {"type": "Overloaded", "items": [{"nodeId": "140305703309760"}, {"nodeId": "140305703310208"}]}, "140305703309760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719636848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636848", "variance": "COVARIANT"}, "140305703310208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703310656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140305703311104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703311552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703312000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703312448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305719633824": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598345088"}}], "typeVars": [{"nodeId": ".1.140305719633824"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633824"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140305598345088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719633824"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633824": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633824", "variance": "COVARIANT"}, "140305602180512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180736": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180848": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677449504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677450400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181072"}, {"nodeId": "140305602181184"}, {"nodeId": "140305602181296"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181072": {"type": "Union", "items": [{"nodeId": "140305602180960"}, {"nodeId": "140305627772768"}]}, "140305602180960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181296": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677450848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181408"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602181408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181632"}, {"nodeId": "140305602181744"}, {"nodeId": "140305602181856"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181632": {"type": "Union", "items": [{"nodeId": "140305602181520"}, {"nodeId": "140305627772768"}]}, "140305602181520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181744": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181856": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677567136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677567584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602181968"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602181968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677571168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602182080"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602182080": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305627766384": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602179616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722208"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723104"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723552"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724000"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724448"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724896"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677725344"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726240"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726688"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677727136"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728480"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728928"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677729376"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677844768"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845216"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845664"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846112"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846560"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847008"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847456"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847904"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848352"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848800"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849248"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850144"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850592"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851040"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851488"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851936"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852384"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852832"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853280"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853728"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854176"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854624"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855072"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855520"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855968"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856416"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856864"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857312"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857760"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677858208"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547911776"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547910656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677859552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677860000"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602432352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602433136"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677993568"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994016"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602018240"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995360"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995808"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996256"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998496"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999392"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999840"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627764032"}], "isAbstract": false}, "140305602179616": {"type": "Overloaded", "items": [{"nodeId": "140305677720864"}, {"nodeId": "140305677721312"}, {"nodeId": "140305677721760"}]}, "140305677720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602433360": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305602433248"}]}, "140305602433248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140305677722208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677722656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677723104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677723552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433584"}, {"nodeId": "140305602433696"}, {"nodeId": "140305602433808"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602433584": {"type": "Union", "items": [{"nodeId": "140305602433472"}, {"nodeId": "140305627772768"}]}, "140305602433472": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602433696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602433808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677724000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677724448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677724896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434144"}, {"nodeId": "140305602434256"}, {"nodeId": "140305602434368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434144": {"type": "Union", "items": [{"nodeId": "140305602433920"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602434032"}]}]}, "140305602433920": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434032": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434256": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434368": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677725344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677726240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677726688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434592"}, {"nodeId": "140305602434704"}, {"nodeId": "140305602434816"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434592": {"type": "Union", "items": [{"nodeId": "140305602434480"}, {"nodeId": "140305627772768"}]}, "140305602434480": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434704": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434816": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677727136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434928"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602434928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677728032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435152"}, {"nodeId": "140305602435264"}, {"nodeId": "140305602435376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602435152": {"type": "Union", "items": [{"nodeId": "140305602435040"}, {"nodeId": "140305627772768"}]}, "140305602435040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602435264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602435376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677728480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305677728928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677729376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677844768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602435488"}]}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435488": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602435600"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602435600": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435824"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602435824": {"type": "Union", "items": [{"nodeId": "140305602435712"}, {"nodeId": "N"}]}, "140305602435712": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435936"}], "returnType": {"nodeId": "140305602436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435936": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436160": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305677850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436272"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436272": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436496"}, {"nodeId": "140305602436608"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436608": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436832"}, {"nodeId": "140305602436944"}, {"nodeId": "140305602437056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436832": {"type": "Union", "items": [{"nodeId": "140305602436720"}, {"nodeId": "140305627772768"}]}, "140305602436720": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436944": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437056": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437280"}, {"nodeId": "140305602437392"}, {"nodeId": "140305602437504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602437280": {"type": "Union", "items": [{"nodeId": "140305602437168"}, {"nodeId": "140305627772768"}]}, "140305602437168": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437392": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437504": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602437616"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602437616": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677853280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437728"}], "returnType": {"nodeId": "140305602437952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602437728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437952": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677853728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438176"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438176": {"type": "Union", "items": [{"nodeId": "140305602438064"}, {"nodeId": "N"}]}, "140305602438064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438400"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602438400": {"type": "Union", "items": [{"nodeId": "140305602438288"}, {"nodeId": "N"}]}, "140305602438288": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438624"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438624": {"type": "Union", "items": [{"nodeId": "140305602438512"}, {"nodeId": "N"}]}, "140305602438512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677855072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677855520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438960"}, {"nodeId": "140305602439072"}, {"nodeId": "140305602439184"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602438960": {"type": "Union", "items": [{"nodeId": "140305602438736"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602438848"}]}]}, "140305602438736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602438848": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439072": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602439184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677855968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439408"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602439408": {"type": "Union", "items": [{"nodeId": "140305602439296"}, {"nodeId": "N"}]}, "140305602439296": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677856416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677856864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677857312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439632"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602439632": {"type": "Union", "items": [{"nodeId": "140305602439520"}, {"nodeId": "N"}]}, "140305602439520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677857760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677858208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547911776": {"type": "Function", "typeVars": [".-1.140305547911776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547911776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547911776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547911776", "variance": "INVARIANT"}, "140305547910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602439744"}, {"nodeId": "140305602439856"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602439744": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677859552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677860000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602432352": {"type": "Overloaded", "items": [{"nodeId": "140305677860448"}, {"nodeId": "140305677992224"}]}, "140305677860448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677992224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602433136": {"type": "Overloaded", "items": [{"nodeId": "140305677992672"}, {"nodeId": "140305677993120"}]}, "140305677992672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305677993120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602440192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602440192": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627766048"}]}, "140305677993568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440304": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677994016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440416"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602018240": {"type": "Function", "typeVars": [".-1.140305602018240"], "argTypes": [{"nodeId": ".-1.140305602018240"}, {"nodeId": "140305602440528"}], "returnType": {"nodeId": ".-1.140305602018240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602018240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602018240", "variance": "INVARIANT"}, "140305602440528": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677994912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995808": {"type": "Function", "typeVars": [".-1.140305677995808"], "argTypes": [{"nodeId": ".-1.140305677995808"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305677995808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305677995808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677995808", "variance": "INVARIANT"}, "140305677996256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677996704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440864"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440864": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602440752"}]}, "140305602440752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677997152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677997600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677998048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440976"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441088": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441200": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441312"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441312": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719637184": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598500192"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948720"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949056"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316032"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316480"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316928"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317376"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317824"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318272"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318720"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140305719637184"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719637184"}]}], "isAbstract": true}, "140305598500192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140305719637184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637184", "variance": "INVARIANT"}, "140305614948160": {"type": "Overloaded", "items": [{"nodeId": "140305703313344"}, {"nodeId": "140305703313792"}]}, "140305703313344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614948720": {"type": "Overloaded", "items": [{"nodeId": "140305703314240"}, {"nodeId": "140305703314688"}]}, "140305703314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305703314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305614949056": {"type": "Overloaded", "items": [{"nodeId": "140305703315136"}, {"nodeId": "140305703315584"}]}, "140305703315136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140305703317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140305703318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703318720": {"type": "Function", "typeVars": [".-1.140305703318720"], "argTypes": [{"nodeId": ".-1.140305703318720"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": ".-1.140305703318720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703318720": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703318720", "variance": "INVARIANT"}, "140305627764032": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": true}, "140305677571616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677572064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182304"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602182304": {"type": "Union", "items": [{"nodeId": "140305602182192"}, {"nodeId": "N"}]}, "140305602182192": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677572512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182416"}], "returnType": {"nodeId": "140305602182640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182640": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677572960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182752"}, {"nodeId": "140305602182864"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602182752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182864": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182976"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602428992"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602428992": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677574304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429216"}, {"nodeId": "140305602429328"}, {"nodeId": "140305602429440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429216": {"type": "Union", "items": [{"nodeId": "140305602429104"}, {"nodeId": "140305627772768"}]}, "140305602429104": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429328": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429440": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677574752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429664"}, {"nodeId": "140305602429776"}, {"nodeId": "140305602429888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429664": {"type": "Union", "items": [{"nodeId": "140305602429552"}, {"nodeId": "140305627772768"}]}, "140305602429552": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429776": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429888": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677575200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602430000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602430000": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677575648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430112"}], "returnType": {"nodeId": "140305602430336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602430112": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602430336": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677576096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430560"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602430560": {"type": "Union", "items": [{"nodeId": "140305602430448"}, {"nodeId": "N"}]}, "140305602430448": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430784"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602430784": {"type": "Union", "items": [{"nodeId": "140305602430672"}, {"nodeId": "N"}]}, "140305602430672": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431008"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602431008": {"type": "Union", "items": [{"nodeId": "140305602430896"}, {"nodeId": "N"}]}, "140305602430896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677577440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677577888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431344"}, {"nodeId": "140305602431456"}, {"nodeId": "140305602431568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602431344": {"type": "Union", "items": [{"nodeId": "140305602431120"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602431232"}]}]}, "140305602431120": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431232": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431456": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602431568": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677578336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431792"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602431792": {"type": "Union", "items": [{"nodeId": "140305602431680"}, {"nodeId": "N"}]}, "140305602431680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677578784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432016"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602432016": {"type": "Union", "items": [{"nodeId": "140305602431904"}, {"nodeId": "N"}]}, "140305602431904": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677580128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677580576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547737600": {"type": "Function", "typeVars": [".-1.140305547737600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547737600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547737600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547737600", "variance": "INVARIANT"}, "140305547903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602432128"}, {"nodeId": "140305602432240"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432128": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602432240": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677581920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178608": {"type": "Overloaded", "items": [{"nodeId": "140305677714144"}, {"nodeId": "140305677714592"}]}, "140305677714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432464"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432464": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432800": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602432688"}]}, "140305602432688": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305602433024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602433024": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}]}, "140305619227744": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305619229200": {"type": "Union", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450048"}, {"nodeId": "140305619080176", "args": [{"nodeId": "A"}]}, {"nodeId": "140305628004416"}, {"nodeId": "140305618824416"}, {"nodeId": "140305635980480"}]}, "140305627450048": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084608"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084832"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085056"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085280"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085504"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085728"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085952"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086176"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086400"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086624"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678005664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006112"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006560"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678007008"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602439968"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678091424"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602440080"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678092768"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678093664"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094112"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094560"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095008"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441424": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441536": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441648": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441760": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305548086176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305602441872": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678006112": {"type": "Function", "typeVars": [".-1.140305678006112"], "argTypes": [{"nodeId": ".-1.140305678006112"}], "returnType": {"nodeId": ".-1.140305678006112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305678006112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678006112", "variance": "INVARIANT"}, "140305678006560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441984"}, {"nodeId": "140305602442096"}, {"nodeId": "140305602442208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305602441984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602442096": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627455424": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055632"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055296"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674268768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269216"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269664"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632055632": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632055296": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632054512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972416": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849792"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849360"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268384"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268832"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594269056"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305685849792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}, {"nodeId": "140305615232400"}, {"nodeId": "140305635972752"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140305615232400": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972752": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594319584"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320256"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320480"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320704"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320928"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321152"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321376"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631426176"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685854720"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594319584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232512": {"type": "Union", "items": [{"nodeId": "140305635972752"}, {"nodeId": "N"}]}, "140305594320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967376": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593935104"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936448"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936000"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936672"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936896"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937120"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937344"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937568"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937792"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938016"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938240"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938464"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938688"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938912"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939136"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939360"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593940032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690183936"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690186176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690187968"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305593935104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593940032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690183936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614961936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614961936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305614961712"}]}, "140305614961712": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690186176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140305690187968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140305594320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305594321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631426176": {"type": "Union", "items": [{"nodeId": "140305643944000"}, {"nodeId": "N"}]}, "140305643944000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305685854720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305594268384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594268832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674268768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305674269216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305602936528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602936528": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305674269664": {"type": "Function", "typeVars": [".-1.140305674269664"], "argTypes": [{"nodeId": ".-1.140305674269664"}, {"nodeId": "140305602936640"}], "returnType": {"nodeId": ".-1.140305674269664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305674269664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674269664", "variance": "INVARIANT"}, "140305602936640": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305602442208": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305678007008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602442320"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140305602442320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}]}, "140305602439968": {"type": "Overloaded", "items": [{"nodeId": "140305678007456"}, {"nodeId": "140305678007904"}]}, "140305678007456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678007904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678091424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602440080": {"type": "Overloaded", "items": [{"nodeId": "140305678091872"}, {"nodeId": "140305678092320"}]}, "140305678091872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602442656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602442656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678092320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678092768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443216"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140305602443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305678093664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678095008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443104"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602443104": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305619080176": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560668640"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560670432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888352"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665305600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306048"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306496"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306944"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307392"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307840"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308288"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308736"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309184"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425920"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426368"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426816"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427264"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427712"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665428160"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665429504"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888464"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606898768"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665431744"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432192"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432640"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433088"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433536"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434432"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434880"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435328"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435776"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436224"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436672"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140305619080176"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305619080176"}]}], "isAbstract": false}, "140305560668640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080176": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627449712"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080176", "variance": "INVARIANT"}, "140305627448368": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602007488"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682200864"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201312"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201760"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547654336"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654560"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318496"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319392"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320288"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320736"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321632"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602169312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682322976"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323424"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323872"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324320"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324768"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325216"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325664"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174240"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327456"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327904"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328352"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328800"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173232"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330144"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330592"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331040"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331936"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332832"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682333280"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432288"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432736"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433184"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433632"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602007488": {"type": "Function", "typeVars": [".-1.140305602007488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602172672"}], "returnType": {"nodeId": ".-1.140305602007488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602172672": {"type": "Union", "items": [{"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602172560"}]}, "140305627759328": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598228160"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__float__"]}, "140305598228160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759328"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602172560": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007488", "variance": "INVARIANT"}, "140305682200864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602172896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305682201312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682201760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654336": {"type": "Function", "typeVars": [".-1.140305547654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547654336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547654336", "variance": "INVARIANT"}, "140305547654560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602173120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602169312": {"type": "Overloaded", "items": [{"nodeId": "140305682322080"}, {"nodeId": "140305682322528"}]}, "140305682322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602173568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602174240": {"type": "Overloaded", "items": [{"nodeId": "140305682326112"}, {"nodeId": "140305682326560"}, {"nodeId": "140305682327008"}]}, "140305682326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602173792"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602173792": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305619236816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305682326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602177040"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602177040": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305619583152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305627448704": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602176256"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547725952"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547726848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682436768"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437664"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438112"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438560"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439008"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439456"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439904"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440352"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440800"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441248"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442144"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442592"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443040"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443488"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443936"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602176256": {"type": "Overloaded", "items": [{"nodeId": "140305682434080"}, {"nodeId": "140305682434528"}]}, "140305682434080": {"type": "Function", "typeVars": [".-1.140305682434080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174128"}, {"nodeId": "140305602174464"}], "returnType": {"nodeId": ".-1.140305682434080"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140305602174128": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, "140305627759664": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598229504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__complex__"]}, "140305598229504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759664"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602174464": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, ".-1.140305682434080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434080", "variance": "INVARIANT"}, "140305682434528": {"type": "Function", "typeVars": [".-1.140305682434528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174576"}], "returnType": {"nodeId": ".-1.140305682434528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140305602174576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627448704"}]}, ".-1.140305682434528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434528", "variance": "INVARIANT"}, "140305547725952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547726848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682436768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682437216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682437664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682439008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682441248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682441696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}]}, "140305682327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173232": {"type": "Overloaded", "items": [{"nodeId": "140305682329248"}, {"nodeId": "140305682329696"}]}, "140305682329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897200": {"type": "TypeAlias", "target": {"nodeId": "140305619109584"}}, "140305619109584": {"type": "Union", "items": [{"nodeId": "140305631854176"}, {"nodeId": "140305631854400"}, {"nodeId": "140305619108128"}]}, "140305631854176": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305619109472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305631854400": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305627332416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305619108128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305560670432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606888352": {"type": "Overloaded", "items": [{"nodeId": "140305606273600"}, {"nodeId": "140305665303808"}, {"nodeId": "140305665304256"}, {"nodeId": "140305665304704"}, {"nodeId": "140305665305152"}]}, "140305606273600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305606897424"}, {"nodeId": "140305606897536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897424": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305606897536": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}]}, "140305665303808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305606898432"}, {"nodeId": "140305606897312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898432": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305606897312": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448368"}]}]}, "140305665304256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305606898656"}, {"nodeId": "140305606898320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305606898320": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}]}, "140305665304704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305606897760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897760": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305665305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665306048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305665306496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606897984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606897984": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305665308288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619088240", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305619088240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307232"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140305619088240"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read"]}, "140305707307232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088240", "args": [{"nodeId": ".1.140305619088240"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088240", "variance": "COVARIANT"}, "140305665308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305665425472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665425920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665426368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665426816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665427264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619089248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308576"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140305619089248"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["write"]}, "140305707308576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619089248"}]}, {"nodeId": ".1.140305619089248"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619089248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089248", "variance": "CONTRAVARIANT"}, "140305665427712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665428160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665429504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606888464": {"type": "Overloaded", "items": [{"nodeId": "140305665429952"}, {"nodeId": "140305665430400"}]}, "140305665429952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665430400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898768": {"type": "Overloaded", "items": [{"nodeId": "140305665430848"}, {"nodeId": "140305665431296"}]}, "140305665430848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606898544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898544": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305665432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665432640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433536": {"type": "Function", "typeVars": [".-1.140305665433536"], "argTypes": [{"nodeId": ".-1.140305665433536"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": ".-1.140305665433536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433536", "variance": "INVARIANT"}, "140305665433984": {"type": "Function", "typeVars": [".-1.140305665433984"], "argTypes": [{"nodeId": ".-1.140305665433984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305665433984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433984", "variance": "INVARIANT"}, "140305665434432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665436224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665436672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305628004416": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665832800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833248"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833696"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665834592"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283424"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283872"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284320"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284768"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285216"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285664"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286112"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286560"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287008"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287456"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288352"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288800"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610833616"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656290144"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610997456"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292832"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627760672"}], "isAbstract": false}, "140305665832800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140305665833248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665833696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140305665834592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140305656283424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656283872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656284320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140305656284768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140305656285216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656285664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656286112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140305656286560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656287008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140305656287456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065040"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656287904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065152"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065152": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656288352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065264"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305611065264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656288800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140305611065376": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610833616": {"type": "Overloaded", "items": [{"nodeId": "140305656289248"}, {"nodeId": "140305656289696"}]}, "140305656289248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656289696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656290144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611065600": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610997456": {"type": "Overloaded", "items": [{"nodeId": "140305656290592"}, {"nodeId": "140305656291040"}]}, "140305656290592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656291040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}, {"nodeId": "140305611065824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611065824": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656291488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656291936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656292384": {"type": "Function", "typeVars": [".-1.140305656292384"], "argTypes": [{"nodeId": ".-1.140305656292384"}], "returnType": {"nodeId": ".-1.140305656292384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305656292384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656292384", "variance": "INVARIANT"}, "140305656292832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618824416": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418224"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569021088"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569136704"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569137600"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569138720"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569139168"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631418224": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305569021088": {"type": "Function", "typeVars": [".-1.140305569021088"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336784"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569021088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336784": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, ".-1.140305569021088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569021088", "variance": "INVARIANT"}, "140305569136704": {"type": "Function", "typeVars": [".-1.140305569136704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336896"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569136704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305569136704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569136704", "variance": "INVARIANT"}, "140305569137600": {"type": "Function", "typeVars": [".-1.140305569137600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569137600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140305569137600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569137600", "variance": "INVARIANT"}, "140305569138720": {"type": "Function", "typeVars": [".-1.140305569138720"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305606337120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140305606337120": {"type": "Union", "items": [{"nodeId": ".-1.140305569138720"}, {"nodeId": "140305618826432"}]}, ".-1.140305569138720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569138720", "variance": "INVARIANT"}, "140305618826432": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305569139168": {"type": "Function", "typeVars": [".-1.140305569139168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305569139168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140305618823408": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618824416"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665437792"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665438688"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439136"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665437792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305606336336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606336448"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606336560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140305606336336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606336448": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606336560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305665438688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618825760": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305618825424"}], "isAbstract": false}, "140305618825424": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305686131904"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627323456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334320"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665676384"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, "140305686131904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305640400576"}, {"nodeId": "N"}]}, "140305640400576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627323456": {"type": "TypeAlias", "target": {"nodeId": "140305643937728"}}, "140305643937728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305694785936"}, {"nodeId": "140305618825424"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305618824416"}]}], "returnType": {"nodeId": "140305618824416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305694785936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606334320": {"type": "Overloaded", "items": [{"nodeId": "140305665674592"}, {"nodeId": "140305665675040"}, {"nodeId": "140305665675488"}, {"nodeId": "140305665675936"}]}, "140305665674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140305665675040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606265984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140305606265984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305665675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606337792"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606337904"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140305606337792": {"type": "Tuple", "items": [{"nodeId": "140305606337456"}, {"nodeId": "140305618823408"}]}, "140305606337456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305606337904": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305627320768": {"type": "Union", "items": [{"nodeId": "140305627324800"}, {"nodeId": "140305627321440"}, {"nodeId": "140305627320880"}]}, "140305627324800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305627321440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627320880": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305665675936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606338240"}]}, {"nodeId": "140305614570544", "args": [{"nodeId": "140305618944064"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140305606338240": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305614570544": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614570544"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334432"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606338016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665686688"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140305614570544"}], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305614570544": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570544", "variance": "INVARIANT"}, "140305606334432": {"type": "Overloaded", "items": [{"nodeId": "140305665684896"}, {"nodeId": "140305665685344"}]}, "140305665684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": ".1.140305614570544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140305606338016": {"type": "Overloaded", "items": [{"nodeId": "140305665685792"}, {"nodeId": "140305665686240"}]}, "140305665685792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305618825088": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824752"}], "isAbstract": false}, "140305618824752": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305618944064": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618826768": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618826768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822048"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305618826768"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305618826768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618826768", "variance": "INVARIANT"}, "140305665822048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618826768"}]}, {"nodeId": ".1.140305618826768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305665676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305665439136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305569139168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569139168", "variance": "INVARIANT"}, "140305635980480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295072"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295520"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305656294624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}, {"nodeId": "140305610608416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140305610608416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627758992": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598227264"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__int__"]}, "140305598227264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627758992"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619086224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303200"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__trunc__"]}, "140305707303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305602006816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602006816", "variance": "INVARIANT"}, "140305690396704": {"type": "Function", "typeVars": [".-1.140305690396704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169648"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305690396704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140305602169648": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, ".-1.140305690396704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690396704", "variance": "INVARIANT"}, "140305690397152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602169984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602169984": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "0"}]}, "140305547479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547480864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690400288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690401632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602170544"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140305602170544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305547478624": {"type": "Function", "typeVars": [".-1.140305547478624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602170768"}, {"nodeId": "140305602171104"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305547478624"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140305602170768": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627760000"}, {"nodeId": "140305602170656"}]}, "140305602170656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602171104": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140305547478624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547478624", "variance": "INVARIANT"}, "140305690402528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690402976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690405216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602171328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305690405664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690408352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602171552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305602168864": {"type": "Overloaded", "items": [{"nodeId": "140305690408800"}, {"nodeId": "140305690409248"}, {"nodeId": "140305690409696"}, {"nodeId": "140305690410144"}, {"nodeId": "140305690410592"}, {"nodeId": "140305682186528"}]}, "140305690408800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690409248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305690409696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602172224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602172224": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305690410144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602175024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602175024": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305690410592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305682186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305602174912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602174912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305682187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682193248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682193696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682195040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602172448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305682195488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682195936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682198176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682198624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682199968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678281056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678281504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678281952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305678282400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602593056": {"type": "Overloaded", "items": [{"nodeId": "140305678282848"}, {"nodeId": "140305678283296"}]}, "140305678282848": {"type": "Function", "typeVars": [".-1.140305678282848"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678282848"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305678282848": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305678282848", "variance": "INVARIANT"}, "140305619697360": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305619081520": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318560"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140305619081520"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__lt__"]}, "140305669318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081520", "args": [{"nodeId": ".1.140305619081520"}]}, {"nodeId": ".1.140305619081520"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081520": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081520", "variance": "CONTRAVARIANT"}, "140305619081856": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319008"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305619081856"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__gt__"]}, "140305669319008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081856", "args": [{"nodeId": ".1.140305619081856"}]}, {"nodeId": ".1.140305619081856"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081856": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081856", "variance": "CONTRAVARIANT"}, "140305678283296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602560960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305602560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305602594736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594736": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305619112384": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305678283744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678284192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594288": {"type": "Overloaded", "items": [{"nodeId": "140305678284640"}, {"nodeId": "140305678285088"}]}, "140305678284640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678285088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594400": {"type": "Overloaded", "items": [{"nodeId": "140305678285536"}, {"nodeId": "140305678285984"}]}, "140305678285536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678285984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678286432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602594960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594960": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305602594624": {"type": "Overloaded", "items": [{"nodeId": "140305678418208"}, {"nodeId": "140305678418656"}]}, "140305678418208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678418656": {"type": "Function", "typeVars": [".-1.140305678418656"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678418656"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305602595184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678418656": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678418656", "variance": "INVARIANT"}, "140305602595184": {"type": "Union", "items": [{"nodeId": ".-1.140305678418656"}, {"nodeId": ".1.140305627451056"}]}, "140305678419104": {"type": "Function", "typeVars": [".-1.140305678419104"], "argTypes": [{"nodeId": ".-1.140305678419104"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": ".-1.140305678419104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678419104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678419104", "variance": "INVARIANT"}, "140305678419552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420448": {"type": "Function", "typeVars": [".-1.140305678420448"], "argTypes": [{"nodeId": ".-1.140305678420448"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305678420448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678420448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678420448", "variance": "INVARIANT"}, "140305678420896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678421344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678421792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305678427168": {"type": "Function", "typeVars": [".-1.140305678427168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305678427168"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140305678427168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678427168", "variance": "INVARIANT"}, "140305678427616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765040": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556277280"}}], "typeVars": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627765040"}]}], "isAbstract": false}, "140305556277280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765040": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, ".2.140305627765040": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, "140305678428512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765376": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556289376"}}], "typeVars": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305627765376"}]}], "isAbstract": false}, "140305556289376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765376": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, ".2.140305627765376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, "140305678428960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765712": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556223392"}}], "typeVars": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "isAbstract": false}, "140305556223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765712": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, ".2.140305627765712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, "140305602595072": {"type": "Overloaded", "items": [{"nodeId": "140305678429408"}, {"nodeId": "140305678429856"}]}, "140305678429408": {"type": "Function", "typeVars": [".-1.140305678429408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429408"}, {"nodeId": "140305602596416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140305678429408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429408", "variance": "INVARIANT"}, "140305602596416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305678429856": {"type": "Function", "typeVars": [".-1.140305678429856", ".-2.140305678429856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429856"}]}, {"nodeId": ".-2.140305678429856"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429856"}, {"nodeId": ".-2.140305678429856"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305678429856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, ".-2.140305678429856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, "140305602595408": {"type": "Overloaded", "items": [{"nodeId": "140305678430304"}, {"nodeId": "140305678430752"}]}, "140305678430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "140305602596640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602596640": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": "N"}]}, "140305678430752": {"type": "Function", "typeVars": [".-1.140305678430752"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602596752"}], "returnType": {"nodeId": "140305602596864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602596752": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, ".-1.140305678430752": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678430752", "variance": "INVARIANT"}, "140305602596864": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, "140305602596192": {"type": "Overloaded", "items": [{"nodeId": "140305678431200"}, {"nodeId": "140305678431648"}]}, "140305678431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678431648": {"type": "Function", "typeVars": [".-1.140305678431648"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602597088"}], "returnType": {"nodeId": "140305602597200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602597088": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, ".-1.140305678431648": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678431648", "variance": "INVARIANT"}, "140305602597200": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, "140305678432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678432992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678433888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673322784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673323232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305673323680": {"type": "Function", "typeVars": [".-1.140305673323680", ".-2.140305673323680"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673323680"}, {"nodeId": ".-2.140305673323680"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597424"}, {"nodeId": "140305602597536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673323680": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, ".-2.140305673323680": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, "140305602597424": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673323680"}]}, "140305602597536": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673323680"}]}, "140305673324128": {"type": "Function", "typeVars": [".-1.140305673324128", ".-2.140305673324128"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673324128"}, {"nodeId": ".-2.140305673324128"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597648"}, {"nodeId": "140305602597760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324128": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, ".-2.140305673324128": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, "140305602597648": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673324128"}]}, "140305602597760": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673324128"}]}, "140305602596528": {"type": "Overloaded", "items": [{"nodeId": "140305673324576"}, {"nodeId": "140305673325024"}]}, "140305673324576": {"type": "Function", "typeVars": [".-1.140305673324576"], "argTypes": [{"nodeId": ".-1.140305673324576"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": ".-1.140305673324576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324576", "variance": "INVARIANT"}, "140305673325024": {"type": "Function", "typeVars": [".-1.140305673325024"], "argTypes": [{"nodeId": ".-1.140305673325024"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602598096"}]}], "returnType": {"nodeId": ".-1.140305673325024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673325024", "variance": "INVARIANT"}, "140305602598096": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305719638528": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594208"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703591872"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949280"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703593216"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954208"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954656"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "isAbstract": true}, "140305598594208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305719638528": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, ".2.140305719638528": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, "140305598594656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703591872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614949280": {"type": "Overloaded", "items": [{"nodeId": "140305703592320"}, {"nodeId": "140305703592768"}]}, "140305703592320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305703592768": {"type": "Function", "typeVars": [".-1.140305703592768"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": "140305614954768"}], "returnType": {"nodeId": "140305614954880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954768": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, ".-1.140305703592768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703592768", "variance": "INVARIANT"}, "140305614954880": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, "140305703593216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "140305614955104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614955104": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305614954208": {"type": "Overloaded", "items": [{"nodeId": "140305703593664"}, {"nodeId": "140305703594112"}]}, "140305703593664": {"type": "Function", "typeVars": [".-1.140305703593664"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": "140305614955328"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "140305614955440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614955328": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, ".-1.140305703593664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703593664", "variance": "INVARIANT"}, "140305614955440": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, "140305703594112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305614954656": {"type": "Overloaded", "items": [{"nodeId": "140305703594560"}, {"nodeId": "140305703595008"}, {"nodeId": "140305703595456"}]}, "140305703594560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305703595008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614955776"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305614955776": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305703595456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305606901008": {"type": "Overloaded", "items": [{"nodeId": "140305694713312"}]}, "140305694713312": {"type": "Function", "typeVars": [".-1.140305694713312"], "argTypes": [{"nodeId": ".-1.140305694713312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694713312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694713312", "variance": "INVARIANT"}, "140305547490272": {"type": "Function", "typeVars": [".-1.140305547490272"], "argTypes": [{"nodeId": ".-1.140305547490272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305547490272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547490272", "variance": "INVARIANT"}, "140305694714208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694714656": {"type": "Function", "typeVars": [".-1.140305694714656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305694714656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305694714656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694714656", "variance": "INVARIANT"}, "140305694715104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305694715552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694718240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694718688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694719136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694719584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305601968752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305601968752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695113504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305601968976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305601968976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695114400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305682445728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682445728", "variance": "INVARIANT"}, "140305602007712": {"type": "Function", "typeVars": [".-1.140305602007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602175248"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305602007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140305602175248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007712", "variance": "INVARIANT"}, "140305682446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175360"}, {"nodeId": "140305602175472"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140305602175360": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175472": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305682563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602175584"}, {"nodeId": "140305602175696"}, {"nodeId": "140305602175808"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602175696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682564256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305682565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175920"}, {"nodeId": "140305602176032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175920": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176032": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305682566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449040"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140305627449040": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682444832"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449040"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602176144"}, {"nodeId": "140305602176480"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602176144": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176480": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682573664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602176592"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602176592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682574112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602176816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602176816": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682574560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305682575008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177152"}, {"nodeId": "140305602177264"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177152": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177376"}, {"nodeId": "140305602177488"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177488": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682577248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602177712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602177712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682577696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177824"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602177824": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602177936": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602178048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682579040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178160"}, {"nodeId": "140305602178272"}, {"nodeId": "140305602178384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602178160": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602178272": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602178384": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178496"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602178496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305677436064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627449376": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682445280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449376"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602174800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602174800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677437408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677437856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602174016": {"type": "Overloaded", "items": [{"nodeId": "140305677438304"}, {"nodeId": "140305677438752"}]}, "140305677438304": {"type": "Function", "typeVars": [".-1.140305677438304"], "argTypes": [{"nodeId": "140305602178832"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178832": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305602178720"}, {"nodeId": ".-1.140305677438304"}]}]}, ".-1.140305677438304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677438304", "variance": "INVARIANT"}, "140305602178720": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305677438752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602178944"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305602179056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602178944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305602179056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677439200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677439648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602179168"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602179168": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677441440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677441888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677442784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677443232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677443680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602179504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614579280": {"type": "Concrete", "module": "annotation_tests", "simpleName": "A", "members": [{"kind": "Variable", "name": "self_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614579280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711241856"}, "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724060480"}, "name": "g"}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [{"nodeId": ".1.140305614579280"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305614579280": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305614579280", "variance": "INVARIANT"}, "140305711241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280", "args": [{"nodeId": ".1.140305614579280"}]}, {"nodeId": "A"}, {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140305724060480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543282272": {"type": "Function", "typeVars": [".-1.140305543282272"], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": ".-1.140305543282272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["collection", "x"]}, ".-1.140305543282272": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305543282272", "variance": "INVARIANT"}, "140305724061024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305551846176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["x", "y", "a", "b", "c"]}, "140305543281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809552": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305548177952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305614579616": {"type": "Concrete", "module": "annotation_tests", "simpleName": "Color", "members": [{"kind": "Variable", "name": "RED", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "GREEN", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "BLUE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305628017856": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568413536"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568414208"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305665475744"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414432"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707401952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707403296"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305568413536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305568414208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665475744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305568414432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140305568414656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140305707401952": {"type": "Function", "typeVars": [".-1.140305707401952"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305707401952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707401952": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707401952", "variance": "INVARIANT"}, "140305707402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707402848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140305707403296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140305694467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305548169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305548175712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711248352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711247456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305719632480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598233760"}}], "typeVars": [{"nodeId": ".1.140305719632480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__abs__"]}, "140305598233760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": ".1.140305719632480"}]}], "returnType": {"nodeId": ".1.140305719632480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719632480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632480", "variance": "COVARIANT"}, "140305707090208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627773776": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850032"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690277728"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597903616"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597904736"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305631850256": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305690277728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614770960"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614770624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140305614770960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140305627449712"}]}, "140305614770624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630800": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707097600"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305719631472": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054624"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098496"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223456"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707100736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632054624": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707098496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614772304"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140305614772304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598223456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719631136": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098048"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631136"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305707100736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719630464": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707093568"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707093568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707101184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707097600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630800"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305597904736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630128": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632052272"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707091776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092224"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092672"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632052272": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707091776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614772416"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140305614772416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707092224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707092672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719631808": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102080"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102976"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627447360"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140305707102080": {"type": "Function", "typeVars": [".-1.140305707102080"], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": ".-1.140305707102080"}], "returnType": {"nodeId": ".-1.140305707102080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140305707102080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707102080", "variance": "INVARIANT"}, "140305707102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719632144": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707104768"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707104768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632144"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627758656": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305627657744": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918752"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919200"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919648"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920096"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305627767056": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602597872"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472480"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472928"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473376"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473824"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474272"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474720"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475168"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475616"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476064"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477408"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477856"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478304"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478752"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479200"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480096"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480992"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767056"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "isAbstract": false}, "140305602597872": {"type": "Overloaded", "items": [{"nodeId": "140305673471584"}, {"nodeId": "140305673472032"}]}, "140305673471584": {"type": "Function", "typeVars": [".-1.140305673471584"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305673471584"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305673471584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673471584", "variance": "INVARIANT"}, "140305673472032": {"type": "Function", "typeVars": [".-1.140305673472032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": ".-1.140305673472032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140305627767056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767056", "variance": "COVARIANT"}, ".-1.140305673472032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673472032", "variance": "INVARIANT"}, "140305673472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475616": {"type": "Function", "typeVars": [".-1.140305673475616"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673475616"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599776"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673475616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673475616", "variance": "INVARIANT"}, "140305602599776": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673475616"}]}, "140305673476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673476512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673477408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673477856": {"type": "Function", "typeVars": [".-1.140305673477856"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673477856"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673477856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673477856", "variance": "INVARIANT"}, "140305602599888": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673477856"}]}, "140305673478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673478752": {"type": "Function", "typeVars": [".-1.140305673478752"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673478752"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602600000"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673478752": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673478752", "variance": "INVARIANT"}, "140305602600000": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673478752"}]}, "140305673479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673479648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305681918304": {"type": "Function", "typeVars": [".-1.140305681918304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305681918304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140305681918304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305681918304", "variance": "INVARIANT"}, "140305681918752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140305681919200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305681919648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305606899328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140305606899328": {"type": "Union", "items": [{"nodeId": "140305619089248", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305681920096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305627760336": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598232640"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305598232640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719632816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614671200"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305719632816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305614671200": {"type": "Overloaded", "items": [{"nodeId": "140305703078144"}, {"nodeId": "140305703078592"}]}, "140305703078144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719632816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632816", "variance": "COVARIANT"}, "140305703078592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719632816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627761008": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598338368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__hash__"]}, "140305598338368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719634160": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703081728"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598347776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614781488"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083520"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083968"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348000"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348448"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431296"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431520"}}], "typeVars": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719634160"}]}], "isAbstract": true}, "140305703081728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, ".2.140305719634160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "CONTRAVARIANT"}, ".3.140305719634160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, "140305598347776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": ".2.140305719634160"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614781488": {"type": "Overloaded", "items": [{"nodeId": "140305703082624"}, {"nodeId": "140305703083072"}]}, "140305703082624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "0"}, {"nodeId": "140305614946592"}, {"nodeId": "140305614946704"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946592": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614946704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614946816"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946816": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703083968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305614947264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614947264": {"type": "Union", "items": [{"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305719634496": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598432192"}}], "typeVars": [{"nodeId": ".1.140305719634496"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__await__"]}, "140305598432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719634496"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140305719634496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634496": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634496", "variance": "COVARIANT"}, "140305719634832": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434656"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434880"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435104"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435328"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435552"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435776"}}], "typeVars": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305719634832"}]}], "isAbstract": true}, "140305598434656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305614947600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634832": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, ".2.140305719634832": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "CONTRAVARIANT"}, ".3.140305719634832": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, "140305614947600": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": ".2.140305719634832"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946368": {"type": "Overloaded", "items": [{"nodeId": "140305703088896"}, {"nodeId": "140305703089344"}]}, "140305703088896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "0"}, {"nodeId": "140305614947824"}, {"nodeId": "140305614947936"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614947824": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614947936": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703089344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948048"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948048": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305598435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627761344": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}, {"nodeId": ".4.140305627761344"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305627761344"}]}, {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}]}], "isAbstract": true}, ".1.140305627761344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".2.140305627761344": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "CONTRAVARIANT"}, ".3.140305627761344": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".4.140305627761344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "INVARIANT"}, "140305719635168": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598436896"}}], "typeVars": [{"nodeId": ".1.140305719635168"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305598436896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635168"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635168", "variance": "COVARIANT"}, "140305719635504": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598440032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091136"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305719635504"}], "bases": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635504"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140305598440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635504", "variance": "COVARIANT"}, "140305703091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719635840": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091584"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598442272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946480"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703306624"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598441824"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443168"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443392"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443616"}}], "typeVars": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}], "bases": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635840"}]}], "isAbstract": true}, "140305703091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "COVARIANT"}, ".2.140305719635840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "CONTRAVARIANT"}, "140305598442272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": ".2.140305719635840"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946480": {"type": "Overloaded", "items": [{"nodeId": "140305703305728"}, {"nodeId": "140305703306176"}]}, "140305703305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "0"}, {"nodeId": "140305614948272"}, {"nodeId": "140305614948384"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614948384": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948496"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948496": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598441824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627763024": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743488"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598744608"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598745504"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598746176"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598746848"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598747520"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748192"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748864"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598749536"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750208"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750880"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598751552"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752224"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752896"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598753568"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754240"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754912"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598755584"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756256"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756928"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598757824"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593647392"}}], "typeVars": [{"nodeId": ".1.140305627763024"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}], "isAbstract": true}, "140305598743488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627763024": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627763024", "variance": "INVARIANT"}, "140305598744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598745504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598747520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598749536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598750208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598750880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598751552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305598752224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598752896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598753568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614955888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305614955888": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305598754240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598754912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": ".1.140305627763024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598755584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598756256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598756928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598757824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305593647392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614956000"}, {"nodeId": "140305614956112"}, {"nodeId": "140305614956224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305614956000": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305614956112": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305614956224": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627763360": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593648736"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": true}, "140305593648736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763360"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627763696": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650304"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650752"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650976"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651200"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651424"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593651648"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": true}, "140305593650304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305614956336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614956336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305593651200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627764368": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614955552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593654336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698619456"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620352"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614955552": {"type": "Overloaded", "items": [{"nodeId": "140305698454016"}, {"nodeId": "140305698454464"}]}, "140305698454016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614958800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614958800": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305698454464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305593654336": {"type": "Function", "typeVars": [".-1.140305593654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305593654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305593654336": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305593654336", "variance": "INVARIANT"}, "140305698619456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698620352": {"type": "Function", "typeVars": [".-1.140305698620352"], "argTypes": [{"nodeId": ".-1.140305698620352"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698620352"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305698620352": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620352", "variance": "INVARIANT"}, "140305627764704": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620800"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621248"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622144"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622592"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623040"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623488"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623936"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624832"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305698620800": {"type": "Function", "typeVars": [".-1.140305698620800"], "argTypes": [{"nodeId": ".-1.140305698620800"}], "returnType": {"nodeId": ".-1.140305698620800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698620800": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620800", "variance": "INVARIANT"}, "140305698621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305698621696": {"type": "Function", "typeVars": [".-1.140305698621696"], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": ".-1.140305698621696"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305698621696": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698621696", "variance": "INVARIANT"}, "140305698622144": {"type": "Function", "typeVars": [".-1.140305698622144"], "argTypes": [{"nodeId": ".-1.140305698622144"}, {"nodeId": ".-1.140305698622144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305698622144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698622144", "variance": "INVARIANT"}, "140305698622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698624384": {"type": "Function", "typeVars": [".-1.140305698624384"], "argTypes": [{"nodeId": ".-1.140305698624384"}, {"nodeId": ".-1.140305698624384"}], "returnType": {"nodeId": ".-1.140305698624384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624384": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624384", "variance": "INVARIANT"}, "140305698624832": {"type": "Function", "typeVars": [".-1.140305698624832"], "argTypes": [{"nodeId": ".-1.140305698624832"}, {"nodeId": ".-1.140305698624832"}], "returnType": {"nodeId": ".-1.140305698624832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624832": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624832", "variance": "INVARIANT"}, "140305719638864": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848464"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632062464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698625280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698626176"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698627072"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305632062464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614959472"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140305614959472": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305614959696"}, {"nodeId": "140305614959920"}, {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305614960144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140305614959696": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614959920": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614960144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627769072": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495808"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634240"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634688"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698635136"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750528"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750976"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698751424"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495920"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753664"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606496592"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "isAbstract": false}, ".1.140305627769072": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, ".2.140305627769072": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, "140305606495808": {"type": "Overloaded", "items": [{"nodeId": "140305698630656"}, {"nodeId": "140305669705728"}, {"nodeId": "140305698631552"}, {"nodeId": "140305698631104"}, {"nodeId": "140305698632448"}, {"nodeId": "140305698632000"}, {"nodeId": "140305698632896"}]}, "140305698630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669705728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698631552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698632448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606496816"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606496816": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305698632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606497040"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606497040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, "140305698632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698634240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": ".2.140305627769072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698750528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627769072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698750976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698633344": {"type": "Function", "typeVars": [".-1.140305698633344"], "argTypes": [{"nodeId": ".-1.140305698633344"}], "returnType": {"nodeId": ".-1.140305698633344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698633344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698633344", "variance": "INVARIANT"}, "140305698751424": {"type": "Function", "typeVars": [".-1.140305698751424"], "argTypes": [{"nodeId": ".-1.140305698751424"}], "returnType": {"nodeId": ".-1.140305698751424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698751424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751424", "variance": "INVARIANT"}, "140305606495920": {"type": "Overloaded", "items": [{"nodeId": "140305698752320"}, {"nodeId": "140305698752768"}]}, "140305698752320": {"type": "Function", "typeVars": [".-1.140305698752320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752320"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752320"}, {"nodeId": "140305606497376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752320", "variance": "INVARIANT"}, "140305606497376": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698752768": {"type": "Function", "typeVars": [".-1.140305698752768", ".-2.140305698752768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752768"}]}, {"nodeId": ".-2.140305698752768"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752768"}, {"nodeId": ".-2.140305698752768"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, ".-2.140305698752768": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, "140305698753216": {"type": "Function", "typeVars": [".-1.140305698753216", ".-2.140305698753216"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497488"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497600"}, {"nodeId": "140305606497712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497488": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}]}, ".-1.140305698753216": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, ".-2.140305698753216": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, "140305606497600": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753216"}]}, "140305606497712": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753216"}]}, "140305698753664": {"type": "Function", "typeVars": [".-1.140305698753664", ".-2.140305698753664"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497824"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497936"}, {"nodeId": "140305606498048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497824": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}]}, ".-1.140305698753664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, ".-2.140305698753664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, "140305606497936": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753664"}]}, "140305606498048": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753664"}]}, "140305606496592": {"type": "Overloaded", "items": [{"nodeId": "140305698751872"}, {"nodeId": "140305698754112"}]}, "140305698751872": {"type": "Function", "typeVars": [".-1.140305698751872"], "argTypes": [{"nodeId": ".-1.140305698751872"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": ".-1.140305698751872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698751872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751872", "variance": "INVARIANT"}, "140305698754112": {"type": "Function", "typeVars": [".-1.140305698754112"], "argTypes": [{"nodeId": ".-1.140305698754112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606498384"}]}], "returnType": {"nodeId": ".-1.140305698754112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754112", "variance": "INVARIANT"}, "140305606498384": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305627769408": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606497152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698755904"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756352"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756800"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757248"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758144"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758592"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498496"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698760832"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698759488"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761280"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761728"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762176"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762624"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763072"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763968"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764416"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764864"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765312"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765760"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698897984"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698898432"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698899776"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140305627769408"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627769408"}]}], "isAbstract": false}, ".1.140305627769408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769408", "variance": "INVARIANT"}, "140305606497152": {"type": "Overloaded", "items": [{"nodeId": "140305698755008"}, {"nodeId": "140305698755456"}]}, "140305698755008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140305698755456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140305698755904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498720"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498720": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498832"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498832": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498944": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606498160": {"type": "Overloaded", "items": [{"nodeId": "140305698759040"}, {"nodeId": "140305698754560"}]}, "140305698759040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698754560": {"type": "Function", "typeVars": [".-1.140305698754560"], "argTypes": [{"nodeId": ".-1.140305698754560"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": ".-1.140305698754560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754560", "variance": "INVARIANT"}, "140305606498496": {"type": "Overloaded", "items": [{"nodeId": "140305698759936"}, {"nodeId": "140305698760384"}]}, "140305698759936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606499280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499280": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698759488": {"type": "Function", "typeVars": [".-1.140305698759488"], "argTypes": [{"nodeId": ".-1.140305698759488"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698759488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698759488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698759488", "variance": "INVARIANT"}, "140305698761280": {"type": "Function", "typeVars": [".-1.140305698761280"], "argTypes": [{"nodeId": ".-1.140305698761280"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761280", "variance": "INVARIANT"}, "140305698761728": {"type": "Function", "typeVars": [".-1.140305698761728"], "argTypes": [{"nodeId": ".-1.140305698761728"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761728", "variance": "INVARIANT"}, "140305698762176": {"type": "Function", "typeVars": [".-1.140305698762176"], "argTypes": [{"nodeId": ".-1.140305698762176"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762176", "variance": "INVARIANT"}, "140305698762624": {"type": "Function", "typeVars": [".-1.140305698762624"], "argTypes": [{"nodeId": ".-1.140305698762624"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762624", "variance": "INVARIANT"}, "140305698763072": {"type": "Function", "typeVars": [".-1.140305698763072"], "argTypes": [{"nodeId": ".-1.140305698763072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698763072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698763072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763072", "variance": "INVARIANT"}, "140305698763968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698764416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140305698764864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140305698765312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698763520": {"type": "Function", "typeVars": [".-1.140305698763520"], "argTypes": [{"nodeId": ".-1.140305698763520"}], "returnType": {"nodeId": ".-1.140305698763520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698763520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763520", "variance": "INVARIANT"}, "140305698765760": {"type": "Function", "typeVars": [".-1.140305698765760"], "argTypes": [{"nodeId": ".-1.140305698765760"}], "returnType": {"nodeId": ".-1.140305698765760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698765760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698765760", "variance": "INVARIANT"}, "140305698897984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698898432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140305606499056": {"type": "Overloaded", "items": [{"nodeId": "140305698766208"}, {"nodeId": "140305698899328"}]}, "140305698766208": {"type": "Function", "typeVars": [".-1.140305698766208"], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".-1.140305698766208"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305698766208": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305698766208", "variance": "INVARIANT"}, "140305698899328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606270688"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305606270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305606499728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606499728": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305698899776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305627769744": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900672"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901120"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901568"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902912"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903360"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903808"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904256"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905152"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906048"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906496"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908288"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908736"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698909184"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910080"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910528"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910976"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911424"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911872"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698912768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913664"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029056"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029504"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029952"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030400"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030848"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031296"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031744"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032192"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032640"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033088"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033536"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033984"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034432"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034880"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035328"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035776"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036224"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036672"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699037120"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499168"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038464"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038912"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039808"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040256"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040704"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041152"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041600"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042944"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043392"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043840"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044288"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044736"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127360"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127808"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128256"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128704"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627769744"}]}], "isAbstract": false}, "140305698900224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305698900672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698902016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305606499840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606499840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305698902464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606499952"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499952": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698902912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500064"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500176"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500288"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500288": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698904256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698904704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698905152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698905600": {"type": "Function", "typeVars": [".-1.140305698905600"], "argTypes": [{"nodeId": ".-1.140305698905600"}, {"nodeId": "140305606500400"}], "returnType": {"nodeId": ".-1.140305698905600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698905600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698905600", "variance": "INVARIANT"}, "140305606500400": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698906048": {"type": "Function", "typeVars": [".-1.140305698906048"], "argTypes": [{"nodeId": ".-1.140305698906048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906048", "variance": "INVARIANT"}, "140305698906496": {"type": "Function", "typeVars": [".-1.140305698906496"], "argTypes": [{"nodeId": ".-1.140305698906496"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906496", "variance": "INVARIANT"}, "140305698906944": {"type": "Function", "typeVars": [".-1.140305698906944"], "argTypes": [{"nodeId": ".-1.140305698906944"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698906944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698906944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906944", "variance": "INVARIANT"}, "140305698907392": {"type": "Function", "typeVars": [".-1.140305698907392"], "argTypes": [{"nodeId": ".-1.140305698907392"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698907392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907392", "variance": "INVARIANT"}, "140305698907840": {"type": "Function", "typeVars": [".-1.140305698907840"], "argTypes": [{"nodeId": ".-1.140305698907840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698907840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907840", "variance": "INVARIANT"}, "140305698908288": {"type": "Function", "typeVars": [".-1.140305698908288"], "argTypes": [{"nodeId": ".-1.140305698908288"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698908288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908288", "variance": "INVARIANT"}, "140305698908736": {"type": "Function", "typeVars": [".-1.140305698908736"], "argTypes": [{"nodeId": ".-1.140305698908736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698908736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908736", "variance": "INVARIANT"}, "140305698909184": {"type": "Function", "typeVars": [".-1.140305698909184"], "argTypes": [{"nodeId": ".-1.140305698909184"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698909184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698909184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698909184", "variance": "INVARIANT"}, "140305698910080": {"type": "Function", "typeVars": [".-1.140305698910080"], "argTypes": [{"nodeId": ".-1.140305698910080"}], "returnType": {"nodeId": ".-1.140305698910080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910080", "variance": "INVARIANT"}, "140305698910528": {"type": "Function", "typeVars": [".-1.140305698910528"], "argTypes": [{"nodeId": ".-1.140305698910528"}], "returnType": {"nodeId": ".-1.140305698910528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910528", "variance": "INVARIANT"}, "140305698910976": {"type": "Function", "typeVars": [".-1.140305698910976"], "argTypes": [{"nodeId": ".-1.140305698910976"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698910976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305698910976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910976", "variance": "INVARIANT"}, "140305698911424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500736"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606500736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698911872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500848"}, {"nodeId": "140305606500960"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305606500848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606500960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305698912768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501072"}, {"nodeId": "140305606501184"}, {"nodeId": "140305606501296"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140305606501072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606501184": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606501296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305698913216": {"type": "Function", "typeVars": [".-1.140305698913216"], "argTypes": [{"nodeId": ".-1.140305698913216"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698913216"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140305698913216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698913216", "variance": "INVARIANT"}, "140305698913664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606501408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699029056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305699029504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305699029952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305699030400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699030848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305699036224": {"type": "Function", "typeVars": [".-1.140305699036224"], "argTypes": [{"nodeId": ".-1.140305699036224"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699036224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699036224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036224", "variance": "INVARIANT"}, "140305699036672": {"type": "Function", "typeVars": [".-1.140305699036672"], "argTypes": [{"nodeId": ".-1.140305699036672"}], "returnType": {"nodeId": ".-1.140305699036672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699036672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036672", "variance": "INVARIANT"}, "140305699037120": {"type": "Function", "typeVars": [".-1.140305699037120"], "argTypes": [{"nodeId": ".-1.140305699037120"}, {"nodeId": "140305606501968"}], "returnType": {"nodeId": ".-1.140305699037120"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699037120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037120", "variance": "INVARIANT"}, "140305606501968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606499168": {"type": "Overloaded", "items": [{"nodeId": "140305699037568"}, {"nodeId": "140305699038016"}]}, "140305699037568": {"type": "Function", "typeVars": [".-1.140305699037568"], "argTypes": [{"nodeId": "140305606502304"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305606502304": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305606502192"}, {"nodeId": ".-1.140305699037568"}]}]}, ".-1.140305699037568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037568", "variance": "INVARIANT"}, "140305606502192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305699038016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305606502416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140305606502416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606502640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606502640": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699038912": {"type": "Function", "typeVars": [".-1.140305699038912"], "argTypes": [{"nodeId": ".-1.140305699038912"}, {"nodeId": "140305606502752"}], "returnType": {"nodeId": ".-1.140305699038912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699038912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699038912", "variance": "INVARIANT"}, "140305606502752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039360": {"type": "Function", "typeVars": [".-1.140305699039360"], "argTypes": [{"nodeId": ".-1.140305699039360"}, {"nodeId": "140305606502864"}], "returnType": {"nodeId": ".-1.140305699039360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699039360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039360", "variance": "INVARIANT"}, "140305606502864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039808": {"type": "Function", "typeVars": [".-1.140305699039808"], "argTypes": [{"nodeId": ".-1.140305699039808"}, {"nodeId": "140305606502976"}, {"nodeId": "140305606503088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699039808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140305699039808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039808", "variance": "INVARIANT"}, "140305606502976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305606503088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503200"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503312"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699041152": {"type": "Function", "typeVars": [".-1.140305699041152"], "argTypes": [{"nodeId": ".-1.140305699041152"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699041152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699041152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699041152", "variance": "INVARIANT"}, "140305699041600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606503648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606503648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699042048": {"type": "Function", "typeVars": [".-1.140305699042048"], "argTypes": [{"nodeId": ".-1.140305699042048"}, {"nodeId": "140305606503760"}], "returnType": {"nodeId": ".-1.140305699042048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699042048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699042048", "variance": "INVARIANT"}, "140305606503760": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503872"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503984": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699043392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305699043840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606504096"}, {"nodeId": "140305606504208"}, {"nodeId": "140305606504320"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140305606504096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606504208": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699044288": {"type": "Function", "typeVars": [".-1.140305699044288"], "argTypes": [{"nodeId": ".-1.140305699044288"}, {"nodeId": "140305606504432"}], "returnType": {"nodeId": ".-1.140305699044288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699044288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044288", "variance": "INVARIANT"}, "140305606504432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699044736": {"type": "Function", "typeVars": [".-1.140305699044736"], "argTypes": [{"nodeId": ".-1.140305699044736"}], "returnType": {"nodeId": ".-1.140305699044736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699044736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044736", "variance": "INVARIANT"}, "140305699127360": {"type": "Function", "typeVars": [".-1.140305699127360"], "argTypes": [{"nodeId": ".-1.140305699127360"}], "returnType": {"nodeId": ".-1.140305699127360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699127360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127360", "variance": "INVARIANT"}, "140305699127808": {"type": "Function", "typeVars": [".-1.140305699127808"], "argTypes": [{"nodeId": ".-1.140305699127808"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699127808"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140305699127808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127808", "variance": "INVARIANT"}, "140305699128256": {"type": "Function", "typeVars": [".-1.140305699128256"], "argTypes": [{"nodeId": ".-1.140305699128256"}], "returnType": {"nodeId": ".-1.140305699128256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699128256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128256", "variance": "INVARIANT"}, "140305699128704": {"type": "Function", "typeVars": [".-1.140305699128704"], "argTypes": [{"nodeId": ".-1.140305699128704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699128704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140305699128704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128704", "variance": "INVARIANT"}, "140305627770080": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305564711200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130496"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130944"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131392"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132288"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132736"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133184"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134080"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134528"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134976"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135424"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137216"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137664"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138112"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138560"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139008"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139456"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139904"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140352"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140800"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141248"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141696"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142144"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142592"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627770080"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627770080"}]}], "isAbstract": false}, "140305564711200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305606504656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627770080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770080", "variance": "INVARIANT"}, "140305606504656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606499392": {"type": "Overloaded", "items": [{"nodeId": "140305699129600"}, {"nodeId": "140305699130048"}]}, "140305699129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140305606504880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140305606504992": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699130944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699131392": {"type": "Function", "typeVars": [".-1.140305699131392"], "argTypes": [{"nodeId": ".-1.140305699131392"}], "returnType": {"nodeId": ".-1.140305699131392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699131392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699131392", "variance": "INVARIANT"}, "140305699131840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699133184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305699133632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305699134080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699135424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699135872": {"type": "Function", "typeVars": [".-1.140305699135872"], "argTypes": [{"nodeId": ".-1.140305699135872"}], "returnType": {"nodeId": ".-1.140305699135872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699135872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699135872", "variance": "INVARIANT"}, "140305699136320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699136768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699137216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699137664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138560": {"type": "Function", "typeVars": [".-1.140305699138560"], "argTypes": [{"nodeId": ".-1.140305699138560"}], "returnType": {"nodeId": "140305606505440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699138560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699138560", "variance": "INVARIANT"}, "140305606505440": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305606505216"}, {"nodeId": "N"}, {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770080"}]}]}, "140305606505216": {"type": "Tuple", "items": []}, "140305699139008": {"type": "Function", "typeVars": [".-1.140305699139008"], "argTypes": [{"nodeId": ".-1.140305699139008"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".-1.140305699139008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139008", "variance": "INVARIANT"}, "140305699139456": {"type": "Function", "typeVars": [".-1.140305699139456"], "argTypes": [{"nodeId": ".-1.140305699139456"}, {"nodeId": ".-1.140305699139456"}], "returnType": {"nodeId": ".-1.140305699139456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139456", "variance": "INVARIANT"}, "140305699139904": {"type": "Function", "typeVars": [".-1.140305699139904"], "argTypes": [{"nodeId": ".-1.140305699139904"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699139904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139904", "variance": "INVARIANT"}, "140305699140352": {"type": "Function", "typeVars": [".-1.140305699140352"], "argTypes": [{"nodeId": ".-1.140305699140352"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699140352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699140352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699140352", "variance": "INVARIANT"}, "140305699140800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305627659424": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606502080"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699259776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260224"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260672"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305564825664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606504768"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606505664"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264256"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264704"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266048"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266496"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267392"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268288"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269632"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270080"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270528"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271424"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272320"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305627659424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305606502080": {"type": "Overloaded", "items": [{"nodeId": "140305699143040"}, {"nodeId": "140305699258432"}, {"nodeId": "140305699258880"}, {"nodeId": "140305699259328"}]}, "140305699143040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305627659424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659424", "variance": "INVARIANT"}, "140305699258432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699258880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259776": {"type": "Function", "typeVars": [".-1.140305699259776"], "argTypes": [{"nodeId": ".-1.140305699259776"}], "returnType": {"nodeId": ".-1.140305699259776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699259776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699259776", "variance": "INVARIANT"}, "140305699260224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305606505776"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305606506000"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305606505776": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606506000": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, "140305564825664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140305606506224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140305606506224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504768": {"type": "Overloaded", "items": [{"nodeId": "140305699261568"}, {"nodeId": "140305699262016"}, {"nodeId": "140305699262464"}]}, "140305699261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606505664": {"type": "Overloaded", "items": [{"nodeId": "140305699262912"}, {"nodeId": "140305699263360"}, {"nodeId": "140305699263808"}]}, "140305699262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": ".1.140305627659424"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266048": {"type": "Function", "typeVars": [".-1.140305699266048"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699266048"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699266048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699266048", "variance": "INVARIANT"}, "140305606506560": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699266048"}]}, "140305699266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699267392": {"type": "Function", "typeVars": [".-1.140305699267392"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699267392"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699267392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699267392", "variance": "INVARIANT"}, "140305606506672": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699267392"}]}, "140305699267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268736": {"type": "Function", "typeVars": [".-1.140305699268736"], "argTypes": [{"nodeId": ".-1.140305699268736"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699268736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699268736", "variance": "INVARIANT"}, "140305699269184": {"type": "Function", "typeVars": [".-1.140305699269184"], "argTypes": [{"nodeId": ".-1.140305699269184"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269184", "variance": "INVARIANT"}, "140305699269632": {"type": "Function", "typeVars": [".-1.140305699269632"], "argTypes": [{"nodeId": ".-1.140305699269632"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269632", "variance": "INVARIANT"}, "140305699270080": {"type": "Function", "typeVars": [".-1.140305699270080"], "argTypes": [{"nodeId": ".-1.140305699270080"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699270080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699270080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699270080", "variance": "INVARIANT"}, "140305699270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699272320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619075136": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272768"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075136"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305619075136"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075136"}]}], "isAbstract": false}, "140305699272768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075136", "args": [{"nodeId": ".1.140305619075136"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075136", "variance": "COVARIANT"}, "140305619075472": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273216"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627330736"}]}], "isAbstract": false}, "140305699273216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075472", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507344"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, ".2.140305619075472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, "140305606507344": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305627330736": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305619075808": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273664"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075808"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305619075808"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075808"}]}], "isAbstract": false}, "140305699273664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075808", "args": [{"nodeId": ".1.140305619075808"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075808": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075808", "variance": "COVARIANT"}, "140305627770416": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699274112"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}], "bases": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627770416"}]}], "isAbstract": false}, "140305699274112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770416"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770416": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, ".2.140305627770416": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, "140305627770752": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699405888"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}], "bases": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627331744"}]}], "isAbstract": false}, "140305699405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770752": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, ".2.140305627770752": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, "140305606507568": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627331744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627771088": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406336"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}], "bases": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".2.140305627771088"}]}], "isAbstract": false}, "140305699406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".2.140305627771088"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627771088": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, ".2.140305627771088": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, "140305627771424": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406784"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407232"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407680"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408128"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408576"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409024"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409472"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506336"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506448"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627771424"}]}], "isAbstract": false}, "140305699406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606507792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140305627771424": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, ".2.140305627771424": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, "140305606507792": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "140305699407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140305699407680": {"type": "Function", "typeVars": [".-1.140305699407680"], "argTypes": [{"nodeId": ".-1.140305699407680"}], "returnType": {"nodeId": ".-1.140305699407680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699407680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699407680", "variance": "INVARIANT"}, "140305699408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699408576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606506336": {"type": "Overloaded", "items": [{"nodeId": "140305699409920"}, {"nodeId": "140305699410368"}]}, "140305699409920": {"type": "Function", "typeVars": [".-1.140305699409920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699409920"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699409920"}, {"nodeId": "140305606508128"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699409920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699409920", "variance": "INVARIANT"}, "140305606508128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305699410368": {"type": "Function", "typeVars": [".-1.140305699410368", ".-2.140305699410368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699410368"}]}, {"nodeId": ".-2.140305699410368"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699410368"}, {"nodeId": ".-2.140305699410368"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699410368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, ".-2.140305699410368": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, "140305606506448": {"type": "Overloaded", "items": [{"nodeId": "140305699410816"}, {"nodeId": "140305699411264"}]}, "140305699410816": {"type": "Function", "typeVars": [".-1.140305699410816"], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": "140305606508352"}]}, {"nodeId": ".1.140305627771424"}], "returnType": {"nodeId": "140305606885440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305606508352": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, ".-1.140305699410816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410816", "variance": "INVARIANT"}, "140305606885440": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, "140305699411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "returnType": {"nodeId": ".2.140305627771424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140305627659760": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627331632"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606507904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415296"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415744"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416192"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "isAbstract": false}, "140305627331632": {"type": "Union", "items": [{"nodeId": "140305640404608"}, {"nodeId": "N"}]}, "140305640404608": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, ".2.140305627659760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305606507904": {"type": "Overloaded", "items": [{"nodeId": "140305699411712"}, {"nodeId": "140305699412160"}, {"nodeId": "140305699412608"}, {"nodeId": "140305699413056"}, {"nodeId": "140305699413504"}, {"nodeId": "140305699413952"}, {"nodeId": "140305699414400"}, {"nodeId": "140305699414848"}]}, "140305699411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627659760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305699412160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305699412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606885664": {"type": "Union", "items": [{"nodeId": "140305606271136"}, {"nodeId": "N"}]}, "140305606271136": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885776"}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606885776": {"type": "Union", "items": [{"nodeId": "140305606271360"}, {"nodeId": "N"}]}, "140305606271360": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885888"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606885888": {"type": "Union", "items": [{"nodeId": "140305606271584"}, {"nodeId": "N"}]}, "140305606271584": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886000"}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886000": {"type": "Union", "items": [{"nodeId": "140305606271808"}, {"nodeId": "N"}]}, "140305606271808": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886336"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606886112": {"type": "Union", "items": [{"nodeId": "140305606272032"}, {"nodeId": "N"}]}, "140305606272032": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886336": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, "140305699414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886672"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886448": {"type": "Union", "items": [{"nodeId": "140305606272256"}, {"nodeId": "N"}]}, "140305606272256": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886672": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, "140305699415296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".1.140305627659760"}], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699415744": {"type": "Function", "typeVars": [".-1.140305699415744"], "argTypes": [{"nodeId": ".-1.140305699415744"}], "returnType": {"nodeId": ".-1.140305699415744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699415744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699415744", "variance": "INVARIANT"}, "140305699416192": {"type": "Function", "typeVars": [".-1.140305699416192"], "argTypes": [{"nodeId": ".-1.140305699416192"}], "returnType": {"nodeId": ".-1.140305699416192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699416192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699416192", "variance": "INVARIANT"}, "140305627771760": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417088"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305565130240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419776"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420224"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420672"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421120"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421568"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606508240"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694294976"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305565132704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606885552"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296320"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296768"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606886896"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "isAbstract": false}, ".1.140305627771760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, ".2.140305627771760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, "140305699416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140305699417088": {"type": "Function", "typeVars": [".-1.140305699417088"], "argTypes": [{"nodeId": ".-1.140305699417088"}, {"nodeId": "140305606886784"}], "returnType": {"nodeId": ".-1.140305699417088"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140305699417088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699417088", "variance": "INVARIANT"}, "140305606886784": {"type": "Union", "items": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "N"}]}, "140305565130240": {"type": "Function", "typeVars": [".-1.140305565130240"], "argTypes": [{"nodeId": ".-1.140305565130240"}], "returnType": {"nodeId": ".-1.140305565130240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565130240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565130240", "variance": "INVARIANT"}, "140305699417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699419776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699420672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699421120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606508240": {"type": "Overloaded", "items": [{"nodeId": "140305694294080"}, {"nodeId": "140305694294528"}]}, "140305694294080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305694294528": {"type": "Function", "typeVars": [".-1.140305694294528"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": "140305606887008"}], "returnType": {"nodeId": "140305606887120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606887008": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, ".-1.140305694294528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294528", "variance": "INVARIANT"}, "140305606887120": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, "140305694294976": {"type": "Function", "typeVars": [".-1.140305694294976"], "argTypes": [{"nodeId": ".-1.140305694294976"}], "returnType": {"nodeId": ".-1.140305694294976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694294976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294976", "variance": "INVARIANT"}, "140305565132704": {"type": "Function", "typeVars": [".-1.140305565132704"], "argTypes": [{"nodeId": ".-1.140305565132704"}], "returnType": {"nodeId": ".-1.140305565132704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565132704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565132704", "variance": "INVARIANT"}, "140305606885552": {"type": "Overloaded", "items": [{"nodeId": "140305694295424"}, {"nodeId": "140305694295872"}]}, "140305694295424": {"type": "Function", "typeVars": [".-1.140305694295424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295424"}, {"nodeId": "140305606887456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140305694295424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295424", "variance": "INVARIANT"}, "140305606887456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305694295872": {"type": "Function", "typeVars": [".-1.140305694295872", ".-2.140305694295872"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295872"}]}, {"nodeId": ".-2.140305694295872"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295872"}, {"nodeId": ".-2.140305694295872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305694295872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, ".-2.140305694295872": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, "140305694296320": {"type": "Function", "typeVars": [".-1.140305694296320", ".-2.140305694296320"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296320"}, {"nodeId": ".-2.140305694296320"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887568"}, {"nodeId": "140305606887680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296320": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, ".-2.140305694296320": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, "140305606887568": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296320"}]}, "140305606887680": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296320"}]}, "140305694296768": {"type": "Function", "typeVars": [".-1.140305694296768", ".-2.140305694296768"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296768"}, {"nodeId": ".-2.140305694296768"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887792"}, {"nodeId": "140305606887904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, ".-2.140305694296768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, "140305606887792": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296768"}]}, "140305606887904": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296768"}]}, "140305606886896": {"type": "Overloaded", "items": [{"nodeId": "140305694297216"}, {"nodeId": "140305694297664"}]}, "140305694297216": {"type": "Function", "typeVars": [".-1.140305694297216"], "argTypes": [{"nodeId": ".-1.140305694297216"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": ".-1.140305694297216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297216", "variance": "INVARIANT"}, "140305694297664": {"type": "Function", "typeVars": [".-1.140305694297664"], "argTypes": [{"nodeId": ".-1.140305694297664"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606888240"}]}], "returnType": {"nodeId": ".-1.140305694297664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297664", "variance": "INVARIANT"}, "140305606888240": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, "140305628017184": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694299680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694300128"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "isAbstract": false}, "140305694299680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305628017520": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694301920"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568408832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694303712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305056"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568409056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306400"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306848"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628017856"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "A"}, {"nodeId": "140305628017856"}]}}], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305694301920": {"type": "Function", "typeVars": [".-1.140305694301920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305628017184"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305694301920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140305694301920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694301920", "variance": "INVARIANT"}, "140305568408832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628017184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140305694303712": {"type": "Function", "typeVars": [".-1.140305694303712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694303712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694303712": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694303712", "variance": "INVARIANT"}, "140305694304160": {"type": "Function", "typeVars": [".-1.140305694304160"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694304160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694304160": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694304160", "variance": "INVARIANT"}, "140305694304608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694305056": {"type": "Function", "typeVars": [".-1.140305694305056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305694305056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694305056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694305056", "variance": "INVARIANT"}, "140305568409056": {"type": "Function", "typeVars": [".-1.140305568409056"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305568409056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305568409056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568409056", "variance": "INVARIANT"}, "140305694305952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694306400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611314496": {"type": "Overloaded", "items": [{"nodeId": "140305694307296"}, {"nodeId": "140305694308192"}]}, "140305694307296": {"type": "Function", "typeVars": [".-1.140305694307296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140305694307296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140305694307296": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694307296", "variance": "INVARIANT"}, "140305694308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611318752"}, {"nodeId": "140305611318864"}, {"nodeId": "140305611318976"}, {"nodeId": "140305611319088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140305611318752": {"type": "TypeAlias", "target": {"nodeId": "140305665816528"}}, "140305665816528": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305644437200"}]}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}]}, "140305644437200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305611318864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611318976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611319088": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305628018192": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707404192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628017856"}], "isAbstract": false}, "140305568466080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018192"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707404192": {"type": "Function", "typeVars": [".-1.140305707404192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707404192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707404192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707404192", "variance": "INVARIANT"}, "140305614569872": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707405536"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305568466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707405536": {"type": "Function", "typeVars": [".-1.140305707405536"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305707405536"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305707405536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707405536", "variance": "INVARIANT"}, "140305628018864": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412256"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412704"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413152"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413600"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568473920"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568474816"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568475712"}}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628018528"}], "isAbstract": false}, "140305707412256": {"type": "Function", "typeVars": [".-1.140305707412256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707412256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412256", "variance": "INVARIANT"}, "140305707412704": {"type": "Function", "typeVars": [".-1.140305707412704"], "argTypes": [{"nodeId": ".-1.140305707412704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707412704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412704", "variance": "INVARIANT"}, "140305707413152": {"type": "Function", "typeVars": [".-1.140305707413152"], "argTypes": [{"nodeId": ".-1.140305707413152"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413152", "variance": "INVARIANT"}, "140305707413600": {"type": "Function", "typeVars": [".-1.140305707413600"], "argTypes": [{"nodeId": ".-1.140305707413600"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413600", "variance": "INVARIANT"}, "140305568473920": {"type": "Function", "typeVars": [".-1.140305568473920"], "argTypes": [{"nodeId": ".-1.140305568473920"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568473920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568473920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568473920", "variance": "INVARIANT"}, "140305568474816": {"type": "Function", "typeVars": [".-1.140305568474816"], "argTypes": [{"nodeId": ".-1.140305568474816"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568474816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568474816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568474816", "variance": "INVARIANT"}, "140305568475712": {"type": "Function", "typeVars": [".-1.140305568475712"], "argTypes": [{"nodeId": ".-1.140305568475712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568475712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568475712", "variance": "INVARIANT"}, "140305628018528": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305656445216"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568467648"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568468544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707406880"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407328"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408224"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408672"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707409120"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305656445216": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305611319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611319872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707406880": {"type": "Function", "typeVars": [".-1.140305707406880"], "argTypes": [{"nodeId": ".-1.140305707406880"}, {"nodeId": ".-1.140305707406880"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707406880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707406880", "variance": "INVARIANT"}, "140305707407328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707407776": {"type": "Function", "typeVars": [".-1.140305707407776"], "argTypes": [{"nodeId": ".-1.140305707407776"}, {"nodeId": ".-1.140305707407776"}], "returnType": {"nodeId": ".-1.140305707407776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707407776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707407776", "variance": "INVARIANT"}, "140305707408224": {"type": "Function", "typeVars": [".-1.140305707408224"], "argTypes": [{"nodeId": ".-1.140305707408224"}, {"nodeId": ".-1.140305707408224"}], "returnType": {"nodeId": ".-1.140305707408224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408224", "variance": "INVARIANT"}, "140305707408672": {"type": "Function", "typeVars": [".-1.140305707408672"], "argTypes": [{"nodeId": ".-1.140305707408672"}, {"nodeId": ".-1.140305707408672"}], "returnType": {"nodeId": ".-1.140305707408672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408672", "variance": "INVARIANT"}, "140305707409120": {"type": "Function", "typeVars": [".-1.140305707409120"], "argTypes": [{"nodeId": ".-1.140305707409120"}], "returnType": {"nodeId": ".-1.140305707409120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305707409120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707409120", "variance": "INVARIANT"}, "140305614576928": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552295072"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161952"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502048"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305552295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548298944"}], "returnType": {"nodeId": "140305548301632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548298944": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305614578944": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694471136"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556276832"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556275712"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360096"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556371296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360992"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556361216"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556363008"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556365696"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368832"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556369280"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694587616"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588064"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588512"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694703904"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694704352"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548347424"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548348096"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694706144"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556366592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707040"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707488"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707936"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708384"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708832"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709280"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709728"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548297488"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140305614577936"}], "isAbstract": false}, "140305694471136": {"type": "Function", "typeVars": [".-1.140305694471136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548296928"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305694471136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548296928": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305694471136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694471136", "variance": "INVARIANT"}, "140305556276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556371296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548296704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548296704": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556361216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556363008": {"type": "Function", "typeVars": [".-1.140305556363008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305548296480"}], "returnType": {"nodeId": ".-1.140305556363008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140305548296480": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556363008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556363008", "variance": "INVARIANT"}, "140305556365696": {"type": "Function", "typeVars": [".-1.140305556365696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305556365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556365696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556365696", "variance": "INVARIANT"}, "140305556368832": {"type": "Function", "typeVars": [".-1.140305556368832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305548296256"}], "returnType": {"nodeId": ".-1.140305556368832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140305548296256": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556368832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556368832", "variance": "INVARIANT"}, "140305556369280": {"type": "Function", "typeVars": [".-1.140305556369280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305556369280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305556369280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556369280", "variance": "INVARIANT"}, "140305556368608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305614577936"}, {"nodeId": "140305614578272"}, {"nodeId": "140305548138464"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140305614577936": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707504288"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551848864"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551845280"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551844384"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551843488"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551840800"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551842592"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551839008"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551838112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707508320"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509216"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509664"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510112"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510560"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511008"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511456"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511904"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512352"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512800"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513248"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513696"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707514144"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548304432"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460384"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460832"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694461280"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614578608": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169664"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556442912"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556439328"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556290048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694472928"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473376"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473824"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694572832"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573280"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573728"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574176"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574624"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575520"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548301296"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548299504"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694577760"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578208"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579104"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579552"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580000"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580448"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548169664": {"type": "Function", "typeVars": [".-1.140305548169664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305548169664"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140305548169664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548169664", "variance": "INVARIANT"}, "140305556442912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556439328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556290048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694572832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694575072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694575520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548301296": {"type": "Overloaded", "items": [{"nodeId": "140305694575968"}, {"nodeId": "140305694576416"}]}, "140305694575968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694576416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548299504": {"type": "Overloaded", "items": [{"nodeId": "140305694576864"}, {"nodeId": "140305694577312"}]}, "140305694576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694578208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305548297376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297376": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305614578608"}]}, "140305694578656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707504288": {"type": "Function", "typeVars": [".-1.140305707504288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707504288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140305707504288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707504288", "variance": "INVARIANT"}, "140305551848864": {"type": "Function", "typeVars": [".-1.140305551848864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305551848864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551848864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551848864", "variance": "INVARIANT"}, "140305551845280": {"type": "Function", "typeVars": [".-1.140305551845280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305551845280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305551845280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551845280", "variance": "INVARIANT"}, "140305551844384": {"type": "Function", "typeVars": [".-1.140305551844384"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551844384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551844384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551844384", "variance": "INVARIANT"}, "140305551843488": {"type": "Function", "typeVars": [".-1.140305551843488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305551843488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551843488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551843488", "variance": "INVARIANT"}, "140305551840800": {"type": "Function", "typeVars": [".-1.140305551840800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551840800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140305551840800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551840800", "variance": "INVARIANT"}, "140305551842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551839008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551838112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707508320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707509216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707509664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707510112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707510560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299840": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305543430320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305707511008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707511456": {"type": "Function", "typeVars": [".-1.140305707511456"], "argTypes": [{"nodeId": ".-1.140305707511456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707511456"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140305707511456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707511456", "variance": "INVARIANT"}, "140305707511904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513696": {"type": "Function", "typeVars": [".-1.140305707513696"], "argTypes": [{"nodeId": ".-1.140305707513696"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707513696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707513696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707513696", "variance": "INVARIANT"}, "140305707514144": {"type": "Function", "typeVars": [".-1.140305707514144"], "argTypes": [{"nodeId": ".-1.140305707514144"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514144", "variance": "INVARIANT"}, "140305548304432": {"type": "Overloaded", "items": [{"nodeId": "140305707514592"}, {"nodeId": "140305707515040"}, {"nodeId": "140305707515488"}]}, "140305707514592": {"type": "Function", "typeVars": [".-1.140305707514592"], "argTypes": [{"nodeId": ".-1.140305707514592"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514592", "variance": "INVARIANT"}, "140305707515040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707515488": {"type": "Function", "typeVars": [".-1.140305707515488"], "argTypes": [{"nodeId": ".-1.140305707515488"}, {"nodeId": ".-1.140305707515488"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707515488": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305707515488", "variance": "INVARIANT"}, "140305694460384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694460832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694461280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299392": {"type": "TypeAlias", "target": {"nodeId": "140305548303872"}}, "140305548303872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305614578272": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170112"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551660352"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556727488"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556725248"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556724128"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556717632"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556718528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465312"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465760"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466208"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466656"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467104"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556721216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468448"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468896"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469344"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469792"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694470240"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170336"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548170112": {"type": "Function", "typeVars": [".-1.140305548170112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548299168"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170112"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548299168": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305548170112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170112", "variance": "INVARIANT"}, "140305551660352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556727488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556724128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548299280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299280": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694465312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140305556721216": {"type": "Function", "typeVars": [".-1.140305556721216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305556721216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556721216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556721216", "variance": "INVARIANT"}, "140305694468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694468896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694469344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298720": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694469792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298272": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305548170336": {"type": "Function", "typeVars": [".-1.140305548170336"], "argTypes": [{"nodeId": ".-1.140305548170336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548297824"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170336"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548170336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170336", "variance": "INVARIANT"}, "140305548297824": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548138464": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548140816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548140816": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305694588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614577936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694703904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694704352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548347424": {"type": "Function", "typeVars": [".-1.140305548347424"], "argTypes": [{"nodeId": ".-1.140305548347424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548147536"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548347424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548347424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548347424", "variance": "INVARIANT"}, "140305548147536": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548348096": {"type": "Function", "typeVars": [".-1.140305548348096"], "argTypes": [{"nodeId": ".-1.140305548348096"}, {"nodeId": "140305548147760"}], "returnType": {"nodeId": ".-1.140305548348096"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140305548348096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548348096", "variance": "INVARIANT"}, "140305548147760": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694706144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140305556366592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140305694707040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548147872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548147872": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694707488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694707936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148320": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694708384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694708832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297488": {"type": "Overloaded", "items": [{"nodeId": "140305694710176"}, {"nodeId": "140305694710624"}]}, "140305694710176": {"type": "Function", "typeVars": [".-1.140305694710176"], "argTypes": [{"nodeId": ".-1.140305694710176"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305694710176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694710176", "variance": "INVARIANT"}, "140305694710624": {"type": "Function", "typeVars": [".-1.140305694710624"], "argTypes": [{"nodeId": ".-1.140305694710624"}, {"nodeId": ".-1.140305694710624"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710624": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305694710624", "variance": "INVARIANT"}, "140305548301632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305552161952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548301184"}], "returnType": {"nodeId": "140305548301072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548301184": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548301072": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305552161056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548300736"}], "returnType": {"nodeId": "140305548300960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300736": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548300960": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305707502048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614577264": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502944"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503392"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503840"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140305614576928"}], "isAbstract": false}, "140305707502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305614578608"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140305707502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300624"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300624": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300512"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300512": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300176": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305719629792": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548171680"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225280"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172128"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172800"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678277920"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548171680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305602593616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602593616": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305627774448": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690827840"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690827840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774448"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305619225280": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305548172128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678277920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}, {"nodeId": "140305602593952"}, {"nodeId": "140305602594064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305602593952": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305602594064": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305719639200": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547488032"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116640"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695117536"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140305719639200"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547488032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602003008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639200": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639200", "variance": "COVARIANT"}, "140305602003008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695116192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "140305602003232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602003232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695116640": {"type": "Function", "typeVars": [".-1.140305695116640"], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": ".-1.140305695116640"}, {"nodeId": "140305601969312"}], "returnType": {"nodeId": "140305602005248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695116640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695116640", "variance": "INVARIANT"}, "140305601969312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602005248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602005024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695117536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305719639536": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486688"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695118880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695119328"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485568"}}], "typeVars": [{"nodeId": ".1.140305719639536"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547486688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639536": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639536", "variance": "COVARIANT"}, "140305602005696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695118880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": "140305602005472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602005472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695119328": {"type": "Function", "typeVars": [".-1.140305695119328"], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": ".-1.140305695119328"}, {"nodeId": "140305602166848"}], "returnType": {"nodeId": "140305602006144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695119328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695119328", "variance": "INVARIANT"}, "140305602166848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602006144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547485568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627447696": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167408"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167408": {"type": "Overloaded", "items": [{"nodeId": "140305690394912"}, {"nodeId": "140305690395360"}, {"nodeId": "140305690395808"}]}, "140305690394912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690395360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305690395808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627767392": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482336"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767392"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305632060224"}]}], "isAbstract": false}, "140305673481440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140305627767392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767392", "variance": "INVARIANT"}, "140305673481888": {"type": "Function", "typeVars": [".-1.140305673481888"], "argTypes": [{"nodeId": ".-1.140305673481888"}], "returnType": {"nodeId": ".-1.140305673481888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673481888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673481888", "variance": "INVARIANT"}, "140305673482336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}], "returnType": {"nodeId": "140305602600336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602600336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305673482784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305632060224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305627451728": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543355680"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356128"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602598208"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485472"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485920"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673584928"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585824"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602599664"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587168"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305543355680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602598208": {"type": "Overloaded", "items": [{"nodeId": "140305673484576"}, {"nodeId": "140305673485024"}]}, "140305673484576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305673485472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673585376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673585824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602599664": {"type": "Overloaded", "items": [{"nodeId": "140305673586272"}, {"nodeId": "140305673586720"}]}, "140305673586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673586720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673587168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627452064": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619596032"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598608"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598160"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588064"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588512"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588960"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589408"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589856"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673590304"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619596032": {"type": "Union", "items": [{"nodeId": "140305631705152"}, {"nodeId": "N"}]}, "140305631705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619598608": {"type": "Union", "items": [{"nodeId": "140305643942208"}, {"nodeId": "N"}]}, "140305643942208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619598160": {"type": "Union", "items": [{"nodeId": "140305640403936"}, {"nodeId": "N"}]}, "140305640403936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602600784"}, {"nodeId": "140305602601120"}, {"nodeId": "140305602601456"}, {"nodeId": "140305602601680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140305602600784": {"type": "Union", "items": [{"nodeId": "140305602561408"}, {"nodeId": "N"}]}, "140305602561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601120": {"type": "Union", "items": [{"nodeId": "140305602561856"}, {"nodeId": "N"}]}, "140305602561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602601456": {"type": "Union", "items": [{"nodeId": "140305602562080"}, {"nodeId": "N"}]}, "140305602562080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305673588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561632"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561184"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673588960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602562304"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602562304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673589408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "140305602602464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602602464": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305673589856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305673590304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627452400": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619540272": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673594336"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140305619540272"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305673594336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540272", "args": [{"nodeId": ".1.140305619540272"}]}], "returnType": {"nodeId": ".1.140305619540272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540272": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540272", "variance": "COVARIANT"}, "140305627452736": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673595232"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305627452736"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305673595232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452736", "args": [{"nodeId": ".1.140305627452736"}]}], "returnType": {"nodeId": ".1.140305627452736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627452736": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "def": "140305627452736", "variance": "COVARIANT"}, "140305627767728": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602603696"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767392"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767840"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627767728"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767728"}]}], "isAbstract": false}, "140305602603696": {"type": "Overloaded", "items": [{"nodeId": "140305673766048"}, {"nodeId": "140305673766496"}, {"nodeId": "140305673766944"}]}, "140305673766048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "N"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602606048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627767728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767728", "variance": "INVARIANT"}, "140305602606048": {"type": "Union", "items": [{"nodeId": ".1.140305627767728"}, {"nodeId": "N"}]}, "140305673766496": {"type": "Function", "typeVars": [".-1.140305673766496"], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602563200"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673766496"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602563200": {"type": "Function", "typeVars": [".-1.140305602563200"], "argTypes": [{"nodeId": ".-1.140305602563200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602563200": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602563200", "variance": "INVARIANT"}, ".-1.140305673766496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673766496", "variance": "INVARIANT"}, "140305673766944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602562976"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602562976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627767728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673767392": {"type": "Function", "typeVars": [".-1.140305673767392"], "argTypes": [{"nodeId": ".-1.140305673767392"}], "returnType": {"nodeId": ".-1.140305673767392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673767392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673767392", "variance": "INVARIANT"}, "140305673767840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": ".1.140305627767728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627453072": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673774560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305627453072"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305673774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453072", "args": [{"nodeId": ".1.140305627453072"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627453072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453072", "variance": "COVARIANT"}, "140305627768064": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602606160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929440"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929888"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768064"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768064"}]}], "isAbstract": false}, "140305602606160": {"type": "Overloaded", "items": [{"nodeId": "140305673779040"}, {"nodeId": "140305673779488"}, {"nodeId": "140305673779936"}, {"nodeId": "140305673780384"}, {"nodeId": "140305673780832"}, {"nodeId": "140305673928992"}]}, "140305673779040": {"type": "Function", "typeVars": [".-1.140305673779040"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565440"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779040"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627768064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768064", "variance": "INVARIANT"}, "140305602565440": {"type": "Function", "typeVars": [".-1.140305602565440"], "argTypes": [{"nodeId": ".-1.140305602565440"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602565440": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565440", "variance": "INVARIANT"}, ".-1.140305673779040": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779040", "variance": "INVARIANT"}, "140305673779488": {"type": "Function", "typeVars": [".-1.140305673779488", ".-2.140305673779488"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564768"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779488"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779488"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305602564768": {"type": "Function", "typeVars": [".-1.140305602564768", ".-2.140305602564768"], "argTypes": [{"nodeId": ".-1.140305602564768"}, {"nodeId": ".-2.140305602564768"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602564768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-2.140305602564768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-1.140305673779488": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, ".-2.140305673779488": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, "140305673779936": {"type": "Function", "typeVars": [".-1.140305673779936", ".-2.140305673779936", ".-3.140305673779936"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564992"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673779936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305602564992": {"type": "Function", "typeVars": [".-1.140305602564992", ".-2.140305602564992", ".-3.140305602564992"], "argTypes": [{"nodeId": ".-1.140305602564992"}, {"nodeId": ".-2.140305602564992"}, {"nodeId": ".-3.140305602564992"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140305602564992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-2.140305602564992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-3.140305602564992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-1.140305673779936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-2.140305673779936": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-3.140305673779936": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, "140305673780384": {"type": "Function", "typeVars": [".-1.140305673780384", ".-2.140305673780384", ".-3.140305673780384", ".-4.140305673780384"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565664"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305602565664": {"type": "Function", "typeVars": [".-1.140305602565664", ".-2.140305602565664", ".-3.140305602565664", ".-4.140305602565664"], "argTypes": [{"nodeId": ".-1.140305602565664"}, {"nodeId": ".-2.140305602565664"}, {"nodeId": ".-3.140305602565664"}, {"nodeId": ".-4.140305602565664"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140305602565664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-2.140305602565664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-3.140305602565664": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-4.140305602565664": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-1.140305673780384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-2.140305673780384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-3.140305673780384": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-4.140305673780384": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, "140305673780832": {"type": "Function", "typeVars": [".-1.140305673780832", ".-2.140305673780832", ".-3.140305673780832", ".-4.140305673780832", ".-5.140305673780832"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565888"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305673780832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140305602565888": {"type": "Function", "typeVars": [".-1.140305602565888", ".-2.140305602565888", ".-3.140305602565888", ".-4.140305602565888", ".-5.140305602565888"], "argTypes": [{"nodeId": ".-1.140305602565888"}, {"nodeId": ".-2.140305602565888"}, {"nodeId": ".-3.140305602565888"}, {"nodeId": ".-4.140305602565888"}, {"nodeId": ".-5.140305602565888"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140305602565888": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-2.140305602565888": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-3.140305602565888": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-4.140305602565888": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-5.140305602565888": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-1.140305673780832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-2.140305673780832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-3.140305673780832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-4.140305673780832": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-5.140305673780832": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, "140305673928992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602566112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140305602566112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305673929440": {"type": "Function", "typeVars": [".-1.140305673929440"], "argTypes": [{"nodeId": ".-1.140305673929440"}], "returnType": {"nodeId": ".-1.140305673929440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673929440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673929440", "variance": "INVARIANT"}, "140305673929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619540608": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673940640"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140305619540608"}], "bases": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619540608"}]}], "protocolMembers": ["flush", "write"]}, "140305673940640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540608", "args": [{"nodeId": ".1.140305619540608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540608", "variance": "CONTRAVARIANT"}, "140305627453408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673941984"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673941984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453408", "args": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}]}, {"nodeId": ".1.140305627453408"}], "returnType": {"nodeId": ".2.140305627453408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "CONTRAVARIANT"}, ".2.140305627453408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "COVARIANT"}, "140305627453744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942432"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453744", "args": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}]}, {"nodeId": ".1.140305627453744"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140305627453744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140305627453744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "CONTRAVARIANT"}, ".2.140305627453744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "COVARIANT"}, "140305627454080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942880"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454080", "args": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}]}, {"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}], "returnType": {"nodeId": ".3.140305627454080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305627454080": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".2.140305627454080": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".3.140305627454080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "COVARIANT"}, "140305627768400": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602929360"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674138592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139040"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139488"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140305627768400"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768400"}]}], "isAbstract": false}, "140305602929360": {"type": "Overloaded", "items": [{"nodeId": "140305674137696"}, {"nodeId": "140305674138144"}]}, "140305674137696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627768400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768400", "variance": "INVARIANT"}, "140305674138144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619085888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669324384"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619085888"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "__len__"]}, "140305669323936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085888", "variance": "COVARIANT"}, "140305669324384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619085888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305674138592": {"type": "Function", "typeVars": [".-1.140305674138592"], "argTypes": [{"nodeId": ".-1.140305674138592"}], "returnType": {"nodeId": ".-1.140305674138592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674138592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674138592", "variance": "INVARIANT"}, "140305674139040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": ".1.140305627768400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674139488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627454416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140384"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454416"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454416", "args": [{"nodeId": ".1.140305627454416"}]}], "returnType": {"nodeId": ".1.140305627454416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627454416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454416", "variance": "COVARIANT"}, "140305627454752": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140832"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454752"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454752", "args": [{"nodeId": ".1.140305627454752"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627454752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627454752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454752", "variance": "COVARIANT"}, "140305619540944": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619083200", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140305619083536", "args": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140305619083200": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320352"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__add__"]}, "140305669320352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083200", "args": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}]}, {"nodeId": ".1.140305619083200"}], "returnType": {"nodeId": ".2.140305619083200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083200": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "CONTRAVARIANT"}, ".2.140305619083200": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "COVARIANT"}, "140305619083536": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320800"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__radd__"]}, "140305669320800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083536", "args": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}]}, {"nodeId": ".1.140305619083536"}], "returnType": {"nodeId": ".2.140305619083536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083536": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "CONTRAVARIANT"}, ".2.140305619083536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "COVARIANT"}, "140305627768736": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602931488"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674266976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674267424"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768736"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768736"}]}], "isAbstract": false}, "140305602931488": {"type": "Overloaded", "items": [{"nodeId": "140305674261600"}, {"nodeId": "140305674262048"}, {"nodeId": "140305674262496"}, {"nodeId": "140305674262944"}, {"nodeId": "140305674263392"}, {"nodeId": "140305674263840"}]}, "140305674261600": {"type": "Function", "typeVars": [".-1.140305674261600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674261600"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140305674261600": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674261600", "variance": "INVARIANT"}, "140305602933616": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674261600"}]}, "140305674262048": {"type": "Function", "typeVars": [".-1.140305674262048", ".-2.140305674262048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262048"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262048"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140305674262048": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, ".-2.140305674262048": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, "140305602933840": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262048"}, {"nodeId": ".-2.140305674262048"}]}, "140305674262496": {"type": "Function", "typeVars": [".-1.140305674262496", ".-2.140305674262496", ".-3.140305674262496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262496"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140305674262496": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-2.140305674262496": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-3.140305674262496": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, "140305602934064": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262496"}, {"nodeId": ".-2.140305674262496"}, {"nodeId": ".-3.140305674262496"}]}, "140305674262944": {"type": "Function", "typeVars": [".-1.140305674262944", ".-2.140305674262944", ".-3.140305674262944", ".-4.140305674262944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674262944"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934288"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140305674262944": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-2.140305674262944": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-3.140305674262944": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-4.140305674262944": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, "140305602934288": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262944"}, {"nodeId": ".-2.140305674262944"}, {"nodeId": ".-3.140305674262944"}, {"nodeId": ".-4.140305674262944"}]}, "140305674263392": {"type": "Function", "typeVars": [".-1.140305674263392", ".-2.140305674263392", ".-3.140305674263392", ".-4.140305674263392", ".-5.140305674263392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305674263392"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140305674263392": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-2.140305674263392": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-3.140305674263392": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-4.140305674263392": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-5.140305674263392": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, "140305602934512": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674263392"}, {"nodeId": ".-2.140305674263392"}, {"nodeId": ".-3.140305674263392"}, {"nodeId": ".-4.140305674263392"}, {"nodeId": ".-5.140305674263392"}]}, "140305674263840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140305674266976": {"type": "Function", "typeVars": [".-1.140305674266976"], "argTypes": [{"nodeId": ".-1.140305674266976"}], "returnType": {"nodeId": ".-1.140305674266976"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674266976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674266976", "variance": "INVARIANT"}, "140305674267424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768736", "args": [{"nodeId": ".1.140305627768736"}]}], "returnType": {"nodeId": ".1.140305627768736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627768736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768736", "variance": "COVARIANT"}, "140305627455088": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305627455760": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456096": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456432": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619584832"}}], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305619584832": {"type": "TypeAlias", "target": {"nodeId": "140305631426848"}}, "140305631426848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627456768": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627457104": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457440": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457776": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458112": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458448": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674270560"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629120"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674270560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627458448"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825088"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140305597825088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627458784": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459120": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459456": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271008"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054848"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632056752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674271008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627459456"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825200"}, {"nodeId": "140305597825312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140305597825200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597825312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632056752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627459792": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460128": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460464": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460800": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461136": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461472": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461808": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054400"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054288"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054960"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054736"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632051936"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632053504"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305632054400": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632051936": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632053504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627462144": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462480": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462816": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627463152": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627643968": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644304": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644640": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459456"}], "isAbstract": false}, "140305627644976": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645312": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645648": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627460464"}], "isAbstract": false}, "140305627645984": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646320": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646656": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646992": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647328": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647664": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648000": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648336": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627648672": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649008": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649344": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649680": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650016": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650352": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650688": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627651024": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651360": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651696": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461808"}], "isAbstract": false}, "140305627652032": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627651696"}], "isAbstract": false}, "140305627652368": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305627652704": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627652704"}, {"nodeId": "140305627449712"}, {"nodeId": "140305597825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305597825424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627653040": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653040"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305627653376": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674272352"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674272352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653376"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305627653712": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627654048": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654384": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654720": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655056": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655392": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655728": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656064": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656736": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657072": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657408": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305619080512": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317216"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305669317216": {"type": "Function", "typeVars": [".-1.140305669317216"], "argTypes": [{"nodeId": "140305619080512"}, {"nodeId": ".-1.140305669317216"}], "returnType": {"nodeId": ".-1.140305669317216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305669317216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669317216", "variance": "INVARIANT"}, "140305619080848": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317664"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305619080848"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__next__"]}, "140305669317664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080848", "args": [{"nodeId": ".1.140305619080848"}]}], "returnType": {"nodeId": ".1.140305619080848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080848", "variance": "COVARIANT"}, "140305619081184": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318112"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305619081184"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305669318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081184", "args": [{"nodeId": ".1.140305619081184"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305619081184"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619081184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081184", "variance": "COVARIANT"}, "140305619082192": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319456"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140305619082192"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__le__"]}, "140305669319456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082192", "args": [{"nodeId": ".1.140305619082192"}]}, {"nodeId": ".1.140305619082192"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082192": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082192", "variance": "CONTRAVARIANT"}, "140305619082528": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319904"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140305619082528"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__ge__"]}, "140305669319904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082528", "args": [{"nodeId": ".1.140305619082528"}]}, {"nodeId": ".1.140305619082528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082528": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082528", "variance": "CONTRAVARIANT"}, "140305619082864": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082192", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082528", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140305619083872": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321248"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__sub__"]}, "140305669321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083872", "args": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}]}, {"nodeId": ".1.140305619083872"}], "returnType": {"nodeId": ".2.140305619083872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083872": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "CONTRAVARIANT"}, ".2.140305619083872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "COVARIANT"}, "140305619084208": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321696"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rsub__"]}, "140305669321696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084208", "args": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}]}, {"nodeId": ".1.140305619084208"}], "returnType": {"nodeId": ".2.140305619084208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084208": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "CONTRAVARIANT"}, ".2.140305619084208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "COVARIANT"}, "140305619084544": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322144"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__divmod__"]}, "140305669322144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084544", "args": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}]}, {"nodeId": ".1.140305619084544"}], "returnType": {"nodeId": ".2.140305619084544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084544": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "CONTRAVARIANT"}, ".2.140305619084544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "COVARIANT"}, "140305619084880": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322592"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rdivmod__"]}, "140305669322592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084880", "args": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}]}, {"nodeId": ".1.140305619084880"}], "returnType": {"nodeId": ".2.140305619084880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619084880": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "CONTRAVARIANT"}, ".2.140305619084880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "COVARIANT"}, "140305619085216": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323040"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305619085216"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305669323040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085216", "args": [{"nodeId": ".1.140305619085216"}]}], "returnType": {"nodeId": ".1.140305619085216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085216", "variance": "COVARIANT"}, "140305619085552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323488"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305619085552"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305669323488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085552", "args": [{"nodeId": ".1.140305619085552"}]}], "returnType": {"nodeId": ".1.140305619085552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619085552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085552", "variance": "COVARIANT"}, "140305619086560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303648"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["items"]}, "140305707303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086560", "args": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305606899776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, ".2.140305619086560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, "140305606899776": {"type": "Tuple", "items": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}, "140305619087232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304992"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305440"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140305707304992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619087232": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "CONTRAVARIANT"}, ".2.140305619087232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "COVARIANT"}, "140305707305440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": ".1.140305619087232"}], "returnType": {"nodeId": ".2.140305619087232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305888"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306336"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "bases": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140305707305888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305619087568": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "CONTRAVARIANT"}, ".2.140305619087568": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "INVARIANT"}, "140305707306336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087904": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306784"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["fileno"]}, "140305707306784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619088576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307680"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088576"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707307680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088576", "args": [{"nodeId": ".1.140305619088576"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088576", "variance": "COVARIANT"}, "140305619088912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308128"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088912"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707308128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088912", "args": [{"nodeId": ".1.140305619088912"}]}], "returnType": {"nodeId": ".1.140305619088912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619088912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088912", "variance": "COVARIANT"}, "140305619089584": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707309472"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140305619089584"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707309472": {"type": "Function", "typeVars": [".-1.140305707309472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619089584"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305707309472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140305619089584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089584", "variance": "COVARIANT"}, ".-1.140305707309472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707309472", "variance": "INVARIANT"}, "140305635974768": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707310592"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["find_spec"]}, "140305707310592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615236880"}, {"nodeId": "140305615236992"}], "returnType": {"nodeId": "140305615237104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305615236880": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305615236992": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305635968720": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848576"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594063488"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849248"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849024"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719637184", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631427184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690197376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686069312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305594063488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849248": {"type": "Union", "items": [{"nodeId": "140305635968384"}, {"nodeId": "N"}]}, "140305635968384": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196480"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["load_module"]}, "140305690196480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968384"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305631849024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631427184": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012480": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652468416"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694224"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694448"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869968"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635868848"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573147168"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652469312"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305652468416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611076800"}, {"nodeId": "140305611076912"}, {"nodeId": "A"}, {"nodeId": "140305611077136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140305611076800": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305628013488": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648429856"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430304"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430752"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648431200"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648429856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305648430752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611310240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305611310240": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305648431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305611076912": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611077136": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305619694224": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619694448": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635869968": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305635868848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573147168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611077248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652469312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690197376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615225344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140305615225344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305686069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305615237104": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305619541280": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589339296"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340192"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340416"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340640"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340864"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341088"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341312"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341536"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341760"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341984"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342208"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342432"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342656"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342880"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343104"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343776"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237328"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237776"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237776": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238112"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238560"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238560": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238784"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238784": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238896"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541616": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589344896"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345344"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345568"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345792"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346016"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346240"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346464"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346688"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346912"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347136"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347360"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589344896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239120"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239232": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239344"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239344": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239456"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239456": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239792": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239904": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240016"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240016": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240128": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240240"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240240": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541952": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348704"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348928"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349152"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349600"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349824"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350048"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350272"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350496"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305619592560"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589348928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240688"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240688": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240800"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240912"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615241024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615241024": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405120": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619592560": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305635975104": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619591328"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681621376"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619591328": {"type": "TypeAlias", "target": {"nodeId": "140305614677248"}}, "140305614677248": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305681621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975104"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619542288": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352512"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352736"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352960"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353184"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405456"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405456": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405568": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405680": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589353184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405792": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619542624": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353408"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436704"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436928"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437152"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437376"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405904": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406016"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406016": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406128": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406240"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406240": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305635975440": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680272"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597040"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597264"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631422928"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614680272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305619597040": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305619597264": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631422928": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305619542960": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440288"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440736"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305631423152"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305619691312"}]}], "isAbstract": false}, "140305589440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615408928"}], "returnType": {"nodeId": "140305615409040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615408928": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305619586624": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631421920": {"type": "Union", "items": [{"nodeId": "140305631705600"}, {"nodeId": "N"}]}, "140305631705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619594016": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305615409040": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305589440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615409152"}], "returnType": {"nodeId": "140305615409264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615409152": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305615409264": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631423152": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305619691312": {"type": "Union", "items": [{"nodeId": "140305602572160"}, {"nodeId": "N"}]}, "140305602572160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627658080": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920992"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658080"}], "bases": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305627658080"}]}], "isAbstract": false}, "140305681920992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658080", "args": [{"nodeId": ".1.140305627658080"}]}, {"nodeId": "140305606274944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658080": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658080", "variance": "COVARIANT"}, "140305606274944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658080"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658416": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681921440"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658416"}], "bases": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305627658416"}]}], "isAbstract": false}, "140305681921440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658416", "args": [{"nodeId": ".1.140305627658416"}]}, {"nodeId": "140305606274272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658416": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658416", "variance": "COVARIANT"}, "140305606274272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658416"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658752": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305627452064"}], "isAbstract": false}, "140305627659088": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618954480": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681923456"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569359328"}}], "typeVars": [{"nodeId": ".1.140305618954480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__enter__", "__exit__"]}, "140305681923456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}], "returnType": {"nodeId": ".1.140305618954480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305618954480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954480", "variance": "COVARIANT"}, "140305569359328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}, {"nodeId": "140305606343056"}, {"nodeId": "140305606343168"}, {"nodeId": "140305606343280"}], "returnType": {"nodeId": "140305606343392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606343056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343168": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343280": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343392": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618954816": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606267328"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569356864"}}], "typeVars": [{"nodeId": ".1.140305618954816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140305606267328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618954816"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305618954816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954816", "variance": "COVARIANT"}, "140305569356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}, {"nodeId": "140305606343616"}, {"nodeId": "140305606343728"}, {"nodeId": "140305606343840"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606343952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606343616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343728": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343840": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343952": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955152": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669555584"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669555584": {"type": "Function", "typeVars": [".-1.140305669555584"], "argTypes": [{"nodeId": "140305618955152"}, {"nodeId": ".-1.140305669555584"}], "returnType": {"nodeId": ".-1.140305669555584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669555584": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140305694307744"}, "def": "140305669555584", "variance": "INVARIANT"}, "140305694307744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618955488": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556032"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643945120"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556480"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618955488"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305618955152"}], "isAbstract": false}, "140305669556032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606267104"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618955488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618955488", "variance": "COVARIANT"}, "140305606267104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305618955488"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643945120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305669556480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606344512"}, {"nodeId": "140305606492224"}, {"nodeId": "140305606492336"}], "returnType": {"nodeId": "140305606492448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606344512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606492224": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606492336": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606492448": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955824": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669557376": {"type": "Function", "typeVars": [".-1.140305669557376"], "argTypes": [{"nodeId": "140305618955824"}, {"nodeId": ".-1.140305669557376"}], "returnType": {"nodeId": ".-1.140305669557376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669557376": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140305694307968"}, "def": "140305669557376", "variance": "INVARIANT"}, "140305694307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618956160": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557824"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643942880"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606268672"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618956160"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305618955824"}], "isAbstract": false}, "140305669557824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606268896"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618956160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618956160", "variance": "COVARIANT"}, "140305606268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305618956160"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305606268672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606492896"}, {"nodeId": "140305606493008"}, {"nodeId": "140305606493120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606493232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140305606492896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493008": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493120": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606493232": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618956496": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close"]}, "140305669560064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956496"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618956832": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560960"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618956832"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618956832"}]}], "isAbstract": false}, "140305669560512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": ".1.140305618956832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618956832": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140305618956496"}, "def": "140305618956832", "variance": "INVARIANT"}, "140305669560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618957168": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561408"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["aclose"]}, "140305669561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957168"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618957504": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606269568"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618957504"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618957504"}]}], "isAbstract": false}, "140305669561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": ".1.140305618957504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618957504": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140305618957168"}, "def": "140305618957504", "variance": "INVARIANT"}, "140305606269568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140305618957840": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669562752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563200"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140305669562752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140305669563200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "140305606493568"}, {"nodeId": "140305606493680"}, {"nodeId": "140305606493792"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493680": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493792": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564096"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618958176"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618958176"}]}], "isAbstract": false}, "140305669563648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": ".1.140305618958176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140305618958176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958176", "variance": "INVARIANT"}, "140305627320544": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305669564096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": "140305606493904"}, {"nodeId": "140305606494016"}, {"nodeId": "140305606494128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494016": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140305618958512"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958512"}]}], "isAbstract": false}, ".1.140305618958512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958512", "variance": "INVARIANT"}, "140305618958848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140305618958848"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958848"}]}], "isAbstract": false}, ".1.140305618958848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958848", "variance": "INVARIANT"}, "140305618959184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564544"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564992"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565440"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565888"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566336"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567232"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669564544": {"type": "Function", "typeVars": [".-1.140305669564544"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669564544"}]}], "returnType": {"nodeId": ".-1.140305669564544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669564544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669564544", "variance": "INVARIANT"}, "140305669564992": {"type": "Function", "typeVars": [".-1.140305669564992"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": ".-1.140305669564992"}], "returnType": {"nodeId": ".-1.140305669564992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669564992": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669564992", "variance": "INVARIANT"}, "140305614604208": {"type": "Union", "items": [{"nodeId": "140305618954480", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614603984"}]}, "140305614603984": {"type": "TypeAlias", "target": {"nodeId": "140305636402432"}}, "140305636402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627326480"}, {"nodeId": "140305627325920"}, {"nodeId": "140305627326144"}], "returnType": {"nodeId": "140305627326256"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627326480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627325920": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627326144": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627326256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669565440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606269792"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606269792": {"type": "Function", "typeVars": [".-2.140305606269792"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606269792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606269792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606269792", "variance": "INVARIANT"}, "140305606270016": {"type": "Function", "typeVars": [".-2.140305606270016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270016"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270016", "variance": "INVARIANT"}, "140305669565888": {"type": "Function", "typeVars": [".-1.140305669565888"], "argTypes": [{"nodeId": ".-1.140305669565888"}], "returnType": {"nodeId": ".-1.140305669565888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669565888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669565888", "variance": "INVARIANT"}, "140305669566336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669566784": {"type": "Function", "typeVars": [".-1.140305669566784"], "argTypes": [{"nodeId": ".-1.140305669566784"}], "returnType": {"nodeId": ".-1.140305669566784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305669566784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669566784", "variance": "INVARIANT"}, "140305669567232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606493456"}, {"nodeId": "140305606494352"}, {"nodeId": "140305606494464"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494352": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494464": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567680"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606270240"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568576"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569024"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569472"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569920"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568128"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669701696"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702592"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702144"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669567680": {"type": "Function", "typeVars": [".-1.140305669567680"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669567680"}]}], "returnType": {"nodeId": ".-1.140305669567680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669567680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669567680", "variance": "INVARIANT"}, "140305606270240": {"type": "Function", "typeVars": [".-1.140305606270240"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954816", "args": [{"nodeId": ".-1.140305606270240"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305606270240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305606270240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270240", "variance": "INVARIANT"}, "140305669568576": {"type": "Function", "typeVars": [".-1.140305669568576"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669568576"}], "returnType": {"nodeId": ".-1.140305669568576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669568576": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669568576", "variance": "INVARIANT"}, "140305669569024": {"type": "Function", "typeVars": [".-1.140305669569024"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669569024"}], "returnType": {"nodeId": ".-1.140305669569024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669569024": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140305614605216"}, "def": "140305669569024", "variance": "INVARIANT"}, "140305614605216": {"type": "Union", "items": [{"nodeId": "140305618954816", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614605552"}]}, "140305614605552": {"type": "TypeAlias", "target": {"nodeId": "140305643942432"}}, "140305643942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627330400"}, {"nodeId": "140305627328048"}, {"nodeId": "140305627330064"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305627330176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627330400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627328048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627330064": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627330176": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669569472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606266656"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606266656": {"type": "Function", "typeVars": [".-2.140305606266656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606266656"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606266656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606266656", "variance": "INVARIANT"}, "140305606270464": {"type": "Function", "typeVars": [".-2.140305606270464"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270464"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270464", "variance": "INVARIANT"}, "140305669569920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606265760"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606265760": {"type": "Function", "typeVars": [".-2.140305606265760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606265760"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606265760": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606265760", "variance": "INVARIANT"}, "140305606270912": {"type": "Function", "typeVars": [".-2.140305606270912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606270912"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270912", "variance": "INVARIANT"}, "140305669568128": {"type": "Function", "typeVars": [".-1.140305669568128"], "argTypes": [{"nodeId": ".-1.140305669568128"}], "returnType": {"nodeId": ".-1.140305669568128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669568128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669568128", "variance": "INVARIANT"}, "140305669701696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669702592": {"type": "Function", "typeVars": [".-1.140305669702592"], "argTypes": [{"nodeId": ".-1.140305669702592"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305669702592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669702592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669702592", "variance": "INVARIANT"}, "140305669702144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606495024"}, {"nodeId": "140305606495360"}, {"nodeId": "140305606495472"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305719629456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606495024": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606495360": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606495472": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618959856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606494912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704832"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669703936"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669705280"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618959856"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618959856"}]}], "isAbstract": false}, ".1.140305618959856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618959856", "variance": "INVARIANT"}, "140305606494912": {"type": "Overloaded", "items": [{"nodeId": "140305669703040"}, {"nodeId": "140305669703488"}]}, "140305669703040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140305669703488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": ".1.140305618959856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140305669704384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": ".1.140305618959856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305669704832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305669703936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618959856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669705280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140305635979472": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585174368"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585172800"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171904"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171232"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585170560"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610334704"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610388784"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389568"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389792"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669716704"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717152"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717600"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169216"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610390912"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949024"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949472"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949920"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979472"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305585174368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979472", "variance": "INVARIANT"}, "140305585172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585171904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389344": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305585171232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305585170560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635979808": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194400"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194176"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590353984"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590354880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610391360"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491040"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491824"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492272"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492720"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493168"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493840"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610494288"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959328"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959776"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669960224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979808"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305590194400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979808": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979808", "variance": "INVARIANT"}, "140305590194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590354880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": ".1.140305635979808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391360": {"type": "Overloaded", "items": [{"nodeId": "140305669952160"}, {"nodeId": "140305627207648"}]}, "140305669952160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610491936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610491936": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492048"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492048": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492160": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491040": {"type": "Overloaded", "items": [{"nodeId": "140305669953056"}, {"nodeId": "140305627211008"}]}, "140305669953056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492384": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627211008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492496"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492608": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491824": {"type": "Overloaded", "items": [{"nodeId": "140305669953952"}, {"nodeId": "140305627207424"}]}, "140305669953952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492832": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492944"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610493056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493056": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610492272": {"type": "Overloaded", "items": [{"nodeId": "140305669954848"}, {"nodeId": "140305627201600"}]}, "140305669954848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493392": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305627201600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610493504"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493728"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493504": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493728": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "A"}]}, "140305610492720": {"type": "Overloaded", "items": [{"nodeId": "140305669955744"}, {"nodeId": "140305627201824"}]}, "140305669955744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627201824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494064"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493168": {"type": "Overloaded", "items": [{"nodeId": "140305669956640"}, {"nodeId": "140305627202048"}]}, "140305669956640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494400"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493840": {"type": "Overloaded", "items": [{"nodeId": "140305669957536"}, {"nodeId": "140305627205408"}]}, "140305669957536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610494624"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627204960"}]}, "140305627204960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627205408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494848"}, {"nodeId": "140305610495072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494848": {"type": "Union", "items": [{"nodeId": "140305610494736"}, {"nodeId": "140305627208544"}]}, "140305610494736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627208544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610494960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610494960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495072": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610494288": {"type": "Overloaded", "items": [{"nodeId": "140305669958432"}, {"nodeId": "140305627204288"}]}, "140305669958432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610495296"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610495520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627205632"}]}, "140305627205632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305627204288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610495744"}, {"nodeId": "140305610495968"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610496192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495744": {"type": "Union", "items": [{"nodeId": "140305610495632"}, {"nodeId": "140305627204736"}]}, "140305610495632": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627204736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610495856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610496192": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305669959328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669959776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669960224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305610334704": {"type": "Overloaded", "items": [{"nodeId": "140305669712672"}, {"nodeId": "140305627216384"}]}, "140305669712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305627216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610389680"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305610389680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610388784": {"type": "Overloaded", "items": [{"nodeId": "140305669713568"}, {"nodeId": "140305669714016"}, {"nodeId": "140305669714464"}]}, "140305669713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390016"}], "returnType": {"nodeId": "140305610390240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305610390016": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390240": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669714464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390352"}, {"nodeId": "140305610390464"}, {"nodeId": "140305610390576"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610390800"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140305610390352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390800": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305610389568": {"type": "Overloaded", "items": [{"nodeId": "140305669714912"}, {"nodeId": "140305669715360"}]}, "140305669714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391136": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669715360": {"type": "Function", "typeVars": [".-1.140305669715360"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669715360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669715360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669715360", "variance": "INVARIANT"}, "140305610391248": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669715360"}]}, "140305610389792": {"type": "Overloaded", "items": [{"nodeId": "140305669715808"}, {"nodeId": "140305669716256"}]}, "140305669715808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490032": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669716256": {"type": "Function", "typeVars": [".-1.140305669716256"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669716256"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669716256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669716256", "variance": "INVARIANT"}, "140305610490144": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669716256"}]}, "140305669716704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490256"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490256": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490368": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490480"}], "returnType": {"nodeId": "140305610490704"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490480": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610490704": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305585169216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610490928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305610390912": {"type": "Overloaded", "items": [{"nodeId": "140305669948128"}, {"nodeId": "140305669948576"}]}, "140305669948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305669948576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610491264"}], "returnType": {"nodeId": "140305610491488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610491264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610491488": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669949024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669949472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669949920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619543296": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305635967040": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598344192"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632063584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593660832"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743040"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690829632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690830080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614957792"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305598344192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305614960256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614960256": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305632063584": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305593660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598743040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690829632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305635967376"}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "140305614960704"}, {"nodeId": "140305614960816"}, {"nodeId": "140305614960928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140305614960704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614960816": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "N"}]}, "140305614960928": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305690830080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614957792": {"type": "Overloaded", "items": [{"nodeId": "140305690830528"}, {"nodeId": "140305690830976"}]}, "140305690830528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "N"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305690830976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305719629120"}, {"nodeId": "140305614961488"}], "returnType": {"nodeId": "140305635970400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305614961488": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305635970400": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594255616"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256064"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256288"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256512"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256736"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686082752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686083200"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594255616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229040": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305594256064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229264": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305594256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305635970064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635970064": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686079616"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686079616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970064"}, {"nodeId": "140305615228816"}, {"nodeId": "140305615228928"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305615228816": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305615228928": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305594256512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686082752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "140305640406176"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305640406176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686083200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635968048": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195136"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195584"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196032"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690194688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305690195136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690195584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635969056": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594064608"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686070656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071552"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614958464"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}], "bases": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "isAbstract": false}, "140305594064608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305615225680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, ".2.140305635969056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "CONTRAVARIANT"}, ".3.140305635969056": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, "140305615225680": {"type": "Union", "items": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": ".2.140305635969056"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614958464": {"type": "Overloaded", "items": [{"nodeId": "140305686072000"}, {"nodeId": "140305686072448"}]}, "140305686072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "0"}, {"nodeId": "140305615225904"}, {"nodeId": "140305615226016"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615225904": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615226016": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615226128"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615226128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635969392": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594068416"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073344"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073792"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686074240"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614961376"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686075584"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686076032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}], "bases": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "isAbstract": false}, "140305594068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305615226352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "COVARIANT"}, ".2.140305635969392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "CONTRAVARIANT"}, "140305615226352": {"type": "Union", "items": [{"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686073344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686073792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686074240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": ".2.140305635969392"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614961376": {"type": "Overloaded", "items": [{"nodeId": "140305640402816"}, {"nodeId": "140305686074688"}]}, "140305640402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "0"}, {"nodeId": "140305615227024"}, {"nodeId": "140305615227136"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227024": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615227136": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686074688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615227360"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686075584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686076032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635969728": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594071776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077376"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077824"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686078272"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615227248"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}], "bases": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "isAbstract": false}, "140305594071776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305615228144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, ".2.140305635969728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "CONTRAVARIANT"}, ".3.140305635969728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, "140305615228144": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305615228032"}]}, {"nodeId": "N"}]}, "140305615228032": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305686077376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686077824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140305635969728"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686078272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": ".2.140305635969728"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305615227248": {"type": "Overloaded", "items": [{"nodeId": "140305686078720"}, {"nodeId": "140305686079168"}]}, "140305686078720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "0"}, {"nodeId": "140305615228480"}, {"nodeId": "140305615228592"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228480": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615228592": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686079168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615228704"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635970736": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258080"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258528"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686084992"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305615229936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229936": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "140305635968720"}]}, "140305594258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594258752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686084992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635971072": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594259872"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260544"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841728"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685841280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685841728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305635971408": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594261888"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262336"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262560"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685843968"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844416"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844864"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685843968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685844416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305685844864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635971744": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594264800"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265248"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685846656"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685847104"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685846656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685847104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635972080": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594266592"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267040"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685848896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685848896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685849344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635973088": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322496"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322720"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686185344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686184448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686184896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686185344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635973424": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324064"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324512"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686188032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594324064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686187136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686187584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686188032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635974096": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686194304"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686194304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627772096": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686196768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197664"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686196768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627772432": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199456"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199904"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690263840"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264288"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264736"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265184"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265632"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266080"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266976"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305686199456": {"type": "Function", "typeVars": [".-1.140305686199456"], "argTypes": [{"nodeId": ".-1.140305686199456"}], "returnType": {"nodeId": ".-1.140305686199456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305686199456": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686199456", "variance": "INVARIANT"}, "140305686199904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305690263840": {"type": "Function", "typeVars": [".-1.140305690263840"], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": ".-1.140305690263840"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305690263840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690263840", "variance": "INVARIANT"}, "140305690264288": {"type": "Function", "typeVars": [".-1.140305690264288"], "argTypes": [{"nodeId": ".-1.140305690264288"}, {"nodeId": ".-1.140305690264288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305690264288": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690264288", "variance": "INVARIANT"}, "140305690264736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690266080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690266528": {"type": "Function", "typeVars": [".-1.140305690266528"], "argTypes": [{"nodeId": ".-1.140305690266528"}, {"nodeId": ".-1.140305690266528"}], "returnType": {"nodeId": ".-1.140305690266528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266528": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266528", "variance": "INVARIANT"}, "140305690266976": {"type": "Function", "typeVars": [".-1.140305690266976"], "argTypes": [{"nodeId": ".-1.140305690266976"}, {"nodeId": ".-1.140305690266976"}], "returnType": {"nodeId": ".-1.140305690266976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266976": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266976", "variance": "INVARIANT"}, "140305627773104": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614674560"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597901376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690274592"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275488"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614674560": {"type": "Overloaded", "items": [{"nodeId": "140305690273248"}, {"nodeId": "140305690273696"}]}, "140305690273248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614781824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614781824": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305690273696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305597901376": {"type": "Function", "typeVars": [".-1.140305597901376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305597901376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305597901376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305597901376", "variance": "INVARIANT"}, "140305690274592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690275488": {"type": "Function", "typeVars": [".-1.140305690275488"], "argTypes": [{"nodeId": ".-1.140305690275488"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305690275488"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305690275488": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690275488", "variance": "INVARIANT"}, "140305627773440": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631852832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276832"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631852832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305631849696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690275936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614773536"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614777680"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140305614773536": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305614777680": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690276384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627774112": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279072"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279520"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850480": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614778464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140305614778464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614576256": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305548305888"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275328"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275552"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275104"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274880"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274656"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274432"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273984"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273760"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273536"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543269728"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543268608"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305543431776"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548305888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305543275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543233232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543233232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543269728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231328"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231216"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231216": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543431776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305614576592": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140305619090256": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556631424"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686433344"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669296"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225392"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305556631424": {"type": "Tuple", "items": []}, "140305686433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619090256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614669296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225392": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225504": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619090592": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619090928": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337280": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556816272"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305619090928"}], "isAbstract": false}, "140305556816272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619337616": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556817280"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556817280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619347696": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337952": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556818288"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619337280"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556818288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619338960": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619338288": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556819632"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556819632": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619338624": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556820528"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556820528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619339296": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556822544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614676688"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556822544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534896": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552245248"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232224"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619232448"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668960"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552245248": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535232": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552246480"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669072"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552246480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614669072": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232224": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305619232448": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668960": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305614676688": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339632": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556824000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671872"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556824000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671872": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339968": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825232"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825232": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535568": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552247376"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552247376": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619340304": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614672320"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825680": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614672320": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619340640": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556826576"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556826576": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619340976": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556827920"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556827920": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619341312": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556829040"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668176"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556829040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668176": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305619454656": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552008112"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552008112": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455664": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619453312": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552002848"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552002848": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453984": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552006208"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552006208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619458016": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619341648": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556830384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671088"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668288"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556830384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671088": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305614668288": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619341984": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556831840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556831840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342320": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551688752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551688752": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342656": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551689648"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551689648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342992": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551690768"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551690768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619343328": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551691888"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551691888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536240": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552249392"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232672"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552249392": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232672": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619343664": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693008"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693008": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619344000": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693904"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668400"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668624"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693904": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668400": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668624": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619344336": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551695360"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619534560"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551695360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534560": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552013712"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232112"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619534224"}], "isAbstract": false}, "140305552013712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232000": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619534224": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619344672": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551696704"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668736"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551696704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668736": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619345008": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551697488"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551697488": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619535904": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552248384"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232336"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552248384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345344": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551698832"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551698832": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345680": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551699504"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551699504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346016": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551700400"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551700400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346352": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551701296"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551701296": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346688": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347024": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347360": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619348032": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551702416"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619457008"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551702416": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619457008": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619348368": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551703648"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551703648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619348704": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551852144"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619462720"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551852144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619462720": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619349040": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551853152"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551853152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349376": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551854384"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551854384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349712": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551855280"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619226176"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551855280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619226176": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619350048": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551856064"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551856064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619350384": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551857184"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551857184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619533888": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552012704"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552012704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619350720": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551858192"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551858192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351056": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551859424"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551859424": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351392": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551860320"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551860320": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351728": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551861104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551861104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352064": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862000"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614673104"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614673104": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619352400": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862896"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862896": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352736": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551864240"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619464400"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551864240": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619464400": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619353072": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551865360"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551865360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619451968": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551866480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225952"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551866480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225952": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619452304": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551867152"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551867152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619452640": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552000048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225728"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231440"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552000048": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225728": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619231440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448704"}]}, "140305619452976": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552001616"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619454656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552001616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453648": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552004528"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231664"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231776"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231888"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552004528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619231664": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231776": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231888": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619454320": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552007104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552007104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619454992": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552009120"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552009120": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455328": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552010128"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552010128": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619456000": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456336": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456672": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619457344": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619457680": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619458352": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619458688": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459024": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459360": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459696": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460032": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460368": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460704": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461040": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461376": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461712": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462048": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462384": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619463056": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463392": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463728": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464064": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464736": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465072": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465408": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465744": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466080": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466416": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466752": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467088": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467424": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467760": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619536576": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552250400"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619537248"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305552250400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619537248": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251072"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619536912"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232784"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552251072": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536912": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619232784": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619537584": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619537920": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251520"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232896"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619232896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305619538256": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251856"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619538592": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252192"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233232"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619233232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619538928": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252976"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233344"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252976": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539264": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253760"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253760": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619539600": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253984"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233456"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233568"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253984": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233456": {"type": "Union", "items": [{"nodeId": "140305619536912"}, {"nodeId": "N"}]}, "140305619233568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539936": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552254208"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552254208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305628004752": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}, {"nodeId": "140305627462816"}], "isAbstract": false}, "140305628005088": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686434912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435360"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435808"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436256"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436704"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437152"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437600"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438048"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438496"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305640401248"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438944"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439392"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439840"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440288"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440736"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441184"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631703808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442080"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442528"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577282464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443424"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686434912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686435808": {"type": "Function", "typeVars": [".-1.140305686435808"], "argTypes": [{"nodeId": ".-1.140305686435808"}], "returnType": {"nodeId": ".-1.140305686435808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686435808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686435808", "variance": "INVARIANT"}, "140305686436256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611065936"}, {"nodeId": "140305611066048"}, {"nodeId": "140305611066160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305611065936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305611066048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305611066160": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640401248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686438944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686439840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066272": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686441184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686441632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611066384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686442080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066496"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066496": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686442528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305577282464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686443424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140305611066608": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628005424": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443872"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444320"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444768"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445216"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686443872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686444320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066720"}], "returnType": {"nodeId": "140305611066832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066720": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305611066832": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686444768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066944"}], "returnType": {"nodeId": "140305611067056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305611067056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686445216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305611067168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067168": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628005760": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628005424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445664"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692128"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693024"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693920"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686445664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}], "returnType": {"nodeId": "140305628005424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686692128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067280": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686692576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067392"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067392": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686693024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067504": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686693472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067616"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067616": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686693920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628006096": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686694368"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577293216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695712"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696160"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140305628005424"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305619692992": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305619122912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305619122688"}]}, "140305619122688": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619112272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627766048"}]}]}, "140305619543968": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581390784"}}], "typeVars": [{"nodeId": ".1.140305619543968"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305581390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619543968", "args": [{"nodeId": ".1.140305619543968"}]}], "returnType": {"nodeId": ".1.140305619543968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619543968": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619543968", "variance": "COVARIANT"}, "140305686694368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611067728"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611067952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140305611067728": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305611067952": {"type": "Union", "items": [{"nodeId": "140305611067840"}, {"nodeId": "N"}]}, "140305611067840": {"type": "TypeAlias", "target": {"nodeId": "140305635951776"}}, "140305635951776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305577293216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611068064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686695712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686696160": {"type": "Function", "typeVars": [".-1.140305686696160"], "argTypes": [{"nodeId": ".-1.140305686696160"}], "returnType": {"nodeId": ".-1.140305686696160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686696160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686696160", "variance": "INVARIANT"}, "140305628006432": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697504"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697952"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698400"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686696608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140305611068176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686697056": {"type": "Function", "typeVars": [".-1.140305686697056"], "argTypes": [{"nodeId": ".-1.140305686697056"}], "returnType": {"nodeId": ".-1.140305686697056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686697056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686697056", "variance": "INVARIANT"}, "140305686697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068288"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628006768": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698848"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699744"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686698848": {"type": "Function", "typeVars": [".-1.140305686698848"], "argTypes": [{"nodeId": ".-1.140305686698848"}], "returnType": {"nodeId": ".-1.140305686698848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686698848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686698848", "variance": "INVARIANT"}, "140305686699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628007104": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701088"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686700192": {"type": "Function", "typeVars": [".-1.140305686700192"], "argTypes": [{"nodeId": ".-1.140305686700192"}], "returnType": {"nodeId": ".-1.140305686700192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686700192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686700192", "variance": "INVARIANT"}, "140305686700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305611068400"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628007440": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701536"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701984"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628006768"}, {"nodeId": "140305628007104"}], "isAbstract": false}, "140305686701536": {"type": "Function", "typeVars": [".-1.140305686701536"], "argTypes": [{"nodeId": ".-1.140305686701536"}], "returnType": {"nodeId": ".-1.140305686701536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686701536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686701536", "variance": "INVARIANT"}, "140305686701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007440"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628007776": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702880"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}], "isAbstract": false}, "140305686702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305628005424"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140305686702880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628008112": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614769840"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704224"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704672"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706016"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706464"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305614769840": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619692656": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305686703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305611068512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068512": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628008448": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706912"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577704608"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577771072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772416"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628008112"}, {"nodeId": "140305627763696"}], "isAbstract": false}, "140305686706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305611068624"}, {"nodeId": "140305611068736"}, {"nodeId": "140305611068848"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305577704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305611068960"}, {"nodeId": "140305611069072"}, {"nodeId": "140305611069184"}, {"nodeId": "140305611069296"}, {"nodeId": "140305611069408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069184": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305611069408": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305665295968": {"type": "Function", "typeVars": [".-1.140305665295968"], "argTypes": [{"nodeId": ".-1.140305665295968"}], "returnType": {"nodeId": ".-1.140305665295968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305665295968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665295968", "variance": "INVARIANT"}, "140305665296416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665296864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665297312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665297760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628008784": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305665299104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}, {"nodeId": "140305611069520"}, {"nodeId": "140305611069632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140305611069520": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305665299552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614575584": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300448"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577784064"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665301344"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": false}, "140305665300000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069744"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140305611069744": {"type": "Union", "items": [{"nodeId": "140305619079504"}, {"nodeId": "N"}]}, "140305619079504": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648546336"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560222656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648546336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893280"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606893280": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305648547232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648547680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "140305606893504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893504": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648548128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893728": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305665300448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069968"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305611069968": {"type": "Union", "items": [{"nodeId": "140305611069856"}, {"nodeId": "140305627449712"}]}, "140305611069856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305577784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}], "returnType": {"nodeId": "140305611070080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611070080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305665301344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611070304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611070304": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305618823744": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618823408"}], "isAbstract": false}, "140305614570208": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439584"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440032"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440928"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665441376"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570208"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665439584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140305614570208": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140305618823408"}, "def": "140305614570208", "variance": "INVARIANT"}, "140305665440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305665441376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305618824080": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671904"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305665671456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618826096": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618827104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618827440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822496"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": false}, "140305665822496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827440"}, {"nodeId": "140305606340592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340592": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305618827776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822944"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603648"}]}], "isAbstract": false}, "140305665822944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827776"}, {"nodeId": "140305606340704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340704": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614603648": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305618828112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618944400": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618944736": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945072": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945408": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945744": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946080": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614602528"}]}], "isAbstract": false}, "140305614602528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305618950784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305618951120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823392"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603536"}]}], "isAbstract": false}, "140305665823392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951120"}, {"nodeId": "140305606340816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340816": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614603536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618951456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305719629456"}]}], "isAbstract": false}, "140305665823840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305618951792": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140305618951792"}], "bases": [{"nodeId": "140305618824752"}, {"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618951792"}]}], "isAbstract": false}, ".1.140305618951792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618951792", "variance": "INVARIANT"}, "140305618952128": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618952464": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627324240"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824288"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824080"}], "isAbstract": false}, "140305627324240": {"type": "Union", "items": [{"nodeId": "140305627316512"}, {"nodeId": "140305627316288"}]}, "140305627316512": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}]}, "140305627316288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}, {"nodeId": "140305627448032"}]}, "140305665824288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618952128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618952800": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825184"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825632"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305665824736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140305665825184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665825632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305618953136": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953472": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953808": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305618954144": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305614570880": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339696"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146336"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339808"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146784"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665827872"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341488"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830560"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665831008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570880"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": true}, "140305606339696": {"type": "Overloaded", "items": [{"nodeId": "140305665826080"}]}, "140305665826080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305614570880": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570880", "variance": "INVARIANT"}, "140305569146336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606339808": {"type": "Overloaded", "items": [{"nodeId": "140305665826976"}]}, "140305665826976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305569146784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665827872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305606341376": {"type": "Overloaded", "items": [{"nodeId": "140305665828320"}, {"nodeId": "140305665828768"}]}, "140305665828320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665828768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606341488": {"type": "Overloaded", "items": [{"nodeId": "140305665829216"}, {"nodeId": "140305665829664"}]}, "140305665829216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665829664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665830112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665830560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665831008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635980144": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656293728"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294176"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read", "readline"]}, "140305656293728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656294176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635980816": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635981152": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981488": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981824": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305635955584"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305643939744"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656463648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464096"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464992"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465440"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465888"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635955584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140305635882848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635882848": {"type": "TypeAlias", "target": {"nodeId": "140305635877360"}}, "140305635877360": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305635880944"}, {"nodeId": "140305635879824"}, {"nodeId": "140305635878480"}, {"nodeId": "140305635877248"}]}, "140305635880944": {"type": "Tuple", "items": [{"nodeId": "140305636401312"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305636401312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635879824": {"type": "Tuple", "items": [{"nodeId": "140305636401760"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140305636401760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878480": {"type": "Tuple", "items": [{"nodeId": "140305635954912"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878368"}]}, "140305635954912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878368": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877248": {"type": "Tuple", "items": [{"nodeId": "140305635955136"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878144"}, {"nodeId": "140305635877136"}]}, "140305635955136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878144": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877136": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305643939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635982160": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305635954464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656466336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467232"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467680"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656468128"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635954464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656466336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305635980144"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610610880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140305610610880": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305656467232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656467680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656468128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140305656463648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610609984"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610610096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140305610609984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610610096": {"type": "TypeAlias", "target": {"nodeId": "140305631416544"}}, "140305631416544": {"type": "Union", "items": [{"nodeId": "140305711245664"}, {"nodeId": "N"}]}, "140305711245664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656464096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305656464992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656465440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656465888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305635982496": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656470144"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471040"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471488"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471936"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472384"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472832"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473280"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474176"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474624"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610607408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305635982496"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "isAbstract": false}, "140305656470144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140305635982496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982496", "variance": "INVARIANT"}, "140305656471040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140305656471488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656471936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656473280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656473728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656474176": {"type": "Function", "typeVars": [".-1.140305656474176", ".-2.140305656474176"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474176"}, {"nodeId": ".-2.140305656474176"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617264"}, {"nodeId": "140305610617376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474176": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, ".-2.140305656474176": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, "140305610617264": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474176"}]}, "140305610617376": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474176"}]}, "140305656474624": {"type": "Function", "typeVars": [".-1.140305656474624", ".-2.140305656474624"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474624"}, {"nodeId": ".-2.140305656474624"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617488"}, {"nodeId": "140305610617824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474624": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, ".-2.140305656474624": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, "140305610617488": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474624"}]}, "140305610617824": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474624"}]}, "140305610607408": {"type": "Overloaded", "items": [{"nodeId": "140305656475072"}, {"nodeId": "140305656475520"}]}, "140305656475072": {"type": "Function", "typeVars": [".-1.140305656475072"], "argTypes": [{"nodeId": ".-1.140305656475072"}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": ".-1.140305656475072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475072", "variance": "INVARIANT"}, "140305656475520": {"type": "Function", "typeVars": [".-1.140305656475520"], "argTypes": [{"nodeId": ".-1.140305656475520"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305610618160"}]}], "returnType": {"nodeId": ".-1.140305656475520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475520", "variance": "INVARIANT"}, "140305610618160": {"type": "Tuple", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "140305619543632": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581620720"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581430080"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427840"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581428064"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426048"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427392"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426944"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427168"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426496"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426720"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425600"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425824"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426272"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425376"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424704"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424928"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581391232"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305581620720": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581430080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619056": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619168"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619168": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619280": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619392"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619392": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619504"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619504": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619616"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619616": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619728": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619840": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619952"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619952": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620064": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620176": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620288": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305635982832": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581386976"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581387200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720000"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720448"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720896"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721344"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721792"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722240"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722688"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635982832"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305581386976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635982832": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982832", "variance": "INVARIANT"}, "140305581387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652720896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652721344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652721792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610620736"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610620736": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305614766928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305652722240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652722688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619544304": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581808592"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581380928"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379584"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379360"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379136"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378912"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378688"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378464"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378240"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378016"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377792"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377568"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581808592": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817824"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817824": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818048": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818160"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818160": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818272": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818384": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818496"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818496": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619544640": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581810272"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581376000"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581375072"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581370592"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581374624"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581373952"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581810272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819504"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581375072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819616"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581370592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819728"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819728": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581374624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819840"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581373952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819952"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819952": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619544976": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581813744"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581368352"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581367904"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581813744": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581368352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581367904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619545312": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247424"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247872"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653248320"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140305619545312"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}]}, {"nodeId": "140305618954480", "args": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}]}], "isAbstract": false}, "140305653247424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619545312": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619545312", "variance": "INVARIANT"}, "140305653247872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305653248320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619545648": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648135616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648136064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305648135616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}, {"nodeId": "140305628008448"}, {"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140305635977120": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614681952"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680048"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681568"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631420128"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418560"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615410048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167520"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167968"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168416"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168864"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169312"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169760"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170208"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632171104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635977120"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681952": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305619585392": {"type": "Union", "items": [{"nodeId": "140305619590992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305619591104"}]}]}, "140305619590992": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619591104": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305614680048": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, ".1.140305635977120": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635977120", "variance": "INVARIANT"}, "140305619681568": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631420128": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631418560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305615410048": {"type": "Overloaded", "items": [{"nodeId": "140305627212352"}, {"nodeId": "140305631700896"}, {"nodeId": "140305631701344"}, {"nodeId": "140305631701792"}, {"nodeId": "140305631702240"}, {"nodeId": "140305631702688"}]}, "140305627212352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610334816"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610335040"}, {"nodeId": "140305610335264"}, {"nodeId": "140305610335488"}, {"nodeId": "140305610335712"}, {"nodeId": "140305610335824"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610336160"}, {"nodeId": "140305610336384"}, {"nodeId": "140305610336496"}, {"nodeId": "140305610336720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610336832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610336944"}, {"nodeId": "140305610337056"}, {"nodeId": "140305610337168"}, {"nodeId": "140305610337392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610334816": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610335040": {"type": "Union", "items": [{"nodeId": "140305610334928"}, {"nodeId": "N"}]}, "140305610334928": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610335264": {"type": "Union", "items": [{"nodeId": "140305610335152"}, {"nodeId": "N"}]}, "140305610335152": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305631422480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}]}, "140305610335488": {"type": "Union", "items": [{"nodeId": "140305610335376"}, {"nodeId": "N"}]}, "140305610335376": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335712": {"type": "Union", "items": [{"nodeId": "140305610335600"}, {"nodeId": "N"}]}, "140305610335600": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335824": {"type": "Union", "items": [{"nodeId": "140305627213248"}, {"nodeId": "N"}]}, "140305627213248": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610336160": {"type": "Union", "items": [{"nodeId": "140305610336048"}, {"nodeId": "N"}]}, "140305610336048": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336384": {"type": "Union", "items": [{"nodeId": "140305610336272"}, {"nodeId": "N"}]}, "140305610336272": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305619681904": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627766048"}, {"nodeId": "140305619594800"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305619681456"}]}]}, "140305619594800": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619681456": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336496": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610336832": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610337056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610337280"}]}, {"nodeId": "N"}]}, "140305610337280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631700896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610337504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610337728"}, {"nodeId": "140305610337952"}, {"nodeId": "140305610338176"}, {"nodeId": "140305610338400"}, {"nodeId": "140305610338512"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610338848"}, {"nodeId": "140305610339072"}, {"nodeId": "140305610339184"}, {"nodeId": "140305610339408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610339520"}, {"nodeId": "140305610339632"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610339744"}, {"nodeId": "140305610339856"}, {"nodeId": "140305610340080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610337504": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610337728": {"type": "Union", "items": [{"nodeId": "140305610337616"}, {"nodeId": "N"}]}, "140305610337616": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610337952": {"type": "Union", "items": [{"nodeId": "140305610337840"}, {"nodeId": "N"}]}, "140305610337840": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338176": {"type": "Union", "items": [{"nodeId": "140305610338064"}, {"nodeId": "N"}]}, "140305610338064": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338400": {"type": "Union", "items": [{"nodeId": "140305610338288"}, {"nodeId": "N"}]}, "140305610338288": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338512": {"type": "Union", "items": [{"nodeId": "140305627208096"}, {"nodeId": "N"}]}, "140305627208096": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610338848": {"type": "Union", "items": [{"nodeId": "140305610338736"}, {"nodeId": "N"}]}, "140305610338736": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610339072": {"type": "Union", "items": [{"nodeId": "140305610338960"}, {"nodeId": "N"}]}, "140305610338960": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610339184": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610339520": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610339744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610339856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610340080": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610339968"}]}, {"nodeId": "N"}]}, "140305610339968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610340192"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610340416"}, {"nodeId": "140305610340640"}, {"nodeId": "140305610340864"}, {"nodeId": "140305610341088"}, {"nodeId": "140305610341200"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610341536"}, {"nodeId": "140305610341760"}, {"nodeId": "0"}, {"nodeId": "140305610342096"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610342208"}, {"nodeId": "140305610375232"}, {"nodeId": "140305610375344"}, {"nodeId": "140305610375456"}, {"nodeId": "140305610375568"}, {"nodeId": "140305610375792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610340192": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610340416": {"type": "Union", "items": [{"nodeId": "140305610340304"}, {"nodeId": "N"}]}, "140305610340304": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610340640": {"type": "Union", "items": [{"nodeId": "140305610340528"}, {"nodeId": "N"}]}, "140305610340528": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610340864": {"type": "Union", "items": [{"nodeId": "140305610340752"}, {"nodeId": "N"}]}, "140305610340752": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341088": {"type": "Union", "items": [{"nodeId": "140305610340976"}, {"nodeId": "N"}]}, "140305610340976": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341200": {"type": "Union", "items": [{"nodeId": "140305627211904"}, {"nodeId": "N"}]}, "140305627211904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610341536": {"type": "Union", "items": [{"nodeId": "140305610341424"}, {"nodeId": "N"}]}, "140305610341424": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610341760": {"type": "Union", "items": [{"nodeId": "140305610341648"}, {"nodeId": "N"}]}, "140305610341648": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610342096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610342208": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610375232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375792": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610375680"}]}, {"nodeId": "N"}]}, "140305610375680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610375904"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610376128"}, {"nodeId": "140305610376352"}, {"nodeId": "140305610376576"}, {"nodeId": "140305610376800"}, {"nodeId": "140305610376912"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610377248"}, {"nodeId": "140305610377472"}, {"nodeId": "140305610377584"}, {"nodeId": "140305610377808"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "0"}, {"nodeId": "140305610378032"}, {"nodeId": "140305610378144"}, {"nodeId": "140305610378256"}, {"nodeId": "140305610378368"}, {"nodeId": "140305610378592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610375904": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610376128": {"type": "Union", "items": [{"nodeId": "140305610376016"}, {"nodeId": "N"}]}, "140305610376016": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610376352": {"type": "Union", "items": [{"nodeId": "140305610376240"}, {"nodeId": "N"}]}, "140305610376240": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376576": {"type": "Union", "items": [{"nodeId": "140305610376464"}, {"nodeId": "N"}]}, "140305610376464": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376800": {"type": "Union", "items": [{"nodeId": "140305610376688"}, {"nodeId": "N"}]}, "140305610376688": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376912": {"type": "Union", "items": [{"nodeId": "140305627202944"}, {"nodeId": "N"}]}, "140305627202944": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610377248": {"type": "Union", "items": [{"nodeId": "140305610377136"}, {"nodeId": "N"}]}, "140305610377136": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610377472": {"type": "Union", "items": [{"nodeId": "140305610377360"}, {"nodeId": "N"}]}, "140305610377360": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610377584": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610377808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610378032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378592": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610378480"}]}, {"nodeId": "N"}]}, "140305610378480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610378704"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610378928"}, {"nodeId": "140305610379152"}, {"nodeId": "140305610379376"}, {"nodeId": "140305610379600"}, {"nodeId": "140305610379712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610380048"}, {"nodeId": "140305610380272"}, {"nodeId": "140305610380496"}, {"nodeId": "140305610380720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610380944"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140305610381056"}, {"nodeId": "140305610381168"}, {"nodeId": "140305610381392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610378704": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610378928": {"type": "Union", "items": [{"nodeId": "140305610378816"}, {"nodeId": "N"}]}, "140305610378816": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610379152": {"type": "Union", "items": [{"nodeId": "140305610379040"}, {"nodeId": "N"}]}, "140305610379040": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379376": {"type": "Union", "items": [{"nodeId": "140305610379264"}, {"nodeId": "N"}]}, "140305610379264": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379600": {"type": "Union", "items": [{"nodeId": "140305610379488"}, {"nodeId": "N"}]}, "140305610379488": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379712": {"type": "Union", "items": [{"nodeId": "140305627206976"}, {"nodeId": "N"}]}, "140305627206976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610380048": {"type": "Union", "items": [{"nodeId": "140305610379936"}, {"nodeId": "N"}]}, "140305610379936": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610380272": {"type": "Union", "items": [{"nodeId": "140305610380160"}, {"nodeId": "N"}]}, "140305610380160": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610380496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610380720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610380944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140305610381056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610381280"}]}, {"nodeId": "N"}]}, "140305610381280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "A"}]}, {"nodeId": "140305610381616"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610381840"}, {"nodeId": "140305610382064"}, {"nodeId": "140305610382288"}, {"nodeId": "140305610382512"}, {"nodeId": "140305610382624"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610382960"}, {"nodeId": "140305610383184"}, {"nodeId": "140305610383296"}, {"nodeId": "140305610383520"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610383632"}, {"nodeId": "140305610383744"}, {"nodeId": "140305610383856"}, {"nodeId": "140305610383968"}, {"nodeId": "140305610384080"}, {"nodeId": "140305610384304"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610381616": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610381840": {"type": "Union", "items": [{"nodeId": "140305610381728"}, {"nodeId": "N"}]}, "140305610381728": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610382064": {"type": "Union", "items": [{"nodeId": "140305610381952"}, {"nodeId": "N"}]}, "140305610381952": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382288": {"type": "Union", "items": [{"nodeId": "140305610382176"}, {"nodeId": "N"}]}, "140305610382176": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382512": {"type": "Union", "items": [{"nodeId": "140305610382400"}, {"nodeId": "N"}]}, "140305610382400": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382624": {"type": "Union", "items": [{"nodeId": "140305627211456"}, {"nodeId": "N"}]}, "140305627211456": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610382960": {"type": "Union", "items": [{"nodeId": "140305610382848"}, {"nodeId": "N"}]}, "140305610382848": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610383184": {"type": "Union", "items": [{"nodeId": "140305610383072"}, {"nodeId": "N"}]}, "140305610383072": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610383296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610383632": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384304": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610384192"}]}, {"nodeId": "N"}]}, "140305610384192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305632167520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "140305610384416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610384416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140305610384528": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305632168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384640"}, {"nodeId": "140305610384752"}], "returnType": {"nodeId": "140305610384976"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140305610384640": {"type": "Union", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": "N"}]}, "140305610384752": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305610384976": {"type": "Tuple", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": ".1.140305635977120"}]}, "140305632168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140305632169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632170208": {"type": "Function", "typeVars": [".-1.140305632170208"], "argTypes": [{"nodeId": ".-1.140305632170208"}], "returnType": {"nodeId": ".-1.140305632170208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305632170208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305632170208", "variance": "INVARIANT"}, "140305632170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610385088"}, {"nodeId": "140305610385200"}, {"nodeId": "140305610385312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610385088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610385200": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610385312": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305632171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305648136064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}], "returnType": {"nodeId": "140305610988944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610988944": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619545984": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576778144"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581358016"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581357120"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356896"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356448"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356672"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305576778144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581358016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990736"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990736": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990624"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990624": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990960"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990960": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991296"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991296": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991408"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991408": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305619546320": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576780384"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581583136"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584256"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584480"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584704"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584928"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576780384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581583136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610992864"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610992864": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993200"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993200": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993536"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993536": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993648"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993648": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993760"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993760": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619546656": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576782176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648285312"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581586272"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576782176": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305648285312": {"type": "Function", "typeVars": [".-1.140305648285312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305648285312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140305648285312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648285312", "variance": "INVARIANT"}, "140305581586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610997008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610997008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305628013152": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628013824": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573384864"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305573384864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628014160": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432096"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432544"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648433440"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383520"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305648432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310352": {"type": "Union", "items": [{"nodeId": "140305635967376"}, {"nodeId": "N"}]}, "140305573383968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305648433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305573383520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611310688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140305611310688": {"type": "Union", "items": [{"nodeId": "140305611310576"}, {"nodeId": "140305627449712"}]}, "140305611310576": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628014496": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573382624"}}], "typeVars": [], "bases": [{"nodeId": "140305628014160"}], "isAbstract": true}, "140305573382624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305628014832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648434784"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318496"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318944"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319392"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305648434784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140305652318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628015168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319840"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320288"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320736"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311024"}], "returnType": {"nodeId": "140305611311136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305611311024": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311136": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311248"}, {"nodeId": "140305611311360"}], "returnType": {"nodeId": "140305611311472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305611311248": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311360": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611311472": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321184"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321632"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322080"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322528"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311584": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311920": {"type": "Tuple", "items": [{"nodeId": "140305611311696"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}]}, "140305611311696": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611312032"}], "returnType": {"nodeId": "140305611312144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140305611312032": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611312144": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322976"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323424"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323872"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652324320"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305652322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305652323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312256"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312368"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573214048"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213600"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212928"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213824"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305573214048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573213600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305573213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628016512": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212032"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211584"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211360"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611310016"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573211136"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210464"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210240"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210016"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140305573212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628016512"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140305611310016": {"type": "Overloaded", "items": [{"nodeId": "140305652329248"}, {"nodeId": "140305652329696"}, {"nodeId": "140305652330144"}, {"nodeId": "140305652330592"}, {"nodeId": "140305652331040"}, {"nodeId": "140305652331488"}, {"nodeId": "140305652331936"}]}, "140305652329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611312592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611312704"}, {"nodeId": "140305611312816"}, {"nodeId": "140305611312928"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611312592": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305619117424": {"type": "Union", "items": [{"nodeId": "140305619119328"}, {"nodeId": "140305619119440"}, {"nodeId": "140305619117312"}]}, "140305619119328": {"type": "TypeAlias", "target": {"nodeId": "140305619116864"}}, "140305619116864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619119440": {"type": "TypeAlias", "target": {"nodeId": "140305619118992"}}, "140305619118992": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619117312": {"type": "TypeAlias", "target": {"nodeId": "140305619121008"}}, "140305619121008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305611312704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313040"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313040": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305619222592": {"type": "Union", "items": [{"nodeId": "140305619122464"}, {"nodeId": "140305619122576"}, {"nodeId": "140305619222928"}]}, "140305619122464": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305619121568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619122576": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305619224048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619222928": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305619225840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313264"}, {"nodeId": "140305611314608"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313264": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305611314608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611315840"}, {"nodeId": "140305611315952"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611315840": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305611315952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611316960"}, {"nodeId": "140305611313712"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611316960": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305611313712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314720"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314720": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305652331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611314272"}, {"nodeId": "140305611316064"}, {"nodeId": "140305611316848"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305573210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314944"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305611314944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573208896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652465952"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466400"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466848"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652467296"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140305628016176"}], "isAbstract": true}, "140305573208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652465952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652467296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619548000": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573145376"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144480"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144032"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143584"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143136"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142912"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142464"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139552"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573140896"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573145376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077360"}], "returnType": {"nodeId": "140305611077472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611077360": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077472": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573144480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077584"}, {"nodeId": "140305611077696"}], "returnType": {"nodeId": "140305611077808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611077584": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077696": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611077808": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573144032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305573139552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077920"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611077920": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573140896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548336": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138880"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139328"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138432"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137984"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137536"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137088"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573136640"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135520"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135296"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573138880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078032"}], "returnType": {"nodeId": "140305611078144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078032": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078144": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573139328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078256"}, {"nodeId": "140305611078368"}], "returnType": {"nodeId": "140305611078480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078256": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078368": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611078480": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573138432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573136640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140305573135520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611078592"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611078592": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573135296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548672": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133920"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133472"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": false}, "140305573133920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078704"}], "returnType": {"nodeId": "140305611078816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078704": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078816": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573133472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078928"}, {"nodeId": "140305611079040"}], "returnType": {"nodeId": "140305611079152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078928": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079040": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079152": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012816": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131904"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131456"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573132352"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131008"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305573131904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140305573131456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140305619547328": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657065120"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572739584"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614770176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305657065120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}, {"nodeId": "140305611074336"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140305611074336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572739584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628012144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067808"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657068256"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140305628011808"}], "isAbstract": false}, "140305657067360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305614574576": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610577216"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354272"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354720"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581121920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639784736"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639785184"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786528"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786976"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787424"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787872"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788320"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788768"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789216"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789664"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790112"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790560"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791008"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791456"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791904"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610606848"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795488"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795936"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796384"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796832"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797280"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797728"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799072"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799520"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799968"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639800416"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639964960"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965408"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965856"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581124384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967200"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967648"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968096"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968544"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968992"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969440"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969888"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639970784"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305610577216": {"type": "Function", "typeVars": [".-1.140305610577216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610612448"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305610577216"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140305610612448": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305619109808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}]}, ".-1.140305610577216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610577216", "variance": "INVARIANT"}, "140305644354272": {"type": "Function", "typeVars": [".-1.140305644354272"], "argTypes": [{"nodeId": ".-1.140305644354272"}], "returnType": {"nodeId": ".-1.140305644354272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305644354272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644354272", "variance": "INVARIANT"}, "140305644354720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610612672"}, {"nodeId": "140305610612784"}, {"nodeId": "140305610612896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610612672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610612784": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610612896": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305581121920": {"type": "Function", "typeVars": [".-1.140305581121920"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581121920"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581121920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581121920", "variance": "INVARIANT"}, "140305639784736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610613008"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610613008": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639785184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140305639786528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639786976": {"type": "Function", "typeVars": [".-1.140305639786976"], "argTypes": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639786976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639786976", "variance": "INVARIANT"}, "140305639787424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639787872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790560": {"type": "Function", "typeVars": [".-1.140305639790560"], "argTypes": [{"nodeId": ".-1.140305639790560"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639790560"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639790560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639790560", "variance": "INVARIANT"}, "140305639791008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140305639791456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305610613120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610613120": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639791904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140305610606848": {"type": "Overloaded", "items": [{"nodeId": "140305639792352"}, {"nodeId": "140305639792800"}, {"nodeId": "140305639793248"}, {"nodeId": "140305639793696"}, {"nodeId": "140305639794144"}, {"nodeId": "140305639794592"}, {"nodeId": "140305639795040"}]}, "140305639792352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613344"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610613456"}, {"nodeId": "140305610613568"}, {"nodeId": "140305610613680"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613344": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305610613456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639792800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613792"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613792": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614016"}, {"nodeId": "140305610615360"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610614016": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305610615360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616592"}, {"nodeId": "140305610616704"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610616592": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305610616704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610617712"}, {"nodeId": "140305610614464"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610617712": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305610614464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615472"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615472": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639795040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610615024"}, {"nodeId": "140305610616816"}, {"nodeId": "140305610617600"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610617600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639795488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639795936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796832": {"type": "Function", "typeVars": [".-1.140305639796832"], "argTypes": [{"nodeId": ".-1.140305639796832"}], "returnType": {"nodeId": ".-1.140305639796832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639796832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639796832", "variance": "INVARIANT"}, "140305639797280": {"type": "Function", "typeVars": [".-1.140305639797280"], "argTypes": [{"nodeId": ".-1.140305639797280"}, {"nodeId": "140305610615696"}], "returnType": {"nodeId": ".-1.140305639797280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797280", "variance": "INVARIANT"}, "140305610615696": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305614573568": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098816"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098368"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098144"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097920"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097696"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097472"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097248"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343520"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343968"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344416"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344864"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576096"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576320"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347104"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347552"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348000"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348448"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348896"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349344"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349792"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575872"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644350688"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351136"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351584"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576992"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581043808"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581044480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644353376"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581098816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610575424": {"type": "Function", "typeVars": [".-1.140305610575424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610611664"}], "returnType": {"nodeId": ".-1.140305610575424"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140305610611664": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, ".-1.140305610575424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575424", "variance": "INVARIANT"}, "140305644343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644344416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610576096": {"type": "Function", "typeVars": [".-1.140305610576096"], "argTypes": [{"nodeId": ".-1.140305610576096"}, {"nodeId": "140305610611776"}], "returnType": {"nodeId": ".-1.140305610576096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576096", "variance": "INVARIANT"}, "140305610611776": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305610576320": {"type": "Function", "typeVars": [".-1.140305610576320"], "argTypes": [{"nodeId": ".-1.140305610576320"}, {"nodeId": "140305610611888"}], "returnType": {"nodeId": ".-1.140305610576320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576320", "variance": "INVARIANT"}, "140305610611888": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644349344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305610612000"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140305610612000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644349792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140305610575872": {"type": "Function", "typeVars": [".-1.140305610575872"], "argTypes": [{"nodeId": ".-1.140305610575872"}, {"nodeId": "140305610612112"}], "returnType": {"nodeId": ".-1.140305610575872"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610575872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575872", "variance": "INVARIANT"}, "140305610612112": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644350688": {"type": "Function", "typeVars": [".-1.140305644350688"], "argTypes": [{"nodeId": ".-1.140305644350688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644350688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140305644350688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644350688", "variance": "INVARIANT"}, "140305644351136": {"type": "Function", "typeVars": [".-1.140305644351136"], "argTypes": [{"nodeId": ".-1.140305644351136"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140305644351136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351136", "variance": "INVARIANT"}, "140305644351584": {"type": "Function", "typeVars": [".-1.140305644351584"], "argTypes": [{"nodeId": ".-1.140305644351584"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140305644351584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351584", "variance": "INVARIANT"}, "140305610576992": {"type": "Function", "typeVars": [".-1.140305610576992"], "argTypes": [{"nodeId": ".-1.140305610576992"}, {"nodeId": "140305610612224"}], "returnType": {"nodeId": ".-1.140305610576992"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610576992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576992", "variance": "INVARIANT"}, "140305610612224": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305581043808": {"type": "Function", "typeVars": [".-1.140305581043808"], "argTypes": [{"nodeId": ".-1.140305581043808"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".-1.140305581043808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581043808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581043808", "variance": "INVARIANT"}, "140305581044480": {"type": "Function", "typeVars": [".-1.140305581044480"], "argTypes": [{"nodeId": ".-1.140305581044480"}], "returnType": {"nodeId": ".-1.140305581044480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581044480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581044480", "variance": "INVARIANT"}, "140305644353376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140305639797728": {"type": "Function", "typeVars": [".-1.140305639797728"], "argTypes": [{"nodeId": ".-1.140305639797728"}, {"nodeId": "140305610618384"}], "returnType": {"nodeId": ".-1.140305639797728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797728", "variance": "INVARIANT"}, "140305610618384": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305639799072": {"type": "Function", "typeVars": [".-1.140305639799072"], "argTypes": [{"nodeId": ".-1.140305639799072"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305639799072"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140305639799072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799072", "variance": "INVARIANT"}, "140305639799520": {"type": "Function", "typeVars": [".-1.140305639799520"], "argTypes": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639799520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799520", "variance": "INVARIANT"}, "140305639799968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639800416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615584"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140305610615584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639964960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610615920": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639965408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140305639965856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140305581124384": {"type": "Function", "typeVars": [".-1.140305581124384"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581124384"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581124384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581124384", "variance": "INVARIANT"}, "140305639967200": {"type": "Function", "typeVars": [".-1.140305639967200"], "argTypes": [{"nodeId": ".-1.140305639967200"}], "returnType": {"nodeId": ".-1.140305639967200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967200", "variance": "INVARIANT"}, "140305639967648": {"type": "Function", "typeVars": [".-1.140305639967648"], "argTypes": [{"nodeId": ".-1.140305639967648"}], "returnType": {"nodeId": ".-1.140305639967648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967648", "variance": "INVARIANT"}, "140305639968096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639968544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610618496"}, {"nodeId": "140305610614352"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305610618496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610614352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639968992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140305610614800": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305639969440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614912"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305610614912": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305639969888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610615808"}, {"nodeId": "140305610616032"}, {"nodeId": "140305610616144"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140305610615808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639970784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610616256": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305657067808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074560"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611074560": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305657068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074672"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611074672": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305628011808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572743424"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742976"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071648"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742304"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741632"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572742528"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741408"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741184"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740704"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740480"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305572743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611073440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611073440": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305611073552"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611073552": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572742080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628011808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140305611071648": {"type": "Overloaded", "items": [{"nodeId": "140305657060192"}, {"nodeId": "140305657060640"}]}, "140305657060192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140305657060640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140305611073776"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140305611073776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611074000"}], "returnType": {"nodeId": "140305628012144"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140305611074000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572741632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628009120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009120": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644731552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644732000"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644586144"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572813440"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140305644731552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644732000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644586144": {"type": "Function", "typeVars": [".-1.140305644586144"], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644586144"}], "returnType": {"nodeId": "140305611071088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644586144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644586144", "variance": "INVARIANT"}, "140305611071088": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140305644586144"}]}, "140305572813440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305611071200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305572742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010800": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181856"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657053472"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572747904"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572749920"}}], "typeVars": [], "bases": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305635869520"}]}], "isAbstract": false}, "140305632181856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305611072320"}], "returnType": {"nodeId": "140305611073104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611072320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305611073104": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305619691088": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305657053472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305572747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572749920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635869520": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305572741408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572741184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074112": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305614575920"}]}, {"nodeId": "N"}]}, "140305614575920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057056"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057504"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057952"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619690864"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692880"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628011808"}}], "typeVars": [], "bases": [{"nodeId": "140305614573904"}], "isAbstract": false}, "140305657057056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305657057504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305657057952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619690864": {"type": "Union", "items": [{"nodeId": "140305628011472"}, {"nodeId": "N"}]}, "140305628011472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657058400"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305657058400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011472"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305619692880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614573904": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305572740704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074224": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305572740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573132352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611079264"}, {"nodeId": "140305611079376"}], "returnType": {"nodeId": "140305611079488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611079264": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079376": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079488": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573131008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309120"}], "returnType": {"nodeId": "140305611309232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611309120": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611309232": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619549008": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656890752"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573130336"}}], "typeVars": [], "bases": [{"nodeId": "140305628015504"}], "isAbstract": false}, "140305656890752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549008"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140305611309456": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305573130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305611309680"}], "returnType": {"nodeId": "140305611015104"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140305611309680": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305611015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628015504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619549344": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656891648"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305656891648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549344"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140305611309792": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619549680": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305614569536": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892544"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892992"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893440"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893888"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894336"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305628014496"}], "isAbstract": false}, "140305656892096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140305656892544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305611309904"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611309904": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305656892992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656893440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305656893888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305656894336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656894784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635978800": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631419568"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631415760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656897920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305631419568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305631415760": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656897920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610388896"}, {"nodeId": "140305610388560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140305610388896": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610388560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635979136": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656898368"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305656898368": {"type": "Function", "typeVars": [".-1.140305656898368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305656898368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140305656898368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656898368", "variance": "INVARIANT"}, "140305619076144": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899488"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899936"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900384"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "seek", "write"]}, "140305656899488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656899936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656900384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619076480": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900832"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901280"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901728"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "read", "seek"]}, "140305656900832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305656901280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656901728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614571216": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619076144"}, {"nodeId": "140305619076480"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140305619076816": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902176"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076816"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888688": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305619077152": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902624"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077152"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888912": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077488": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903072"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077488"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076480"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653408"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653856"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654304"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654752"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655200"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655648"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656096"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656544"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656992"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140305648653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894848"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140305606894848": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140305606894960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648655200": {"type": "Function", "typeVars": [".-1.140305648655200"], "argTypes": [{"nodeId": ".-1.140305648655200"}], "returnType": {"nodeId": ".-1.140305648655200"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648655200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648655200", "variance": "INVARIANT"}, "140305648655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606895072"}, {"nodeId": "140305606895184"}, {"nodeId": "140305606895296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895072": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895184": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606895296": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648656096": {"type": "Function", "typeVars": [".-1.140305648656096"], "argTypes": [{"nodeId": ".-1.140305648656096"}], "returnType": {"nodeId": ".-1.140305648656096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648656096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648656096", "variance": "INVARIANT"}, "140305648656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648656992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606273152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606273152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078832": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543200"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543648"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648543200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892720": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648543648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892944": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077824": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903520"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077824"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572560": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076144"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650272"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650720"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651168"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652064"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652512"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140305648650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648651616": {"type": "Function", "typeVars": [".-1.140305648651616"], "argTypes": [{"nodeId": ".-1.140305648651616"}], "returnType": {"nodeId": ".-1.140305648651616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648651616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648651616", "variance": "INVARIANT"}, "140305648652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305606894288"}, {"nodeId": "140305606894400"}, {"nodeId": "140305606894512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606894288": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606894400": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606894512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606272480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606272480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078160": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903968"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305619079168": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544096"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560240416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544992"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545440"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545888"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648544096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560240416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305648544992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648545440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "140305606893056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305648545888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305606893168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893168": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305619078496": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656904416"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656904416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305614571552": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560256096"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254304"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254528"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252736"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560250496"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252064"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648535584"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305560256096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889136"}], "returnType": {"nodeId": "140305619076816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889136": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889248"}], "returnType": {"nodeId": "140305619077152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889248": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889360"}], "returnType": {"nodeId": "140305619077488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889360": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889472"}], "returnType": {"nodeId": "140305619077824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889472": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560250496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889584"}], "returnType": {"nodeId": "140305619078160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889584": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889696"}], "returnType": {"nodeId": "140305619078496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889696": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305648535584": {"type": "Function", "typeVars": [".-1.140305648535584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305606889024"}, {"nodeId": "140305606889808"}, {"nodeId": "140305606889920"}, {"nodeId": "140305606890032"}, {"nodeId": "140305606890144"}, {"nodeId": "140305606890256"}], "returnType": {"nodeId": ".-1.140305648535584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140305606889024": {"type": "Union", "items": [{"nodeId": "140305619077488"}, {"nodeId": "N"}]}, "140305606889808": {"type": "Union", "items": [{"nodeId": "140305619077824"}, {"nodeId": "N"}]}, "140305606889920": {"type": "Union", "items": [{"nodeId": "140305619078160"}, {"nodeId": "N"}]}, "140305606890032": {"type": "Union", "items": [{"nodeId": "140305619078496"}, {"nodeId": "N"}]}, "140305606890144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606890256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, ".-1.140305648535584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648535584", "variance": "INVARIANT"}, "140305614571888": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548576"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560221760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648549472"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140305619079168"}], "isAbstract": true}, "140305648548576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560221760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305648549472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305614572224": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648648480"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560220640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649376"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": true}, "140305648648480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606893840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606894064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305606893840": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305606894064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305648649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606894176"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606894176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305614573232": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614571216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657888"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658336"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658784"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659232"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660128"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660576"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661024"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661472"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661920"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662368"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662816"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663264"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663712"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648664160"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648779552"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780000"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780448"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780896"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781344"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781792"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763696"}], "isAbstract": false}, "140305648657440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140305648657888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895632"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606895632": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895744"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606895744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648659680": {"type": "Function", "typeVars": [".-1.140305648659680"], "argTypes": [{"nodeId": ".-1.140305648659680"}], "returnType": {"nodeId": ".-1.140305648659680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648659680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648659680", "variance": "INVARIANT"}, "140305648660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648661920": {"type": "Function", "typeVars": [".-1.140305648661920"], "argTypes": [{"nodeId": ".-1.140305648661920"}], "returnType": {"nodeId": ".-1.140305648661920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648661920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648661920", "variance": "INVARIANT"}, "140305648662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895856"}, {"nodeId": "140305606895968"}, {"nodeId": "140305606896080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895968": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896080": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648662816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648663264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648664160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648779552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606896304"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896304": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619079840": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782240"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782688"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784032"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784928"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785376"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785824"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786272"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786720"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787168"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787616"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788064"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788512"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789408"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789856"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790304"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790752"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791200"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791648"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763360"}], "isAbstract": false}, "140305648782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140305648782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896528"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606896528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648784480": {"type": "Function", "typeVars": [".-1.140305648784480"], "argTypes": [{"nodeId": ".-1.140305648784480"}], "returnType": {"nodeId": ".-1.140305648784480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648784480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648784480", "variance": "INVARIANT"}, "140305648784928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648785376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648785824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648786272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648786720": {"type": "Function", "typeVars": [".-1.140305648786720"], "argTypes": [{"nodeId": ".-1.140305648786720"}], "returnType": {"nodeId": ".-1.140305648786720"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648786720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648786720", "variance": "INVARIANT"}, "140305648787168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896752"}, {"nodeId": "140305606896864"}, {"nodeId": "140305606896976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606896752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606896864": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896976": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648787616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648788064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648790304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606897088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606897088": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648790752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635975776": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648795232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643929888"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643930336"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635975776"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305635975776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635975776", "variance": "INVARIANT"}, "140305648795232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}, {"nodeId": "140305615409600"}, {"nodeId": "140305627448032"}, {"nodeId": "140305615409712"}, {"nodeId": "140305615409824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140305615409600": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305615409712": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305615409824": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305643929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305643930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635976112": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635976448": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636405792"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614678256"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681680"}}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636405792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976448"}, {"nodeId": "140305610334144"}, {"nodeId": "140305627448368"}, {"nodeId": "140305610334256"}, {"nodeId": "140305610334032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140305610334144": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614678256": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305619681680": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305635976784": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636406240"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636406240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976784"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610334368"}, {"nodeId": "140305610334480"}, {"nodeId": "140305610334592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140305610334368": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628009792": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572755744"}}], "typeVars": [], "bases": [{"nodeId": "140305627644640"}], "isAbstract": false}, "140305572755744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009792"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010464": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632179616"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754400"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572753728"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754176"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181408"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140305628010128"}], "isAbstract": false}, "140305632179616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072432": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072656"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072656": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072880"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072880": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635869408": {"type": "Union", "items": [{"nodeId": "140305628011808"}, {"nodeId": "N"}]}, "140305632181408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072992"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305611072992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305628010128": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635953344"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952224"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635952000"}}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305635871648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635871088": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305635952448": {"type": "Function", "typeVars": [".-1.140305635952448"], "argTypes": [{"nodeId": ".-1.140305635952448"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635952448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140305635952448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952448", "variance": "INVARIANT"}, "140305635871312": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635953344": {"type": "Function", "typeVars": [".-1.140305635953344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635953344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140305635953344": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635953344", "variance": "INVARIANT"}, "140305635952224": {"type": "Function", "typeVars": [".-1.140305635952224"], "argTypes": [{"nodeId": ".-1.140305635952224"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140305635952224": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952224", "variance": "INVARIANT"}, "140305635952000": {"type": "Function", "typeVars": [".-1.140305635952000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305635952000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140305635952000": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952000", "variance": "INVARIANT"}, "140305628011136": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572746784"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572746112"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572745440"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071760"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628010800"}]}], "isAbstract": false}, "140305572746784": {"type": "Function", "typeVars": [".-1.140305572746784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611073216"}]}], "returnType": {"nodeId": ".-1.140305572746784"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140305611073216": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, ".-1.140305572746784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305572746784", "variance": "INVARIANT"}, "140305572746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572745440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071760": {"type": "Overloaded", "items": [{"nodeId": "140305657056160"}, {"nodeId": "140305657056608"}]}, "140305657056160": {"type": "Function", "typeVars": [".-1.140305657056160"], "argTypes": [{"nodeId": ".-1.140305657056160"}], "returnType": {"nodeId": ".-1.140305657056160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305657056160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305657056160", "variance": "INVARIANT"}, "140305657056608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305619546992": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140305619547328"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572739808"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": true}, "140305572739808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619546992"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140305619547664": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572737568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657066912"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140305619546992"}], "isAbstract": false}, "140305572737568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140305657066912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140305635977456": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635977792": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631420352"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614677696"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590196416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546432"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546880"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547328"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547776"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631420352": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614677696": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305590196416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635546432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305610386096"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305610386096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635546880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140305635978128": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305614681840"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671984"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635977792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635548224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549120"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549568"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550016"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550464"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550912"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551360"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551808"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552256"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681840": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305614679488": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305614678480"}]}, "140305614678480": {"type": "TypeAlias", "target": {"nodeId": "140305614679040"}}, "140305614679040": {"type": "Union", "items": [{"nodeId": "140305614681056"}, {"nodeId": "140305614681616"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305635978128"}]}, {"nodeId": "140305614678816"}, {"nodeId": "140305614678928"}]}, "140305614681056": {"type": "TypeAlias", "target": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631419120"}]}}, "140305631419120": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305627448032"}]}, "140305614681616": {"type": "TypeAlias", "target": {"nodeId": "140305619683024"}}, "140305619683024": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305635978128"}]}]}, "140305614678816": {"type": "TypeAlias", "target": {"nodeId": "140305619682912"}}, "140305619682912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}, {"nodeId": "140305635978128"}]}, "140305614678928": {"type": "TypeAlias", "target": {"nodeId": "140305614683520"}}, "140305614683520": {"type": "Tuple", "items": [{"nodeId": "140305619585504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}]}, "140305619585504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614671984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635548224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305635977792"}, {"nodeId": "140305610386320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140305610386320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305610386208"}]}, {"nodeId": "N"}]}, "140305610386208": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635549120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140305635549568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635550016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386768": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305635550464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386656"}], "returnType": {"nodeId": "140305610386880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610386880": {"type": "Union", "items": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386432"}]}, "140305610386432": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635550912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387216"}, {"nodeId": "140305610387104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305610387216": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610387104": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610387440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140305610387440": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140305610387328": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635552256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305610387664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305635547328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140305635547776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140305635978464": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614679600"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553152"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553600"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554048"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554496"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590191712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635555840"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556288"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556736"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614679600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635552704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305635553152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140305635553600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305610387776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635554048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140305635554496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140305590191712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635555840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635556288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140305635556736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305635978800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140305619089920": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648980640"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648980640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089920"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009456": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587040"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587488"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587936"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644588384"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140305644587040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305628020208": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628019200"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770064"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619697136"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305618816016"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589504"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589952"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590400"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590848"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591296"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591744"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592192"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592640"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594432"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594880"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595776"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596224"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596672"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597120"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597568"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598016"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598464"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598912"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599360"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599808"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600256"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600704"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644011584"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012032"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012480"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012928"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013376"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013824"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644014272"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314160"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644015616"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016064"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016512"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016960"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017408"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017856"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018304"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019200"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019648"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628019200": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690499152"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690508000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713440"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713888"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714336"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714784"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568616224"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568615328"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614432"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614880"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568613760"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305690499152": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690508000": {"type": "Union", "items": [{"nodeId": "140305674260256"}, {"nodeId": "N"}]}, "140305674260256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640712992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305611319984"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611320096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140305611319984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611320096": {"type": "Union", "items": [{"nodeId": "140305611024288"}, {"nodeId": "N"}]}, "140305611024288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640713440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628019200"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140305640713888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305618816016": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640711648"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305640711648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618816016"}, {"nodeId": "140305606334096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140305606334096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640714336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305640714784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305611320320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305568616224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568615328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611320768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568614432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568614880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568613760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305614770064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619697136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644589504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644589952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140305644590400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644590848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628020208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140305644591296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322224"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140305611322224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305644591744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322448"}, {"nodeId": "140305611322560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140305611322448": {"type": "TypeAlias", "target": {"nodeId": "140305648864608"}}, "140305648864608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305628020208"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305611322560": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305619696912": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618823072": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288560"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288112"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703808"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704256"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704704"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705152"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705600"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706496"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305694288560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288224": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640703360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140305640703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305606335664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606335664": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140305640705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640706496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644592192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140305611322672": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322784": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644593088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611322896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611323008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611323008": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323120": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644596672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323456": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305611323232"}]}, "140305611323232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597120": {"type": "Function", "typeVars": [".-1.140305644597120"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597120"}], "returnType": {"nodeId": "140305611323680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597120", "variance": "INVARIANT"}, "140305611323680": {"type": "Union", "items": [{"nodeId": "140305611323568"}, {"nodeId": ".-1.140305644597120"}]}, "140305611323568": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597568": {"type": "Function", "typeVars": [".-1.140305644597568"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597568"}], "returnType": {"nodeId": "140305611323904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597568", "variance": "INVARIANT"}, "140305611323904": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611323792"}]}, {"nodeId": ".-1.140305644597568"}]}, "140305611323792": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140305611324016": {"type": "TypeAlias", "target": {"nodeId": "140305627324576"}}, "140305627324576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "140305627325360"}]}, "140305627325360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305711899344"}, {"nodeId": "140305627449712"}]}, "140305711899344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644598464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140305611324128": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140305644011584": {"type": "Function", "typeVars": [".-1.140305644011584"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644011584"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324464"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140305644011584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644011584", "variance": "INVARIANT"}, "140305611324464": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611324352"}]}, {"nodeId": ".-1.140305644011584"}]}, "140305611324352": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305644012032": {"type": "Function", "typeVars": [".-1.140305644012032"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644012032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140305644012032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644012032", "variance": "INVARIANT"}, "140305611324688": {"type": "Union", "items": [{"nodeId": ".-1.140305644012032"}, {"nodeId": "140305611324576"}]}, "140305611324576": {"type": "TypeAlias", "target": {"nodeId": "140305627325136"}}, "140305627325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305698646592"}]}, "140305698646592": {"type": "Tuple", "items": [{"nodeId": "140305711904048"}, {"nodeId": "140305694618592"}, {"nodeId": "140305627449712"}]}, "140305711904048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694618592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140305644012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140305644013376": {"type": "Function", "typeVars": [".-1.140305644013376"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013376"}], "returnType": {"nodeId": "140305611324912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013376", "variance": "INVARIANT"}, "140305611324912": {"type": "Union", "items": [{"nodeId": ".-1.140305644013376"}, {"nodeId": "140305627449712"}]}, "140305644013824": {"type": "Function", "typeVars": [".-1.140305644013824"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013824"}], "returnType": {"nodeId": "140305611324240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013824", "variance": "INVARIANT"}, "140305611324240": {"type": "Union", "items": [{"nodeId": ".-1.140305644013824"}, {"nodeId": "140305627449712"}]}, "140305644014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140305611314160": {"type": "Overloaded", "items": [{"nodeId": "140305644014720"}, {"nodeId": "140305644015168"}]}, "140305644014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611325136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644015168": {"type": "Function", "typeVars": [".-1.140305644015168"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015168"}], "returnType": {"nodeId": "140305611325248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140305644015168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015168", "variance": "INVARIANT"}, "140305611325248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644015168"}]}, "140305644015616": {"type": "Function", "typeVars": [".-1.140305644015616"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015616"}], "returnType": {"nodeId": "140305606328384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644015616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015616", "variance": "INVARIANT"}, "140305606328384": {"type": "Union", "items": [{"nodeId": ".-1.140305644015616"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305644016064": {"type": "Function", "typeVars": [".-1.140305644016064"], "argTypes": [{"nodeId": ".-1.140305644016064"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305644016064"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305644016064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644016064", "variance": "INVARIANT"}, "140305644016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305606328496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606328496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606328608"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606328608": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328720"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140305606328720": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140305606328832": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644018752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628019200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305644019200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606328944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305606328944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606329280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606329280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305606329056"}]}, "140305606329056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305618812992": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020544"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020992"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021440"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021888"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022336"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022784"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023232"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023680"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024128"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024576"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025024"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025472"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025920"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026368"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026816"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140305628020208"}], "isAbstract": false}, "140305644020096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606329392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305606329392": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305606329504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140305606329504": {"type": "Union", "items": [{"nodeId": "140305628020208"}, {"nodeId": "N"}]}, "140305644020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606329728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606329728": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305618822736": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640708960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709856"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640710304"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640708960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140305640709408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140305640709856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606264864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140305606264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305640710304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627447360"}, {"nodeId": "140305606263072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140305606263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305644022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330176"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330176": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330400": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330512": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644024128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330848"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330848": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644024576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331184"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331184": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331520": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644025920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644026368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606331744"}, {"nodeId": "140305606331856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606331744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606331856": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644026816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618813328": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618812992"}], "isAbstract": false}, "140305614574240": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305614574912": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614573904"}], "isAbstract": false}, "140305614575248": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614574240"}], "isAbstract": false}, "140305618814000": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618814336": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618814672": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815008": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815344": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}, {"nodeId": "140305627462480"}], "isAbstract": false}, "140305618815680": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618816352": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618816688": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817024": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817360": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817696": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818368": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818704": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819040": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819376": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819712": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820048": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820384": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820720": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821392": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712096"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305640712096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618821392"}, {"nodeId": "140305606334208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140305606334208": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618821728": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822064": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822400": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305628019536": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717472"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717920"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640390944"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391392"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391840"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305640717472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321216": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640390944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321328": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305618813664"}]}, "140305618813664": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640395648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396096"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396544"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640397440"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606331968"}, {"nodeId": "140305606332080"}, {"nodeId": "140305606332192"}, {"nodeId": "140305606332304"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140305606331968": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332080": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332192": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606332304": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606332416"}, {"nodeId": "140305606332528"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140305606332416": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}]}, "140305606332528": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606332640"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140305606332640": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305640396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640391392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640391840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305628019872": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643937056"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618822736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392736"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393184"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393632"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394080"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394528"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305643937056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305611321440"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611321552"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611028992"}, {"nodeId": "140305618822736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140305611321440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611321552": {"type": "Union", "items": [{"nodeId": "140305611028768"}, {"nodeId": "N"}]}, "140305611028768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305611028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611321776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611321776": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611322000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}}, "types": {}, "definitions": {"annotation_tests": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140305614579280"}}, "square": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "collection", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543282272"}, "name": "square"}, "not_annotated": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724061024"}, "name": "not_annotated"}, "same_annotations": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305551846176"}, "name": "same_annotations"}, "optional": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543281152"}, "name": "optional"}, "literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548177952"}, "name": "literal"}, "Color": {"kind": "ClassDef", "type": {"nodeId": "140305614579616"}}, "enum_literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467552"}, "name": "enum_literal"}, "abstract_set": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169888"}, "name": "abstract_set"}, "mapping": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548175712"}, "name": "mapping"}, "sequence": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711248352"}, "name": "sequence"}, "supports_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711247456"}, "name": "supports_abs"}, "tuple_": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707090208"}, "name": "tuple_"}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305719630128"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305719630464"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140305719630800"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140305719631136"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305719631472"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140305719631808"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140305719632144"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627758656"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140305627758992"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140305627759328"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140305627759664"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140305627760000"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627760336"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140305719632480"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140305719632816"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140305627760672"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140305627761008"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140305719633152"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140305719633488"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140305719633824"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140305719634160"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140305719634496"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140305719634832"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305627761344"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140305719635168"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140305719635504"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305719635840"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140305719636176"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140305719636512"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140305719636848"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140305719637184"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637520"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637856"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140305627761680"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305627762016"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140305627762352"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305627762688"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638192"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638528"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140305627763024"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763360"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763696"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140305627764032"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627764368"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627764704"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140305719638864"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140305627769072"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140305627769408"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140305627769744"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140305627770080"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140305627659424"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140305619075136"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305619075472"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305619075808"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627770416"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627770752"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627771088"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627771424"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140305627659760"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140305627771760"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140305628017184"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140305628017520"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140305628017856"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140305628018192"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140305614569872"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140305628018528"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140305628018864"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576928"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140305614577264"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140305614577936"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140305614578272"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140305614578608"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140305614578944"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140305719629120"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140305719629456"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140305719629792"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639200"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639536"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140305627447360"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140305627447696"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140305627448032"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140305627448368"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140305627448704"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140305627449040"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140305627449376"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140305627449712"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140305627766048"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140305627766384"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140305627450048"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140305627450384"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140305627450720"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140305627451056"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140305627451392"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140305627766720"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140305627767056"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140305627767392"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140305627451728"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140305627452064"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140305627452400"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619540272"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140305627452736"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140305627767728"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140305627453072"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140305627768064"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140305619540608"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140305627453408"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140305627453744"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140305627454080"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140305627768400"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140305627454416"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140305627454752"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140305619540944"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140305627768736"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140305627455088"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140305627455424"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140305627455760"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140305627456096"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140305627456432"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140305627456768"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627457104"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140305627457440"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140305627457776"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140305627458112"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140305627458448"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140305627458784"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140305627459120"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140305627459456"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627459792"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627460128"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140305627460464"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140305627460800"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140305627461136"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627461472"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140305627461808"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140305627462144"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140305627462480"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140305627462816"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140305627463152"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140305627643968"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140305627644304"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627644640"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140305627644976"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140305627645312"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140305627645648"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140305627645984"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305627646320"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140305627646656"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140305627646992"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647328"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647664"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140305627648000"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140305627648336"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627648672"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140305627649008"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649344"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649680"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140305627650016"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627650352"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140305627650688"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140305627651024"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140305627651360"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140305627651696"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140305627652032"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652368"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652704"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627653040"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140305627653376"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140305627653712"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654048"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654384"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654720"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655056"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655392"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655728"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656064"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656400"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656736"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657072"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657408"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140305619080512"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140305619080848"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140305619081184"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140305619081520"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140305619081856"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140305619082192"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140305619082528"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140305619082864"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083200"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083536"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140305619083872"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140305619084208"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084544"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084880"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140305619085216"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140305619085552"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619085888"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140305619086224"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140305619086560"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619086896"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619087232"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140305619087568"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140305619087904"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140305619088240"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088576"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088912"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140305619089248"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140305619089584"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305635974768"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140305619541280"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541616"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541952"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140305635975104"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542288"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542624"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140305635975440"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140305619542960"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627765040"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627765376"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627765712"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627657744"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658080"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658416"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140305627658752"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140305627659088"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954480"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954816"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955152"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618955488"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955824"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618956160"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140305618956496"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140305618956832"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140305618957168"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140305618957504"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140305618957840"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140305618958176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140305618958512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140305618958848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140305618959856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140305635979472"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140305635979808"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140305619543296"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140305627774448"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635967040"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140305635967376"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140305635967712"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140305635968048"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140305635968384"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140305635968720"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969056"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969392"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140305635969728"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970064"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140305635970400"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970736"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971072"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140305635971408"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971744"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635972080"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140305635972416"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140305635972752"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973088"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973424"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140305635973760"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140305635974096"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140305635974432"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305627772096"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627772432"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627772768"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627773104"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305627773440"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627774112"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140305614576256"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576592"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140305619090256"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140305619090592"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140305619090928"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140305619337280"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305619337616"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140305619337952"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140305619338288"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140305619338624"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140305619338960"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339296"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339632"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339968"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140305619340304"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140305619340640"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140305619340976"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341312"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341648"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140305619341984"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140305619342320"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140305619342656"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140305619342992"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140305619343328"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140305619343664"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140305619344000"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140305619344336"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140305619344672"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140305619345008"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619345344"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140305619345680"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140305619346016"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140305619346352"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140305619346688"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140305619347024"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140305619347360"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140305619347696"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348032"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348368"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348704"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140305619349040"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140305619349376"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140305619349712"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140305619350048"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350384"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350720"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140305619351056"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140305619351392"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140305619351728"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140305619352064"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619352400"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140305619352736"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140305619353072"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140305619451968"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140305619452304"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140305619452640"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140305619452976"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140305619453312"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140305619453648"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140305619453984"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140305619454320"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140305619454656"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140305619454992"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140305619455328"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140305619455664"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140305619456000"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140305619456336"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140305619456672"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140305619457008"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140305619457344"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140305619457680"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140305619458016"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140305619458352"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140305619458688"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140305619459024"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140305619459360"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140305619459696"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140305619460032"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140305619460368"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140305619460704"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140305619461040"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140305619461376"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140305619461712"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140305619462048"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140305619462384"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140305619462720"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140305619463056"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140305619463392"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619463728"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140305619464064"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140305619464400"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140305619464736"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140305619465072"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140305619465408"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140305619465744"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140305619466080"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140305619466416"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140305619466752"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140305619467088"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140305619467424"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140305619467760"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140305619533888"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534224"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534560"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140305619534896"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140305619535232"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140305619535568"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140305619535904"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140305619536240"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140305619536576"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140305619536912"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140305619537248"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140305619537584"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140305619537920"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140305619538256"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140305619538592"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140305619538928"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140305619539264"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140305619539600"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140305619539936"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140305628004752"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005088"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005424"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005760"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006096"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006432"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140305628006768"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140305628007104"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140305628007440"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140305628007776"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628008112"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140305628008448"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140305628008784"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614575584"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140305619080176"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823408"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823744"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614570208"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618824080"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140305618824416"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140305618824752"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140305618825088"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825424"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825760"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140305618826096"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140305618826432"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140305614570544"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140305618826768"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140305618827104"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140305618827440"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140305618827776"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140305618828112"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140305618828448"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140305618828784"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140305618944064"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140305618944400"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140305618944736"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140305618945072"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140305618945408"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140305618945744"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140305618946080"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140305618946416"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140305618946752"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140305618947088"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140305618947424"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140305618947760"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140305618948096"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140305618948432"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140305618948768"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140305618949104"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140305618949440"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140305618949776"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140305618950112"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140305618950448"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140305618950784"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140305618951120"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140305618951456"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140305618951792"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140305618952128"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618952464"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140305618952800"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140305618953136"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140305618953472"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618953808"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618954144"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140305614570880"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140305628004416"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140305635980144"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140305635980480"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140305635980816"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981152"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981488"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140305635981824"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140305635982160"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140305635982496"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140305619543632"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619543968"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140305635982832"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544304"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544640"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140305619544976"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140305619545312"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140305619545648"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140305619545984"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140305619546320"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140305619546656"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140305628013152"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628013824"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014160"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014496"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014832"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015168"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015504"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628015840"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140305628016176"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140305628016512"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140305628016848"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140305628012480"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548000"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548336"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619548672"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628012816"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619549008"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549344"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549680"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614569536"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140305635978800"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140305635979136"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076144"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076480"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140305614571216"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140305619076816"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140305619077152"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305619077488"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305619077824"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078160"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078496"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614571552"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140305619078832"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079168"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079504"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305614571888"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614572224"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614572560"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305614572896"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614573232"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079840"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140305635975776"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976112"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140305635976448"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976784"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140305635977120"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305628009792"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140305628010464"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140305628010800"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140305628011136"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140305614575920"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140305628011472"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140305628011808"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619546992"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619547664"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140305628012144"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140305635977456"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140305635977792"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140305635978128"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140305635978464"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140305619089920"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140305628009456"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140305618812992"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140305618813328"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140305614573568"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614573904"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574240"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140305614574576"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574912"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614575248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140305618823072"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140305618822736"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140305618814000"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814336"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814672"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140305618815008"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140305618815344"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140305618815680"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816016"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816352"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816688"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817024"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817360"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817696"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818032"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818368"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818704"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819040"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819376"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819712"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820048"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820384"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820720"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140305618821056"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821392"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821728"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822064"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822400"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140305628019536"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140305628019872"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140305618813664"}}}}, "names": {"annotation_tests": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "Enum", "kind": "ImportedType", "fullname": "enum.Enum"}, {"name": "datetime", "kind": "Module", "fullname": "datetime"}, {"name": "XXX", "kind": "Other"}, {"name": "A", "kind": "LocalType"}, {"name": "square", "kind": "Other"}, {"name": "not_annotated", "kind": "Other"}, {"name": "same_annotations", "kind": "Other"}, {"name": "optional", "kind": "Other"}, {"name": "literal", "kind": "Other"}, {"name": "Color", "kind": "LocalType"}, {"name": "enum_literal", "kind": "Other"}, {"name": "abstract_set", "kind": "Other"}, {"name": "mapping", "kind": "Other"}, {"name": "sequence", "kind": "Other"}, {"name": "supports_abs", "kind": "Other"}, {"name": "tuple_", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/boruvka.json b/usvm-python/utbot-python-types/src/test/resources/boruvka.json new file mode 100644 index 0000000000..03033a34d8 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/resources/boruvka.json @@ -0,0 +1 @@ +{"nodeStorage": {"139821942966640": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981776"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249024"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249472"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249920"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250368"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250816"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984251264"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984350272"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351168"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351616"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352064"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352512"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352960"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353408"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353856"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354304"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354752"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355200"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355648"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356096"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356544"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356992"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357440"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357888"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358336"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358784"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359232"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359680"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360128"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360576"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361024"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361472"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361920"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362368"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362816"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363264"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363712"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364160"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364608"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365056"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365504"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365952"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984464960"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465408"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465856"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466304"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466752"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981888"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468544"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470784"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472128"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472576"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473024"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473472"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984474368"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821904981776": {"type": "Overloaded", "items": [{"nodeId": "139821984248128"}, {"nodeId": "139821905087392"}]}, "139821984248128": {"type": "Function", "typeVars": [".-1.139821984248128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821984248128"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "139822017680704": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475424"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779120"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850537184"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996860672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996859776"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862016"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863360"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863808"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864256"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864704"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865152"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865600"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866496"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005485632"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005486080"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "139821921475424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "139821942968320": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225376"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980196800"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197248"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197696"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198144"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198592"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225600"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225936"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900226720"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980201728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202624"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203072"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203520"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203968"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980204416"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336192"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336640"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227056"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "isAbstract": false}, "139821900225376": {"type": "Overloaded", "items": [{"nodeId": "139821980193664"}, {"nodeId": "139821980194112"}, {"nodeId": "139821980194560"}, {"nodeId": "139821980195008"}, {"nodeId": "139821980195456"}, {"nodeId": "139821980195904"}, {"nodeId": "139821980196352"}]}, "139821980193664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942968320": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, ".2.139821942968320": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, "139821980194112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821980194560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926231600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000881728"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882176"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "keys"]}, "139822000881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926231600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231600": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "INVARIANT"}, ".2.139821926231600": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "COVARIANT"}, "139822017684736": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896029280"}}], "typeVars": [{"nodeId": ".1.139822017684736"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821896029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017684736"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017684736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684736", "variance": "COVARIANT"}, "139822017685072": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896032192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001359552"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139822017685072"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685072"}]}], "protocolMembers": ["__iter__", "__next__"]}, "139821896032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": ".1.139822017685072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685072", "variance": "COVARIANT"}, "139822001359552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "139822000882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}, {"nodeId": ".1.139821926231600"}], "returnType": {"nodeId": ".2.139821926231600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980195008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821980195456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900226160": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139821980195904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226384"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821900226384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, "139821980196352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942967984": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223472"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065280"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065728"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066176"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066624"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067072"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067520"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980068416"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223584"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980069760"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980070208"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224816"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224928"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980072448"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225152"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980188736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189184"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189632"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190080"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190976"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192768"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980193216"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967984"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821942967984"}]}], "isAbstract": false}, "139821900223472": {"type": "Overloaded", "items": [{"nodeId": "139821980064384"}, {"nodeId": "139821980064832"}]}, "139821980064384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942967984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967984", "variance": "INVARIANT"}, "139821980064832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980065280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980065728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821925480288": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900896224"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821900896224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964960": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975616"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989201280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526880"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850527776"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526656"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989204416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989205760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850525760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989206656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904976736"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989215616"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983989824"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990720"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991168"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991616"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992064"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992512"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992960"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993408"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993856"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994304"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994752"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995200"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995648"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996096"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996544"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996992"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997440"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997888"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998336"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998784"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999680"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000128"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000576"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001024"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001472"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001920"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984002368"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975616": {"type": "Overloaded", "items": [{"nodeId": "139822005497728"}, {"nodeId": "139821989200832"}]}, "139822005497728": {"type": "Function", "typeVars": [".-1.139822005497728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977408"}], "returnType": {"nodeId": ".-1.139822005497728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904977408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821904977296"}, {"nodeId": "139821925466512"}, {"nodeId": "139821925480288"}, {"nodeId": "139821926230928"}]}, "139821904977296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925918064": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925917952"}]}, "139821925473568": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904983008"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476160"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476608"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477056"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984478400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479296"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479744"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984480640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645184"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645632"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646080"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646528"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646976"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647424"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647872"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648320"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648768"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649216"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649664"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650112"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650560"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651008"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652352"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652800"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653248"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653696"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654144"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655488"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655936"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656384"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656832"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657280"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657728"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658176"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658624"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786528"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984659968"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984660416"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905281536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984727552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729344"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729792"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730240"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732480"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821925471552"}], "isAbstract": false}, "139821904983008": {"type": "Overloaded", "items": [{"nodeId": "139821905087840"}, {"nodeId": "139821984475264"}, {"nodeId": "139821984475712"}]}, "139821905087840": {"type": "Function", "typeVars": [".-1.139821905087840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821905282768"}], "returnType": {"nodeId": ".-1.139821905087840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821905282768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821925467520"}, {"nodeId": "139821905282656"}]}, "139821925467520": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895937024"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__bytes__"]}, "139821895937024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467520"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087840", "variance": "INVARIANT"}, "139821984475264": {"type": "Function", "typeVars": [".-1.139821984475264"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821984475264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.139821984475264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475264", "variance": "INVARIANT"}, "139821984475712": {"type": "Function", "typeVars": [".-1.139821984475712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821984475712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475712", "variance": "INVARIANT"}, "139821984476160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984476608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984477056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905282992"}, {"nodeId": "139821905283104"}, {"nodeId": "139821905283216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905282992": {"type": "Union", "items": [{"nodeId": "139821905282880"}, {"nodeId": "139821925480288"}]}, "139821905282880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283104": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283216": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984477504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984477952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905283552"}, {"nodeId": "139821905283664"}, {"nodeId": "139821905283776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905283552": {"type": "Union", "items": [{"nodeId": "139821905283328"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905283440"}]}]}, "139821905283328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942967648": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923648"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924544"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979925888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980057664"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058112"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058560"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980059008"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222688"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060800"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061696"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980062144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967648"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139821942967648"}]}], "isAbstract": false}, "139821979923648": {"type": "Function", "typeVars": [".-1.139821979923648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": ".-1.139821979923648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.139821942967648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967648", "variance": "COVARIANT"}, ".-1.139821979923648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979923648", "variance": "INVARIANT"}, "139821979924096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979924544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681040": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979914688"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220560"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220672"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221456"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221568"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221680"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221792"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979920512"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821979914688": {"type": "Function", "typeVars": [".-1.139821979914688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821979914688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.139821979914688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979914688", "variance": "INVARIANT"}, "139821900220560": {"type": "Overloaded", "items": [{"nodeId": "139821979915136"}, {"nodeId": "139821979915584"}]}, "139821979915136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900220672": {"type": "Overloaded", "items": [{"nodeId": "139821979916032"}, {"nodeId": "139821979916480"}]}, "139821979916032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979916480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221456": {"type": "Overloaded", "items": [{"nodeId": "139821979916928"}, {"nodeId": "139821979917376"}]}, "139821979916928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221568": {"type": "Overloaded", "items": [{"nodeId": "139821979917824"}, {"nodeId": "139821979918272"}]}, "139821979917824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221680": {"type": "Overloaded", "items": [{"nodeId": "139821979918720"}, {"nodeId": "139821979919168"}]}, "139821979918720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979919168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221792": {"type": "Overloaded", "items": [{"nodeId": "139821979919616"}, {"nodeId": "139821979920064"}]}, "139821979919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821900222240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900222240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821900222016": {"type": "Overloaded", "items": [{"nodeId": "139821979924992"}, {"nodeId": "139821979925440"}]}, "139821979924992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979925440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821942967312": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845919584"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920480"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923200"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821845919584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900221904": {"type": "Overloaded", "items": [{"nodeId": "139821979922304"}, {"nodeId": "139821979922752"}]}, "139821979922304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821979922752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821979923200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821900223360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223360": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821979925888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980057664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900222688": {"type": "Overloaded", "items": [{"nodeId": "139821980059456"}, {"nodeId": "139821980059904"}]}, "139821980059456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059904": {"type": "Function", "typeVars": [".-1.139821980059904"], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".-1.139821980059904"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821900223696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980059904": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980059904", "variance": "INVARIANT"}, "139821900223696": {"type": "Union", "items": [{"nodeId": ".1.139821942967648"}, {"nodeId": ".-1.139821980059904"}]}, "139821980060352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980060800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980061248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980061696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980062144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925751424": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016096"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016544"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972210624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972211072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212416"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892016096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964288": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532032"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531360"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531136"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530912"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530688"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530464"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530240"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904972928"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005497280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005496832"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498176"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498624"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499072"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850529792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499968"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005500416"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850532032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745376": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801024"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802368"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802816"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803264"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803712"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804160"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804608"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805504"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "isAbstract": false}, "139821971800128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925745376": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "INVARIANT"}, ".2.139821925745376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "COVARIANT"}, "139821971800576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": ".1.139821925745376"}], "returnType": {"nodeId": ".2.139821925745376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971801024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971802368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971802816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469872": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695744"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696192"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697536"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698432"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698880"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699328"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001700224"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469872"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925469872"}]}], "isAbstract": false}, "139822001695296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469872"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469872": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469872", "variance": "COVARIANT"}, "139822017689776": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896347520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951344"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996575872"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576320"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576768"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996577216"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689776"}]}], "isAbstract": true}, "139821896347520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": ".2.139822017689776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689776": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "INVARIANT"}, ".2.139822017689776": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "COVARIANT"}, "139821921951344": {"type": "Overloaded", "items": [{"nodeId": "139821996574976"}, {"nodeId": "139821996575424"}]}, "139821996574976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": "139821921956496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921956496": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": "N"}]}, "139821996575424": {"type": "Function", "typeVars": [".-1.139821996575424"], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}, {"nodeId": "139821921956608"}], "returnType": {"nodeId": "139821921956720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956608": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, ".-1.139821996575424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996575424", "variance": "INVARIANT"}, "139821921956720": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, "139821996575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469536": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690816"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691264"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692608"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693056"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693504"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693952"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694400"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694848"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821925537760"}]}], "isAbstract": false}, "139822001689920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469536": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, ".2.139821925469536": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, "139822001690368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921953248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925474240": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980338880"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339328"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339776"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340224"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340672"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341120"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341568"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342016"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342464"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342912"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343360"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343808"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344256"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344704"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345152"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346048"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347392"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348288"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348736"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349632"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350080"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350528"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350976"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351424"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351872"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980467264"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474240"}], "bases": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139821925474240"}]}], "isAbstract": false}, "139821900227504": {"type": "Overloaded", "items": [{"nodeId": "139821980337984"}, {"nodeId": "139821980338432"}]}, "139821980337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925474240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474240", "variance": "INVARIANT"}, "139821980338432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980338880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980339328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980339776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980341120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980341568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980342016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344704": {"type": "Function", "typeVars": [".-1.139821980344704"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980344704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229632"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980344704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980344704", "variance": "INVARIANT"}, "139821900229632": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980344704"}]}, "139821980345152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980345600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980346496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017689104": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896240704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549184"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549632"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550080"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550976"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552320"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552768"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001684544"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.139822017689104"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689104"}]}], "isAbstract": true}, "139821896240704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689104": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689104", "variance": "COVARIANT"}, "139822001549184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001549632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551872": {"type": "Function", "typeVars": [".-1.139822001551872"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001551872"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001551872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001551872", "variance": "INVARIANT"}, "139821921952128": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001551872"}]}, "139822001552320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001552768": {"type": "Function", "typeVars": [".-1.139822001552768"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001552768"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001552768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001552768", "variance": "INVARIANT"}, "139821921952352": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001552768"}]}, "139822001684544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139822017688096": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896169088"}}], "typeVars": [{"nodeId": ".1.139822017688096"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688096"}]}, {"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017688096"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "139821896169088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688096"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017688096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688096", "variance": "COVARIANT"}, "139822017687760": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896166400"}}], "typeVars": [{"nodeId": ".1.139822017687760"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__"]}, "139821896166400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017687760"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017687760": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687760", "variance": "COVARIANT"}, "139821980347392": {"type": "Function", "typeVars": [".-1.139821980347392"], "argTypes": [{"nodeId": ".-1.139821980347392"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980347392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347392", "variance": "INVARIANT"}, "139821980347840": {"type": "Function", "typeVars": [".-1.139821980347840"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980347840"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347840", "variance": "INVARIANT"}, "139821900229744": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980347840"}]}, "139821980348288": {"type": "Function", "typeVars": [".-1.139821980348288"], "argTypes": [{"nodeId": ".-1.139821980348288"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980348288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980348288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980348288", "variance": "INVARIANT"}, "139821980348736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821900229856"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900229856": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": "N"}]}, "139821980349184": {"type": "Function", "typeVars": [".-1.139821980349184"], "argTypes": [{"nodeId": ".-1.139821980349184"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980349184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349184", "variance": "INVARIANT"}, "139821980349632": {"type": "Function", "typeVars": [".-1.139821980349632"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980349632"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229968"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349632", "variance": "INVARIANT"}, "139821900229968": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980349632"}]}, "139821980350080": {"type": "Function", "typeVars": [".-1.139821980350080"], "argTypes": [{"nodeId": ".-1.139821980350080"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980350080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980350080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980350080", "variance": "INVARIANT"}, "139821980350528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822017689440": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896242272"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896249888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001685888"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686336"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686784"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687232"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687680"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688128"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688576"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.139822017689440"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "isAbstract": true}, "139821896242272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.139822017689440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689440", "variance": "INVARIANT"}, "139821896249888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001685888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".1.139822017689440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001687232": {"type": "Function", "typeVars": [".-1.139822001687232"], "argTypes": [{"nodeId": ".-1.139822001687232"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001687232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687232": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687232", "variance": "INVARIANT"}, "139822001687680": {"type": "Function", "typeVars": [".-1.139822001687680"], "argTypes": [{"nodeId": ".-1.139822001687680"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001687680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687680": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687680", "variance": "INVARIANT"}, "139822001688128": {"type": "Function", "typeVars": [".-1.139822001688128"], "argTypes": [{"nodeId": ".-1.139822001688128"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001688128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688128", "variance": "INVARIANT"}, "139822001688576": {"type": "Function", "typeVars": [".-1.139822001688576"], "argTypes": [{"nodeId": ".-1.139822001688576"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001688576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688576", "variance": "INVARIANT"}, "139821921953248": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001690816": {"type": "Function", "typeVars": [".-1.139822001690816"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001690816"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001690816"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001690816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001690816", "variance": "INVARIANT"}, "139822001691264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001691712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953472": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953696": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692608": {"type": "Function", "typeVars": [".-1.139822001692608"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001692608"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954032"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001692608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001692608", "variance": "INVARIANT"}, "139821921954032": {"type": "Union", "items": [{"nodeId": "139821921953920"}, {"nodeId": ".-1.139822001692608"}]}, "139821921953920": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693056": {"type": "Function", "typeVars": [".-1.139822001693056"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693056"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693056", "variance": "INVARIANT"}, "139821921954368": {"type": "Union", "items": [{"nodeId": "139821921954256"}, {"nodeId": ".-1.139822001693056"}]}, "139821921954256": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921954704": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693952": {"type": "Function", "typeVars": [".-1.139822001693952"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693952"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001693952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693952", "variance": "INVARIANT"}, "139822001694400": {"type": "Function", "typeVars": [".-1.139822001694400"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694400"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955040"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694400", "variance": "INVARIANT"}, "139821921955040": {"type": "Union", "items": [{"nodeId": "139821921954928"}, {"nodeId": ".-1.139822001694400"}]}, "139821921954928": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001694848": {"type": "Function", "typeVars": [".-1.139822001694848"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694848"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694848", "variance": "INVARIANT"}, "139821921955376": {"type": "Union", "items": [{"nodeId": "139821921955264"}, {"nodeId": ".-1.139822001694848"}]}, "139821921955264": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821925469200": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689472"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "139821925468192"}], "isAbstract": false}, "139822001689024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139822001689472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925468192": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027264"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__len__"]}, "139821896027264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925537760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821996576320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470208": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996572736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573184"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573632"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996574080"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925470208"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017688096", "args": [{"nodeId": ".1.139821925470208"}]}], "isAbstract": false}, "139821996572736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925470208": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470208", "variance": "COVARIANT"}, "139821996573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996573632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001695744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001696192": {"type": "Function", "typeVars": [".-1.139822001696192"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001696192"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001696192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001696192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001696192", "variance": "INVARIANT"}, "139822001696640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001697088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697984": {"type": "Function", "typeVars": [".-1.139822001697984"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001697984"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001697984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001697984", "variance": "INVARIANT"}, "139821921955712": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001697984"}]}, "139822001698432": {"type": "Function", "typeVars": [".-1.139822001698432"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001698432"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001698432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001698432", "variance": "INVARIANT"}, "139821921955824": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001698432"}]}, "139822001698880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001699328": {"type": "Function", "typeVars": [".-1.139822001699328"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699328"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001699328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699328", "variance": "INVARIANT"}, "139822001699776": {"type": "Function", "typeVars": [".-1.139822001699776"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699776"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699776", "variance": "INVARIANT"}, "139821921956048": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001699776"}]}, "139822001700224": {"type": "Function", "typeVars": [".-1.139822001700224"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001700224"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001700224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001700224", "variance": "INVARIANT"}, "139821921956160": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001700224"}]}, "139821971803264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971803712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971804160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821971804608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971805056": {"type": "Function", "typeVars": [".-1.139821971805056", ".-2.139821971805056"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805056"}, {"nodeId": ".-2.139821971805056"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822208"}, {"nodeId": "139821912822320"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, ".-2.139821971805056": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, "139821912822208": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805056"}]}, "139821912822320": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805056"}]}, "139821971805504": {"type": "Function", "typeVars": [".-1.139821971805504", ".-2.139821971805504"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805504"}, {"nodeId": ".-2.139821971805504"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822432"}, {"nodeId": "139821912822544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, ".-2.139821971805504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, "139821912822432": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805504"}]}, "139821912822544": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805504"}]}, "139821850531136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821904975168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904975168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821850530016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904779568": {"type": "Overloaded", "items": [{"nodeId": "139822005495488"}, {"nodeId": "139822005495936"}]}, "139822005495488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005495936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "139821904972928": {"type": "Overloaded", "items": [{"nodeId": "139822005496384"}, {"nodeId": "139822005490112"}]}, "139822005496384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005490112": {"type": "Function", "typeVars": [".-1.139822005490112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005490112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.139822005490112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490112", "variance": "INVARIANT"}, "139822005497280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139822005496832": {"type": "Function", "typeVars": [".-1.139822005496832"], "argTypes": [{"nodeId": ".-1.139822005496832"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139822005496832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005496832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005496832", "variance": "INVARIANT"}, "139822005498176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005498624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005499072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850529792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "139822005499968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925752096": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892019232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972213760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972214208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892019232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972213760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972214208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822005500416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821892016544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892016768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972210624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "139821972211072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972212416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017688432": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921949888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540224"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541120"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541568"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001542016"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139822017688432"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017688432"}]}], "isAbstract": true}, "139821921949888": {"type": "Overloaded", "items": [{"nodeId": "139822001539328"}, {"nodeId": "139822001539776"}]}, "139822001539328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017688432": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688432", "variance": "COVARIANT"}, "139822001539776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001540224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "139822001540672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001541120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001541568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001542016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822017685408": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896034432"}}], "typeVars": [{"nodeId": ".1.139822017685408"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685408"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "139821896034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017685408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017685408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685408", "variance": "COVARIANT"}, "139821905283440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283664": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283776": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984478400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984479296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284000"}, {"nodeId": "139821905284112"}, {"nodeId": "139821905284224"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284000": {"type": "Union", "items": [{"nodeId": "139821905283888"}, {"nodeId": "139821925480288"}]}, "139821905283888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284112": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284224": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284336"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905284336": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984480640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284560"}, {"nodeId": "139821905284672"}, {"nodeId": "139821905284784"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284560": {"type": "Union", "items": [{"nodeId": "139821905284448"}, {"nodeId": "139821925480288"}]}, "139821905284448": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284672": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284784": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905284896"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905284896": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984649216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905285008"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905285008": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821925473904": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905282544"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984734720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735616"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736064"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736960"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737408"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737856"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984738752"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739200"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739648"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740544"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740992"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741440"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741888"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742336"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742784"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984874560"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875008"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875456"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875904"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876352"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876800"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877696"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878144"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878592"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879040"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882624"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883072"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883520"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984887104"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845732192"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845731072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888448"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888896"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905289376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905290160"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979795968"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979796416"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905097920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797312"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797760"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798208"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798656"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799104"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800448"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800896"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801344"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801792"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979802240"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925471552"}], "isAbstract": false}, "139821905282544": {"type": "Overloaded", "items": [{"nodeId": "139821984733376"}, {"nodeId": "139821984733824"}, {"nodeId": "139821984734272"}]}, "139821984733376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984733824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905290384": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821905290272"}]}, "139821905290272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984734272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "139821984734720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984735168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984735616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984736064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290608"}, {"nodeId": "139821905290720"}, {"nodeId": "139821905290832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905290608": {"type": "Union", "items": [{"nodeId": "139821905290496"}, {"nodeId": "139821925480288"}]}, "139821905290496": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905290720": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905290832": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984736512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984736960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984737408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291168"}, {"nodeId": "139821905291280"}, {"nodeId": "139821905291392"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291168": {"type": "Union", "items": [{"nodeId": "139821905290944"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905291056"}]}]}, "139821905290944": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291056": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291280": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291392": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984737856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984738752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984739200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291616"}, {"nodeId": "139821905291728"}, {"nodeId": "139821905291840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291616": {"type": "Union", "items": [{"nodeId": "139821905291504"}, {"nodeId": "139821925480288"}]}, "139821905291504": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291728": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291840": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984739648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291952"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905291952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984740544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292176"}, {"nodeId": "139821905292288"}, {"nodeId": "139821905292400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905292176": {"type": "Union", "items": [{"nodeId": "139821905292064"}, {"nodeId": "139821925480288"}]}, "139821905292064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905292288": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905292400": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984740992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821984741440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984741888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984874560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984876352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905292512"}]}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292512": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984876800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905292624"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905292624": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984877248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984877696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292848"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905292848": {"type": "Union", "items": [{"nodeId": "139821905292736"}, {"nodeId": "N"}]}, "139821905292736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984878144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292960"}], "returnType": {"nodeId": "139821905293184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292960": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293184": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984878592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984879040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293296"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293408"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293408": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293520"}, {"nodeId": "139821905293632"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293632": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293856"}, {"nodeId": "139821905293968"}, {"nodeId": "139821905294080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293856": {"type": "Union", "items": [{"nodeId": "139821905293744"}, {"nodeId": "139821925480288"}]}, "139821905293744": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293968": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294080": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294304"}, {"nodeId": "139821905294416"}, {"nodeId": "139821905294528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905294304": {"type": "Union", "items": [{"nodeId": "139821905294192"}, {"nodeId": "139821925480288"}]}, "139821905294192": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294416": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294528": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905294640"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905294640": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294752"}], "returnType": {"nodeId": "139821905294976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905294752": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294976": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295200"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295200": {"type": "Union", "items": [{"nodeId": "139821905295088"}, {"nodeId": "N"}]}, "139821905295088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295424"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905295424": {"type": "Union", "items": [{"nodeId": "139821905295312"}, {"nodeId": "N"}]}, "139821905295312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295648"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295648": {"type": "Union", "items": [{"nodeId": "139821905295536"}, {"nodeId": "N"}]}, "139821905295536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295984"}, {"nodeId": "139821905296096"}, {"nodeId": "139821905296208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905295984": {"type": "Union", "items": [{"nodeId": "139821905295760"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905295872"}]}]}, "139821905295760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905295872": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905296208": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296432"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905296432": {"type": "Union", "items": [{"nodeId": "139821905296320"}, {"nodeId": "N"}]}, "139821905296320": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296656"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905296656": {"type": "Union", "items": [{"nodeId": "139821905296544"}, {"nodeId": "N"}]}, "139821905296544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821845732192": {"type": "Function", "typeVars": [".-1.139821845732192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821845732192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821845732192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821845732192", "variance": "INVARIANT"}, "139821845731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905296768"}, {"nodeId": "139821905296880"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905296768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905289376": {"type": "Overloaded", "items": [{"nodeId": "139821984889344"}, {"nodeId": "139821984889792"}]}, "139821984889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905290160": {"type": "Overloaded", "items": [{"nodeId": "139821984890240"}, {"nodeId": "139821979795520"}]}, "139821984890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}, {"nodeId": "139821905297216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821905297216": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925473568"}]}, "139821979795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218432": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821979796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218544"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905097920": {"type": "Function", "typeVars": [".-1.139821905097920"], "argTypes": [{"nodeId": ".-1.139821905097920"}, {"nodeId": "139821900218656"}], "returnType": {"nodeId": ".-1.139821905097920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821905097920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905097920", "variance": "INVARIANT"}, "139821900218656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979798208": {"type": "Function", "typeVars": [".-1.139821979798208"], "argTypes": [{"nodeId": ".-1.139821979798208"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821979798208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821979798208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979798208", "variance": "INVARIANT"}, "139821979798656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979799104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218992"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218992": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821900218880"}]}, "139821900218880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979799552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219104"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219104": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979800896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219216"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219328"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219440"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979802240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017688768": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896238688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950336"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950896"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951232"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001545600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546048"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546496"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546944"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547392"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547840"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001548288"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.139822017688768"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688768"}]}], "isAbstract": true}, "139821896238688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.139822017688768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688768", "variance": "INVARIANT"}, "139821921950336": {"type": "Overloaded", "items": [{"nodeId": "139822001542912"}, {"nodeId": "139822001543360"}]}, "139822001542912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001543360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921950896": {"type": "Overloaded", "items": [{"nodeId": "139822001543808"}, {"nodeId": "139822001544256"}]}, "139822001543808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822001544256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821921951232": {"type": "Overloaded", "items": [{"nodeId": "139822001544704"}, {"nodeId": "139822001545152"}]}, "139822001544704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001546048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001546496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "139822001546944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001547392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "139822001547840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001548288": {"type": "Function", "typeVars": [".-1.139822001548288"], "argTypes": [{"nodeId": ".-1.139822001548288"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": ".-1.139822001548288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001548288": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001548288", "variance": "INVARIANT"}, "139821925471552": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": true}, "139821984649664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285232"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905285232": {"type": "Union", "items": [{"nodeId": "139821905285120"}, {"nodeId": "N"}]}, "139821905285120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285344"}], "returnType": {"nodeId": "139821905285568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285344": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285568": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285680"}, {"nodeId": "139821905285792"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905285680": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285792": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285904"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285904": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286016"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905286016": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286240"}, {"nodeId": "139821905286352"}, {"nodeId": "139821905286464"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286240": {"type": "Union", "items": [{"nodeId": "139821905286128"}, {"nodeId": "139821925480288"}]}, "139821905286128": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286464": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286688"}, {"nodeId": "139821905286800"}, {"nodeId": "139821905286912"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286688": {"type": "Union", "items": [{"nodeId": "139821905286576"}, {"nodeId": "139821925480288"}]}, "139821905286576": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286800": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286912": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905287024"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905287024": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287136"}], "returnType": {"nodeId": "139821905287360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905287136": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905287360": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287584"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905287584": {"type": "Union", "items": [{"nodeId": "139821905287472"}, {"nodeId": "N"}]}, "139821905287472": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905287808": {"type": "Union", "items": [{"nodeId": "139821905287696"}, {"nodeId": "N"}]}, "139821905287696": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288032"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905288032": {"type": "Union", "items": [{"nodeId": "139821905287920"}, {"nodeId": "N"}]}, "139821905287920": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288368"}, {"nodeId": "139821905288480"}, {"nodeId": "139821905288592"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905288368": {"type": "Union", "items": [{"nodeId": "139821905288144"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905288256"}]}]}, "139821905288144": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288256": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288480": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905288592": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288816"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905288816": {"type": "Union", "items": [{"nodeId": "139821905288704"}, {"nodeId": "N"}]}, "139821905288704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289040"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905289040": {"type": "Union", "items": [{"nodeId": "139821905288928"}, {"nodeId": "N"}]}, "139821905288928": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984658176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984658624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850786528": {"type": "Function", "typeVars": [".-1.139821850786528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850786528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850786528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850786528", "variance": "INVARIANT"}, "139821850786080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905289152"}, {"nodeId": "139821905289264"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905289264": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984659968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984660416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281536": {"type": "Overloaded", "items": [{"nodeId": "139821984660864"}, {"nodeId": "139821984727104"}]}, "139821984660864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289488"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984728000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984729344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289824"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289824": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821905289712"}]}, "139821905289712": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984729792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821905290048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905290048": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}]}, "139821925917952": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821925917840": {"type": "Union", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966976"}, {"nodeId": "139821926224880", "args": [{"nodeId": "A"}]}, {"nodeId": "139821929644096"}, {"nodeId": "139821938453728"}, {"nodeId": "139821925758144"}]}, "139821942966976": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740480"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740928"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845741152"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905472"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905696"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905920"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906144"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906368"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906592"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906816"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907040"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979809408"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905296992"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979810752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979811200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979910208"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905297104"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979911552"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912448"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912896"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913344"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913792"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821845740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845740928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845741152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219552": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219664": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219776": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821845906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821900220000": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979808512": {"type": "Function", "typeVars": [".-1.139821979808512"], "argTypes": [{"nodeId": ".-1.139821979808512"}], "returnType": {"nodeId": ".-1.139821979808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821979808512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979808512", "variance": "INVARIANT"}, "139821979808960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220112"}, {"nodeId": "139821900220224"}, {"nodeId": "139821900220336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821900220112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821900220224": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942972352": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942644784"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536528"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942639632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976054784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055232"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055680"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942644784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821925536528": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942639632": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750080": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097728"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542464"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941344"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941792"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891942016"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}, {"nodeId": "139821912830160"}, {"nodeId": "139821925750416"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "139821912830160": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750416": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943136"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943808"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891944032"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010048"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010272"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010496"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010720"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542912"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972102656"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830272": {"type": "Union", "items": [{"nodeId": "139821925750416"}, {"nodeId": "N"}]}, "139821891943808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891944032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745040": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896883712"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885056"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896884608"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885280"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885504"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885728"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885952"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886176"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886400"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886624"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886848"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887072"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887296"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887520"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887744"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887968"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896888640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971434496"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971436736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971438528"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896883712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896884608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896888640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971434496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821912821984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912821984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821912821760"}]}, "139821912821760": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971436736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "139821971438528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "139821892010048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830720": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821892010720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542912": {"type": "Union", "items": [{"nodeId": "139821938744384"}, {"nodeId": "N"}]}, "139821938744384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821972102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821891941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891942016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821976054784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821976055232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139821900714656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900714656": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821976055680": {"type": "Function", "typeVars": [".-1.139821976055680"], "argTypes": [{"nodeId": ".-1.139821976055680"}, {"nodeId": "139821900714768"}], "returnType": {"nodeId": ".-1.139821976055680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976055680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976055680", "variance": "INVARIANT"}, "139821900714768": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821900220336": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821979809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900220448"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "139821900220448": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}]}, "139821905296992": {"type": "Overloaded", "items": [{"nodeId": "139821979809856"}, {"nodeId": "139821979810304"}]}, "139821979809856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979811200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979910208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905297104": {"type": "Overloaded", "items": [{"nodeId": "139821979910656"}, {"nodeId": "139821979911104"}]}, "139821979910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}, {"nodeId": "139821900220784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821900220784": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979911104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979911552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221344"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "139821900221344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821979912448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979912896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221232"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821900221232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821926224880": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858472672"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858474464"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967804896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805344"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805792"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807136"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807584"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808032"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808480"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808928"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967809824"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810720"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811168"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811616"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812064"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812512"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967813856"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904775200"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816096"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816544"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816992"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817888"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967818336"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967884576"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885024"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886368"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886816"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.139821926224880"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821926224880"}]}], "isAbstract": false}, "139821858472672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904773632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926224880": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942966640"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926224880", "variance": "INVARIANT"}, "139821942965296": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905087168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003264"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003712"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984004160"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850717632"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850717856"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850718080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088128"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088576"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089024"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089920"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090368"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090816"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984091264"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904977184"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984092608"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093056"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093504"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984095296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904982112"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097088"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097536"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097984"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984098432"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981104"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984099776"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100224"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100672"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101120"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101568"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102016"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102464"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102912"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103360"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103808"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984235584"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984236032"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821905087168": {"type": "Function", "typeVars": [".-1.139821905087168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904980544"}], "returnType": {"nodeId": ".-1.139821905087168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904980544": {"type": "Union", "items": [{"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904980432"}]}, "139821925466848": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895934336"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__float__"]}, "139821895934336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466848"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904980432": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087168", "variance": "INVARIANT"}, "139821984003264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821984003712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984004160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850717632": {"type": "Function", "typeVars": [".-1.139821850717632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850717632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850717632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850717632", "variance": "INVARIANT"}, "139821850717856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984091264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904980992": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904977184": {"type": "Overloaded", "items": [{"nodeId": "139821984091712"}, {"nodeId": "139821984092160"}]}, "139821984091712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984095296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981440": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904982112": {"type": "Overloaded", "items": [{"nodeId": "139821984095744"}, {"nodeId": "139821984096192"}, {"nodeId": "139821984096640"}]}, "139821984095744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904981664"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904981664": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821921471392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821984096192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904984912"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904984912": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821921473520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821942965632": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904984128"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850772864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850773760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239168"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239616"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240064"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240960"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241408"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241856"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242304"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242752"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243200"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243648"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244544"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244992"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245440"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245888"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984246336"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904984128": {"type": "Overloaded", "items": [{"nodeId": "139821984236480"}, {"nodeId": "139821984236928"}]}, "139821984236480": {"type": "Function", "typeVars": [".-1.139821984236480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982000"}, {"nodeId": "139821904982336"}], "returnType": {"nodeId": ".-1.139821984236480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "139821904982000": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, "139821925467184": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895935680"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__complex__"]}, "139821895935680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467184"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904982336": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, ".-1.139821984236480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236480", "variance": "INVARIANT"}, "139821984236928": {"type": "Function", "typeVars": [".-1.139821984236928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982448"}], "returnType": {"nodeId": ".-1.139821984236928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "139821904982448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942965632"}]}, ".-1.139821984236928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236928", "variance": "INVARIANT"}, "139821850772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984241408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984243200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984243648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984246336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984096640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984097088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981552": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}]}, "139821984097536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984097984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984098432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981104": {"type": "Overloaded", "items": [{"nodeId": "139821984098880"}, {"nodeId": "139821984099328"}]}, "139821984098880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984099328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984099776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984102912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984235584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904773632": {"type": "TypeAlias", "target": {"nodeId": "139821938696912"}}, "139821938696912": {"type": "Union", "items": [{"nodeId": "139821942649600"}, {"nodeId": "139821938697808"}, {"nodeId": "139821938698816"}]}, "139821942649600": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821938696800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938697808": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821938699712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821938698816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821858474464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904453344": {"type": "Overloaded", "items": [{"nodeId": "139821909304128"}, {"nodeId": "139821967803104"}, {"nodeId": "139821967803552"}, {"nodeId": "139821967804000"}, {"nodeId": "139821967804448"}]}, "139821909304128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821904773856"}, {"nodeId": "139821904773968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904773856": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821904773968": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}]}, "139821967803104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821904774864"}, {"nodeId": "139821904773744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774864": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821904773744": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942965296"}]}]}, "139821967803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821904775088"}, {"nodeId": "139821904774752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904775088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821904774752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}]}, "139821967804000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967804448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821904774192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774192": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821967804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904774304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904774304": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821967805792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967806240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967807136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904774416": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967807584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926232944", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821926232944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884864"}, "name": "read"}], "typeVars": [{"nodeId": ".1.139821926232944"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read"]}, "139822000884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232944", "args": [{"nodeId": ".1.139821926232944"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926232944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926232944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232944", "variance": "COVARIANT"}, "139821967808032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821967809824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967810272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967810720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967811168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967811616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926233952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000886208"}, "name": "write"}], "typeVars": [{"nodeId": ".1.139821926233952"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["write"]}, "139822000886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821926233952"}]}, {"nodeId": ".1.139821926233952"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926233952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233952", "variance": "CONTRAVARIANT"}, "139821967812064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967812512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967813856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904453456": {"type": "Overloaded", "items": [{"nodeId": "139821967814304"}, {"nodeId": "139821967814752"}]}, "139821967814304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967814752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904775200": {"type": "Overloaded", "items": [{"nodeId": "139821967815200"}, {"nodeId": "139821967815648"}]}, "139821967815200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967815648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967816096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904774976": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821967816544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967816992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817888": {"type": "Function", "typeVars": [".-1.139821967817888"], "argTypes": [{"nodeId": ".-1.139821967817888"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": ".-1.139821967817888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967817888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967817888", "variance": "INVARIANT"}, "139821967818336": {"type": "Function", "typeVars": [".-1.139821967818336"], "argTypes": [{"nodeId": ".-1.139821967818336"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821967818336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967818336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967818336", "variance": "INVARIANT"}, "139821967884576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967886368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967886816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821929644096": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138816"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963139264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140160"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140608"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141056"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141504"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142400"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142848"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143296"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143744"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144192"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144640"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145088"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145536"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145984"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908621712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963147328"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908611744"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963148672"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967949888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950336"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950784"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925468192"}], "isAbstract": false}, "139821963138368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "139821963138816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963139264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "139821963140160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "139821963140608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "139821963141952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "139821963142400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963142848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963143296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "139821963143744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963144192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "139821963144640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908711952"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908711952": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712064"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908712064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712176"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821908712176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963145984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "139821908712288": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908621712": {"type": "Overloaded", "items": [{"nodeId": "139821963146432"}, {"nodeId": "139821963146880"}]}, "139821963146432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963146880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963147328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908712512": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821908611744": {"type": "Overloaded", "items": [{"nodeId": "139821963147776"}, {"nodeId": "139821963148224"}]}, "139821963147776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963148224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}, {"nodeId": "139821908712736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821908712736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963148672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967949888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967950336": {"type": "Function", "typeVars": [".-1.139821967950336"], "argTypes": [{"nodeId": ".-1.139821967950336"}], "returnType": {"nodeId": ".-1.139821967950336"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967950336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967950336", "variance": "INVARIANT"}, "139821967950784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938453728": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911904"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793024"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866792352"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793920"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866860832"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866861280"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925911904": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821866793024": {"type": "Function", "typeVars": [".-1.139821866793024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177424"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177424": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, ".-1.139821866793024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793024", "variance": "INVARIANT"}, "139821866792352": {"type": "Function", "typeVars": [".-1.139821866792352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177536"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866792352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821866792352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866792352", "variance": "INVARIANT"}, "139821866793920": {"type": "Function", "typeVars": [".-1.139821866793920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.139821866793920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793920", "variance": "INVARIANT"}, "139821866860832": {"type": "Function", "typeVars": [".-1.139821866860832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821909177760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "139821909177760": {"type": "Union", "items": [{"nodeId": ".-1.139821866860832"}, {"nodeId": "139821938455744"}]}, ".-1.139821866860832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866860832", "variance": "INVARIANT"}, "139821938455744": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821866861280": {"type": "Function", "typeVars": [".-1.139821866861280"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821866861280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "139821938452720": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938453728"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967887936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967888832"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967887936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821909176976"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909177088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909177200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "139821909176976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909177088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909177200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821967888832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455072": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821938454736"}], "isAbstract": false}, "139821938454736": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921871552"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934220832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909174960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967896896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, "139821921871552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821946420608"}, {"nodeId": "N"}]}, "139821946420608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821934220832": {"type": "TypeAlias", "target": {"nodeId": "139821929530080"}}, "139821929530080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934226880"}, {"nodeId": "139821938454736"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821938453728"}]}], "returnType": {"nodeId": "139821938453728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934226880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909174960": {"type": "Overloaded", "items": [{"nodeId": "139821967895104"}, {"nodeId": "139821967895552"}, {"nodeId": "139821967896000"}, {"nodeId": "139821967896448"}]}, "139821967895104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "139821967895552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909296512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "139821909296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821967896000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909178432"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "139821909178432": {"type": "Tuple", "items": [{"nodeId": "139821909178096"}, {"nodeId": "139821938452720"}]}, "139821909178096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821909178544": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821934222064": {"type": "Union", "items": [{"nodeId": "139821934222848"}, {"nodeId": "139821934221616"}, {"nodeId": "139821934221952"}]}, "139821934222848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821934221616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821934221952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821967896448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178880"}]}, {"nodeId": "139821921715248", "args": [{"nodeId": "139821938720832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "139821909178880": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821921715248": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821921715248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909175072"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909178656"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968202368"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.139821921715248"}], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821921715248": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715248", "variance": "INVARIANT"}, "139821909175072": {"type": "Overloaded", "items": [{"nodeId": "139821968200576"}, {"nodeId": "139821968201024"}]}, "139821968200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821968201024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": ".1.139821921715248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "139821909178656": {"type": "Overloaded", "items": [{"nodeId": "139821968201472"}, {"nodeId": "139821968201920"}]}, "139821968201472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968201920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968202368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821938454400": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454064"}], "isAbstract": false}, "139821938454064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821938720832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456080": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938456080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206400"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821938456080"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821938456080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938456080", "variance": "INVARIANT"}, "139821968206400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938456080"}]}, {"nodeId": ".1.139821938456080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821967896896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821967889280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821866861280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866861280", "variance": "INVARIANT"}, "139821925758144": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953024"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953472"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967952576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}, {"nodeId": "139821913481824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "139821913481824": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967953024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967953472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925466512": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895932992"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__int__"]}, "139821895932992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926230928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386496"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__trunc__"]}, "139821976386496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005497728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005497728", "variance": "INVARIANT"}, "139821989200832": {"type": "Function", "typeVars": [".-1.139821989200832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977520"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821989200832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "139821904977520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, ".-1.139821989200832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989200832", "variance": "INVARIANT"}, "139821989201280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904977856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904977856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "0"}]}, "139821850526880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850527776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989205760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}, {"nodeId": "139821904978416"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "139821904978416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821850525760": {"type": "Function", "typeVars": [".-1.139821850525760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904978640"}, {"nodeId": "139821904978976"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821850525760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "139821904978640": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925467520"}, {"nodeId": "139821904978528"}]}, "139821904978528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904978976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.139821850525760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850525760", "variance": "INVARIANT"}, "139821989206656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904979200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821989209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904979424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821904976736": {"type": "Overloaded", "items": [{"nodeId": "139821989212928"}, {"nodeId": "139821989213376"}, {"nodeId": "139821989213824"}, {"nodeId": "139821989214272"}, {"nodeId": "139821989214720"}, {"nodeId": "139821989215168"}]}, "139821989212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904980096"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904980096": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821989214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904982896"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982896": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821989214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821989215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821904982784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982784": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821983989824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983994304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983994752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821983997440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904980320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821983997888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984002368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980067072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980067520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980067968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223584": {"type": "Overloaded", "items": [{"nodeId": "139821980068864"}, {"nodeId": "139821980069312"}]}, "139821980068864": {"type": "Function", "typeVars": [".-1.139821980068864"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980068864"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821980068864": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821980068864", "variance": "INVARIANT"}, "139821921477216": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821926226224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380224"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.139821926226224"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__lt__"]}, "139821976380224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226224", "args": [{"nodeId": ".1.139821926226224"}]}, {"nodeId": ".1.139821926226224"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226224": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226224", "variance": "CONTRAVARIANT"}, "139821926226560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380672"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821926226560"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__gt__"]}, "139821976380672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226560", "args": [{"nodeId": ".1.139821926226560"}]}, {"nodeId": ".1.139821926226560"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226560": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226560", "variance": "CONTRAVARIANT"}, "139821980069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821905099712"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821905099712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821900225264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900225264": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821938694336": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821980069760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980070208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900224816": {"type": "Overloaded", "items": [{"nodeId": "139821980070656"}, {"nodeId": "139821980071104"}]}, "139821980070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900224928": {"type": "Overloaded", "items": [{"nodeId": "139821980071552"}, {"nodeId": "139821980072000"}]}, "139821980071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821900225488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900225488": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821900225152": {"type": "Overloaded", "items": [{"nodeId": "139821980072896"}, {"nodeId": "139821980073344"}]}, "139821980072896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980073344": {"type": "Function", "typeVars": [".-1.139821980073344"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980073344"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821900225712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980073344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980073344", "variance": "INVARIANT"}, "139821900225712": {"type": "Union", "items": [{"nodeId": ".-1.139821980073344"}, {"nodeId": ".1.139821942967984"}]}, "139821980188736": {"type": "Function", "typeVars": [".-1.139821980188736"], "argTypes": [{"nodeId": ".-1.139821980188736"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": ".-1.139821980188736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980188736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980188736", "variance": "INVARIANT"}, "139821980189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980189632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190080": {"type": "Function", "typeVars": [".-1.139821980190080"], "argTypes": [{"nodeId": ".-1.139821980190080"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821980190080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980190080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980190080", "variance": "INVARIANT"}, "139821980190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980191424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980191872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980193216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980196800": {"type": "Function", "typeVars": [".-1.139821980196800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821980196800"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.139821980196800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980196800", "variance": "INVARIANT"}, "139821980197248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980197696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472560": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854194176"}}], "typeVars": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925472560"}]}], "isAbstract": false}, "139821854194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, ".2.139821925472560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, "139821980198144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472896": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854077024"}}], "typeVars": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925472896"}]}], "isAbstract": false}, "139821854077024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472896": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, ".2.139821925472896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, "139821980198592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925473232": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821853980512"}}], "typeVars": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "isAbstract": false}, "139821853980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925473232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, ".2.139821925473232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, "139821900225600": {"type": "Overloaded", "items": [{"nodeId": "139821980199040"}, {"nodeId": "139821980199488"}]}, "139821980199040": {"type": "Function", "typeVars": [".-1.139821980199040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199040"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199040"}, {"nodeId": "139821900226944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.139821980199040": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199040", "variance": "INVARIANT"}, "139821900226944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821980199488": {"type": "Function", "typeVars": [".-1.139821980199488", ".-2.139821980199488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199488"}]}, {"nodeId": ".-2.139821980199488"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199488"}, {"nodeId": ".-2.139821980199488"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821980199488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, ".-2.139821980199488": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, "139821900225936": {"type": "Overloaded", "items": [{"nodeId": "139821980199936"}, {"nodeId": "139821980200384"}]}, "139821980199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "139821900227168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900227168": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": "N"}]}, "139821980200384": {"type": "Function", "typeVars": [".-1.139821980200384"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227280"}], "returnType": {"nodeId": "139821900227392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227280": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, ".-1.139821980200384": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980200384", "variance": "INVARIANT"}, "139821900227392": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, "139821900226720": {"type": "Overloaded", "items": [{"nodeId": "139821980200832"}, {"nodeId": "139821980201280"}]}, "139821980200832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980201280": {"type": "Function", "typeVars": [".-1.139821980201280"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227616"}], "returnType": {"nodeId": "139821900227728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227616": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, ".-1.139821980201280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980201280", "variance": "INVARIANT"}, "139821900227728": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, "139821980201728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980202176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980202624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980203072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980336192": {"type": "Function", "typeVars": [".-1.139821980336192", ".-2.139821980336192"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336192"}, {"nodeId": ".-2.139821980336192"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900227952"}, {"nodeId": "139821900228064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336192": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, ".-2.139821980336192": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, "139821900227952": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336192"}]}, "139821900228064": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336192"}]}, "139821980336640": {"type": "Function", "typeVars": [".-1.139821980336640", ".-2.139821980336640"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336640"}, {"nodeId": ".-2.139821980336640"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900228176"}, {"nodeId": "139821900228288"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, ".-2.139821980336640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, "139821900228176": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336640"}]}, "139821900228288": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336640"}]}, "139821900227056": {"type": "Overloaded", "items": [{"nodeId": "139821980337088"}, {"nodeId": "139821980337536"}]}, "139821980337088": {"type": "Function", "typeVars": [".-1.139821980337088"], "argTypes": [{"nodeId": ".-1.139821980337088"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": ".-1.139821980337088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337088", "variance": "INVARIANT"}, "139821980337536": {"type": "Function", "typeVars": [".-1.139821980337536"], "argTypes": [{"nodeId": ".-1.139821980337536"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900228624"}]}], "returnType": {"nodeId": ".-1.139821980337536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337536", "variance": "INVARIANT"}, "139821900228624": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139822017690112": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996578560"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951456"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996579904"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956384"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956832"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "isAbstract": true}, "139821896349088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139822017690112": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, ".2.139822017690112": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, "139821896349536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921951456": {"type": "Overloaded", "items": [{"nodeId": "139821996579008"}, {"nodeId": "139821996579456"}]}, "139821996579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996579456": {"type": "Function", "typeVars": [".-1.139821996579456"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": "139821921956944"}], "returnType": {"nodeId": "139821921957056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956944": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, ".-1.139821996579456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996579456", "variance": "INVARIANT"}, "139821921957056": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, "139821996579904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "139821921957280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921957280": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821921956384": {"type": "Overloaded", "items": [{"nodeId": "139821996580352"}, {"nodeId": "139821996580800"}]}, "139821996580352": {"type": "Function", "typeVars": [".-1.139821996580352"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": "139821921957504"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "139821921957616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921957504": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, ".-1.139821996580352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996580352", "variance": "INVARIANT"}, "139821921957616": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, "139821996580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821921956832": {"type": "Overloaded", "items": [{"nodeId": "139821996581248"}, {"nodeId": "139821996581696"}, {"nodeId": "139821996582144"}]}, "139821996581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821996581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921957952"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821921957952": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821996582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821904779120": {"type": "Overloaded", "items": [{"nodeId": "139821909310624"}]}, "139821909310624": {"type": "Function", "typeVars": [".-1.139821909310624"], "argTypes": [{"nodeId": ".-1.139821909310624"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821909310624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909310624", "variance": "INVARIANT"}, "139821850537184": {"type": "Function", "typeVars": [".-1.139821850537184"], "argTypes": [{"nodeId": ".-1.139821850537184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821850537184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850537184", "variance": "INVARIANT"}, "139821996860672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996859776": {"type": "Function", "typeVars": [".-1.139821996859776"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821996859776"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821996859776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996859776", "variance": "INVARIANT"}, "139821996861568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821996862016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996863360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996863808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996864256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996864704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996865152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996865600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996866048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821904973376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904973376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139821996866496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821904973600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904973600": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822005485632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005486080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984248128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984248128", "variance": "INVARIANT"}, "139821905087392": {"type": "Function", "typeVars": [".-1.139821905087392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904983120"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821905087392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "139821904983120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087392", "variance": "INVARIANT"}, "139821984249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984250368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983232"}, {"nodeId": "139821904983344"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "139821904983232": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983344": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984250816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984251264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904983456"}, {"nodeId": "139821904983568"}, {"nodeId": "139821904983680"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904983568": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983680": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984351168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983792"}, {"nodeId": "139821904983904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983792": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983904": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984351616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821984352064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942965968"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "139821942965968": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247232"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965968"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904984016"}, {"nodeId": "139821904984352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904984016": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904984352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984358336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984358784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984359232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984359680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904984464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904984464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984360128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904984688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904984688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984360576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821984361024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985024"}, {"nodeId": "139821904985136"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985024": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985136": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985248"}, {"nodeId": "139821904985360"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985248": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985360": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984363264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904985584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904985584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984363712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985696"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985808"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904985808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985920"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984365056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984365504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281088"}, {"nodeId": "139821905281200"}, {"nodeId": "139821905281312"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905281088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821905281200": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905281312": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984365952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905281424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984464960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966304"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942966304": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247680"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904982672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904982672": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984466304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981888": {"type": "Overloaded", "items": [{"nodeId": "139821984467200"}, {"nodeId": "139821984467648"}]}, "139821984467200": {"type": "Function", "typeVars": [".-1.139821984467200"], "argTypes": [{"nodeId": "139821905281760"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281760": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821905281648"}, {"nodeId": ".-1.139821984467200"}]}]}, ".-1.139821984467200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984467200", "variance": "INVARIANT"}, "139821905281648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821984467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821905281872"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821905281984"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821905281872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821905281984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984468096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905282096"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905282096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821984470336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984470784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984471232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984471680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984472128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984472576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984474368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821905282432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921720960": {"type": "Concrete", "module": "boruvka", "simpleName": "Graph", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009409472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weight", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009413728"}, "name": "add_edge"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414176"}, "name": "find_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414624"}, "name": "set_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "component_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415072"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415520"}, "name": "boruvka"}, {"kind": "Variable", "name": "m_num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "m_edges", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"kind": "Variable", "name": "m_component", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822009409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "num_of_nodes"]}, "139822009413728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "u_node", "v_node", "weight"]}, "139822009414176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009414624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009415072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "component_size", "u_node", "v_node"]}, "139822009415520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925481296": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540448"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993368416"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900901376"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900902496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821925540672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821993368416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921945856"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921946304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "139821921945856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "139821942966640"}]}, "139821921946304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900901376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682384": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182016"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822017683056": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536304"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182912"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929184"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185600"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925536304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001182912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921943952"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "139821921943952": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821895929184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821895929632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682720": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182464"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682720"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139822001185152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017682048": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177984"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178432"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178880"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001185600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682384"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139821900902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017681712": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942648144"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009417088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001176640"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177088"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942648144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822009417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921947200"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "139821921947200": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001176640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683392": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186944"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001187392"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964288"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001186048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "139822001186496": {"type": "Function", "typeVars": [".-1.139822001186496"], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": ".-1.139822001186496"}], "returnType": {"nodeId": ".-1.139822001186496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.139822001186496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001186496", "variance": "INVARIANT"}, "139822001186944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001187392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683728": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001189184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925466176": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821925299728": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005996896"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998240"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998688"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821925474576": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228400"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980468608"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469056"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469504"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469952"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470400"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470848"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471744"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473536"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474432"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474880"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475328"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475776"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476224"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476672"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477120"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474576"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "isAbstract": false}, "139821900228400": {"type": "Overloaded", "items": [{"nodeId": "139821980467712"}, {"nodeId": "139821980468160"}]}, "139821980467712": {"type": "Function", "typeVars": [".-1.139821980467712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821980467712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821980467712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980467712", "variance": "INVARIANT"}, "139821980468160": {"type": "Function", "typeVars": [".-1.139821980468160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": ".-1.139821980468160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.139821925474576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474576", "variance": "COVARIANT"}, ".-1.139821980468160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980468160", "variance": "INVARIANT"}, "139821980468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471744": {"type": "Function", "typeVars": [".-1.139821980471744"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980471744"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230304"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980471744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980471744", "variance": "INVARIANT"}, "139821900230304": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980471744"}]}, "139821980472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980473536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473984": {"type": "Function", "typeVars": [".-1.139821980473984"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980473984"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980473984": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980473984", "variance": "INVARIANT"}, "139821900230416": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980473984"}]}, "139821980474432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980474880": {"type": "Function", "typeVars": [".-1.139821980474880"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980474880"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980474880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980474880", "variance": "INVARIANT"}, "139821900230528": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980474880"}]}, "139821980475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005996896": {"type": "Function", "typeVars": [".-1.139822005996896"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005996896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.139822005996896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005996896", "variance": "INVARIANT"}, "139822005997344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "139822005997792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139822005998240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821904775760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "139821904775760": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139822005998688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139821925467856": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895938592"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821895938592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017684064": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895939936"}}], "typeVars": [{"nodeId": ".1.139822017684064"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__abs__"]}, "139821895939936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684064", "args": [{"nodeId": ".1.139822017684064"}]}], "returnType": {"nodeId": ".1.139822017684064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684064": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684064", "variance": "COVARIANT"}, "139822017684400": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921791424"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.139822017684400"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821921791424": {"type": "Overloaded", "items": [{"nodeId": "139822001356864"}, {"nodeId": "139822001357312"}]}, "139822001356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017684400": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684400", "variance": "COVARIANT"}, "139822001357312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017684400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925468528": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027712"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__hash__"]}, "139821896027712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017685744": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001360448"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896037120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921947984"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362240"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362688"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037344"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037792"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038464"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038688"}}], "typeVars": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685744"}]}], "isAbstract": true}, "139822001360448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, ".2.139822017685744": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "CONTRAVARIANT"}, ".3.139822017685744": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, "139821896037120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": ".2.139822017685744"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921947984": {"type": "Overloaded", "items": [{"nodeId": "139822001361344"}, {"nodeId": "139822001361792"}]}, "139822001361344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "0"}, {"nodeId": "139821921948768"}, {"nodeId": "139821921948880"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948768": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921948880": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001361792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921948992"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948992": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001362240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001362688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896037792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821921949440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921949440": {"type": "Union", "items": [{"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139822017686080": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896039360"}}], "typeVars": [{"nodeId": ".1.139822017686080"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__await__"]}, "139821896039360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017686080"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.139822017686080"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686080", "variance": "COVARIANT"}, "139822017686416": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156768"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156992"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157216"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157440"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948544"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157888"}}], "typeVars": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139822017686416"}]}], "isAbstract": true}, "139821896156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821921949776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, ".2.139822017686416": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "CONTRAVARIANT"}, ".3.139822017686416": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, "139821921949776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821896156992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": ".2.139822017686416"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948544": {"type": "Overloaded", "items": [{"nodeId": "139822001367616"}, {"nodeId": "139822001368064"}]}, "139822001367616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "0"}, {"nodeId": "139821921950000"}, {"nodeId": "139821921950112"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950000": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950112": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001368064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950224"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950224": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821896157888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925468864": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}, {"nodeId": ".4.139821925468864"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139821925468864"}]}, {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}]}], "isAbstract": true}, ".1.139821925468864": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".2.139821925468864": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "CONTRAVARIANT"}, ".3.139821925468864": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".4.139821925468864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "INVARIANT"}, "139822017686752": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896159008"}}], "typeVars": [{"nodeId": ".1.139822017686752"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821896159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017686752"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017686752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686752", "variance": "COVARIANT"}, "139822017687088": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896162144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001369856"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139822017687088"}], "bases": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017687088"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "139821896162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687088": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687088", "variance": "COVARIANT"}, "139822001369856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017687424": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001370304"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896164384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948656"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001372096"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896163936"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165280"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165504"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165728"}}], "typeVars": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}], "bases": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687424"}]}], "isAbstract": true}, "139822001370304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "COVARIANT"}, ".2.139822017687424": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "CONTRAVARIANT"}, "139821896164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": ".2.139822017687424"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948656": {"type": "Overloaded", "items": [{"nodeId": "139822001371200"}, {"nodeId": "139822001371648"}]}, "139822001371200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "0"}, {"nodeId": "139821921950448"}, {"nodeId": "139821921950560"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950448": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950560": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001371648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950672"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001372096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470544": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896450336"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896451232"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896451904"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896452576"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453248"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453920"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896454592"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455264"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455936"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896456608"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457280"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457952"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896458624"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459296"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459968"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896460640"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461312"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461984"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896462656"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896463552"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896464672"}}], "typeVars": [{"nodeId": ".1.139821925470544"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}], "isAbstract": true}, "139821896350656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925470544": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470544", "variance": "INVARIANT"}, "139821896450336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896452576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896454592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896455264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896455936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896456608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896457280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821896457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896458624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896459296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921958064": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821896459968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896460640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": ".1.139821925470544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896462656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896463552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896464672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958176"}, {"nodeId": "139821921958288"}, {"nodeId": "139821921958400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821921958176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821921958288": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921958400": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925470880": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896466016"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": true}, "139821896466016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470880"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471216": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896598912"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599360"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599584"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599808"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896600032"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896600256"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": true}, "139821896598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821921958512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921958512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821896599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925471216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471888": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921957728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896602944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996750464"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751360"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921957728": {"type": "Overloaded", "items": [{"nodeId": "139821996749120"}, {"nodeId": "139821996749568"}]}, "139821996749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821912818848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821912818848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821996749568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821896602944": {"type": "Function", "typeVars": [".-1.139821896602944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821896602944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821896602944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821896602944", "variance": "INVARIANT"}, "139821996750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996751360": {"type": "Function", "typeVars": [".-1.139821996751360"], "argTypes": [{"nodeId": ".-1.139821996751360"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821996751360"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821996751360": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751360", "variance": "INVARIANT"}, "139821925472224": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751808"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996752256"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851264"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851712"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852160"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852608"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853056"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853504"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854400"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821996751808": {"type": "Function", "typeVars": [".-1.139821996751808"], "argTypes": [{"nodeId": ".-1.139821996751808"}], "returnType": {"nodeId": ".-1.139821996751808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821996751808": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751808", "variance": "INVARIANT"}, "139821996752256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821996851264": {"type": "Function", "typeVars": [".-1.139821996851264"], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": ".-1.139821996851264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821996851264": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851264", "variance": "INVARIANT"}, "139821996851712": {"type": "Function", "typeVars": [".-1.139821996851712"], "argTypes": [{"nodeId": ".-1.139821996851712"}, {"nodeId": ".-1.139821996851712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821996851712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851712", "variance": "INVARIANT"}, "139821996852160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996852608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853952": {"type": "Function", "typeVars": [".-1.139821996853952"], "argTypes": [{"nodeId": ".-1.139821996853952"}, {"nodeId": ".-1.139821996853952"}], "returnType": {"nodeId": ".-1.139821996853952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996853952": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996853952", "variance": "INVARIANT"}, "139821996854400": {"type": "Function", "typeVars": [".-1.139821996854400"], "argTypes": [{"nodeId": ".-1.139821996854400"}, {"nodeId": ".-1.139821996854400"}], "returnType": {"nodeId": ".-1.139821996854400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996854400": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996854400", "variance": "INVARIANT"}, "139822017690448": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642656"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996855744"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996856640"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942642656": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821942642096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996854848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821912819520"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "139821912819520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996855744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821912819744"}, {"nodeId": "139821912819968"}, {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821912820192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "139821912819744": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912819968": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912820192": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996856640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681376": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041248"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921795456"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846042368"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980063936"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821846041248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821900224144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900224144": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821925481968": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971423296"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481968"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921795456": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821846041696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980063936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}, {"nodeId": "139821900224480"}, {"nodeId": "139821900224592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821900224480": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821900224592": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139822017690784": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534944"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487872"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005488768"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.139822017690784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850534944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905084480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017690784": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690784", "variance": "COVARIANT"}, "139821905084480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996861120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "139821905084928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905084928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005487872": {"type": "Function", "typeVars": [".-1.139822005487872"], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": ".-1.139822005487872"}, {"nodeId": "139821904973936"}], "returnType": {"nodeId": "139821905084704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005487872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005487872", "variance": "INVARIANT"}, "139821904973936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905084704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905085152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905085152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005488768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139822017691120": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533600"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005490560"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532480"}}], "typeVars": [{"nodeId": ".1.139822017691120"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850533600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905085600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017691120": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017691120", "variance": "COVARIANT"}, "139821905085600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850533152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005487424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": "139821905085824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905085824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005490560": {"type": "Function", "typeVars": [".-1.139822005490560"], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": ".-1.139822005490560"}, {"nodeId": "139821904974720"}], "returnType": {"nodeId": "139821905085376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005490560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490560", "variance": "INVARIANT"}, "139821904974720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905085376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850532480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905086048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905086048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821942964624": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975280"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975280": {"type": "Overloaded", "items": [{"nodeId": "139822005500864"}, {"nodeId": "139822005501312"}, {"nodeId": "139821989199936"}]}, "139822005500864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139822005501312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925474912": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478912"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474912"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821921795792"}]}], "isAbstract": false}, "139821980477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.139821925474912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474912", "variance": "INVARIANT"}, "139821980478016": {"type": "Function", "typeVars": [".-1.139821980478016"], "argTypes": [{"nodeId": ".-1.139821980478016"}], "returnType": {"nodeId": ".-1.139821980478016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980478016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980478016", "variance": "INVARIANT"}, "139821980478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}], "returnType": {"nodeId": "139821900230864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900230864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821980478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821921795792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821942968656": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846418976"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419424"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980481600"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482048"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482496"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482944"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980598336"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900230192"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980599680"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821846418976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900228736": {"type": "Overloaded", "items": [{"nodeId": "139821980480704"}, {"nodeId": "139821980481152"}]}, "139821980480704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980481152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980481600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980482944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900230192": {"type": "Overloaded", "items": [{"nodeId": "139821980598784"}, {"nodeId": "139821980599232"}]}, "139821980598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942968992": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921479792"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475760"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921483488"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600576"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601024"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601472"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601920"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602368"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602816"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921479792": {"type": "Union", "items": [{"nodeId": "139821946893728"}, {"nodeId": "N"}]}, "139821946893728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921475760": {"type": "Union", "items": [{"nodeId": "139821938744608"}, {"nodeId": "N"}]}, "139821938744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921483488": {"type": "Union", "items": [{"nodeId": "139821946419712"}, {"nodeId": "N"}]}, "139821946419712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980600128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900231312"}, {"nodeId": "139821900231648"}, {"nodeId": "139821900231984"}, {"nodeId": "139821900232208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "139821900231312": {"type": "Union", "items": [{"nodeId": "139821905100160"}, {"nodeId": "N"}]}, "139821905100160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900231648": {"type": "Union", "items": [{"nodeId": "139821900529728"}, {"nodeId": "N"}]}, "139821900529728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900231984": {"type": "Union", "items": [{"nodeId": "139821900529952"}, {"nodeId": "N"}]}, "139821900529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900232208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821980600576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530176"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530400"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980601472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530624"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "139821900232992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821900232992": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821980602368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980602816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942969328": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921425712": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980606848"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.139821921425712"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821980606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921425712", "args": [{"nodeId": ".1.139821921425712"}]}], "returnType": {"nodeId": ".1.139821921425712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921425712": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921425712", "variance": "COVARIANT"}, "139821942969664": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980607744"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821942969664"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821980607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942969664", "args": [{"nodeId": ".1.139821942969664"}]}], "returnType": {"nodeId": ".1.139821942969664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942969664": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "def": "139821942969664", "variance": "COVARIANT"}, "139821925475248": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900234224"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796736"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475248"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475248"}]}], "isAbstract": false}, "139821900234224": {"type": "Overloaded", "items": [{"nodeId": "139821980794944"}, {"nodeId": "139821980795392"}, {"nodeId": "139821980795840"}]}, "139821980794944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "N"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900564400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475248": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475248", "variance": "INVARIANT"}, "139821900564400": {"type": "Union", "items": [{"nodeId": ".1.139821925475248"}, {"nodeId": "N"}]}, "139821980795392": {"type": "Function", "typeVars": [".-1.139821980795392"], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900531072"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980795392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900531072": {"type": "Function", "typeVars": [".-1.139821900531072"], "argTypes": [{"nodeId": ".-1.139821900531072"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900531072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900531072", "variance": "INVARIANT"}, ".-1.139821980795392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980795392", "variance": "INVARIANT"}, "139821980795840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900530848"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925475248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980796288": {"type": "Function", "typeVars": [".-1.139821980796288"], "argTypes": [{"nodeId": ".-1.139821980796288"}], "returnType": {"nodeId": ".-1.139821980796288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980796288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980796288", "variance": "INVARIANT"}, "139821980796736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": ".1.139821925475248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942970000": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980803456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821942970000"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821980803456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970000", "args": [{"nodeId": ".1.139821942970000"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942970000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970000", "variance": "COVARIANT"}, "139821925475584": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900564512"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980810624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975666752"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475584"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475584"}]}], "isAbstract": false}, "139821900564512": {"type": "Overloaded", "items": [{"nodeId": "139821980807936"}, {"nodeId": "139821980808384"}, {"nodeId": "139821980808832"}, {"nodeId": "139821980809280"}, {"nodeId": "139821980809728"}, {"nodeId": "139821980810176"}]}, "139821980807936": {"type": "Function", "typeVars": [".-1.139821980807936"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980807936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475584", "variance": "INVARIANT"}, "139821900533312": {"type": "Function", "typeVars": [".-1.139821900533312"], "argTypes": [{"nodeId": ".-1.139821900533312"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900533312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533312", "variance": "INVARIANT"}, ".-1.139821980807936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980807936", "variance": "INVARIANT"}, "139821980808384": {"type": "Function", "typeVars": [".-1.139821980808384", ".-2.139821980808384"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808384"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821900532640": {"type": "Function", "typeVars": [".-1.139821900532640", ".-2.139821900532640"], "argTypes": [{"nodeId": ".-1.139821900532640"}, {"nodeId": ".-2.139821900532640"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821900532640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-2.139821900532640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-1.139821980808384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, ".-2.139821980808384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, "139821980808832": {"type": "Function", "typeVars": [".-1.139821980808832", ".-2.139821980808832", ".-3.139821980808832"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532864"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980808832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821900532864": {"type": "Function", "typeVars": [".-1.139821900532864", ".-2.139821900532864", ".-3.139821900532864"], "argTypes": [{"nodeId": ".-1.139821900532864"}, {"nodeId": ".-2.139821900532864"}, {"nodeId": ".-3.139821900532864"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.139821900532864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-2.139821900532864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-3.139821900532864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-1.139821980808832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-2.139821980808832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-3.139821980808832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, "139821980809280": {"type": "Function", "typeVars": [".-1.139821980809280", ".-2.139821980809280", ".-3.139821980809280", ".-4.139821980809280"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533536"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900533536": {"type": "Function", "typeVars": [".-1.139821900533536", ".-2.139821900533536", ".-3.139821900533536", ".-4.139821900533536"], "argTypes": [{"nodeId": ".-1.139821900533536"}, {"nodeId": ".-2.139821900533536"}, {"nodeId": ".-3.139821900533536"}, {"nodeId": ".-4.139821900533536"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.139821900533536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-2.139821900533536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-3.139821900533536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-4.139821900533536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-1.139821980809280": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-2.139821980809280": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-3.139821980809280": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-4.139821980809280": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, "139821980809728": {"type": "Function", "typeVars": [".-1.139821980809728", ".-2.139821980809728", ".-3.139821980809728", ".-4.139821980809728", ".-5.139821980809728"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533760"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821980809728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "139821900533760": {"type": "Function", "typeVars": [".-1.139821900533760", ".-2.139821900533760", ".-3.139821900533760", ".-4.139821900533760", ".-5.139821900533760"], "argTypes": [{"nodeId": ".-1.139821900533760"}, {"nodeId": ".-2.139821900533760"}, {"nodeId": ".-3.139821900533760"}, {"nodeId": ".-4.139821900533760"}, {"nodeId": ".-5.139821900533760"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.139821900533760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-2.139821900533760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-3.139821900533760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-4.139821900533760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-5.139821900533760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-1.139821980809728": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-2.139821980809728": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-3.139821980809728": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-4.139821980809728": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-5.139821980809728": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, "139821980810176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533984"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "139821900533984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821980810624": {"type": "Function", "typeVars": [".-1.139821980810624"], "argTypes": [{"nodeId": ".-1.139821980810624"}], "returnType": {"nodeId": ".-1.139821980810624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980810624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980810624", "variance": "INVARIANT"}, "139821975666752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921426048": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975677504"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.139821921426048"}], "bases": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821921426048"}]}], "protocolMembers": ["flush", "write"]}, "139821975677504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921426048", "args": [{"nodeId": ".1.139821921426048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921426048": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921426048", "variance": "CONTRAVARIANT"}, "139821942970336": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975678848"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970336", "args": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}]}, {"nodeId": ".1.139821942970336"}], "returnType": {"nodeId": ".2.139821942970336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970336": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "CONTRAVARIANT"}, ".2.139821942970336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "COVARIANT"}, "139821942970672": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679296"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970672", "args": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}]}, {"nodeId": ".1.139821942970672"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.139821942970672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.139821942970672": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "CONTRAVARIANT"}, ".2.139821942970672": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "COVARIANT"}, "139821942971008": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679744"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971008", "args": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}]}, {"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}], "returnType": {"nodeId": ".3.139821942971008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821942971008": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".2.139821942971008": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".3.139821942971008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "COVARIANT"}, "139821925475920": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900576272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908672"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975909120"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.139821925475920"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475920"}]}], "isAbstract": false}, "139821900576272": {"type": "Overloaded", "items": [{"nodeId": "139821975907328"}, {"nodeId": "139821975907776"}]}, "139821975907328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821925475920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475920", "variance": "INVARIANT"}, "139821975907776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926230592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386048"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926230592"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "__len__"]}, "139821976385600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926230592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230592", "variance": "COVARIANT"}, "139821976386048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926230592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821975908224": {"type": "Function", "typeVars": [".-1.139821975908224"], "argTypes": [{"nodeId": ".-1.139821975908224"}], "returnType": {"nodeId": ".-1.139821975908224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821975908224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821975908224", "variance": "INVARIANT"}, "139821975908672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": ".1.139821925475920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821975909120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942971344": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910016"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971344"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971344", "args": [{"nodeId": ".1.139821942971344"}]}], "returnType": {"nodeId": ".1.139821942971344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942971344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971344", "variance": "COVARIANT"}, "139821942971680": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910464"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971680"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971680", "args": [{"nodeId": ".1.139821942971680"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942971680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821942971680": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971680", "variance": "COVARIANT"}, "139821921426384": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926227904", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "139821926228240", "args": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "139821926227904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382016"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__add__"]}, "139821976382016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227904", "args": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}]}, {"nodeId": ".1.139821926227904"}], "returnType": {"nodeId": ".2.139821926227904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227904": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "CONTRAVARIANT"}, ".2.139821926227904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "COVARIANT"}, "139821926228240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382464"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__radd__"]}, "139821976382464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228240", "args": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}]}, {"nodeId": ".1.139821926228240"}], "returnType": {"nodeId": ".2.139821926228240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228240": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "CONTRAVARIANT"}, ".2.139821926228240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "COVARIANT"}, "139821925476256": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900710512"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976052992"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976053440"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925476256"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476256"}]}], "isAbstract": false}, "139821900710512": {"type": "Overloaded", "items": [{"nodeId": "139821976047616"}, {"nodeId": "139821976048064"}, {"nodeId": "139821976048512"}, {"nodeId": "139821976048960"}, {"nodeId": "139821976049408"}, {"nodeId": "139821976049856"}]}, "139821976047616": {"type": "Function", "typeVars": [".-1.139821976047616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976047616"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.139821976047616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976047616", "variance": "INVARIANT"}, "139821900711744": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976047616"}]}, "139821976048064": {"type": "Function", "typeVars": [".-1.139821976048064", ".-2.139821976048064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048064"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048064"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.139821976048064": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, ".-2.139821976048064": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, "139821900711968": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048064"}, {"nodeId": ".-2.139821976048064"}]}, "139821976048512": {"type": "Function", "typeVars": [".-1.139821976048512", ".-2.139821976048512", ".-3.139821976048512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048512"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.139821976048512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-2.139821976048512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-3.139821976048512": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, "139821900712192": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048512"}, {"nodeId": ".-2.139821976048512"}, {"nodeId": ".-3.139821976048512"}]}, "139821976048960": {"type": "Function", "typeVars": [".-1.139821976048960", ".-2.139821976048960", ".-3.139821976048960", ".-4.139821976048960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976048960"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.139821976048960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-2.139821976048960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-3.139821976048960": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-4.139821976048960": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, "139821900712416": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048960"}, {"nodeId": ".-2.139821976048960"}, {"nodeId": ".-3.139821976048960"}, {"nodeId": ".-4.139821976048960"}]}, "139821976049408": {"type": "Function", "typeVars": [".-1.139821976049408", ".-2.139821976049408", ".-3.139821976049408", ".-4.139821976049408", ".-5.139821976049408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821976049408"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.139821976049408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-2.139821976049408": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-3.139821976049408": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-4.139821976049408": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-5.139821976049408": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, "139821900712640": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976049408"}, {"nodeId": ".-2.139821976049408"}, {"nodeId": ".-3.139821976049408"}, {"nodeId": ".-4.139821976049408"}, {"nodeId": ".-5.139821976049408"}]}, "139821976049856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "139821976052992": {"type": "Function", "typeVars": [".-1.139821976052992"], "argTypes": [{"nodeId": ".-1.139821976052992"}], "returnType": {"nodeId": ".-1.139821976052992"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821976052992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976052992", "variance": "INVARIANT"}, "139821976053440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476256", "args": [{"nodeId": ".1.139821925476256"}]}], "returnType": {"nodeId": ".1.139821925476256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925476256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476256", "variance": "COVARIANT"}, "139821942972016": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942972688": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973024": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973360": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475200"}}], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821921475200": {"type": "TypeAlias", "target": {"nodeId": "139821925543584"}}, "139821925543584": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942973696": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942974032": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974368": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974704": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975040": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975376": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976056576"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017680704"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976056576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942975376"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714880"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "139821900714880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942975712": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976048": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976384": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057024"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645008"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976057024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942976384"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714992"}, {"nodeId": "139821900715104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "139821900714992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900715104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645008": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942976720": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977056": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977392": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977728": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978064": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978400": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978736": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925535408"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645456"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646352"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942643440"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646464"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942647696"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925535408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942645456": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942646352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942643440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942646464": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942647696": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942979072": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979408": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979744": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942980080": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925285952": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286288": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286624": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976384"}], "isAbstract": false}, "139821925286960": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287296": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287632": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942977392"}], "isAbstract": false}, "139821925287968": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288304": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288640": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288976": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289312": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289648": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289984": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925290320": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290656": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290992": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291328": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291664": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292000": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292336": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292672": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925293008": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293344": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293680": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978736"}], "isAbstract": false}, "139821925294016": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925293680"}], "isAbstract": false}, "139821925294352": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821925294688": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057472"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925294688"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900715216"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900715216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925295024": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295024"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821925295360": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976058368"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976058368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295360"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821925295696": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925296032": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296368": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296704": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297040": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297376": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297712": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298048": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298384": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298720": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299056": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299392": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821926225216": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976378880"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821976378880": {"type": "Function", "typeVars": [".-1.139821976378880"], "argTypes": [{"nodeId": "139821926225216"}, {"nodeId": ".-1.139821976378880"}], "returnType": {"nodeId": ".-1.139821976378880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976378880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976378880", "variance": "INVARIANT"}, "139821926225552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379328"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821926225552"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__next__"]}, "139821976379328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225552", "args": [{"nodeId": ".1.139821926225552"}]}], "returnType": {"nodeId": ".1.139821926225552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225552", "variance": "COVARIANT"}, "139821926225888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379776"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821926225888"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821976379776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225888", "args": [{"nodeId": ".1.139821926225888"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139821926225888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225888", "variance": "COVARIANT"}, "139821926226896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381120"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.139821926226896"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__le__"]}, "139821976381120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226896", "args": [{"nodeId": ".1.139821926226896"}]}, {"nodeId": ".1.139821926226896"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226896", "variance": "CONTRAVARIANT"}, "139821926227232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381568"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.139821926227232"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__ge__"]}, "139821976381568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227232", "args": [{"nodeId": ".1.139821926227232"}]}, {"nodeId": ".1.139821926227232"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227232": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227232", "variance": "CONTRAVARIANT"}, "139821926227568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226896", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926227232", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "139821926228576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382912"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__sub__"]}, "139821976382912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228576", "args": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}]}, {"nodeId": ".1.139821926228576"}], "returnType": {"nodeId": ".2.139821926228576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "CONTRAVARIANT"}, ".2.139821926228576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "COVARIANT"}, "139821926228912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383360"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rsub__"]}, "139821976383360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228912", "args": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}]}, {"nodeId": ".1.139821926228912"}], "returnType": {"nodeId": ".2.139821926228912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "CONTRAVARIANT"}, ".2.139821926228912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "COVARIANT"}, "139821926229248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383808"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__divmod__"]}, "139821976383808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229248", "args": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}]}, {"nodeId": ".1.139821926229248"}], "returnType": {"nodeId": ".2.139821926229248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926229248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "CONTRAVARIANT"}, ".2.139821926229248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "COVARIANT"}, "139821926229584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384256"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rdivmod__"]}, "139821976384256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229584", "args": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}]}, {"nodeId": ".1.139821926229584"}], "returnType": {"nodeId": ".2.139821926229584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926229584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "CONTRAVARIANT"}, ".2.139821926229584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "COVARIANT"}, "139821926229920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384704"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139821926229920"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821976384704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229920", "args": [{"nodeId": ".1.139821926229920"}]}], "returnType": {"nodeId": ".1.139821926229920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926229920": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229920", "variance": "COVARIANT"}, "139821926230256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385152"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139821926230256"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821976385152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230256", "args": [{"nodeId": ".1.139821926230256"}]}], "returnType": {"nodeId": ".1.139821926230256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926230256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230256", "variance": "COVARIANT"}, "139821926231264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386944"}, "name": "items"}], "typeVars": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["items"]}, "139821976386944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231264", "args": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821904776208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231264": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, ".2.139821926231264": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, "139821904776208": {"type": "Tuple", "items": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}, "139821926231936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882624"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883072"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__"]}, "139822000882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926231936": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "CONTRAVARIANT"}, ".2.139821926231936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "COVARIANT"}, "139822000883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": ".1.139821926231936"}], "returnType": {"nodeId": ".2.139821926231936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883968"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "bases": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "139822000883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821926232272": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "CONTRAVARIANT"}, ".2.139821926232272": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "INVARIANT"}, "139822000883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232608": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884416"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["fileno"]}, "139822000884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926233280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885312"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233280"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233280", "args": [{"nodeId": ".1.139821926233280"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926233280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926233280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233280", "variance": "COVARIANT"}, "139821926233616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885760"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233616"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233616", "args": [{"nodeId": ".1.139821926233616"}]}], "returnType": {"nodeId": ".1.139821926233616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926233616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233616", "variance": "COVARIANT"}, "139821926234288": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000887104"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.139821926234288"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822000887104": {"type": "Function", "typeVars": [".-1.139822000887104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926234288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822000887104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.139821926234288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926234288", "variance": "COVARIANT"}, ".-1.139822000887104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000887104", "variance": "INVARIANT"}, "139821925476592": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385600"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892928"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893376"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894272"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000891584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894720"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385712"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896512"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896960"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386384"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "isAbstract": false}, ".1.139821925476592": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, ".2.139821925476592": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, "139821909385600": {"type": "Overloaded", "items": [{"nodeId": "139822000888896"}, {"nodeId": "139821992735488"}, {"nodeId": "139822000889792"}, {"nodeId": "139822000889344"}, {"nodeId": "139822000890688"}, {"nodeId": "139822000890240"}, {"nodeId": "139822000891136"}]}, "139822000888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992735488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821909386608": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139822000890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386832"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821909386832": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, "139822000891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": ".2.139821925476592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822000893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000891584": {"type": "Function", "typeVars": [".-1.139822000891584"], "argTypes": [{"nodeId": ".-1.139822000891584"}], "returnType": {"nodeId": ".-1.139822000891584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000891584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000891584", "variance": "INVARIANT"}, "139822000894720": {"type": "Function", "typeVars": [".-1.139822000894720"], "argTypes": [{"nodeId": ".-1.139822000894720"}], "returnType": {"nodeId": ".-1.139822000894720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000894720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000894720", "variance": "INVARIANT"}, "139821909385712": {"type": "Overloaded", "items": [{"nodeId": "139822000895616"}, {"nodeId": "139822000896064"}]}, "139822000895616": {"type": "Function", "typeVars": [".-1.139822000895616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000895616"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000895616"}, {"nodeId": "139821909387168"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000895616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895616", "variance": "INVARIANT"}, "139821909387168": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822000896064": {"type": "Function", "typeVars": [".-1.139822000896064", ".-2.139822000896064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000896064"}]}, {"nodeId": ".-2.139822000896064"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896064"}, {"nodeId": ".-2.139822000896064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000896064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, ".-2.139822000896064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, "139822000896512": {"type": "Function", "typeVars": [".-1.139822000896512", ".-2.139822000896512"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387280"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387392"}, {"nodeId": "139821909387504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387280": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}]}, ".-1.139822000896512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, ".-2.139822000896512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, "139821909387392": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896512"}]}, "139821909387504": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896512"}]}, "139822000896960": {"type": "Function", "typeVars": [".-1.139822000896960", ".-2.139822000896960"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387616"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387728"}, {"nodeId": "139821909387840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387616": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}]}, ".-1.139822000896960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, ".-2.139822000896960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, "139821909387728": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896960"}]}, "139821909387840": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896960"}]}, "139821909386384": {"type": "Overloaded", "items": [{"nodeId": "139822000895168"}, {"nodeId": "139822000897408"}]}, "139822000895168": {"type": "Function", "typeVars": [".-1.139822000895168"], "argTypes": [{"nodeId": ".-1.139822000895168"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": ".-1.139822000895168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000895168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895168", "variance": "INVARIANT"}, "139822000897408": {"type": "Function", "typeVars": [".-1.139822000897408"], "argTypes": [{"nodeId": ".-1.139822000897408"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909388176"}]}], "returnType": {"nodeId": ".-1.139822000897408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000897408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000897408", "variance": "INVARIANT"}, "139821909388176": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139821925476928": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997376896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379584"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909387952"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388288"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997381824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997380480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382272"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382720"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383168"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383616"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384064"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384960"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385408"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385856"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386304"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386752"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997387648"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997388096"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388848"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389440"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.139821925476928"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925476928"}]}], "isAbstract": false}, ".1.139821925476928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476928", "variance": "INVARIANT"}, "139821909386944": {"type": "Overloaded", "items": [{"nodeId": "139821997376000"}, {"nodeId": "139821997376448"}]}, "139821997376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "139821997376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "139821997376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388400"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388512"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388512": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388624"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388624": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388736"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388736": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909387952": {"type": "Overloaded", "items": [{"nodeId": "139821997380032"}, {"nodeId": "139821997375552"}]}, "139821997380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997375552": {"type": "Function", "typeVars": [".-1.139821997375552"], "argTypes": [{"nodeId": ".-1.139821997375552"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": ".-1.139821997375552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997375552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997375552", "variance": "INVARIANT"}, "139821909388288": {"type": "Overloaded", "items": [{"nodeId": "139821997380928"}, {"nodeId": "139821997381376"}]}, "139821997380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909389072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389072": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997380480": {"type": "Function", "typeVars": [".-1.139821997380480"], "argTypes": [{"nodeId": ".-1.139821997380480"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997380480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997380480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997380480", "variance": "INVARIANT"}, "139821997382272": {"type": "Function", "typeVars": [".-1.139821997382272"], "argTypes": [{"nodeId": ".-1.139821997382272"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382272", "variance": "INVARIANT"}, "139821997382720": {"type": "Function", "typeVars": [".-1.139821997382720"], "argTypes": [{"nodeId": ".-1.139821997382720"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382720", "variance": "INVARIANT"}, "139821997383168": {"type": "Function", "typeVars": [".-1.139821997383168"], "argTypes": [{"nodeId": ".-1.139821997383168"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383168", "variance": "INVARIANT"}, "139821997383616": {"type": "Function", "typeVars": [".-1.139821997383616"], "argTypes": [{"nodeId": ".-1.139821997383616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383616", "variance": "INVARIANT"}, "139821997384064": {"type": "Function", "typeVars": [".-1.139821997384064"], "argTypes": [{"nodeId": ".-1.139821997384064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997384064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997384064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384064", "variance": "INVARIANT"}, "139821997384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997385408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "139821997385856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "139821997386304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997384512": {"type": "Function", "typeVars": [".-1.139821997384512"], "argTypes": [{"nodeId": ".-1.139821997384512"}], "returnType": {"nodeId": ".-1.139821997384512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997384512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384512", "variance": "INVARIANT"}, "139821997386752": {"type": "Function", "typeVars": [".-1.139821997386752"], "argTypes": [{"nodeId": ".-1.139821997386752"}], "returnType": {"nodeId": ".-1.139821997386752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997386752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997386752", "variance": "INVARIANT"}, "139821997387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997388096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "139821909388848": {"type": "Overloaded", "items": [{"nodeId": "139821997387200"}, {"nodeId": "139821997388992"}]}, "139821997387200": {"type": "Function", "typeVars": [".-1.139821997387200"], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".-1.139821997387200"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821997387200": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821997387200", "variance": "INVARIANT"}, "139821997388992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909301216"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821909301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821909389520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909389520": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821997389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139821925477264": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997391232"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015104"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016896"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017344"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017792"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019584"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020032"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020480"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020928"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021376"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021824"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997022272"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023616"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024064"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024512"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024960"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997025856"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026304"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026752"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027200"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027648"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028096"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028544"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028992"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029440"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029888"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030336"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030784"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989101632"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102080"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102528"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102976"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103424"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103872"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105664"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388960"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107008"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108352"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108800"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109248"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109696"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110144"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111488"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111936"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112384"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112832"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113280"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113728"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114176"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114624"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989115072"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821925477264"}]}], "isAbstract": false}, "139821997389888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821997390336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821909389632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909389632": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821997015552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389744"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389856"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389968"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389968": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390080"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909390080": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997017344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997017792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997018240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997018688": {"type": "Function", "typeVars": [".-1.139821997018688"], "argTypes": [{"nodeId": ".-1.139821997018688"}, {"nodeId": "139821909390192"}], "returnType": {"nodeId": ".-1.139821997018688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997018688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997018688", "variance": "INVARIANT"}, "139821909390192": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997019136": {"type": "Function", "typeVars": [".-1.139821997019136"], "argTypes": [{"nodeId": ".-1.139821997019136"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019136", "variance": "INVARIANT"}, "139821997019584": {"type": "Function", "typeVars": [".-1.139821997019584"], "argTypes": [{"nodeId": ".-1.139821997019584"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019584"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019584", "variance": "INVARIANT"}, "139821997020032": {"type": "Function", "typeVars": [".-1.139821997020032"], "argTypes": [{"nodeId": ".-1.139821997020032"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020032", "variance": "INVARIANT"}, "139821997020480": {"type": "Function", "typeVars": [".-1.139821997020480"], "argTypes": [{"nodeId": ".-1.139821997020480"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020480", "variance": "INVARIANT"}, "139821997020928": {"type": "Function", "typeVars": [".-1.139821997020928"], "argTypes": [{"nodeId": ".-1.139821997020928"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997020928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020928", "variance": "INVARIANT"}, "139821997021376": {"type": "Function", "typeVars": [".-1.139821997021376"], "argTypes": [{"nodeId": ".-1.139821997021376"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997021376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021376", "variance": "INVARIANT"}, "139821997021824": {"type": "Function", "typeVars": [".-1.139821997021824"], "argTypes": [{"nodeId": ".-1.139821997021824"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997021824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021824", "variance": "INVARIANT"}, "139821997022272": {"type": "Function", "typeVars": [".-1.139821997022272"], "argTypes": [{"nodeId": ".-1.139821997022272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997022272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997022272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997022272", "variance": "INVARIANT"}, "139821997023168": {"type": "Function", "typeVars": [".-1.139821997023168"], "argTypes": [{"nodeId": ".-1.139821997023168"}], "returnType": {"nodeId": ".-1.139821997023168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023168", "variance": "INVARIANT"}, "139821997023616": {"type": "Function", "typeVars": [".-1.139821997023616"], "argTypes": [{"nodeId": ".-1.139821997023616"}], "returnType": {"nodeId": ".-1.139821997023616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023616", "variance": "INVARIANT"}, "139821997024064": {"type": "Function", "typeVars": [".-1.139821997024064"], "argTypes": [{"nodeId": ".-1.139821997024064"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997024064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821997024064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997024064", "variance": "INVARIANT"}, "139821997024512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390528"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909390528": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997024960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390640"}, {"nodeId": "139821909390752"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821909390640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909390752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821997025856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390864"}, {"nodeId": "139821909390976"}, {"nodeId": "139821909391088"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "139821909390864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821909390976": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909391088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821997026304": {"type": "Function", "typeVars": [".-1.139821997026304"], "argTypes": [{"nodeId": ".-1.139821997026304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997026304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.139821997026304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997026304", "variance": "INVARIANT"}, "139821997026752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909391200"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909391200": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997027200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139821997027648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139821997028096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821997028544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989104320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821989104768": {"type": "Function", "typeVars": [".-1.139821989104768"], "argTypes": [{"nodeId": ".-1.139821989104768"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989104768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989104768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989104768", "variance": "INVARIANT"}, "139821989105216": {"type": "Function", "typeVars": [".-1.139821989105216"], "argTypes": [{"nodeId": ".-1.139821989105216"}], "returnType": {"nodeId": ".-1.139821989105216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989105216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105216", "variance": "INVARIANT"}, "139821989105664": {"type": "Function", "typeVars": [".-1.139821989105664"], "argTypes": [{"nodeId": ".-1.139821989105664"}, {"nodeId": "139821909391760"}], "returnType": {"nodeId": ".-1.139821989105664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989105664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105664", "variance": "INVARIANT"}, "139821909391760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909388960": {"type": "Overloaded", "items": [{"nodeId": "139821989106112"}, {"nodeId": "139821989106560"}]}, "139821989106112": {"type": "Function", "typeVars": [".-1.139821989106112"], "argTypes": [{"nodeId": "139821909392096"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "139821909392096": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821909391984"}, {"nodeId": ".-1.139821989106112"}]}]}, ".-1.139821989106112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989106112", "variance": "INVARIANT"}, "139821909391984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821989106560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821909392208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "139821909392208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989107008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909392432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821909392432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989107456": {"type": "Function", "typeVars": [".-1.139821989107456"], "argTypes": [{"nodeId": ".-1.139821989107456"}, {"nodeId": "139821909392544"}], "returnType": {"nodeId": ".-1.139821989107456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107456", "variance": "INVARIANT"}, "139821909392544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989107904": {"type": "Function", "typeVars": [".-1.139821989107904"], "argTypes": [{"nodeId": ".-1.139821989107904"}, {"nodeId": "139821909392656"}], "returnType": {"nodeId": ".-1.139821989107904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107904", "variance": "INVARIANT"}, "139821909392656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108352": {"type": "Function", "typeVars": [".-1.139821989108352"], "argTypes": [{"nodeId": ".-1.139821989108352"}, {"nodeId": "139821909392768"}, {"nodeId": "139821909392880"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989108352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.139821989108352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989108352", "variance": "INVARIANT"}, "139821909392768": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821909392880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909392992"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909392992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909393104"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909393104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109696": {"type": "Function", "typeVars": [".-1.139821989109696"], "argTypes": [{"nodeId": ".-1.139821989109696"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989109696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989109696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989109696", "variance": "INVARIANT"}, "139821989110144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904445616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821904445616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989110592": {"type": "Function", "typeVars": [".-1.139821989110592"], "argTypes": [{"nodeId": ".-1.139821989110592"}, {"nodeId": "139821904445728"}], "returnType": {"nodeId": ".-1.139821989110592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989110592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989110592", "variance": "INVARIANT"}, "139821904445728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445840"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445952"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821989112384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904446064"}, {"nodeId": "139821904446176"}, {"nodeId": "139821904446288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "139821904446064": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904446176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989112832": {"type": "Function", "typeVars": [".-1.139821989112832"], "argTypes": [{"nodeId": ".-1.139821989112832"}, {"nodeId": "139821904446400"}], "returnType": {"nodeId": ".-1.139821989112832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989112832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989112832", "variance": "INVARIANT"}, "139821904446400": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989113280": {"type": "Function", "typeVars": [".-1.139821989113280"], "argTypes": [{"nodeId": ".-1.139821989113280"}], "returnType": {"nodeId": ".-1.139821989113280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113280", "variance": "INVARIANT"}, "139821989113728": {"type": "Function", "typeVars": [".-1.139821989113728"], "argTypes": [{"nodeId": ".-1.139821989113728"}], "returnType": {"nodeId": ".-1.139821989113728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113728", "variance": "INVARIANT"}, "139821989114176": {"type": "Function", "typeVars": [".-1.139821989114176"], "argTypes": [{"nodeId": ".-1.139821989114176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989114176"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.139821989114176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114176", "variance": "INVARIANT"}, "139821989114624": {"type": "Function", "typeVars": [".-1.139821989114624"], "argTypes": [{"nodeId": ".-1.139821989114624"}], "returnType": {"nodeId": ".-1.139821989114624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989114624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114624", "variance": "INVARIANT"}, "139821989115072": {"type": "Function", "typeVars": [".-1.139821989115072"], "argTypes": [{"nodeId": ".-1.139821989115072"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989115072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.139821989115072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989115072", "variance": "INVARIANT"}, "139821925477600": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862498848"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909389184"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989116864"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989117312"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988331584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332032"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332480"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332928"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333376"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333824"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334720"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335168"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335616"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336064"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337408"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337856"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338304"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338752"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339200"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339648"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340096"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340544"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340992"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341888"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342336"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925477600"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925477600"}]}], "isAbstract": false}, "139821862498848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821904446624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925477600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477600", "variance": "INVARIANT"}, "139821904446624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909389184": {"type": "Overloaded", "items": [{"nodeId": "139821989115968"}, {"nodeId": "139821989116416"}]}, "139821989115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "139821904446848": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "139821904446960": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988331584": {"type": "Function", "typeVars": [".-1.139821988331584"], "argTypes": [{"nodeId": ".-1.139821988331584"}], "returnType": {"nodeId": ".-1.139821988331584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988331584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988331584", "variance": "INVARIANT"}, "139821988332032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988333376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821988333824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821988334272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988334720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988335168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988335616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988336064": {"type": "Function", "typeVars": [".-1.139821988336064"], "argTypes": [{"nodeId": ".-1.139821988336064"}], "returnType": {"nodeId": ".-1.139821988336064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988336064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988336064", "variance": "INVARIANT"}, "139821988336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988336960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988337856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338752": {"type": "Function", "typeVars": [".-1.139821988338752"], "argTypes": [{"nodeId": ".-1.139821988338752"}], "returnType": {"nodeId": "139821904447408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988338752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988338752", "variance": "INVARIANT"}, "139821904447408": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821904447184"}, {"nodeId": "N"}, {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477600"}]}]}, "139821904447184": {"type": "Tuple", "items": []}, "139821988339200": {"type": "Function", "typeVars": [".-1.139821988339200"], "argTypes": [{"nodeId": ".-1.139821988339200"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".-1.139821988339200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339200", "variance": "INVARIANT"}, "139821988339648": {"type": "Function", "typeVars": [".-1.139821988339648"], "argTypes": [{"nodeId": ".-1.139821988339648"}, {"nodeId": ".-1.139821988339648"}], "returnType": {"nodeId": ".-1.139821988339648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339648", "variance": "INVARIANT"}, "139821988340096": {"type": "Function", "typeVars": [".-1.139821988340096"], "argTypes": [{"nodeId": ".-1.139821988340096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340096", "variance": "INVARIANT"}, "139821988340544": {"type": "Function", "typeVars": [".-1.139821988340544"], "argTypes": [{"nodeId": ".-1.139821988340544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340544": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340544", "variance": "INVARIANT"}, "139821988340992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925301408": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909391872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345024"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345472"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345920"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862613312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904446736"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904447632"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988431680"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432576"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433024"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433472"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433920"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435264"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435712"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436160"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436608"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437056"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437504"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437952"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438400"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438848"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439296"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439744"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821925301408"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821909391872": {"type": "Overloaded", "items": [{"nodeId": "139821988343232"}, {"nodeId": "139821988343680"}, {"nodeId": "139821988344128"}, {"nodeId": "139821988344576"}]}, "139821988343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821925301408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301408", "variance": "INVARIANT"}, "139821988343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988344128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988344576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988345024": {"type": "Function", "typeVars": [".-1.139821988345024"], "argTypes": [{"nodeId": ".-1.139821988345024"}], "returnType": {"nodeId": ".-1.139821988345024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988345024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988345024", "variance": "INVARIANT"}, "139821988345472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821904447744"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821904447968"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821904447744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904447968": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, "139821862613312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "139821904448192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "139821904448192": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446736": {"type": "Overloaded", "items": [{"nodeId": "139821988346816"}, {"nodeId": "139821988347264"}, {"nodeId": "139821988429888"}]}, "139821988346816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988347264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988429888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904447632": {"type": "Overloaded", "items": [{"nodeId": "139821988430336"}, {"nodeId": "139821988430784"}, {"nodeId": "139821988431232"}]}, "139821988430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": ".1.139821925301408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988432128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988432576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433472": {"type": "Function", "typeVars": [".-1.139821988433472"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988433472"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988433472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988433472", "variance": "INVARIANT"}, "139821904448528": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988433472"}]}, "139821988433920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434816": {"type": "Function", "typeVars": [".-1.139821988434816"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988434816"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988434816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988434816", "variance": "INVARIANT"}, "139821904448640": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988434816"}]}, "139821988435264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988435712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988436160": {"type": "Function", "typeVars": [".-1.139821988436160"], "argTypes": [{"nodeId": ".-1.139821988436160"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436160", "variance": "INVARIANT"}, "139821988436608": {"type": "Function", "typeVars": [".-1.139821988436608"], "argTypes": [{"nodeId": ".-1.139821988436608"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436608", "variance": "INVARIANT"}, "139821988437056": {"type": "Function", "typeVars": [".-1.139821988437056"], "argTypes": [{"nodeId": ".-1.139821988437056"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437056", "variance": "INVARIANT"}, "139821988437504": {"type": "Function", "typeVars": [".-1.139821988437504"], "argTypes": [{"nodeId": ".-1.139821988437504"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437504": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437504", "variance": "INVARIANT"}, "139821988437952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988438400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988438848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926219840": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440192"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926219840"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821926219840"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926219840"}]}], "isAbstract": false}, "139821988440192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926219840", "args": [{"nodeId": ".1.139821926219840"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926219840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926219840": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926219840", "variance": "COVARIANT"}, "139821926220176": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440640"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700272"}]}], "isAbstract": false}, "139821988440640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220176", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220176": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, ".2.139821926220176": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, "139821904449312": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821938700272": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821926220512": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441088"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220512"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821926220512"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926220512"}]}], "isAbstract": false}, "139821988441088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220512", "args": [{"nodeId": ".1.139821926220512"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926220512"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220512": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220512", "variance": "COVARIANT"}, "139821925477936": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441536"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}], "bases": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925477936"}]}], "isAbstract": false}, "139821988441536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477936"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925477936": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, ".2.139821925477936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, "139821925478272": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441984"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}], "bases": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700496"}]}], "isAbstract": false}, "139821988441984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478272": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, ".2.139821925478272": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, "139821904449536": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821938700496": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821925478608": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442432"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}], "bases": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".2.139821925478608"}]}], "isAbstract": false}, "139821988442432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".2.139821925478608"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478608": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, ".2.139821925478608": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, "139821925478944": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442880"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443328"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444224"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444672"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445120"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445568"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448304"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448416"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925478944"}]}], "isAbstract": false}, "139821988442880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904449760"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.139821925478944": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, ".2.139821925478944": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, "139821904449760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "139821988443328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "139821988443776": {"type": "Function", "typeVars": [".-1.139821988443776"], "argTypes": [{"nodeId": ".-1.139821988443776"}], "returnType": {"nodeId": ".-1.139821988443776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988443776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988443776", "variance": "INVARIANT"}, "139821988444224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988444672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904448304": {"type": "Overloaded", "items": [{"nodeId": "139821988741184"}, {"nodeId": "139821988741632"}]}, "139821988741184": {"type": "Function", "typeVars": [".-1.139821988741184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741184"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741184"}, {"nodeId": "139821904450096"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741184", "variance": "INVARIANT"}, "139821904450096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988741632": {"type": "Function", "typeVars": [".-1.139821988741632", ".-2.139821988741632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741632"}]}, {"nodeId": ".-2.139821988741632"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741632"}, {"nodeId": ".-2.139821988741632"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, ".-2.139821988741632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, "139821904448416": {"type": "Overloaded", "items": [{"nodeId": "139821988742080"}, {"nodeId": "139821988742528"}]}, "139821988742080": {"type": "Function", "typeVars": [".-1.139821988742080"], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": "139821904450320"}]}, {"nodeId": ".1.139821925478944"}], "returnType": {"nodeId": "139821904450432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821904450320": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, ".-1.139821988742080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988742080", "variance": "INVARIANT"}, "139821904450432": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, "139821988742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "returnType": {"nodeId": ".2.139821925478944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "139821925301744": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904449872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988746560"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747008"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747456"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "isAbstract": false}, "139821942645120": {"type": "Union", "items": [{"nodeId": "139821938738112"}, {"nodeId": "N"}]}, "139821938738112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, ".2.139821925301744": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821904449872": {"type": "Overloaded", "items": [{"nodeId": "139821988742976"}, {"nodeId": "139821988743424"}, {"nodeId": "139821988743872"}, {"nodeId": "139821988744320"}, {"nodeId": "139821988744768"}, {"nodeId": "139821988745216"}, {"nodeId": "139821988745664"}, {"nodeId": "139821988746112"}]}, "139821988742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925301744": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821988743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821988743872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904450656": {"type": "Union", "items": [{"nodeId": "139821909301664"}, {"nodeId": "N"}]}, "139821909301664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450768"}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821904450768": {"type": "Union", "items": [{"nodeId": "139821909301888"}, {"nodeId": "N"}]}, "139821909301888": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450880"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904450880": {"type": "Union", "items": [{"nodeId": "139821909302112"}, {"nodeId": "N"}]}, "139821909302112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450992"}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904450992": {"type": "Union", "items": [{"nodeId": "139821909302336"}, {"nodeId": "N"}]}, "139821909302336": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451104"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904451104": {"type": "Union", "items": [{"nodeId": "139821909302560"}, {"nodeId": "N"}]}, "139821909302560": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451328": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, "139821988746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451440"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451664"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904451440": {"type": "Union", "items": [{"nodeId": "139821909302784"}, {"nodeId": "N"}]}, "139821909302784": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, "139821988746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".1.139821925301744"}], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988747008": {"type": "Function", "typeVars": [".-1.139821988747008"], "argTypes": [{"nodeId": ".-1.139821988747008"}], "returnType": {"nodeId": ".-1.139821988747008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747008", "variance": "INVARIANT"}, "139821988747456": {"type": "Function", "typeVars": [".-1.139821988747456"], "argTypes": [{"nodeId": ".-1.139821988747456"}], "returnType": {"nodeId": ".-1.139821988747456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747456", "variance": "INVARIANT"}, "139821925479280": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988748352"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862917888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749248"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749696"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750144"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751936"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752384"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752832"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450208"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988754176"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862920352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450544"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755520"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755968"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904451888"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "isAbstract": false}, ".1.139821925479280": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, ".2.139821925479280": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, "139821988747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "139821988748352": {"type": "Function", "typeVars": [".-1.139821988748352"], "argTypes": [{"nodeId": ".-1.139821988748352"}, {"nodeId": "139821904451776"}], "returnType": {"nodeId": ".-1.139821988748352"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.139821988748352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988748352", "variance": "INVARIANT"}, "139821904451776": {"type": "Union", "items": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "N"}]}, "139821862917888": {"type": "Function", "typeVars": [".-1.139821862917888"], "argTypes": [{"nodeId": ".-1.139821862917888"}], "returnType": {"nodeId": ".-1.139821862917888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862917888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862917888", "variance": "INVARIANT"}, "139821988749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925479280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904450208": {"type": "Overloaded", "items": [{"nodeId": "139821988753280"}, {"nodeId": "139821988753728"}]}, "139821988753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988753728": {"type": "Function", "typeVars": [".-1.139821988753728"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": "139821904452000"}], "returnType": {"nodeId": "139821904452112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904452000": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, ".-1.139821988753728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988753728", "variance": "INVARIANT"}, "139821904452112": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, "139821988754176": {"type": "Function", "typeVars": [".-1.139821988754176"], "argTypes": [{"nodeId": ".-1.139821988754176"}], "returnType": {"nodeId": ".-1.139821988754176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988754176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754176", "variance": "INVARIANT"}, "139821862920352": {"type": "Function", "typeVars": [".-1.139821862920352"], "argTypes": [{"nodeId": ".-1.139821862920352"}], "returnType": {"nodeId": ".-1.139821862920352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862920352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862920352", "variance": "INVARIANT"}, "139821904450544": {"type": "Overloaded", "items": [{"nodeId": "139821988754624"}, {"nodeId": "139821988755072"}]}, "139821988754624": {"type": "Function", "typeVars": [".-1.139821988754624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988754624"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988754624"}, {"nodeId": "139821904452448"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.139821988754624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754624", "variance": "INVARIANT"}, "139821904452448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988755072": {"type": "Function", "typeVars": [".-1.139821988755072", ".-2.139821988755072"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988755072"}]}, {"nodeId": ".-2.139821988755072"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988755072"}, {"nodeId": ".-2.139821988755072"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821988755072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, ".-2.139821988755072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, "139821988755520": {"type": "Function", "typeVars": [".-1.139821988755520", ".-2.139821988755520"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755520"}, {"nodeId": ".-2.139821988755520"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452560"}, {"nodeId": "139821904452672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755520": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, ".-2.139821988755520": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, "139821904452560": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755520"}]}, "139821904452672": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755520"}]}, "139821988755968": {"type": "Function", "typeVars": [".-1.139821988755968", ".-2.139821988755968"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755968"}, {"nodeId": ".-2.139821988755968"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452784"}, {"nodeId": "139821904452896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755968": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, ".-2.139821988755968": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, "139821904452784": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755968"}]}, "139821904452896": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755968"}]}, "139821904451888": {"type": "Overloaded", "items": [{"nodeId": "139821988756416"}, {"nodeId": "139821988756864"}]}, "139821988756416": {"type": "Function", "typeVars": [".-1.139821988756416"], "argTypes": [{"nodeId": ".-1.139821988756416"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": ".-1.139821988756416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756416", "variance": "INVARIANT"}, "139821988756864": {"type": "Function", "typeVars": [".-1.139821988756864"], "argTypes": [{"nodeId": ".-1.139821988756864"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904453232"}]}], "returnType": {"nodeId": ".-1.139821988756864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756864", "variance": "INVARIANT"}, "139821904453232": {"type": "Tuple", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, "139821925752432": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988839936"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["find_spec"]}, "139821988839936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752432"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913031392"}, {"nodeId": "139821913031504"}], "returnType": {"nodeId": "139821913031616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821913031392": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821913031504": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821925746384": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925541792"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891769216"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542352"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542576"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688768", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971808640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971809088"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925541792": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821891769216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542352": {"type": "Union", "items": [{"nodeId": "139821925746048"}, {"nodeId": "N"}]}, "139821925746048": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807744"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["load_module"]}, "139821971807744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746048"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821925542576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925542688": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652160": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954492320"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650272"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650496"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650400"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650512"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870852672"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954493216"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821954492320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953232"}, {"nodeId": "139821908953344"}, {"nodeId": "A"}, {"nodeId": "139821908953568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "139821908953232": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821929653168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027456"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027904"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028352"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028800"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821951027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821951028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908957152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821908957152": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821951028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821908953344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908953568": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821921650272": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921650496": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934650400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821934650512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870852672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908953680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908953680": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954493216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971808640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}, {"nodeId": "139821912823104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "139821912823104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821971809088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913031616": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821921426720": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892205728"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272416"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272640"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272864"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273088"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273312"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273536"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273760"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273984"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274208"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274432"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274656"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274880"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275104"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275328"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892276000"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032176"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032176": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032288": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032400": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032624": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032736"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032736": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892276000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427056": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277120"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277568"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277792"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278016"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278240"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278464"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278688"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278912"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279136"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279360"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279584"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892277120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033632": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033744": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033856": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033968"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033968": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034080": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034192": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034304": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034416": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034528"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034528": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034640": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034752"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034752": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427392": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892280928"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281152"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281376"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281824"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282048"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282272"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282496"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282720"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480576"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892280928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034864"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034976": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035088"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035088": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035312": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035536"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035536": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035648"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035648": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035760"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035760": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921480576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, "139821925752768": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921480464"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005814656"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921480464": {"type": "TypeAlias", "target": {"nodeId": "139821921794112"}}, "139821921794112": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139822005814656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921427728": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284736"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284960"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285184"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285408"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892284736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892284960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036096": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036208": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036320"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921428064": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285632"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286752"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286976"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287200"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287424"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892285632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036432"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036432": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036544": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036656": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036768"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036880": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821925753104": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921863824"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921534464"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921537488"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925546496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863824": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921534464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821921537488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925546496": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821921428400": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372512"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480688"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821921548912"}]}], "isAbstract": false}, "139821892372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039456"}], "returnType": {"nodeId": "139821913039568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039456": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821921864048": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821925547728": {"type": "Union", "items": [{"nodeId": "139821946895744"}, {"nodeId": "N"}]}, "139821946895744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921537600": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821913039568": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821892372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039680"}], "returnType": {"nodeId": "139821913039792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039680": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821913039792": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921480688": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921548912": {"type": "Union", "items": [{"nodeId": "139821900540032"}, {"nodeId": "N"}]}, "139821900540032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925300064": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005999584"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300064"}], "bases": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139821925300064"}]}], "isAbstract": false}, "139822005999584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300064", "args": [{"nodeId": ".1.139821925300064"}]}, {"nodeId": "139821909305472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300064": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300064", "variance": "COVARIANT"}, "139821909305472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300400": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006000032"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300400"}], "bases": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139821925300400"}]}], "isAbstract": false}, "139822006000032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300400", "args": [{"nodeId": ".1.139821925300400"}]}, {"nodeId": "139821909304800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300400": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300400", "variance": "COVARIANT"}, "139821909304800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300400"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300736": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139821942968992"}], "isAbstract": false}, "139821925301072": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938731248": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006002048"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867114208"}}], "typeVars": [{"nodeId": ".1.139821938731248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__enter__", "__exit__"]}, "139822006002048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}], "returnType": {"nodeId": ".1.139821938731248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821938731248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731248", "variance": "COVARIANT"}, "139821867114208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}, {"nodeId": "139821909380448"}, {"nodeId": "139821909380560"}, {"nodeId": "139821909380672"}], "returnType": {"nodeId": "139821909380784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909380448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909380560": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909380672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909380784": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731584": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909297856"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867111744"}}], "typeVars": [{"nodeId": ".1.139821938731584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "139821909297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938731584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821938731584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731584", "variance": "COVARIANT"}, "139821867111744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}, {"nodeId": "139821909381008"}, {"nodeId": "139821909381120"}, {"nodeId": "139821909381232"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909381344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909381008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909381120": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909381232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909381344": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731920": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006003840"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006003840": {"type": "Function", "typeVars": [".-1.139822006003840"], "argTypes": [{"nodeId": "139821938731920"}, {"nodeId": ".-1.139822006003840"}], "returnType": {"nodeId": ".-1.139822006003840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006003840": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "139821938739008"}, "def": "139822006003840", "variance": "INVARIANT"}, "139821938739008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732256": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004288"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938738336"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004736"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938732256"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821938731920"}], "isAbstract": false}, "139822006004288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909297632"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732256", "variance": "COVARIANT"}, "139821909297632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821938732256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938738336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822006004736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909381904"}, {"nodeId": "139821909382016"}, {"nodeId": "139821909382128"}], "returnType": {"nodeId": "139821909382240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909381904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382016": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382128": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909382240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938732592": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006005632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006005632": {"type": "Function", "typeVars": [".-1.139822006005632"], "argTypes": [{"nodeId": "139821938732592"}, {"nodeId": ".-1.139822006005632"}], "returnType": {"nodeId": ".-1.139822006005632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006005632": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "139821938738784"}, "def": "139822006005632", "variance": "INVARIANT"}, "139821938738784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732928": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006006080"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933918048"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909299200"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938732928"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821938732592"}], "isAbstract": false}, "139822006006080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909299424"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732928", "variance": "COVARIANT"}, "139821909299424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139821938732928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821933918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821909299200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909382688"}, {"nodeId": "139821909382800"}, {"nodeId": "139821909382912"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909383024"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "139821909382688": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382800": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382912": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909383024": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938733264": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008320"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close"]}, "139822006008320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938733600": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006009216"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938733600"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938733600"}]}], "isAbstract": false}, "139822006008768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": ".1.139821938733600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938733600": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "139821938733264"}, "def": "139821938733600", "variance": "INVARIANT"}, "139822006009216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938733936": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722496"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["aclose"]}, "139821992722496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733936"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938734272": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722944"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300096"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938734272"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938734272"}]}], "isAbstract": false}, "139821992722944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": ".1.139821938734272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938734272": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "139821938733936"}, "def": "139821938734272", "variance": "INVARIANT"}, "139821909300096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "139821938734608": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992723840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724288"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "139821992723840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "139821992724288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "139821909383360"}, {"nodeId": "139821909383472"}, {"nodeId": "139821909383584"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383472": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383584": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938734944": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725184"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938734944"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938734944"}]}], "isAbstract": false}, "139821992724736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": ".1.139821938734944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.139821938734944": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938734944", "variance": "INVARIANT"}, "139821934220496": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821992725184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": "139821909383696"}, {"nodeId": "139821909383808"}, {"nodeId": "139821909383920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383808": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383920": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938735280": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.139821938735280"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735280"}]}], "isAbstract": false}, ".1.139821938735280": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735280", "variance": "INVARIANT"}, "139821938735616": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.139821938735616"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735616"}]}], "isAbstract": false}, ".1.139821938735616": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735616", "variance": "INVARIANT"}, "139821938735952": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725632"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726528"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726976"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727424"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727872"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728320"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992725632": {"type": "Function", "typeVars": [".-1.139821992725632"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992725632"}]}], "returnType": {"nodeId": ".-1.139821992725632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992725632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992725632", "variance": "INVARIANT"}, "139821992726080": {"type": "Function", "typeVars": [".-1.139821992726080"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": ".-1.139821992726080"}], "returnType": {"nodeId": ".-1.139821992726080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992726080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992726080", "variance": "INVARIANT"}, "139821921655536": {"type": "Union", "items": [{"nodeId": "139821938731248", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921655312"}]}, "139821921655312": {"type": "TypeAlias", "target": {"nodeId": "139821934460512"}}, "139821934460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934215680"}, {"nodeId": "139821934216912"}, {"nodeId": "139821934215232"}], "returnType": {"nodeId": "139821934215456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934215680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821934216912": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821934215232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821934215456": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992726528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909300320"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909300320": {"type": "Function", "typeVars": [".-2.139821909300320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300320"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300320", "variance": "INVARIANT"}, "139821909300544": {"type": "Function", "typeVars": [".-2.139821909300544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300544"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300544", "variance": "INVARIANT"}, "139821992726976": {"type": "Function", "typeVars": [".-1.139821992726976"], "argTypes": [{"nodeId": ".-1.139821992726976"}], "returnType": {"nodeId": ".-1.139821992726976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992726976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992726976", "variance": "INVARIANT"}, "139821992727424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992727872": {"type": "Function", "typeVars": [".-1.139821992727872"], "argTypes": [{"nodeId": ".-1.139821992727872"}], "returnType": {"nodeId": ".-1.139821992727872"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821992727872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992727872", "variance": "INVARIANT"}, "139821992728320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909383248"}, {"nodeId": "139821909384144"}, {"nodeId": "139821909384256"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909384144": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909384256": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736288": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728768"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300768"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729664"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730112"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730560"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731008"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729216"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731456"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992732352"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731904"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992728768": {"type": "Function", "typeVars": [".-1.139821992728768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992728768"}]}], "returnType": {"nodeId": ".-1.139821992728768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992728768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992728768", "variance": "INVARIANT"}, "139821909300768": {"type": "Function", "typeVars": [".-1.139821909300768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731584", "args": [{"nodeId": ".-1.139821909300768"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821909300768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821909300768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300768", "variance": "INVARIANT"}, "139821992729664": {"type": "Function", "typeVars": [".-1.139821992729664"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992729664"}], "returnType": {"nodeId": ".-1.139821992729664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992729664": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992729664", "variance": "INVARIANT"}, "139821992730112": {"type": "Function", "typeVars": [".-1.139821992730112"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992730112"}], "returnType": {"nodeId": ".-1.139821992730112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992730112": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "139821921656544"}, "def": "139821992730112", "variance": "INVARIANT"}, "139821921656544": {"type": "Union", "items": [{"nodeId": "139821938731584", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921656880"}]}, "139821921656880": {"type": "TypeAlias", "target": {"nodeId": "139821933918272"}}, "139821933918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821933967088"}, {"nodeId": "139821938702176"}, {"nodeId": "139821938701840"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139821938701952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821933967088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821938702176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821938701840": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938701952": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992730560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909297184"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909297184": {"type": "Function", "typeVars": [".-2.139821909297184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909297184"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909297184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909297184", "variance": "INVARIANT"}, "139821909300992": {"type": "Function", "typeVars": [".-2.139821909300992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300992"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300992", "variance": "INVARIANT"}, "139821992731008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909296736"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909301440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909296736": {"type": "Function", "typeVars": [".-2.139821909296736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909296736"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909296736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909296736", "variance": "INVARIANT"}, "139821909301440": {"type": "Function", "typeVars": [".-2.139821909301440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909301440"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909301440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909301440", "variance": "INVARIANT"}, "139821992729216": {"type": "Function", "typeVars": [".-1.139821992729216"], "argTypes": [{"nodeId": ".-1.139821992729216"}], "returnType": {"nodeId": ".-1.139821992729216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992729216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992729216", "variance": "INVARIANT"}, "139821992731456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992732352": {"type": "Function", "typeVars": [".-1.139821992732352"], "argTypes": [{"nodeId": ".-1.139821992732352"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821992732352"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992732352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992732352", "variance": "INVARIANT"}, "139821992731904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909384816"}, {"nodeId": "139821909385152"}, {"nodeId": "139821909385264"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139822017681040"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909384816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909385152": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909385264": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736624": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938736624"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909384704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734144"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734592"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992733696"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992735040"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938736624"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938736624"}]}], "isAbstract": false}, ".1.139821938736624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938736624", "variance": "INVARIANT"}, "139821909384704": {"type": "Overloaded", "items": [{"nodeId": "139821992732800"}, {"nodeId": "139821992733248"}]}, "139821992732800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "139821992733248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": ".1.139821938736624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "139821992734144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": ".1.139821938736624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821992734592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821992733696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938736624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992735040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "139821925757136": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888057888"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888055872"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054976"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054304"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888053632"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052960"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913208112"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913344256"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345040"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345264"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992615648"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616096"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616544"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052288"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346384"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992619232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757136"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821888057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757136": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757136", "variance": "INVARIANT"}, "139821888055872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888054976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344816": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821888054304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344928": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821888053632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888052960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925757472": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887980928"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887981376"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982272"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346832"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348064"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348848"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349296"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349744"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350192"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350864"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913351312"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038496"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038944"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993039392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757472"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821887980928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757472", "variance": "INVARIANT"}, "139821887981376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": ".1.139821925757472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346832": {"type": "Overloaded", "items": [{"nodeId": "139821992621472"}, {"nodeId": "139821942391296"}]}, "139821992621472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913348960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913348960": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942391296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349072"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349072": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349184": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348064": {"type": "Overloaded", "items": [{"nodeId": "139821992622368"}, {"nodeId": "139821942396672"}]}, "139821992622368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349408": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942396672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349520"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349632": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348848": {"type": "Overloaded", "items": [{"nodeId": "139821992623264"}, {"nodeId": "139821942398464"}]}, "139821992623264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349856": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942398464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913350080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349968": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350080": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913349296": {"type": "Overloaded", "items": [{"nodeId": "139821993034016"}, {"nodeId": "139821942399360"}]}, "139821993034016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350416": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821942399360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913350528"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "A"}]}, "139821913349744": {"type": "Overloaded", "items": [{"nodeId": "139821993034912"}, {"nodeId": "139821942401152"}]}, "139821993034912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942401152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351088"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350192": {"type": "Overloaded", "items": [{"nodeId": "139821993035808"}, {"nodeId": "139821942399584"}]}, "139821993035808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942399584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351424"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351424": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350864": {"type": "Overloaded", "items": [{"nodeId": "139821993036704"}, {"nodeId": "139821942397120"}]}, "139821993036704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913351648"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942399136"}]}, "139821942399136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942397120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351872"}, {"nodeId": "139821913352096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351872": {"type": "Union", "items": [{"nodeId": "139821913351760"}, {"nodeId": "139821942406304"}]}, "139821913351760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942406304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913351984"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913351984": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352096": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913351312": {"type": "Overloaded", "items": [{"nodeId": "139821993037600"}, {"nodeId": "139821942395328"}]}, "139821993037600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913352320"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913352544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942397344"}]}, "139821942397344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821942395328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913352768"}, {"nodeId": "139821913352992"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913353216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352768": {"type": "Union", "items": [{"nodeId": "139821913352656"}, {"nodeId": "139821942396224"}]}, "139821913352656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942396224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913352880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352992": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913353216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821993038496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993038944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821993039392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821913208112": {"type": "Overloaded", "items": [{"nodeId": "139821992611616"}, {"nodeId": "139821942404064"}]}, "139821992611616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821942404064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913345152"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821913345152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913344256": {"type": "Overloaded", "items": [{"nodeId": "139821992612512"}, {"nodeId": "139821992612960"}, {"nodeId": "139821992613408"}]}, "139821992612512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992612960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345488"}], "returnType": {"nodeId": "139821913345712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821913345488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345712": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992613408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345824"}, {"nodeId": "139821913345936"}, {"nodeId": "139821913346048"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "139821913345824": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345936": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346048": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346272": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821913345040": {"type": "Overloaded", "items": [{"nodeId": "139821992613856"}, {"nodeId": "139821992614304"}]}, "139821992613856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346608"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346608": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992614304": {"type": "Function", "typeVars": [".-1.139821992614304"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992614304"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992614304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992614304", "variance": "INVARIANT"}, "139821913346720": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992614304"}]}, "139821913345264": {"type": "Overloaded", "items": [{"nodeId": "139821992614752"}, {"nodeId": "139821992615200"}]}, "139821992614752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347056": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992615200": {"type": "Function", "typeVars": [".-1.139821992615200"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992615200"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992615200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992615200", "variance": "INVARIANT"}, "139821913347168": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992615200"}]}, "139821992615648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347280"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347392"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347504"}], "returnType": {"nodeId": "139821913347728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347504": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913347728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821888052288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913347952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821913346384": {"type": "Overloaded", "items": [{"nodeId": "139821992617440"}, {"nodeId": "139821992617888"}]}, "139821992617440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821992617888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913348288"}], "returnType": {"nodeId": "139821913348512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913348288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913348512": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992618336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992618784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821992619232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921428736": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821929658544": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219616"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220064"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220512"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871455296"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871456192"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871457088"}}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929658208"}], "isAbstract": false}, "139821963219168": {"type": "Function", "typeVars": [".-1.139821963219168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821963219168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219168", "variance": "INVARIANT"}, "139821963219616": {"type": "Function", "typeVars": [".-1.139821963219616"], "argTypes": [{"nodeId": ".-1.139821963219616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963219616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219616", "variance": "INVARIANT"}, "139821963220064": {"type": "Function", "typeVars": [".-1.139821963220064"], "argTypes": [{"nodeId": ".-1.139821963220064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220064", "variance": "INVARIANT"}, "139821963220512": {"type": "Function", "typeVars": [".-1.139821963220512"], "argTypes": [{"nodeId": ".-1.139821963220512"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220512", "variance": "INVARIANT"}, "139821871455296": {"type": "Function", "typeVars": [".-1.139821871455296"], "argTypes": [{"nodeId": ".-1.139821871455296"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871455296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871455296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871455296", "variance": "INVARIANT"}, "139821871456192": {"type": "Function", "typeVars": [".-1.139821871456192"], "argTypes": [{"nodeId": ".-1.139821871456192"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871456192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871456192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871456192", "variance": "INVARIANT"}, "139821871457088": {"type": "Function", "typeVars": [".-1.139821871457088"], "argTypes": [{"nodeId": ".-1.139821871457088"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871457088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871457088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871457088", "variance": "INVARIANT"}, "139821929658208": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227664"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449024"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951318752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319200"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319648"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215136"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215584"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963216032"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "139821929657536"}], "isAbstract": false}, "139821934227664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821908966784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908966784": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951318752": {"type": "Function", "typeVars": [".-1.139821951318752"], "argTypes": [{"nodeId": ".-1.139821951318752"}, {"nodeId": ".-1.139821951318752"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951318752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951318752", "variance": "INVARIANT"}, "139821951319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951319648": {"type": "Function", "typeVars": [".-1.139821951319648"], "argTypes": [{"nodeId": ".-1.139821951319648"}, {"nodeId": ".-1.139821951319648"}], "returnType": {"nodeId": ".-1.139821951319648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951319648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951319648", "variance": "INVARIANT"}, "139821963215136": {"type": "Function", "typeVars": [".-1.139821963215136"], "argTypes": [{"nodeId": ".-1.139821963215136"}, {"nodeId": ".-1.139821963215136"}], "returnType": {"nodeId": ".-1.139821963215136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215136", "variance": "INVARIANT"}, "139821963215584": {"type": "Function", "typeVars": [".-1.139821963215584"], "argTypes": [{"nodeId": ".-1.139821963215584"}, {"nodeId": ".-1.139821963215584"}], "returnType": {"nodeId": ".-1.139821963215584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215584", "variance": "INVARIANT"}, "139821963216032": {"type": "Function", "typeVars": [".-1.139821963216032"], "argTypes": [{"nodeId": ".-1.139821963216032"}], "returnType": {"nodeId": ".-1.139821963216032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821963216032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963216032", "variance": "INVARIANT"}, "139821929657536": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871329376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871330048"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227552"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330272"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951313824"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314272"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314720"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951315168"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821871329376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821871330048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934227552": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821871330272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "139821871330496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "139821951313824": {"type": "Function", "typeVars": [".-1.139821951313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821951313824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951313824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951313824", "variance": "INVARIANT"}, "139821951314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "139821951315168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "139821925744704": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896031072"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942651056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896609440"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425536"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912817840"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821912820304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912820304": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821942651056": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821896609440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896350208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971425088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139821925745040"}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "139821912820752"}, {"nodeId": "139821912820864"}, {"nodeId": "139821912820976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "139821912820752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821912820864": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "N"}]}, "139821912820976": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821971425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821912817840": {"type": "Overloaded", "items": [{"nodeId": "139821971425984"}, {"nodeId": "139821971426432"}]}, "139821971425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "N"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821971426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139822017680704"}, {"nodeId": "139821912821536"}], "returnType": {"nodeId": "139821925748064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821912821536": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821925748064": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891928576"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929024"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929248"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929472"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929696"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971953856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971954304"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891928576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912826800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912826800": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821891929024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912827024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827024": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821891929248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821925747728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925747728": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971950720"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971950720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747728"}, {"nodeId": "139821912826576"}, {"nodeId": "139821912826688"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821912826576": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821912826688": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821891929472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971953856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "139821946417920"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821946417920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971954304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925745712": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971805952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821971806400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971806848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821971807296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925746720": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891770336"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810880"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971811328"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912818512"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}], "bases": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "isAbstract": false}, "139821891770336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821912823440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925746720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, ".2.139821925746720": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "CONTRAVARIANT"}, ".3.139821925746720": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, "139821912823440": {"type": "Union", "items": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971810432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971810880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971811328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": ".2.139821925746720"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912818512": {"type": "Overloaded", "items": [{"nodeId": "139821971811776"}, {"nodeId": "139821971812224"}]}, "139821971811776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "0"}, {"nodeId": "139821912823664"}, {"nodeId": "139821912823776"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823664": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912823776": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971812224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912823888"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823888": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925747056": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891774144"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813120"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813568"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971814016"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912821424"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815360"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815808"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}], "bases": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "isAbstract": false}, "139821891774144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821912824112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "COVARIANT"}, ".2.139821925747056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "CONTRAVARIANT"}, "139821912824112": {"type": "Union", "items": [{"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971813120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971813568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971814016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": ".2.139821925747056"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912821424": {"type": "Overloaded", "items": [{"nodeId": "139821946417024"}, {"nodeId": "139821971814464"}]}, "139821946417024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "0"}, {"nodeId": "139821912824784"}, {"nodeId": "139821912824896"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912824784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912824896": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971814464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912825120"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912825120": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971815360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971815808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925747392": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891777504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948480"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948928"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971949376"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912825008"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}], "bases": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "isAbstract": false}, "139821891777504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139821912825904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, ".2.139821925747392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "CONTRAVARIANT"}, ".3.139821925747392": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, "139821912825904": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821912825792"}]}, {"nodeId": "N"}]}, "139821912825792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821971948480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971948928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.139821925747392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971949376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": ".2.139821925747392"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912825008": {"type": "Overloaded", "items": [{"nodeId": "139821971949824"}, {"nodeId": "139821971950272"}]}, "139821971949824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "0"}, {"nodeId": "139821912826240"}, {"nodeId": "139821912826352"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826240": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912826352": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971950272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912826464"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925748400": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931040"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931488"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971956096"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891931040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821912827696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827696": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "139821925746384"}]}, "139821891931488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891931712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971956096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925748736": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891932832"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933504"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971957888"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971958336"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891932832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821925749072": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891934848"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935296"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935520"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971960576"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961024"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961472"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891934848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971960576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971961024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971961472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925749408": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891937760"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938208"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971963264"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972095040"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971963264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925749744": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891939552"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940000"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972096832"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097280"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891939552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925750752": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892011840"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012064"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972105344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892011840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972104448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972104896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751088": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013408"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013856"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892014080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972108032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892013408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892013856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892014080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972107136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972107584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751760": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212864"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972212864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925479616": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972216224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972215328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972215776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972216224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925479952": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218016"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218464"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218912"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219360"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220256"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220704"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221152"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221600"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972222048"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821972218016": {"type": "Function", "typeVars": [".-1.139821972218016"], "argTypes": [{"nodeId": ".-1.139821972218016"}], "returnType": {"nodeId": ".-1.139821972218016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821972218016": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218016", "variance": "INVARIANT"}, "139821972218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821972218912": {"type": "Function", "typeVars": [".-1.139821972218912"], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": ".-1.139821972218912"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821972218912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218912", "variance": "INVARIANT"}, "139821972219360": {"type": "Function", "typeVars": [".-1.139821972219360"], "argTypes": [{"nodeId": ".-1.139821972219360"}, {"nodeId": ".-1.139821972219360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821972219360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972219360", "variance": "INVARIANT"}, "139821972219808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972221600": {"type": "Function", "typeVars": [".-1.139821972221600"], "argTypes": [{"nodeId": ".-1.139821972221600"}, {"nodeId": ".-1.139821972221600"}], "returnType": {"nodeId": ".-1.139821972221600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972221600": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972221600", "variance": "INVARIANT"}, "139821972222048": {"type": "Function", "typeVars": [".-1.139821972222048"], "argTypes": [{"nodeId": ".-1.139821972222048"}, {"nodeId": ".-1.139821972222048"}], "returnType": {"nodeId": ".-1.139821972222048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972222048": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972222048", "variance": "INVARIANT"}, "139821925480624": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921790640"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900899136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993365280"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366176"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921790640": {"type": "Overloaded", "items": [{"nodeId": "139821993363936"}, {"nodeId": "139821993364384"}]}, "139821993363936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921948096"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821921948096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821993364384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821900899136": {"type": "Function", "typeVars": [".-1.139821900899136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821900899136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821900899136": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900899136", "variance": "INVARIANT"}, "139821993365280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993366176": {"type": "Function", "typeVars": [".-1.139821993366176"], "argTypes": [{"nodeId": ".-1.139821993366176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821993366176"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821993366176": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993366176", "variance": "INVARIANT"}, "139821925480960": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925539328"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367072"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367520"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925539328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821925540112": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993366624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921945184"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921945408"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "139821921945184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821921945408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993367072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821993367520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925481632": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993369760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993370208"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993369760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921946528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "139821921946528": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993370208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926234960": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854475088"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993372448"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921786160"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916272"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916384"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821854475088": {"type": "Tuple", "items": []}, "139821993372448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234960"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821921786160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916272": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821926235296": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821926235632": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921206336": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854479568"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821926235632"}], "isAbstract": false}, "139821854479568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921206672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854480576"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854480576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921216752": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207008": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854481584"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921206336"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854481584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921208016": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207344": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854482928"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854482928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921207680": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854483824"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854483824": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921208352": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854485840"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921793552"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854485840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420336": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849875776"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923104"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925923328"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785824"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849875776": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420672": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877008"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785936"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785936": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925923104": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821925923328": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785824": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821921793552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921208688": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854487296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921789968"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854487296": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921789968": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209024": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488528"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421008": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877904"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923440"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921209360": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488976"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790416"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921790416": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209696": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854489872"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854489872": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921210032": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854655200"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854655200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921210368": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854656320"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785040"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854656320": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785040": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921323712": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855012592"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855012592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324720": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921322368": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855007328"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855007328": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921323040": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855010688"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855010688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921327072": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921210704": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854657664"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790752"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785152"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854657664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921790752": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921785152": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921211040": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854659120"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854659120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211376": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854660464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854660464": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211712": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854661360"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854661360": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212048": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854662480"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854662480": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212384": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854663600"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854663600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421680": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849879920"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923552"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849879920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921212720": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854664720"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854664720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921213056": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854665616"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785264"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785488"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854665616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785264": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785488": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921213392": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854667072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420000"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854667072": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420000": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849873760"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922880"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922992"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921419664"}], "isAbstract": false}, "139821849873760": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922880": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921419664": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921213728": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854668416"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785600"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854668416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785600": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921214064": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854669200"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854669200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921421344": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849878912"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923216"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849878912": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923216": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214400": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854670544"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785712"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854670544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214736": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854769664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854769664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215072": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854770560"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854770560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215408": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854771456"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854771456": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215744": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216080": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216416": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921217088": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854772576"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921326064"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854772576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921326064": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921217424": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854773808"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854773808": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921217760": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854774704"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921331776"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854774704": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921331776": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921218096": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854775712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854775712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218432": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854776944"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854776944": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218768": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854777840"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925917056"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854777840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925917056": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921219104": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854778624"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854778624": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921219440": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854779744"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854779744": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921419328": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849872752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849872752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921219776": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854780752"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854780752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220112": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854781984"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854781984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220448": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854782880"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854782880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220784": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854783664"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854783664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221120": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854784560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780560"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854784560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921780560": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921221456": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854998592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854998592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221792": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854999936"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921333456"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854999936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921333456": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921222128": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855001056"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855001056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921321024": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002176"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916832"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916832": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921321360": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002848"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921321696": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855004528"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916608"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922320"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855004528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916608": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925922320": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965632"}]}, "139821921322032": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855006096"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921323712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855006096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921322704": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855009008"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922544"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922656"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922768"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855009008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922544": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922656": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922768": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921323376": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855011584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855011584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324048": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855013600"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855013600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324384": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855014608"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855014608": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921325056": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325392": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325728": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921326400": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921326736": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921327408": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921327744": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328080": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328416": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328752": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329088": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329424": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329760": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330096": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330432": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330768": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331104": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331440": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921332112": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332448": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332784": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333120": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333792": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334128": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334464": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334800": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335136": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335472": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335808": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336144": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336480": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336816": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921422016": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849880928"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422688"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821849880928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422688": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881600"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921422352"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923664"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849881600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422352": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821925923664": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921423024": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849881712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921423360": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923776"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882048": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925923776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821921423696": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882384"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921424032": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882720"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924112"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925924112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424368": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849883504"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924224"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849883504": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424704": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884288"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884288": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921425040": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884512"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924336"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924448"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884512": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924336": {"type": "Union", "items": [{"nodeId": "139821921422352"}, {"nodeId": "N"}]}, "139821925924448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921425376": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884736"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884736": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821929644432": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}, {"nodeId": "139821942979744"}], "isAbstract": false}, "139821929644768": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374912"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375360"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375808"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376256"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376704"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993377152"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971619904"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821946419488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620352"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620800"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621248"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621696"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622144"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622592"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933917376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623040"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623488"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623936"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821874989760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971624832"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821993374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821993374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993374912": {"type": "Function", "typeVars": [".-1.139821993374912"], "argTypes": [{"nodeId": ".-1.139821993374912"}], "returnType": {"nodeId": ".-1.139821993374912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821993374912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993374912", "variance": "INVARIANT"}, "139821993375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908712848"}, {"nodeId": "139821908712960"}, {"nodeId": "139821908713072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821908712848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821908712960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821908713072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821993375808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993377152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971619904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946419488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971620352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971620800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821971621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971621696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971622144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713184": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821933917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908713296"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821874989760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971624832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "139821908713520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929645104": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625280"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625728"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626176"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626624"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971625728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713632"}], "returnType": {"nodeId": "139821908713744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713632": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821908713744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713856"}], "returnType": {"nodeId": "139821908713968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713856": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908713968": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821908714080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714080": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929645440": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929645104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627072"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627520"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627968"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628416"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628864"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629312"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}], "returnType": {"nodeId": "139821929645104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971627520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714192": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971627968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714304": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971628416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714416": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971628864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714528"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714528": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971629312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929645776": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921649040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629760"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821880159680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971630656"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631104"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631552"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "139821929645104"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821921649040": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821963644928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821963646720"}]}, "139821963646720": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821938694224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821925473568"}]}]}, "139821921429408": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884323008"}}], "typeVars": [{"nodeId": ".1.139821921429408"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821884323008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921429408", "args": [{"nodeId": ".1.139821921429408"}]}], "returnType": {"nodeId": ".1.139821921429408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921429408": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921429408", "variance": "COVARIANT"}, "139821971629760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908714864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "139821908714640": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821908714864": {"type": "Union", "items": [{"nodeId": "139821908714752"}, {"nodeId": "N"}]}, "139821908714752": {"type": "TypeAlias", "target": {"nodeId": "139821929530976"}}, "139821929530976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821880159680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714976": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971631552": {"type": "Function", "typeVars": [".-1.139821971631552"], "argTypes": [{"nodeId": ".-1.139821971631552"}], "returnType": {"nodeId": ".-1.139821971631552"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971631552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971631552", "variance": "INVARIANT"}, "139821929646112": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632448"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632896"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633344"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633792"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "139821908715088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971632448": {"type": "Function", "typeVars": [".-1.139821971632448"], "argTypes": [{"nodeId": ".-1.139821971632448"}], "returnType": {"nodeId": ".-1.139821971632448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971632448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971632448", "variance": "INVARIANT"}, "139821971632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715200"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929646448": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635136"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971634240": {"type": "Function", "typeVars": [".-1.139821971634240"], "argTypes": [{"nodeId": ".-1.139821971634240"}], "returnType": {"nodeId": ".-1.139821971634240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971634240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971634240", "variance": "INVARIANT"}, "139821971634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821971635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929646784": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635584"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622656"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971635584": {"type": "Function", "typeVars": [".-1.139821971635584"], "argTypes": [{"nodeId": ".-1.139821971635584"}], "returnType": {"nodeId": ".-1.139821971635584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971635584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971635584", "variance": "INVARIANT"}, "139821967622208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821967622656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821908715312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908715312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929647120": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623104"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623552"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929646448"}, {"nodeId": "139821929646784"}], "isAbstract": false}, "139821967623104": {"type": "Function", "typeVars": [".-1.139821967623104"], "argTypes": [{"nodeId": ".-1.139821967623104"}], "returnType": {"nodeId": ".-1.139821967623104"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967623104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967623104", "variance": "INVARIANT"}, "139821967623552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647120"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929647456": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624448"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}], "isAbstract": false}, "139821967624000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821929645104"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "139821967624448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929647792": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870320"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624896"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625344"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625792"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626240"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626688"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628032"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821921870320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921648704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967624896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967625344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967625792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967626240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967626688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967627136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967627584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967628032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821908715424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715424": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929648128": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628480"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410784"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410112"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412352"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967630720"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631168"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631616"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632064"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632512"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632960"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633408"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633856"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929647792"}, {"nodeId": "139821925471216"}], "isAbstract": false}, "139821967628480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821908715536"}, {"nodeId": "139821908715648"}, {"nodeId": "139821908715760"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715536": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875410784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875410112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967630720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821908715872"}, {"nodeId": "139821908715984"}, {"nodeId": "139821908716096"}, {"nodeId": "139821908716208"}, {"nodeId": "139821908716320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716208": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821908716320": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821967631168": {"type": "Function", "typeVars": [".-1.139821967631168"], "argTypes": [{"nodeId": ".-1.139821967631168"}], "returnType": {"nodeId": ".-1.139821967631168"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967631168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967631168", "variance": "INVARIANT"}, "139821967631616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967632064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967632960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929648464": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634304"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634752"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821967634304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}, {"nodeId": "139821908716432"}, {"nodeId": "139821908716544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "139821908716432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821967634752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921720288": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635648"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875522560"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967636544"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": false}, "139821967635200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716656"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "139821908716656": {"type": "Union", "items": [{"nodeId": "139821926224208"}, {"nodeId": "N"}]}, "139821926224208": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964017952"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863217280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964018848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019296"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019744"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821964017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863217280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458272"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904458272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821964018848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964019296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "139821904458496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458496": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821964019744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458720": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821967635648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716880"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821908716880": {"type": "Union", "items": [{"nodeId": "139821908716768"}, {"nodeId": "139821942966640"}]}, "139821908716768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821875522560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}], "returnType": {"nodeId": "139821908716992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908716992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967636544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908717216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908717216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821938453056": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938452720"}], "isAbstract": false}, "139821921714912": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890176"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890624"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891072"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891520"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921714912"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967889728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.139821921714912": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "139821938452720"}, "def": "139821921714912", "variance": "INVARIANT"}, "139821967890176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967890624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821967891520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821938453392": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821908686912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891968"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821908686912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455408": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938456416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206848"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": false}, "139821968206848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456752"}, {"nodeId": "139821909377984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909377984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821938457088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207296"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921655088"}]}], "isAbstract": false}, "139821968207296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938457088"}, {"nodeId": "139821909378096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921655088": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821938457424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938457760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938458096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938721168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721504": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721840": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722176": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722512": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722848": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723184": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723520": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723856": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724192": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724528": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724864": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725200": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725536": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725872": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726208": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726544": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726880": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938727216": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921653856"}]}], "isAbstract": false}, "139821921653856": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821938727552": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821938727888": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207744"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921654864"}]}], "isAbstract": false}, "139821968207744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938727888"}, {"nodeId": "139821909378208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921654864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938728224": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139822017681040"}]}], "isAbstract": false}, "139821968208192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938728224"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821938728560": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.139821938728560"}], "bases": [{"nodeId": "139821938454064"}, {"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938728560"}]}], "isAbstract": false}, ".1.139821938728560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938728560", "variance": "INVARIANT"}, "139821938728896": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938729232": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821934217024"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208640"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453392"}], "isAbstract": false}, "139821934217024": {"type": "Union", "items": [{"nodeId": "139821934216576"}, {"nodeId": "139821934216800"}]}, "139821934216576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}]}, "139821934216800": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}, {"nodeId": "139821942964960"}]}, "139821968208640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729232"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938728896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938729568": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209536"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209984"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821968209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "139821968209536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968209984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821938729904": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730240": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730576": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821938730912": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821921715584": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377088"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868448"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377200"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868896"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963133440"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378768"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378880"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963135680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136128"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136576"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921715584"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": true}, "139821909377088": {"type": "Overloaded", "items": [{"nodeId": "139821968210432"}]}, "139821968210432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921715584": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715584", "variance": "INVARIANT"}, "139821866868448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909377200": {"type": "Overloaded", "items": [{"nodeId": "139821968211328"}]}, "139821968211328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821866868896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963133440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821909378768": {"type": "Overloaded", "items": [{"nodeId": "139821963133888"}, {"nodeId": "139821963134336"}]}, "139821963133888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963134336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909378880": {"type": "Overloaded", "items": [{"nodeId": "139821963134784"}, {"nodeId": "139821963135232"}]}, "139821963134784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925757808": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967951680"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952128"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read", "readline"]}, "139821967951680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967952128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925758480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925758816": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759152": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759488": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821929534112"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821938742368"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957952"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967958848"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959296"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959744"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929534112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "139821929619728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929619728": {"type": "TypeAlias", "target": {"nodeId": "139821929613904"}}, "139821929613904": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821929617152"}, {"nodeId": "139821929615136"}, {"nodeId": "139821929614576"}, {"nodeId": "139821929613792"}]}, "139821929617152": {"type": "Tuple", "items": [{"nodeId": "139822009412832"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822009412832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615136": {"type": "Tuple", "items": [{"nodeId": "139821946893952"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "139821946893952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929614576": {"type": "Tuple", "items": [{"nodeId": "139821929534336"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929615920"}]}, "139821929534336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615920": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613792": {"type": "Tuple", "items": [{"nodeId": "139821929533664"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929613456"}, {"nodeId": "139821929613680"}]}, "139821929533664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929613456": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613680": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821938742368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925759824": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821929533888"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967960192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961088"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961536"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961984"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929533888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821925757808"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913484288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "139821913484288": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821967961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967961984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "139821967957504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913483392"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913483504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "139821913483392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913483504": {"type": "TypeAlias", "target": {"nodeId": "139821925914816"}}, "139821925914816": {"type": "Union", "items": [{"nodeId": "139821946893504"}, {"nodeId": "N"}]}, "139821946893504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967957952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821967958848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967959296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821925760160": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964896"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965792"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777376"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777824"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778720"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779616"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480816"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925760160"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "isAbstract": false}, "139821967964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.139821925760160": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760160", "variance": "INVARIANT"}, "139821967964896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "139821967965344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967965792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821954778272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954779168": {"type": "Function", "typeVars": [".-1.139821954779168", ".-2.139821954779168"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779168"}, {"nodeId": ".-2.139821954779168"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671488"}, {"nodeId": "139821913671600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, ".-2.139821954779168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, "139821913671488": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779168"}]}, "139821913671600": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779168"}]}, "139821954779616": {"type": "Function", "typeVars": [".-1.139821954779616", ".-2.139821954779616"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779616"}, {"nodeId": ".-2.139821954779616"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671712"}, {"nodeId": "139821913671824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, ".-2.139821954779616": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, "139821913671712": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779616"}]}, "139821913671824": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779616"}]}, "139821913480816": {"type": "Overloaded", "items": [{"nodeId": "139821954780064"}, {"nodeId": "139821954780512"}]}, "139821954780064": {"type": "Function", "typeVars": [".-1.139821954780064"], "argTypes": [{"nodeId": ".-1.139821954780064"}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": ".-1.139821954780064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780064", "variance": "INVARIANT"}, "139821954780512": {"type": "Function", "typeVars": [".-1.139821954780512"], "argTypes": [{"nodeId": ".-1.139821954780512"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821913672160"}]}], "returnType": {"nodeId": ".-1.139821954780512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780512", "variance": "INVARIANT"}, "139821913672160": {"type": "Tuple", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "139821921429072": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879398848"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884345920"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343680"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343904"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342336"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343232"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342784"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343008"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342560"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325248"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324800"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325024"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325472"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324576"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884322336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323456"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323904"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821879398848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672384"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672384": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672496"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672496": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672608": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672720"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672720": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672832": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672944"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672944": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673056"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673056": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673168"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673168": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673280"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673280": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673392"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673392": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673504"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673504": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673616"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673728"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884322336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821925760496": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319200"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954793056"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954957600"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958048"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958496"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959392"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959840"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925760496"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821884319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925760496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760496", "variance": "INVARIANT"}, "139821884319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954793056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954957600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954958944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913674512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913674512": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821921867408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821954959392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954959840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921429744": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879406352"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884313152"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311808"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311584"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311360"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311136"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310912"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310688"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310464"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310240"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310016"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884309792"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879406352": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884313152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675632"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675632": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675744": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675968"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675968": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430080": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879408032"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307968"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307520"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884302816"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306848"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306176"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821879408032": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676528"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676640": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884302816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676864"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676864": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921430416": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879657408"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300576"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300128"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879657408": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685488"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685488": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685600": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430752": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569376"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950570272"}, "name": "close"}], "typeVars": [{"nodeId": ".1.139821921430752"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}]}, {"nodeId": "139821938731248", "args": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}]}], "isAbstract": false}, "139821950569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921430752": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921430752", "variance": "INVARIANT"}, "139821950569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821950570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921431088": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950716832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950717280"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821950716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}, {"nodeId": "139821929648128"}, {"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "139821925754784": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865616"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865952"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539168"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910224"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910336"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913040576"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929534560"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535008"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535456"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535904"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536352"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536800"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537248"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537696"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929538144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925754784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921865616": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821921538496": {"type": "Union", "items": [{"nodeId": "139821921534800"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821921538048"}]}]}, "139821921534800": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538048": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921865952": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, ".1.139821925754784": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925754784", "variance": "INVARIANT"}, "139821921539168": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910224": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910336": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821913040576": {"type": "Overloaded", "items": [{"nodeId": "139821942398016"}, {"nodeId": "139821934458272"}, {"nodeId": "139821934458720"}, {"nodeId": "139821934459168"}, {"nodeId": "139821934459616"}, {"nodeId": "139821934460064"}]}, "139821942398016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913208224"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913208448"}, {"nodeId": "139821913208672"}, {"nodeId": "139821913208896"}, {"nodeId": "139821913209120"}, {"nodeId": "139821913209232"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913209568"}, {"nodeId": "139821913209792"}, {"nodeId": "139821913209904"}, {"nodeId": "139821913210128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913210240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913210352"}, {"nodeId": "139821913210464"}, {"nodeId": "139821913210576"}, {"nodeId": "139821913276480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913208224": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913208448": {"type": "Union", "items": [{"nodeId": "139821913208336"}, {"nodeId": "N"}]}, "139821913208336": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913208672": {"type": "Union", "items": [{"nodeId": "139821913208560"}, {"nodeId": "N"}]}, "139821913208560": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821925908880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}]}, "139821913208896": {"type": "Union", "items": [{"nodeId": "139821913208784"}, {"nodeId": "N"}]}, "139821913208784": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209120": {"type": "Union", "items": [{"nodeId": "139821913209008"}, {"nodeId": "N"}]}, "139821913209008": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209232": {"type": "Union", "items": [{"nodeId": "139821942390848"}, {"nodeId": "N"}]}, "139821942390848": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913209568": {"type": "Union", "items": [{"nodeId": "139821913209456"}, {"nodeId": "N"}]}, "139821913209456": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209792": {"type": "Union", "items": [{"nodeId": "139821913209680"}, {"nodeId": "N"}]}, "139821913209680": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821921539504": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821925473568"}, {"nodeId": "139821921539056"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821921538384"}]}]}, "139821921539056": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538384": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209904": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913210240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913210464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913210576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913276480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913210688"}]}, {"nodeId": "N"}]}, "139821913210688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913276592"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913276816"}, {"nodeId": "139821913277040"}, {"nodeId": "139821913277264"}, {"nodeId": "139821913277488"}, {"nodeId": "139821913277600"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913277936"}, {"nodeId": "139821913278160"}, {"nodeId": "139821913278272"}, {"nodeId": "139821913278496"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913278608"}, {"nodeId": "139821913278720"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913278832"}, {"nodeId": "139821913278944"}, {"nodeId": "139821913279168"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913276592": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913276816": {"type": "Union", "items": [{"nodeId": "139821913276704"}, {"nodeId": "N"}]}, "139821913276704": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913277040": {"type": "Union", "items": [{"nodeId": "139821913276928"}, {"nodeId": "N"}]}, "139821913276928": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277264": {"type": "Union", "items": [{"nodeId": "139821913277152"}, {"nodeId": "N"}]}, "139821913277152": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277488": {"type": "Union", "items": [{"nodeId": "139821913277376"}, {"nodeId": "N"}]}, "139821913277376": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277600": {"type": "Union", "items": [{"nodeId": "139821942403392"}, {"nodeId": "N"}]}, "139821942403392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913277936": {"type": "Union", "items": [{"nodeId": "139821913277824"}, {"nodeId": "N"}]}, "139821913277824": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913278160": {"type": "Union", "items": [{"nodeId": "139821913278048"}, {"nodeId": "N"}]}, "139821913278048": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913278272": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278496": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913278608": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278720": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913278832": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913278944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913279168": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913279056"}]}, {"nodeId": "N"}]}, "139821913279056": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913279280"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913279504"}, {"nodeId": "139821913279728"}, {"nodeId": "139821913279952"}, {"nodeId": "139821913280176"}, {"nodeId": "139821913280288"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913280624"}, {"nodeId": "139821913280848"}, {"nodeId": "0"}, {"nodeId": "139821913281184"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913281296"}, {"nodeId": "139821913281408"}, {"nodeId": "139821913281520"}, {"nodeId": "139821913281632"}, {"nodeId": "139821913281744"}, {"nodeId": "139821913281968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913279280": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913279504": {"type": "Union", "items": [{"nodeId": "139821913279392"}, {"nodeId": "N"}]}, "139821913279392": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913279728": {"type": "Union", "items": [{"nodeId": "139821913279616"}, {"nodeId": "N"}]}, "139821913279616": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913279952": {"type": "Union", "items": [{"nodeId": "139821913279840"}, {"nodeId": "N"}]}, "139821913279840": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280176": {"type": "Union", "items": [{"nodeId": "139821913280064"}, {"nodeId": "N"}]}, "139821913280064": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280288": {"type": "Union", "items": [{"nodeId": "139821942405408"}, {"nodeId": "N"}]}, "139821942405408": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913280624": {"type": "Union", "items": [{"nodeId": "139821913280512"}, {"nodeId": "N"}]}, "139821913280512": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913280848": {"type": "Union", "items": [{"nodeId": "139821913280736"}, {"nodeId": "N"}]}, "139821913280736": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913281184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913281296": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913281408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281968": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913281856"}]}, {"nodeId": "N"}]}, "139821913281856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913282080"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913282304"}, {"nodeId": "139821913282528"}, {"nodeId": "139821913282752"}, {"nodeId": "139821913282976"}, {"nodeId": "139821913283088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913283424"}, {"nodeId": "139821913283648"}, {"nodeId": "139821913283760"}, {"nodeId": "139821913283984"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "0"}, {"nodeId": "139821913284208"}, {"nodeId": "139821913284320"}, {"nodeId": "139821913284432"}, {"nodeId": "139821913284544"}, {"nodeId": "139821913284768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913282080": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913282304": {"type": "Union", "items": [{"nodeId": "139821913282192"}, {"nodeId": "N"}]}, "139821913282192": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913282528": {"type": "Union", "items": [{"nodeId": "139821913282416"}, {"nodeId": "N"}]}, "139821913282416": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282752": {"type": "Union", "items": [{"nodeId": "139821913282640"}, {"nodeId": "N"}]}, "139821913282640": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282976": {"type": "Union", "items": [{"nodeId": "139821913282864"}, {"nodeId": "N"}]}, "139821913282864": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913283088": {"type": "Union", "items": [{"nodeId": "139821942403840"}, {"nodeId": "N"}]}, "139821942403840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913283424": {"type": "Union", "items": [{"nodeId": "139821913283312"}, {"nodeId": "N"}]}, "139821913283312": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913283648": {"type": "Union", "items": [{"nodeId": "139821913283536"}, {"nodeId": "N"}]}, "139821913283536": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913283760": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913283984": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913284208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913284656"}]}, {"nodeId": "N"}]}, "139821913284656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913284880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913285104"}, {"nodeId": "139821913285328"}, {"nodeId": "139821913285552"}, {"nodeId": "139821913285776"}, {"nodeId": "139821913285888"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913286224"}, {"nodeId": "139821913286448"}, {"nodeId": "139821913286672"}, {"nodeId": "139821913286896"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913287120"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "139821913287232"}, {"nodeId": "139821913287344"}, {"nodeId": "139821913287568"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913284880": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913285104": {"type": "Union", "items": [{"nodeId": "139821913284992"}, {"nodeId": "N"}]}, "139821913284992": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913285328": {"type": "Union", "items": [{"nodeId": "139821913285216"}, {"nodeId": "N"}]}, "139821913285216": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285552": {"type": "Union", "items": [{"nodeId": "139821913285440"}, {"nodeId": "N"}]}, "139821913285440": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285776": {"type": "Union", "items": [{"nodeId": "139821913285664"}, {"nodeId": "N"}]}, "139821913285664": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285888": {"type": "Union", "items": [{"nodeId": "139821942404736"}, {"nodeId": "N"}]}, "139821942404736": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913286224": {"type": "Union", "items": [{"nodeId": "139821913286112"}, {"nodeId": "N"}]}, "139821913286112": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913286448": {"type": "Union", "items": [{"nodeId": "139821913286336"}, {"nodeId": "N"}]}, "139821913286336": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913286672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913286896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913287120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "139821913287232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287568": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913287456"}]}, {"nodeId": "N"}]}, "139821913287456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "A"}]}, {"nodeId": "139821913287792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913288016"}, {"nodeId": "139821913288240"}, {"nodeId": "139821913288464"}, {"nodeId": "139821913288688"}, {"nodeId": "139821913288800"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913289136"}, {"nodeId": "139821913289360"}, {"nodeId": "139821913289472"}, {"nodeId": "139821913289696"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913289808"}, {"nodeId": "139821913289920"}, {"nodeId": "139821913290032"}, {"nodeId": "139821913290144"}, {"nodeId": "139821913290256"}, {"nodeId": "139821913290480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913287792": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913288016": {"type": "Union", "items": [{"nodeId": "139821913287904"}, {"nodeId": "N"}]}, "139821913287904": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913288240": {"type": "Union", "items": [{"nodeId": "139821913288128"}, {"nodeId": "N"}]}, "139821913288128": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288464": {"type": "Union", "items": [{"nodeId": "139821913288352"}, {"nodeId": "N"}]}, "139821913288352": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288688": {"type": "Union", "items": [{"nodeId": "139821913288576"}, {"nodeId": "N"}]}, "139821913288576": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288800": {"type": "Union", "items": [{"nodeId": "139821942397568"}, {"nodeId": "N"}]}, "139821942397568": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913289136": {"type": "Union", "items": [{"nodeId": "139821913289024"}, {"nodeId": "N"}]}, "139821913289024": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913289360": {"type": "Union", "items": [{"nodeId": "139821913289248"}, {"nodeId": "N"}]}, "139821913289248": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913289472": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913289808": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913290368"}]}, {"nodeId": "N"}]}, "139821913290368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821929534560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "139821913290592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913290592": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "139821913290704": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821929535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290816"}, {"nodeId": "139821913290928"}], "returnType": {"nodeId": "139821913291152"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "139821913290816": {"type": "Union", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": "N"}]}, "139821913290928": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821913291152": {"type": "Tuple", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": ".1.139821925754784"}]}, "139821929535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "139821929536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929537248": {"type": "Function", "typeVars": [".-1.139821929537248"], "argTypes": [{"nodeId": ".-1.139821929537248"}], "returnType": {"nodeId": ".-1.139821929537248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821929537248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821929537248", "variance": "INVARIANT"}, "139821929537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913291264"}, {"nodeId": "139821913291376"}, {"nodeId": "139821913291488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913291264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913291376": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913291488": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821929538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821950717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}], "returnType": {"nodeId": "139821908619472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908619472": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921431424": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879667936"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884290240"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289344"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289120"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288672"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288896"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821879667936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884290240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621264": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621152"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621152": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621488"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621488": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621824"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621824": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621936"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621936": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821921431760": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879670176"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879223328"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224448"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224672"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224896"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879225120"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879670176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821879223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705456": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706128": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706240"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706352": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921432096": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879671968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950882912"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879226464"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879671968": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821950882912": {"type": "Function", "typeVars": [".-1.139821950882912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821950882912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.139821950882912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821950882912", "variance": "INVARIANT"}, "139821879226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908709936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908709936": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821929652832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929653504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871090592"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821871090592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653504"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929653840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951029696"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951030144"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951031040"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089248"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821951029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957264": {"type": "Union", "items": [{"nodeId": "139821925745040"}, {"nodeId": "N"}]}, "139821871089696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951031040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821871089248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908957600"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "139821908957600": {"type": "Union", "items": [{"nodeId": "139821908957488"}, {"nodeId": "139821942966640"}]}, "139821908957488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929654176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871088352"}}], "typeVars": [], "bases": [{"nodeId": "139821929653840"}], "isAbstract": true}, "139821871088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654176"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821929654512": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032384"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032832"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033280"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033728"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951032384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951032832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "139821951033280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951033728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929654848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034176"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034624"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035072"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908957936"}], "returnType": {"nodeId": "139821908958048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821908957936": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958048": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951034624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958160"}, {"nodeId": "139821908958272"}], "returnType": {"nodeId": "139821908958384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821908958160": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958272": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908958384": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655184": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035520"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035968"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036416"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036864"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951035520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958496": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951035968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958832": {"type": "Tuple", "items": [{"nodeId": "139821908958608"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}]}, "139821908958608": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951036416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951036864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958944"}], "returnType": {"nodeId": "139821908959056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "139821908958944": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908959056": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655520": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037760"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038208"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038656"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951037312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821951037760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951038208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959168"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951038656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959280"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959280": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929655856": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870887008"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886560"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870885888"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886784"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821870887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870885888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821870886784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929656192": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884992"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884544"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884320"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908956928"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870884096"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883424"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883200"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870882976"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "139821870884992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929656192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "139821908956928": {"type": "Overloaded", "items": [{"nodeId": "139821954484480"}, {"nodeId": "139821954484928"}, {"nodeId": "139821954485376"}, {"nodeId": "139821954485824"}, {"nodeId": "139821954486272"}, {"nodeId": "139821954486720"}, {"nodeId": "139821954487168"}]}, "139821954484480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959504"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908959616"}, {"nodeId": "139821908959728"}, {"nodeId": "139821908959840"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959504": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821938689968": {"type": "Union", "items": [{"nodeId": "139821938688176"}, {"nodeId": "139821938689632"}, {"nodeId": "139821938690304"}]}, "139821938688176": {"type": "TypeAlias", "target": {"nodeId": "139821938689296"}}, "139821938689296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938689632": {"type": "TypeAlias", "target": {"nodeId": "139821946830208"}}, "139821946830208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938690304": {"type": "TypeAlias", "target": {"nodeId": "139821946829536"}}, "139821946829536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821908959616": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954484928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959952"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959952": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821951386336": {"type": "Union", "items": [{"nodeId": "139821951101168"}, {"nodeId": "139821946829312"}, {"nodeId": "139821951386560"}]}, "139821951101168": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821946830656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821946829312": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821925916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821951386560": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821951386224": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961296"}, {"nodeId": "139821908961520"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961296": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821908961520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908962752"}, {"nodeId": "139821908962864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962752": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821908962864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908963872"}, {"nodeId": "139821908960624"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908963872": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821908960624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961632"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961632": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821954487168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908962976"}, {"nodeId": "139821908961408"}, {"nodeId": "139821908963760"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908961408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908963760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870884096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821870883200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961856"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821908961856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929656528": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870881856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954489856"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490304"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490752"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954491200"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "139821929655856"}], "isAbstract": true}, "139821870881856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954489856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821954491200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921433440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850432"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850880"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849984"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849536"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849088"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847072"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870848416"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847296"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845504"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870850432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953792"}], "returnType": {"nodeId": "139821908953904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908953792": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908953904": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870850880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954016"}, {"nodeId": "139821908954128"}], "returnType": {"nodeId": "139821908954240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954016": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954128": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954240": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870849984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870848416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821870847296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908954352"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908954352": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870845504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921433776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845728"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844832"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843936"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844384"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843488"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843040"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870842592"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870841920"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870840992"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870845728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954464"}], "returnType": {"nodeId": "139821908954576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908954464": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954576": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870844832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954688"}, {"nodeId": "139821908954800"}], "returnType": {"nodeId": "139821908954912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954688": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954800": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954912": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870843936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870844384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "139821870841920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908955024"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908955024": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870840992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921434112": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839872"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839424"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": false}, "139821870839872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955136"}], "returnType": {"nodeId": "139821908955248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908955136": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955248": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870839424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955360"}, {"nodeId": "139821908955472"}], "returnType": {"nodeId": "139821908955584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955360": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955472": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955584": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652496": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837856"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837408"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870838304"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821870837856": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "139821870837408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "139821921432768": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937949856"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875671808"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921870656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937949856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}, {"nodeId": "139821908721248"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "139821908721248": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875671808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929651824": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952352"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952800"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937953248"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "139821929651488"}], "isAbstract": false}, "139821937952352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821921719280": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574976"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947013600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014048"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884037760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947015392"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947016736"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017184"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017632"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018080"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018528"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018976"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019424"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019872"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020320"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020768"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021216"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021664"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947022112"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480256"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947025696"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026144"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026592"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947027040"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947109664"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947110112"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111456"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111904"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112352"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112800"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113248"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113696"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947114144"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884040224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115488"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115936"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947118176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947119072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821913574976": {"type": "Function", "typeVars": [".-1.139821913574976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821913574976"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "139821913485856": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821938697136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}]}, ".-1.139821913574976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574976", "variance": "INVARIANT"}, "139821947013600": {"type": "Function", "typeVars": [".-1.139821947013600"], "argTypes": [{"nodeId": ".-1.139821947013600"}], "returnType": {"nodeId": ".-1.139821947013600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821947013600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947013600", "variance": "INVARIANT"}, "139821947014048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486080"}, {"nodeId": "139821913486192"}, {"nodeId": "139821913486304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913486080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913486192": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913486304": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821884037760": {"type": "Function", "typeVars": [".-1.139821884037760"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884037760"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884037760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884037760", "variance": "INVARIANT"}, "139821947014944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913486416"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913486416": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947015392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "139821947016736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947017184": {"type": "Function", "typeVars": [".-1.139821947017184"], "argTypes": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947017184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947017184", "variance": "INVARIANT"}, "139821947017632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020768": {"type": "Function", "typeVars": [".-1.139821947020768"], "argTypes": [{"nodeId": ".-1.139821947020768"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947020768"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947020768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947020768", "variance": "INVARIANT"}, "139821947021216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "139821947021664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821913486528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913486528": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947022112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "139821913480256": {"type": "Overloaded", "items": [{"nodeId": "139821947022560"}, {"nodeId": "139821947023008"}, {"nodeId": "139821947023456"}, {"nodeId": "139821947023904"}, {"nodeId": "139821947024352"}, {"nodeId": "139821947024800"}, {"nodeId": "139821947025248"}]}, "139821947022560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486752"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913486864"}, {"nodeId": "139821913486976"}, {"nodeId": "139821913487088"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913486752": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821913486864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913486976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913487088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947023008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487200"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487200": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947023456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488768"}, {"nodeId": "139821913487648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488768": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821913487648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947023904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488096"}, {"nodeId": "139821913488880"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488096": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821913488880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488656"}, {"nodeId": "139821913487536"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488656": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821913487536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487760"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487760": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947025248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913488992"}, {"nodeId": "139821913488432"}, {"nodeId": "139821913489104"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913488432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913489104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947025696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947027040": {"type": "Function", "typeVars": [".-1.139821947027040"], "argTypes": [{"nodeId": ".-1.139821947027040"}], "returnType": {"nodeId": ".-1.139821947027040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947027040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947027040", "variance": "INVARIANT"}, "139821947109664": {"type": "Function", "typeVars": [".-1.139821947109664"], "argTypes": [{"nodeId": ".-1.139821947109664"}, {"nodeId": "139821913669696"}], "returnType": {"nodeId": ".-1.139821947109664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947109664", "variance": "INVARIANT"}, "139821913669696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821921718272": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884014656"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981184"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981408"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980736"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980512"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980288"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980064"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883979840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573184"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930405600"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406048"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406496"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406944"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407840"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573856"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574080"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409184"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409632"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410080"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410528"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410976"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411424"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411872"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573632"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930412768"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413216"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413664"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574752"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883974464"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883976704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947012704"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821884014656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883979840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913573184": {"type": "Function", "typeVars": [".-1.139821913573184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485072"}], "returnType": {"nodeId": ".-1.139821913573184"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "139821913485072": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, ".-1.139821913573184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573184", "variance": "INVARIANT"}, "139821930405600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930406496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913573856": {"type": "Function", "typeVars": [".-1.139821913573856"], "argTypes": [{"nodeId": ".-1.139821913573856"}, {"nodeId": "139821913485184"}], "returnType": {"nodeId": ".-1.139821913573856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913573856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573856", "variance": "INVARIANT"}, "139821913485184": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821913574080": {"type": "Function", "typeVars": [".-1.139821913574080"], "argTypes": [{"nodeId": ".-1.139821913574080"}, {"nodeId": "139821913485296"}], "returnType": {"nodeId": ".-1.139821913574080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913574080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574080", "variance": "INVARIANT"}, "139821913485296": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930409632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930411424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821913485408"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "139821913485408": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930411872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "139821913573632": {"type": "Function", "typeVars": [".-1.139821913573632"], "argTypes": [{"nodeId": ".-1.139821913573632"}, {"nodeId": "139821913485520"}], "returnType": {"nodeId": ".-1.139821913573632"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913573632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573632", "variance": "INVARIANT"}, "139821913485520": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930412768": {"type": "Function", "typeVars": [".-1.139821930412768"], "argTypes": [{"nodeId": ".-1.139821930412768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930412768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.139821930412768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930412768", "variance": "INVARIANT"}, "139821930413216": {"type": "Function", "typeVars": [".-1.139821930413216"], "argTypes": [{"nodeId": ".-1.139821930413216"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.139821930413216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413216", "variance": "INVARIANT"}, "139821930413664": {"type": "Function", "typeVars": [".-1.139821930413664"], "argTypes": [{"nodeId": ".-1.139821930413664"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.139821930413664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413664", "variance": "INVARIANT"}, "139821913574752": {"type": "Function", "typeVars": [".-1.139821913574752"], "argTypes": [{"nodeId": ".-1.139821913574752"}, {"nodeId": "139821913485632"}], "returnType": {"nodeId": ".-1.139821913574752"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913574752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574752", "variance": "INVARIANT"}, "139821913485632": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821883974464": {"type": "Function", "typeVars": [".-1.139821883974464"], "argTypes": [{"nodeId": ".-1.139821883974464"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".-1.139821883974464"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883974464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883974464", "variance": "INVARIANT"}, "139821883976704": {"type": "Function", "typeVars": [".-1.139821883976704"], "argTypes": [{"nodeId": ".-1.139821883976704"}], "returnType": {"nodeId": ".-1.139821883976704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883976704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883976704", "variance": "INVARIANT"}, "139821947012704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "139821947110112": {"type": "Function", "typeVars": [".-1.139821947110112"], "argTypes": [{"nodeId": ".-1.139821947110112"}, {"nodeId": "139821913669808"}], "returnType": {"nodeId": ".-1.139821947110112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947110112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947110112", "variance": "INVARIANT"}, "139821913669808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821947111456": {"type": "Function", "typeVars": [".-1.139821947111456"], "argTypes": [{"nodeId": ".-1.139821947111456"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821947111456"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.139821947111456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111456", "variance": "INVARIANT"}, "139821947111904": {"type": "Function", "typeVars": [".-1.139821947111904"], "argTypes": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947111904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111904", "variance": "INVARIANT"}, "139821947112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913669920"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "139821913669920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "139821947114144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "139821884040224": {"type": "Function", "typeVars": [".-1.139821884040224"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884040224"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884040224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884040224", "variance": "INVARIANT"}, "139821947115488": {"type": "Function", "typeVars": [".-1.139821947115488"], "argTypes": [{"nodeId": ".-1.139821947115488"}], "returnType": {"nodeId": ".-1.139821947115488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115488", "variance": "INVARIANT"}, "139821947115936": {"type": "Function", "typeVars": [".-1.139821947115936"], "argTypes": [{"nodeId": ".-1.139821947115936"}], "returnType": {"nodeId": ".-1.139821947115936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115936", "variance": "INVARIANT"}, "139821947116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670144"}, {"nodeId": "139821913670256"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821913670144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670368"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "139821913670368": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821947117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670480"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821913670480": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821947118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913670592"}, {"nodeId": "139821913670704"}, {"nodeId": "139821913670816"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "139821913670592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670928": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821937952800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908721472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908721472": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821937953248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908951104"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908951104": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821929651488": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708416"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708192"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718560"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674272"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673600"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875674496"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673376"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673152"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672928"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672704"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821875708416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908720352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908720352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821908720464"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908720464": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929651488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "139821908718560": {"type": "Overloaded", "items": [{"nodeId": "139821937944928"}, {"nodeId": "139821937945376"}]}, "139821937944928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "139821937945376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "139821908720688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "139821908720688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875674272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908720912"}], "returnType": {"nodeId": "139821929651824"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "139821908720912": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875673600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929648800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929648800": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090272"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090720"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930091168"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875762048"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "139821930089376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930089824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930091168": {"type": "Function", "typeVars": [".-1.139821930091168"], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930091168"}], "returnType": {"nodeId": "139821908718000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930091168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930091168", "variance": "INVARIANT"}, "139821908718000": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.139821930091168"}]}, "139821875762048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821908718112"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821875674496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650480": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937760"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937938208"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875712896"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875714912"}}], "typeVars": [], "bases": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821934652864"}]}], "isAbstract": false}, "139821937937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821908719232"}], "returnType": {"nodeId": "139821908720016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908719232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821908720016": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821934653984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821937938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821875712896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934652864": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821875673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721024": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821921720624"}]}, {"nodeId": "N"}]}, "139821921720624": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937941792"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942240"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942688"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934649840"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648928"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929651488"}}], "typeVars": [], "bases": [{"nodeId": "139821921718608"}], "isAbstract": false}, "139821937941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821937942240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937942688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934649840": {"type": "Union", "items": [{"nodeId": "139821929651152"}, {"nodeId": "N"}]}, "139821929651152": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937943136"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821937943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651152"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821921648928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921718608": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821875672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721136": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821875672704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870838304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955696"}, {"nodeId": "139821908955808"}], "returnType": {"nodeId": "139821908955920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955696": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955808": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955920": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870836960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956032"}], "returnType": {"nodeId": "139821908956144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908956032": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908956144": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921434448": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954638432"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836288"}}], "typeVars": [], "bases": [{"nodeId": "139821929655184"}], "isAbstract": false}, "139821954638432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434448"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "139821908956368": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821870836288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821908956592"}], "returnType": {"nodeId": "139821908672800"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "139821908956592": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821908672800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929655184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921434784": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639328"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821954639328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434784"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956704"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "139821908956704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921435120": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821921714240": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640224"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640672"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641120"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641568"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642016"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642464"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139821929654176"}], "isAbstract": false}, "139821954639776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "139821954640224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821908956816"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908956816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954641120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821954641568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821954642016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954642464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821929656864": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954644704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954645152"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "isAbstract": false}, "139821954644704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954645152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821929657200": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951304864"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871324672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951306656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307104"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308000"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871324896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308896"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309344"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309792"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961184"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929657536"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "A"}, {"nodeId": "139821929657536"}]}}], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821951304864": {"type": "Function", "typeVars": [".-1.139821951304864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821929656864"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821951304864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.139821951304864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951304864", "variance": "INVARIANT"}, "139821871324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929656864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "139821951306656": {"type": "Function", "typeVars": [".-1.139821951306656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951306656"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951306656": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951306656", "variance": "INVARIANT"}, "139821951307104": {"type": "Function", "typeVars": [".-1.139821951307104"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951307104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951307104": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951307104", "variance": "INVARIANT"}, "139821951307552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821951308000": {"type": "Function", "typeVars": [".-1.139821951308000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821951308000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951308000": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951308000", "variance": "INVARIANT"}, "139821871324896": {"type": "Function", "typeVars": [".-1.139821871324896"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821871324896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821871324896": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871324896", "variance": "INVARIANT"}, "139821951308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821951309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908961184": {"type": "Overloaded", "items": [{"nodeId": "139821951310240"}, {"nodeId": "139821951311136"}]}, "139821951310240": {"type": "Function", "typeVars": [".-1.139821951310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.139821951310240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.139821951310240": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951310240", "variance": "INVARIANT"}, "139821951311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908965664"}, {"nodeId": "139821908965776"}, {"nodeId": "139821908965888"}, {"nodeId": "139821908966000"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "139821908965664": {"type": "TypeAlias", "target": {"nodeId": "139821934227888"}}, "139821934227888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821934228224"}]}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}]}, "139821934228224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821908965776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908965888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908966000": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821929657872": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871332512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951316064"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929657536"}], "isAbstract": false}, "139821871332512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657872"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951316064": {"type": "Function", "typeVars": [".-1.139821951316064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821951316064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951316064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951316064", "variance": "INVARIANT"}, "139821921714576": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871448128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951317408"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821871448128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951317408": {"type": "Function", "typeVars": [".-1.139821951317408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821951317408"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821951317408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951317408", "variance": "INVARIANT"}, "139821925756464": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911344"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925913808"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227008"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925911344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925913808": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963227008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756464"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913344368"}, {"nodeId": "139821913344032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "139821913344368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913344032": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925756800": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227456"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821963227456": {"type": "Function", "typeVars": [".-1.139821963227456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821963227456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.139821963227456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963227456", "variance": "INVARIANT"}, "139821926220848": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963228576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229024"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229472"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "seek", "write"]}, "139821963228576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821963229024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963229472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926221184": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229920"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230368"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230816"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "read", "seek"]}, "139821963229920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821963230368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963230816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921715920": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926220848"}, {"nodeId": "139821926221184"}], "protocolMembers": ["close", "read", "seek", "write"]}, "139821926221520": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453680": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821926221856": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221856"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222192": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222192"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717600": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926221184"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026464"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026912"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027360"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027808"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030048"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964026016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964026464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "139821964026912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459840"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "139821904459840": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459952"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "139821904459952": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964028256": {"type": "Function", "typeVars": [".-1.139821964028256"], "argTypes": [{"nodeId": ".-1.139821964028256"}], "returnType": {"nodeId": ".-1.139821964028256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964028256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964028256", "variance": "INVARIANT"}, "139821964028704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904460064"}, {"nodeId": "139821904460176"}, {"nodeId": "139821904460288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904460288": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964029152": {"type": "Function", "typeVars": [".-1.139821964029152"], "argTypes": [{"nodeId": ".-1.139821964029152"}], "returnType": {"nodeId": ".-1.139821964029152"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964029152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964029152", "variance": "INVARIANT"}, "139821964029600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964030048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926223536": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916256"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916704"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821963916256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457712": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821963916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222528": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222528"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717264": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926220848"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023328"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023776"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024224"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024672"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025120"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025568"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964022880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964023328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "139821964023776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821964024224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964024672": {"type": "Function", "typeVars": [".-1.139821964024672"], "argTypes": [{"nodeId": ".-1.139821964024672"}], "returnType": {"nodeId": ".-1.139821964024672"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964024672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964024672", "variance": "INVARIANT"}, "139821964025120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821904459280"}, {"nodeId": "139821904459392"}, {"nodeId": "139821904459504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904459280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904459392": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904459504": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964025568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926222864": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222864"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926223872"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821926223872": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963917152"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863218176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918048"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918496"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918944"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821963917152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821963918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963918496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "139821904458048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458048": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821963918944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821904458160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821926223200": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905504"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223200"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926224208"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821921716256": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863222656"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221312"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221536"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220864"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220640"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220416"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963908640"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821863222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454128"}], "returnType": {"nodeId": "139821926221520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454128": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454240"}], "returnType": {"nodeId": "139821926221856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454240": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454352"}], "returnType": {"nodeId": "139821926222192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454352": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454464"}], "returnType": {"nodeId": "139821926222528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454464": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454576"}], "returnType": {"nodeId": "139821926222864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454576": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454688"}], "returnType": {"nodeId": "139821926223200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454688": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821963908640": {"type": "Function", "typeVars": [".-1.139821963908640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821904454016"}, {"nodeId": "139821904454800"}, {"nodeId": "139821904454912"}, {"nodeId": "139821904455024"}, {"nodeId": "139821904455136"}, {"nodeId": "139821904455248"}], "returnType": {"nodeId": ".-1.139821963908640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "139821904454016": {"type": "Union", "items": [{"nodeId": "139821926222192"}, {"nodeId": "N"}]}, "139821904454800": {"type": "Union", "items": [{"nodeId": "139821926222528"}, {"nodeId": "N"}]}, "139821904454912": {"type": "Union", "items": [{"nodeId": "139821926222864"}, {"nodeId": "N"}]}, "139821904455024": {"type": "Union", "items": [{"nodeId": "139821926223200"}, {"nodeId": "N"}]}, "139821904455136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821904455248": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, ".-1.139821963908640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963908640", "variance": "INVARIANT"}, "139821921716592": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964020192"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863216384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021088"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "139821926223872"}], "isAbstract": true}, "139821964020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821964021088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821921716928": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021536"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863215488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022432"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": true}, "139821964021536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863215488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904458832"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904459056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821904458832": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904459056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821964022432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904459168"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904459168": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921717936": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921715920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030944"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031392"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031840"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032288"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033184"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946306848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307296"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307744"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308192"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308640"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309088"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309536"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309984"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310432"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310880"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311328"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311776"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312224"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312672"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925471216"}], "isAbstract": false}, "139821964030496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "139821964030944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821964031392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460624"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904460624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964031840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460736"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904460736": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964032288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964032736": {"type": "Function", "typeVars": [".-1.139821964032736"], "argTypes": [{"nodeId": ".-1.139821964032736"}], "returnType": {"nodeId": ".-1.139821964032736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964032736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964032736", "variance": "INVARIANT"}, "139821964033184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821964033632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946307296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946307744": {"type": "Function", "typeVars": [".-1.139821946307744"], "argTypes": [{"nodeId": ".-1.139821946307744"}], "returnType": {"nodeId": ".-1.139821946307744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946307744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946307744", "variance": "INVARIANT"}, "139821946308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460848"}, {"nodeId": "139821904460960"}, {"nodeId": "139821904461072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904461072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946308640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946309088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946311328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904461296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461296": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946311776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926224544": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316704"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317152"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318048"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318496"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318944"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319392"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319840"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320288"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320736"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321184"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321632"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322528"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925470880"}], "isAbstract": false}, "139821946313120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "139821946313568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821946314016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461520"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904461520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946315360": {"type": "Function", "typeVars": [".-1.139821946315360"], "argTypes": [{"nodeId": ".-1.139821946315360"}], "returnType": {"nodeId": ".-1.139821946315360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946315360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946315360", "variance": "INVARIANT"}, "139821946315808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821946316256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946316704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946317152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946317600": {"type": "Function", "typeVars": [".-1.139821946317600"], "argTypes": [{"nodeId": ".-1.139821946317600"}], "returnType": {"nodeId": ".-1.139821946317600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946317600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946317600", "variance": "INVARIANT"}, "139821946318048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773184"}, {"nodeId": "139821904773296"}, {"nodeId": "139821904773408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904773184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904773296": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904773408": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904773520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925753440": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408736"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946409184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925753440"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, ".1.139821925753440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925753440", "variance": "INVARIANT"}, "139821946408288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}, {"nodeId": "139821913040128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913040240"}, {"nodeId": "139821913040352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "139821913040128": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913040240": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821913040352": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821946408736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925753776": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925754112": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934444832"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942965296"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865504"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539280"}}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754112"}, {"nodeId": "139821913207552"}, {"nodeId": "139821942965296"}, {"nodeId": "139821913207664"}, {"nodeId": "139821913207440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "139821913207552": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913207440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921865504": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921539280": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925754448": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934445280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754448"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913207776"}, {"nodeId": "139821913207888"}, {"nodeId": "139821913208000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "139821913207776": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913208000": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929649472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875723200"}}], "typeVars": [], "bases": [{"nodeId": "139821925286624"}], "isAbstract": false}, "139821875723200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937935520"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719392"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875718720"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719168"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934653200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937312"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "139821929649808"}], "isAbstract": false}, "139821937935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719344": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719568"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875718720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719680"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719680": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934653200": {"type": "Union", "items": [{"nodeId": "139821929651488"}, {"nodeId": "N"}]}, "139821937937312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821908719904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929649808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934652080"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934651632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530528"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929531424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530304"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929529632"}}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821934652080": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934651632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821929530528": {"type": "Function", "typeVars": [".-1.139821929530528"], "argTypes": [{"nodeId": ".-1.139821929530528"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929530528"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.139821929530528": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530528", "variance": "INVARIANT"}, "139821934651856": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929531424": {"type": "Function", "typeVars": [".-1.139821929531424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929531424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.139821929531424": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929531424", "variance": "INVARIANT"}, "139821929530304": {"type": "Function", "typeVars": [".-1.139821929530304"], "argTypes": [{"nodeId": ".-1.139821929530304"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.139821929530304": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530304", "variance": "INVARIANT"}, "139821929529632": {"type": "Function", "typeVars": [".-1.139821929529632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821929529632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.139821929529632": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929529632", "variance": "INVARIANT"}, "139821929650816": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875711776"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875711104"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875710432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718672"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929650480"}]}], "isAbstract": false}, "139821875711776": {"type": "Function", "typeVars": [".-1.139821875711776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908720128"}]}], "returnType": {"nodeId": ".-1.139821875711776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "139821908720128": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, ".-1.139821875711776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821875711776", "variance": "INVARIANT"}, "139821875711104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718672": {"type": "Overloaded", "items": [{"nodeId": "139821937940896"}, {"nodeId": "139821937941344"}]}, "139821937940896": {"type": "Function", "typeVars": [".-1.139821937940896"], "argTypes": [{"nodeId": ".-1.139821937940896"}], "returnType": {"nodeId": ".-1.139821937940896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821937940896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821937940896", "variance": "INVARIANT"}, "139821937941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821921432432": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "139821921432768"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875672032"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": true}, "139821875672032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432432"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "139821921433104": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875669792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937951904"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "139821921432432"}], "isAbstract": false}, "139821875669792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "139821937951904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921433104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "139821925755120": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925755456": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925909104"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921864384"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887852992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937959744"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960192"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960640"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961088"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925909104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921864384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821887852992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821913292272"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821913292272": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "139821925755792": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921863488"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780000"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925755456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962432"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962880"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963776"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964224"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964672"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965120"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965568"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863488": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821921861920": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821921866064"}]}, "139821921866064": {"type": "TypeAlias", "target": {"nodeId": "139821921863152"}}, "139821921863152": {"type": "Union", "items": [{"nodeId": "139821921865168"}, {"nodeId": "139821921866176"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925755792"}]}, {"nodeId": "139821921862368"}, {"nodeId": "139821921863040"}]}, "139821921865168": {"type": "TypeAlias", "target": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925910896"}]}}, "139821925910896": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821942964960"}]}, "139821921866176": {"type": "TypeAlias", "target": {"nodeId": "139821921540624"}}, "139821921540624": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821925755792"}]}]}, "139821921862368": {"type": "TypeAlias", "target": {"nodeId": "139821921540512"}}, "139821921540512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}, {"nodeId": "139821925755792"}]}, "139821921863040": {"type": "TypeAlias", "target": {"nodeId": "139821921865840"}}, "139821921865840": {"type": "Tuple", "items": [{"nodeId": "139821925909552"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}]}, "139821925909552": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921780000": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821937961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821925755456"}, {"nodeId": "139821913292496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "139821913292496": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821913292384"}]}, {"nodeId": "N"}]}, "139821913292384": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937962432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "139821937962880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821937963328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913292608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913292608": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821937963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342016"}], "returnType": {"nodeId": "139821913342240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913342016": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342240": {"type": "Union", "items": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342128"}]}, "139821913342128": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342352"}, {"nodeId": "139821913342688"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821913342352": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342688": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913342464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "139821913342464": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "139821913342912": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821913343136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913343136": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821937960640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "139821937961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925756128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "139821925756128": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921779888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966464"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887848960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938478208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921779888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937966016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821937966464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "139821938475072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821913342800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913342800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938475520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "139821938475968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "139821887848960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "139821938478208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925756464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "139821926234624": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938483360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938483360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929649136": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092064"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092512"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092960"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930093408"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "139821930092064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930093408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929659888": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929658880"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870544"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921653184"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821938445328"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094528"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094976"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095424"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095872"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096320"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096768"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097216"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097664"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098112"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098560"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099008"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099456"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100352"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100800"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101248"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101696"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930102144"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283072"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283520"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283968"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284416"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284864"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285312"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285760"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286208"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286656"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287104"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287552"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288000"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288448"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288896"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930289344"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961072"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930290688"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291136"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291584"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292032"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292480"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292928"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293376"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294272"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294720"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929658880": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226096"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930166560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167008"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167456"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167904"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946880288"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871581216"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871580320"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579424"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579872"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579200"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821934226096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821934226432": {"type": "Union", "items": [{"nodeId": "139821938737888"}, {"nodeId": "N"}]}, "139821938737888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821908966896"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908967008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "139821908966896": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821908967008": {"type": "Union", "items": [{"nodeId": "139821908680864"}, {"nodeId": "N"}]}, "139821908680864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930167008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929658880"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "139821930167456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821938445328": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165216"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821930165216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938445328"}, {"nodeId": "139821909174736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "139821909174736": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821946880288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908967232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821908967232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821871581216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164208": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871580320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871579424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821921870544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921653184": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930094528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930094976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "139821930095424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909165776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909165776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930095872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929659888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "139821930096320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909165888"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "139821909165888": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821930096768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166112"}, {"nodeId": "139821909166224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "139821909166112": {"type": "TypeAlias", "target": {"nodeId": "139821934228560"}}, "139821934228560": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821929659888"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821909166224": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821921652960": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938452384": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934225648"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934224640"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934223632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930156928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157376"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157824"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158272"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158720"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159168"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930160064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821934225648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934224640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934223632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930156928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "139821930157376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930157824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821909176304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909176304": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930158272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930158720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "139821930159168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930159616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930160064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930097216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "139821909166336": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930097664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909166448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166448": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930098112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930098560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930099008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930099456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909166560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909166560": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930099904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909166672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821909166672": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930100352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930100800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930101248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909166784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166784": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930101696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909167120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909167120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909166896"}]}, "139821909166896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930102144": {"type": "Function", "typeVars": [".-1.139821930102144"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930102144"}], "returnType": {"nodeId": "139821909167344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930102144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930102144", "variance": "INVARIANT"}, "139821909167344": {"type": "Union", "items": [{"nodeId": "139821909167232"}, {"nodeId": ".-1.139821930102144"}]}, "139821909167232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283072": {"type": "Function", "typeVars": [".-1.139821930283072"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930283072"}], "returnType": {"nodeId": "139821909167568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930283072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930283072", "variance": "INVARIANT"}, "139821909167568": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909167456"}]}, {"nodeId": ".-1.139821930283072"}]}, "139821909167456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "139821909167680": {"type": "TypeAlias", "target": {"nodeId": "139821934223072"}}, "139821934223072": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "139821934224416"}]}, "139821934224416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934223520"}, {"nodeId": "139821942966640"}]}, "139821934223520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930283968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "139821909167904": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930284416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930284864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930286208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "139821930286656": {"type": "Function", "typeVars": [".-1.139821930286656"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930286656"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.139821930286656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930286656", "variance": "INVARIANT"}, "139821909168128": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909168016"}]}, {"nodeId": ".-1.139821930286656"}]}, "139821909168016": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821930287104": {"type": "Function", "typeVars": [".-1.139821930287104"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930287104"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.139821930287104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930287104", "variance": "INVARIANT"}, "139821909168352": {"type": "Union", "items": [{"nodeId": ".-1.139821930287104"}, {"nodeId": "139821909168240"}]}, "139821909168240": {"type": "TypeAlias", "target": {"nodeId": "139821934222512"}}, "139821934222512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934224080"}]}, "139821934224080": {"type": "Tuple", "items": [{"nodeId": "139821934224192"}, {"nodeId": "139821934225312"}, {"nodeId": "139821942966640"}]}, "139821934224192": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934225312": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930287552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "139821930288000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "139821930288448": {"type": "Function", "typeVars": [".-1.139821930288448"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288448"}], "returnType": {"nodeId": "139821909168688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288448", "variance": "INVARIANT"}, "139821909168688": {"type": "Union", "items": [{"nodeId": ".-1.139821930288448"}, {"nodeId": "139821942966640"}]}, "139821930288896": {"type": "Function", "typeVars": [".-1.139821930288896"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288896"}], "returnType": {"nodeId": "139821909168576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288896", "variance": "INVARIANT"}, "139821909168576": {"type": "Union", "items": [{"nodeId": ".-1.139821930288896"}, {"nodeId": "139821942966640"}]}, "139821930289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "139821908961072": {"type": "Overloaded", "items": [{"nodeId": "139821930289792"}, {"nodeId": "139821930290240"}]}, "139821930289792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909168800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909168800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930290240": {"type": "Function", "typeVars": [".-1.139821930290240"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290240"}], "returnType": {"nodeId": "139821909168912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.139821930290240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290240", "variance": "INVARIANT"}, "139821909168912": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930290240"}]}, "139821930290688": {"type": "Function", "typeVars": [".-1.139821930290688"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290688"}], "returnType": {"nodeId": "139821909169024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930290688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290688", "variance": "INVARIANT"}, "139821909169024": {"type": "Union", "items": [{"nodeId": ".-1.139821930290688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821930291136": {"type": "Function", "typeVars": [".-1.139821930291136"], "argTypes": [{"nodeId": ".-1.139821930291136"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821930291136"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821930291136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930291136", "variance": "INVARIANT"}, "139821930291584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909169136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930292032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909169248"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909169248": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169360"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "139821909169360": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930293376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169472"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "139821909169472": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930293824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929658880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821930294272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909169584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909169584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930294720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821909169920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909169696"}]}, "139821909169696": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821938442304": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295616"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296064"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296512"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297856"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298304"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298752"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930397760"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398208"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398656"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399104"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399552"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400000"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400448"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "139821929659888"}], "isAbstract": false}, "139821930295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909170032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821909170032": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930295616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909170144"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "139821909170144": {"type": "Union", "items": [{"nodeId": "139821929659888"}, {"nodeId": "N"}]}, "139821930296064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170368"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170368": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821938452048": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162528"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162976"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163424"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163872"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821930162528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "139821930162976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "139821930163424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909295392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "139821909295392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930163872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942964288"}, {"nodeId": "139821909295168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "139821909295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930297408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170816"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170816": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171040": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171152": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171264": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930397760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171488": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171824": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909172160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909172160": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930399104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930399552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930400000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909172384"}, {"nodeId": "139821909172496"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909172384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172496": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930400448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938442640": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938442304"}], "isAbstract": false}, "139821921718944": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821921719616": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718608"}], "isAbstract": false}, "139821921719952": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718944"}], "isAbstract": false}, "139821938443312": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938443648": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938443984": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444320": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444656": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}, {"nodeId": "139821942979408"}], "isAbstract": false}, "139821938444992": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938445664": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446000": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446336": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446672": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447008": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447344": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447680": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448016": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448352": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448688": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449024": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449360": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449696": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938450032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450368": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450704": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165664"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821930165664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938450704"}, {"nodeId": "139821909174848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "139821909174848": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938451040": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451376": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451712": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821929659216": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946882976"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883424"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883872"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884320"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884768"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821946882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164656": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821938442976"}]}, "139821938442976": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946888576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889024"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889472"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946890368"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821946888576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909172608"}, {"nodeId": "139821909172720"}, {"nodeId": "139821909172832"}, {"nodeId": "139821909172944"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "139821909172608": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172720": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172832": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909173056"}, {"nodeId": "139821909173168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "139821909173056": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}]}, "139821909173168": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909173280"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "139821909173280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946889920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946890368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946884768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821929659552": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938739232"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938452048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885664"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886112"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886560"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887008"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887456"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821938739232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821909165104"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909165216"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908685568"}, {"nodeId": "139821938452048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "139821909165104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909165216": {"type": "Union", "items": [{"nodeId": "139821908685344"}, {"nodeId": "N"}]}, "139821908685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821908685568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909165440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909165440": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909165664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909165664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821846344000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846338176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846333024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846432896": {"type": "Overloaded", "items": [{"nodeId": "139821846179040"}, {"nodeId": "139821846180160"}]}, "139821846179040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846180160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821846429872": {"type": "Overloaded", "items": [{"nodeId": "139821846178816"}, {"nodeId": "139821846178144"}, {"nodeId": "139821846178368"}]}, "139821846178816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846178144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821846430992"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846430992": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821846178368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR_2"], "argNames": ["kwargs"]}, "139821846179712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846224048": {"type": "Overloaded", "items": [{"nodeId": "139821846050656"}, {"nodeId": "139821846050208"}]}, "139821846050656": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": [], "argNames": []}, "139821846050208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900531520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900566976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900566976": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821925534400": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "139821925752096"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942644112"}]}]}, "139821942644112": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821846051776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["component_size", "u_node", "v_node"]}, "139821900570448": {"type": "Overloaded", "items": [{"nodeId": "139821975677952"}, {"nodeId": "139821975678400"}]}, "139821975677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900578176"}, {"nodeId": "139821900574592"}, {"nodeId": "139821900575264"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900578176": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900574592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900575264": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821975678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900576160"}, {"nodeId": "139821900576384"}, {"nodeId": "139821900576496"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900576160": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576496": {"type": "Union", "items": [{"nodeId": "139821921426048", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}}, "types": {"boruvka": [{"startOffset": 465, "endOffset": 476, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 461, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 446, "line": 16, "type": {"nodeId": "139821921720960"}}, {"startOffset": 486, "endOffset": 497, "line": 17, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 486, "endOffset": 489, "line": 17, "type": {"nodeId": "139821921720960"}}, {"startOffset": 529, "endOffset": 544, "line": 18, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 529, "endOffset": 532, "line": 18, "type": {"nodeId": "139821921720960"}}, {"startOffset": 749, "endOffset": 754, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 757, "endOffset": 762, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 765, "endOffset": 770, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 728, "endOffset": 746, "line": 23, "type": {"nodeId": "139821846344000"}}, {"startOffset": 728, "endOffset": 739, "line": 23, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 728, "endOffset": 731, "line": 23, "type": {"nodeId": "139821921720960"}}, {"startOffset": 908, "endOffset": 923, "line": 28, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 908, "endOffset": 911, "line": 28, "type": {"nodeId": "139821921720960"}}, {"startOffset": 925, "endOffset": 930, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 936, "endOffset": 941, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 963, "endOffset": 968, "line": 29, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1005, "endOffset": 1020, "line": 30, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1005, "endOffset": 1008, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1022, "endOffset": 1027, "line": 30, "type": {"nodeId": "139821942964960"}}, {"startOffset": 985, "endOffset": 1003, "line": 30, "type": {"nodeId": "139821846343776"}}, {"startOffset": 985, "endOffset": 988, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1150, "endOffset": 1165, "line": 35, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1150, "endOffset": 1153, "line": 35, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1167, "endOffset": 1172, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1178, "endOffset": 1183, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1202, "endOffset": 1202, "line": 36, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1207, "endOffset": 1222, "line": 36, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1207, "endOffset": 1210, "line": 36, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1283, "endOffset": 1283, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1263, "endOffset": 1281, "line": 37, "type": {"nodeId": "139821846341984"}}, {"startOffset": 1263, "endOffset": 1266, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1241, "endOffset": 1256, "line": 37, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1241, "endOffset": 1244, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1258, "endOffset": 1258, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1576, "endOffset": 1589, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1591, "endOffset": 1596, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1602, "endOffset": 1615, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1617, "endOffset": 1622, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1665, "endOffset": 1670, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1638, "endOffset": 1653, "line": 45, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1638, "endOffset": 1641, "line": 45, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1655, "endOffset": 1660, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1710, "endOffset": 1723, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1725, "endOffset": 1730, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1684, "endOffset": 1697, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1699, "endOffset": 1704, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1764, "endOffset": 1769, "line": 47, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1745, "endOffset": 1762, "line": 47, "type": {"nodeId": "139821846338176"}}, {"startOffset": 1745, "endOffset": 1748, "line": 47, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1786, "endOffset": 1799, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1801, "endOffset": 1806, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1812, "endOffset": 1825, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1827, "endOffset": 1832, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1895, "endOffset": 1900, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1875, "endOffset": 1893, "line": 50, "type": {"nodeId": "139821846340416"}}, {"startOffset": 1875, "endOffset": 1878, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1848, "endOffset": 1863, "line": 50, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1848, "endOffset": 1851, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1865, "endOffset": 1870, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1941, "endOffset": 1954, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1956, "endOffset": 1961, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1915, "endOffset": 1928, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1930, "endOffset": 1935, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1995, "endOffset": 2000, "line": 52, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1976, "endOffset": 1993, "line": 52, "type": {"nodeId": "139821846333024"}}, {"startOffset": 1976, "endOffset": 1979, "line": 52, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2161, "endOffset": 2174, "line": 58, "type": {"nodeId": "0"}}, {"startOffset": 2189, "endOffset": 2198, "line": 59, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2271, "line": 61, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2256, "line": 61, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2213, "endOffset": 2231, "line": 61, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 2351, "endOffset": 2354, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2383, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2368, "line": 64, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2359, "endOffset": 2363, "line": 64, "type": {"nodeId": "139821846432896"}}, {"startOffset": 2423, "endOffset": 2427, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2430, "endOffset": 2433, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2399, "endOffset": 2421, "line": 65, "type": {"nodeId": "139821846429872"}}, {"startOffset": 2399, "endOffset": 2414, "line": 65, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2399, "endOffset": 2402, "line": 65, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2449, "endOffset": 2469, "line": 66, "type": {"nodeId": "139821846179712"}}, {"startOffset": 2449, "endOffset": 2462, "line": 66, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2503, "endOffset": 2521, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2503, "endOffset": 2506, "line": 68, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2483, "endOffset": 2499, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2538, "endOffset": 2554, "line": 70, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2577, "endOffset": 2580, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2585, "endOffset": 2596, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 2585, "endOffset": 2588, "line": 71, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2625, "endOffset": 2628, "line": 72, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2615, "endOffset": 2615, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2618, "endOffset": 2618, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2621, "endOffset": 2621, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2661, "endOffset": 2676, "line": 74, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2661, "endOffset": 2664, "line": 74, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2678, "endOffset": 2678, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2647, "endOffset": 2657, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2711, "endOffset": 2726, "line": 75, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2711, "endOffset": 2714, "line": 75, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2728, "endOffset": 2728, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2697, "endOffset": 2707, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2751, "endOffset": 2761, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2766, "endOffset": 2776, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3356, "endOffset": 3364, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3370, "endOffset": 3380, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3383, "endOffset": 3393, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3458, "endOffset": 3476, "line": 90, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3478, "endOffset": 3486, "line": 90, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3530, "endOffset": 3548, "line": 91, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3550, "endOffset": 3558, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3566, "endOffset": 3566, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3657, "endOffset": 3657, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3660, "endOffset": 3660, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3663, "endOffset": 3663, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3623, "endOffset": 3641, "line": 93, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3643, "endOffset": 3651, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3683, "endOffset": 3686, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3691, "endOffset": 3709, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3742, "endOffset": 3745, "line": 96, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3748, "endOffset": 3751, "line": 96, "type": {"nodeId": "139821846224048"}}, {"startOffset": 3731, "endOffset": 3740, "line": 96, "type": {"nodeId": "139821900531520"}}, {"startOffset": 3785, "endOffset": 3788, "line": 97, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3775, "endOffset": 3775, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3778, "endOffset": 3778, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3781, "endOffset": 3781, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3825, "endOffset": 3840, "line": 99, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3825, "endOffset": 3828, "line": 99, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3842, "endOffset": 3842, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3811, "endOffset": 3821, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3879, "endOffset": 3894, "line": 100, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3879, "endOffset": 3882, "line": 100, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3896, "endOffset": 3896, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3865, "endOffset": 3875, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3923, "endOffset": 3933, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3938, "endOffset": 3948, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3989, "endOffset": 3989, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3975, "endOffset": 3984, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4026, "endOffset": 4039, "line": 104, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 4042, "endOffset": 4052, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4055, "endOffset": 4065, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4015, "endOffset": 4024, "line": 104, "type": {"nodeId": "139821846051776"}}, {"startOffset": 4015, "endOffset": 4018, "line": 104, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4098, "endOffset": 4113, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4119, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4139, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4092, "endOffset": 4096, "line": 105, "type": {"nodeId": "139821900570448"}}, {"startOffset": 4170, "endOffset": 4186, "line": 106, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4253, "line": 108, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4238, "line": 108, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4206, "endOffset": 4224, "line": 108, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 4269, "endOffset": 4331, "line": 109, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4263, "endOffset": 4267, "line": 109, "type": {"nodeId": "139821900570448"}}]}, "definitions": {"boruvka": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, "Graph": {"kind": "ClassDef", "type": {"nodeId": "139821921720960"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139822017681712"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139822017682048"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "139822017682384"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "139822017682720"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139822017683056"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "139822017683392"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "139822017683728"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925466176"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "139821925466512"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "139821925466848"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "139821925467184"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "139821925467520"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925467856"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "139822017684064"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "139822017684400"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "139821925468192"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "139821925468528"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "139822017684736"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "139822017685072"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "139822017685408"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "139822017685744"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "139822017686080"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "139822017686416"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "139821925468864"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "139822017686752"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "139822017687088"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "139822017687424"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "139822017687760"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "139822017688096"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688432"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688768"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689104"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689440"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "139821925469200"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821925469536"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "139821925469872"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821925470208"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "139822017689776"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "139822017690112"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "139821925470544"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "139821925470880"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "139821925471216"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "139821925471552"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925471888"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925472224"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "139822017690448"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "139822017680704"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "139822017681040"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "139822017681376"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017690784"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017691120"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "139821942964288"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "139821942964624"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "139821942964960"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "139821942965296"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "139821942965632"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "139821942965968"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "139821942966304"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "139821942966640"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "139821925473568"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "139821925473904"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "139821942966976"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "139821942967312"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "139821942967648"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "139821942967984"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "139821942968320"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "139821925474240"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "139821925474576"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "139821925474912"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "139821942968656"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "139821942968992"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "139821942969328"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921425712"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "139821942969664"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "139821925475248"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "139821942970000"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "139821925475584"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "139821921426048"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "139821942970336"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "139821942970672"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "139821942971008"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "139821925475920"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "139821942971344"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "139821942971680"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "139821921426384"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "139821925476256"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "139821942972016"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "139821942972352"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "139821942972688"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "139821942973024"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "139821942973360"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "139821942973696"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942974032"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "139821942974368"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "139821942974704"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "139821942975040"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "139821942975376"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "139821942975712"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "139821942976048"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "139821942976384"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "139821942976720"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "139821942977056"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "139821942977392"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "139821942977728"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "139821942978064"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942978400"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "139821942978736"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "139821942979072"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "139821942979408"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "139821942979744"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "139821942980080"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "139821925285952"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "139821925286288"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925286624"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "139821925286960"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "139821925287296"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "139821925287632"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "139821925287968"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925288304"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "139821925288640"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "139821925288976"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289312"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289648"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "139821925289984"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "139821925290320"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925290656"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "139821925290992"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291328"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291664"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "139821925292000"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "139821925292336"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "139821925292672"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "139821925293008"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "139821925293344"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "139821925293680"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "139821925294016"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294352"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294688"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925295024"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "139821925295360"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "139821925295696"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296032"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296368"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296704"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297040"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297376"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297712"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298048"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298384"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298720"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299056"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299392"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "139821926225216"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "139821926225552"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "139821926225888"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "139821926226224"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "139821926226560"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "139821926226896"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "139821926227232"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "139821926227568"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926227904"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926228240"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228576"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228912"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229248"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229584"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "139821926229920"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "139821926230256"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926230592"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "139821926230928"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "139821926231264"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231600"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231936"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "139821926232272"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "139821926232608"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "139821926232944"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233280"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233616"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "139821926233952"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "139821926234288"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "139821925476592"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "139821925476928"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "139821925477264"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "139821925477600"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "139821925301408"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "139821926219840"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821926220176"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821926220512"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925477936"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925478272"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925478608"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925478944"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "139821925301744"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "139821925479280"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821925752432"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "139821921426720"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427056"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427392"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "139821925752768"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427728"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "139821921428064"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "139821925753104"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "139821921428400"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925472560"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925472896"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925473232"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925299728"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300064"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300400"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "139821925300736"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "139821925301072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731248"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731584"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938731920"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732256"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938732592"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732928"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "139821938733264"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "139821938733600"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "139821938733936"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "139821938734272"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "139821938734608"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "139821938734944"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "139821938735280"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "139821938735616"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938735952"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938736288"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "139821938736624"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "139821925757136"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "139821925757472"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "139821921428736"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "139821925481968"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925744704"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "139821925745040"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "139821925745376"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "139821925745712"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "139821925746048"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "139821925746384"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925746720"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925747056"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "139821925747392"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925747728"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "139821925748064"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925748400"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925748736"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "139821925749072"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749408"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749744"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "139821925750080"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "139821925750416"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925750752"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925751088"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "139821925751424"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "139821925751760"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "139821925752096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139821925479616"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925479952"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925480288"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925480624"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139821925480960"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925481632"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "139821926234960"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "139821926235296"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "139821926235632"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "139821921206336"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821921206672"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "139821921207008"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "139821921207344"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "139821921207680"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "139821921208016"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208352"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208688"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "139821921209024"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "139821921209360"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "139821921209696"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "139821921210032"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210368"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210704"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "139821921211040"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "139821921211376"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "139821921211712"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "139821921212048"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "139821921212384"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "139821921212720"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "139821921213056"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "139821921213392"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "139821921213728"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "139821921214064"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921214400"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "139821921214736"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "139821921215072"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "139821921215408"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "139821921215744"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "139821921216080"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "139821921216416"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "139821921216752"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217088"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217424"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217760"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "139821921218096"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "139821921218432"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "139821921218768"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "139821921219104"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219440"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219776"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "139821921220112"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "139821921220448"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "139821921220784"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "139821921221120"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921221456"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "139821921221792"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "139821921222128"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "139821921321024"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "139821921321360"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "139821921321696"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "139821921322032"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "139821921322368"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "139821921322704"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "139821921323040"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "139821921323376"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "139821921323712"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "139821921324048"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "139821921324384"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "139821921324720"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "139821921325056"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "139821921325392"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "139821921325728"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "139821921326064"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "139821921326400"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "139821921326736"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "139821921327072"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "139821921327408"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "139821921327744"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "139821921328080"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "139821921328416"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "139821921328752"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "139821921329088"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "139821921329424"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "139821921329760"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "139821921330096"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "139821921330432"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "139821921330768"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "139821921331104"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "139821921331440"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "139821921331776"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "139821921332112"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "139821921332448"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "139821921332784"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "139821921333120"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "139821921333456"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "139821921333792"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "139821921334128"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "139821921334464"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "139821921334800"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "139821921335136"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "139821921335472"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "139821921335808"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "139821921336144"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "139821921336480"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "139821921336816"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "139821921419328"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "139821921419664"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "139821921420000"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "139821921420336"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "139821921420672"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "139821921421008"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "139821921421344"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "139821921421680"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "139821921422016"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "139821921422352"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "139821921422688"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "139821921423024"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "139821921423360"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "139821921423696"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "139821921424032"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "139821921424368"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "139821921424704"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "139821921425040"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "139821921425376"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "139821929644432"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929644768"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645104"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645440"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "139821929645776"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "139821929646112"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "139821929646448"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "139821929646784"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "139821929647120"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "139821929647456"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929647792"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "139821929648128"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "139821929648464"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921720288"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "139821926224880"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938452720"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938453056"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714912"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938453392"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "139821938453728"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "139821938454064"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "139821938454400"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938454736"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938455072"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "139821938455408"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "139821938455744"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "139821921715248"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "139821938456080"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "139821938456416"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "139821938456752"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "139821938457088"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "139821938457424"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "139821938457760"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "139821938458096"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "139821938720832"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "139821938721168"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "139821938721504"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "139821938721840"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "139821938722176"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "139821938722512"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "139821938722848"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "139821938723184"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723520"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723856"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "139821938724192"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "139821938724528"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "139821938724864"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "139821938725200"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "139821938725536"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "139821938725872"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "139821938726208"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "139821938726544"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "139821938726880"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727216"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "139821938727552"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727888"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "139821938728224"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "139821938728560"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "139821938728896"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938729232"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "139821938729568"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "139821938729904"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "139821938730240"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730576"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730912"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "139821921715584"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "139821929644096"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "139821925757808"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "139821925758144"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "139821925758480"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925758816"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925759152"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759488"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759824"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "139821925760160"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429072"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921429408"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "139821925760496"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429744"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "139821921430080"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "139821921430416"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "139821921430752"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "139821921431088"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431424"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431760"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "139821921432096"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "139821929652832"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653504"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653840"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654176"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654512"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929654848"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929655184"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929655520"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "139821929655856"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "139821929656192"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "139821929656528"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "139821929652160"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433440"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433776"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434112"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929652496"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434448"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921434784"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921435120"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714240"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "139821929656864"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "139821929657200"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "139821929657536"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "139821929657872"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "139821921714576"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "139821929658208"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "139821929658544"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "139821925756464"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "139821925756800"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926220848"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926221184"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "139821921715920"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221520"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221856"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821926222192"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821926222528"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926222864"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223200"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "139821921716256"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "139821926223536"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223872"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224208"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716592"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716928"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717264"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821921717600"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717936"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224544"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "139821925753440"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "139821925753776"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "139821925754112"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925754448"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "139821925754784"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821929649472"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "139821929650144"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "139821929650480"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "139821929650816"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "139821921720624"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "139821929651152"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651488"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921432432"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921433104"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651824"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "139821925755120"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "139821925755456"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "139821925755792"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "139821925756128"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "139821926234624"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "139821929649136"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "139821938442304"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "139821938442640"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "139821921718272"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718608"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718944"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "139821921719280"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719616"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719952"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "139821938452384"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "139821938452048"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "139821938443312"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443648"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443984"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "139821938444320"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "139821938444656"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "139821938444992"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445328"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445664"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446000"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446336"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446672"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447008"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447344"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447680"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448016"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448352"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448688"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449024"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449360"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449696"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450032"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "139821938450368"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450704"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451040"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451376"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451712"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "139821929659216"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "139821929659552"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "139821938442976"}}}}, "names": {"boruvka": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Graph", "kind": "LocalType"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/imports_sample.json b/usvm-python/utbot-python-types/src/test/resources/imports_sample.json new file mode 100644 index 0000000000..f6609e9f2a --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/resources/imports_sample.json @@ -0,0 +1 @@ +{"nodeStorage": {"140162539260272": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607088"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758528"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758976"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759424"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760320"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584761216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762112"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762560"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763008"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763456"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763904"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764352"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764800"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765248"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765696"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766144"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766592"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767040"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767488"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767936"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768384"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768832"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769280"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769728"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770176"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770624"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771072"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771520"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771968"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887808"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888256"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888704"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889152"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889600"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890944"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891392"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891840"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892288"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892736"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893184"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893632"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584894080"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607200"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895872"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896320"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896768"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898560"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899456"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899904"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901696"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162505607088": {"type": "Overloaded", "items": [{"nodeId": "140162509910784"}, {"nodeId": "140162584757632"}]}, "140162509910784": {"type": "Function", "typeVars": [".-1.140162509910784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162509910784"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140162618234176": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507328"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158528"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450776000"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206528"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206976"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597207424"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350848"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351296"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351744"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352192"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352640"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353088"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353536"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353984"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606354432"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355328"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355776"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140162526507328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140162539261952": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624128"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624576"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625024"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625472"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625920"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897040"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897376"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898160"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580776768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777664"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778112"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778560"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779008"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779456"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779904"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580780352"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898496"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "isAbstract": false}, "140162505896816": {"type": "Overloaded", "items": [{"nodeId": "140162580620992"}, {"nodeId": "140162580621440"}, {"nodeId": "140162580621888"}, {"nodeId": "140162580622336"}, {"nodeId": "140162580622784"}, {"nodeId": "140162580623232"}, {"nodeId": "140162580623680"}]}, "140162580620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, ".2.140162539261952": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, "140162580621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162580621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526752304": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124000"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124448"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "keys"]}, "140162593124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526752304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526752304": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "INVARIANT"}, ".2.140162526752304": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "COVARIANT"}, "140162618238208": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496481760"}}], "typeVars": [{"nodeId": ".1.140162618238208"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162496481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238208"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238208", "variance": "COVARIANT"}, "140162618238544": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496484224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572097280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162618238544"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238544"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140162496484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": ".1.140162618238544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618238544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238544", "variance": "COVARIANT"}, "140162572097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140162593124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}, {"nodeId": ".1.140162526752304"}], "returnType": {"nodeId": ".2.140162526752304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162580622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505897600": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162580623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897824"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162505897824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, "140162580623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539261616": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476672"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477120"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477568"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478016"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478464"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478912"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580479360"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505895024"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612480"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896368"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580614720"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896592"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616064"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616960"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617408"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617856"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618304"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618752"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261616"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162539261616"}]}], "isAbstract": false}, "140162505894912": {"type": "Overloaded", "items": [{"nodeId": "140162580475328"}, {"nodeId": "140162580475776"}]}, "140162580475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261616", "variance": "INVARIANT"}, "140162580475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162525837152": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501364640"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501364640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539258592": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387792"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597722304"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450421376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450422272"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420704"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724544"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724992"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597725440"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597726784"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450420032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597727680"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728576"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729024"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729472"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729920"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730368"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730816"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731264"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731712"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589605952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589607296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505388912"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610432"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610880"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612224"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612672"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613120"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614016"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614464"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614912"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615360"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615808"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616256"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616704"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617152"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617600"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618048"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618496"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618944"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619392"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619840"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620288"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620736"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621184"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621632"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589769792"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770688"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589771136"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387792": {"type": "Overloaded", "items": [{"nodeId": "140162509912800"}, {"nodeId": "140162597721856"}]}, "140162509912800": {"type": "Function", "typeVars": [".-1.140162509912800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389584"}], "returnType": {"nodeId": ".-1.140162509912800"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505389584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162505389472"}, {"nodeId": "140162525823376"}, {"nodeId": "140162525837152"}, {"nodeId": "140162526751632"}]}, "140162505389472": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162543162912": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162543162800"}]}, "140162525830432": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505608320"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018432"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018880"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019328"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019776"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020224"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020672"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585021568"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022016"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022912"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023360"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023808"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024256"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024704"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025152"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025600"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026048"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026496"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026944"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027392"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027840"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028288"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028736"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029184"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029632"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030080"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030528"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030976"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031424"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031872"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032320"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032768"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033216"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033664"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585034112"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585165888"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166336"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166784"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167232"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167680"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585168128"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451058336"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451057888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169920"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505611792"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171264"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172608"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173056"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173504"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173952"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174400"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174848"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175296"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175744"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585176192"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162525828416"}], "isAbstract": false}, "140162505608320": {"type": "Overloaded", "items": [{"nodeId": "140162584894976"}, {"nodeId": "140162584902592"}, {"nodeId": "140162584903040"}]}, "140162584894976": {"type": "Function", "typeVars": [".-1.140162584894976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505613024"}], "returnType": {"nodeId": ".-1.140162584894976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162505613024": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162525824384"}, {"nodeId": "140162505612912"}]}, "140162525824384": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501648320"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__bytes__"]}, "140162501648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824384"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612912": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584894976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584894976", "variance": "INVARIANT"}, "140162584902592": {"type": "Function", "typeVars": [".-1.140162584902592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584902592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140162584902592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584902592", "variance": "INVARIANT"}, "140162584903040": {"type": "Function", "typeVars": [".-1.140162584903040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162584903040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162584903040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584903040", "variance": "INVARIANT"}, "140162585018432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585018880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585019328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613248"}, {"nodeId": "140162505613360"}, {"nodeId": "140162505613472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613248": {"type": "Union", "items": [{"nodeId": "140162505613136"}, {"nodeId": "140162525837152"}]}, "140162505613136": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613360": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505613472": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585019776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585020224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613808"}, {"nodeId": "140162505613920"}, {"nodeId": "140162505614032"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613808": {"type": "Union", "items": [{"nodeId": "140162505613584"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505613696"}]}]}, "140162505613584": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539261280": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466368"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466816"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468160"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469952"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894128"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471296"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471744"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472192"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580473088"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261280"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162539261280"}]}], "isAbstract": false}, "140162580465920": {"type": "Function", "typeVars": [".-1.140162580465920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": ".-1.140162580465920"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140162539261280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261280", "variance": "COVARIANT"}, ".-1.140162580465920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580465920", "variance": "INVARIANT"}, "140162580466368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580466816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618234512": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585568512"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892000"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892112"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892896"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893008"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893120"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893232"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585574336"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162585568512": {"type": "Function", "typeVars": [".-1.140162585568512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162585568512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140162585568512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585568512", "variance": "INVARIANT"}, "140162505892000": {"type": "Overloaded", "items": [{"nodeId": "140162585568960"}, {"nodeId": "140162585569408"}]}, "140162585568960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585569408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892112": {"type": "Overloaded", "items": [{"nodeId": "140162585569856"}, {"nodeId": "140162585570304"}]}, "140162585569856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585570304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892896": {"type": "Overloaded", "items": [{"nodeId": "140162585570752"}, {"nodeId": "140162585571200"}]}, "140162585570752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585571200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893008": {"type": "Overloaded", "items": [{"nodeId": "140162585571648"}, {"nodeId": "140162585572096"}]}, "140162585571648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893120": {"type": "Overloaded", "items": [{"nodeId": "140162585572544"}, {"nodeId": "140162585572992"}]}, "140162585572544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893232": {"type": "Overloaded", "items": [{"nodeId": "140162585573440"}, {"nodeId": "140162585573888"}]}, "140162585573440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585573888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585574336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505893680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893680": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162505893456": {"type": "Overloaded", "items": [{"nodeId": "140162580467264"}, {"nodeId": "140162580467712"}]}, "140162580467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580467712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539260944": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446142240"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143136"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143360"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465472"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446142240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893344": {"type": "Overloaded", "items": [{"nodeId": "140162580464576"}, {"nodeId": "140162580465024"}]}, "140162580464576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580465024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580465472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505894800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505894800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162580468160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505894128": {"type": "Overloaded", "items": [{"nodeId": "140162580470400"}, {"nodeId": "140162580470848"}]}, "140162580470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580470848": {"type": "Function", "typeVars": [".-1.140162580470848"], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".-1.140162580470848"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162505895136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580470848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580470848", "variance": "INVARIANT"}, "140162505895136": {"type": "Union", "items": [{"nodeId": ".1.140162539261280"}, {"nodeId": ".-1.140162580470848"}]}, "140162580471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580471744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526124672": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435360"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435808"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492436032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593112576"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539257920": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770848"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770400"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770176"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769952"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769728"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769504"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769280"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769056"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450768832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505385104"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716480"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716928"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717376"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717824"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597718272"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450768608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719616"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118624": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597598848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599296"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552192"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552640"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553088"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553536"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553984"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555328"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "isAbstract": false}, "140162597598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162526118624": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "INVARIANT"}, ".2.140162526118624": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "COVARIANT"}, "140162597599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": ".1.140162526118624"}], "returnType": {"nodeId": ".2.140162526118624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597552192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597552640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826736": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572418432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572484672"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485120"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486016"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486464"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486912"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487360"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826736"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525826736"}]}], "isAbstract": false}, "140162572416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826736"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826736": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826736", "variance": "COVARIANT"}, "140162618243248": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496750400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572490944"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491392"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491840"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572492288"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618243248"}]}], "isAbstract": true}, "140162496750400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": ".2.140162618243248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618243248": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "INVARIANT"}, ".2.140162618243248": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "COVARIANT"}, "140162522445440": {"type": "Overloaded", "items": [{"nodeId": "140162572490048"}, {"nodeId": "140162572490496"}]}, "140162572490048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": "140162522663728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522663728": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": "N"}]}, "140162572490496": {"type": "Function", "typeVars": [".-1.140162572490496"], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}, {"nodeId": "140162522663840"}], "returnType": {"nodeId": "140162522663952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522663840": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, ".-1.140162572490496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572490496", "variance": "INVARIANT"}, "140162522663952": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, "140162572490944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826400": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162542693600"}]}], "isAbstract": false}, "140162572411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826400": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, ".2.140162525826400": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, "140162572411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522447344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525831104": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580782592"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783040"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783488"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783936"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784384"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784832"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785280"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785728"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786176"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786624"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787072"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787520"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787968"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788416"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788864"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789760"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790208"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790656"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873280"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873728"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874176"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874624"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875072"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875520"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875968"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876416"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876864"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877312"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877760"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580878208"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831104"}], "bases": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162525831104"}]}], "isAbstract": false}, "140162505898944": {"type": "Overloaded", "items": [{"nodeId": "140162580781696"}, {"nodeId": "140162580782144"}]}, "140162580781696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525831104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831104", "variance": "INVARIANT"}, "140162580782144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580782592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580783040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580783488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580783936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580784384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580784832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580788416": {"type": "Function", "typeVars": [".-1.140162580788416"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580788416"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887712"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580788416": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580788416", "variance": "INVARIANT"}, "140162500887712": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580788416"}]}, "140162580788864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580789312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580789760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580790208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580790656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618242576": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496676352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270528"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572402752"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403200"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403648"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404096"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404992"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140162618242576"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618242576"}]}], "isAbstract": true}, "140162496676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618242576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242576", "variance": "COVARIANT"}, "140162572270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572402752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404544": {"type": "Function", "typeVars": [".-1.140162572404544"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572404544"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572404544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572404544", "variance": "INVARIANT"}, "140162522446224": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572404544"}]}, "140162572404992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572405440": {"type": "Function", "typeVars": [".-1.140162572405440"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572405440"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572405440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572405440", "variance": "INVARIANT"}, "140162522446448": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572405440"}]}, "140162572405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162618241568": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496571968"}}], "typeVars": [{"nodeId": ".1.140162618241568"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618241568"}]}, {"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241568"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140162496571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241568"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618241568": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241568", "variance": "COVARIANT"}, "140162618241232": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496569280"}}], "typeVars": [{"nodeId": ".1.140162618241232"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__"]}, "140162496569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241232"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241232": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241232", "variance": "COVARIANT"}, "140162580873280": {"type": "Function", "typeVars": [".-1.140162580873280"], "argTypes": [{"nodeId": ".-1.140162580873280"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580873280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873280", "variance": "INVARIANT"}, "140162580873728": {"type": "Function", "typeVars": [".-1.140162580873728"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580873728"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873728", "variance": "INVARIANT"}, "140162500887824": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580873728"}]}, "140162580874176": {"type": "Function", "typeVars": [".-1.140162580874176"], "argTypes": [{"nodeId": ".-1.140162580874176"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580874176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580874176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580874176", "variance": "INVARIANT"}, "140162580874624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162500887936"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500887936": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": "N"}]}, "140162580875072": {"type": "Function", "typeVars": [".-1.140162580875072"], "argTypes": [{"nodeId": ".-1.140162580875072"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580875072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875072", "variance": "INVARIANT"}, "140162580875520": {"type": "Function", "typeVars": [".-1.140162580875520"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580875520"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500888048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875520": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875520", "variance": "INVARIANT"}, "140162500888048": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580875520"}]}, "140162580875968": {"type": "Function", "typeVars": [".-1.140162580875968"], "argTypes": [{"nodeId": ".-1.140162580875968"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580875968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875968", "variance": "INVARIANT"}, "140162580876416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580876864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580878208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162618242912": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496677920"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496685536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140162618242912"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "isAbstract": true}, "140162496677920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140162618242912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242912", "variance": "INVARIANT"}, "140162496685536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572407680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".1.140162618242912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572408576": {"type": "Function", "typeVars": [".-1.140162572408576"], "argTypes": [{"nodeId": ".-1.140162572408576"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572408576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572408576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572408576", "variance": "INVARIANT"}, "140162572409024": {"type": "Function", "typeVars": [".-1.140162572409024"], "argTypes": [{"nodeId": ".-1.140162572409024"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409024", "variance": "INVARIANT"}, "140162572409472": {"type": "Function", "typeVars": [".-1.140162572409472"], "argTypes": [{"nodeId": ".-1.140162572409472"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572409472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409472", "variance": "INVARIANT"}, "140162572409920": {"type": "Function", "typeVars": [".-1.140162572409920"], "argTypes": [{"nodeId": ".-1.140162572409920"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409920", "variance": "INVARIANT"}, "140162522447344": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572412160": {"type": "Function", "typeVars": [".-1.140162572412160"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572412160"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572412160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572412160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572412160", "variance": "INVARIANT"}, "140162572412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522447568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522447568": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522660928"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522660928": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413952": {"type": "Function", "typeVars": [".-1.140162572413952"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572413952"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661264"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572413952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572413952", "variance": "INVARIANT"}, "140162522661264": {"type": "Union", "items": [{"nodeId": "140162522661152"}, {"nodeId": ".-1.140162572413952"}]}, "140162522661152": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414400": {"type": "Function", "typeVars": [".-1.140162572414400"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572414400"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572414400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572414400", "variance": "INVARIANT"}, "140162522661600": {"type": "Union", "items": [{"nodeId": "140162522661488"}, {"nodeId": ".-1.140162572414400"}]}, "140162522661488": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661936"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522661936": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572415296": {"type": "Function", "typeVars": [".-1.140162572415296"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415296"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572415296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415296", "variance": "INVARIANT"}, "140162572415744": {"type": "Function", "typeVars": [".-1.140162572415744"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415744"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415744", "variance": "INVARIANT"}, "140162522662272": {"type": "Union", "items": [{"nodeId": "140162522662160"}, {"nodeId": ".-1.140162572415744"}]}, "140162522662160": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572416192": {"type": "Function", "typeVars": [".-1.140162572416192"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572416192"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572416192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572416192", "variance": "INVARIANT"}, "140162522662608": {"type": "Union", "items": [{"nodeId": "140162522662496"}, {"nodeId": ".-1.140162572416192"}]}, "140162522662496": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162525826064": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140162525825056"}], "isAbstract": false}, "140162572410368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162572410816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162525825056": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501655936"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__len__"]}, "140162501655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825056"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542693600": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572491840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827072": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488704"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572489152"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525827072"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162525827072"}]}], "isAbstract": false}, "140162572487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525827072": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827072", "variance": "COVARIANT"}, "140162572488256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572488704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572492288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417536": {"type": "Function", "typeVars": [".-1.140162572417536"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572417536"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572417536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572417536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572417536", "variance": "INVARIANT"}, "140162572417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572485120": {"type": "Function", "typeVars": [".-1.140162572485120"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485120"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662944"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485120", "variance": "INVARIANT"}, "140162522662944": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485120"}]}, "140162572485568": {"type": "Function", "typeVars": [".-1.140162572485568"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485568"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485568", "variance": "INVARIANT"}, "140162522663056": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485568"}]}, "140162572486016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572486464": {"type": "Function", "typeVars": [".-1.140162572486464"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486464"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572486464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486464", "variance": "INVARIANT"}, "140162572486912": {"type": "Function", "typeVars": [".-1.140162572486912"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486912"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486912", "variance": "INVARIANT"}, "140162522663280": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572486912"}]}, "140162572487360": {"type": "Function", "typeVars": [".-1.140162572487360"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572487360"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572487360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572487360", "variance": "INVARIANT"}, "140162522663392": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572487360"}]}, "140162597553088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162597554432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597554880": {"type": "Function", "typeVars": [".-1.140162597554880", ".-2.140162597554880"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597554880"}, {"nodeId": ".-2.140162597554880"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671568"}, {"nodeId": "140162522671680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597554880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, ".-2.140162597554880": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, "140162522671568": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597554880"}]}, "140162522671680": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597554880"}]}, "140162597555328": {"type": "Function", "typeVars": [".-1.140162597555328", ".-2.140162597555328"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597555328"}, {"nodeId": ".-2.140162597555328"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671792"}, {"nodeId": "140162522671904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597555328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, ".-2.140162597555328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, "140162522671792": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597555328"}]}, "140162522671904": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597555328"}]}, "140162450769952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162505387344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505387344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162450768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505158976": {"type": "Overloaded", "items": [{"nodeId": "140162606365184"}, {"nodeId": "140162606365632"}]}, "140162606365184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606365632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140162505385104": {"type": "Overloaded", "items": [{"nodeId": "140162606366080"}, {"nodeId": "140162597716032"}]}, "140162606366080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162597716032": {"type": "Function", "typeVars": [".-1.140162597716032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162597716032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140162597716032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716032", "variance": "INVARIANT"}, "140162597716480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162597716928": {"type": "Function", "typeVars": [".-1.140162597716928"], "argTypes": [{"nodeId": ".-1.140162597716928"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162597716928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597716928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716928", "variance": "INVARIANT"}, "140162597717376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597717824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597718272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162450768608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140162597719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526125344": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492438496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593114368"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593113920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593114368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597719616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162492435808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140162593274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593112576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618241904": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522443984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572261568"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262016"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262464"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572263360"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162618241904"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618241904"}]}], "isAbstract": true}, "140162522443984": {"type": "Overloaded", "items": [{"nodeId": "140162572260672"}, {"nodeId": "140162572261120"}]}, "140162572260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618241904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241904", "variance": "COVARIANT"}, "140162572261120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140162572262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618238880": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496486464"}}], "typeVars": [{"nodeId": ".1.140162618238880"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238880"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140162496486464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618238880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238880"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238880", "variance": "COVARIANT"}, "140162505613696": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613920": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614032": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585020672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585021568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614256"}, {"nodeId": "140162505614368"}, {"nodeId": "140162505614480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614256": {"type": "Union", "items": [{"nodeId": "140162505614144"}, {"nodeId": "140162525837152"}]}, "140162505614144": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614368": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614480": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585022016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505614592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585022912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614816"}, {"nodeId": "140162505614928"}, {"nodeId": "140162505615040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614816": {"type": "Union", "items": [{"nodeId": "140162505614704"}, {"nodeId": "140162525837152"}]}, "140162505614704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505615040": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585023360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585023808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505615152"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505615264"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505615264": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162525830768": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505612800"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178432"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178880"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179328"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179776"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180672"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181120"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181568"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585313792"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314688"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585315584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316032"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316928"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317376"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317824"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318720"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319168"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319616"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320064"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320512"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320960"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321408"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321856"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322304"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322752"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323200"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323648"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324096"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324544"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324992"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325440"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325888"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326336"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326784"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327232"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327680"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328128"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328576"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585329024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395264"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395712"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396160"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396608"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451230496"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585397952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585398400"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505619632"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505620416"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585400640"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162505795712"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401984"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402432"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402880"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403328"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403776"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404224"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404672"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405120"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405568"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406016"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406464"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406912"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525828416"}], "isAbstract": false}, "140162505612800": {"type": "Overloaded", "items": [{"nodeId": "140162585177088"}, {"nodeId": "140162585177536"}, {"nodeId": "140162585177984"}]}, "140162585177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505620640": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162505620528"}]}, "140162505620528": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140162585178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620864"}, {"nodeId": "140162505620976"}, {"nodeId": "140162505621088"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505620864": {"type": "Union", "items": [{"nodeId": "140162505620752"}, {"nodeId": "140162525837152"}]}, "140162505620752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505620976": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505621088": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505883712"}, {"nodeId": "140162505883824"}, {"nodeId": "140162505883936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505883712": {"type": "Union", "items": [{"nodeId": "140162505621200"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505621312"}]}]}, "140162505621200": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505621312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505883824": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505883936": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884160"}, {"nodeId": "140162505884272"}, {"nodeId": "140162505884384"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884160": {"type": "Union", "items": [{"nodeId": "140162505884048"}, {"nodeId": "140162525837152"}]}, "140162505884048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884272": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884496"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505884496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884720"}, {"nodeId": "140162505884832"}, {"nodeId": "140162505884944"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884720": {"type": "Union", "items": [{"nodeId": "140162505884608"}, {"nodeId": "140162525837152"}]}, "140162505884608": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884832": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884944": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162585316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505885056"}]}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885056": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505885168"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505885168": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585321408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885392"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505885392": {"type": "Union", "items": [{"nodeId": "140162505885280"}, {"nodeId": "N"}]}, "140162505885280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585321856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885504"}], "returnType": {"nodeId": "140162505885728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885504": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505885728": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585322304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162585322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885840"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885840": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585323648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885952"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886064"}, {"nodeId": "140162505886176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886064": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886400"}, {"nodeId": "140162505886512"}, {"nodeId": "140162505886624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886400": {"type": "Union", "items": [{"nodeId": "140162505886288"}, {"nodeId": "140162525837152"}]}, "140162505886288": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886512": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505886624": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886848"}, {"nodeId": "140162505886960"}, {"nodeId": "140162505887072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886848": {"type": "Union", "items": [{"nodeId": "140162505886736"}, {"nodeId": "140162525837152"}]}, "140162505886736": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886960": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505887072": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505887184"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505887184": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887296"}], "returnType": {"nodeId": "140162505887520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505887296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505887520": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887744"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505887744": {"type": "Union", "items": [{"nodeId": "140162505887632"}, {"nodeId": "N"}]}, "140162505887632": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887968"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505887968": {"type": "Union", "items": [{"nodeId": "140162505887856"}, {"nodeId": "N"}]}, "140162505887856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888192"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505888192": {"type": "Union", "items": [{"nodeId": "140162505888080"}, {"nodeId": "N"}]}, "140162505888080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888528"}, {"nodeId": "140162505888640"}, {"nodeId": "140162505888752"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505888528": {"type": "Union", "items": [{"nodeId": "140162505888304"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505888416"}]}]}, "140162505888304": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888640": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505888752": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888976"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505888976": {"type": "Union", "items": [{"nodeId": "140162505888864"}, {"nodeId": "N"}]}, "140162505888864": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889200"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505889200": {"type": "Union", "items": [{"nodeId": "140162505889088"}, {"nodeId": "N"}]}, "140162505889088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451230496": {"type": "Function", "typeVars": [".-1.140162451230496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451230496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451230496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451230496", "variance": "INVARIANT"}, "140162451229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505889312"}, {"nodeId": "140162505889424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505889424": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585397952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505619632": {"type": "Overloaded", "items": [{"nodeId": "140162585398848"}, {"nodeId": "140162585399296"}]}, "140162585398848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585399296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620416": {"type": "Overloaded", "items": [{"nodeId": "140162585399744"}, {"nodeId": "140162585400192"}]}, "140162585399744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505889760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505889760": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525830432"}]}, "140162585400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889872": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162585401088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889984"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889984": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505795712": {"type": "Function", "typeVars": [".-1.140162505795712"], "argTypes": [{"nodeId": ".-1.140162505795712"}, {"nodeId": "140162505890096"}], "returnType": {"nodeId": ".-1.140162505795712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162505795712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505795712", "variance": "INVARIANT"}, "140162505890096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402880": {"type": "Function", "typeVars": [".-1.140162585402880"], "argTypes": [{"nodeId": ".-1.140162585402880"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162585402880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162585402880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585402880", "variance": "INVARIANT"}, "140162585403328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585403776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890432": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505890320"}]}, "140162505890320": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585404224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585404672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585405120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890544"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890544": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585405568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890656"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890656": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890768": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890880"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890880": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618242240": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496575776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572266944"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267392"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267840"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268288"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268736"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269184"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269632"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140162618242240"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618242240"}]}], "isAbstract": true}, "140162496575776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140162618242240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242240", "variance": "INVARIANT"}, "140162522444432": {"type": "Overloaded", "items": [{"nodeId": "140162572264256"}, {"nodeId": "140162572264704"}]}, "140162572264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522444992": {"type": "Overloaded", "items": [{"nodeId": "140162572265152"}, {"nodeId": "140162572265600"}]}, "140162572265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162572265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162522445328": {"type": "Overloaded", "items": [{"nodeId": "140162572266048"}, {"nodeId": "140162572266496"}]}, "140162572266048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572267392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140162572268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572268736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140162572269184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572269632": {"type": "Function", "typeVars": [".-1.140162572269632"], "argTypes": [{"nodeId": ".-1.140162572269632"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": ".-1.140162572269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572269632": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572269632", "variance": "INVARIANT"}, "140162525828416": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": true}, "140162585027840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585028288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615488"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505615488": {"type": "Union", "items": [{"nodeId": "140162505615376"}, {"nodeId": "N"}]}, "140162505615376": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585028736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615600"}], "returnType": {"nodeId": "140162505615824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615600": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505615824": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585029184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615936"}, {"nodeId": "140162505616048"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505615936": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585029632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616160"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616160": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616272": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616496"}, {"nodeId": "140162505616608"}, {"nodeId": "140162505616720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616496": {"type": "Union", "items": [{"nodeId": "140162505616384"}, {"nodeId": "140162525837152"}]}, "140162505616384": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616608": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505616720": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585030976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616944"}, {"nodeId": "140162505617056"}, {"nodeId": "140162505617168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616944": {"type": "Union", "items": [{"nodeId": "140162505616832"}, {"nodeId": "140162525837152"}]}, "140162505616832": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617056": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505617168": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585031424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505617280"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505617280": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585031872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617392"}], "returnType": {"nodeId": "140162505617616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505617392": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617616": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585032320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617840"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505617840": {"type": "Union", "items": [{"nodeId": "140162505617728"}, {"nodeId": "N"}]}, "140162505617728": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585032768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618064"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505618064": {"type": "Union", "items": [{"nodeId": "140162505617952"}, {"nodeId": "N"}]}, "140162505617952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505618288": {"type": "Union", "items": [{"nodeId": "140162505618176"}, {"nodeId": "N"}]}, "140162505618176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585034112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618624"}, {"nodeId": "140162505618736"}, {"nodeId": "140162505618848"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505618624": {"type": "Union", "items": [{"nodeId": "140162505618400"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505618512"}]}]}, "140162505618400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618512": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618736": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505618848": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585165888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619072"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505619072": {"type": "Union", "items": [{"nodeId": "140162505618960"}, {"nodeId": "N"}]}, "140162505618960": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585166336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585166784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619296"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505619296": {"type": "Union", "items": [{"nodeId": "140162505619184"}, {"nodeId": "N"}]}, "140162505619184": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451058336": {"type": "Function", "typeVars": [".-1.140162451058336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451058336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451058336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451058336", "variance": "INVARIANT"}, "140162451057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505619408"}, {"nodeId": "140162505619520"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619408": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505619520": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585169472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585169920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505611792": {"type": "Overloaded", "items": [{"nodeId": "140162585170368"}, {"nodeId": "140162585170816"}]}, "140162585170368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585170816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585171264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619744"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585171712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505620080"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620080": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505619968"}]}, "140162505619968": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585173504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585176192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162505620304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505620304": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}]}, "140162543162800": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162543162688": {"type": "Union", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260608"}, {"nodeId": "140162526745584", "args": [{"nodeId": "A"}]}, {"nodeId": "140162534539328"}, {"nodeId": "140162539416800"}, {"nodeId": "140162526131392"}]}, "140162539260608": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451238784"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239232"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239456"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239680"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239904"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240128"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240352"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240576"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240800"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241024"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241248"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560448"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560896"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561344"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561792"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563584"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585564032"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889648"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585565376"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566272"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566720"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567168"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567616"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162451238784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505890992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505890992": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891104": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891216": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891328": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162451240800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585560448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162505891440": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585560896": {"type": "Function", "typeVars": [".-1.140162585560896"], "argTypes": [{"nodeId": ".-1.140162585560896"}], "returnType": {"nodeId": ".-1.140162585560896"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162585560896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585560896", "variance": "INVARIANT"}, "140162585561344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891552"}, {"nodeId": "140162505891664"}, {"nodeId": "140162505891776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505891552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505891664": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539265984": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542695056"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121440"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542696848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576647104"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162542695056": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539121440": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162542696848": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123328": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593260032"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135008"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492360608"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361056"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361280"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593260032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}, {"nodeId": "140162513455472"}, {"nodeId": "140162526123664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140162513455472": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123664": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492362400"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363072"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363296"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363520"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363744"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363968"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492364192"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135456"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593264960"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492362400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513455584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513455584": {"type": "Union", "items": [{"nodeId": "140162526123664"}, {"nodeId": "N"}]}, "140162492363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118288": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497319360"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320704"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320256"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320928"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321152"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321376"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321600"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321824"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322048"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322272"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322496"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322720"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322944"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323168"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323392"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323616"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497324288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597593920"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597596160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597597952"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497319360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497324288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522671344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522671344": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162522671120"}]}, "140162522671120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162597596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140162597597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140162492363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513456032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513456032": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162492364192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135456": {"type": "Union", "items": [{"nodeId": "140162530018464"}, {"nodeId": "N"}]}, "140162530018464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162593264960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135008": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162492360608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162576646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162501143216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162501143216": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162576647104": {"type": "Function", "typeVars": [".-1.140162576647104"], "argTypes": [{"nodeId": ".-1.140162576647104"}, {"nodeId": "140162501143328"}], "returnType": {"nodeId": ".-1.140162576647104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162576647104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576647104", "variance": "INVARIANT"}, "140162501143328": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162505891776": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162585561792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505891888"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140162505891888": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}]}, "140162505889536": {"type": "Overloaded", "items": [{"nodeId": "140162585562240"}, {"nodeId": "140162585562688"}]}, "140162585562240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585562688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585564032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505889648": {"type": "Overloaded", "items": [{"nodeId": "140162585564480"}, {"nodeId": "140162585564928"}]}, "140162585564480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505892224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505892224": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585564928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585565376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892784"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140162505892784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162585566272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585566720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892672"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505892672": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162526745584": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463937952"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463939744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042864"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123200"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123648"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124096"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124544"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124992"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125440"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125888"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126336"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126784"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564127232"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564128128"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932224"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932672"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933120"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933568"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934016"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934464"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563935808"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042976"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505154608"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938048"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938496"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938944"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940288"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940736"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941184"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941632"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942528"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942976"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140162526745584"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162526745584"}]}], "isAbstract": false}, "140162463937952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526745584": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539260272"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526745584", "variance": "INVARIANT"}, "140162539258928": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509913472"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772032"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772480"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772928"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450940288"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940512"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589774720"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775168"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775616"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776064"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776512"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776960"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777408"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777856"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505389360"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779200"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779648"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780544"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780992"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781440"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781888"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505391712"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589783680"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784128"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784576"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589785024"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505606416"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642496"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642944"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643392"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643840"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644288"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644736"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645184"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645632"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646080"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646528"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646976"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162509913472": {"type": "Function", "typeVars": [".-1.140162509913472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505605856"}], "returnType": {"nodeId": ".-1.140162509913472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505605856": {"type": "Union", "items": [{"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505605744"}]}, "140162525823712": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501645632"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__float__"]}, "140162501645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505605744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162509913472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913472", "variance": "INVARIANT"}, "140162589772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162589772480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940288": {"type": "Function", "typeVars": [".-1.140162450940288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162450940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162450940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450940288", "variance": "INVARIANT"}, "140162450940512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589774720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589775168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589775616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505606304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505389360": {"type": "Overloaded", "items": [{"nodeId": "140162589778304"}, {"nodeId": "140162589778752"}]}, "140162589778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505606752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505391712": {"type": "Overloaded", "items": [{"nodeId": "140162589782336"}, {"nodeId": "140162589782784"}, {"nodeId": "140162589783232"}]}, "140162589782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505606976"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505606976": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162526503856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162589782784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505610224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505610224": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162526505984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162539259264": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505609440"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450946112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450947008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650112"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650560"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651008"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651904"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652352"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652800"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653248"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653696"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654144"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654592"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655488"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655936"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656384"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656832"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584657280"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505609440": {"type": "Overloaded", "items": [{"nodeId": "140162509913696"}, {"nodeId": "140162584647424"}]}, "140162509913696": {"type": "Function", "typeVars": [".-1.140162509913696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607312"}, {"nodeId": "140162505607648"}], "returnType": {"nodeId": ".-1.140162509913696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140162505607312": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, "140162525824048": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501646976"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__complex__"]}, "140162501646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824048"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505607648": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, ".-1.140162509913696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913696", "variance": "INVARIANT"}, "140162584647424": {"type": "Function", "typeVars": [".-1.140162584647424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607760"}], "returnType": {"nodeId": ".-1.140162584647424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140162505607760": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539259264"}]}, ".-1.140162584647424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584647424", "variance": "INVARIANT"}, "140162450946112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450947008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589783680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}]}, "140162589784128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589784576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589785024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606416": {"type": "Overloaded", "items": [{"nodeId": "140162589785472"}, {"nodeId": "140162584641600"}]}, "140162589785472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162584641600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584642048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153040": {"type": "TypeAlias", "target": {"nodeId": "140162535236192"}}, "140162535236192": {"type": "Union", "items": [{"nodeId": "140162539122896"}, {"nodeId": "140162535238320"}, {"nodeId": "140162535238208"}]}, "140162539122896": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162535236080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238320": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162535237648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162463939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510042864": {"type": "Overloaded", "items": [{"nodeId": "140162509903616"}, {"nodeId": "140162564121408"}, {"nodeId": "140162564121856"}, {"nodeId": "140162564122304"}, {"nodeId": "140162564122752"}]}, "140162509903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162505153264"}, {"nodeId": "140162505153376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153264": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162505153376": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}]}, "140162564121408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162505154272"}, {"nodeId": "140162505153152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154272": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162505153152": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258928"}]}]}, "140162564121856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162505154496"}, {"nodeId": "140162505154160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162505154160": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}]}, "140162564122304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162564122752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162505153600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153600": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162564123200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564123648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153712": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162564124096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564124544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564124992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564125440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505153824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505153824": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564125888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526753648", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162526753648": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127136"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140162526753648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read"]}, "140162593127136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753648", "args": [{"nodeId": ".1.140162526753648"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753648", "variance": "COVARIANT"}, "140162564126336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564126784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564127232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162564128128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162563932224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162563932672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563933120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563933568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526754656": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589442336"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140162526754656"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["write"]}, "140162589442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162526754656"}]}, {"nodeId": ".1.140162526754656"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526754656": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754656", "variance": "CONTRAVARIANT"}, "140162563934016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563934464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563935808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510042976": {"type": "Overloaded", "items": [{"nodeId": "140162563936256"}, {"nodeId": "140162563936704"}]}, "140162563936256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563936704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154608": {"type": "Overloaded", "items": [{"nodeId": "140162563937152"}, {"nodeId": "140162563937600"}]}, "140162563937152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563937600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563938048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505154384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162563938496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563938944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939840": {"type": "Function", "typeVars": [".-1.140162563939840"], "argTypes": [{"nodeId": ".-1.140162563939840"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": ".-1.140162563939840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563939840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563939840", "variance": "INVARIANT"}, "140162563940288": {"type": "Function", "typeVars": [".-1.140162563940288"], "argTypes": [{"nodeId": ".-1.140162563940288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162563940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563940288", "variance": "INVARIANT"}, "140162563940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563942976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162534539328": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551313824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314272"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314720"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551315616"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551316064"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564325664"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326112"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326560"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327008"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327456"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327904"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328352"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328800"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329248"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329696"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330144"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330592"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509076096"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564331936"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509073072"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333280"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333728"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334624"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525825056"}], "isAbstract": false}, "140162551313824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140162551314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140162551315616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140162551316064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140162564326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140162564327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140162564328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140162564329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189664": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189888"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162509189888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162564330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140162509190000": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509076096": {"type": "Overloaded", "items": [{"nodeId": "140162564331040"}, {"nodeId": "140162564331488"}]}, "140162564331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509190224": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162509073072": {"type": "Overloaded", "items": [{"nodeId": "140162564332384"}, {"nodeId": "140162564332832"}]}, "140162564332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162564332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}, {"nodeId": "140162509190448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509190448": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564333728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564334176": {"type": "Function", "typeVars": [".-1.140162564334176"], "argTypes": [{"nodeId": ".-1.140162564334176"}], "returnType": {"nodeId": ".-1.140162564334176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162564334176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162564334176", "variance": "INVARIANT"}, "140162564334624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162539416800": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526144752"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274944"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274272"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472275840"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472276960"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472277408"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526144752": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162472274944": {"type": "Function", "typeVars": [".-1.140162472274944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509769968"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509769968": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, ".-1.140162472274944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274944", "variance": "INVARIANT"}, "140162472274272": {"type": "Function", "typeVars": [".-1.140162472274272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509770080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509770080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162472274272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274272", "variance": "INVARIANT"}, "140162472275840": {"type": "Function", "typeVars": [".-1.140162472275840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472275840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140162472275840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472275840", "variance": "INVARIANT"}, "140162472276960": {"type": "Function", "typeVars": [".-1.140162472276960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162509770304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140162509770304": {"type": "Union", "items": [{"nodeId": ".-1.140162472276960"}, {"nodeId": "140162539418816"}]}, ".-1.140162472276960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472276960", "variance": "INVARIANT"}, "140162539418816": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162472277408": {"type": "Function", "typeVars": [".-1.140162472277408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162472277408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140162539415792": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539416800"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944992"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945440"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563944096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162509769520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509769632"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509769744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140162509769520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509769632": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509769744": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162563944992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418144": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539417808"}], "isAbstract": false}, "140162539417808": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662592"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530659008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564526752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, "140162530662592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162534564896"}, {"nodeId": "N"}]}, "140162534564896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530659008": {"type": "TypeAlias", "target": {"nodeId": "140162530022272"}}, "140162530022272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530663040"}, {"nodeId": "140162539417808"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539416800"}]}], "returnType": {"nodeId": "140162539416800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530663040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509767504": {"type": "Overloaded", "items": [{"nodeId": "140162564524960"}, {"nodeId": "140162564525408"}, {"nodeId": "140162564525856"}, {"nodeId": "140162564526304"}]}, "140162564524960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140162564525408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509220864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140162509220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162564525856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509770976"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140162509770976": {"type": "Tuple", "items": [{"nodeId": "140162509770640"}, {"nodeId": "140162539415792"}]}, "140162509770640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162509771088": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162530657328": {"type": "Union", "items": [{"nodeId": "140162530658336"}, {"nodeId": "140162530656880"}, {"nodeId": "140162530657104"}]}, "140162530658336": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162530656880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162530657104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162564526304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771424"}]}, {"nodeId": "140162522186800", "args": [{"nodeId": "140162526593088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140162509771424": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162522186800": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162522186800"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509771200"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564537056"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140162522186800"}], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162522186800": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522186800", "variance": "INVARIANT"}, "140162509767616": {"type": "Overloaded", "items": [{"nodeId": "140162564535264"}, {"nodeId": "140162564535712"}]}, "140162564535264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564535712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": ".1.140162522186800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140162509771200": {"type": "Overloaded", "items": [{"nodeId": "140162564536160"}, {"nodeId": "140162564536608"}]}, "140162564536160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564536608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564537056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162539417472": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417136"}], "isAbstract": false}, "140162539417136": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162526593088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419152": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162539419152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303072"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539419152"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162539419152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539419152", "variance": "INVARIANT"}, "140162551303072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162539419152"}]}, {"nodeId": ".1.140162539419152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162564526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162563945440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162472277408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472277408", "variance": "INVARIANT"}, "140162526131392": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336864"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564337312"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162564336416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}, {"nodeId": "140162513943152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140162513943152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564336864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564337312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525823376": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501644288"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__int__"]}, "140162501644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526751632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123104"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__trunc__"]}, "140162593123104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162509912800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912800", "variance": "INVARIANT"}, "140162597721856": {"type": "Function", "typeVars": [".-1.140162597721856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389696"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162597721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140162505389696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, ".-1.140162597721856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597721856", "variance": "INVARIANT"}, "140162597722304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505390032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505390032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "0"}]}, "140162450421376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597725440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597726784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505390592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140162505390592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162450420032": {"type": "Function", "typeVars": [".-1.140162450420032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505390816"}, {"nodeId": "140162505391152"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162450420032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140162505390816": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525824384"}, {"nodeId": "140162505390704"}]}, "140162505390704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505391152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140162450420032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450420032", "variance": "INVARIANT"}, "140162597727680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597730368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505391376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162597730816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589605952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589607296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505391600": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162505388912": {"type": "Overloaded", "items": [{"nodeId": "140162589607744"}, {"nodeId": "140162589608192"}, {"nodeId": "140162589608640"}, {"nodeId": "140162589609088"}, {"nodeId": "140162589609536"}, {"nodeId": "140162589609984"}]}, "140162589607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589608192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589608640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505605408"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505605408": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162589609088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505608096"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505608096": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162589609536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589609984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589610432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162505607536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505607536": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162589610880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589615360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589615808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589618048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162589618496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505605632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505605632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162589618944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580478016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162580479360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505895024": {"type": "Overloaded", "items": [{"nodeId": "140162580611136"}, {"nodeId": "140162580611584"}]}, "140162580611136": {"type": "Function", "typeVars": [".-1.140162580611136"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580611136"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162580611136": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162580611136", "variance": "INVARIANT"}, "140162542698192": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162526746928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140162526746928"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__lt__"]}, "140162593116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746928", "args": [{"nodeId": ".1.140162526746928"}]}, {"nodeId": ".1.140162526746928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526746928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746928", "variance": "CONTRAVARIANT"}, "140162526747264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162526747264"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__gt__"]}, "140162593117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747264", "args": [{"nodeId": ".1.140162526747264"}]}, {"nodeId": ".1.140162526747264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747264", "variance": "CONTRAVARIANT"}, "140162580611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505797504"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162505797504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162505896704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896704": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162535232608": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162580612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896256": {"type": "Overloaded", "items": [{"nodeId": "140162580612928"}, {"nodeId": "140162580613376"}]}, "140162580612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896368": {"type": "Overloaded", "items": [{"nodeId": "140162580613824"}, {"nodeId": "140162580614272"}]}, "140162580613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505896928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162505896592": {"type": "Overloaded", "items": [{"nodeId": "140162580615168"}, {"nodeId": "140162580615616"}]}, "140162580615168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580615616": {"type": "Function", "typeVars": [".-1.140162580615616"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580615616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162505897152"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580615616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580615616", "variance": "INVARIANT"}, "140162505897152": {"type": "Union", "items": [{"nodeId": ".-1.140162580615616"}, {"nodeId": ".1.140162539261616"}]}, "140162580616064": {"type": "Function", "typeVars": [".-1.140162580616064"], "argTypes": [{"nodeId": ".-1.140162580616064"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": ".-1.140162580616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580616064", "variance": "INVARIANT"}, "140162580616512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580616960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580617408": {"type": "Function", "typeVars": [".-1.140162580617408"], "argTypes": [{"nodeId": ".-1.140162580617408"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162580617408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580617408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580617408", "variance": "INVARIANT"}, "140162580617856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580618304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580618752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580624128": {"type": "Function", "typeVars": [".-1.140162580624128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162580624128"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140162580624128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580624128", "variance": "INVARIANT"}, "140162580624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829424": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459581600"}}], "typeVars": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525829424"}]}], "isAbstract": false}, "140162459581600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829424": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, ".2.140162525829424": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, "140162580625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829760": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459481056"}}], "typeVars": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162525829760"}]}], "isAbstract": false}, "140162459481056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829760": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, ".2.140162525829760": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, "140162580625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525830096": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459471648"}}], "typeVars": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "isAbstract": false}, "140162459471648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525830096": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, ".2.140162525830096": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, "140162505897040": {"type": "Overloaded", "items": [{"nodeId": "140162580626368"}, {"nodeId": "140162580626816"}]}, "140162580626368": {"type": "Function", "typeVars": [".-1.140162580626368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626368"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626368"}, {"nodeId": "140162505898384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140162580626368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626368", "variance": "INVARIANT"}, "140162505898384": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162580626816": {"type": "Function", "typeVars": [".-1.140162580626816", ".-2.140162580626816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626816"}]}, {"nodeId": ".-2.140162580626816"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626816"}, {"nodeId": ".-2.140162580626816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162580626816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, ".-2.140162580626816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, "140162505897376": {"type": "Overloaded", "items": [{"nodeId": "140162580774976"}, {"nodeId": "140162580775424"}]}, "140162580774976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "140162505898608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505898608": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": "N"}]}, "140162580775424": {"type": "Function", "typeVars": [".-1.140162580775424"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505898720"}], "returnType": {"nodeId": "140162505898832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505898720": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, ".-1.140162580775424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580775424", "variance": "INVARIANT"}, "140162505898832": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, "140162505898160": {"type": "Overloaded", "items": [{"nodeId": "140162580775872"}, {"nodeId": "140162580776320"}]}, "140162580775872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580776320": {"type": "Function", "typeVars": [".-1.140162580776320"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505899056"}], "returnType": {"nodeId": "140162505899168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505899056": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, ".-1.140162580776320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580776320", "variance": "INVARIANT"}, "140162505899168": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, "140162580776768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580777216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580777664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580778112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580778560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580779904": {"type": "Function", "typeVars": [".-1.140162580779904", ".-2.140162580779904"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580779904"}, {"nodeId": ".-2.140162580779904"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899392"}, {"nodeId": "140162505899504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580779904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, ".-2.140162580779904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, "140162505899392": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580779904"}]}, "140162505899504": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580779904"}]}, "140162580780352": {"type": "Function", "typeVars": [".-1.140162580780352", ".-2.140162580780352"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580780352"}, {"nodeId": ".-2.140162580780352"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899616"}, {"nodeId": "140162505899728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, ".-2.140162580780352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, "140162505899616": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580780352"}]}, "140162505899728": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580780352"}]}, "140162505898496": {"type": "Overloaded", "items": [{"nodeId": "140162580780800"}, {"nodeId": "140162580781248"}]}, "140162580780800": {"type": "Function", "typeVars": [".-1.140162580780800"], "argTypes": [{"nodeId": ".-1.140162580780800"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": ".-1.140162580780800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780800", "variance": "INVARIANT"}, "140162580781248": {"type": "Function", "typeVars": [".-1.140162580781248"], "argTypes": [{"nodeId": ".-1.140162580781248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500886704"}]}], "returnType": {"nodeId": ".-1.140162580781248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580781248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580781248", "variance": "INVARIANT"}, "140162500886704": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162618243584": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496751968"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496752416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572493632"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572494976"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522663616"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664064"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "isAbstract": true}, "140162496751968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162618243584": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, ".2.140162618243584": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, "140162496752416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572493632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522445552": {"type": "Overloaded", "items": [{"nodeId": "140162572494080"}, {"nodeId": "140162572494528"}]}, "140162572494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162572494528": {"type": "Function", "typeVars": [".-1.140162572494528"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664176"}], "returnType": {"nodeId": "140162522664288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522664176": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, ".-1.140162572494528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572494528", "variance": "INVARIANT"}, "140162522664288": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, "140162572494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "140162522664512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522664512": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162522663616": {"type": "Overloaded", "items": [{"nodeId": "140162572495424"}, {"nodeId": "140162572495872"}]}, "140162572495424": {"type": "Function", "typeVars": [".-1.140162572495424"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664736"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "140162522664848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522664736": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, ".-1.140162572495424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572495424", "variance": "INVARIANT"}, "140162522664848": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, "140162572495872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162522664064": {"type": "Overloaded", "items": [{"nodeId": "140162572496320"}, {"nodeId": "140162572496768"}, {"nodeId": "140162572497216"}]}, "140162572496320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162572496768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522665184"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162522665184": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162572497216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162505158528": {"type": "Overloaded", "items": [{"nodeId": "140162597205184"}]}, "140162597205184": {"type": "Function", "typeVars": [".-1.140162597205184"], "argTypes": [{"nodeId": ".-1.140162597205184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597205184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597205184", "variance": "INVARIANT"}, "140162450776000": {"type": "Function", "typeVars": [".-1.140162450776000"], "argTypes": [{"nodeId": ".-1.140162450776000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162450776000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450776000", "variance": "INVARIANT"}, "140162597206080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597206528": {"type": "Function", "typeVars": [".-1.140162597206528"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162597206528"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162597206528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597206528", "variance": "INVARIANT"}, "140162597206976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606351296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606351744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606352192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606352640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606353088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606353536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162505385552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505385552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606354432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505385776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505385776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606355328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606355776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162509910784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509910784", "variance": "INVARIANT"}, "140162584757632": {"type": "Function", "typeVars": [".-1.140162584757632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505608432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584757632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140162505608432": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584757632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584757632", "variance": "INVARIANT"}, "140162584758528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584758976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584759424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584759872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505608544"}, {"nodeId": "140162505608656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140162505608544": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608656": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584760320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162584760768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505608768"}, {"nodeId": "140162505608880"}, {"nodeId": "140162505608992"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505608768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505608880": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608992": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584761216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162584762112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609104"}, {"nodeId": "140162505609216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609104": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609216": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584762560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162584763008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259600"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140162539259600": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584756736"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584756736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259600"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584763456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609328"}, {"nodeId": "140162505609664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609328": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609664": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584763904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505609776"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505609776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584771520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162584771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610336"}, {"nodeId": "140162505610448"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610336": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610448": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610560"}, {"nodeId": "140162505610672"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610560": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610672": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610896": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611008"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611008": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611232"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162584891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611344"}, {"nodeId": "140162505611456"}, {"nodeId": "140162505611568"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505611344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505611456": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505611568": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611680"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584892736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584893184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539259936": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584757184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584757184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259936"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505607984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505607984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584893632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584894080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505607200": {"type": "Overloaded", "items": [{"nodeId": "140162509912352"}, {"nodeId": "140162584894528"}]}, "140162509912352": {"type": "Function", "typeVars": [".-1.140162509912352"], "argTypes": [{"nodeId": "140162505612016"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505612016": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162505611904"}, {"nodeId": ".-1.140162509912352"}]}]}, ".-1.140162509912352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912352", "variance": "INVARIANT"}, "140162505611904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162584894528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505612128"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162505612240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505612128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162505612240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584895424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584895872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584897216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505612352"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505612352": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162584897664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584898112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584898560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584899456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505612688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612688": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522192512": {"type": "Concrete", "module": "import_test", "simpleName": "A", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534547392": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609967424"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111600"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111824"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665616"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665728"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476383744"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609968320"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162609967424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349024"}, {"nodeId": "140162509349136"}, {"nodeId": "A"}, {"nodeId": "140162509349360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140162509349024": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162534548400": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576658752"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659200"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659648"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660096"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162576658752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526119632": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134448"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497447744"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134896"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135120"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618242240", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558912"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526134448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162497447744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526134896": {"type": "Union", "items": [{"nodeId": "140162526119296"}, {"nodeId": "N"}]}, "140162526119296": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557568"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["load_module"]}, "140162597557568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119296"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526135120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526135232": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162597558464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522672464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140162522672464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162597558912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576659200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162576659648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509352944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162509352944": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162576660096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162509349136": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509349360": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162522111600": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162522111824": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530665616": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162530665728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476383744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509349472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509349472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162609968320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521921376": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381504"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381952"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381056"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380608"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380160"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378144"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476379488"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378368"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376576"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476381504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349584"}], "returnType": {"nodeId": "140162509349696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509349584": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349696": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476381952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349808"}, {"nodeId": "140162509349920"}], "returnType": {"nodeId": "140162509350032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509349808": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349920": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350032": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476381056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476378144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476379488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162476378368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350144"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350144": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476376576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162534550080": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503872"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504320"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504768"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601503872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353728"}], "returnType": {"nodeId": "140162509353840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162509353728": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509353840": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601504320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601504768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353952"}, {"nodeId": "140162509354064"}], "returnType": {"nodeId": "140162509354176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162509353952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509354064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534548064": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534549072": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660992"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576661440"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601500736"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476439392"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162576660992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162576661440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353056": {"type": "Union", "items": [{"nodeId": "140162526118288"}, {"nodeId": "N"}]}, "140162476440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353168": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601500736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162476439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509353392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140162509353392": {"type": "Union", "items": [{"nodeId": "140162509353280"}, {"nodeId": "140162539260272"}]}, "140162509353280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162521921712": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376800"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375424"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374752"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375200"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374304"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373856"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373408"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372288"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372064"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476376800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350256"}], "returnType": {"nodeId": "140162509350368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350256": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350368": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476375424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350480"}, {"nodeId": "140162509350592"}], "returnType": {"nodeId": "140162509350704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509350480": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350592": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350704": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140162476372288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350816"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350816": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162521922048": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370944"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370496"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": false}, "140162476370944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350928"}], "returnType": {"nodeId": "140162509351040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350928": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351040": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476370496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351152"}, {"nodeId": "140162509351264"}], "returnType": {"nodeId": "140162509351376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351152": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351264": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351376": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534547728": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368928"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368480"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476369376"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368032"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162476368928": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140162476368480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140162521920704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606551488"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475992768"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522331984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162606551488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}, {"nodeId": "140162509346560"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140162509346560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475992768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534547056": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554176"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554624"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140162534546720"}], "isAbstract": false}, "140162606553728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162522190832": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162514108928"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564832"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484295200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568565728"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568566176"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567520"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567968"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568568416"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700640"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701088"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701536"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701984"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702432"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702880"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703328"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703776"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568704224"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513941584"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568707808"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708256"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708704"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709152"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709600"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568710048"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711392"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711840"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712288"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712736"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713184"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713632"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568714080"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484292736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715424"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715872"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563590176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563591072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162514108928": {"type": "Function", "typeVars": [".-1.140162514108928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514045632"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162514108928"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140162514045632": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162535236528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}]}, "140162521917344": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484643520"}}], "typeVars": [{"nodeId": ".1.140162521917344"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162484643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521917344", "args": [{"nodeId": ".1.140162521917344"}]}], "returnType": {"nodeId": ".1.140162521917344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521917344": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521917344", "variance": "COVARIANT"}, ".-1.140162514108928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162514108928", "variance": "INVARIANT"}, "140162568564384": {"type": "Function", "typeVars": [".-1.140162568564384"], "argTypes": [{"nodeId": ".-1.140162568564384"}], "returnType": {"nodeId": ".-1.140162568564384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568564384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568564384", "variance": "INVARIANT"}, "140162568564832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514045856"}, {"nodeId": "140162514045968"}, {"nodeId": "140162514046080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162514045856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162514045968": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162514046080": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162484295200": {"type": "Function", "typeVars": [".-1.140162484295200"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484295200"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484295200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484295200", "variance": "INVARIANT"}, "140162568565728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514046192"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514046192": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162522328736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162568566176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140162568567520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568567968": {"type": "Function", "typeVars": [".-1.140162568567968"], "argTypes": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568567968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568567968", "variance": "INVARIANT"}, "140162618239216": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572098176"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496489152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522441184"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572099968"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572100416"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489376"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489824"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490496"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490720"}}], "typeVars": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618239216"}]}], "isAbstract": true}, "140162572098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, ".2.140162618239216": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "CONTRAVARIANT"}, ".3.140162618239216": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, "140162496489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": ".2.140162618239216"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522441184": {"type": "Overloaded", "items": [{"nodeId": "140162572099072"}, {"nodeId": "140162572099520"}]}, "140162572099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "0"}, {"nodeId": "140162522442864"}, {"nodeId": "140162522442976"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522442864": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522442976": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522443088"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522443088": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496489376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496489824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162522443536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522443536": {"type": "Union", "items": [{"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162568568416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702880": {"type": "Function", "typeVars": [".-1.140162568702880"], "argTypes": [{"nodeId": ".-1.140162568702880"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568702880"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568702880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568702880", "variance": "INVARIANT"}, "140162568703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140162568703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162514046304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514046304": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162568704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140162513941584": {"type": "Overloaded", "items": [{"nodeId": "140162568704672"}, {"nodeId": "140162568705120"}, {"nodeId": "140162568705568"}, {"nodeId": "140162568706016"}, {"nodeId": "140162568706464"}, {"nodeId": "140162568706912"}, {"nodeId": "140162568707360"}]}, "140162568704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046528"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514046640"}, {"nodeId": "140162514046752"}, {"nodeId": "140162514046864"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046528": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162534704736": {"type": "Union", "items": [{"nodeId": "140162534703168"}, {"nodeId": "140162534704064"}, {"nodeId": "140162534704624"}]}, "140162534703168": {"type": "TypeAlias", "target": {"nodeId": "140162534705520"}}, "140162534705520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704064": {"type": "TypeAlias", "target": {"nodeId": "140162543173328"}}, "140162543173328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704624": {"type": "TypeAlias", "target": {"nodeId": "140162543170640"}}, "140162543170640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162514046640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534543360": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593486240"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731744"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733312"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593488480"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568126752"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127648"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128096"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128544"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128992"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129440"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534543024"}, {"nodeId": "140162525828080"}], "isAbstract": false}, "140162593486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162509340848"}, {"nodeId": "140162509340960"}, {"nodeId": "140162509341072"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162525827408": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753536"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496754656"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496755552"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496756224"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496756896"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905280"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905952"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496906624"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907296"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907968"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496908640"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909312"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909984"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496910656"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496911328"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912000"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912672"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496913344"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914016"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914688"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496915584"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496916704"}}], "typeVars": [{"nodeId": ".1.140162525827408"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}], "isAbstract": true}, "140162496753536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525827408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827408", "variance": "INVARIANT"}, "140162496754656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496755552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496906624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496907296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496907968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496908640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496909312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162496909984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496911328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162522665296": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162496912000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496912672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": ".1.140162525827408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496914016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496914688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665408"}, {"nodeId": "140162522665520"}, {"nodeId": "140162522665632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162522665408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162522665520": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162522665632": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509340848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509340960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475731744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827744": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496918048"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": true}, "140162496918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827744"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162475731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593488480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162509341184"}, {"nodeId": "140162509341296"}, {"nodeId": "140162509341408"}, {"nodeId": "140162509341520"}, {"nodeId": "140162509341632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162509341184": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341520": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162509341632": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162568126752": {"type": "Function", "typeVars": [".-1.140162568126752"], "argTypes": [{"nodeId": ".-1.140162568126752"}], "returnType": {"nodeId": ".-1.140162568126752"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568126752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568126752", "variance": "INVARIANT"}, "140162568127200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568127648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568128096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162568128544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568128992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568129440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534543024": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331648"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483552"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484000"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484448"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484896"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485344"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485792"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162522331648": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522110032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162593482656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162509340736"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509340736": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534540000": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050400"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050848"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052192"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052640"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053088"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053536"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053984"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054432"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054880"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055328"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055776"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056224"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056672"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534568480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058016"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480449664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058912"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593051296": {"type": "Function", "typeVars": [".-1.140162593051296"], "argTypes": [{"nodeId": ".-1.140162593051296"}], "returnType": {"nodeId": ".-1.140162593051296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593051296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593051296", "variance": "INVARIANT"}, "140162593051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190560"}, {"nodeId": "140162509190672"}, {"nodeId": "140162509190784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509190560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509190672": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509190784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162593052192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534563776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509190896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593056672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593057120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509191008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191008": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593057568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593058016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162480449664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593058912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140162509191232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162525828080": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496919616"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920064"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920288"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920512"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920736"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496920960"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": true}, "140162496919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162522665744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522665744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162496920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525828080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046416"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046416": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162543164256": {"type": "Union", "items": [{"nodeId": "140162543170976"}, {"nodeId": "140162543173104"}, {"nodeId": "140162543166384"}]}, "140162543170976": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162543168064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543173104": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162543171536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543166384": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162543164144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534541008": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473696"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480453920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593474592"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475488"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140162534540336"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162522110368": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162547328592": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162547330832"}]}, "140162547330832": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162535232496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162525830432"}]}]}, "140162593473696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192352"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509192576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140162509192352": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162509192576": {"type": "Union", "items": [{"nodeId": "140162509192464"}, {"nodeId": "N"}]}, "140162509192464": {"type": "TypeAlias", "target": {"nodeId": "140162530469568"}}, "140162530469568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162480453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192688"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192688": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593475488": {"type": "Function", "typeVars": [".-1.140162593475488"], "argTypes": [{"nodeId": ".-1.140162593475488"}], "returnType": {"nodeId": ".-1.140162593475488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593475488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593475488", "variance": "INVARIANT"}, "140162534540336": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059360"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059808"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060256"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060704"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593059360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593059808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191344"}], "returnType": {"nodeId": "140162509191456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191344": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162509191456": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191568"}], "returnType": {"nodeId": "140162509191680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191568": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509191680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162509191792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191792": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162568705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047200"}, {"nodeId": "140162514048544"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514047200": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162514048544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162534542352": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480864"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481312"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534541680"}, {"nodeId": "140162534542016"}], "isAbstract": false}, "140162593480864": {"type": "Function", "typeVars": [".-1.140162593480864"], "argTypes": [{"nodeId": ".-1.140162593480864"}], "returnType": {"nodeId": ".-1.140162593480864"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593480864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593480864", "variance": "INVARIANT"}, "140162593481312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542352"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534541680": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479072"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593478176": {"type": "Function", "typeVars": [".-1.140162593478176"], "argTypes": [{"nodeId": ".-1.140162593478176"}], "returnType": {"nodeId": ".-1.140162593478176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593478176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593478176", "variance": "INVARIANT"}, "140162593478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534540672": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534540336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061152"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061600"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062048"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062496"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593472800"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473248"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593061152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}], "returnType": {"nodeId": "140162534540336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593061600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509191904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191904": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593062048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593062496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192128": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192240"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534542016": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479520"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480416"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593479520": {"type": "Function", "typeVars": [".-1.140162593479520"], "argTypes": [{"nodeId": ".-1.140162593479520"}], "returnType": {"nodeId": ".-1.140162593479520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593479520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593479520", "variance": "INVARIANT"}, "140162593479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593480416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162509193024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509193024": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162568706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049776"}, {"nodeId": "140162514049888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514049776": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162514049888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514050896"}, {"nodeId": "140162514047648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514050896": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162514047648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048656"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048656": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162568707360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514048208"}, {"nodeId": "140162514050000"}, {"nodeId": "140162514050784"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048208": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568707808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568709152": {"type": "Function", "typeVars": [".-1.140162568709152"], "argTypes": [{"nodeId": ".-1.140162568709152"}], "returnType": {"nodeId": ".-1.140162568709152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568709152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709152", "variance": "INVARIANT"}, "140162568709600": {"type": "Function", "typeVars": [".-1.140162568709600"], "argTypes": [{"nodeId": ".-1.140162568709600"}, {"nodeId": "140162514048880"}], "returnType": {"nodeId": ".-1.140162568709600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568709600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709600", "variance": "INVARIANT"}, "140162514048880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162522189824": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484302368"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301920"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301696"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301472"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301248"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301024"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300800"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538800064"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568553632"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554080"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554528"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799168"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538814848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557216"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557664"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558112"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558560"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559008"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559456"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559904"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538815072"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799392"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568560800"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561248"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561696"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296320"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484297440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568563488"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162484302368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162538800064": {"type": "Function", "typeVars": [".-1.140162538800064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514044848"}], "returnType": {"nodeId": ".-1.140162538800064"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140162514044848": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, ".-1.140162538800064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538800064", "variance": "INVARIANT"}, "140162568553632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568554528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162538799168": {"type": "Function", "typeVars": [".-1.140162538799168"], "argTypes": [{"nodeId": ".-1.140162538799168"}, {"nodeId": "140162514044960"}], "returnType": {"nodeId": ".-1.140162538799168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538799168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799168", "variance": "INVARIANT"}, "140162514044960": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538814848": {"type": "Function", "typeVars": [".-1.140162538814848"], "argTypes": [{"nodeId": ".-1.140162538814848"}, {"nodeId": "140162514045072"}], "returnType": {"nodeId": ".-1.140162538814848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538814848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538814848", "variance": "INVARIANT"}, "140162514045072": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568557216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568557664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162514045184"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140162514045184": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568559904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140162538815072": {"type": "Function", "typeVars": [".-1.140162538815072"], "argTypes": [{"nodeId": ".-1.140162538815072"}, {"nodeId": "140162514045296"}], "returnType": {"nodeId": ".-1.140162538815072"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162538815072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538815072", "variance": "INVARIANT"}, "140162514045296": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538799392": {"type": "Function", "typeVars": [".-1.140162538799392"], "argTypes": [{"nodeId": ".-1.140162538799392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162538799392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140162538799392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799392", "variance": "INVARIANT"}, "140162568560800": {"type": "Function", "typeVars": [".-1.140162568560800"], "argTypes": [{"nodeId": ".-1.140162568560800"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568560800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140162568560800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568560800", "variance": "INVARIANT"}, "140162568561248": {"type": "Function", "typeVars": [".-1.140162568561248"], "argTypes": [{"nodeId": ".-1.140162568561248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568561248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140162568561248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561248", "variance": "INVARIANT"}, "140162568561696": {"type": "Function", "typeVars": [".-1.140162568561696"], "argTypes": [{"nodeId": ".-1.140162568561696"}, {"nodeId": "140162514045408"}], "returnType": {"nodeId": ".-1.140162568561696"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162568561696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561696", "variance": "INVARIANT"}, "140162514045408": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162484296320": {"type": "Function", "typeVars": [".-1.140162484296320"], "argTypes": [{"nodeId": ".-1.140162484296320"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".-1.140162484296320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484296320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484296320", "variance": "INVARIANT"}, "140162484297440": {"type": "Function", "typeVars": [".-1.140162484297440"], "argTypes": [{"nodeId": ".-1.140162484297440"}], "returnType": {"nodeId": ".-1.140162484297440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484297440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484297440", "variance": "INVARIANT"}, "140162568563488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140162568710048": {"type": "Function", "typeVars": [".-1.140162568710048"], "argTypes": [{"nodeId": ".-1.140162568710048"}, {"nodeId": "140162514051568"}], "returnType": {"nodeId": ".-1.140162568710048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568710048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568710048", "variance": "INVARIANT"}, "140162514051568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162568711392": {"type": "Function", "typeVars": [".-1.140162568711392"], "argTypes": [{"nodeId": ".-1.140162568711392"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162568711392"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140162568711392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711392", "variance": "INVARIANT"}, "140162568711840": {"type": "Function", "typeVars": [".-1.140162568711840"], "argTypes": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568711840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711840", "variance": "INVARIANT"}, "140162568712288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140162514048768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049104": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140162568714080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140162484292736": {"type": "Function", "typeVars": [".-1.140162484292736"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484292736"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484292736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484292736", "variance": "INVARIANT"}, "140162568715424": {"type": "Function", "typeVars": [".-1.140162568715424"], "argTypes": [{"nodeId": ".-1.140162568715424"}], "returnType": {"nodeId": ".-1.140162568715424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715424", "variance": "INVARIANT"}, "140162568715872": {"type": "Function", "typeVars": [".-1.140162568715872"], "argTypes": [{"nodeId": ".-1.140162568715872"}], "returnType": {"nodeId": ".-1.140162568715872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715872", "variance": "INVARIANT"}, "140162563588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563588832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514051680"}, {"nodeId": "140162514047536"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162514051680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514047536": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563589280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047984"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140162514047984": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162563589728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162514048096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162563590176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514048992"}, {"nodeId": "140162514049216"}, {"nodeId": "140162514049328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140162514048992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049216": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563591072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049440": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162606554176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346784"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509346784": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162606554624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346896"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509346896": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162534546720": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475996352"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995904"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343872"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995232"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994560"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475995456"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994336"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994112"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993888"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993664"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162475996352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509345664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509345664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162509345776"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509345776": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534546720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140162509343872": {"type": "Overloaded", "items": [{"nodeId": "140162577087872"}, {"nodeId": "140162606547008"}]}, "140162577087872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140162606547008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140162509346000"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140162509346000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509346224"}], "returnType": {"nodeId": "140162534547056"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140162509346224": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534544032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544032": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568138848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476099392"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140162568138848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568139296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568139744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568140192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568140640": {"type": "Function", "typeVars": [".-1.140162568140640"], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568140640"}], "returnType": {"nodeId": "140162509343312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568140640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568140640", "variance": "INVARIANT"}, "140162509343312": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140162568140640"}]}, "140162476099392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162509343424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343424": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162475995456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545712": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080704"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577081152"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476017472"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476019488"}}], "typeVars": [], "bases": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162530668192"}]}], "isAbstract": false}, "140162577080704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162509344544"}], "returnType": {"nodeId": "140162509345328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509344544": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162509345328": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162522108464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162577081152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162476017472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530668192": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162475994336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346336": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162522192176"}]}, {"nodeId": "N"}]}, "140162522192176": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577084736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085184"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085632"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522108240"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110256"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534546720"}}], "typeVars": [], "bases": [{"nodeId": "140162522190160"}], "isAbstract": false}, "140162577084736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162577085184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577085632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522108240": {"type": "Union", "items": [{"nodeId": "140162534546384"}, {"nodeId": "N"}]}, "140162534546384": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577086080"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162577086080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546384"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162522110256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522190160": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162475993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346448": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162475993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351488"}, {"nodeId": "140162509351600"}], "returnType": {"nodeId": "140162509351712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351488": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351600": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351712": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476368032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351824"}], "returnType": {"nodeId": "140162509351936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509351824": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351936": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162521922384": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605984768"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476367360"}}], "typeVars": [], "bases": [{"nodeId": "140162534550416"}], "isAbstract": false}, "140162605984768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922384"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140162509352160": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162476367360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509352384"}], "returnType": {"nodeId": "140162509209888"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140162509352384": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162509209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534550416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534550416": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505216"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505664"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506112"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506560"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601505216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354288": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601505664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354624": {"type": "Tuple", "items": [{"nodeId": "140162509354400"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}]}, "140162509354400": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601506112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601506560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509354736"}], "returnType": {"nodeId": "140162509354848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140162509354736": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354848": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521922720": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605985664"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162605985664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922720"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352496"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140162509352496": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162534550752": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507456"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507904"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601508352"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601507008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162601507456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601507904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509354960"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509354960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601508352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509355072"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509355072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534548736": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440960"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162476440960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548736"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162534549408": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476438496"}}], "typeVars": [], "bases": [{"nodeId": "140162534549072"}], "isAbstract": true}, "140162476438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549408"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162534549744": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502080"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502528"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502976"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503424"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601502080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601502528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140162601502976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601503424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162521923056": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162522185792": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986112"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986560"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987008"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987456"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987904"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988352"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988800"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162534549408"}], "isAbstract": false}, "140162605986112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140162605986560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162509352608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509352608": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162605987008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605987456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162605987904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162605988352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605988800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525833456": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849440"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850336"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850784"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851232"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851680"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605848992"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605852128"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781504"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605853920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605854368"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782176"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "isAbstract": false}, ".1.140162525833456": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, ".2.140162525833456": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, "140162509781392": {"type": "Overloaded", "items": [{"nodeId": "140162605846304"}, {"nodeId": "140162551900736"}, {"nodeId": "140162605847200"}, {"nodeId": "140162605846752"}, {"nodeId": "140162605848096"}, {"nodeId": "140162605847648"}, {"nodeId": "140162605848544"}]}, "140162605846304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551900736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605847200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605846752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605848096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509782400": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162605847648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782624"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162509782624": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, "140162605848544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605849440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605849888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": ".2.140162525833456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605850336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162605850784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605851232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605851680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605848992": {"type": "Function", "typeVars": [".-1.140162605848992"], "argTypes": [{"nodeId": ".-1.140162605848992"}], "returnType": {"nodeId": ".-1.140162605848992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605848992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605848992", "variance": "INVARIANT"}, "140162605852128": {"type": "Function", "typeVars": [".-1.140162605852128"], "argTypes": [{"nodeId": ".-1.140162605852128"}], "returnType": {"nodeId": ".-1.140162605852128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605852128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852128", "variance": "INVARIANT"}, "140162509781504": {"type": "Overloaded", "items": [{"nodeId": "140162605853024"}, {"nodeId": "140162605853472"}]}, "140162605853024": {"type": "Function", "typeVars": [".-1.140162605853024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853024"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853024"}, {"nodeId": "140162510028864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853024", "variance": "INVARIANT"}, "140162510028864": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162605853472": {"type": "Function", "typeVars": [".-1.140162605853472", ".-2.140162605853472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853472"}]}, {"nodeId": ".-2.140162605853472"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853472"}, {"nodeId": ".-2.140162605853472"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, ".-2.140162605853472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, "140162605853920": {"type": "Function", "typeVars": [".-1.140162605853920", ".-2.140162605853920"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510028976"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029088"}, {"nodeId": "140162510029200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510028976": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}]}, ".-1.140162605853920": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, ".-2.140162605853920": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, "140162510029088": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605853920"}]}, "140162510029200": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605853920"}]}, "140162605854368": {"type": "Function", "typeVars": [".-1.140162605854368", ".-2.140162605854368"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510029312"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029424"}, {"nodeId": "140162510029536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510029312": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}]}, ".-1.140162605854368": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, ".-2.140162605854368": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, "140162510029424": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605854368"}]}, "140162510029536": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605854368"}]}, "140162509782176": {"type": "Overloaded", "items": [{"nodeId": "140162605852576"}, {"nodeId": "140162605854816"}]}, "140162605852576": {"type": "Function", "typeVars": [".-1.140162605852576"], "argTypes": [{"nodeId": ".-1.140162605852576"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": ".-1.140162605852576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605852576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852576", "variance": "INVARIANT"}, "140162605854816": {"type": "Function", "typeVars": [".-1.140162605854816"], "argTypes": [{"nodeId": ".-1.140162605854816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510029872"}]}], "returnType": {"nodeId": ".-1.140162605854816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605854816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854816", "variance": "INVARIANT"}, "140162510029872": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162525833792": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605856608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857952"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605858400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812704"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029648"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029984"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601814944"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601813600"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816288"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816736"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817184"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818080"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818528"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818976"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819424"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817632"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601820768"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601821216"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030544"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601822560"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140162525833792"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525833792"}]}], "isAbstract": false}, ".1.140162525833792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833792", "variance": "INVARIANT"}, "140162509782736": {"type": "Overloaded", "items": [{"nodeId": "140162605855712"}, {"nodeId": "140162605856160"}]}, "140162605855712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140162605856160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140162605856608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030096"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030096": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030208"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030208": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030320"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030320": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030432": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510029648": {"type": "Overloaded", "items": [{"nodeId": "140162601813152"}, {"nodeId": "140162605855264"}]}, "140162601813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605855264": {"type": "Function", "typeVars": [".-1.140162605855264"], "argTypes": [{"nodeId": ".-1.140162605855264"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": ".-1.140162605855264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605855264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605855264", "variance": "INVARIANT"}, "140162510029984": {"type": "Overloaded", "items": [{"nodeId": "140162601814048"}, {"nodeId": "140162601814496"}]}, "140162601814048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030768": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601813600": {"type": "Function", "typeVars": [".-1.140162601813600"], "argTypes": [{"nodeId": ".-1.140162601813600"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601813600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601813600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601813600", "variance": "INVARIANT"}, "140162601815392": {"type": "Function", "typeVars": [".-1.140162601815392"], "argTypes": [{"nodeId": ".-1.140162601815392"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815392", "variance": "INVARIANT"}, "140162601815840": {"type": "Function", "typeVars": [".-1.140162601815840"], "argTypes": [{"nodeId": ".-1.140162601815840"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815840", "variance": "INVARIANT"}, "140162601816288": {"type": "Function", "typeVars": [".-1.140162601816288"], "argTypes": [{"nodeId": ".-1.140162601816288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816288", "variance": "INVARIANT"}, "140162601816736": {"type": "Function", "typeVars": [".-1.140162601816736"], "argTypes": [{"nodeId": ".-1.140162601816736"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816736", "variance": "INVARIANT"}, "140162601817184": {"type": "Function", "typeVars": [".-1.140162601817184"], "argTypes": [{"nodeId": ".-1.140162601817184"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601817184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601817184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817184", "variance": "INVARIANT"}, "140162601818080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601818528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140162601818976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140162601819424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601817632": {"type": "Function", "typeVars": [".-1.140162601817632"], "argTypes": [{"nodeId": ".-1.140162601817632"}], "returnType": {"nodeId": ".-1.140162601817632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601817632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817632", "variance": "INVARIANT"}, "140162601819872": {"type": "Function", "typeVars": [".-1.140162601819872"], "argTypes": [{"nodeId": ".-1.140162601819872"}], "returnType": {"nodeId": ".-1.140162601819872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601819872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601819872", "variance": "INVARIANT"}, "140162601820768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601821216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140162510030544": {"type": "Overloaded", "items": [{"nodeId": "140162601820320"}, {"nodeId": "140162601822112"}]}, "140162601820320": {"type": "Function", "typeVars": [".-1.140162601820320"], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".-1.140162601820320"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162601820320": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162601820320", "variance": "INVARIANT"}, "140162601822112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162509900704"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162509900704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162510031216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510031216": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162601822560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162525834128": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823456"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823904"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824352"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824800"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895072"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895520"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895968"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896416"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896864"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897312"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897760"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601898656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899104"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899552"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900000"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900448"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901344"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901792"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902688"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903136"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904032"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904928"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905376"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905824"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906720"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907168"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907616"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908064"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908512"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908960"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909408"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909856"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025696"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030656"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027040"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030624"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031072"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031520"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602035104"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162525834128"}]}], "isAbstract": false}, "140162601823008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601823456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601823904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162510031328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510031328": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162601825248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601825696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031552"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031664"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031776"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601827040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601894176": {"type": "Function", "typeVars": [".-1.140162601894176"], "argTypes": [{"nodeId": ".-1.140162601894176"}, {"nodeId": "140162510031888"}], "returnType": {"nodeId": ".-1.140162601894176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601894176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894176", "variance": "INVARIANT"}, "140162510031888": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601894624": {"type": "Function", "typeVars": [".-1.140162601894624"], "argTypes": [{"nodeId": ".-1.140162601894624"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601894624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601894624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894624", "variance": "INVARIANT"}, "140162601895072": {"type": "Function", "typeVars": [".-1.140162601895072"], "argTypes": [{"nodeId": ".-1.140162601895072"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601895072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601895072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895072", "variance": "INVARIANT"}, "140162601895520": {"type": "Function", "typeVars": [".-1.140162601895520"], "argTypes": [{"nodeId": ".-1.140162601895520"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895520", "variance": "INVARIANT"}, "140162601895968": {"type": "Function", "typeVars": [".-1.140162601895968"], "argTypes": [{"nodeId": ".-1.140162601895968"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895968", "variance": "INVARIANT"}, "140162601896416": {"type": "Function", "typeVars": [".-1.140162601896416"], "argTypes": [{"nodeId": ".-1.140162601896416"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896416", "variance": "INVARIANT"}, "140162601896864": {"type": "Function", "typeVars": [".-1.140162601896864"], "argTypes": [{"nodeId": ".-1.140162601896864"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896864", "variance": "INVARIANT"}, "140162601897312": {"type": "Function", "typeVars": [".-1.140162601897312"], "argTypes": [{"nodeId": ".-1.140162601897312"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601897312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897312", "variance": "INVARIANT"}, "140162601897760": {"type": "Function", "typeVars": [".-1.140162601897760"], "argTypes": [{"nodeId": ".-1.140162601897760"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601897760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897760", "variance": "INVARIANT"}, "140162601898656": {"type": "Function", "typeVars": [".-1.140162601898656"], "argTypes": [{"nodeId": ".-1.140162601898656"}], "returnType": {"nodeId": ".-1.140162601898656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601898656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601898656", "variance": "INVARIANT"}, "140162601899104": {"type": "Function", "typeVars": [".-1.140162601899104"], "argTypes": [{"nodeId": ".-1.140162601899104"}], "returnType": {"nodeId": ".-1.140162601899104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601899104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899104", "variance": "INVARIANT"}, "140162601899552": {"type": "Function", "typeVars": [".-1.140162601899552"], "argTypes": [{"nodeId": ".-1.140162601899552"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601899552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601899552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899552", "variance": "INVARIANT"}, "140162601900000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032224"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032224": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601900448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032336"}, {"nodeId": "140162510032448"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162510032336": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510032448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601901344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032560"}, {"nodeId": "140162510032672"}, {"nodeId": "140162510032784"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140162510032560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510032672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510032784": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162601901792": {"type": "Function", "typeVars": [".-1.140162601901792"], "argTypes": [{"nodeId": ".-1.140162601901792"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601901792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140162601901792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601901792", "variance": "INVARIANT"}, "140162601902240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032896"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601902688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162601903136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162601903584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162601904032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601909408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601909856": {"type": "Function", "typeVars": [".-1.140162601909856"], "argTypes": [{"nodeId": ".-1.140162601909856"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601909856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601909856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601909856", "variance": "INVARIANT"}, "140162602025248": {"type": "Function", "typeVars": [".-1.140162602025248"], "argTypes": [{"nodeId": ".-1.140162602025248"}], "returnType": {"nodeId": ".-1.140162602025248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602025248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025248", "variance": "INVARIANT"}, "140162602025696": {"type": "Function", "typeVars": [".-1.140162602025696"], "argTypes": [{"nodeId": ".-1.140162602025696"}, {"nodeId": "140162510033456"}], "returnType": {"nodeId": ".-1.140162602025696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602025696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025696", "variance": "INVARIANT"}, "140162510033456": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510030656": {"type": "Overloaded", "items": [{"nodeId": "140162602026144"}, {"nodeId": "140162602026592"}]}, "140162602026144": {"type": "Function", "typeVars": [".-1.140162602026144"], "argTypes": [{"nodeId": "140162510033792"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140162510033792": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162510033680"}, {"nodeId": ".-1.140162602026144"}]}]}, ".-1.140162602026144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602026144", "variance": "INVARIANT"}, "140162510033680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162602026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162510033904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140162510033904": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602027040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510034128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510034128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602027488": {"type": "Function", "typeVars": [".-1.140162602027488"], "argTypes": [{"nodeId": ".-1.140162602027488"}, {"nodeId": "140162510034240"}], "returnType": {"nodeId": ".-1.140162602027488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027488", "variance": "INVARIANT"}, "140162510034240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602027936": {"type": "Function", "typeVars": [".-1.140162602027936"], "argTypes": [{"nodeId": ".-1.140162602027936"}, {"nodeId": "140162510034352"}], "returnType": {"nodeId": ".-1.140162602027936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027936", "variance": "INVARIANT"}, "140162510034352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028384": {"type": "Function", "typeVars": [".-1.140162602028384"], "argTypes": [{"nodeId": ".-1.140162602028384"}, {"nodeId": "140162510034464"}, {"nodeId": "140162510034576"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602028384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140162602028384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602028384", "variance": "INVARIANT"}, "140162510034464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162510034576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034688": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034800"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034800": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029728": {"type": "Function", "typeVars": [".-1.140162602029728"], "argTypes": [{"nodeId": ".-1.140162602029728"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602029728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162602029728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602029728", "variance": "INVARIANT"}, "140162602030176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510035136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510035136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602030624": {"type": "Function", "typeVars": [".-1.140162602030624"], "argTypes": [{"nodeId": ".-1.140162602030624"}, {"nodeId": "140162510035248"}], "returnType": {"nodeId": ".-1.140162602030624"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602030624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602030624", "variance": "INVARIANT"}, "140162510035248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035360": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035472"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162602032416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035584"}, {"nodeId": "140162510035696"}, {"nodeId": "140162510035808"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140162510035584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510035696": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510035808": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602032864": {"type": "Function", "typeVars": [".-1.140162602032864"], "argTypes": [{"nodeId": ".-1.140162602032864"}, {"nodeId": "140162510035920"}], "returnType": {"nodeId": ".-1.140162602032864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602032864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602032864", "variance": "INVARIANT"}, "140162510035920": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602033312": {"type": "Function", "typeVars": [".-1.140162602033312"], "argTypes": [{"nodeId": ".-1.140162602033312"}], "returnType": {"nodeId": ".-1.140162602033312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033312", "variance": "INVARIANT"}, "140162602033760": {"type": "Function", "typeVars": [".-1.140162602033760"], "argTypes": [{"nodeId": ".-1.140162602033760"}], "returnType": {"nodeId": ".-1.140162602033760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033760", "variance": "INVARIANT"}, "140162602034208": {"type": "Function", "typeVars": [".-1.140162602034208"], "argTypes": [{"nodeId": ".-1.140162602034208"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602034208"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140162602034208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034208", "variance": "INVARIANT"}, "140162602034656": {"type": "Function", "typeVars": [".-1.140162602034656"], "argTypes": [{"nodeId": ".-1.140162602034656"}], "returnType": {"nodeId": ".-1.140162602034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602034656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034656", "variance": "INVARIANT"}, "140162602035104": {"type": "Function", "typeVars": [".-1.140162602035104"], "argTypes": [{"nodeId": ".-1.140162602035104"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602035104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140162602035104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602035104", "variance": "INVARIANT"}, "140162525834464": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467964384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030880"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602036896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037344"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039136"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039584"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040480"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040928"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156320"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156768"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157216"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157664"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158112"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158560"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159008"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159456"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159904"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160352"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160800"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161248"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162144"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162592"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163040"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163488"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163936"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525834464"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525834464"}]}], "isAbstract": false}, "140162467964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162510036144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525834464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834464", "variance": "INVARIANT"}, "140162510036144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510030880": {"type": "Overloaded", "items": [{"nodeId": "140162602036000"}, {"nodeId": "140162602036448"}]}, "140162602036000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140162510036368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140162510036480": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037792": {"type": "Function", "typeVars": [".-1.140162602037792"], "argTypes": [{"nodeId": ".-1.140162602037792"}], "returnType": {"nodeId": ".-1.140162602037792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602037792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602037792", "variance": "INVARIANT"}, "140162602038240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162602040032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162602040480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602040928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602156320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602157216": {"type": "Function", "typeVars": [".-1.140162602157216"], "argTypes": [{"nodeId": ".-1.140162602157216"}], "returnType": {"nodeId": ".-1.140162602157216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602157216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602157216", "variance": "INVARIANT"}, "140162602157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602158112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602158560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162602159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159904": {"type": "Function", "typeVars": [".-1.140162602159904"], "argTypes": [{"nodeId": ".-1.140162602159904"}], "returnType": {"nodeId": "140162510036928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602159904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602159904", "variance": "INVARIANT"}, "140162510036928": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162510036704"}, {"nodeId": "N"}, {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834464"}]}]}, "140162510036704": {"type": "Tuple", "items": []}, "140162602160352": {"type": "Function", "typeVars": [".-1.140162602160352"], "argTypes": [{"nodeId": ".-1.140162602160352"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".-1.140162602160352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160352", "variance": "INVARIANT"}, "140162602160800": {"type": "Function", "typeVars": [".-1.140162602160800"], "argTypes": [{"nodeId": ".-1.140162602160800"}, {"nodeId": ".-1.140162602160800"}], "returnType": {"nodeId": ".-1.140162602160800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160800", "variance": "INVARIANT"}, "140162602161248": {"type": "Function", "typeVars": [".-1.140162602161248"], "argTypes": [{"nodeId": ".-1.140162602161248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161248", "variance": "INVARIANT"}, "140162602161696": {"type": "Function", "typeVars": [".-1.140162602161696"], "argTypes": [{"nodeId": ".-1.140162602161696"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161696", "variance": "INVARIANT"}, "140162602162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602162592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162539191456": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510033568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166176"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166624"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602167072"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162462917888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510036256"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037152"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602170656"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171104"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602172000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320160"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320608"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321056"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321952"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322400"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322848"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323296"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323744"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324192"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324640"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325088"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325536"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325984"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326432"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162539191456"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162510033568": {"type": "Overloaded", "items": [{"nodeId": "140162602164384"}, {"nodeId": "140162602164832"}, {"nodeId": "140162602165280"}, {"nodeId": "140162602165728"}]}, "140162602164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162539191456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191456", "variance": "INVARIANT"}, "140162602164832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602166176": {"type": "Function", "typeVars": [".-1.140162602166176"], "argTypes": [{"nodeId": ".-1.140162602166176"}], "returnType": {"nodeId": ".-1.140162602166176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602166176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602166176", "variance": "INVARIANT"}, "140162602166624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602167072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162510037264"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162510037488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162510037264": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510037488": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, "140162462917888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140162510037712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140162510037712": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510036256": {"type": "Overloaded", "items": [{"nodeId": "140162602167968"}, {"nodeId": "140162602168416"}, {"nodeId": "140162602168864"}]}, "140162602167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510037152": {"type": "Overloaded", "items": [{"nodeId": "140162602169312"}, {"nodeId": "140162602169760"}, {"nodeId": "140162602170208"}]}, "140162602169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": ".1.140162539191456"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162602171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602171552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602172000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602320160": {"type": "Function", "typeVars": [".-1.140162602320160"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602320160"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602320160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602320160", "variance": "INVARIANT"}, "140162510038048": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602320160"}]}, "140162602320608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321504": {"type": "Function", "typeVars": [".-1.140162602321504"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602321504"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602321504": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602321504", "variance": "INVARIANT"}, "140162510038160": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602321504"}]}, "140162602321952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322848": {"type": "Function", "typeVars": [".-1.140162602322848"], "argTypes": [{"nodeId": ".-1.140162602322848"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602322848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602322848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602322848", "variance": "INVARIANT"}, "140162602323296": {"type": "Function", "typeVars": [".-1.140162602323296"], "argTypes": [{"nodeId": ".-1.140162602323296"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323296", "variance": "INVARIANT"}, "140162602323744": {"type": "Function", "typeVars": [".-1.140162602323744"], "argTypes": [{"nodeId": ".-1.140162602323744"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323744", "variance": "INVARIANT"}, "140162602324192": {"type": "Function", "typeVars": [".-1.140162602324192"], "argTypes": [{"nodeId": ".-1.140162602324192"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602324192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602324192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602324192", "variance": "INVARIANT"}, "140162602324640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602325088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602326432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526740544": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326880"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740544"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526740544"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526740544"}]}], "isAbstract": false}, "140162602326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740544", "args": [{"nodeId": ".1.140162526740544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526740544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740544": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740544", "variance": "COVARIANT"}, "140162526740880": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327328"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535239216"}]}], "isAbstract": false}, "140162602327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740880", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510038832"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740880": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, ".2.140162526740880": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, "140162510038832": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162535239216": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162526741216": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327776"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526741216"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162526741216"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526741216"}]}], "isAbstract": false}, "140162602327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741216", "args": [{"nodeId": ".1.140162526741216"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526741216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526741216": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526741216", "variance": "COVARIANT"}, "140162525834800": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328224"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}], "bases": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525834800"}]}], "isAbstract": false}, "140162602328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525834800": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, ".2.140162525834800": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, "140162525835136": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328672"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}], "bases": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535236976"}]}], "isAbstract": false}, "140162602328672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510039056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, ".2.140162525835136": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, "140162510039056": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162535236976": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162525835472": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329120"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}], "bases": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".2.140162525835472"}]}], "isAbstract": false}, "140162602329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".2.140162525835472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, ".2.140162525835472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, "140162525835808": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329568"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330016"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330912"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331360"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602332256"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037824"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037936"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525835808"}]}], "isAbstract": false}, "140162602329568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162510039280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140162525835808": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, ".2.140162525835808": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, "140162510039280": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "140162602330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140162602330464": {"type": "Function", "typeVars": [".-1.140162602330464"], "argTypes": [{"nodeId": ".-1.140162602330464"}], "returnType": {"nodeId": ".-1.140162602330464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602330464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602330464", "variance": "INVARIANT"}, "140162602330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602331360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510037824": {"type": "Overloaded", "items": [{"nodeId": "140162602332704"}, {"nodeId": "140162602333152"}]}, "140162602332704": {"type": "Function", "typeVars": [".-1.140162602332704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602332704"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602332704"}, {"nodeId": "140162510039616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602332704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602332704", "variance": "INVARIANT"}, "140162510039616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162602333152": {"type": "Function", "typeVars": [".-1.140162602333152", ".-2.140162602333152"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602333152"}]}, {"nodeId": ".-2.140162602333152"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602333152"}, {"nodeId": ".-2.140162602333152"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602333152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, ".-2.140162602333152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, "140162510037936": {"type": "Overloaded", "items": [{"nodeId": "140162602333600"}, {"nodeId": "140162602334048"}]}, "140162602333600": {"type": "Function", "typeVars": [".-1.140162602333600"], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": "140162510039840"}]}, {"nodeId": ".1.140162525835808"}], "returnType": {"nodeId": "140162510039952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162510039840": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, ".-1.140162602333600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333600", "variance": "INVARIANT"}, "140162510039952": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, "140162602334048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "returnType": {"nodeId": ".2.140162525835808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140162539191792": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162535234400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597193760"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194208"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194656"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "isAbstract": false}, "140162535234400": {"type": "Union", "items": [{"nodeId": "140162534563104"}, {"nodeId": "N"}]}, "140162534563104": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, ".2.140162539191792": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162510039392": {"type": "Overloaded", "items": [{"nodeId": "140162602334496"}, {"nodeId": "140162602334944"}, {"nodeId": "140162602335392"}, {"nodeId": "140162602335840"}, {"nodeId": "140162597191968"}, {"nodeId": "140162597192416"}, {"nodeId": "140162597192864"}, {"nodeId": "140162597193312"}]}, "140162602334496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539191792": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162602334944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162602335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510040176": {"type": "Union", "items": [{"nodeId": "140162509901152"}, {"nodeId": "N"}]}, "140162509901152": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162602335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040288"}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162510040288": {"type": "Union", "items": [{"nodeId": "140162509901376"}, {"nodeId": "N"}]}, "140162509901376": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597191968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040400"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040400": {"type": "Union", "items": [{"nodeId": "140162509901600"}, {"nodeId": "N"}]}, "140162509901600": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040512"}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040512": {"type": "Union", "items": [{"nodeId": "140162509901824"}, {"nodeId": "N"}]}, "140162509901824": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040624"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510040848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040624": {"type": "Union", "items": [{"nodeId": "140162509902048"}, {"nodeId": "N"}]}, "140162509902048": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510040848": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, "140162597193312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040960"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510041184"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040960": {"type": "Union", "items": [{"nodeId": "140162509902272"}, {"nodeId": "N"}]}, "140162509902272": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510041184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, "140162597193760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".1.140162539191792"}], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597194208": {"type": "Function", "typeVars": [".-1.140162597194208"], "argTypes": [{"nodeId": ".-1.140162597194208"}], "returnType": {"nodeId": ".-1.140162597194208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194208", "variance": "INVARIANT"}, "140162597194656": {"type": "Function", "typeVars": [".-1.140162597194656"], "argTypes": [{"nodeId": ".-1.140162597194656"}], "returnType": {"nodeId": ".-1.140162597194656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194656", "variance": "INVARIANT"}, "140162525836144": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195552"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463222464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196448"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196896"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197344"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197792"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198688"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199136"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199584"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597200032"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039728"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597201376"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463224928"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510040064"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597202720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597203168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510041408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "isAbstract": false}, ".1.140162525836144": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, ".2.140162525836144": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, "140162597195104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140162597195552": {"type": "Function", "typeVars": [".-1.140162597195552"], "argTypes": [{"nodeId": ".-1.140162597195552"}, {"nodeId": "140162510041296"}], "returnType": {"nodeId": ".-1.140162597195552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140162597195552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597195552", "variance": "INVARIANT"}, "140162510041296": {"type": "Union", "items": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "N"}]}, "140162463222464": {"type": "Function", "typeVars": [".-1.140162463222464"], "argTypes": [{"nodeId": ".-1.140162463222464"}], "returnType": {"nodeId": ".-1.140162463222464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463222464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463222464", "variance": "INVARIANT"}, "140162597196448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162597196896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525836144"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597199136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597199584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597200032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510039728": {"type": "Overloaded", "items": [{"nodeId": "140162597200480"}, {"nodeId": "140162597200928"}]}, "140162597200480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597200928": {"type": "Function", "typeVars": [".-1.140162597200928"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": "140162510041520"}], "returnType": {"nodeId": "140162510041632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510041520": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, ".-1.140162597200928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597200928", "variance": "INVARIANT"}, "140162510041632": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, "140162597201376": {"type": "Function", "typeVars": [".-1.140162597201376"], "argTypes": [{"nodeId": ".-1.140162597201376"}], "returnType": {"nodeId": ".-1.140162597201376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597201376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201376", "variance": "INVARIANT"}, "140162463224928": {"type": "Function", "typeVars": [".-1.140162463224928"], "argTypes": [{"nodeId": ".-1.140162463224928"}], "returnType": {"nodeId": ".-1.140162463224928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463224928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463224928", "variance": "INVARIANT"}, "140162510040064": {"type": "Overloaded", "items": [{"nodeId": "140162597201824"}, {"nodeId": "140162597202272"}]}, "140162597201824": {"type": "Function", "typeVars": [".-1.140162597201824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597201824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597201824"}, {"nodeId": "140162510041968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140162597201824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201824", "variance": "INVARIANT"}, "140162510041968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162597202272": {"type": "Function", "typeVars": [".-1.140162597202272", ".-2.140162597202272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597202272"}]}, {"nodeId": ".-2.140162597202272"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597202272"}, {"nodeId": ".-2.140162597202272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162597202272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, ".-2.140162597202272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, "140162597202720": {"type": "Function", "typeVars": [".-1.140162597202720", ".-2.140162597202720"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597202720"}, {"nodeId": ".-2.140162597202720"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042080"}, {"nodeId": "140162510042192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597202720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, ".-2.140162597202720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, "140162510042080": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597202720"}]}, "140162510042192": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597202720"}]}, "140162597203168": {"type": "Function", "typeVars": [".-1.140162597203168", ".-2.140162597203168"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597203168"}, {"nodeId": ".-2.140162597203168"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042304"}, {"nodeId": "140162510042416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, ".-2.140162597203168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, "140162510042304": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597203168"}]}, "140162510042416": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597203168"}]}, "140162510041408": {"type": "Overloaded", "items": [{"nodeId": "140162597203616"}, {"nodeId": "140162597204064"}]}, "140162597203616": {"type": "Function", "typeVars": [".-1.140162597203616"], "argTypes": [{"nodeId": ".-1.140162597203616"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": ".-1.140162597203616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203616", "variance": "INVARIANT"}, "140162597204064": {"type": "Function", "typeVars": [".-1.140162597204064"], "argTypes": [{"nodeId": ".-1.140162597204064"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510042752"}]}], "returnType": {"nodeId": ".-1.140162597204064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597204064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597204064", "variance": "INVARIANT"}, "140162510042752": {"type": "Tuple", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, "140162618234848": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247520"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247968"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446248640"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580474880"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446247520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162505895584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505895584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162525838832": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589243008"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589243008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838832"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162526497584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162446247968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446248640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580474880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}, {"nodeId": "140162505895920"}, {"nodeId": "140162505896032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162505895920": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162505896032": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162618244256": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773760"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357568"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606358464"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140162618244256"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509905856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244256": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244256", "variance": "COVARIANT"}, "140162509905856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450773536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "140162509905408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509905408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606357568": {"type": "Function", "typeVars": [".-1.140162606357568"], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": ".-1.140162606357568"}, {"nodeId": "140162505386112"}], "returnType": {"nodeId": "140162509911232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606357568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606357568", "variance": "INVARIANT"}, "140162505386112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509911232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509911008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606358464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162618244592": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772416"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606359808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606360256"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771296"}}], "typeVars": [{"nodeId": ".1.140162618244592"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244592": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244592", "variance": "COVARIANT"}, "140162509911680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606359808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": "140162509911456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606360256": {"type": "Function", "typeVars": [".-1.140162606360256"], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": ".-1.140162606360256"}, {"nodeId": "140162505386896"}], "returnType": {"nodeId": "140162509912128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606360256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606360256", "variance": "INVARIANT"}, "140162505386896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509912128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539258256": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387456": {"type": "Overloaded", "items": [{"nodeId": "140162597720064"}, {"nodeId": "140162597720512"}, {"nodeId": "140162597720960"}]}, "140162597720064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597720512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597720960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525831440": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505899840"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580879552"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880000"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880448"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880896"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881344"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881792"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882240"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882688"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883136"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883584"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884480"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884928"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885376"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885824"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886272"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887168"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888064"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831440"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "isAbstract": false}, "140162505899840": {"type": "Overloaded", "items": [{"nodeId": "140162580878656"}, {"nodeId": "140162580879104"}]}, "140162580878656": {"type": "Function", "typeVars": [".-1.140162580878656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162580878656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162580878656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580878656", "variance": "INVARIANT"}, "140162580879104": {"type": "Function", "typeVars": [".-1.140162580879104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": ".-1.140162580879104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140162525831440": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831440", "variance": "COVARIANT"}, ".-1.140162580879104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580879104", "variance": "INVARIANT"}, "140162580879552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580880000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882688": {"type": "Function", "typeVars": [".-1.140162580882688"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580882688"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888384"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580882688": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580882688", "variance": "INVARIANT"}, "140162500888384": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580882688"}]}, "140162580883136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580883584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580884480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884928": {"type": "Function", "typeVars": [".-1.140162580884928"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580884928"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580884928": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580884928", "variance": "INVARIANT"}, "140162500888496": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580884928"}]}, "140162580885376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580885824": {"type": "Function", "typeVars": [".-1.140162580885824"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580885824"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580885824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580885824", "variance": "INVARIANT"}, "140162500888608": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580885824"}]}, "140162580886272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580886720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580888064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162525831776": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581020736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581021184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831776"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526498368"}]}], "isAbstract": false}, "140162580888512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140162525831776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831776", "variance": "INVARIANT"}, "140162580888960": {"type": "Function", "typeVars": [".-1.140162580888960"], "argTypes": [{"nodeId": ".-1.140162580888960"}], "returnType": {"nodeId": ".-1.140162580888960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162580888960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580888960", "variance": "INVARIANT"}, "140162581020736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}], "returnType": {"nodeId": "140162500888944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500888944": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162581021184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526498368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162539262288": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446641632"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642080"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642304"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500886816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581023872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025216"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025664"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500888272"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027008"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162446641632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500886816": {"type": "Overloaded", "items": [{"nodeId": "140162581022976"}, {"nodeId": "140162581023424"}]}, "140162581022976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581023424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162581023872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581025216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581025664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500888272": {"type": "Overloaded", "items": [{"nodeId": "140162581026112"}, {"nodeId": "140162581026560"}]}, "140162581026112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581026560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539262288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581027008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162539262624": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526506320"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507216"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508000"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027456"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027904"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028352"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028800"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029248"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029696"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581030144"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526506320": {"type": "Union", "items": [{"nodeId": "140162534569824"}, {"nodeId": "N"}]}, "140162534569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526507216": {"type": "Union", "items": [{"nodeId": "140162534570048"}, {"nodeId": "N"}]}, "140162534570048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526508000": {"type": "Union", "items": [{"nodeId": "140162534561536"}, {"nodeId": "N"}]}, "140162534561536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162500889392"}, {"nodeId": "140162500889728"}, {"nodeId": "140162500890064"}, {"nodeId": "140162500890288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140162500889392": {"type": "Union", "items": [{"nodeId": "140162505797952"}, {"nodeId": "N"}]}, "140162505797952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500889728": {"type": "Union", "items": [{"nodeId": "140162505798400"}, {"nodeId": "N"}]}, "140162505798400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500890064": {"type": "Union", "items": [{"nodeId": "140162505798624"}, {"nodeId": "N"}]}, "140162505798624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500890288": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162581027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798176"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505797728"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505797728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798848"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581029248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "140162500891072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162500891072": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162581029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162581030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539262960": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521913648": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581034176"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140162521913648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162581034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913648", "args": [{"nodeId": ".1.140162521913648"}]}], "returnType": {"nodeId": ".1.140162521913648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913648": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913648", "variance": "COVARIANT"}, "140162539263296": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581035072"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162539263296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162581035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263296", "args": [{"nodeId": ".1.140162539263296"}]}], "returnType": {"nodeId": ".1.140162539263296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539263296": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "def": "140162539263296", "variance": "COVARIANT"}, "140162618239552": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496491392"}}], "typeVars": [{"nodeId": ".1.140162618239552"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__await__"]}, "140162496491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618239552"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140162618239552"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239552", "variance": "COVARIANT"}, "140162525832112": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500892304"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581141696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581142144"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832112"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832112"}]}], "isAbstract": false}, "140162500892304": {"type": "Overloaded", "items": [{"nodeId": "140162581140352"}, {"nodeId": "140162581140800"}, {"nodeId": "140162581141248"}]}, "140162581140352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "N"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500894656"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832112", "variance": "INVARIANT"}, "140162500894656": {"type": "Union", "items": [{"nodeId": ".1.140162525832112"}, {"nodeId": "N"}]}, "140162581140800": {"type": "Function", "typeVars": [".-1.140162581140800"], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799744"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581140800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799744": {"type": "Function", "typeVars": [".-1.140162505799744"], "argTypes": [{"nodeId": ".-1.140162505799744"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162505799744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505799744", "variance": "INVARIANT"}, ".-1.140162581140800": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581140800", "variance": "INVARIANT"}, "140162581141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799520"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525832112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581141696": {"type": "Function", "typeVars": [".-1.140162581141696"], "argTypes": [{"nodeId": ".-1.140162581141696"}], "returnType": {"nodeId": ".-1.140162581141696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581141696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581141696", "variance": "INVARIANT"}, "140162581142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": ".1.140162525832112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539263632": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581148864"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162539263632"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162581148864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263632", "args": [{"nodeId": ".1.140162539263632"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539263632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263632", "variance": "COVARIANT"}, "140162525832448": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500894768"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581303744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581304192"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832448"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832448"}]}], "isAbstract": false}, "140162500894768": {"type": "Overloaded", "items": [{"nodeId": "140162581301056"}, {"nodeId": "140162581301504"}, {"nodeId": "140162581301952"}, {"nodeId": "140162581302400"}, {"nodeId": "140162581302848"}, {"nodeId": "140162581303296"}]}, "140162581301056": {"type": "Function", "typeVars": [".-1.140162581301056"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050880"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832448": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832448", "variance": "INVARIANT"}, "140162501050880": {"type": "Function", "typeVars": [".-1.140162501050880"], "argTypes": [{"nodeId": ".-1.140162501050880"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162501050880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050880", "variance": "INVARIANT"}, ".-1.140162581301056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301056", "variance": "INVARIANT"}, "140162581301504": {"type": "Function", "typeVars": [".-1.140162581301504", ".-2.140162581301504"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050656"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301504"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162501050656": {"type": "Function", "typeVars": [".-1.140162501050656", ".-2.140162501050656"], "argTypes": [{"nodeId": ".-1.140162501050656"}, {"nodeId": ".-2.140162501050656"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162501050656": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-2.140162501050656": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-1.140162581301504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, ".-2.140162581301504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, "140162581301952": {"type": "Function", "typeVars": [".-1.140162581301952", ".-2.140162581301952", ".-3.140162581301952"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050432"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581301952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162501050432": {"type": "Function", "typeVars": [".-1.140162501050432", ".-2.140162501050432", ".-3.140162501050432"], "argTypes": [{"nodeId": ".-1.140162501050432"}, {"nodeId": ".-2.140162501050432"}, {"nodeId": ".-3.140162501050432"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140162501050432": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-2.140162501050432": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-3.140162501050432": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-1.140162581301952": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-2.140162581301952": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-3.140162581301952": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, "140162581302400": {"type": "Function", "typeVars": [".-1.140162581302400", ".-2.140162581302400", ".-3.140162581302400", ".-4.140162581302400"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051104"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501051104": {"type": "Function", "typeVars": [".-1.140162501051104", ".-2.140162501051104", ".-3.140162501051104", ".-4.140162501051104"], "argTypes": [{"nodeId": ".-1.140162501051104"}, {"nodeId": ".-2.140162501051104"}, {"nodeId": ".-3.140162501051104"}, {"nodeId": ".-4.140162501051104"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140162501051104": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-2.140162501051104": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-3.140162501051104": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-4.140162501051104": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-1.140162581302400": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-2.140162581302400": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-3.140162581302400": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-4.140162581302400": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, "140162581302848": {"type": "Function", "typeVars": [".-1.140162581302848", ".-2.140162581302848", ".-3.140162581302848", ".-4.140162581302848", ".-5.140162581302848"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051328"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162581302848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140162501051328": {"type": "Function", "typeVars": [".-1.140162501051328", ".-2.140162501051328", ".-3.140162501051328", ".-4.140162501051328", ".-5.140162501051328"], "argTypes": [{"nodeId": ".-1.140162501051328"}, {"nodeId": ".-2.140162501051328"}, {"nodeId": ".-3.140162501051328"}, {"nodeId": ".-4.140162501051328"}, {"nodeId": ".-5.140162501051328"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140162501051328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-2.140162501051328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-3.140162501051328": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-4.140162501051328": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-5.140162501051328": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-1.140162581302848": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-2.140162581302848": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-3.140162581302848": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-4.140162581302848": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-5.140162581302848": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, "140162581303296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051552"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140162501051552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162581303744": {"type": "Function", "typeVars": [".-1.140162581303744"], "argTypes": [{"nodeId": ".-1.140162581303744"}], "returnType": {"nodeId": ".-1.140162581303744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581303744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581303744", "variance": "INVARIANT"}, "140162581304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162521913984": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581314944"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140162521913984"}], "bases": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162521913984"}]}], "protocolMembers": ["flush", "write"]}, "140162581314944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913984", "args": [{"nodeId": ".1.140162521913984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913984": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913984", "variance": "CONTRAVARIANT"}, "140162539263968": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576253888"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576253888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263968", "args": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}]}, {"nodeId": ".1.140162539263968"}], "returnType": {"nodeId": ".2.140162539263968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263968": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "CONTRAVARIANT"}, ".2.140162539263968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "COVARIANT"}, "140162539264304": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254336"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264304", "args": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}]}, {"nodeId": ".1.140162539264304"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140162539264304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140162539264304": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "CONTRAVARIANT"}, ".2.140162539264304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "COVARIANT"}, "140162539264640": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254784"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264640", "args": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}]}, {"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}], "returnType": {"nodeId": ".3.140162539264640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162539264640": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".2.140162539264640": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".3.140162539264640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "COVARIANT"}, "140162525832784": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501136048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576451392"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140162525832784"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832784"}]}], "isAbstract": false}, "140162501136048": {"type": "Overloaded", "items": [{"nodeId": "140162576449600"}, {"nodeId": "140162576450048"}]}, "140162576449600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162525832784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832784", "variance": "INVARIANT"}, "140162576450048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526751296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122656"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526751296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "__len__"]}, "140162593122208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526751296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751296", "variance": "COVARIANT"}, "140162593122656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526751296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576450496": {"type": "Function", "typeVars": [".-1.140162576450496"], "argTypes": [{"nodeId": ".-1.140162576450496"}], "returnType": {"nodeId": ".-1.140162576450496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576450496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576450496", "variance": "INVARIANT"}, "140162576450944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": ".1.140162525832784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576451392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539264976": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452288"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539264976"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264976", "args": [{"nodeId": ".1.140162539264976"}]}], "returnType": {"nodeId": ".1.140162539264976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539264976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264976", "variance": "COVARIANT"}, "140162539265312": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452736"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539265312"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265312", "args": [{"nodeId": ".1.140162539265312"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539265312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162539265312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539265312", "variance": "COVARIANT"}, "140162521914320": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526748608", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140162526748944", "args": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140162526748608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__add__"]}, "140162593118624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748608", "args": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}]}, {"nodeId": ".1.140162526748608"}], "returnType": {"nodeId": ".2.140162526748608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "CONTRAVARIANT"}, ".2.140162526748608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "COVARIANT"}, "140162526748944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__radd__"]}, "140162593119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748944", "args": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}]}, {"nodeId": ".1.140162526748944"}], "returnType": {"nodeId": ".2.140162526748944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748944": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "CONTRAVARIANT"}, ".2.140162526748944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "COVARIANT"}, "140162525833120": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501138176"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576463936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576464384"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525833120"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833120"}]}], "isAbstract": false}, "140162501138176": {"type": "Overloaded", "items": [{"nodeId": "140162576458560"}, {"nodeId": "140162576459008"}, {"nodeId": "140162576459456"}, {"nodeId": "140162576459904"}, {"nodeId": "140162576460352"}, {"nodeId": "140162576460800"}]}, "140162576458560": {"type": "Function", "typeVars": [".-1.140162576458560"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576458560"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140162576458560": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576458560", "variance": "INVARIANT"}, "140162501140304": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576458560"}]}, "140162576459008": {"type": "Function", "typeVars": [".-1.140162576459008", ".-2.140162576459008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459008"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459008"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140162576459008": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, ".-2.140162576459008": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, "140162501140528": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459008"}, {"nodeId": ".-2.140162576459008"}]}, "140162576459456": {"type": "Function", "typeVars": [".-1.140162576459456", ".-2.140162576459456", ".-3.140162576459456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459456"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140162576459456": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-2.140162576459456": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-3.140162576459456": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, "140162501140752": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459456"}, {"nodeId": ".-2.140162576459456"}, {"nodeId": ".-3.140162576459456"}]}, "140162576459904": {"type": "Function", "typeVars": [".-1.140162576459904", ".-2.140162576459904", ".-3.140162576459904", ".-4.140162576459904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576459904"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140976"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140162576459904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-2.140162576459904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-3.140162576459904": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-4.140162576459904": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, "140162501140976": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459904"}, {"nodeId": ".-2.140162576459904"}, {"nodeId": ".-3.140162576459904"}, {"nodeId": ".-4.140162576459904"}]}, "140162576460352": {"type": "Function", "typeVars": [".-1.140162576460352", ".-2.140162576460352", ".-3.140162576460352", ".-4.140162576460352", ".-5.140162576460352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162576460352"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501141200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140162576460352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-2.140162576460352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-3.140162576460352": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-4.140162576460352": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-5.140162576460352": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, "140162501141200": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576460352"}, {"nodeId": ".-2.140162576460352"}, {"nodeId": ".-3.140162576460352"}, {"nodeId": ".-4.140162576460352"}, {"nodeId": ".-5.140162576460352"}]}, "140162576460800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140162576463936": {"type": "Function", "typeVars": [".-1.140162576463936"], "argTypes": [{"nodeId": ".-1.140162576463936"}], "returnType": {"nodeId": ".-1.140162576463936"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576463936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576463936", "variance": "INVARIANT"}, "140162576464384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833120", "args": [{"nodeId": ".1.140162525833120"}]}], "returnType": {"nodeId": ".1.140162525833120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525833120": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833120", "variance": "COVARIANT"}, "140162539265648": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539266320": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266656": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266992": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509904"}}], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162526509904": {"type": "TypeAlias", "target": {"nodeId": "140162526136128"}}, "140162526136128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539267328": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539267664": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268000": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268336": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268672": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269008": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234176"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539269008"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143440"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140162501143440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539269344": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269680": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270016": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648448"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509792"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539270016"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143552"}, {"nodeId": "140162501143664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140162501143552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501143664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509792": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539270352": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270688": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271024": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271360": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271696": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272032": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272368": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539120320"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510016"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508112"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510128"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508448"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111472"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539120320": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526510016": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526508112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526510128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526508448": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539111472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539272704": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273040": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273376": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273712": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176000": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176336": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176672": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270016"}], "isAbstract": false}, "140162539177008": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177344": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177680": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271024"}], "isAbstract": false}, "140162539178016": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178352": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178688": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539179024": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179360": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179696": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180032": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180368": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539180704": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181040": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181376": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181712": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182048": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182384": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182720": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539183056": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183392": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183728": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539272368"}], "isAbstract": false}, "140162539184064": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539183728"}], "isAbstract": false}, "140162539184400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162539184736": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648896"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576648896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539184736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162501143776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501143776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539185072": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649344"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162539185408": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649792"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185408"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162539185744": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539186080": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186416": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186752": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187088": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187424": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187760": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188096": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188432": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188768": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189104": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189440": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162534551088": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434464"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434016"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476433344"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162476434464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476434016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162476434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534551424": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432448"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432000"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431776"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509352720"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476431552"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430880"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430656"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430432"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140162476432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534551424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140162509352720": {"type": "Overloaded", "items": [{"nodeId": "140162601513280"}, {"nodeId": "140162601513728"}, {"nodeId": "140162601514176"}, {"nodeId": "140162601514624"}, {"nodeId": "140162601515072"}, {"nodeId": "140162601515520"}, {"nodeId": "140162601515968"}]}, "140162601513280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509355408"}, {"nodeId": "140162509355520"}, {"nodeId": "140162509355632"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355296": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162509355408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601513728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355184"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355184": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601514176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355968"}, {"nodeId": "140162509356304"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355968": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162509356304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601514624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356416"}, {"nodeId": "140162509356752"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356416": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162509356752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356864"}, {"nodeId": "140162509555184"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356864": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162509555184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509553952"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509553952": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601515968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509554176"}, {"nodeId": "140162509555296"}, {"nodeId": "140162509555520"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509554176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162476430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509554400"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162509554400": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534551760": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476429312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577073984"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074432"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074880"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577075328"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140162534551088"}], "isAbstract": true}, "140162476429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577073984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162577075328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476027776"}}], "typeVars": [], "bases": [{"nodeId": "140162539176672"}], "isAbstract": false}, "140162476027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544704"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545376": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577078464"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023968"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023296"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023744"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530668080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080256"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140162534545040"}], "isAbstract": false}, "140162526130720": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354176"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354624"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355520"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513808160"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513809392"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810176"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810624"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811072"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811520"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812192"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812640"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563829856"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830304"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830752"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130720"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488354176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130720": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130720", "variance": "INVARIANT"}, "140162488354624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": ".1.140162526130720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808160": {"type": "Overloaded", "items": [{"nodeId": "140162563822688"}, {"nodeId": "140162538806784"}]}, "140162563822688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810288": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162526130384": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488411616"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488409600"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408704"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408032"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488407360"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513767888"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513805584"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806368"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806592"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135392"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135840"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563817760"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513807712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563819552"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820000"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820448"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130384"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488411616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130384": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130384", "variance": "INVARIANT"}, "140162488409600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488408704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488408032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162488407360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488406688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513767888": {"type": "Overloaded", "items": [{"nodeId": "140162551131360"}, {"nodeId": "140162538801856"}]}, "140162551131360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162538801856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513806480"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162513806480": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513805584": {"type": "Overloaded", "items": [{"nodeId": "140162551132256"}, {"nodeId": "140162551132704"}, {"nodeId": "140162551133152"}]}, "140162551132256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551132704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513806816"}], "returnType": {"nodeId": "140162513807040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162513806816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807040": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551133152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513807152"}, {"nodeId": "140162513807264"}, {"nodeId": "140162513807376"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807600"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140162513807152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807600": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162513806368": {"type": "Overloaded", "items": [{"nodeId": "140162551133600"}, {"nodeId": "140162551134048"}]}, "140162551133600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513807936": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134048": {"type": "Function", "typeVars": [".-1.140162551134048"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134048"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513808048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134048", "variance": "INVARIANT"}, "140162513808048": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134048"}]}, "140162513806592": {"type": "Overloaded", "items": [{"nodeId": "140162551134496"}, {"nodeId": "140162551134944"}]}, "140162551134496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808384": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134944": {"type": "Function", "typeVars": [".-1.140162551134944"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134944"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134944", "variance": "INVARIANT"}, "140162513808496": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134944"}]}, "140162551135392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808608": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162551135840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808720": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162563817760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808832"}], "returnType": {"nodeId": "140162513809056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808832": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809056": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162488406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513809280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513809280": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162513807712": {"type": "Overloaded", "items": [{"nodeId": "140162563818656"}, {"nodeId": "140162563819104"}]}, "140162563818656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563819104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513809616"}], "returnType": {"nodeId": "140162513809840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513809616": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809840": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162563819552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563820000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563820448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162538806784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810400"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810512": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513809392": {"type": "Overloaded", "items": [{"nodeId": "140162563823584"}, {"nodeId": "140162538812160"}]}, "140162563823584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810736"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810736": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538812160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810848"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810848": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810960": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810176": {"type": "Overloaded", "items": [{"nodeId": "140162563824480"}, {"nodeId": "140162538809024"}]}, "140162563824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811184": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538809024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811408": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810624": {"type": "Overloaded", "items": [{"nodeId": "140162563825376"}, {"nodeId": "140162538812608"}]}, "140162563825376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513811744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162538812608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811856"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513812080"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812080": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "A"}]}, "140162513811072": {"type": "Overloaded", "items": [{"nodeId": "140162563826272"}, {"nodeId": "140162538813952"}]}, "140162563826272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538813952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811520": {"type": "Overloaded", "items": [{"nodeId": "140162563827168"}, {"nodeId": "140162538802528"}]}, "140162563827168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538802528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812752"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812192": {"type": "Overloaded", "items": [{"nodeId": "140162563828064"}, {"nodeId": "140162538811040"}]}, "140162563828064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513812976"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513812976": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538814624"}]}, "140162538814624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162538811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513813200"}, {"nodeId": "140162513928256"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513813200": {"type": "Union", "items": [{"nodeId": "140162513813088"}, {"nodeId": "140162538811488"}]}, "140162513813088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538811488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513813312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513813312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513928256": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812640": {"type": "Overloaded", "items": [{"nodeId": "140162563828960"}, {"nodeId": "140162538809696"}]}, "140162563828960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513928480"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513928704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538813504"}]}, "140162538813504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513928704": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162538809696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513928928"}, {"nodeId": "140162513929152"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513929376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928928": {"type": "Union", "items": [{"nodeId": "140162513928816"}, {"nodeId": "140162538814400"}]}, "140162513928816": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538814400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513929040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513929040": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929376": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162563829856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563830304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563830752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162577078464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344656": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344880"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345104"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509345104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530668080": {"type": "Union", "items": [{"nodeId": "140162534546720"}, {"nodeId": "N"}]}, "140162577080256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345216"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162509345216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162534545040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530667072"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530669312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530468448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530469120"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530467552"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530467776"}}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162530667072": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530669312": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162530468448": {"type": "Function", "typeVars": [".-1.140162530468448"], "argTypes": [{"nodeId": ".-1.140162530468448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530468448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140162530468448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530468448", "variance": "INVARIANT"}, "140162530669536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530469120": {"type": "Function", "typeVars": [".-1.140162530469120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530469120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140162530469120": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530469120", "variance": "INVARIANT"}, "140162530467552": {"type": "Function", "typeVars": [".-1.140162530467552"], "argTypes": [{"nodeId": ".-1.140162530467552"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140162530467552": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467552", "variance": "INVARIANT"}, "140162530467776": {"type": "Function", "typeVars": [".-1.140162530467776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530467776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140162530467776": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467776", "variance": "INVARIANT"}, "140162534546048": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476016352"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476015904"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475998368"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343984"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534545712"}]}], "isAbstract": false}, "140162476016352": {"type": "Function", "typeVars": [".-1.140162476016352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509345440"}]}], "returnType": {"nodeId": ".-1.140162476016352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140162509345440": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, ".-1.140162476016352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162476016352", "variance": "INVARIANT"}, "140162476015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343984": {"type": "Overloaded", "items": [{"nodeId": "140162577083840"}, {"nodeId": "140162577084288"}]}, "140162577083840": {"type": "Function", "typeVars": [".-1.140162577083840"], "argTypes": [{"nodeId": ".-1.140162577083840"}], "returnType": {"nodeId": ".-1.140162577083840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162577083840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162577083840", "variance": "INVARIANT"}, "140162577084288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162521920368": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140162521920704"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475992992"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": true}, "140162475992992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920368"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140162521921040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475990752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553280"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140162521920368"}], "isAbstract": false}, "140162475990752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140162606553280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521921040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140162526125680": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606560672"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["find_spec"]}, "140162606560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513459952"}, {"nodeId": "140162513460064"}], "returnType": {"nodeId": "140162513460176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162513459952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162513460064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162513460176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521914656": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492641376"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642272"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642496"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642720"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642944"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643168"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643392"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643616"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643840"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644064"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644288"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644512"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644736"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644960"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492694592"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492695264"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460400"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460400": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460512"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460512": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460624": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460736"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460848"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460848": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460960"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460960": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461072": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461184"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461184": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461296": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461408": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461520"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461520": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461744"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461744": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461856"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461856": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492694592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461968"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461968": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162526754992": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589443232"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140162526754992"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589443232": {"type": "Function", "typeVars": [".-1.140162589443232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526754992"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162589443232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140162526754992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754992", "variance": "COVARIANT"}, ".-1.140162589443232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589443232", "variance": "INVARIANT"}, "140162521914992": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696384"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696832"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697056"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697280"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697504"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697728"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697952"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698176"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698400"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698624"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698848"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492696384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462192"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462192": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492696832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462304"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462416"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462416": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462528"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462528": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462640"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462640": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462752"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462864"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462976"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462976": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463088"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463088": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463200"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463200": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463312": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521915328": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700192"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700416"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700640"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701088"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701312"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701536"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701760"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701984"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162521993552"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463424"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463424": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463536"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463536": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463760"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463760": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463872"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463872": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463984": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464096": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464208"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464208": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464320"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464320": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521993552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, "140162526126016": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521992320"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162588866848"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521992320": {"type": "TypeAlias", "target": {"nodeId": "140162522321120"}}, "140162522321120": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162588866848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126016"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521915664": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704000"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704224"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704448"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704672"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492704000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464544"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464544": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464656": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464768": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464880"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521916000": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704896"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706016"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706240"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706464"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492704896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464992"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464992": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465216": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465328"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465328": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465440": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526126352": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522324144"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998032"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998256"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526139040"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522324144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162521998032": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162521998256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526139040": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162521916336": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492709600"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492710048"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162526139264"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162522108688"}]}], "isAbstract": false}, "140162492709600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468016"}], "returnType": {"nodeId": "140162513468128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468016": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162521990640": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526140272": {"type": "Union", "items": [{"nodeId": "140162542940480"}, {"nodeId": "N"}]}, "140162542940480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618240896": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255744"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496567264"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442752"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572257536"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496566816"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568160"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568384"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568608"}}], "typeVars": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}], "bases": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240896"}]}], "isAbstract": true}, "140162572255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240896": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "COVARIANT"}, ".2.140162618240896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "CONTRAVARIANT"}, "140162496567264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": ".2.140162618240896"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442752": {"type": "Overloaded", "items": [{"nodeId": "140162572256640"}, {"nodeId": "140162572257088"}]}, "140162572256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "0"}, {"nodeId": "140162522444544"}, {"nodeId": "140162522444656"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444544": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444656": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444768"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444768": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496566816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240560": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496565024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255296"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162618240560"}], "bases": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240560"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140162496565024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240560": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240560", "variance": "COVARIANT"}, "140162572255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240224": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496562336"}}], "typeVars": [{"nodeId": ".1.140162618240224"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162496562336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240224"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240224"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240224": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240224", "variance": "COVARIANT"}, "140162521995008": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162513468128": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162492710048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468240"}], "returnType": {"nodeId": "140162513468352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468240": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162513468352": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526139264": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162522108688": {"type": "Union", "items": [{"nodeId": "140162501057600"}, {"nodeId": "N"}]}, "140162501057600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526117952": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501652576"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510240"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497061472"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753088"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589244800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597584960"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667200"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162501652576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162522669664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522669664": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162526510240": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497061472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496753088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589244800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162526118288"}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "140162522670112"}, {"nodeId": "140162522670224"}, {"nodeId": "140162522670336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140162522670112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522670224": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "N"}]}, "140162522670336": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162597584960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522667200": {"type": "Overloaded", "items": [{"nodeId": "140162597585408"}, {"nodeId": "140162597585856"}]}, "140162597585408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "N"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162597585856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162618234176"}, {"nodeId": "140162522670896"}], "returnType": {"nodeId": "140162526121312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162522670896": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162526121312": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459392"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459840"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460064"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460288"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460512"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597326848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597327296"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497459392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676160": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162497459840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676384": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162526120976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526120976": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597323712"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597323712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120976"}, {"nodeId": "140162522675936"}, {"nodeId": "140162522676048"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162522675936": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162522676048": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162497460288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597326848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "140162534558624"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162534558624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162597327296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526118960": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556224"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556672"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557120"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597555776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162597556224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597556672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597557120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526119968": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497448864"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560256"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560704"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597561152"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667872"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}], "bases": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "isAbstract": false}, "140162497448864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162522672800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526119968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, ".2.140162526119968": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "CONTRAVARIANT"}, ".3.140162526119968": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, "140162522672800": {"type": "Union", "items": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597560256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597560704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597561152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": ".2.140162526119968"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522667872": {"type": "Overloaded", "items": [{"nodeId": "140162597561600"}, {"nodeId": "140162597562048"}]}, "140162597561600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "0"}, {"nodeId": "140162522673024"}, {"nodeId": "140162522673136"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522673136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597562048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522673248"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673248": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526120304": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497452672"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597562944"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563392"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563840"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522670784"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565184"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565632"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}], "bases": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "isAbstract": false}, "140162497452672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162522673472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "COVARIANT"}, ".2.140162526120304": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "CONTRAVARIANT"}, "140162522673472": {"type": "Union", "items": [{"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597562944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618239888": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496493856"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494080"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494304"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494528"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442640"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494976"}}], "typeVars": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162618239888"}]}], "isAbstract": true}, "140162496493856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162522443872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, ".2.140162618239888": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "CONTRAVARIANT"}, ".3.140162618239888": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, "140162522443872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162496494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": ".2.140162618239888"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442640": {"type": "Overloaded", "items": [{"nodeId": "140162572105344"}, {"nodeId": "140162572105792"}]}, "140162572105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "0"}, {"nodeId": "140162522444096"}, {"nodeId": "140162522444208"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444096": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444208": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572105792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444320"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444320": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162496494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": ".2.140162526120304"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522670784": {"type": "Overloaded", "items": [{"nodeId": "140162534560416"}, {"nodeId": "140162597564288"}]}, "140162534560416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "0"}, {"nodeId": "140162522674144"}, {"nodeId": "140162522674256"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522674256": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597564288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522674480"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674480": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597565184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597565632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526120640": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497456032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597566976"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567424"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567872"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522674368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}], "bases": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "isAbstract": false}, "140162497456032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162522675264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, ".2.140162526120640": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "CONTRAVARIANT"}, ".3.140162526120640": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, "140162522675264": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162522675152"}]}, {"nodeId": "N"}]}, "140162522675152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162597566976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140162526120640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": ".2.140162526120640"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522674368": {"type": "Overloaded", "items": [{"nodeId": "140162597322816"}, {"nodeId": "140162597323264"}]}, "140162597322816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "0"}, {"nodeId": "140162522675600"}, {"nodeId": "140162522675712"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522675712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597323264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522675824"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675824": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526121648": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497461408"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350752"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597329088"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497461408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162522677056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522677056": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "140162526119632"}]}, "140162492350752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597329088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526121984": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352096"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352768"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597330880"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597331328"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492352096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597330880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597331328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162526122320": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354112"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354784"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492355008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597333568"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334016"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334464"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492354112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492355008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597333568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597334016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597334464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526122656": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357024"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357472"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336256"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336704"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492357024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597336256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597336704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526122992": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492358816"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359264"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597338496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593259584"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492358816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597338496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162593259584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526124000": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365312"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365536"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593266752"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267200"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267648"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593266752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593267200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593267648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526124336": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492432672"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433120"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269440"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269888"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593270336"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492432672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526125008": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113024"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593113024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745920": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162593115488": {"type": "Function", "typeVars": [".-1.140162593115488"], "argTypes": [{"nodeId": "140162526745920"}, {"nodeId": ".-1.140162593115488"}], "returnType": {"nodeId": ".-1.140162593115488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162593115488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593115488", "variance": "INVARIANT"}, "140162526746256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162526746256"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__next__"]}, "140162593115936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746256", "args": [{"nodeId": ".1.140162526746256"}]}], "returnType": {"nodeId": ".1.140162526746256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746256", "variance": "COVARIANT"}, "140162526746592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162526746592"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162593116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746592", "args": [{"nodeId": ".1.140162526746592"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162526746592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746592", "variance": "COVARIANT"}, "140162526747600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140162526747600"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__le__"]}, "140162593117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747600", "args": [{"nodeId": ".1.140162526747600"}]}, {"nodeId": ".1.140162526747600"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747600", "variance": "CONTRAVARIANT"}, "140162526747936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140162526747936"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__ge__"]}, "140162593118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747936", "args": [{"nodeId": ".1.140162526747936"}]}, {"nodeId": ".1.140162526747936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747936", "variance": "CONTRAVARIANT"}, "140162526748272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747600", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747936", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140162526749280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__sub__"]}, "140162593119520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749280", "args": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}]}, {"nodeId": ".1.140162526749280"}], "returnType": {"nodeId": ".2.140162526749280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749280": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "CONTRAVARIANT"}, ".2.140162526749280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "COVARIANT"}, "140162526749616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rsub__"]}, "140162593119968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749616", "args": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}]}, {"nodeId": ".1.140162526749616"}], "returnType": {"nodeId": ".2.140162526749616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749616": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "CONTRAVARIANT"}, ".2.140162526749616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "COVARIANT"}, "140162526749952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120416"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__divmod__"]}, "140162593120416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749952", "args": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}]}, {"nodeId": ".1.140162526749952"}], "returnType": {"nodeId": ".2.140162526749952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "CONTRAVARIANT"}, ".2.140162526749952": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "COVARIANT"}, "140162526750288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120864"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rdivmod__"]}, "140162593120864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750288", "args": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}]}, {"nodeId": ".1.140162526750288"}], "returnType": {"nodeId": ".2.140162526750288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526750288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "CONTRAVARIANT"}, ".2.140162526750288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "COVARIANT"}, "140162526750624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121312"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162526750624"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162593121312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750624", "args": [{"nodeId": ".1.140162526750624"}]}], "returnType": {"nodeId": ".1.140162526750624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526750624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750624", "variance": "COVARIANT"}, "140162526750960": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121760"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162526750960"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162593121760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750960", "args": [{"nodeId": ".1.140162526750960"}]}], "returnType": {"nodeId": ".1.140162526750960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526750960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750960", "variance": "COVARIANT"}, "140162526751968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123552"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["items"]}, "140162593123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751968", "args": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162505155616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526751968": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, ".2.140162526751968": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, "140162505155616": {"type": "Tuple", "items": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}, "140162526752640": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125344"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140162593124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526752640": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "CONTRAVARIANT"}, ".2.140162526752640": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "COVARIANT"}, "140162593125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": ".1.140162526752640"}], "returnType": {"nodeId": ".2.140162526752640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526752976": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125792"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126240"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "bases": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140162593125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162526752976": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "CONTRAVARIANT"}, ".2.140162526752976": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "INVARIANT"}, "140162593126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526753312": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126688"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["fileno"]}, "140162593126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526753984": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127584"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526753984"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593127584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753984", "args": [{"nodeId": ".1.140162526753984"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753984", "variance": "COVARIANT"}, "140162526754320": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593128032"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526754320"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593128032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754320", "args": [{"nodeId": ".1.140162526754320"}]}], "returnType": {"nodeId": ".1.140162526754320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526754320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754320", "variance": "COVARIANT"}, "140162525838160": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125360"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606480096"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501369792"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501370912"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162539125584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162606480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434688"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140162522434688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140162539260272"}]}, "140162522433568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501369792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235856": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589450624"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162618236528": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121216"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451520"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640480"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589453760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539121216": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522432448"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140162522432448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162501640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162501640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618236192": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236192"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162589453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618235520": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589446592"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447040"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447488"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235856"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162501370912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235184": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111920"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589444800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445248"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445696"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539111920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522433456"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140162522433456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618236864": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455104"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455552"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589456000"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539257920"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140162589455104": {"type": "Function", "typeVars": [".-1.140162589455104"], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": ".-1.140162589455104"}], "returnType": {"nodeId": ".-1.140162589455104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140162589455104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589455104", "variance": "INVARIANT"}, "140162589455552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589456000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618237200": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589457792"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589457792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237200"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525823040": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162539189776": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568133696"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134144"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134592"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135040"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135488"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162568133696": {"type": "Function", "typeVars": [".-1.140162568133696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162568133696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140162568133696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568133696", "variance": "INVARIANT"}, "140162568134144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140162568134592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162568135040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162505155168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140162505155168": {"type": "Union", "items": [{"nodeId": "140162526754656", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568135488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162525824720": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501649888"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501649888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618237536": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501651232"}}], "typeVars": [{"nodeId": ".1.140162618237536"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__abs__"]}, "140162501651232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237536", "args": [{"nodeId": ".1.140162618237536"}]}], "returnType": {"nodeId": ".1.140162618237536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618237536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237536", "variance": "COVARIANT"}, "140162618237872": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264320"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162618237872"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162522264320": {"type": "Overloaded", "items": [{"nodeId": "140162572094592"}, {"nodeId": "140162572095040"}]}, "140162572094592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618237872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237872", "variance": "COVARIANT"}, "140162572095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618237872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162525825392": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496480192"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__hash__"]}, "140162496480192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825392"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525825728": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}, {"nodeId": ".4.140162525825728"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162525825728"}]}, {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}]}], "isAbstract": true}, ".1.140162525825728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".2.140162525825728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "CONTRAVARIANT"}, ".3.140162525825728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".4.140162525825728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "INVARIANT"}, "140162525828752": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162497054976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572780480"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781376"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522664960": {"type": "Overloaded", "items": [{"nodeId": "140162572647808"}, {"nodeId": "140162572779584"}]}, "140162572647808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522668208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522668208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162572779584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162497054976": {"type": "Function", "typeVars": [".-1.140162497054976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162497054976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162497054976": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162497054976", "variance": "INVARIANT"}, "140162572780480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572781376": {"type": "Function", "typeVars": [".-1.140162572781376"], "argTypes": [{"nodeId": ".-1.140162572781376"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162572781376"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162572781376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781376", "variance": "INVARIANT"}, "140162525829088": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781824"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782272"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782720"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783168"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784064"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784512"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784960"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785408"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785856"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162572781824": {"type": "Function", "typeVars": [".-1.140162572781824"], "argTypes": [{"nodeId": ".-1.140162572781824"}], "returnType": {"nodeId": ".-1.140162572781824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162572781824": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781824", "variance": "INVARIANT"}, "140162572782272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162572782720": {"type": "Function", "typeVars": [".-1.140162572782720"], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": ".-1.140162572782720"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162572782720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572782720", "variance": "INVARIANT"}, "140162572783168": {"type": "Function", "typeVars": [".-1.140162572783168"], "argTypes": [{"nodeId": ".-1.140162572783168"}, {"nodeId": ".-1.140162572783168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162572783168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572783168", "variance": "INVARIANT"}, "140162572783616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572785408": {"type": "Function", "typeVars": [".-1.140162572785408"], "argTypes": [{"nodeId": ".-1.140162572785408"}, {"nodeId": ".-1.140162572785408"}], "returnType": {"nodeId": ".-1.140162572785408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785408": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785408", "variance": "INVARIANT"}, "140162572785856": {"type": "Function", "typeVars": [".-1.140162572785856"], "argTypes": [{"nodeId": ".-1.140162572785856"}, {"nodeId": ".-1.140162572785856"}], "returnType": {"nodeId": ".-1.140162572785856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785856", "variance": "INVARIANT"}, "140162618243920": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510576"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572786304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572787200"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572788096"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526510576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162526508336": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572786304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522668880"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140162522668880": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572787200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162522669104"}, {"nodeId": "140162522669328"}, {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162522669552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140162522669104": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669328": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572788096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572794144"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162572793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836816": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465312"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465760"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466208"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467104"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468896"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606469344"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162606465312": {"type": "Function", "typeVars": [".-1.140162606465312"], "argTypes": [{"nodeId": ".-1.140162606465312"}], "returnType": {"nodeId": ".-1.140162606465312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162606465312": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606465312", "variance": "INVARIANT"}, "140162606465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162606466208": {"type": "Function", "typeVars": [".-1.140162606466208"], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": ".-1.140162606466208"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162606466208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466208", "variance": "INVARIANT"}, "140162606466656": {"type": "Function", "typeVars": [".-1.140162606466656"], "argTypes": [{"nodeId": ".-1.140162606466656"}, {"nodeId": ".-1.140162606466656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162606466656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466656", "variance": "INVARIANT"}, "140162606467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606468896": {"type": "Function", "typeVars": [".-1.140162606468896"], "argTypes": [{"nodeId": ".-1.140162606468896"}, {"nodeId": ".-1.140162606468896"}], "returnType": {"nodeId": ".-1.140162606468896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606468896": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606468896", "variance": "INVARIANT"}, "140162606469344": {"type": "Function", "typeVars": [".-1.140162606469344"], "argTypes": [{"nodeId": ".-1.140162606469344"}, {"nodeId": ".-1.140162606469344"}], "returnType": {"nodeId": ".-1.140162606469344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606469344": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606469344", "variance": "INVARIANT"}, "140162525837488": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264992"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501367552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606476960"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606477856"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522264992": {"type": "Overloaded", "items": [{"nodeId": "140162606475616"}, {"nodeId": "140162606476064"}]}, "140162606475616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522441520"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522441520": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162606476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162501367552": {"type": "Function", "typeVars": [".-1.140162501367552"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162501367552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162501367552": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501367552", "variance": "INVARIANT"}, "140162606476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606477856": {"type": "Function", "typeVars": [".-1.140162606477856"], "argTypes": [{"nodeId": ".-1.140162606477856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162606477856"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162606477856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606477856", "variance": "INVARIANT"}, "140162525837824": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539124240"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606479200"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539124240": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162539125024": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522434352"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433792"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140162522434352": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162522433792": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525838496": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593047264"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140162522434576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526755664": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454674608"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593048832"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522320112"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543169184"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543164480"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162454674608": {"type": "Tuple", "items": []}, "140162593048832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755664"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522320112": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543169184": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543164480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526756000": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162526756336": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521710656": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454679088"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162526756336"}], "isAbstract": false}, "140162454679088": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521710992": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454680096"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454680096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521721072": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711328": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454681104"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521710656"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454681104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521712336": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711664": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454682448"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454682448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712000": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454683344"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454683344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454849344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522317872"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454849344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908272": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455285408"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576325696"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162597249296"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319776"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455285408": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908608": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455286640"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319888"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455286640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319888": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576325696": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162597249296": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319776": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162522317872": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713008": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454850800"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318768"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454850800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318768": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713344": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852032"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852032": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908944": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455287536"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606002496"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455287536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606002496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521713680": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318880"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852480": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318880": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521714016": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454853376"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454853376": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521714352": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454854720"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454854720": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521714688": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454855840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454855840": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318992": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162521828032": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455277792"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455277792": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829040": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521826688": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455141312"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455141312": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827360": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455275888"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455275888": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521831392": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521715024": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454857184"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319104"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319216"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454857184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319104": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162522319216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521715360": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454858640"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454858640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521715696": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454859984"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454859984": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716032": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454860880"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454860880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716368": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454862000"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454862000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716704": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454863120"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454863120": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521909616": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455289552"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610621216"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455289552": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162610621216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717040": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454995456"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454995456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521717376": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454996352"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319328"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319440"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454996352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319328": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319440": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717712": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454997808"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907936"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454997808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907936": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455283392"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326816"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326704"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521907600"}], "isAbstract": false}, "140162455283392": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576326816": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576326704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521907600": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521718048": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999152"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319552"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319552": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521718384": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999936"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521909280": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455288544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606003728"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455288544": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606003728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521718720": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001280"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001280": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521719056": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001952"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001952": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719392": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455002848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455002848": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719728": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455003744"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455003744": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521720064": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720400": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720736": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521721408": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455004864"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521830384"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455004864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521830384": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521721744": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006096"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722080": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521836096"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521836096": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521722416": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455008000"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455008000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722752": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455009232"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455009232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521723088": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010128"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162547218160"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547218160": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521723424": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010912"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521723760": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455126864"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455126864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907264": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455282384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455282384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724096": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455127872"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455127872": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724432": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455129104"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455129104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724768": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130000"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521725104": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521725440": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455131680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318432"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455131680": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318432": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521725776": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455132576"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455132576": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521726112": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455133920"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521837776"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455133920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521837776": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521726448": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455135040"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455135040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521825344": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136160"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212784"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212784": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521825680": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136832"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136832": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521826016": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455138512"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212896"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162588949328"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455138512": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162588949328": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539259264"}]}, "140162521826352": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455140080"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521828032"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455140080": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827024": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455274208"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983184"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983072"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576833824"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455274208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576983184": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576983072": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576833824": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521827696": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455276784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455276784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828368": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455278800"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455278800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828704": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455279808"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455279808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829376": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521829712": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830048": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830720": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831056": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831728": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832064": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832400": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832736": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833072": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833408": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833744": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834080": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834416": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834752": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835088": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835424": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835760": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521836432": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521836768": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837104": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837440": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521838112": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838448": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838784": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839120": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839456": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839792": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840128": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840464": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840800": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521841136": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521909952": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455536464"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910624"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455536464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910624": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537136"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521910288"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610618752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455537136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910288": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162610618752": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521910960": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537248"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537248": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911296": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497472"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537584": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526497472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162521911632": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537920"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911968": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455538256"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496128"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455538256": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526496128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912304": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539040"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526498032"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526498032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912640": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539824"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521912976": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540048"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496688"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496912"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526496688": {"type": "Union", "items": [{"nodeId": "140162521910288"}, {"nodeId": "N"}]}, "140162526496912": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521913312": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540272"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162534539664": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}, {"nodeId": "140162539273376"}], "isAbstract": false}, "140162534541344": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475936"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476832"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477280"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477728"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140162509192800": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593476384": {"type": "Function", "typeVars": [".-1.140162593476384"], "argTypes": [{"nodeId": ".-1.140162593476384"}], "returnType": {"nodeId": ".-1.140162593476384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593476384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593476384", "variance": "INVARIANT"}, "140162593476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192912"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192912": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534542688": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482208"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}], "isAbstract": false}, "140162593481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162534540336"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140162593482208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534543696": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129888"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130336"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162568129888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}, {"nodeId": "140162509341744"}, {"nodeId": "140162509341856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140162509341744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522191840": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568131232"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475827136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568132128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": false}, "140162568130784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509341968"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140162509341968": {"type": "Union", "items": [{"nodeId": "140162526744912"}, {"nodeId": "N"}]}, "140162526744912": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041888"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463508160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547042784"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043232"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043680"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162547041888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463508160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149120"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505149120": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162547042784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547043232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "140162505149344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505149344": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162547043680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149568": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162568131232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342192"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162509342192": {"type": "Union", "items": [{"nodeId": "140162509342080"}, {"nodeId": "140162539260272"}]}, "140162509342080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162475827136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}], "returnType": {"nodeId": "140162509342304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509342304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568132128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509342528": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162539190112": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136384"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190112"}], "bases": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162539190112"}]}], "isAbstract": false}, "140162568136384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190112", "args": [{"nodeId": ".1.140162539190112"}]}, {"nodeId": "140162509904960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190112": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190112", "variance": "COVARIANT"}, "140162509904960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190112"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190448": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136832"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190448"}], "bases": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162539190448"}]}], "isAbstract": false}, "140162568136832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190448", "args": [{"nodeId": ".1.140162539190448"}]}, {"nodeId": "140162509904288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190448": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190448", "variance": "COVARIANT"}, "140162509904288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190784": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162539262624"}], "isAbstract": false}, "140162539191120": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534544368": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568142432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568208672"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140162568141536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568141984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568142432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568208672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534555120": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534554112"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331872"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522114512"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539408400"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568209792"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210240"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210688"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211136"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211584"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212032"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212480"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212928"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214720"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215168"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216960"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217408"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217856"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218304"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218752"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568224128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509556416"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568356800"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357248"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357696"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358144"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358592"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359040"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359488"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360384"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360832"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534554112": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662144"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547316800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317248"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317696"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547318144"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547368000"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471868256"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867808"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866688"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867136"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162530662144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530662368": {"type": "Union", "items": [{"nodeId": "140162534565344"}, {"nodeId": "N"}]}, "140162534565344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162509559440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509559552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140162509559440": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509559552": {"type": "Union", "items": [{"nodeId": "140162509210784"}, {"nodeId": "N"}]}, "140162509210784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534554112"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140162547317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162539408400": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162547315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539408400"}, {"nodeId": "140162509767280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140162509767280": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547318144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162547368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509559776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162509559776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162471868256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471867808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560224": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471866688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471867136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471866240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162522331872": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522114512": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140162568210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509561568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509561568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534555120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140162568211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561680"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140162509561680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162568212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561904"}, {"nodeId": "140162509562016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140162509561904": {"type": "TypeAlias", "target": {"nodeId": "140162530663712"}}, "140162530663712": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162534555120"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162509562016": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162522114288": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539415456": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660240"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307616"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308064"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308512"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308960"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309408"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309856"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547310304"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162530660240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547307168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140162547307616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547308064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162509768848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509768848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547308512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547308960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140162547309408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547309856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547310304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509562128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140162509562128": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509562240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562240": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509562352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509562352": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509562464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509562464": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568216064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568216512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568216960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562912"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509562688"}]}, "140162509562688": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217408": {"type": "Function", "typeVars": [".-1.140162568217408"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217408"}], "returnType": {"nodeId": "140162509563136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217408", "variance": "INVARIANT"}, "140162509563136": {"type": "Union", "items": [{"nodeId": "140162509563024"}, {"nodeId": ".-1.140162568217408"}]}, "140162509563024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217856": {"type": "Function", "typeVars": [".-1.140162568217856"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217856"}], "returnType": {"nodeId": "140162509563360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217856", "variance": "INVARIANT"}, "140162509563360": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563248"}]}, {"nodeId": ".-1.140162568217856"}]}, "140162509563248": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568218304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140162509563472": {"type": "TypeAlias", "target": {"nodeId": "140162530658560"}}, "140162530658560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "140162530660352"}]}, "140162530660352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530657776"}, {"nodeId": "140162539260272"}]}, "140162530657776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568218752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140162509563584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568219200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568219648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140162568221440": {"type": "Function", "typeVars": [".-1.140162568221440"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568221440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509563920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140162568221440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221440", "variance": "INVARIANT"}, "140162509563920": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563808"}]}, {"nodeId": ".-1.140162568221440"}]}, "140162509563808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162568221888": {"type": "Function", "typeVars": [".-1.140162568221888"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568221888"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509564144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140162568221888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221888", "variance": "INVARIANT"}, "140162509564144": {"type": "Union", "items": [{"nodeId": ".-1.140162568221888"}, {"nodeId": "140162509564032"}]}, "140162509564032": {"type": "TypeAlias", "target": {"nodeId": "140162530658000"}}, "140162530658000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530661136"}]}, "140162530661136": {"type": "Tuple", "items": [{"nodeId": "140162530661248"}, {"nodeId": "140162530659904"}, {"nodeId": "140162539260272"}]}, "140162530661248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530659904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568222336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140162568222784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140162568223232": {"type": "Function", "typeVars": [".-1.140162568223232"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223232"}], "returnType": {"nodeId": "140162509564368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223232", "variance": "INVARIANT"}, "140162509564368": {"type": "Union", "items": [{"nodeId": ".-1.140162568223232"}, {"nodeId": "140162539260272"}]}, "140162568223680": {"type": "Function", "typeVars": [".-1.140162568223680"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223680"}], "returnType": {"nodeId": "140162509563696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223680", "variance": "INVARIANT"}, "140162509563696": {"type": "Union", "items": [{"nodeId": ".-1.140162568223680"}, {"nodeId": "140162539260272"}]}, "140162568224128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140162509556416": {"type": "Overloaded", "items": [{"nodeId": "140162568355904"}, {"nodeId": "140162568356352"}]}, "140162568355904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568356352": {"type": "Function", "typeVars": [".-1.140162568356352"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356352"}], "returnType": {"nodeId": "140162509564704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140162568356352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356352", "variance": "INVARIANT"}, "140162509564704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568356352"}]}, "140162568356800": {"type": "Function", "typeVars": [".-1.140162568356800"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356800"}], "returnType": {"nodeId": "140162509564816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568356800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356800", "variance": "INVARIANT"}, "140162509564816": {"type": "Union", "items": [{"nodeId": ".-1.140162568356800"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162568357248": {"type": "Function", "typeVars": [".-1.140162568357248"], "argTypes": [{"nodeId": ".-1.140162568357248"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568357248"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568357248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568357248", "variance": "INVARIANT"}, "140162568357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568358144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509565040"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509565040": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568358592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140162509565152": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568359040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565264"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140162509565264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568359936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534554112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162568360384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509565376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509565376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568360832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162509565712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509565712": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509565488"}]}, "140162509565488": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162539405376": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361728"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362176"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362624"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363072"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363520"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363968"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364416"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364864"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365312"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365760"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366208"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366656"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367104"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367552"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568368000"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140162534555120"}], "isAbstract": false}, "140162568361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509565824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162509565824": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568361728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509565936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140162509565936": {"type": "Union", "items": [{"nodeId": "140162534555120"}, {"nodeId": "N"}]}, "140162568362176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568362624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566160": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162539415120": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547312768"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313216"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313664"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547314112"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162547312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140162547313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140162547313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509218624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140162509218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162547314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539257920"}, {"nodeId": "140162509218400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140162509218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162568363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566608": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566832": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566944": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509567056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509567056": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567280"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567280": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567616"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567616": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567952"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567952": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509568176"}, {"nodeId": "140162509568288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509568176": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568288": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539405712": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539405376"}], "isAbstract": false}, "140162522190496": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162522191168": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190160"}], "isAbstract": false}, "140162522191504": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190496"}], "isAbstract": false}, "140162526133408": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563592640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593536"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593984"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595328"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596224"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596672"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563597120"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513942144"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162526133408"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "isAbstract": false}, "140162563592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140162526133408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133408", "variance": "INVARIANT"}, "140162563593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140162563593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596672": {"type": "Function", "typeVars": [".-1.140162563596672", ".-2.140162563596672"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563596672"}, {"nodeId": ".-2.140162563596672"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050448"}, {"nodeId": "140162514050560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563596672": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, ".-2.140162563596672": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, "140162514050448": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563596672"}]}, "140162514050560": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563596672"}]}, "140162563597120": {"type": "Function", "typeVars": [".-1.140162563597120", ".-2.140162563597120"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563597120"}, {"nodeId": ".-2.140162563597120"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050672"}, {"nodeId": "140162514051008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597120": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, ".-2.140162563597120": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, "140162514050672": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563597120"}]}, "140162514051008": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563597120"}]}, "140162513942144": {"type": "Overloaded", "items": [{"nodeId": "140162563597568"}, {"nodeId": "140162563598016"}]}, "140162563597568": {"type": "Function", "typeVars": [".-1.140162563597568"], "argTypes": [{"nodeId": ".-1.140162563597568"}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": ".-1.140162563597568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597568", "variance": "INVARIANT"}, "140162563598016": {"type": "Function", "typeVars": [".-1.140162563598016"], "argTypes": [{"nodeId": ".-1.140162563598016"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162514051344"}]}], "returnType": {"nodeId": ".-1.140162563598016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563598016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563598016", "variance": "INVARIANT"}, "140162514051344": {"type": "Tuple", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "140162521917008": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484890400"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484649344"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646208"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647552"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647104"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647328"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646656"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646880"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645760"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645984"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646432"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645536"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645312"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643296"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645088"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643968"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484644416"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162484890400": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051792": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051904": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052016": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052128": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052240"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052240": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052352"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052352": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052464": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052576"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052688"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052688": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052800"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052912"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052912": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053024": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053136"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053136": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053248": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053360"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053360": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053472": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162526133744": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639712"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091136"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091584"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092032"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092480"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092928"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093376"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093824"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526133744"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162484639712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526133744": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133744", "variance": "INVARIANT"}, "140162484639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555092928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514053920"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514053920": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162555093376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555093824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162521917680": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479851776"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484600192"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599296"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599072"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598848"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598624"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598400"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598176"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597952"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597728"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597504"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597280"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479851776": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054256"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054256": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054368"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054480": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054592": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054704": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054816"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054816": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054928": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055040": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055152": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055264"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055264": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918016": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479853456"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484596608"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484595040"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484594368"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593920"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593472"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162479853456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484595040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056048"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056160"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056384"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521918352": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479856928"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484589888"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484587872"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479856928": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484589888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509067920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509067920": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484587872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509068032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509068032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918688": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555634944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635392"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635840"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140162521918688"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}]}, {"nodeId": "140162526603504", "args": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}]}], "isAbstract": false}, "140162555634944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521918688": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521918688", "variance": "INVARIANT"}, "140162555635392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162555635840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526603504": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551601344"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467402400"}}], "typeVars": [{"nodeId": ".1.140162526603504"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__enter__", "__exit__"]}, "140162551601344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}], "returnType": {"nodeId": ".1.140162526603504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526603504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603504", "variance": "COVARIANT"}, "140162467402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}, {"nodeId": "140162509776240"}, {"nodeId": "140162509776352"}, {"nodeId": "140162509776464"}], "returnType": {"nodeId": "140162509776576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509776240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776352": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509776464": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509776576": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162521919024": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782848"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162555782400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}, {"nodeId": "140162534543360"}, {"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140162526128032": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522325824"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522323920"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000496"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142176"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142288"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513469136"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530470688"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471136"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471584"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472032"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472480"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472928"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473376"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530474272"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526128032"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325824": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162521989744": {"type": "Union", "items": [{"nodeId": "140162521991984"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162521992096"}]}]}, "140162521991984": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521992096": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162522323920": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, ".1.140162526128032": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526128032", "variance": "INVARIANT"}, "140162522000496": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142176": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142288": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162513469136": {"type": "Overloaded", "items": [{"nodeId": "140162542939360"}, {"nodeId": "140162530463072"}, {"nodeId": "140162530463520"}, {"nodeId": "140162530463968"}, {"nodeId": "140162530464416"}, {"nodeId": "140162530464864"}]}, "140162542939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513768000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513768224"}, {"nodeId": "140162513768448"}, {"nodeId": "140162513768672"}, {"nodeId": "140162513768896"}, {"nodeId": "140162513769008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513769344"}, {"nodeId": "140162513769568"}, {"nodeId": "140162513769680"}, {"nodeId": "140162513769904"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513770016"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513770128"}, {"nodeId": "140162513770240"}, {"nodeId": "140162513770352"}, {"nodeId": "140162513770576"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513768000": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513768224": {"type": "Union", "items": [{"nodeId": "140162513768112"}, {"nodeId": "N"}]}, "140162513768112": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513768448": {"type": "Union", "items": [{"nodeId": "140162513768336"}, {"nodeId": "N"}]}, "140162513768336": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162526140832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}]}, "140162513768672": {"type": "Union", "items": [{"nodeId": "140162513768560"}, {"nodeId": "N"}]}, "140162513768560": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513768896": {"type": "Union", "items": [{"nodeId": "140162513768784"}, {"nodeId": "N"}]}, "140162513768784": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513769008": {"type": "Union", "items": [{"nodeId": "140162538809472"}, {"nodeId": "N"}]}, "140162538809472": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513769344": {"type": "Union", "items": [{"nodeId": "140162513769232"}, {"nodeId": "N"}]}, "140162513769232": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769568": {"type": "Union", "items": [{"nodeId": "140162513769456"}, {"nodeId": "N"}]}, "140162513769456": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162522000832": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162525830432"}, {"nodeId": "140162522000384"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162521995792"}]}]}, "140162522000384": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521995792": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769680": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513769904": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513770016": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513770128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513770240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770576": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513770464"}]}, {"nodeId": "N"}]}, "140162513770464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513770688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513770912"}, {"nodeId": "140162513771136"}, {"nodeId": "140162513771360"}, {"nodeId": "140162513771584"}, {"nodeId": "140162513771696"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513772032"}, {"nodeId": "140162513772256"}, {"nodeId": "140162513772368"}, {"nodeId": "140162513772592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513772704"}, {"nodeId": "140162513772816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513772928"}, {"nodeId": "140162513773040"}, {"nodeId": "140162513773264"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513770688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513770912": {"type": "Union", "items": [{"nodeId": "140162513770800"}, {"nodeId": "N"}]}, "140162513770800": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513771136": {"type": "Union", "items": [{"nodeId": "140162513771024"}, {"nodeId": "N"}]}, "140162513771024": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771360": {"type": "Union", "items": [{"nodeId": "140162513771248"}, {"nodeId": "N"}]}, "140162513771248": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771584": {"type": "Union", "items": [{"nodeId": "140162513771472"}, {"nodeId": "N"}]}, "140162513771472": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771696": {"type": "Union", "items": [{"nodeId": "140162538809920"}, {"nodeId": "N"}]}, "140162538809920": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513772032": {"type": "Union", "items": [{"nodeId": "140162513771920"}, {"nodeId": "N"}]}, "140162513771920": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513772256": {"type": "Union", "items": [{"nodeId": "140162513772144"}, {"nodeId": "N"}]}, "140162513772144": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513772368": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772592": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513772704": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513772928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773040": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773264": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513773152"}]}, {"nodeId": "N"}]}, "140162513773152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513773376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513773600"}, {"nodeId": "140162513773824"}, {"nodeId": "140162513774048"}, {"nodeId": "140162513774272"}, {"nodeId": "140162513774384"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513774720"}, {"nodeId": "140162513774944"}, {"nodeId": "0"}, {"nodeId": "140162513775280"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513775392"}, {"nodeId": "140162513775504"}, {"nodeId": "140162513775616"}, {"nodeId": "140162513775728"}, {"nodeId": "140162513775840"}, {"nodeId": "140162513776064"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513773376": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513773600": {"type": "Union", "items": [{"nodeId": "140162513773488"}, {"nodeId": "N"}]}, "140162513773488": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513773824": {"type": "Union", "items": [{"nodeId": "140162513773712"}, {"nodeId": "N"}]}, "140162513773712": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774048": {"type": "Union", "items": [{"nodeId": "140162513773936"}, {"nodeId": "N"}]}, "140162513773936": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774272": {"type": "Union", "items": [{"nodeId": "140162513774160"}, {"nodeId": "N"}]}, "140162513774160": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774384": {"type": "Union", "items": [{"nodeId": "140162538804992"}, {"nodeId": "N"}]}, "140162538804992": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513774720": {"type": "Union", "items": [{"nodeId": "140162513774608"}, {"nodeId": "N"}]}, "140162513774608": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513774944": {"type": "Union", "items": [{"nodeId": "140162513774832"}, {"nodeId": "N"}]}, "140162513774832": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513775280": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513775392": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513775504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775616": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513775840": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513776064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513775952"}]}, {"nodeId": "N"}]}, "140162513775952": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513776176"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513776400"}, {"nodeId": "140162513776624"}, {"nodeId": "140162513776848"}, {"nodeId": "140162513777072"}, {"nodeId": "140162513777184"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513777520"}, {"nodeId": "140162513777744"}, {"nodeId": "140162513777856"}, {"nodeId": "140162513778080"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "0"}, {"nodeId": "140162513778304"}, {"nodeId": "140162513778416"}, {"nodeId": "140162513778528"}, {"nodeId": "140162513778640"}, {"nodeId": "140162513778864"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513776176": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513776400": {"type": "Union", "items": [{"nodeId": "140162513776288"}, {"nodeId": "N"}]}, "140162513776288": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513776624": {"type": "Union", "items": [{"nodeId": "140162513776512"}, {"nodeId": "N"}]}, "140162513776512": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513776848": {"type": "Union", "items": [{"nodeId": "140162513776736"}, {"nodeId": "N"}]}, "140162513776736": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777072": {"type": "Union", "items": [{"nodeId": "140162513776960"}, {"nodeId": "N"}]}, "140162513776960": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777184": {"type": "Union", "items": [{"nodeId": "140162538799840"}, {"nodeId": "N"}]}, "140162538799840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513777520": {"type": "Union", "items": [{"nodeId": "140162513777408"}, {"nodeId": "N"}]}, "140162513777408": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513777744": {"type": "Union", "items": [{"nodeId": "140162513777632"}, {"nodeId": "N"}]}, "140162513777632": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513777856": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513778080": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513778304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778416": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778864": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513778752"}]}, {"nodeId": "N"}]}, "140162513778752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513778976"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513779200"}, {"nodeId": "140162513779424"}, {"nodeId": "140162513779648"}, {"nodeId": "140162513779872"}, {"nodeId": "140162513779984"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513780320"}, {"nodeId": "140162513780544"}, {"nodeId": "140162513797296"}, {"nodeId": "140162513797520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513797744"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140162513797856"}, {"nodeId": "140162513797968"}, {"nodeId": "140162513798192"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513778976": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513779200": {"type": "Union", "items": [{"nodeId": "140162513779088"}, {"nodeId": "N"}]}, "140162513779088": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513779424": {"type": "Union", "items": [{"nodeId": "140162513779312"}, {"nodeId": "N"}]}, "140162513779312": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779648": {"type": "Union", "items": [{"nodeId": "140162513779536"}, {"nodeId": "N"}]}, "140162513779536": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779872": {"type": "Union", "items": [{"nodeId": "140162513779760"}, {"nodeId": "N"}]}, "140162513779760": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779984": {"type": "Union", "items": [{"nodeId": "140162538804320"}, {"nodeId": "N"}]}, "140162538804320": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513780320": {"type": "Union", "items": [{"nodeId": "140162513780208"}, {"nodeId": "N"}]}, "140162513780208": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513780544": {"type": "Union", "items": [{"nodeId": "140162513780432"}, {"nodeId": "N"}]}, "140162513780432": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513797296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513797520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513797744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140162513797856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513797968": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513798192": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513798080"}]}, {"nodeId": "N"}]}, "140162513798080": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "A"}]}, {"nodeId": "140162513798416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513798640"}, {"nodeId": "140162513798864"}, {"nodeId": "140162513799088"}, {"nodeId": "140162513799312"}, {"nodeId": "140162513799424"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513799760"}, {"nodeId": "140162513799984"}, {"nodeId": "140162513800096"}, {"nodeId": "140162513800320"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513800432"}, {"nodeId": "140162513800544"}, {"nodeId": "140162513800656"}, {"nodeId": "140162513800768"}, {"nodeId": "140162513800880"}, {"nodeId": "140162513801104"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513798416": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513798640": {"type": "Union", "items": [{"nodeId": "140162513798528"}, {"nodeId": "N"}]}, "140162513798528": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513798864": {"type": "Union", "items": [{"nodeId": "140162513798752"}, {"nodeId": "N"}]}, "140162513798752": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799088": {"type": "Union", "items": [{"nodeId": "140162513798976"}, {"nodeId": "N"}]}, "140162513798976": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799312": {"type": "Union", "items": [{"nodeId": "140162513799200"}, {"nodeId": "N"}]}, "140162513799200": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799424": {"type": "Union", "items": [{"nodeId": "140162538811712"}, {"nodeId": "N"}]}, "140162538811712": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513799760": {"type": "Union", "items": [{"nodeId": "140162513799648"}, {"nodeId": "N"}]}, "140162513799648": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513799984": {"type": "Union", "items": [{"nodeId": "140162513799872"}, {"nodeId": "N"}]}, "140162513799872": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513800096": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513800432": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800544": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513800880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513801104": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513800992"}]}, {"nodeId": "N"}]}, "140162513800992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "140162513801216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513801216": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140162513801328": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162530471584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801440"}, {"nodeId": "140162513801552"}], "returnType": {"nodeId": "140162513801776"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140162513801440": {"type": "Union", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": "N"}]}, "140162513801552": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162513801776": {"type": "Tuple", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": ".1.140162526128032"}]}, "140162530472032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140162530472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530473376": {"type": "Function", "typeVars": [".-1.140162530473376"], "argTypes": [{"nodeId": ".-1.140162530473376"}], "returnType": {"nodeId": ".-1.140162530473376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530473376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530473376", "variance": "INVARIANT"}, "140162530473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801888"}, {"nodeId": "140162513802000"}, {"nodeId": "140162513802112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162513801888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513802000": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162513802112": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162555782848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}], "returnType": {"nodeId": "140162509179920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509179920": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162521919360": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480096976"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577984"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484576864"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577088"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484303712"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296992"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162480096976": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484577984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181488"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181488": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509180928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509180928": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484577088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181264": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484303712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181600"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181600": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484296992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181712": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162521919696": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480099216"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484803552"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804672"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804896"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805120"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805344"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480099216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183168": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183504"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183504": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183840"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183952"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183952": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509184064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509184064": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521920032": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480101008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555915712"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484806688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480101008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162555915712": {"type": "Function", "typeVars": [".-1.140162555915712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162555915712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140162555915712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162555915712", "variance": "INVARIANT"}, "140162484806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509187648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509187648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162521916672": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162534553776": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547737632"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738528"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738976"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471759872"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471760768"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471761664"}}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534553440"}], "isAbstract": false}, "140162547737632": {"type": "Function", "typeVars": [".-1.140162547737632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547737632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547737632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547737632", "variance": "INVARIANT"}, "140162547738080": {"type": "Function", "typeVars": [".-1.140162547738080"], "argTypes": [{"nodeId": ".-1.140162547738080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738080", "variance": "INVARIANT"}, "140162547738528": {"type": "Function", "typeVars": [".-1.140162547738528"], "argTypes": [{"nodeId": ".-1.140162547738528"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738528", "variance": "INVARIANT"}, "140162547738976": {"type": "Function", "typeVars": [".-1.140162547738976"], "argTypes": [{"nodeId": ".-1.140162547738976"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738976", "variance": "INVARIANT"}, "140162471759872": {"type": "Function", "typeVars": [".-1.140162471759872"], "argTypes": [{"nodeId": ".-1.140162471759872"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471759872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471759872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471759872", "variance": "INVARIANT"}, "140162471760768": {"type": "Function", "typeVars": [".-1.140162471760768"], "argTypes": [{"nodeId": ".-1.140162471760768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471760768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471760768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471760768", "variance": "INVARIANT"}, "140162471761664": {"type": "Function", "typeVars": [".-1.140162471761664"], "argTypes": [{"nodeId": ".-1.140162471761664"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471761664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471761664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471761664", "variance": "INVARIANT"}, "140162534553440": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530663264"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471622272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471623168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732704"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733600"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734048"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734496"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140162534552768"}], "isAbstract": false}, "140162530663264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471622272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162509559328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509559328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471623168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547732256": {"type": "Function", "typeVars": [".-1.140162547732256"], "argTypes": [{"nodeId": ".-1.140162547732256"}, {"nodeId": ".-1.140162547732256"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547732256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547732256", "variance": "INVARIANT"}, "140162547732704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547733152": {"type": "Function", "typeVars": [".-1.140162547733152"], "argTypes": [{"nodeId": ".-1.140162547733152"}, {"nodeId": ".-1.140162547733152"}], "returnType": {"nodeId": ".-1.140162547733152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733152", "variance": "INVARIANT"}, "140162547733600": {"type": "Function", "typeVars": [".-1.140162547733600"], "argTypes": [{"nodeId": ".-1.140162547733600"}, {"nodeId": ".-1.140162547733600"}], "returnType": {"nodeId": ".-1.140162547733600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733600", "variance": "INVARIANT"}, "140162547734048": {"type": "Function", "typeVars": [".-1.140162547734048"], "argTypes": [{"nodeId": ".-1.140162547734048"}, {"nodeId": ".-1.140162547734048"}], "returnType": {"nodeId": ".-1.140162547734048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547734048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734048", "variance": "INVARIANT"}, "140162547734496": {"type": "Function", "typeVars": [".-1.140162547734496"], "argTypes": [{"nodeId": ".-1.140162547734496"}], "returnType": {"nodeId": ".-1.140162547734496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547734496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734496", "variance": "INVARIANT"}, "140162534552768": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471617568"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471618240"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530661696"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618464"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530982624"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983072"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983520"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547728672"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162471617568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162471618240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530661696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162471618464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140162471618688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140162530982624": {"type": "Function", "typeVars": [".-1.140162530982624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162530982624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162530982624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530982624", "variance": "INVARIANT"}, "140162530983072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140162547728672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140162539416128": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539415792"}], "isAbstract": false}, "140162522186464": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946336"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946784"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947232"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947680"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522186464"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563945888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140162522186464": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140162539415792"}, "def": "140162522186464", "variance": "INVARIANT"}, "140162563946336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563946784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563947232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162563947680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162539416464": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563948128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564522272"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162563948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564522272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418480": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539419488": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419824": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303520"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": false}, "140162551303520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419824"}, {"nodeId": "140162509773776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162539420160": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303968"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115408"}]}], "isAbstract": false}, "140162551303968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539420160"}, {"nodeId": "140162509773888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522115408": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162539420496": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539420832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539421168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162526593424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526593760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597792": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598128": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598464": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598800": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599136": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599472": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522116304"}]}], "isAbstract": false}, "140162522116304": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526599808": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162526600144": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304416"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115632"}]}], "isAbstract": false}, "140162551304416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600144"}, {"nodeId": "140162509774000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509774000": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522115632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526600480": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304864"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162618234512"}]}], "isAbstract": false}, "140162551304864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600480"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162526600816": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140162526600816"}], "bases": [{"nodeId": "140162539417136"}, {"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162526600816"}]}], "isAbstract": false}, ".1.140162526600816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526600816", "variance": "INVARIANT"}, "140162526601152": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526601488": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162530231344"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416464"}], "isAbstract": false}, "140162530231344": {"type": "Union", "items": [{"nodeId": "140162530231008"}, {"nodeId": "140162530231232"}]}, "140162530231008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}]}, "140162530231232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}, {"nodeId": "140162539258592"}]}, "140162551305312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526601152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526601824": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306208"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306656"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162551305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140162551306208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551306656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526602160": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602496": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602832": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162526603168": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162522187136": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772880"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173024"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772992"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173472"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551308896"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774672"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551312032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522187136"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": true}, "140162509772880": {"type": "Overloaded", "items": [{"nodeId": "140162551307104"}]}, "140162551307104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162522187136": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522187136", "variance": "INVARIANT"}, "140162467173024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509772992": {"type": "Overloaded", "items": [{"nodeId": "140162551308000"}]}, "140162551308000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162467173472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162509774560": {"type": "Overloaded", "items": [{"nodeId": "140162551309344"}, {"nodeId": "140162551309792"}]}, "140162551309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509774672": {"type": "Overloaded", "items": [{"nodeId": "140162551310240"}, {"nodeId": "140162551310688"}]}, "140162551310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551312032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526131056": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335520"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335968"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read", "readline"]}, "140162564335520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564335968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526131728": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526132064": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132400": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132736": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162538808128"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162534567360"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564341344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551595296"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596192"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596640"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597088"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140162526496240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526496240": {"type": "TypeAlias", "target": {"nodeId": "140162526502176"}}, "140162526502176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162526499376"}, {"nodeId": "140162526500048"}, {"nodeId": "140162526500944"}, {"nodeId": "140162526502064"}]}, "140162526499376": {"type": "Tuple", "items": [{"nodeId": "140162538810368"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162538810368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500048": {"type": "Tuple", "items": [{"nodeId": "140162538805216"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140162538805216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500944": {"type": "Tuple", "items": [{"nodeId": "140162538807680"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526500832"}]}, "140162538807680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500832": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526502064": {"type": "Tuple", "items": [{"nodeId": "140162538806112"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526501728"}, {"nodeId": "140162526501952"}]}, "140162538806112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526501728": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526501952": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162534567360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526133072": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162538808576"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598432"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598880"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551599328"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551597536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162526131056"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514044064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140162514044064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162551598432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551598880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551599328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140162564341344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162514043168"}, {"nodeId": "140162618234512"}, {"nodeId": "140162514043280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140162514043168": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162514043280": {"type": "TypeAlias", "target": {"nodeId": "140162526146768"}}, "140162526146768": {"type": "Union", "items": [{"nodeId": "140162542943392"}, {"nodeId": "N"}]}, "140162542943392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551595296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162551596192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551596640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551597088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162526603840": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509225120"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467399936"}}], "typeVars": [{"nodeId": ".1.140162526603840"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140162509225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526603840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526603840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603840", "variance": "COVARIANT"}, "140162467399936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}, {"nodeId": "140162509776800"}, {"nodeId": "140162509776912"}, {"nodeId": "140162509777024"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509777136"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509776800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776912": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777024": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509777136": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604176": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603136"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551603136": {"type": "Function", "typeVars": [".-1.140162551603136"], "argTypes": [{"nodeId": "140162526604176"}, {"nodeId": ".-1.140162551603136"}], "returnType": {"nodeId": ".-1.140162551603136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551603136": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140162534561760"}, "def": "140162551603136", "variance": "INVARIANT"}, "140162534561760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526604512": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603584"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563328"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604032"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526604512"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162526604176"}], "isAbstract": false}, "140162551603584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509897792"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526604512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526604512", "variance": "COVARIANT"}, "140162509897792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526604512"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162534563328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551604032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509777696"}, {"nodeId": "140162509777808"}, {"nodeId": "140162509777920"}], "returnType": {"nodeId": "140162509778032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509777696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509777808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778032": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604848": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604928"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551604928": {"type": "Function", "typeVars": [".-1.140162551604928"], "argTypes": [{"nodeId": "140162526604848"}, {"nodeId": ".-1.140162551604928"}], "returnType": {"nodeId": ".-1.140162551604928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551604928": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140162534562880"}, "def": "140162551604928", "variance": "INVARIANT"}, "140162534562880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526605184": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605376"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530023168"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551602688"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526605184"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162526604848"}], "isAbstract": false}, "140162551605376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509898912"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526605184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526605184", "variance": "COVARIANT"}, "140162509898912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162526605184"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162530023168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551602688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509778480"}, {"nodeId": "140162509778592"}, {"nodeId": "140162509778704"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509778816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140162509778480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509778592": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509778704": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778816": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526605520": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551607616"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close"]}, "140162551607616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605520"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526605856": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608512"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526605856"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526605856"}]}], "isAbstract": false}, "140162551608064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": ".1.140162526605856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526605856": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140162526605520"}, "def": "140162526605856", "variance": "INVARIANT"}, "140162551608512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162526606192": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608960"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["aclose"]}, "140162551608960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606192"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526606528": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605824"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526606528"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526606528"}]}], "isAbstract": false}, "140162551609408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": ".1.140162526606528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526606528": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140162526606192"}, "def": "140162526606528", "variance": "INVARIANT"}, "140162551605824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140162526606864": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610752"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140162551610304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140162551610752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "140162509779152"}, {"nodeId": "140162509779264"}, {"nodeId": "140162509779376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779264": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779376": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607200": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551889984"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890432"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526607200"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526607200"}]}], "isAbstract": false}, "140162551889984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": ".1.140162526607200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140162526607200": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607200", "variance": "INVARIANT"}, "140162530657552": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162551890432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": "140162509779488"}, {"nodeId": "140162509779600"}, {"nodeId": "140162509779712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779488": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607536": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140162526607536"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607536"}]}], "isAbstract": false}, ".1.140162526607536": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607536", "variance": "INVARIANT"}, "140162526607872": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140162526607872"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607872"}]}], "isAbstract": false}, ".1.140162526607872": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607872", "variance": "INVARIANT"}, "140162526608208": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890880"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891328"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891776"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609856"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892672"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892224"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893568"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551890880": {"type": "Function", "typeVars": [".-1.140162551890880"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551890880"}]}], "returnType": {"nodeId": ".-1.140162551890880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551890880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551890880", "variance": "INVARIANT"}, "140162551891328": {"type": "Function", "typeVars": [".-1.140162551891328"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": ".-1.140162551891328"}], "returnType": {"nodeId": ".-1.140162551891328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551891328": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551891328", "variance": "INVARIANT"}, "140162522116864": {"type": "Union", "items": [{"nodeId": "140162526603504", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522116640"}]}, "140162522116640": {"type": "TypeAlias", "target": {"nodeId": "140162530467328"}}, "140162530467328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530230560"}, {"nodeId": "140162530231680"}, {"nodeId": "140162530230784"}], "returnType": {"nodeId": "140162530230336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530230560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162530231680": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162530230784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530230336": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551891776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509899808"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899808": {"type": "Function", "typeVars": [".-2.140162509899808"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899808"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899808", "variance": "INVARIANT"}, "140162509900032": {"type": "Function", "typeVars": [".-2.140162509900032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900032"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900032", "variance": "INVARIANT"}, "140162551609856": {"type": "Function", "typeVars": [".-1.140162551609856"], "argTypes": [{"nodeId": ".-1.140162551609856"}], "returnType": {"nodeId": ".-1.140162551609856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551609856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551609856", "variance": "INVARIANT"}, "140162551892672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551892224": {"type": "Function", "typeVars": [".-1.140162551892224"], "argTypes": [{"nodeId": ".-1.140162551892224"}], "returnType": {"nodeId": ".-1.140162551892224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162551892224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551892224", "variance": "INVARIANT"}, "140162551893568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509779040"}, {"nodeId": "140162509779936"}, {"nodeId": "140162509780048"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779936": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509780048": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608544": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894016"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893120"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894912"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895360"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895808"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896256"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894464"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896704"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897600"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897152"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551894016": {"type": "Function", "typeVars": [".-1.140162551894016"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551894016"}]}], "returnType": {"nodeId": ".-1.140162551894016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551894016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894016", "variance": "INVARIANT"}, "140162551893120": {"type": "Function", "typeVars": [".-1.140162551893120"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603840", "args": [{"nodeId": ".-1.140162551893120"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551893120"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551893120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551893120", "variance": "INVARIANT"}, "140162551894912": {"type": "Function", "typeVars": [".-1.140162551894912"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551894912"}], "returnType": {"nodeId": ".-1.140162551894912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551894912": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551894912", "variance": "INVARIANT"}, "140162551895360": {"type": "Function", "typeVars": [".-1.140162551895360"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551895360"}], "returnType": {"nodeId": ".-1.140162551895360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551895360": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140162522117872"}, "def": "140162551895360", "variance": "INVARIANT"}, "140162522117872": {"type": "Union", "items": [{"nodeId": "140162526603840", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522118208"}]}, "140162522118208": {"type": "TypeAlias", "target": {"nodeId": "140162530466432"}}, "140162530466432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162535238768"}, {"nodeId": "140162535242576"}, {"nodeId": "140162535241232"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162535240000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162535238768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162535242576": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162535241232": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162535240000": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551895808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509899584"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899584": {"type": "Function", "typeVars": [".-2.140162509899584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899584", "variance": "INVARIANT"}, "140162509900480": {"type": "Function", "typeVars": [".-2.140162509900480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900480"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900480", "variance": "INVARIANT"}, "140162551896256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509900256"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509900256": {"type": "Function", "typeVars": [".-2.140162509900256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900256", "variance": "INVARIANT"}, "140162509900928": {"type": "Function", "typeVars": [".-2.140162509900928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900928", "variance": "INVARIANT"}, "140162551894464": {"type": "Function", "typeVars": [".-1.140162551894464"], "argTypes": [{"nodeId": ".-1.140162551894464"}], "returnType": {"nodeId": ".-1.140162551894464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551894464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894464", "variance": "INVARIANT"}, "140162551896704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551897600": {"type": "Function", "typeVars": [".-1.140162551897600"], "argTypes": [{"nodeId": ".-1.140162551897600"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551897600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551897600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551897600", "variance": "INVARIANT"}, "140162551897152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509780608"}, {"nodeId": "140162509780944"}, {"nodeId": "140162509781056"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162618234512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509780608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509780944": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509781056": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608880": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526608880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509780496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899392"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899840"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551898944"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551900288"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526608880"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526608880"}]}], "isAbstract": false}, ".1.140162526608880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526608880", "variance": "INVARIANT"}, "140162509780496": {"type": "Overloaded", "items": [{"nodeId": "140162551898048"}, {"nodeId": "140162551898496"}]}, "140162551898048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140162551898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": ".1.140162526608880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140162551899392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": ".1.140162526608880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551899840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162551898944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526608880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551900288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140162526741552": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551904992"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905440"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905888"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "seek", "write"]}, "140162551904992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551905440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551905888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526741888": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909920"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910368"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "read", "seek"]}, "140162546909472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162546909920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162546910368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522187472": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526741552"}, {"nodeId": "140162526741888"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140162526742224": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910816"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546910816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742224"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043200": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162526742560": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742560"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043424": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526742896": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742896"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522189152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522189152": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741888"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050400"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050848"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051296"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051744"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052640"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053536"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053984"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547049952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140162547050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150688"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140162505150688": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150800"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140162505150800": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547052192": {"type": "Function", "typeVars": [".-1.140162547052192"], "argTypes": [{"nodeId": ".-1.140162547052192"}], "returnType": {"nodeId": ".-1.140162547052192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547052192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547052192", "variance": "INVARIANT"}, "140162547052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150912"}, {"nodeId": "140162505151024"}, {"nodeId": "140162505151136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547053088": {"type": "Function", "typeVars": [".-1.140162547053088"], "argTypes": [{"nodeId": ".-1.140162547053088"}], "returnType": {"nodeId": ".-1.140162547053088"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547053088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547053088", "variance": "INVARIANT"}, "140162547053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509903168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509903168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526744240": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546923808"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924256"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162546923808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148560": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162546924256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526743232": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743232"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522188816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522188816": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741552"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047712"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048160"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048608"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049056"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049504"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140162547047712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547048160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547048608": {"type": "Function", "typeVars": [".-1.140162547048608"], "argTypes": [{"nodeId": ".-1.140162547048608"}], "returnType": {"nodeId": ".-1.140162547048608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547048608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547048608", "variance": "INVARIANT"}, "140162547049056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162505150128"}, {"nodeId": "140162505150240"}, {"nodeId": "140162505150352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505150240": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505150352": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547049504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509902496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526743568": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743568"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162526744576": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924704"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463509056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040544"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040992"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041440"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162546924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463509056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162547040544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547040992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "140162505148896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505148896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162547041440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162505149008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149008": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162526743904": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546913056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546913056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743904"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162522187808": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463540256"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538688"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463536448"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538016"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531072"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546916192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162463540256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043648"}], "returnType": {"nodeId": "140162526742224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043648": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043760"}], "returnType": {"nodeId": "140162526742560"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043760": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463536448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043872"}], "returnType": {"nodeId": "140162526742896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043872": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043984"}], "returnType": {"nodeId": "140162526743232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043984": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044096"}], "returnType": {"nodeId": "140162526743568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044096": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044208"}], "returnType": {"nodeId": "140162526743904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044208": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162546916192": {"type": "Function", "typeVars": [".-1.140162546916192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162510043536"}, {"nodeId": "140162510044320"}, {"nodeId": "140162510044432"}, {"nodeId": "140162510044544"}, {"nodeId": "140162510044656"}, {"nodeId": "140162510044768"}], "returnType": {"nodeId": ".-1.140162546916192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140162510043536": {"type": "Union", "items": [{"nodeId": "140162526742896"}, {"nodeId": "N"}]}, "140162510044320": {"type": "Union", "items": [{"nodeId": "140162526743232"}, {"nodeId": "N"}]}, "140162510044432": {"type": "Union", "items": [{"nodeId": "140162526743568"}, {"nodeId": "N"}]}, "140162510044544": {"type": "Union", "items": [{"nodeId": "140162526743904"}, {"nodeId": "N"}]}, "140162510044656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510044768": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, ".-1.140162546916192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162546916192", "variance": "INVARIANT"}, "140162522188144": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547044128"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463507264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045024"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140162526744576"}], "isAbstract": true}, "140162547044128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463507264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162547045024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162522188480": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045472"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463506144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046368"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": true}, "140162547045472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463506144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505149680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505149904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162505149680": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505149904": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162547046368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505150016"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505150016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162522189488": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522187472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054880"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055328"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055776"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547056224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188448"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188896"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189344"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189792"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190688"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191136"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191584"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192032"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192480"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192928"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193376"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193824"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194272"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194720"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195168"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525828080"}], "isAbstract": false}, "140162547054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140162547054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151472"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505151472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151584"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505151584": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547188000": {"type": "Function", "typeVars": [".-1.140162547188000"], "argTypes": [{"nodeId": ".-1.140162547188000"}], "returnType": {"nodeId": ".-1.140162547188000"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547188000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547188000", "variance": "INVARIANT"}, "140162547188448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547188896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547189344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547189792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547190240": {"type": "Function", "typeVars": [".-1.140162547190240"], "argTypes": [{"nodeId": ".-1.140162547190240"}], "returnType": {"nodeId": ".-1.140162547190240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547190240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547190240", "variance": "INVARIANT"}, "140162547190688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151696"}, {"nodeId": "140162505151808"}, {"nodeId": "140162505151920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505151696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547191136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547191584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505152144"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547194272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547194720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547195168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745248": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196064"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196512"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196960"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197408"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197856"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198304"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198752"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199200"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199648"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200096"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200992"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201440"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201888"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202336"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202784"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203232"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203680"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547302688"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303136"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303584"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525827744"}], "isAbstract": false}, "140162547195616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140162547196064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547196512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152256"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547196960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152368"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505152368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547197408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547197856": {"type": "Function", "typeVars": [".-1.140162547197856"], "argTypes": [{"nodeId": ".-1.140162547197856"}], "returnType": {"nodeId": ".-1.140162547197856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547197856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547197856", "variance": "INVARIANT"}, "140162547198304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547198752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547199200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547199648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547200096": {"type": "Function", "typeVars": [".-1.140162547200096"], "argTypes": [{"nodeId": ".-1.140162547200096"}], "returnType": {"nodeId": ".-1.140162547200096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547200096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547200096", "variance": "INVARIANT"}, "140162547200544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152592"}, {"nodeId": "140162505152704"}, {"nodeId": "140162505152816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505152592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505152704": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505152816": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547200992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547201440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547201888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152928": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547302688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539406384": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539406720": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539407056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407392": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407728": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}, {"nodeId": "140162539273040"}], "isAbstract": false}, "140162539408064": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539408736": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409072": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409408": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409744": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410080": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410416": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410752": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411088": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411424": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411760": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412096": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412432": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412768": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539413104": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413440": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413776": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162547315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539413776"}, {"nodeId": "140162509767392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140162509767392": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539414112": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414448": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414784": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162534554448": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547370688"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371136"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371584"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372032"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372480"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162547370688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560672": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539406048"}]}, "140162539406048": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482272"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483168"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543484064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162543482272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568400"}, {"nodeId": "140162509568512"}, {"nodeId": "140162509568624"}, {"nodeId": "140162509568736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140162509568400": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568512": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568624": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568736": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543482720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568848"}, {"nodeId": "140162509568960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140162509568848": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}]}, "140162509568960": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543483168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509569072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140162509569072": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543483616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162543484064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547372480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162534554784": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534566688"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539415120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373376"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373824"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374272"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374720"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547375168"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162534566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162509560896"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509561008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509219520"}, {"nodeId": "140162539415120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140162509560896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509561008": {"type": "Union", "items": [{"nodeId": "140162509219296"}, {"nodeId": "N"}]}, "140162509219296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162509219520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547373376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509561232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509561232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547373824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509561456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509561456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547374272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547374720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547375168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526126688": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377184"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377632"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547378080"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526126688"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, ".1.140162526126688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526126688", "variance": "INVARIANT"}, "140162547377184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}, {"nodeId": "140162513468688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513468800"}, {"nodeId": "140162513468912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140162513468688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513468800": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162513468912": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162547377632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547378080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526127024": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526127360": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023392"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258928"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522322128"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000608"}}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127360"}, {"nodeId": "140162513767216"}, {"nodeId": "140162539258928"}, {"nodeId": "140162513767328"}, {"nodeId": "140162513767440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140162513767216": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522322128": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522000608": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526127696": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127696"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513767552"}, {"nodeId": "140162513767664"}, {"nodeId": "140162513767776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140162513767552": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162534552096": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971872"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "isAbstract": false}, "140162530971424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530971872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162534552432": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530973664"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471612864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975904"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976352"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976800"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471613088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530977696"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978144"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978592"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509355856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534552768"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "A"}, {"nodeId": "140162534552768"}]}}], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162530973664": {"type": "Function", "typeVars": [".-1.140162530973664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162534552096"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530973664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140162530973664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530973664", "variance": "INVARIANT"}, "140162471612864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534552096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140162530975456": {"type": "Function", "typeVars": [".-1.140162530975456"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975456": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975456", "variance": "INVARIANT"}, "140162530975904": {"type": "Function", "typeVars": [".-1.140162530975904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975904": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975904", "variance": "INVARIANT"}, "140162530976352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162530976800": {"type": "Function", "typeVars": [".-1.140162530976800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530976800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162530976800": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530976800", "variance": "INVARIANT"}, "140162471613088": {"type": "Function", "typeVars": [".-1.140162471613088"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162471613088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162471613088": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471613088", "variance": "INVARIANT"}, "140162530977696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530978144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530978592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509355856": {"type": "Overloaded", "items": [{"nodeId": "140162530979040"}, {"nodeId": "140162530979936"}]}, "140162530979040": {"type": "Function", "typeVars": [".-1.140162530979040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140162530979040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140162530979040": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530979040", "variance": "INVARIANT"}, "140162530979936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509558208"}, {"nodeId": "140162509558320"}, {"nodeId": "140162509558432"}, {"nodeId": "140162509558544"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140162509558208": {"type": "TypeAlias", "target": {"nodeId": "140162530661584"}}, "140162530661584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162530663376"}]}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}]}, "140162530663376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162509558320": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558432": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558544": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162534553104": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471620704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547729568"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534552768"}], "isAbstract": false}, "140162471620704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547729568": {"type": "Function", "typeVars": [".-1.140162547729568"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547729568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547729568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547729568", "variance": "INVARIANT"}, "140162522186128": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471621376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547730912"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162471621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547730912": {"type": "Function", "typeVars": [".-1.140162547730912"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162547730912"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162547730912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547730912", "variance": "INVARIANT"}, "140162526129712": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526143296"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526145760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245312"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526143296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526145760": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534245312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513805696"}, {"nodeId": "140162513805360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140162513805696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513805360": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526130048": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245760"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162534245760": {"type": "Function", "typeVars": [".-1.140162534245760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162534245760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140162534245760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162534245760", "variance": "INVARIANT"}, "140162526755328": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534248448"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534248448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526128368": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526128704": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526141056"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522321568"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488186720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832544"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832992"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833440"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833888"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526141056": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522321568": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488186720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542832544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162513802896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162513802896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542832992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140162526129040": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162522325712"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522266672"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526128704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542834336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835232"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837024"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837920"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838368"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325712": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162522323360": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162522322352"}]}, "140162522322352": {"type": "TypeAlias", "target": {"nodeId": "140162522322912"}}, "140162522322912": {"type": "Union", "items": [{"nodeId": "140162522324928"}, {"nodeId": "140162522325488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162526129040"}]}, {"nodeId": "140162522322688"}, {"nodeId": "140162522322800"}]}, "140162522324928": {"type": "TypeAlias", "target": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526142848"}]}}, "140162526142848": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162539258592"}]}, "140162522325488": {"type": "TypeAlias", "target": {"nodeId": "140162522001952"}}, "140162522001952": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162526129040"}]}]}, "140162522322688": {"type": "TypeAlias", "target": {"nodeId": "140162522001840"}}, "140162522001840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}, {"nodeId": "140162526129040"}]}, "140162522322800": {"type": "TypeAlias", "target": {"nodeId": "140162522327392"}}, "140162522327392": {"type": "Tuple", "items": [{"nodeId": "140162526141504"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}]}, "140162526141504": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522266672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162542834336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162526128704"}, {"nodeId": "140162513803120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140162513803120": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162513803008"}]}, {"nodeId": "N"}]}, "140162513803008": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542835232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140162542835680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542836128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803344": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162542836576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803680"}], "returnType": {"nodeId": "140162513803456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513803456": {"type": "Union", "items": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803232"}]}, "140162513803232": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803792"}, {"nodeId": "140162513804128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162513803792": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513804128": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513803904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140162513803904": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140162513803568": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542838368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162513804576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162542833440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140162542833888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140162526129376": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522262864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839264"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839712"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840160"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840608"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488182016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542841952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842400"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842848"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522262864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542838816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162542839264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140162542839712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162513804016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804016": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542840160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140162542840608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140162488182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542841952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542842400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140162542842848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526129712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}}, "types": {}, "definitions": {"import_test": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140162522192512"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140162534547392"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921376"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921712"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922048"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534547728"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922384"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521922720"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521923056"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522185792"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140162525833456"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140162525833792"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140162525834128"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140162525834464"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140162539191456"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140162526740544"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162526740880"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162526741216"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525834800"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525835136"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525835472"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525835808"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140162539191792"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140162525836144"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140162618234176"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140162618234512"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140162618234848"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244256"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244592"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140162539257920"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140162539258256"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140162539258592"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140162539258928"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140162539259264"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140162539259600"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140162539259936"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140162539260272"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140162525830432"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140162525830768"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140162539260608"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140162539260944"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140162539261280"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140162539261616"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140162539261952"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140162525831104"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140162525831440"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140162525831776"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140162539262288"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140162539262624"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140162539262960"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521913648"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140162539263296"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140162525832112"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140162539263632"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140162525832448"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140162521913984"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140162539263968"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140162539264304"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140162539264640"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140162525832784"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140162539264976"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140162539265312"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140162521914320"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140162525833120"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140162539265648"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140162539265984"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266320"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140162539266656"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266992"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140162539267328"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539267664"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140162539268000"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140162539268336"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140162539268672"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140162539269008"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140162539269344"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140162539269680"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140162539270016"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539270352"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539270688"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140162539271024"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140162539271360"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140162539271696"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539272032"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140162539272368"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140162539272704"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140162539273040"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140162539273376"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140162539273712"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140162539176000"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140162539176336"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539176672"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140162539177008"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140162539177344"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140162539177680"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140162539178016"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162539178352"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140162539178688"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140162539179024"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179360"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179696"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140162539180032"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140162539180368"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539180704"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140162539181040"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181376"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181712"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140162539182048"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539182384"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140162539182720"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140162539183056"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140162539183392"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140162539183728"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140162539184064"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184400"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184736"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539185072"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140162539185408"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140162539185744"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186080"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186416"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186752"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187088"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187424"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187760"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188096"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188432"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188768"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189104"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189440"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140162534548064"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534548736"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549072"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549408"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549744"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550080"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550416"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534550752"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140162534551088"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140162534551424"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140162534551760"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162534544704"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140162534545376"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140162534545712"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140162534546048"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140162522192176"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140162534546384"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140162534546720"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521920368"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521921040"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140162534547056"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162526125680"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140162521914656"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140162521914992"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915328"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140162526126016"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915664"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140162521916000"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140162526126352"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140162521916336"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140162525838832"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526117952"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140162526118288"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140162526118624"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140162526118960"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140162526119296"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140162526119632"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526119968"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526120304"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140162526120640"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526120976"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140162526121312"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526121648"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526121984"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140162526122320"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122656"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122992"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140162526123328"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140162526123664"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124000"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124336"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140162526124672"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140162526125008"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140162526125344"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140162526745920"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140162526746256"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140162526746592"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140162526746928"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140162526747264"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140162526747600"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140162526747936"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140162526748272"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748608"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748944"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749280"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749616"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526749952"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526750288"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140162526750624"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140162526750960"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526751296"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140162526751632"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140162526751968"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752304"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752640"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140162526752976"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140162526753312"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140162526753648"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526753984"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526754320"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140162526754656"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140162526754992"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162618235184"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162618235520"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140162618235856"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140162618236192"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162618236528"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140162618236864"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140162618237200"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140162525823040"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140162525823376"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140162525823712"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140162525824048"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140162525824384"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525824720"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140162618237536"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140162618237872"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140162525825056"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140162525825392"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140162618238208"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140162618238544"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140162618238880"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140162618239216"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140162618239552"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140162618239888"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162525825728"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140162618240224"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140162618240560"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162618240896"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140162618241232"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140162618241568"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140162618241904"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140162618242240"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242576"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242912"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140162525826064"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162525826400"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140162525826736"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162525827072"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243248"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243584"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140162525827408"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140162525827744"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140162525828080"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140162525828416"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525828752"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525829088"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140162618243920"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525829424"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525829760"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525830096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162525836480"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525836816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525837152"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525837488"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162525837824"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525838496"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140162526755664"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140162526756000"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140162526756336"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140162521710656"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162521710992"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140162521711328"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140162521711664"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140162521712000"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140162521712336"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521712672"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713008"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713344"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140162521713680"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140162521714016"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140162521714352"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521714688"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521715024"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140162521715360"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140162521715696"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140162521716032"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140162521716368"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140162521716704"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140162521717040"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140162521717376"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140162521717712"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140162521718048"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140162521718384"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521718720"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140162521719056"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140162521719392"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140162521719728"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140162521720064"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140162521720400"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140162521720736"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140162521721072"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721408"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721744"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140162521722080"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140162521722416"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140162521722752"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140162521723088"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140162521723424"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140162521723760"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724096"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724432"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140162521724768"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140162521725104"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140162521725440"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521725776"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140162521726112"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140162521726448"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140162521825344"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140162521825680"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140162521826016"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140162521826352"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140162521826688"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140162521827024"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140162521827360"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140162521827696"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140162521828032"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140162521828368"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140162521828704"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140162521829040"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140162521829376"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140162521829712"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140162521830048"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140162521830384"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140162521830720"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140162521831056"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140162521831392"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140162521831728"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140162521832064"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140162521832400"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140162521832736"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140162521833072"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140162521833408"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140162521833744"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140162521834080"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140162521834416"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140162521834752"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140162521835088"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140162521835424"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140162521835760"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140162521836096"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140162521836432"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140162521836768"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140162521837104"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140162521837440"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140162521837776"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140162521838112"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140162521838448"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140162521838784"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140162521839120"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140162521839456"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140162521839792"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140162521840128"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140162521840464"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140162521840800"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140162521841136"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140162521907264"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907600"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907936"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140162521908272"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140162521908608"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140162521908944"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140162521909280"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140162521909616"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140162521909952"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140162521910288"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140162521910624"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140162521910960"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140162521911296"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140162521911632"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140162521911968"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140162521912304"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140162521912640"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140162521912976"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140162521913312"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140162534539664"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540000"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540336"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540672"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541008"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541344"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140162534541680"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140162534542016"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140162534542352"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140162534542688"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534543024"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140162534543360"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140162534543696"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522191840"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539189776"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190112"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190448"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140162539190784"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140162539191120"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140162534544368"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140162539405376"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140162539405712"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140162522189824"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190160"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190496"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140162522190832"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191168"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191504"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140162526133408"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917008"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521917344"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140162526133744"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917680"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140162521918016"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140162521918352"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140162521918688"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140162521919024"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919360"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919696"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140162521920032"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140162526130384"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140162526130720"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140162521916672"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140162526745584"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539415792"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539416128"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522186464"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539416464"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140162539416800"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140162539417136"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140162539417472"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539417808"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539418144"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140162539418480"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140162539418816"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140162522186800"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140162539419152"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140162539419488"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140162539419824"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140162539420160"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140162539420496"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140162539420832"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140162539421168"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140162526593088"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140162526593424"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140162526593760"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140162526594096"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140162526594432"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140162526594768"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140162526595104"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140162526595440"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140162526595776"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140162526596112"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140162526596448"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140162526596784"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140162526597120"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140162526597456"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140162526597792"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140162526598128"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140162526598464"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140162526598800"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140162526599136"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140162526599472"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140162526599808"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140162526600144"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140162526600480"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140162526600816"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140162526601152"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140162526601488"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140162526601824"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140162526602160"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140162526602496"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526602832"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526603168"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140162522187136"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140162534539328"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140162526131056"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140162526131392"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140162526131728"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132064"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132400"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140162526132736"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140162526133072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603504"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603840"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604176"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526604512"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604848"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526605184"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140162526605520"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140162526605856"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140162526606192"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140162526606528"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140162526606864"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140162526607200"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140162526607536"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140162526607872"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608208"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608544"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140162526608880"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741552"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741888"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140162522187472"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742224"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742560"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162526742896"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162526743232"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743568"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743904"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140162522187808"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140162526744240"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744576"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744912"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188144"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188480"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522188816"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162522189152"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522189488"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526745248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140162539415456"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140162539415120"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140162539406384"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539406720"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539407056"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140162539407392"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140162539407728"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140162539408064"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408400"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408736"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409072"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409408"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409744"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410080"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410416"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410752"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411088"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411424"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411760"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412096"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412432"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412768"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413104"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140162539413440"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413776"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414112"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414448"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414784"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140162534554448"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140162534554784"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140162526126688"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127024"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140162526127360"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127696"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140162526128032"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140162534552096"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140162534552432"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140162534552768"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140162534553104"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140162522186128"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140162534553440"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140162534553776"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140162526129712"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140162526130048"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140162526755328"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140162539406048"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140162526128368"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140162526128704"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140162526129040"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140162526129376"}}}}, "names": {"import_test": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "im", "kind": "Module", "fullname": "importlib.machinery"}, {"name": "c", "kind": "Module", "fullname": "collections"}, {"name": "deque", "kind": "ImportedType", "fullname": "collections.deque"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "A", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json b/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json new file mode 100644 index 0000000000..e7d009b631 --- /dev/null +++ b/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json @@ -0,0 +1 @@ +{"nodeStorage": {"140042577367376": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105712"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712020832"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021280"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021728"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022176"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022624"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139360"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139808"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140256"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141600"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142048"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142496"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142944"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143392"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143840"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144288"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144736"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145184"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145632"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146080"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146528"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146976"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147424"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147872"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148320"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148768"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150112"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150560"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151008"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151456"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151904"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152352"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152800"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153248"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153696"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712252704"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253152"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253600"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254048"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254496"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254944"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105824"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256288"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256736"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257184"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257632"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258080"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259424"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259872"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261216"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261664"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262112"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262560"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042552105712": {"type": "Overloaded", "items": [{"nodeId": "140042712019936"}, {"nodeId": "140042552084512"}]}, "140042712019936": {"type": "Function", "typeVars": [".-1.140042712019936"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042712019936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140042782775936": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418560"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556832816"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511004416"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719782816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783264"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783712"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784160"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784608"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785056"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785504"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785952"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786400"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787296"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787744"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788640"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674208"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674656"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140042569418560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140042577369056": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707886688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887136"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887584"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888032"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888480"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559648"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559984"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552560768"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707891616"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892064"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892512"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892960"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893408"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893856"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009248"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708010144"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561104"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "isAbstract": false}, "140042552559424": {"type": "Overloaded", "items": [{"nodeId": "140042707883552"}, {"nodeId": "140042707884000"}, {"nodeId": "140042707884448"}, {"nodeId": "140042707884896"}, {"nodeId": "140042707885344"}, {"nodeId": "140042707885792"}, {"nodeId": "140042707886240"}]}, "140042707883552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577369056": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, ".2.140042577369056": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, "140042707884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042707884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568807952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710112"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "keys"]}, "140042749710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568807952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "INVARIANT"}, ".2.140042568807952": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "COVARIANT"}, "140042782780640": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548302048"}}], "typeVars": [{"nodeId": ".1.140042782780640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042548302048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780640"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782780640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780640", "variance": "COVARIANT"}, "140042782780976": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548304960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753674592"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042782780976"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780976"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140042548304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": ".1.140042782780976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780976", "variance": "COVARIANT"}, "140042753674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140042749710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}, {"nodeId": ".1.140042568807952"}], "returnType": {"nodeId": ".2.140042568807952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042707885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552560208": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042707885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560432"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042552560432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, "140042707886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577368720": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552393536"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755168"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755616"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756064"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756512"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756960"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757408"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757856"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707758304"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552557632"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707759648"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707760096"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558864"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558976"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707762336"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559200"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707878624"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879520"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879968"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880416"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880864"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882208"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707883104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368720"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577368720"}]}], "isAbstract": false}, "140042552393536": {"type": "Overloaded", "items": [{"nodeId": "140042707754272"}, {"nodeId": "140042707754720"}]}, "140042707754272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577368720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368720", "variance": "INVARIANT"}, "140042707754720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707755616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042578051136": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547893344"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042547893344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365696": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099552"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720053280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510994112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510995008"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993888"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720056416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720057760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510992768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720058656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552100672"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711793952"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794400"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794848"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795744"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796192"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796640"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797088"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797536"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797984"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798432"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798880"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799328"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799776"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800224"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800672"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801120"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801568"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803360"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803808"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804256"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804704"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805152"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805600"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806048"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806496"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806944"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099552": {"type": "Overloaded", "items": [{"nodeId": "140042556323904"}, {"nodeId": "140042556325024"}]}, "140042556323904": {"type": "Function", "typeVars": [".-1.140042556323904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101344"}], "returnType": {"nodeId": ".-1.140042556323904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552101344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042552101232"}, {"nodeId": "140042577725808"}, {"nodeId": "140042578051136"}, {"nodeId": "140042568807280"}]}, "140042552101232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569012208": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042569012096"}]}, "140042577732864": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106944"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264352"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264800"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265696"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266144"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266592"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267488"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267936"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157280"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157728"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158176"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158624"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159072"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159520"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159968"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160416"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160864"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161312"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161760"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162208"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162656"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163104"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163552"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164000"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164448"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164896"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165344"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165792"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166240"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166688"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167136"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167584"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168032"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168480"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168928"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169376"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169824"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170272"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170720"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707171168"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506026592"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506158592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552110416"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240544"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240992"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241440"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241888"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242336"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242784"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243680"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244128"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244576"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707245024"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577730848"}], "isAbstract": false}, "140042552106944": {"type": "Overloaded", "items": [{"nodeId": "140042552084960"}, {"nodeId": "140042712263456"}, {"nodeId": "140042712263904"}]}, "140042552084960": {"type": "Function", "typeVars": [".-1.140042552084960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552111648"}], "returnType": {"nodeId": ".-1.140042552084960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042552111648": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042577726816"}, {"nodeId": "140042552111536"}]}, "140042577726816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548193408"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__bytes__"]}, "140042548193408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111536": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084960", "variance": "INVARIANT"}, "140042712263456": {"type": "Function", "typeVars": [".-1.140042712263456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042712263456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140042712263456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263456", "variance": "INVARIANT"}, "140042712263904": {"type": "Function", "typeVars": [".-1.140042712263904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042712263904"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712263904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263904", "variance": "INVARIANT"}, "140042712264352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552111872"}, {"nodeId": "140042552111984"}, {"nodeId": "140042552112096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552111872": {"type": "Union", "items": [{"nodeId": "140042552111760"}, {"nodeId": "140042578051136"}]}, "140042552111760": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552111984": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112096": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712265696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712266144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112432"}, {"nodeId": "140042552112544"}, {"nodeId": "140042552112656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112432": {"type": "Union", "items": [{"nodeId": "140042552112208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552112320"}]}]}, "140042552112208": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577368384": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707647200"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392080"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747104"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748896"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392752"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750240"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751136"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707752032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368384"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042577368384"}]}], "isAbstract": false}, "140042707646304": {"type": "Function", "typeVars": [".-1.140042707646304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": ".-1.140042707646304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140042577368384": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368384", "variance": "COVARIANT"}, ".-1.140042707646304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707646304", "variance": "INVARIANT"}, "140042707646752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707647200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782776944": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707637344"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390624"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390736"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391520"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391632"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391744"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391856"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707643168"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042707637344": {"type": "Function", "typeVars": [".-1.140042707637344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042707637344"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140042707637344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707637344", "variance": "INVARIANT"}, "140042552390624": {"type": "Overloaded", "items": [{"nodeId": "140042707637792"}, {"nodeId": "140042707638240"}]}, "140042707637792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707638240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552390736": {"type": "Overloaded", "items": [{"nodeId": "140042707638688"}, {"nodeId": "140042707639136"}]}, "140042707638688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707639136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391520": {"type": "Overloaded", "items": [{"nodeId": "140042707639584"}, {"nodeId": "140042707640032"}]}, "140042707639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391632": {"type": "Overloaded", "items": [{"nodeId": "140042707640480"}, {"nodeId": "140042707640928"}]}, "140042707640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391744": {"type": "Overloaded", "items": [{"nodeId": "140042707641376"}, {"nodeId": "140042707641824"}]}, "140042707641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707641824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391856": {"type": "Overloaded", "items": [{"nodeId": "140042707642272"}, {"nodeId": "140042707642720"}]}, "140042707642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042552392304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552392304": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042552392080": {"type": "Overloaded", "items": [{"nodeId": "140042707647648"}, {"nodeId": "140042707648096"}]}, "140042707647648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707648096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577368048": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506352928"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437120"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391968"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707645856"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506352928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552391968": {"type": "Overloaded", "items": [{"nodeId": "140042707644960"}, {"nodeId": "140042707645408"}]}, "140042707644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707645408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707645856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042552393424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552393424": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042707747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707747552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552392752": {"type": "Overloaded", "items": [{"nodeId": "140042707749344"}, {"nodeId": "140042707749792"}]}, "140042707749344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707749792": {"type": "Function", "typeVars": [".-1.140042707749792"], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".-1.140042707749792"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042552557744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707749792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707749792", "variance": "INVARIANT"}, "140042552557744": {"type": "Union", "items": [{"nodeId": ".1.140042577368384"}, {"nodeId": ".-1.140042707749792"}]}, "140042707750240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707750688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707751584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707752032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578059872": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305248"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305696"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716216928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716332320"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716333664"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544305248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365024": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999264"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998816"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998592"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998368"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998144"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997920"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997472"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556833264"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042551965648"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749685856"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556324128"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749686752"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687200"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687648"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510997024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688992"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042510999264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053824": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872416"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872864"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645088"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646432"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646880"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647328"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648224"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "isAbstract": false}, "140042715871968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042578053824": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "INVARIANT"}, ".2.140042578053824": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "COVARIANT"}, "140042715872416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": ".1.140042578053824"}], "returnType": {"nodeId": ".2.140042578053824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715872864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729168": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110880"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111776"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112672"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754113120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261280"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577729168"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577729168"}]}], "isAbstract": false}, "140042754108640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577729168"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729168": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729168", "variance": "COVARIANT"}, "140042577363344": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548587520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754264864"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265312"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265760"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754266208"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577363344"}]}], "isAbstract": true}, "140042548587520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": ".2.140042577363344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577363344": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "INVARIANT"}, ".2.140042577363344": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "COVARIANT"}, "140042564815440": {"type": "Overloaded", "items": [{"nodeId": "140042754263968"}, {"nodeId": "140042754264416"}]}, "140042754263968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": "140042564820592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564820592": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": "N"}]}, "140042754264416": {"type": "Function", "typeVars": [".-1.140042754264416"], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}, {"nodeId": "140042564820704"}], "returnType": {"nodeId": "140042564820816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564820704": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, ".-1.140042754264416": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754264416", "variance": "INVARIANT"}, "140042564820816": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, "140042754264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728832": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042577829264"}]}], "isAbstract": false}, "140042754103264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577728832": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, ".2.140042577728832": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, "140042754103712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564817344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577733536": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012384"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012832"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013280"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013728"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014176"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014624"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015072"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015520"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015968"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016416"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016864"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017312"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017760"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018208"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019104"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020448"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020896"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021344"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021792"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022688"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023136"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023584"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024032"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024480"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024928"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173088"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173536"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733536"}], "bases": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577733536"}]}], "isAbstract": false}, "140042552561552": {"type": "Overloaded", "items": [{"nodeId": "140042708011488"}, {"nodeId": "140042708011936"}]}, "140042708011488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577733536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733536", "variance": "INVARIANT"}, "140042708011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708013280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708013728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708014176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708014624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708015968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708018208": {"type": "Function", "typeVars": [".-1.140042708018208"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708018208"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563680"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708018208": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708018208", "variance": "INVARIANT"}, "140042552563680": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708018208"}]}, "140042708018656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708019104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708019552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708020000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708020448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782785008": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548529856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896992"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898784"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899232"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753900128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140042782785008"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782785008"}]}], "isAbstract": true}, "140042548529856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782785008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782785008", "variance": "COVARIANT"}, "140042753896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899680": {"type": "Function", "typeVars": [".-1.140042753899680"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042753899680"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753899680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753899680", "variance": "INVARIANT"}, "140042564816224": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042753899680"}]}, "140042753900128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754097440": {"type": "Function", "typeVars": [".-1.140042754097440"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042754097440"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754097440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754097440", "variance": "INVARIANT"}, "140042564816448": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042754097440"}]}, "140042754097888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042782784000": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548376320"}}], "typeVars": [{"nodeId": ".1.140042782784000"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784000"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782784000"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140042548376320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784000"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782784000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784000", "variance": "COVARIANT"}, "140042782783664": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373632"}}], "typeVars": [{"nodeId": ".1.140042782783664"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__"]}, "140042548373632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782783664"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782783664": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783664", "variance": "COVARIANT"}, "140042708020896": {"type": "Function", "typeVars": [".-1.140042708020896"], "argTypes": [{"nodeId": ".-1.140042708020896"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708020896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708020896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708020896", "variance": "INVARIANT"}, "140042708021344": {"type": "Function", "typeVars": [".-1.140042708021344"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708021344"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021344", "variance": "INVARIANT"}, "140042552563792": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708021344"}]}, "140042708021792": {"type": "Function", "typeVars": [".-1.140042708021792"], "argTypes": [{"nodeId": ".-1.140042708021792"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708021792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021792", "variance": "INVARIANT"}, "140042708022240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042552563904"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552563904": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": "N"}]}, "140042708022688": {"type": "Function", "typeVars": [".-1.140042708022688"], "argTypes": [{"nodeId": ".-1.140042708022688"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708022688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708022688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708022688", "variance": "INVARIANT"}, "140042708023136": {"type": "Function", "typeVars": [".-1.140042708023136"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708023136"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552564016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023136": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023136", "variance": "INVARIANT"}, "140042552564016": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708023136"}]}, "140042708023584": {"type": "Function", "typeVars": [".-1.140042708023584"], "argTypes": [{"nodeId": ".-1.140042708023584"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708023584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023584", "variance": "INVARIANT"}, "140042708024032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042577363008": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548531424"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548539040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140042577363008"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "isAbstract": true}, "140042548531424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140042577363008": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363008", "variance": "INVARIANT"}, "140042548539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754099232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754099680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".1.140042577363008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754100128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754100576": {"type": "Function", "typeVars": [".-1.140042754100576"], "argTypes": [{"nodeId": ".-1.140042754100576"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754100576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754100576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754100576", "variance": "INVARIANT"}, "140042754101024": {"type": "Function", "typeVars": [".-1.140042754101024"], "argTypes": [{"nodeId": ".-1.140042754101024"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101024", "variance": "INVARIANT"}, "140042754101472": {"type": "Function", "typeVars": [".-1.140042754101472"], "argTypes": [{"nodeId": ".-1.140042754101472"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754101472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101472", "variance": "INVARIANT"}, "140042754101920": {"type": "Function", "typeVars": [".-1.140042754101920"], "argTypes": [{"nodeId": ".-1.140042754101920"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101920", "variance": "INVARIANT"}, "140042564817344": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754104160": {"type": "Function", "typeVars": [".-1.140042754104160"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754104160"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754104160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754104160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754104160", "variance": "INVARIANT"}, "140042754104608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754105056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817568": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817792"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817792": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105952": {"type": "Function", "typeVars": [".-1.140042754105952"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754105952"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754105952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754105952", "variance": "INVARIANT"}, "140042564818128": {"type": "Union", "items": [{"nodeId": "140042564818016"}, {"nodeId": ".-1.140042754105952"}]}, "140042564818016": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106400": {"type": "Function", "typeVars": [".-1.140042754106400"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754106400"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754106400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754106400", "variance": "INVARIANT"}, "140042564818464": {"type": "Union", "items": [{"nodeId": "140042564818352"}, {"nodeId": ".-1.140042754106400"}]}, "140042564818352": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564818800": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754107296": {"type": "Function", "typeVars": [".-1.140042754107296"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107296"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754107296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107296", "variance": "INVARIANT"}, "140042754107744": {"type": "Function", "typeVars": [".-1.140042754107744"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107744"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107744", "variance": "INVARIANT"}, "140042564819136": {"type": "Union", "items": [{"nodeId": "140042564819024"}, {"nodeId": ".-1.140042754107744"}]}, "140042564819024": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754108192": {"type": "Function", "typeVars": [".-1.140042754108192"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754108192"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754108192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754108192", "variance": "INVARIANT"}, "140042564819472": {"type": "Union", "items": [{"nodeId": "140042564819360"}, {"nodeId": ".-1.140042754108192"}]}, "140042564819360": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042577728496": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140042577727488"}], "isAbstract": false}, "140042754102368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042754102816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577727488": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__len__"]}, "140042548300032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577829264": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754265312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754265760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729504": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754263072"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577729504"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577729504"}]}], "isAbstract": false}, "140042754261728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729504": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729504", "variance": "COVARIANT"}, "140042754262176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754262624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754266208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109536": {"type": "Function", "typeVars": [".-1.140042754109536"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754109536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754109536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754109536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754109536", "variance": "INVARIANT"}, "140042754109984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754110432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754110880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754111328": {"type": "Function", "typeVars": [".-1.140042754111328"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111328"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111328", "variance": "INVARIANT"}, "140042564819808": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111328"}]}, "140042754111776": {"type": "Function", "typeVars": [".-1.140042754111776"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111776"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111776", "variance": "INVARIANT"}, "140042564819920": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111776"}]}, "140042754112224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754112672": {"type": "Function", "typeVars": [".-1.140042754112672"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754112672"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754112672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754112672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754112672", "variance": "INVARIANT"}, "140042754113120": {"type": "Function", "typeVars": [".-1.140042754113120"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754113120"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754113120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754113120", "variance": "INVARIANT"}, "140042564820144": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754113120"}]}, "140042754261280": {"type": "Function", "typeVars": [".-1.140042754261280"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754261280"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820256"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754261280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754261280", "variance": "INVARIANT"}, "140042564820256": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754261280"}]}, "140042715645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042715647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715647776": {"type": "Function", "typeVars": [".-1.140042715647776", ".-2.140042715647776"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715647776"}, {"nodeId": ".-2.140042715647776"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828432"}, {"nodeId": "140042564828544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715647776": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, ".-2.140042715647776": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, "140042564828432": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715647776"}]}, "140042564828544": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715647776"}]}, "140042715648224": {"type": "Function", "typeVars": [".-1.140042715648224", ".-2.140042715648224"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715648224"}, {"nodeId": ".-2.140042715648224"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828656"}, {"nodeId": "140042564828768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715648224": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, ".-2.140042715648224": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, "140042564828656": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715648224"}]}, "140042564828768": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715648224"}]}, "140042510998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042552099104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552099104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042510997248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556833264": {"type": "Overloaded", "items": [{"nodeId": "140042749684064"}, {"nodeId": "140042749684512"}]}, "140042749684064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749684512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140042551965648": {"type": "Overloaded", "items": [{"nodeId": "140042749684960"}, {"nodeId": "140042556324800"}]}, "140042749684960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042556324800": {"type": "Function", "typeVars": [".-1.140042556324800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042556324800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140042556324800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324800", "variance": "INVARIANT"}, "140042749685856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042556324128": {"type": "Function", "typeVars": [".-1.140042556324128"], "argTypes": [{"nodeId": ".-1.140042556324128"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042556324128"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556324128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324128", "variance": "INVARIANT"}, "140042749686752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749687200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749687648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042510997024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140042749688544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578060544": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544308384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335008"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335456"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544308384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716335008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716335456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749688992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042544305696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544305920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716216928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140042716332320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716333664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782784336": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564813984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888480"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889376"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889824"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042782784336"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782784336"}]}], "isAbstract": true}, "140042564813984": {"type": "Overloaded", "items": [{"nodeId": "140042753887136"}, {"nodeId": "140042753887584"}]}, "140042753887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782784336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784336", "variance": "COVARIANT"}, "140042753887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140042753888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753888928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753889376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042753889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042782781312": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548307200"}}], "typeVars": [{"nodeId": ".1.140042782781312"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782781312"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140042548307200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782781312"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782781312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781312", "variance": "COVARIANT"}, "140042552112320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112544": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112656": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712267488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112880"}, {"nodeId": "140042552112992"}, {"nodeId": "140042552113104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112880": {"type": "Union", "items": [{"nodeId": "140042552112768"}, {"nodeId": "140042578051136"}]}, "140042552112768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113104": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712267936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113216"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552113216": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707157280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113440"}, {"nodeId": "140042552113552"}, {"nodeId": "140042552113664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552113440": {"type": "Union", "items": [{"nodeId": "140042552113328"}, {"nodeId": "140042578051136"}]}, "140042552113328": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552113552": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113664": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707157728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552113776"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552113776": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552113888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552113888": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042577733200": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552111424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247264"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247712"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248160"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248608"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249056"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707250400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251296"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251744"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707252192"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253088"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253984"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254432"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254880"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370272"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370720"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371168"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371616"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372064"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372512"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372960"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373408"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373856"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374304"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374752"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375200"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375648"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376096"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376544"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376992"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377440"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377888"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378336"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378784"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379232"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379680"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380128"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380576"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381024"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381472"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381920"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382368"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382816"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707383264"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506166656"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506165536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707384608"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707385056"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552380544"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552381328"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502240"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502688"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552095040"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707503584"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504032"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504480"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504928"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505824"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506272"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507168"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508064"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508512"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577730848"}], "isAbstract": false}, "140042552111424": {"type": "Overloaded", "items": [{"nodeId": "140042707245920"}, {"nodeId": "140042707246368"}, {"nodeId": "140042707246816"}]}, "140042707245920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707246368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552381552": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042552381440"}]}, "140042552381440": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707246816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140042707247264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707247712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707248160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042707248608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381776"}, {"nodeId": "140042552381888"}, {"nodeId": "140042552382000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552381776": {"type": "Union", "items": [{"nodeId": "140042552381664"}, {"nodeId": "140042578051136"}]}, "140042552381664": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552381888": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382000": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707249056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707249504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042707249952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382336"}, {"nodeId": "140042552382448"}, {"nodeId": "140042552382560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382336": {"type": "Union", "items": [{"nodeId": "140042552382112"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552382224"}]}]}, "140042552382112": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382448": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382560": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707250400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042707251296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707251744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382784"}, {"nodeId": "140042552382896"}, {"nodeId": "140042552383008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382784": {"type": "Union", "items": [{"nodeId": "140042552382672"}, {"nodeId": "140042578051136"}]}, "140042552382672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382896": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383008": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707252192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383120"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552383120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707253088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383344"}, {"nodeId": "140042552383456"}, {"nodeId": "140042552383568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552383344": {"type": "Union", "items": [{"nodeId": "140042552383232"}, {"nodeId": "140042578051136"}]}, "140042552383232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552383456": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383568": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707253536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707253984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552383680"}]}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552383680": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552383792"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552383792": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384016"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552384016": {"type": "Union", "items": [{"nodeId": "140042552383904"}, {"nodeId": "N"}]}, "140042552383904": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384128"}], "returnType": {"nodeId": "140042552384352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384128": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384352": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042707375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707375648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384464"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384576"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384576": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384688"}, {"nodeId": "140042552384800"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552384688": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384800": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385024"}, {"nodeId": "140042552385136"}, {"nodeId": "140042552385248"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385024": {"type": "Union", "items": [{"nodeId": "140042552384912"}, {"nodeId": "140042578051136"}]}, "140042552384912": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385136": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385248": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385472"}, {"nodeId": "140042552385584"}, {"nodeId": "140042552385696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385472": {"type": "Union", "items": [{"nodeId": "140042552385360"}, {"nodeId": "140042578051136"}]}, "140042552385360": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385584": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385696": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552385808"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552385808": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707378336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385920"}], "returnType": {"nodeId": "140042552386144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552385920": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552386144": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707378784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386368"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386368": {"type": "Union", "items": [{"nodeId": "140042552386256"}, {"nodeId": "N"}]}, "140042552386256": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386592"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552386592": {"type": "Union", "items": [{"nodeId": "140042552386480"}, {"nodeId": "N"}]}, "140042552386480": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386816"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386816": {"type": "Union", "items": [{"nodeId": "140042552386704"}, {"nodeId": "N"}]}, "140042552386704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707380128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707380576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387152"}, {"nodeId": "140042552387264"}, {"nodeId": "140042552387376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552387152": {"type": "Union", "items": [{"nodeId": "140042552386928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552387040"}]}]}, "140042552386928": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387040": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387264": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552387376": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707381024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387600"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552387600": {"type": "Union", "items": [{"nodeId": "140042552387488"}, {"nodeId": "N"}]}, "140042552387488": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707381472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707381920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707382368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387824"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552387824": {"type": "Union", "items": [{"nodeId": "140042552387712"}, {"nodeId": "N"}]}, "140042552387712": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707382816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707383264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506166656": {"type": "Function", "typeVars": [".-1.140042506166656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506166656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506166656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506166656", "variance": "INVARIANT"}, "140042506165536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552387936"}, {"nodeId": "140042552388048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552387936": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552388048": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707384608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707385056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552380544": {"type": "Overloaded", "items": [{"nodeId": "140042707385504"}, {"nodeId": "140042707385952"}]}, "140042707385504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707385952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552381328": {"type": "Overloaded", "items": [{"nodeId": "140042707501344"}, {"nodeId": "140042707501792"}]}, "140042707501344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707501792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552388384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552388384": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577732864"}]}, "140042707502240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388496": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042707502688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388608"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388608": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552095040": {"type": "Function", "typeVars": [".-1.140042552095040"], "argTypes": [{"nodeId": ".-1.140042552095040"}, {"nodeId": "140042552388720"}], "returnType": {"nodeId": ".-1.140042552095040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552095040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552095040", "variance": "INVARIANT"}, "140042552388720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707503584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504480": {"type": "Function", "typeVars": [".-1.140042707504480"], "argTypes": [{"nodeId": ".-1.140042707504480"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707504480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707504480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707504480", "variance": "INVARIANT"}, "140042707504928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707505376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389056"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389056": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552388944"}]}, "140042552388944": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707505824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389168"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389168": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389280"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389280": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389392"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389504": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782784672": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548527840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893408"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893856"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894304"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894752"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895200"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895648"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896096"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140042782784672"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784672"}]}], "isAbstract": true}, "140042548527840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140042782784672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784672", "variance": "INVARIANT"}, "140042564814432": {"type": "Overloaded", "items": [{"nodeId": "140042753890720"}, {"nodeId": "140042753891168"}]}, "140042753890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753891168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564814992": {"type": "Overloaded", "items": [{"nodeId": "140042753891616"}, {"nodeId": "140042753892064"}]}, "140042753891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042753892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042564815328": {"type": "Overloaded", "items": [{"nodeId": "140042753892512"}, {"nodeId": "140042753892960"}]}, "140042753892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140042753894752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753895200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140042753895648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753896096": {"type": "Function", "typeVars": [".-1.140042753896096"], "argTypes": [{"nodeId": ".-1.140042753896096"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": ".-1.140042753896096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753896096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753896096", "variance": "INVARIANT"}, "140042577730848": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": true}, "140042707162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114112"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552114112": {"type": "Union", "items": [{"nodeId": "140042552114000"}, {"nodeId": "N"}]}, "140042552114000": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114224"}], "returnType": {"nodeId": "140042552114448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114448": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114560"}, {"nodeId": "140042552114672"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552114560": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114784"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114784": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114896": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377408"}, {"nodeId": "140042552377520"}, {"nodeId": "140042552377632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377408": {"type": "Union", "items": [{"nodeId": "140042552115008"}, {"nodeId": "140042578051136"}]}, "140042552115008": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377520": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552377632": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377856"}, {"nodeId": "140042552377968"}, {"nodeId": "140042552378080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377856": {"type": "Union", "items": [{"nodeId": "140042552377744"}, {"nodeId": "140042578051136"}]}, "140042552377744": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377968": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552378080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552378192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552378192": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707166240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378304"}], "returnType": {"nodeId": "140042552378528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552378304": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552378528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707166688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378752"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552378752": {"type": "Union", "items": [{"nodeId": "140042552378640"}, {"nodeId": "N"}]}, "140042552378640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378976"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552378976": {"type": "Union", "items": [{"nodeId": "140042552378864"}, {"nodeId": "N"}]}, "140042552378864": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552379200": {"type": "Union", "items": [{"nodeId": "140042552379088"}, {"nodeId": "N"}]}, "140042552379088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707168032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707168480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379536"}, {"nodeId": "140042552379648"}, {"nodeId": "140042552379760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552379536": {"type": "Union", "items": [{"nodeId": "140042552379312"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552379424"}]}]}, "140042552379312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379424": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379648": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552379760": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707168928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379984"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552379984": {"type": "Union", "items": [{"nodeId": "140042552379872"}, {"nodeId": "N"}]}, "140042552379872": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707169376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707169824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707170272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380208"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552380208": {"type": "Union", "items": [{"nodeId": "140042552380096"}, {"nodeId": "N"}]}, "140042552380096": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707170720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707171168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506026592": {"type": "Function", "typeVars": [".-1.140042506026592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506026592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506026592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506026592", "variance": "INVARIANT"}, "140042506158592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552380320"}, {"nodeId": "140042552380432"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552380432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707172512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707172960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110416": {"type": "Overloaded", "items": [{"nodeId": "140042707239200"}, {"nodeId": "140042707239648"}]}, "140042707239200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707239648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380656"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380656": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707240544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380992"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552380880"}]}, "140042552380880": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707242336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707242784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707245024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042552381216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552381216": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}]}, "140042569012096": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042569013552": {"type": "Union", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "140042573739200"}, {"nodeId": "140042578066592"}]}, "140042577367712": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339040"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339488"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339712"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339936"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340160"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340384"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340608"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340832"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341056"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341280"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341504"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515232"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515680"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707517024"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632864"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388272"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707634208"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635104"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635552"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636000"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636448"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506339040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389616": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389728": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389840": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389952"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042506341056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707514336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042552390064": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707514784": {"type": "Function", "typeVars": [".-1.140042707514784"], "argTypes": [{"nodeId": ".-1.140042707514784"}], "returnType": {"nodeId": ".-1.140042707514784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042707514784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707514784", "variance": "INVARIANT"}, "140042707515232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390176"}, {"nodeId": "140042552390288"}, {"nodeId": "140042552390400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042552390176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552390288": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577373088": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367232"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577828032"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586362304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646816"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703647264"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586367232": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577828032": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042586362304": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058528": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202592"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833968"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230496"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230944"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544231168"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716202592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}, {"nodeId": "140042565115056"}, {"nodeId": "140042578058864"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140042565115056": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058864": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232288"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232960"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233184"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233408"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233632"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233856"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544234080"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834416"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716207520"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544232288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115168": {"type": "Union", "items": [{"nodeId": "140042578058864"}, {"nodeId": "N"}]}, "140042544232960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053488": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543913600"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914944"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914496"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915168"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915392"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915616"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915840"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916064"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916288"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916512"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916736"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916960"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917184"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917408"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917632"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917856"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543918528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715867040"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715869280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871072"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042543913600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543918528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715867040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564828208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564828208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042564827984"}]}, "140042564827984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042715869280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140042715871072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140042544233408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042544234080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577834416": {"type": "Union", "items": [{"nodeId": "140042586011936"}, {"nodeId": "N"}]}, "140042586011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042716207520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833968": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042544230496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544230944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544231168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703646368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042703646816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042552901104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552901104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042703647264": {"type": "Function", "typeVars": [".-1.140042703647264"], "argTypes": [{"nodeId": ".-1.140042703647264"}, {"nodeId": "140042552901216"}], "returnType": {"nodeId": ".-1.140042703647264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042703647264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703647264", "variance": "INVARIANT"}, "140042552901216": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042552390400": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042707515680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552390512"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140042552390512": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042552388160": {"type": "Overloaded", "items": [{"nodeId": "140042707516128"}, {"nodeId": "140042707516576"}]}, "140042707516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707516576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707517024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707632864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552388272": {"type": "Overloaded", "items": [{"nodeId": "140042707633312"}, {"nodeId": "140042707633760"}]}, "140042707633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552390848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552390848": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391408"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042552391408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042707635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391296"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552391296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042568801232": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519202048"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519203840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556820160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657196608"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197056"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197504"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197952"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198400"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198848"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199296"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199744"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200192"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657201536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593600"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594048"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594496"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594944"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661595392"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661596736"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556829232"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556830576"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661598976"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600320"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600768"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601216"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601664"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602112"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602560"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603008"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603456"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603904"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042568801232"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042568801232"}]}], "isAbstract": false}, "140042519202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801232": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801232", "variance": "INVARIANT"}, "140042577366032": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552084288"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711807840"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808288"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808736"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042505909216"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909440"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711892704"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893152"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893600"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894048"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894496"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894944"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895392"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895840"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552101120"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897632"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898528"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898976"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899424"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899872"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106048"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711901664"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902112"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902560"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711903008"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105040"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904352"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907040"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907488"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907936"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712006944"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007392"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007840"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552084288": {"type": "Function", "typeVars": [".-1.140042552084288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552104480"}], "returnType": {"nodeId": ".-1.140042552084288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552104480": {"type": "Union", "items": [{"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552104368"}]}, "140042577726144": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548190720"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__float__"]}, "140042548190720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726144"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552104368": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084288", "variance": "INVARIANT"}, "140042711807840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042711808288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711808736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909216": {"type": "Function", "typeVars": [".-1.140042505909216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042505909216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042505909216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042505909216", "variance": "INVARIANT"}, "140042505909440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711892704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711893152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711893600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552104928": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552101120": {"type": "Overloaded", "items": [{"nodeId": "140042711896288"}, {"nodeId": "140042711896736"}]}, "140042711896288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711896736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711897184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711897632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105376": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552106048": {"type": "Overloaded", "items": [{"nodeId": "140042711900320"}, {"nodeId": "140042711900768"}, {"nodeId": "140042711901216"}]}, "140042711900320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552105600"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552105600": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042569021168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042711900768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552108848"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552108848": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042569417552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042577366368": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552108064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506013600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506014496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712010976"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011872"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012320"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012768"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013216"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015008"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015904"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016352"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016800"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017248"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017696"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712018144"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552108064": {"type": "Overloaded", "items": [{"nodeId": "140042712008288"}, {"nodeId": "140042712008736"}]}, "140042712008288": {"type": "Function", "typeVars": [".-1.140042712008288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552105936"}, {"nodeId": "140042552106272"}], "returnType": {"nodeId": ".-1.140042712008288"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140042552105936": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, "140042577726480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548192064"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__complex__"]}, "140042548192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726480"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552106272": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, ".-1.140042712008288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008288", "variance": "INVARIANT"}, "140042712008736": {"type": "Function", "typeVars": [".-1.140042712008736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552106384"}], "returnType": {"nodeId": ".-1.140042712008736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140042552106384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577366368"}]}, ".-1.140042712008736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008736", "variance": "INVARIANT"}, "140042506013600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506014496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712010976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712011424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712011872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712013216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712013664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712015456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712018144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711901216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711901664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105488": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042711902112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711902560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711903008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105040": {"type": "Overloaded", "items": [{"nodeId": "140042711903456"}, {"nodeId": "140042711903904"}]}, "140042711903456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711903904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042711904352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711904800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712006944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829008": {"type": "TypeAlias", "target": {"nodeId": "140042568893936"}}, "140042568893936": {"type": "Union", "items": [{"nodeId": "140042586372272"}, {"nodeId": "140042573823472"}, {"nodeId": "140042568892480"}]}, "140042586372272": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042568893824": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042573823472": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042573823584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042568892480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519203840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820160": {"type": "Overloaded", "items": [{"nodeId": "140042556317632"}, {"nodeId": "140042657194816"}, {"nodeId": "140042657195264"}, {"nodeId": "140042657195712"}, {"nodeId": "140042657196160"}]}, "140042556317632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042556829120"}, {"nodeId": "140042556829344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829120": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042556829344": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}]}, "140042657194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042556830240"}, {"nodeId": "140042556820272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830240": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042556820272": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577366032"}]}]}, "140042657195264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042556830464"}, {"nodeId": "140042556830128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042556830128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042657195712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042657196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042556829568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829568": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042657196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657197056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042657197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556829792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556829792": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042657199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568809296", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042568809296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713248"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042568809296"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042749713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809296", "args": [{"nodeId": ".1.140042568809296"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809296", "variance": "COVARIANT"}, "140042657199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042657201536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042661593152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042661593600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042661594048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661594496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042569039936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714592"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042569039936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042749714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569039936"}]}, {"nodeId": ".1.140042569039936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042569039936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569039936", "variance": "CONTRAVARIANT"}, "140042661594944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661595392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661596736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556829232": {"type": "Overloaded", "items": [{"nodeId": "140042661597184"}, {"nodeId": "140042661597632"}]}, "140042661597184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661597632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830576": {"type": "Overloaded", "items": [{"nodeId": "140042661598080"}, {"nodeId": "140042661598528"}]}, "140042661598080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556830352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830352": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042661599424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661599872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600768": {"type": "Function", "typeVars": [".-1.140042661600768"], "argTypes": [{"nodeId": ".-1.140042661600768"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": ".-1.140042661600768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661600768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661600768", "variance": "INVARIANT"}, "140042661601216": {"type": "Function", "typeVars": [".-1.140042661601216"], "argTypes": [{"nodeId": ".-1.140042661601216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661601216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661601216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661601216", "variance": "INVARIANT"}, "140042661601664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661603904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042573219872": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653525920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526816"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653527712"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528160"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528608"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529056"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529504"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529952"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530400"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530848"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531296"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531744"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626144"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626592"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627488"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560781808"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661628832"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560929264"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631072"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631520"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577727488"}], "isAbstract": false}, "140042653525920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140042653526368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653526816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140042653527712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140042653528160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653528608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653529056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140042653529504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140042653529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140042653531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042653531744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140042661626144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661626592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661627040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029840"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042561029840": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661627488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029952"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140042561029952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560781808": {"type": "Overloaded", "items": [{"nodeId": "140042661627936"}, {"nodeId": "140042661628384"}]}, "140042661627936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561030176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561030176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042560929264": {"type": "Overloaded", "items": [{"nodeId": "140042661629280"}, {"nodeId": "140042661629728"}]}, "140042661629280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661629728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}, {"nodeId": "140042561030400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561030400": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661630176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661630624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042661631072": {"type": "Function", "typeVars": [".-1.140042661631072"], "argTypes": [{"nodeId": ".-1.140042661631072"}], "returnType": {"nodeId": ".-1.140042661631072"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042661631072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661631072", "variance": "INVARIANT"}, "140042661631520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573739200": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572994192"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523180640"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523179968"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523230944"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232064"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232512"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572994192": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042523180640": {"type": "Function", "typeVars": [".-1.140042523180640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523180640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252208": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, ".-1.140042523180640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523180640", "variance": "INVARIANT"}, "140042523179968": {"type": "Function", "typeVars": [".-1.140042523179968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252320"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523179968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042523179968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523179968", "variance": "INVARIANT"}, "140042523230944": {"type": "Function", "typeVars": [".-1.140042523230944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523230944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140042523230944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523230944", "variance": "INVARIANT"}, "140042523232064": {"type": "Function", "typeVars": [".-1.140042523232064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042556252544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042556252544": {"type": "Union", "items": [{"nodeId": ".-1.140042523232064"}, {"nodeId": "140042573741216"}]}, ".-1.140042523232064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232064", "variance": "INVARIANT"}, "140042573741216": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042523232512": {"type": "Function", "typeVars": [".-1.140042523232512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042523232512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140042573738192": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573739200"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661632416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633312"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633760"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042556251760"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556251872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556251984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140042556251760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556251872": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556251984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740544": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042573740208"}], "isAbstract": false}, "140042573740208": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764976"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573811152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249744"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661641376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, "140042569764976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577256608"}, {"nodeId": "N"}]}, "140042577256608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573811152": {"type": "TypeAlias", "target": {"nodeId": "140042577225408"}}, "140042577225408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573249920"}, {"nodeId": "140042573740208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042573739200"}]}], "returnType": {"nodeId": "140042573739200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573249920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556249744": {"type": "Overloaded", "items": [{"nodeId": "140042661639584"}, {"nodeId": "140042661640032"}, {"nodeId": "140042661640480"}, {"nodeId": "140042661640928"}]}, "140042661639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140042661640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556310016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140042556310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042661640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556253216"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140042556253216": {"type": "Tuple", "items": [{"nodeId": "140042556252880"}, {"nodeId": "140042573738192"}]}, "140042556252880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042556253328": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042573812272": {"type": "Union", "items": [{"nodeId": "140042573810144"}, {"nodeId": "140042573811936"}, {"nodeId": "140042573812160"}]}, "140042573810144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573811936": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042573812160": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042661640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253664"}]}, {"nodeId": "140042569632784", "args": [{"nodeId": "140042573908000"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140042556253664": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042569632784": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042569632784"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249856"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556253440"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656933344"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140042569632784"}], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042569632784": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569632784", "variance": "INVARIANT"}, "140042556249856": {"type": "Overloaded", "items": [{"nodeId": "140042656931552"}, {"nodeId": "140042656932000"}]}, "140042656931552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042656932000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": ".1.140042569632784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042556253440": {"type": "Overloaded", "items": [{"nodeId": "140042656932448"}, {"nodeId": "140042656932896"}]}, "140042656932448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656932896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656933344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573739872": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739536"}], "isAbstract": false}, "140042573739536": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042573908000": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573741552": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042573741552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937376"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042573741552"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042573741552": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573741552", "variance": "INVARIANT"}, "140042656937376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573741552"}]}, {"nodeId": ".1.140042573741552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042661641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042661633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042523232512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232512", "variance": "INVARIANT"}, "140042578066592": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325568"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640326016"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640325120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}, {"nodeId": "140042560523840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140042560523840": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042640325568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640326016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577725808": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548189376"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__int__"]}, "140042548189376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725808"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568807280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709216"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042749709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556323904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556323904", "variance": "INVARIANT"}, "140042556325024": {"type": "Function", "typeVars": [".-1.140042556325024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101456"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042556325024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140042552101456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, ".-1.140042556325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556325024", "variance": "INVARIANT"}, "140042720053280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552101792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552101792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042510994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720056416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720057760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552102352"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140042552102352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042510992768": {"type": "Function", "typeVars": [".-1.140042510992768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552102576"}, {"nodeId": "140042552102912"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042510992768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140042552102576": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577726816"}, {"nodeId": "140042552102464"}]}, "140042552102464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552102912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140042510992768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042510992768", "variance": "INVARIANT"}, "140042720058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720061344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552103136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042720061792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552103360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042552100672": {"type": "Overloaded", "items": [{"nodeId": "140042720064928"}, {"nodeId": "140042720065376"}, {"nodeId": "140042720065824"}, {"nodeId": "140042720066272"}, {"nodeId": "140042720066720"}, {"nodeId": "140042720067168"}]}, "140042720064928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720065376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042720065824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552104032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552104032": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042720066272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552106832"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106832": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042720066720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042720067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042711793952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042552106720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042711794400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711794848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711800224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711800672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711802016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552104256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042711802464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711802912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711805152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711806944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707756960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707757408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707757856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707758304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552557632": {"type": "Overloaded", "items": [{"nodeId": "140042707758752"}, {"nodeId": "140042707759200"}]}, "140042707758752": {"type": "Function", "typeVars": [".-1.140042707758752"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707758752"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042707758752": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042707758752", "variance": "INVARIANT"}, "140042569531088": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042568802576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140042568802576"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042749964832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802576", "args": [{"nodeId": ".1.140042568802576"}]}, {"nodeId": ".1.140042568802576"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802576", "variance": "CONTRAVARIANT"}, "140042568802912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042568802912"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042749965280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802912", "args": [{"nodeId": ".1.140042568802912"}]}, {"nodeId": ".1.140042568802912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802912", "variance": "CONTRAVARIANT"}, "140042707759200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552096832"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042552096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042552559312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552559312": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042568896736": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042707759648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707760096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552558864": {"type": "Overloaded", "items": [{"nodeId": "140042707760544"}, {"nodeId": "140042707760992"}]}, "140042707760544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707760992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552558976": {"type": "Overloaded", "items": [{"nodeId": "140042707761440"}, {"nodeId": "140042707761888"}]}, "140042707761440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707761888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707762336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552559536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552559536": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042552559200": {"type": "Overloaded", "items": [{"nodeId": "140042707762784"}, {"nodeId": "140042707878176"}]}, "140042707762784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707878176": {"type": "Function", "typeVars": [".-1.140042707878176"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707878176"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042552559760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878176": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878176", "variance": "INVARIANT"}, "140042552559760": {"type": "Union", "items": [{"nodeId": ".-1.140042707878176"}, {"nodeId": ".1.140042577368720"}]}, "140042707878624": {"type": "Function", "typeVars": [".-1.140042707878624"], "argTypes": [{"nodeId": ".-1.140042707878624"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": ".-1.140042707878624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878624", "variance": "INVARIANT"}, "140042707879072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879968": {"type": "Function", "typeVars": [".-1.140042707879968"], "argTypes": [{"nodeId": ".-1.140042707879968"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707879968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707879968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707879968", "variance": "INVARIANT"}, "140042707880416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707880864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707881312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707881760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707883104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042707886688": {"type": "Function", "typeVars": [".-1.140042707886688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042707886688"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140042707886688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707886688", "variance": "INVARIANT"}, "140042707887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577731856": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514614080"}}], "typeVars": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577731856"}]}], "isAbstract": false}, "140042514614080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577731856": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, ".2.140042577731856": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, "140042707888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732192": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514626176"}}], "typeVars": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577732192"}]}], "isAbstract": false}, "140042514626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, ".2.140042577732192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, "140042707888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732528": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514529664"}}], "typeVars": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "isAbstract": false}, "140042514529664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, ".2.140042577732528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, "140042552559648": {"type": "Overloaded", "items": [{"nodeId": "140042707888928"}, {"nodeId": "140042707889376"}]}, "140042707888928": {"type": "Function", "typeVars": [".-1.140042707888928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707888928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707888928"}, {"nodeId": "140042552560992"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140042707888928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707888928", "variance": "INVARIANT"}, "140042552560992": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042707889376": {"type": "Function", "typeVars": [".-1.140042707889376", ".-2.140042707889376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707889376"}]}, {"nodeId": ".-2.140042707889376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707889376"}, {"nodeId": ".-2.140042707889376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042707889376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, ".-2.140042707889376": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, "140042552559984": {"type": "Overloaded", "items": [{"nodeId": "140042707889824"}, {"nodeId": "140042707890272"}]}, "140042707889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "140042552561216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552561216": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": "N"}]}, "140042707890272": {"type": "Function", "typeVars": [".-1.140042707890272"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561328"}], "returnType": {"nodeId": "140042552561440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561328": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, ".-1.140042707890272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707890272", "variance": "INVARIANT"}, "140042552561440": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, "140042552560768": {"type": "Overloaded", "items": [{"nodeId": "140042707890720"}, {"nodeId": "140042707891168"}]}, "140042707890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707891168": {"type": "Function", "typeVars": [".-1.140042707891168"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561664"}], "returnType": {"nodeId": "140042552561776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561664": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, ".-1.140042707891168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707891168", "variance": "INVARIANT"}, "140042552561776": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, "140042707891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708009248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042708009696": {"type": "Function", "typeVars": [".-1.140042708009696", ".-2.140042708009696"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708009696"}, {"nodeId": ".-2.140042708009696"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562000"}, {"nodeId": "140042552562112"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708009696": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, ".-2.140042708009696": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, "140042552562000": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708009696"}]}, "140042552562112": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708009696"}]}, "140042708010144": {"type": "Function", "typeVars": [".-1.140042708010144", ".-2.140042708010144"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708010144"}, {"nodeId": ".-2.140042708010144"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562224"}, {"nodeId": "140042552562336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010144": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, ".-2.140042708010144": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, "140042552562224": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708010144"}]}, "140042552562336": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708010144"}]}, "140042552561104": {"type": "Overloaded", "items": [{"nodeId": "140042708010592"}, {"nodeId": "140042708011040"}]}, "140042708010592": {"type": "Function", "typeVars": [".-1.140042708010592"], "argTypes": [{"nodeId": ".-1.140042708010592"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": ".-1.140042708010592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010592", "variance": "INVARIANT"}, "140042708011040": {"type": "Function", "typeVars": [".-1.140042708011040"], "argTypes": [{"nodeId": ".-1.140042708011040"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552562672"}]}], "returnType": {"nodeId": ".-1.140042708011040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708011040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708011040", "variance": "INVARIANT"}, "140042552562672": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042577363680": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754267552"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754268896"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820480"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820928"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "isAbstract": true}, "140042548589088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577363680": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, ".2.140042577363680": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, "140042548589536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754267552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564815552": {"type": "Overloaded", "items": [{"nodeId": "140042754268000"}, {"nodeId": "140042754268448"}]}, "140042754268000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042754268448": {"type": "Function", "typeVars": [".-1.140042754268448"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821040"}], "returnType": {"nodeId": "140042564821152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564821040": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, ".-1.140042754268448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754268448", "variance": "INVARIANT"}, "140042564821152": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, "140042754268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "140042564821376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564821376": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042564820480": {"type": "Overloaded", "items": [{"nodeId": "140042754269344"}, {"nodeId": "140042754269792"}]}, "140042754269344": {"type": "Function", "typeVars": [".-1.140042754269344"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821600"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "140042564821712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564821600": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, ".-1.140042754269344": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754269344", "variance": "INVARIANT"}, "140042564821712": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, "140042754269792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042564820928": {"type": "Overloaded", "items": [{"nodeId": "140042754270240"}, {"nodeId": "140042754270688"}, {"nodeId": "140042754271136"}]}, "140042754270240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042754270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564822048"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042564822048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042754271136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042556832816": {"type": "Overloaded", "items": [{"nodeId": "140042719781920"}]}, "140042719781920": {"type": "Function", "typeVars": [".-1.140042719781920"], "argTypes": [{"nodeId": ".-1.140042719781920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719781920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719781920", "variance": "INVARIANT"}, "140042511004416": {"type": "Function", "typeVars": [".-1.140042511004416"], "argTypes": [{"nodeId": ".-1.140042511004416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042511004416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042511004416", "variance": "INVARIANT"}, "140042719782816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719783264": {"type": "Function", "typeVars": [".-1.140042719783264"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042719783264"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042719783264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719783264", "variance": "INVARIANT"}, "140042719783712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042719784160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719784608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719785952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719786400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719786848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042719787296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719787744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719788192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042551966096"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042551966096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042719788640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042551966320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042551966320": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042749674208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749674656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712019936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712019936", "variance": "INVARIANT"}, "140042552084512": {"type": "Function", "typeVars": [".-1.140042552084512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552107056"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042552084512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140042552107056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084512", "variance": "INVARIANT"}, "140042712020832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712022176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107168"}, {"nodeId": "140042552107280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140042552107168": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107280": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712022624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712138016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552107392"}, {"nodeId": "140042552107504"}, {"nodeId": "140042552107616"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552107504": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107616": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712138464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712139360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107728"}, {"nodeId": "140042552107840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107728": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107840": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712139808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042712140256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577366704"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140042577366704": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019040"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366704"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712140704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107952"}, {"nodeId": "140042552108288"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107952": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552108288": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712141152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712141600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712146976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712147424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712147872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552108400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552108400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712148320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552108624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552108624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712148768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042712149216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712149664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712150112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552108960"}, {"nodeId": "140042552109072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552108960": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109072": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712150560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552109184"}, {"nodeId": "140042552109296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109184": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109296": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712151008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712151456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552109520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552109520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712151904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109632"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109744"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552109744": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109856"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712153248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042712153696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109968"}, {"nodeId": "140042552110080"}, {"nodeId": "140042552110192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552110080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552110192": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712252704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110304"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552110304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712253152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712253600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367040"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577367040": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019488"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552106608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552106608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712254496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105824": {"type": "Overloaded", "items": [{"nodeId": "140042712255392"}, {"nodeId": "140042712255840"}]}, "140042712255392": {"type": "Function", "typeVars": [".-1.140042712255392"], "argTypes": [{"nodeId": "140042552110640"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110640": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042552110528"}, {"nodeId": ".-1.140042712255392"}]}]}, ".-1.140042712255392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712255392", "variance": "INVARIANT"}, "140042552110528": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042712255840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552110752"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042552110864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552110752": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042552110864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110976"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552110976": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042712258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712259424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712260320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552111312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111312": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042464396672": {"type": "Protocol", "module": "subtypes", "simpleName": "P", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774503360"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042464397008": {"type": "Concrete", "module": "subtypes", "simpleName": "S", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774507616"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397008"}, {"nodeId": "140042399367904"}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399367904": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042577724800": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556450272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490912"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766491360"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518509408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556452960"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556453856"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766494944"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495840"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496288"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497184"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497632"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498528"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498976"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766499424"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766647584"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648032"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648480"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648928"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649376"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649824"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650272"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650720"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042577724800"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042556450272": {"type": "Overloaded", "items": [{"nodeId": "140042766488672"}, {"nodeId": "140042766489120"}, {"nodeId": "140042766489568"}, {"nodeId": "140042766490016"}]}, "140042766488672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042577724800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577724800", "variance": "INVARIANT"}, "140042766489120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766489568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490464": {"type": "Function", "typeVars": [".-1.140042766490464"], "argTypes": [{"nodeId": ".-1.140042766490464"}], "returnType": {"nodeId": ".-1.140042766490464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766490464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766490464", "variance": "INVARIANT"}, "140042766490912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766491360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042556453968"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042556454192"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042556453968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556454192": {"type": "Tuple", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, "140042518509408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140042556454416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140042556454416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452960": {"type": "Overloaded", "items": [{"nodeId": "140042766492256"}, {"nodeId": "140042766492704"}, {"nodeId": "140042766493152"}]}, "140042766492256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766492704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766493152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556453856": {"type": "Overloaded", "items": [{"nodeId": "140042766493600"}, {"nodeId": "140042766494048"}, {"nodeId": "140042766494496"}]}, "140042766493600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": ".1.140042577724800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766495392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766495840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496736": {"type": "Function", "typeVars": [".-1.140042766496736"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766496736"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454752"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766496736": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766496736", "variance": "INVARIANT"}, "140042556454752": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766496736"}]}, "140042766497184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766497632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766498080": {"type": "Function", "typeVars": [".-1.140042766498080"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766498080"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766498080": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766498080", "variance": "INVARIANT"}, "140042556454864": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766498080"}]}, "140042766498528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766498976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766499424": {"type": "Function", "typeVars": [".-1.140042766499424"], "argTypes": [{"nodeId": ".-1.140042766499424"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766499424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766499424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766499424", "variance": "INVARIANT"}, "140042766647584": {"type": "Function", "typeVars": [".-1.140042766647584"], "argTypes": [{"nodeId": ".-1.140042766647584"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766647584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766647584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766647584", "variance": "INVARIANT"}, "140042766648032": {"type": "Function", "typeVars": [".-1.140042766648032"], "argTypes": [{"nodeId": ".-1.140042766648032"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648032", "variance": "INVARIANT"}, "140042766648480": {"type": "Function", "typeVars": [".-1.140042766648480"], "argTypes": [{"nodeId": ".-1.140042766648480"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648480", "variance": "INVARIANT"}, "140042766648928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464397344": {"type": "Concrete", "module": "subtypes", "simpleName": "S1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508064"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397344"}, {"nodeId": "140042399371264"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399371264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042399573248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042464397680": {"type": "Protocol", "module": "subtypes", "simpleName": "R", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508960"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774508960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "140042464397680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464398016": {"type": "Concrete", "module": "subtypes", "simpleName": "RImpl", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489928544"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489928544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464398016"}], "returnType": {"nodeId": "140042464398016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399825056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042489750112": {"type": "Function", "typeVars": [".-1.140042489750112"], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".-1.140042489750112"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042782779968": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548196320"}}], "typeVars": [{"nodeId": ".1.140042782779968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__abs__"]}, "140042548196320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".1.140042782779968"}]}], "returnType": {"nodeId": ".1.140042782779968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782779968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782779968", "variance": "COVARIANT"}, ".-1.140042489750112": {"type": "TypeVar", "varName": "T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489750112", "variance": "INVARIANT"}, "140042577735888": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444000"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879136"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879584"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880480"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770877792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880928"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444112"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770882720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770883168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444784"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "isAbstract": false}, ".1.140042577735888": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, ".2.140042577735888": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, "140042556444000": {"type": "Overloaded", "items": [{"nodeId": "140042770875104"}, {"nodeId": "140042649315904"}, {"nodeId": "140042770876000"}, {"nodeId": "140042770875552"}, {"nodeId": "140042770876896"}, {"nodeId": "140042770876448"}, {"nodeId": "140042770877344"}]}, "140042770875104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042649315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770875552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556445008": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042770876448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445232"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556445232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, "140042770877344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770878240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770878688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": ".2.140042577735888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770879136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770879584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770880032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735888"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770880480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770877792": {"type": "Function", "typeVars": [".-1.140042770877792"], "argTypes": [{"nodeId": ".-1.140042770877792"}], "returnType": {"nodeId": ".-1.140042770877792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770877792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770877792", "variance": "INVARIANT"}, "140042770880928": {"type": "Function", "typeVars": [".-1.140042770880928"], "argTypes": [{"nodeId": ".-1.140042770880928"}], "returnType": {"nodeId": ".-1.140042770880928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770880928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770880928", "variance": "INVARIANT"}, "140042556444112": {"type": "Overloaded", "items": [{"nodeId": "140042770881824"}, {"nodeId": "140042770882272"}]}, "140042770881824": {"type": "Function", "typeVars": [".-1.140042770881824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770881824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770881824"}, {"nodeId": "140042556445568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770881824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881824", "variance": "INVARIANT"}, "140042556445568": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042770882272": {"type": "Function", "typeVars": [".-1.140042770882272", ".-2.140042770882272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770882272"}]}, {"nodeId": ".-2.140042770882272"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882272"}, {"nodeId": ".-2.140042770882272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770882272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, ".-2.140042770882272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, "140042770882720": {"type": "Function", "typeVars": [".-1.140042770882720", ".-2.140042770882720"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556445680"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556445792"}, {"nodeId": "140042556445904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556445680": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}]}, ".-1.140042770882720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, ".-2.140042770882720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, "140042556445792": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770882720"}]}, "140042556445904": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770882720"}]}, "140042770883168": {"type": "Function", "typeVars": [".-1.140042770883168", ".-2.140042770883168"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556446016"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556446128"}, {"nodeId": "140042556446240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446016": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}]}, ".-1.140042770883168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, ".-2.140042770883168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, "140042556446128": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770883168"}]}, "140042556446240": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770883168"}]}, "140042556444784": {"type": "Overloaded", "items": [{"nodeId": "140042770881376"}, {"nodeId": "140042770883616"}]}, "140042770881376": {"type": "Function", "typeVars": [".-1.140042770881376"], "argTypes": [{"nodeId": ".-1.140042770881376"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": ".-1.140042770881376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770881376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881376", "variance": "INVARIANT"}, "140042770883616": {"type": "Function", "typeVars": [".-1.140042770883616"], "argTypes": [{"nodeId": ".-1.140042770883616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556446576"}]}], "returnType": {"nodeId": ".-1.140042770883616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770883616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883616", "variance": "INVARIANT"}, "140042556446576": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042577736224": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556445344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885408"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885856"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886304"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886752"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887200"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888096"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446688"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770890336"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888992"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766106912"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107360"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107808"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108256"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108704"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110048"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110496"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110944"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109152"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766111392"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112288"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112736"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447248"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114080"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140042577736224"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736224"}]}], "isAbstract": false}, ".1.140042577736224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736224", "variance": "INVARIANT"}, "140042556445344": {"type": "Overloaded", "items": [{"nodeId": "140042770884512"}, {"nodeId": "140042770884960"}]}, "140042770884512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140042770884960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140042770885408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770885856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446912": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447024": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447136": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770887200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770887648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770888096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556446352": {"type": "Overloaded", "items": [{"nodeId": "140042770888544"}, {"nodeId": "140042770884064"}]}, "140042770888544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770884064": {"type": "Function", "typeVars": [".-1.140042770884064"], "argTypes": [{"nodeId": ".-1.140042770884064"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".-1.140042770884064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770884064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770884064", "variance": "INVARIANT"}, "140042556446688": {"type": "Overloaded", "items": [{"nodeId": "140042770889440"}, {"nodeId": "140042770889888"}]}, "140042770889440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770889888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770890336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447472": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042770888992": {"type": "Function", "typeVars": [".-1.140042770888992"], "argTypes": [{"nodeId": ".-1.140042770888992"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042770888992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770888992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770888992", "variance": "INVARIANT"}, "140042766106912": {"type": "Function", "typeVars": [".-1.140042766106912"], "argTypes": [{"nodeId": ".-1.140042766106912"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766106912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766106912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766106912", "variance": "INVARIANT"}, "140042766107360": {"type": "Function", "typeVars": [".-1.140042766107360"], "argTypes": [{"nodeId": ".-1.140042766107360"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766107360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107360", "variance": "INVARIANT"}, "140042766107808": {"type": "Function", "typeVars": [".-1.140042766107808"], "argTypes": [{"nodeId": ".-1.140042766107808"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766107808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107808", "variance": "INVARIANT"}, "140042766108256": {"type": "Function", "typeVars": [".-1.140042766108256"], "argTypes": [{"nodeId": ".-1.140042766108256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108256", "variance": "INVARIANT"}, "140042766108704": {"type": "Function", "typeVars": [".-1.140042766108704"], "argTypes": [{"nodeId": ".-1.140042766108704"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108704", "variance": "INVARIANT"}, "140042766109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766110048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140042766110496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140042766110944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766109152": {"type": "Function", "typeVars": [".-1.140042766109152"], "argTypes": [{"nodeId": ".-1.140042766109152"}], "returnType": {"nodeId": ".-1.140042766109152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766109152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766109152", "variance": "INVARIANT"}, "140042766111392": {"type": "Function", "typeVars": [".-1.140042766111392"], "argTypes": [{"nodeId": ".-1.140042766111392"}], "returnType": {"nodeId": ".-1.140042766111392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766111392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766111392", "variance": "INVARIANT"}, "140042766112288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766112736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140042556447248": {"type": "Overloaded", "items": [{"nodeId": "140042766111840"}, {"nodeId": "140042766113632"}]}, "140042766111840": {"type": "Function", "typeVars": [".-1.140042766111840"], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".-1.140042766111840"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042766111840": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042766111840", "variance": "INVARIANT"}, "140042766113632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556314720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042556314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042556447920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556447920": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042766114080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042577736560": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114528"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114976"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115424"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115872"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116320"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116768"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117216"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118112"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118560"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119456"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119904"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120352"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120800"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121248"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121696"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122144"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122592"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766237984"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766238432"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239328"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239776"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240224"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766241120"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242912"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243360"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243808"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244256"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244704"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245600"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246048"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246496"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246944"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247392"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247840"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248288"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248736"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249184"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249632"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250080"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250528"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250976"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766251424"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447360"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766252768"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369056"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369504"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369952"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370400"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370848"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371296"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371744"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372192"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372640"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373088"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373536"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373984"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374432"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374880"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375328"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375776"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577736560"}]}], "isAbstract": false}, "140042766114528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766114976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766116320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042556448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556448032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042766116768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448144"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448144": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448256"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448480"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766119904": {"type": "Function", "typeVars": [".-1.140042766119904"], "argTypes": [{"nodeId": ".-1.140042766119904"}, {"nodeId": "140042556448592"}], "returnType": {"nodeId": ".-1.140042766119904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766119904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766119904", "variance": "INVARIANT"}, "140042556448592": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042766120352": {"type": "Function", "typeVars": [".-1.140042766120352"], "argTypes": [{"nodeId": ".-1.140042766120352"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120352", "variance": "INVARIANT"}, "140042766120800": {"type": "Function", "typeVars": [".-1.140042766120800"], "argTypes": [{"nodeId": ".-1.140042766120800"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120800", "variance": "INVARIANT"}, "140042766121248": {"type": "Function", "typeVars": [".-1.140042766121248"], "argTypes": [{"nodeId": ".-1.140042766121248"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121248", "variance": "INVARIANT"}, "140042766121696": {"type": "Function", "typeVars": [".-1.140042766121696"], "argTypes": [{"nodeId": ".-1.140042766121696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121696", "variance": "INVARIANT"}, "140042766122144": {"type": "Function", "typeVars": [".-1.140042766122144"], "argTypes": [{"nodeId": ".-1.140042766122144"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122144", "variance": "INVARIANT"}, "140042766122592": {"type": "Function", "typeVars": [".-1.140042766122592"], "argTypes": [{"nodeId": ".-1.140042766122592"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122592", "variance": "INVARIANT"}, "140042766237984": {"type": "Function", "typeVars": [".-1.140042766237984"], "argTypes": [{"nodeId": ".-1.140042766237984"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766237984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766237984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766237984", "variance": "INVARIANT"}, "140042766238432": {"type": "Function", "typeVars": [".-1.140042766238432"], "argTypes": [{"nodeId": ".-1.140042766238432"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766238432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766238432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766238432", "variance": "INVARIANT"}, "140042766239328": {"type": "Function", "typeVars": [".-1.140042766239328"], "argTypes": [{"nodeId": ".-1.140042766239328"}], "returnType": {"nodeId": ".-1.140042766239328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239328", "variance": "INVARIANT"}, "140042766239776": {"type": "Function", "typeVars": [".-1.140042766239776"], "argTypes": [{"nodeId": ".-1.140042766239776"}], "returnType": {"nodeId": ".-1.140042766239776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239776", "variance": "INVARIANT"}, "140042766240224": {"type": "Function", "typeVars": [".-1.140042766240224"], "argTypes": [{"nodeId": ".-1.140042766240224"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766240224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766240224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766240224", "variance": "INVARIANT"}, "140042766240672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556448928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766241120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449040"}, {"nodeId": "140042556449152"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042556449040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556449152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766242016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449264"}, {"nodeId": "140042556449376"}, {"nodeId": "140042556449488"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042556449264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556449376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556449488": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766242464": {"type": "Function", "typeVars": [".-1.140042766242464"], "argTypes": [{"nodeId": ".-1.140042766242464"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766242464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140042766242464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766242464", "variance": "INVARIANT"}, "140042766242912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556449600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766243360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042766243808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042766244256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042766244704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766250080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766250528": {"type": "Function", "typeVars": [".-1.140042766250528"], "argTypes": [{"nodeId": ".-1.140042766250528"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766250528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766250528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250528", "variance": "INVARIANT"}, "140042766250976": {"type": "Function", "typeVars": [".-1.140042766250976"], "argTypes": [{"nodeId": ".-1.140042766250976"}], "returnType": {"nodeId": ".-1.140042766250976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766250976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250976", "variance": "INVARIANT"}, "140042766251424": {"type": "Function", "typeVars": [".-1.140042766251424"], "argTypes": [{"nodeId": ".-1.140042766251424"}, {"nodeId": "140042556450160"}], "returnType": {"nodeId": ".-1.140042766251424"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766251424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251424", "variance": "INVARIANT"}, "140042556450160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556447360": {"type": "Overloaded", "items": [{"nodeId": "140042766251872"}, {"nodeId": "140042766252320"}]}, "140042766251872": {"type": "Function", "typeVars": [".-1.140042766251872"], "argTypes": [{"nodeId": "140042556450496"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042556450496": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042556450384"}, {"nodeId": ".-1.140042766251872"}]}]}, ".-1.140042766251872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251872", "variance": "INVARIANT"}, "140042556450384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042766252320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042556450608"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140042556450608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766252768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556450832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556450832": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766253216": {"type": "Function", "typeVars": [".-1.140042766253216"], "argTypes": [{"nodeId": ".-1.140042766253216"}, {"nodeId": "140042556450944"}], "returnType": {"nodeId": ".-1.140042766253216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253216", "variance": "INVARIANT"}, "140042556450944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766253664": {"type": "Function", "typeVars": [".-1.140042766253664"], "argTypes": [{"nodeId": ".-1.140042766253664"}, {"nodeId": "140042556451056"}], "returnType": {"nodeId": ".-1.140042766253664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253664", "variance": "INVARIANT"}, "140042556451056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369056": {"type": "Function", "typeVars": [".-1.140042766369056"], "argTypes": [{"nodeId": ".-1.140042766369056"}, {"nodeId": "140042556451168"}, {"nodeId": "140042556451280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766369056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140042766369056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766369056", "variance": "INVARIANT"}, "140042556451168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042556451280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451504"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766370400": {"type": "Function", "typeVars": [".-1.140042766370400"], "argTypes": [{"nodeId": ".-1.140042766370400"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766370400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766370400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766370400", "variance": "INVARIANT"}, "140042766370848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556451840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556451840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766371296": {"type": "Function", "typeVars": [".-1.140042766371296"], "argTypes": [{"nodeId": ".-1.140042766371296"}, {"nodeId": "140042556451952"}], "returnType": {"nodeId": ".-1.140042766371296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766371296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766371296", "variance": "INVARIANT"}, "140042556451952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766371744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452064"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452176"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042766373088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452288"}, {"nodeId": "140042556452400"}, {"nodeId": "140042556452512"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042556452288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556452400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766373536": {"type": "Function", "typeVars": [".-1.140042766373536"], "argTypes": [{"nodeId": ".-1.140042766373536"}, {"nodeId": "140042556452624"}], "returnType": {"nodeId": ".-1.140042766373536"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766373536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373536", "variance": "INVARIANT"}, "140042556452624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766373984": {"type": "Function", "typeVars": [".-1.140042766373984"], "argTypes": [{"nodeId": ".-1.140042766373984"}], "returnType": {"nodeId": ".-1.140042766373984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766373984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373984", "variance": "INVARIANT"}, "140042766374432": {"type": "Function", "typeVars": [".-1.140042766374432"], "argTypes": [{"nodeId": ".-1.140042766374432"}], "returnType": {"nodeId": ".-1.140042766374432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766374432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374432", "variance": "INVARIANT"}, "140042766374880": {"type": "Function", "typeVars": [".-1.140042766374880"], "argTypes": [{"nodeId": ".-1.140042766374880"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766374880"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140042766374880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374880", "variance": "INVARIANT"}, "140042766375328": {"type": "Function", "typeVars": [".-1.140042766375328"], "argTypes": [{"nodeId": ".-1.140042766375328"}], "returnType": {"nodeId": ".-1.140042766375328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766375328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375328", "variance": "INVARIANT"}, "140042766375776": {"type": "Function", "typeVars": [".-1.140042766375776"], "argTypes": [{"nodeId": ".-1.140042766375776"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766375776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140042766375776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375776", "variance": "INVARIANT"}, "140042577736896": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518444096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447584"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766377568"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378016"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378912"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379360"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379808"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380256"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381600"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382048"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382496"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382944"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383392"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384736"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766483744"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484640"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485536"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486432"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486880"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487328"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487776"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766488224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577736896"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736896"}]}], "isAbstract": false}, "140042518444096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042556452848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577736896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736896", "variance": "INVARIANT"}, "140042556452848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556447584": {"type": "Overloaded", "items": [{"nodeId": "140042766376672"}, {"nodeId": "140042766377120"}]}, "140042766376672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140042556453072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140042556453184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378464": {"type": "Function", "typeVars": [".-1.140042766378464"], "argTypes": [{"nodeId": ".-1.140042766378464"}], "returnType": {"nodeId": ".-1.140042766378464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766378464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766378464", "variance": "INVARIANT"}, "140042766378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766380256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042766380704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042766381152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766381600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766382048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766382944": {"type": "Function", "typeVars": [".-1.140042766382944"], "argTypes": [{"nodeId": ".-1.140042766382944"}], "returnType": {"nodeId": ".-1.140042766382944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766382944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766382944", "variance": "INVARIANT"}, "140042766383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766383840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766384288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766384736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766483744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766484192": {"type": "Function", "typeVars": [".-1.140042766484192"], "argTypes": [{"nodeId": ".-1.140042766484192"}], "returnType": {"nodeId": "140042556453632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766484192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484192", "variance": "INVARIANT"}, "140042556453632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042556453408"}, {"nodeId": "N"}, {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577736896"}]}]}, "140042556453408": {"type": "Tuple", "items": []}, "140042766484640": {"type": "Function", "typeVars": [".-1.140042766484640"], "argTypes": [{"nodeId": ".-1.140042766484640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".-1.140042766484640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766484640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484640", "variance": "INVARIANT"}, "140042766485088": {"type": "Function", "typeVars": [".-1.140042766485088"], "argTypes": [{"nodeId": ".-1.140042766485088"}, {"nodeId": ".-1.140042766485088"}], "returnType": {"nodeId": ".-1.140042766485088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485088", "variance": "INVARIANT"}, "140042766485536": {"type": "Function", "typeVars": [".-1.140042766485536"], "argTypes": [{"nodeId": ".-1.140042766485536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485536", "variance": "INVARIANT"}, "140042766485984": {"type": "Function", "typeVars": [".-1.140042766485984"], "argTypes": [{"nodeId": ".-1.140042766485984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485984", "variance": "INVARIANT"}, "140042766486432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766486880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766488224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042568796192": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651168"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796192"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042568796192"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796192"}]}], "isAbstract": false}, "140042766651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796192", "args": [{"nodeId": ".1.140042568796192"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796192"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796192", "variance": "COVARIANT"}, "140042568796528": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651616"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573821904"}]}], "isAbstract": false}, "140042766651616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796528", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, ".2.140042568796528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, "140042556455536": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042573821904": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042568796864": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652064"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796864"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042568796864"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796864"}]}], "isAbstract": false}, "140042766652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796864", "args": [{"nodeId": ".1.140042568796864"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796864": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796864", "variance": "COVARIANT"}, "140042577737232": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652512"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}], "bases": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577737232"}]}], "isAbstract": false}, "140042766652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577737232"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, ".2.140042577737232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, "140042577737568": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652960"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}], "bases": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573822128"}]}], "isAbstract": false}, "140042766652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737568": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, ".2.140042577737568": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, "140042556455760": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042573822128": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042577737904": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653408"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}], "bases": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".2.140042577737904"}]}], "isAbstract": false}, "140042766653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".2.140042577737904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737904": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, ".2.140042577737904": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, "140042577738240": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653856"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654304"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654752"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655200"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655648"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656096"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656544"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454528"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454640"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577738240"}]}], "isAbstract": false}, "140042766653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556455984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140042577738240": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, ".2.140042577738240": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, "140042556455984": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "140042766654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140042766654752": {"type": "Function", "typeVars": [".-1.140042766654752"], "argTypes": [{"nodeId": ".-1.140042766654752"}], "returnType": {"nodeId": ".-1.140042766654752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766654752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766654752", "variance": "INVARIANT"}, "140042766655200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556454528": {"type": "Overloaded", "items": [{"nodeId": "140042766656992"}, {"nodeId": "140042766657440"}]}, "140042766656992": {"type": "Function", "typeVars": [".-1.140042766656992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766656992"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766656992"}, {"nodeId": "140042556456320"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766656992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766656992", "variance": "INVARIANT"}, "140042556456320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766657440": {"type": "Function", "typeVars": [".-1.140042766657440", ".-2.140042766657440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766657440"}]}, {"nodeId": ".-2.140042766657440"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766657440"}, {"nodeId": ".-2.140042766657440"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766657440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, ".-2.140042766657440": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, "140042556454640": {"type": "Overloaded", "items": [{"nodeId": "140042766657888"}, {"nodeId": "140042766658336"}]}, "140042766657888": {"type": "Function", "typeVars": [".-1.140042766657888"], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": "140042556456544"}]}, {"nodeId": ".1.140042577738240"}], "returnType": {"nodeId": "140042556456656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042556456544": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, ".-1.140042766657888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657888", "variance": "INVARIANT"}, "140042556456656": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, "140042766658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "returnType": {"nodeId": ".2.140042577738240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140042577725136": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367792"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456096"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662368"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662816"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766663264"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "isAbstract": false}, "140042586367792": {"type": "Union", "items": [{"nodeId": "140042577259744"}, {"nodeId": "N"}]}, "140042577259744": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, ".2.140042577725136": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042556456096": {"type": "Overloaded", "items": [{"nodeId": "140042766658784"}, {"nodeId": "140042766659232"}, {"nodeId": "140042766659680"}, {"nodeId": "140042766660128"}, {"nodeId": "140042766660576"}, {"nodeId": "140042766661024"}, {"nodeId": "140042766661472"}, {"nodeId": "140042766661920"}]}, "140042766658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577725136": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042766659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042766659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556817472": {"type": "Union", "items": [{"nodeId": "140042556315168"}, {"nodeId": "N"}]}, "140042556315168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817584"}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556817584": {"type": "Union", "items": [{"nodeId": "140042556315392"}, {"nodeId": "N"}]}, "140042556315392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817696"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817696": {"type": "Union", "items": [{"nodeId": "140042556315616"}, {"nodeId": "N"}]}, "140042556315616": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817808"}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556817808": {"type": "Union", "items": [{"nodeId": "140042556315840"}, {"nodeId": "N"}]}, "140042556315840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817920"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817920": {"type": "Union", "items": [{"nodeId": "140042556316064"}, {"nodeId": "N"}]}, "140042556316064": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818144": {"type": "Tuple", "items": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, "140042766661920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556818256"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818480"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556818256": {"type": "Union", "items": [{"nodeId": "140042556316288"}, {"nodeId": "N"}]}, "140042556316288": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, "140042766662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".1.140042577725136"}], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766662816": {"type": "Function", "typeVars": [".-1.140042766662816"], "argTypes": [{"nodeId": ".-1.140042766662816"}], "returnType": {"nodeId": ".-1.140042766662816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766662816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766662816", "variance": "INVARIANT"}, "140042766663264": {"type": "Function", "typeVars": [".-1.140042766663264"], "argTypes": [{"nodeId": ".-1.140042766663264"}], "returnType": {"nodeId": ".-1.140042766663264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766663264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766663264", "variance": "INVARIANT"}, "140042577738576": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766778656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766779104"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518617376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780000"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780896"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781344"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782240"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782688"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783136"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783584"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456432"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766784928"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518619840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456768"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786720"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556818704"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "isAbstract": false}, ".1.140042577738576": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, ".2.140042577738576": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, "140042766778656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140042766779104": {"type": "Function", "typeVars": [".-1.140042766779104"], "argTypes": [{"nodeId": ".-1.140042766779104"}, {"nodeId": "140042556818592"}], "returnType": {"nodeId": ".-1.140042766779104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140042766779104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766779104", "variance": "INVARIANT"}, "140042556818592": {"type": "Union", "items": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "N"}]}, "140042518617376": {"type": "Function", "typeVars": [".-1.140042518617376"], "argTypes": [{"nodeId": ".-1.140042518617376"}], "returnType": {"nodeId": ".-1.140042518617376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518617376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518617376", "variance": "INVARIANT"}, "140042766780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556456432": {"type": "Overloaded", "items": [{"nodeId": "140042766784032"}, {"nodeId": "140042766784480"}]}, "140042766784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766784480": {"type": "Function", "typeVars": [".-1.140042766784480"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": "140042556818816"}], "returnType": {"nodeId": "140042556818928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556818816": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, ".-1.140042766784480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784480", "variance": "INVARIANT"}, "140042556818928": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, "140042766784928": {"type": "Function", "typeVars": [".-1.140042766784928"], "argTypes": [{"nodeId": ".-1.140042766784928"}], "returnType": {"nodeId": ".-1.140042766784928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766784928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784928", "variance": "INVARIANT"}, "140042518619840": {"type": "Function", "typeVars": [".-1.140042518619840"], "argTypes": [{"nodeId": ".-1.140042518619840"}], "returnType": {"nodeId": ".-1.140042518619840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518619840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518619840", "variance": "INVARIANT"}, "140042556456768": {"type": "Overloaded", "items": [{"nodeId": "140042766785376"}, {"nodeId": "140042766785824"}]}, "140042766785376": {"type": "Function", "typeVars": [".-1.140042766785376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785376"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785376"}, {"nodeId": "140042556819264"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140042766785376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785376", "variance": "INVARIANT"}, "140042556819264": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766785824": {"type": "Function", "typeVars": [".-1.140042766785824", ".-2.140042766785824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785824"}]}, {"nodeId": ".-2.140042766785824"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785824"}, {"nodeId": ".-2.140042766785824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042766785824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, ".-2.140042766785824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, "140042766786272": {"type": "Function", "typeVars": [".-1.140042766786272", ".-2.140042766786272"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786272"}, {"nodeId": ".-2.140042766786272"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819376"}, {"nodeId": "140042556819488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786272": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, ".-2.140042766786272": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, "140042556819376": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786272"}]}, "140042556819488": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786272"}]}, "140042766786720": {"type": "Function", "typeVars": [".-1.140042766786720", ".-2.140042766786720"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786720"}, {"nodeId": ".-2.140042766786720"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819600"}, {"nodeId": "140042556819712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, ".-2.140042766786720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, "140042556819600": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786720"}]}, "140042556819712": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786720"}]}, "140042556818704": {"type": "Overloaded", "items": [{"nodeId": "140042766787168"}, {"nodeId": "140042766787616"}]}, "140042766787168": {"type": "Function", "typeVars": [".-1.140042766787168"], "argTypes": [{"nodeId": ".-1.140042766787168"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": ".-1.140042766787168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787168", "variance": "INVARIANT"}, "140042766787616": {"type": "Function", "typeVars": [".-1.140042766787616"], "argTypes": [{"nodeId": ".-1.140042766787616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556820048"}]}], "returnType": {"nodeId": ".-1.140042766787616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787616", "variance": "INVARIANT"}, "140042556820048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, "140042498341040": {"type": "Concrete", "module": "numpy._pytesttester", "simpleName": "PytestTester", "members": [{"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "label", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra_argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doctests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coverage", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "durations", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module_name"]}, "140042674193792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042485588128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588240"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588464"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "label", "verbose", "extra_argv", "doctests", "coverage", "durations", "tests"]}, "140042485588128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485588240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042485588464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042472911056": {"type": "Concrete", "module": "numpy.core._internal", "simpleName": "_ctypes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456007504"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430403008"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430410176"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430407264"}}, {"kind": "Variable", "name": "_as_parameter_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430404128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339264"}, "name": "data_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339712"}, "name": "shape_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716340160"}, "name": "strides_as"}], "typeVars": [{"nodeId": ".1.140042472911056"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456007504": {"type": "Overloaded", "items": [{"nodeId": "140042716336576"}, {"nodeId": "140042716337024"}]}, "140042716336576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "array", "ptr"]}, "140042472913744": {"type": "Concrete", "module": "numpy", "simpleName": "ndarray", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126368"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409568"}, "items": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127264"}}, {"kind": "Variable", "name": "real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "real"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456410576"}, "items": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127488"}}, {"kind": "Variable", "name": "imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "imag"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456386688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740841856"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456411136"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089216"}, "name": "__array_ufunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089664"}, "name": "__array_function__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090112"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090560"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741091008"}, "name": "__array_prepare__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456412256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409792"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127712"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284208"}, "items": [{"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128608"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strides"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741095936"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741096384"}, "name": "fill"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456482752"}, "items": [{"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483088"}, "items": [{"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "itemset"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483536"}, "items": [{"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "align", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741099968"}, "name": "setflags"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100416"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100864"}, "name": "swapaxes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483872"}, "items": [{"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "transpose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102208"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102656"}, "name": "diagonal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456484320"}, "items": [{"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268544"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268992"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741269440"}, "name": "put"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456486000"}, "items": [{"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "searchsorted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741270784"}, "name": "setfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741271232"}, "name": "sort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456487792"}, "items": [{"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "trace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489808"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741273920"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274368"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274816"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489584"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492272"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492832"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456494288"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456391168"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393184"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393408"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393632"}, "name": "__index__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741281984"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741353456"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282880"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456495184"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496864"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496976"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456414720"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451372736"}, "items": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__abs__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451374640"}, "items": [{"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__invert__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451375648"}, "items": [{"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pos__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451376880"}, "items": [{"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__neg__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451377664"}, "items": [{"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__matmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451378448"}, "items": [{"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmatmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451382256"}, "items": [{"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456497984"}, "items": [{"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451421552"}, "items": [{"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451424576"}, "items": [{"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451428048"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451431184"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451385952"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451489888"}, "items": [{"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rsub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451494592"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451499296"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451435216"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451541616"}, "items": [{"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rfloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451545312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549008"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451500640"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451605920"}, "items": [{"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rtruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451609840"}, "items": [{"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451613760"}, "items": [{"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rlshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549680"}, "items": [{"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451667536"}, "items": [{"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rrshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451669776"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451672016"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451674144"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451676272"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451678400"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451615440"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451715568"}, "items": [{"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iadd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451717696"}, "items": [{"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__isub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451721168"}, "items": [{"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451723856"}, "items": [{"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__itruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451726544"}, "items": [{"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ifloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451728224"}, "items": [{"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451680528"}, "items": [{"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451831376"}, "items": [{"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ilshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451833056"}, "items": [{"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__irshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451834736"}, "items": [{"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451836080"}, "items": [{"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ixor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451837760"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451702656"}, "name": "__dlpack__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737408192"}, "name": "__dlpack_device__"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426513696"}}], "typeVars": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}], "bases": [{"nodeId": "140042472912400"}], "isAbstract": false}, "140042431126592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456410464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913744": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042472913744", "variance": "INVARIANT"}, ".2.140042472913744": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472913744", "variance": "COVARIANT"}, "140042468653568": {"type": "Concrete", "module": "numpy", "simpleName": "dtype", "members": [{"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464134416"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009296"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762017408"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009856"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022400"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456019600"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762020992"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022784"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762023232"}, "name": "__ne__"}, {"kind": "Variable", "name": "alignment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430771744"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430773984"}}, {"kind": "Variable", "name": "byteorder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774208"}}, {"kind": "Variable", "name": "char", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774432"}}, {"kind": "Variable", "name": "descr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774656"}}, {"kind": "Variable", "name": "fields", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774880"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857280"}}, {"kind": "Variable", "name": "hasobject", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857504"}}, {"kind": "Variable", "name": "isbuiltin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857728"}}, {"kind": "Variable", "name": "isnative", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857952"}}, {"kind": "Variable", "name": "isalignedstruct", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858176"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858400"}}, {"kind": "Variable", "name": "kind", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858624"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858848"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859072"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859296"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859520"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859744"}}, {"kind": "Variable", "name": "subdtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455610336"}, "name": "newbyteorder"}, {"kind": "Variable", "name": "str", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860192"}}, {"kind": "Variable", "name": "type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860416"}}], "typeVars": [{"nodeId": ".1.140042468653568"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042464134416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042456009296": {"type": "Overloaded", "items": [{"nodeId": "140042745921600"}, {"nodeId": "140042745922048"}, {"nodeId": "140042745922496"}, {"nodeId": "140042745922944"}, {"nodeId": "140042745923392"}, {"nodeId": "140042745923840"}, {"nodeId": "140042745924288"}, {"nodeId": "140042745924736"}, {"nodeId": "140042745925184"}, {"nodeId": "140042745925632"}, {"nodeId": "140042745926080"}, {"nodeId": "140042745926528"}, {"nodeId": "140042745926976"}, {"nodeId": "140042745927424"}, {"nodeId": "140042745927872"}, {"nodeId": "140042745928320"}, {"nodeId": "140042745928768"}, {"nodeId": "140042745929216"}, {"nodeId": "140042745929664"}, {"nodeId": "140042745930112"}, {"nodeId": "140042745930560"}, {"nodeId": "140042745931008"}, {"nodeId": "140042745931456"}, {"nodeId": "140042745931904"}, {"nodeId": "140042745932352"}, {"nodeId": "140042745932800"}, {"nodeId": "140042745933248"}, {"nodeId": "140042745933696"}, {"nodeId": "140042745934144"}, {"nodeId": "140042745934592"}, {"nodeId": "140042745935040"}, {"nodeId": "140042745935488"}, {"nodeId": "140042745935936"}, {"nodeId": "140042745936384"}, {"nodeId": "140042745936832"}, {"nodeId": "140042745937280"}, {"nodeId": "140042762010688"}, {"nodeId": "140042762011136"}, {"nodeId": "140042762011584"}, {"nodeId": "140042762012032"}, {"nodeId": "140042762012480"}, {"nodeId": "140042762012928"}, {"nodeId": "140042762013376"}, {"nodeId": "140042762013824"}, {"nodeId": "140042762014272"}, {"nodeId": "140042762014720"}, {"nodeId": "140042762015168"}, {"nodeId": "140042762015616"}, {"nodeId": "140042762016064"}, {"nodeId": "140042762016512"}, {"nodeId": "140042762016960"}]}, "140042745921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, ".1.140042468653568": {"type": "TypeVar", "varName": "_DTypeScalar_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468653568", "variance": "COVARIANT"}, "140042472914080": {"type": "Concrete", "module": "numpy", "simpleName": "generic", "members": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042426513920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451839440"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426514592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598112"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598336"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598560"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737412672"}, "name": "byteswap"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451841120"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451842128"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844368"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737416704"}, "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844480"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704000"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704448"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704672"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451913072"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309184"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309632"}, "name": "transpose"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599232"}}], "typeVars": [], "bases": [{"nodeId": "140042472912400"}], "isAbstract": true}, "140042426513920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042451839440": {"type": "Overloaded", "items": [{"nodeId": "140042451702880"}, {"nodeId": "140042737409984"}]}, "140042451702880": {"type": "Function", "typeVars": [".-1.140042451702880"], "argTypes": [{"nodeId": ".-1.140042451702880"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451702880"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042451702880": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451702880", "variance": "INVARIANT"}, "140042737409984": {"type": "Function", "typeVars": [".-1.140042737409984"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": ".-1.140042737409984"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042737409984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042737409984": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042737409984", "variance": "INVARIANT"}, "140042426514592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451842800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451842800": {"type": "Tuple", "items": []}, "140042426598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451843024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451843024": {"type": "Tuple", "items": []}, "140042737412672": {"type": "Function", "typeVars": [".-1.140042737412672"], "argTypes": [{"nodeId": ".-1.140042737412672"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737412672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042737412672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737412672", "variance": "INVARIANT"}, "140042426599008": {"type": "Function", "typeVars": [".-1.140042426599008"], "argTypes": [{"nodeId": ".-1.140042426599008"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599008"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599008": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599008", "variance": "INVARIANT"}, "140042468653904": {"type": "Concrete", "module": "numpy", "simpleName": "flatiter", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872512"}}, {"kind": "Variable", "name": "coords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872288"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430873184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808064"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808512"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808960"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757809408"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022624"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757810752"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022848"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042468653904"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430872512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468653904": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042468653904", "variance": "INVARIANT"}, "140042430872288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042456273344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456273344": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430873184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808512": {"type": "Function", "typeVars": [".-1.140042757808512"], "argTypes": [{"nodeId": ".-1.140042757808512"}], "returnType": {"nodeId": ".-1.140042757808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042757808512": {"type": "TypeVar", "varName": "_FlatIterSelf", "values": [], "upperBound": {"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}, "def": "140042757808512", "variance": "INVARIANT"}, "140042757808960": {"type": "Function", "typeVars": [".-1.140042757808960"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757808960"}]}]}]}], "returnType": {"nodeId": ".-1.140042757808960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042757808960": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757808960", "variance": "INVARIANT"}, "140042757809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456022624": {"type": "Overloaded", "items": [{"nodeId": "140042757809856"}, {"nodeId": "140042757810304"}]}, "140042757809856": {"type": "Function", "typeVars": [".-1.140042757809856"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757809856"}]}]}]}, {"nodeId": "140042456273456"}], "returnType": {"nodeId": ".-1.140042757809856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757809856": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757809856", "variance": "INVARIANT"}, "140042456273456": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456273232"}]}, "140042468230528": {"type": "Concrete", "module": "numpy", "simpleName": "integer", "members": [{"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426605280"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426612896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451916992"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508480"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508928"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509376"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509824"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510272"}, "name": "__index__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510720"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511168"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511616"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512064"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512512"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512960"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513408"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513856"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514304"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515200"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515648"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516096"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042468230528"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468230528"}]}], "isAbstract": true}, "140042426605280": {"type": "Function", "typeVars": [".-1.140042426605280"], "argTypes": [{"nodeId": ".-1.140042426605280"}], "returnType": {"nodeId": ".-1.140042426605280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426605280": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426605280", "variance": "INVARIANT"}, "140042426612896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468230528": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230528", "variance": "INVARIANT"}, "140042472659584": {"type": "Concrete", "module": "numpy._typing", "simpleName": "NBitBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674194912"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674194912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042451916992": {"type": "Overloaded", "items": [{"nodeId": "140042732507584"}, {"nodeId": "140042732508032"}]}, "140042732507584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732508032": {"type": "Function", "typeVars": [".-1.140042732508032"], "argTypes": [{"nodeId": ".-1.140042732508032"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732508032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732508032": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732508032", "variance": "INVARIANT"}, "140042577727152": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548194976"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042548194976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732508480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451920016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451919568"}, {"nodeId": "140042451919904"}]}, "140042451919568": {"type": "Tuple", "items": []}, "140042451919904": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732508928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509824": {"type": "Function", "typeVars": [".-1.140042732509824"], "argTypes": [{"nodeId": ".-1.140042732509824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042732509824": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732509824", "variance": "INVARIANT"}, "140042732510272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472905344": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_IntTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905344"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841840": {"type": "Overloaded", "items": [{"nodeId": "140042716059616"}, {"nodeId": "140042716060064"}, {"nodeId": "140042716060512"}, {"nodeId": "140042716060960"}, {"nodeId": "140042716061408"}]}, "140042716059616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472905344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905344": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905344", "variance": "INVARIANT"}, "140042468232208": {"type": "Concrete", "module": "numpy", "simpleName": "floating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675456"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675904"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732676352"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712064"}, "name": "hex"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042427077728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732677696"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451711840"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712736"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712960"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713184"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typestr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713408"}, "name": "__getformat__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451918896"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}], "typeVars": [{"nodeId": ".1.140042468232208"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232208"}]}], "isAbstract": false}, "140042732675008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451925728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232208": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232208", "variance": "INVARIANT"}, "140042451925728": {"type": "TypeAlias", "target": {"nodeId": "140042468147712"}}, "140042468147712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110688"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577727152"}]}, "140042473110688": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472737472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042732675456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451926512"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451926512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451926064"}, {"nodeId": "140042451926400"}]}, "140042451926064": {"type": "Tuple", "items": []}, "140042451926400": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732675904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451712064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451926624"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451926624": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472661264": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_64Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660928"}], "isAbstract": false}, "140042472660928": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_80Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660592"}], "isAbstract": false}, "140042472660592": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_96Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660256"}], "isAbstract": false}, "140042472660256": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_128Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659920"}], "isAbstract": false}, "140042472659920": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_256Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659584"}], "isAbstract": false}, "140042427077728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042451926736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451926736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732677696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042452041792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042451711840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452041904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042016": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042128": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042240"}], "returnType": {"nodeId": "140042452042464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042464": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042451713408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042576"}, {"nodeId": "140042452042912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452042576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451918896": {"type": "Overloaded", "items": [{"nodeId": "140042732680384"}, {"nodeId": "140042732680832"}]}, "140042732680384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732680832": {"type": "Function", "typeVars": [".-1.140042732680832"], "argTypes": [{"nodeId": ".-1.140042732680832"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732680832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732680832": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732680832", "variance": "INVARIANT"}, "140042472908368": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921744"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908368"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921744": {"type": "Overloaded", "items": [{"nodeId": "140042716470112"}, {"nodeId": "140042716470560"}, {"nodeId": "140042716471008"}, {"nodeId": "140042716471456"}, {"nodeId": "140042716471904"}]}, "140042716470112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908368": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908368", "variance": "INVARIANT"}, "140042716470560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922416": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922304"}]}, "140042455922304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922640": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922528"}]}, "140042455922528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455922864"}, {"nodeId": "140042455923088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468232544": {"type": "Concrete", "module": "numpy", "simpleName": "complexfloating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681728"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732682176"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427084224"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427085120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732831232"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713632"}, "name": "__getnewargs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}], "typeVars": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232544"}]}], "isAbstract": false}, "140042732681280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232544": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, ".2.140042468232544": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, "140042452043136": {"type": "TypeAlias", "target": {"nodeId": "140042468147936"}}, "140042468147936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110800"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577366368"}]}, "140042473110800": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042732681728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043920"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452043920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452043472"}, {"nodeId": "140042452043808"}]}, "140042452043472": {"type": "Tuple", "items": []}, "140042452043808": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732682176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427084224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427085120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".2.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732831232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452044032"}], "returnType": {"nodeId": "140042452044256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452044032": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042452044256": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042472909376": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComplexOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455923424"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909376"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455923424": {"type": "Overloaded", "items": [{"nodeId": "140042716475936"}, {"nodeId": "140042716476384"}, {"nodeId": "140042716476832"}, {"nodeId": "140042716477280"}]}, "140042716475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".1.140042472909376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909376": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909376", "variance": "INVARIANT"}, "140042716476384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456007728"}, {"nodeId": "140042456007952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007728": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007616"}]}, "140042456007616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456007952": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007840"}]}, "140042456007840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008176"}, {"nodeId": "140042456008400"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008176": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008064"}]}, "140042456008064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456008400": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008288"}]}, "140042456008288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716477280": {"type": "Function", "typeVars": [".-1.140042716477280"], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042456008512"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008624"}, {"nodeId": "140042456008736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008512": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232544", "args": [{"nodeId": ".-1.140042716477280"}, {"nodeId": ".-1.140042716477280"}]}]}, ".-1.140042716477280": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716477280", "variance": "INVARIANT"}, "140042456008624": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042456008736": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042468231872": {"type": "Concrete", "module": "numpy", "simpleName": "inexact", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674560"}, "name": "__getnewargs__"}], "typeVars": [{"nodeId": ".1.140042468231872"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468231872"}]}], "isAbstract": true}, "140042732674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231872", "args": [{"nodeId": "140042472661264"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468231872": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231872", "variance": "INVARIANT"}, "140042472914416": {"type": "Concrete", "module": "numpy", "simpleName": "number", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599904"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426600128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311424"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311872"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312320"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312768"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313216"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313664"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314112"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464144720"}, {"nodeId": "140042464143824"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464140688"}, {"nodeId": "140042464144272"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463983680"}, {"nodeId": "140042463979872"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463976512"}, {"nodeId": "140042463983568"}]}}], "typeVars": [{"nodeId": ".1.140042472914416"}], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042426599904": {"type": "Function", "typeVars": [".-1.140042426599904"], "argTypes": [{"nodeId": ".-1.140042426599904"}], "returnType": {"nodeId": ".-1.140042426599904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599904": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426599904", "variance": "INVARIANT"}, "140042472912400": {"type": "Concrete", "module": "numpy", "simpleName": "_ArrayOrScalarCommon", "members": [{"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923488"}}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923936"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924384"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814336"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814784"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815232"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815680"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029376"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029824"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030272"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030720"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455611232"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758031616"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032064"}, "name": "dumps"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032512"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032960"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758033408"}, "name": "tolist"}, {"kind": "Variable", "name": "__array_interface__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924832"}}, {"kind": "Variable", "name": "__array_priority__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926400"}}, {"kind": "Variable", "name": "__array_struct__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758035200"}, "name": "__setstate__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456272560"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456276704"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456278608"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456279728"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758041024"}, "name": "argsort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456277488"}, "items": [{"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choose"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456281632"}, "items": [{"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "clip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456282304"}, "items": [{"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758045056"}, "name": "conj"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740826176"}, "name": "conjugate"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456283872"}, "items": [{"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumprod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284544"}, "items": [{"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumsum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101952"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456399936"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456401840"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456384896"}, "name": "newbyteorder"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456403632"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456404976"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456406320"}, "items": [{"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "round"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405424"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405312"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456408112"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430923488": {"type": "Function", "typeVars": [".-1.140042430923488"], "argTypes": [{"nodeId": ".-1.140042430923488"}], "returnType": {"nodeId": ".-1.140042430923488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042430923488": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042430923488", "variance": "INVARIANT"}, "140042430923936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042472901648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472901648": {"type": "Concrete", "module": "numpy.core.multiarray", "simpleName": "flagsobj", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writeable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writebackifcopy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "behaved", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736672"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736224"}}, {"kind": "Variable", "name": "carray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434734656"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434735104"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434674048"}}, {"kind": "Variable", "name": "farray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673152"}}, {"kind": "Variable", "name": "fnc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673376"}}, {"kind": "Variable", "name": "forc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434672928"}}, {"kind": "Variable", "name": "fortran", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752384"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434753280"}}, {"kind": "Variable", "name": "owndata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687096960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687097408"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042434736672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434736224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434734656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434735104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042687096960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460680640"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460680640": {"type": "TypeAlias", "target": {"nodeId": "140042473095344"}}, "140042473095344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042687097408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460683216"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042460683216": {"type": "TypeAlias", "target": {"nodeId": "140042472976816"}}, "140042472976816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042430924384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757815232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042757815680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042758029376": {"type": "Function", "typeVars": [".-1.140042758029376"], "argTypes": [{"nodeId": ".-1.140042758029376"}], "returnType": {"nodeId": ".-1.140042758029376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758029376": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029376", "variance": "INVARIANT"}, "140042758029824": {"type": "Function", "typeVars": [".-1.140042758029824"], "argTypes": [{"nodeId": ".-1.140042758029824"}, {"nodeId": "140042456275584"}], "returnType": {"nodeId": ".-1.140042758029824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042758029824": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029824", "variance": "INVARIANT"}, "140042456275584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}]}, "140042758030272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042758030720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455611232": {"type": "Function", "typeVars": [".-1.140042455611232"], "argTypes": [{"nodeId": ".-1.140042455611232"}, {"nodeId": "140042456276144"}], "returnType": {"nodeId": ".-1.140042455611232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042455611232": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042455611232", "variance": "INVARIANT"}, "140042456276144": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042473107104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758031616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456275024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "file"]}, "140042456275024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577732864"}]}]}, "140042569346944": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531385664"}}], "typeVars": [{"nodeId": ".1.140042569346944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042531385664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569346944", "args": [{"nodeId": ".1.140042569346944"}]}], "returnType": {"nodeId": ".1.140042569346944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569346944": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569346944", "variance": "COVARIANT"}, "140042472912064": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766793664"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472912064"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042766793664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912064", "args": [{"nodeId": ".1.140042472912064"}]}, {"nodeId": ".1.140042472912064"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912064": {"type": "TypeVar", "varName": "_AnyStr_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912064", "variance": "CONTRAVARIANT"}, "140042758032064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758032512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456276256": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042758032960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042456276816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911392"}]}, "140042472911392": {"type": "Protocol", "module": "numpy", "simpleName": "_IOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789184"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789632"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790528"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "seek", "tell"]}, "140042766789184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766789632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042758033408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758035200": {"type": "Function", "typeVars": [".-1.140042758035200"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456277376": {"type": "Tuple", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042456276928"}, {"nodeId": ".-1.140042758035200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456277152"}]}, "140042456276928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494215216": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}, ".-1.140042758035200": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042758035200", "variance": "COVARIANT"}, "140042456277152": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}]}, "140042456272560": {"type": "Overloaded", "items": [{"nodeId": "140042758035648"}, {"nodeId": "140042758036096"}, {"nodeId": "140042758036544"}]}, "140042758035648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456277712"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468229184": {"type": "Concrete", "module": "numpy", "simpleName": "bool_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315008"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315456"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426601248"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732316800"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317248"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317696"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318144"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145616"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145504"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464146064"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464144608"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318592"}, "name": "__invert__"}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464145952"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146176"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146288"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146400"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344464"}, {"nodeId": "140042464344240"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344688"}, {"nodeId": "140042464344128"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344912"}, {"nodeId": "140042464344352"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345136"}, {"nodeId": "140042464344576"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042451916880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451916880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451916432"}, {"nodeId": "140042451916768"}]}, "140042451916432": {"type": "Tuple", "items": []}, "140042451916768": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426601248": {"type": "Function", "typeVars": [".-1.140042426601248"], "argTypes": [{"nodeId": ".-1.140042426601248"}], "returnType": {"nodeId": ".-1.140042426601248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426601248": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426601248", "variance": "INVARIANT"}, "140042426602144": {"type": "Function", "typeVars": [".-1.140042426602144"], "argTypes": [{"nodeId": ".-1.140042426602144"}], "returnType": {"nodeId": ".-1.140042426602144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602144", "variance": "INVARIANT"}, "140042732316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732318144": {"type": "Function", "typeVars": [".-1.140042732318144"], "argTypes": [{"nodeId": ".-1.140042732318144"}], "returnType": {"nodeId": ".-1.140042732318144"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732318144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732318144", "variance": "INVARIANT"}, "140042472902992": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838928"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472902992"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838928": {"type": "Overloaded", "items": [{"nodeId": "140042716341280"}, {"nodeId": "140042716341728"}, {"nodeId": "140042716342176"}, {"nodeId": "140042716342624"}, {"nodeId": "140042716343072"}]}, "140042716341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042455839376"}], "returnType": {"nodeId": ".1.140042472902992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472902992": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472902992", "variance": "COVARIANT"}, "140042455839376": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042469020544": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468229184"}]}, "140042716341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840048": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468230864": {"type": "Concrete", "module": "numpy", "simpleName": "signedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516544"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}], "typeVars": [{"nodeId": ".1.140042468230864"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230864"}]}], "isAbstract": false}, "140042732516544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042468230864"}]}, {"nodeId": "140042451922928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468230864": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230864", "variance": "INVARIANT"}, "140042451922928": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042473110912": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042473111136"}, {"nodeId": "140042577727152"}]}, "140042473111136": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472907024": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455916816"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907024"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455916816": {"type": "Overloaded", "items": [{"nodeId": "140042716069472"}, {"nodeId": "140042716463392"}, {"nodeId": "140042716463840"}, {"nodeId": "140042716464288"}, {"nodeId": "140042716464736"}]}, "140042716069472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907024": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907024", "variance": "INVARIANT"}, "140042716463392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455917488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917488": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917376"}]}, "140042455917376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716463840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455917712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917712": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917600"}]}, "140042455917600": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455917936"}, {"nodeId": "140042455918160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917936": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917824"}]}, "140042455917824": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455918160": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455918048"}]}, "140042455918048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464736": {"type": "Function", "typeVars": [".-1.140042716464736"], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716464736"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455918272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716464736": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716464736", "variance": "INVARIANT"}, "140042455918272": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": ".-1.140042716464736"}]}, "140042472907360": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464032496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907360"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464032496": {"type": "Overloaded", "items": [{"nodeId": "140042716465184"}, {"nodeId": "140042716465632"}, {"nodeId": "140042716466080"}]}, "140042716465184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907360"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907360": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907360", "variance": "INVARIANT"}, "140042716465632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919056": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": "140042455918944"}]}, "140042455918944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716466080": {"type": "Function", "typeVars": [".-1.140042716466080"], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716466080"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716466080": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716466080", "variance": "INVARIANT"}, "140042455919392": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": ".-1.140042716466080"}]}, "140042472907696": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455919168"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907696"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455919168": {"type": "Overloaded", "items": [{"nodeId": "140042716466528"}, {"nodeId": "140042716466976"}, {"nodeId": "140042716467424"}, {"nodeId": "140042716467872"}]}, "140042716466528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907696": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907696", "variance": "INVARIANT"}, "140042716466976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919728": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919616"}]}, "140042455919616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455919952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919952": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919840"}]}, "140042455919840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467872": {"type": "Function", "typeVars": [".-1.140042716467872"], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716467872"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455920064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716467872": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716467872", "variance": "INVARIANT"}, "140042455920064": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": ".-1.140042716467872"}]}, "140042472908032": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908032"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042473101840": {"type": "Overloaded", "items": [{"nodeId": "140042716468320"}, {"nodeId": "140042716468768"}, {"nodeId": "140042716469216"}, {"nodeId": "140042716469664"}]}, "140042716468320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908032": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908032", "variance": "INVARIANT"}, "140042716468768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469664": {"type": "Function", "typeVars": [".-1.140042716469664"], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716469664"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716469664": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716469664", "variance": "INVARIANT"}, "140042468148608": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716342176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455840272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840272": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716342624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455840384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716343072": {"type": "Function", "typeVars": [".-1.140042716343072"], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": ".-1.140042716343072"}], "returnType": {"nodeId": ".-1.140042716343072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716343072": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716343072", "variance": "INVARIANT"}, "140042472903664": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolSub", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838480"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838480": {"type": "Overloaded", "items": [{"nodeId": "140042716344864"}, {"nodeId": "140042716345312"}, {"nodeId": "140042716345760"}, {"nodeId": "140042716346208"}, {"nodeId": "140042716346656"}]}, "140042716344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455841056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841056": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716346208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841168": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716346656": {"type": "Function", "typeVars": [".-1.140042716346656"], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": ".-1.140042716346656"}], "returnType": {"nodeId": ".-1.140042716346656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716346656": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716346656", "variance": "INVARIANT"}, "140042464145616": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472662272": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_8Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661936"}], "isAbstract": false}, "140042472661936": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_16Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661600"}], "isAbstract": false}, "140042472661600": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_32Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661264"}], "isAbstract": false}, "140042464145504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464144608": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904000": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839824"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839824": {"type": "Overloaded", "items": [{"nodeId": "140042716347104"}, {"nodeId": "140042716347552"}, {"nodeId": "140042716348000"}]}, "140042716347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042455841504"}], "returnType": {"nodeId": "140042455841616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042455841392"}]}, "140042455841392": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042469021328": {"type": "Union", "items": [{"nodeId": "140042469021104"}, {"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042469021104": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455841616": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841728": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716348000": {"type": "Function", "typeVars": [".-1.140042716348000"], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": ".-1.140042716348000"}], "returnType": {"nodeId": ".-1.140042716348000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716348000": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716348000", "variance": "INVARIANT"}, "140042732318592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472903328": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839264"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472903328"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839264": {"type": "Overloaded", "items": [{"nodeId": "140042716343520"}, {"nodeId": "140042716343968"}, {"nodeId": "140042716344416"}]}, "140042716343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042455840608"}], "returnType": {"nodeId": ".1.140042472903328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472903328": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472903328", "variance": "COVARIANT"}, "140042455840608": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840720": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716344416": {"type": "Function", "typeVars": [".-1.140042716344416"], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": ".-1.140042716344416"}], "returnType": {"nodeId": ".-1.140042716344416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716344416": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716344416", "variance": "INVARIANT"}, "140042464145952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146400": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904336": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840496": {"type": "Overloaded", "items": [{"nodeId": "140042716053792"}, {"nodeId": "140042716054240"}, {"nodeId": "140042716054688"}, {"nodeId": "140042716055136"}, {"nodeId": "140042716055584"}]}, "140042716053792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042455841952"}], "returnType": {"nodeId": "140042455842064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841952": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455842064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042716054240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455842176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716054688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455842288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842288": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716055136": {"type": "Function", "typeVars": [".-1.140042716055136"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055136"}], "returnType": {"nodeId": ".-1.140042716055136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055136": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716055136", "variance": "INVARIANT"}, "140042716055584": {"type": "Function", "typeVars": [".-1.140042716055584"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055584"}], "returnType": {"nodeId": ".-1.140042716055584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055584": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716055584", "variance": "INVARIANT"}, "140042472904672": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840832"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840832": {"type": "Overloaded", "items": [{"nodeId": "140042716056032"}, {"nodeId": "140042716056480"}, {"nodeId": "140042716056928"}, {"nodeId": "140042716057376"}, {"nodeId": "140042716057824"}]}, "140042716056032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042455842512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842512": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716056480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716056928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716057376": {"type": "Function", "typeVars": [".-1.140042716057376"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057376": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716057376", "variance": "INVARIANT"}, "140042716057824": {"type": "Function", "typeVars": [".-1.140042716057824"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057824": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716057824", "variance": "INVARIANT"}, "140042472910720": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComparisonOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455924208"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455924208": {"type": "Overloaded", "items": [{"nodeId": "140042716479072"}, {"nodeId": "140042698850592"}, {"nodeId": "140042698851040"}]}, "140042716479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".1.140042472910720"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472910720": {"type": "TypeVar", "varName": "_T1_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, ".2.140042472910720": {"type": "TypeVar", "varName": "_T2_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, "140042698850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".2.140042472910720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042698851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": "140042456009632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009632": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042456009520"}]}]}, "140042472910048": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478176"}, "name": "__lt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042716478176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472910384": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478624"}, "name": "__gt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042716478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480719504": {"type": "Protocol", "module": "numpy._typing._nested_sequence", "simpleName": "_NestedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640889152"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489292256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891392"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640892288"}, "name": "index"}], "typeVars": [{"nodeId": ".1.140042480719504"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "__reversed__", "count", "index"]}, "140042640889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480719504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480719504", "variance": "COVARIANT"}, "140042489292256": {"type": "Overloaded", "items": [{"nodeId": "140042640889600"}, {"nodeId": "140042640890048"}]}, "140042640889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042489292144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489292144": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292592": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292704"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292704": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009520": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}]}, "140042464344464": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042469022448": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042468229184"}]}, "140042464344240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344912": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345136": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277936"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456277824"}]}, "140042456277824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456278048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036544": {"type": "Function", "typeVars": [".-1.140042758036544"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456278384"}, {"nodeId": ".-1.140042758036544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278496"}], "returnType": {"nodeId": ".-1.140042758036544"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278272"}]}, "140042456278272": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758036544": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758036544", "variance": "INVARIANT"}, "140042456278496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456276704": {"type": "Overloaded", "items": [{"nodeId": "140042758036992"}, {"nodeId": "140042758037440"}, {"nodeId": "140042758037888"}]}, "140042758036992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456278832"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279056"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278944"}]}, "140042456278944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456279168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037888": {"type": "Function", "typeVars": [".-1.140042758037888"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279504"}, {"nodeId": ".-1.140042758037888"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279616"}], "returnType": {"nodeId": ".-1.140042758037888"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456279392"}]}, "140042456279392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758037888": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758037888", "variance": "INVARIANT"}, "140042456279616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456278608": {"type": "Overloaded", "items": [{"nodeId": "140042758038336"}, {"nodeId": "140042758038784"}, {"nodeId": "140042758039232"}]}, "140042758038336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456279952"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456279952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042468148496": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042758038784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758039232": {"type": "Function", "typeVars": [".-1.140042758039232"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280176"}, {"nodeId": ".-1.140042758039232"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758039232"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758039232": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758039232", "variance": "INVARIANT"}, "140042456279728": {"type": "Overloaded", "items": [{"nodeId": "140042758039680"}, {"nodeId": "140042758040128"}, {"nodeId": "140042758040576"}]}, "140042758039680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456280512"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280512": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042758040128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758040576": {"type": "Function", "typeVars": [".-1.140042758040576"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280736"}, {"nodeId": ".-1.140042758040576"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758040576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758040576": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758040576", "variance": "INVARIANT"}, "140042758041024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280848"}, {"nodeId": "140042456281072"}, {"nodeId": "140042456281184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456280848": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456281072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456280960"}]}, "140042456280960": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042473109792": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456281184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456277488": {"type": "Overloaded", "items": [{"nodeId": "140042758041472"}, {"nodeId": "140042758041920"}]}, "140042758041472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280288"}, {"nodeId": "N"}, {"nodeId": "140042456281408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456280288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456281408": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042473109008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758041920": {"type": "Function", "typeVars": [".-1.140042758041920"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281744"}, {"nodeId": ".-1.140042758041920"}, {"nodeId": "140042456282080"}], "returnType": {"nodeId": ".-1.140042758041920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456281744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758041920": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758041920", "variance": "INVARIANT"}, "140042456282080": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456281632": {"type": "Overloaded", "items": [{"nodeId": "140042758042368"}, {"nodeId": "140042758042816"}, {"nodeId": "140042758043264"}, {"nodeId": "140042758043712"}]}, "140042758042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281856"}, {"nodeId": "140042456282416"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456281856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456282416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456281968"}]}, "140042456281968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758042816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456282864"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456282864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758043264": {"type": "Function", "typeVars": [".-1.140042758043264"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283200"}, {"nodeId": "140042456283312"}, {"nodeId": ".-1.140042758043264"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043264"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456282752"}]}, "140042456282752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043264": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043264", "variance": "INVARIANT"}, "140042758043712": {"type": "Function", "typeVars": [".-1.140042758043712"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456283088"}, {"nodeId": ".-1.140042758043712"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043712": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043712", "variance": "INVARIANT"}, "140042456282304": {"type": "Overloaded", "items": [{"nodeId": "140042758044160"}, {"nodeId": "140042758044608"}]}, "140042758044160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283760"}, {"nodeId": "140042456283984"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456283760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042758044608": {"type": "Function", "typeVars": [".-1.140042758044608"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284320"}, {"nodeId": "140042456283648"}, {"nodeId": ".-1.140042758044608"}], "returnType": {"nodeId": ".-1.140042758044608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456284320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758044608": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758044608", "variance": "INVARIANT"}, "140042758045056": {"type": "Function", "typeVars": [".-1.140042758045056"], "argTypes": [{"nodeId": ".-1.140042758045056"}], "returnType": {"nodeId": ".-1.140042758045056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758045056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758045056", "variance": "INVARIANT"}, "140042740826176": {"type": "Function", "typeVars": [".-1.140042740826176"], "argTypes": [{"nodeId": ".-1.140042740826176"}], "returnType": {"nodeId": ".-1.140042740826176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042740826176": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740826176", "variance": "INVARIANT"}, "140042456283872": {"type": "Overloaded", "items": [{"nodeId": "140042740826624"}, {"nodeId": "140042740827072"}]}, "140042740826624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284432"}, {"nodeId": "140042456284656"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042464336736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042472740496"}]}, "140042480729248": {"type": "Protocol", "module": "numpy._typing._dtype_like", "simpleName": "_SupportsDType", "members": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489386080"}}], "typeVars": [{"nodeId": ".1.140042480729248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["dtype"]}, "140042489386080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480729248", "args": [{"nodeId": ".1.140042480729248"}]}], "returnType": {"nodeId": ".1.140042480729248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042480729248": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042480729248", "variance": "COVARIANT"}, "140042472740496": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042472744528": {"type": "Union", "items": [{"nodeId": "140042472743520"}, {"nodeId": "140042472743856"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042472744080"}, {"nodeId": "140042472744416"}]}, "140042472743520": {"type": "Tuple", "items": [{"nodeId": "140042472742064"}, {"nodeId": "140042577365696"}]}, "140042472742064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743856": {"type": "Tuple", "items": [{"nodeId": "140042472743632"}, {"nodeId": "140042472743744"}]}, "140042472743632": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042472744080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042472744416": {"type": "Tuple", "items": [{"nodeId": "140042472744192"}, {"nodeId": "140042472744304"}]}, "140042472744192": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472744304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042740827072": {"type": "Function", "typeVars": [".-1.140042740827072"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284880"}, {"nodeId": "140042456284992"}, {"nodeId": ".-1.140042740827072"}], "returnType": {"nodeId": ".-1.140042740827072"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827072": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827072", "variance": "INVARIANT"}, "140042456284544": {"type": "Overloaded", "items": [{"nodeId": "140042740827520"}, {"nodeId": "140042740827968"}]}, "140042740827520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400720"}, {"nodeId": "140042456400384"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456400384": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042740827968": {"type": "Function", "typeVars": [".-1.140042740827968"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400272"}, {"nodeId": "140042456401168"}, {"nodeId": ".-1.140042740827968"}], "returnType": {"nodeId": ".-1.140042740827968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456401168": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827968", "variance": "INVARIANT"}, "140042473101952": {"type": "Overloaded", "items": [{"nodeId": "140042740828416"}, {"nodeId": "140042740828864"}]}, "140042740828416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400944"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400160"}, {"nodeId": "140042456400832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456400944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401728"}]}, "140042456401728": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456400160": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456400832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740828864": {"type": "Function", "typeVars": [".-1.140042740828864"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401392"}, {"nodeId": ".-1.140042740828864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400608"}, {"nodeId": "140042456401280"}], "returnType": {"nodeId": ".-1.140042740828864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456401392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401952"}]}, "140042456401952": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740828864": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740828864", "variance": "INVARIANT"}, "140042456400608": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456401280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399936": {"type": "Overloaded", "items": [{"nodeId": "140042740829312"}, {"nodeId": "140042740829760"}]}, "140042740829312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401616"}, {"nodeId": "140042456402176"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456401616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456400048"}]}, "140042456400048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402176": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456402064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740829760": {"type": "Function", "typeVars": [".-1.140042740829760"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456402400"}, {"nodeId": "140042456402736"}, {"nodeId": ".-1.140042740829760"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456401504"}], "returnType": {"nodeId": ".-1.140042740829760"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456402400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403296"}]}, "140042456403296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740829760": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740829760", "variance": "INVARIANT"}, "140042456401504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456401840": {"type": "Overloaded", "items": [{"nodeId": "140042740830208"}, {"nodeId": "140042740830656"}]}, "140042740830208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403520"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402512"}, {"nodeId": "140042456402624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403184"}]}, "140042456403184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456402624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740830656": {"type": "Function", "typeVars": [".-1.140042740830656"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403072"}, {"nodeId": ".-1.140042740830656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402848"}, {"nodeId": "140042456403408"}], "returnType": {"nodeId": ".-1.140042740830656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403744"}]}, "140042456403744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740830656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740830656", "variance": "INVARIANT"}, "140042456402848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456403408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456384896": {"type": "Function", "typeVars": [".-1.140042456384896"], "argTypes": [{"nodeId": ".-1.140042456384896"}, {"nodeId": "140042456402960"}], "returnType": {"nodeId": ".-1.140042456384896"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042456384896": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456384896", "variance": "INVARIANT"}, "140042456402960": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042473107888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456403632": {"type": "Overloaded", "items": [{"nodeId": "140042740831552"}, {"nodeId": "140042740832000"}]}, "140042740831552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403968"}, {"nodeId": "140042456404416"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404304"}, {"nodeId": "140042456404528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456403968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403856"}]}, "140042456403856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456404416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456404304": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740832000": {"type": "Function", "typeVars": [".-1.140042740832000"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456404752"}, {"nodeId": "140042456405200"}, {"nodeId": ".-1.140042740832000"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404080"}, {"nodeId": "140042456404864"}], "returnType": {"nodeId": ".-1.140042740832000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456404752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405760"}]}, "140042456405760": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456405200": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740832000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832000", "variance": "INVARIANT"}, "140042456404080": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456404976": {"type": "Overloaded", "items": [{"nodeId": "140042740832448"}, {"nodeId": "140042740832896"}]}, "140042740832448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405088"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456405088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456406208"}]}, "140042456406208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042740832896": {"type": "Function", "typeVars": [".-1.140042740832896"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406768"}, {"nodeId": ".-1.140042740832896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042740832896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456406768": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405648"}]}, "140042456405648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740832896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832896", "variance": "INVARIANT"}, "140042456406320": {"type": "Overloaded", "items": [{"nodeId": "140042740833344"}, {"nodeId": "140042740833792"}]}, "140042740833344": {"type": "Function", "typeVars": [".-1.140042740833344"], "argTypes": [{"nodeId": ".-1.140042740833344"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042740833344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833344": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740833344", "variance": "INVARIANT"}, "140042740833792": {"type": "Function", "typeVars": [".-1.140042740833792"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042740833792"}], "returnType": {"nodeId": ".-1.140042740833792"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833792": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740833792", "variance": "INVARIANT"}, "140042456405424": {"type": "Overloaded", "items": [{"nodeId": "140042740834240"}, {"nodeId": "140042740834688"}]}, "140042740834240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405536"}, {"nodeId": "140042456406656"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456405536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405872"}]}, "140042456405872": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456406432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740834688": {"type": "Function", "typeVars": [".-1.140042740834688"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406992"}, {"nodeId": "140042456407216"}, {"nodeId": ".-1.140042740834688"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406096"}], "returnType": {"nodeId": ".-1.140042740834688"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456406992": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407776"}]}, "140042456407776": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456407216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740834688": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740834688", "variance": "INVARIANT"}, "140042456406096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456405312": {"type": "Overloaded", "items": [{"nodeId": "140042740835136"}, {"nodeId": "140042740835584"}]}, "140042740835136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408000"}, {"nodeId": "140042456406880"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407104"}, {"nodeId": "140042456408672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456408000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407664"}]}, "140042456407664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456407104": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456408672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740835584": {"type": "Function", "typeVars": [".-1.140042740835584"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407552"}, {"nodeId": "140042456408560"}, {"nodeId": ".-1.140042740835584"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407440"}, {"nodeId": "140042456407328"}], "returnType": {"nodeId": ".-1.140042740835584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456407552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409008"}]}, "140042456409008": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408560": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740835584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740835584", "variance": "INVARIANT"}, "140042456407440": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456407328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456408112": {"type": "Overloaded", "items": [{"nodeId": "140042740836032"}, {"nodeId": "140042740836480"}]}, "140042740836032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407888"}, {"nodeId": "140042456409232"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456407888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409456"}]}, "140042456409456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456409232": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456408784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740836480": {"type": "Function", "typeVars": [".-1.140042740836480"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408336"}, {"nodeId": "140042456408896"}, {"nodeId": ".-1.140042740836480"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408448"}], "returnType": {"nodeId": ".-1.140042740836480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456408336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410128"}]}, "140042456410128": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408896": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740836480": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740836480", "variance": "INVARIANT"}, "140042456408448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042426600128": {"type": "Function", "typeVars": [".-1.140042426600128"], "argTypes": [{"nodeId": ".-1.140042426600128"}], "returnType": {"nodeId": ".-1.140042426600128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426600128": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426600128", "variance": "INVARIANT"}, "140042732311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042732311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472914416": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472914416", "variance": "INVARIANT"}, "140042732312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732313216": {"type": "Function", "typeVars": [".-1.140042732313216"], "argTypes": [{"nodeId": ".-1.140042732313216"}], "returnType": {"nodeId": ".-1.140042732313216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313216": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313216", "variance": "INVARIANT"}, "140042732313664": {"type": "Function", "typeVars": [".-1.140042732313664"], "argTypes": [{"nodeId": ".-1.140042732313664"}], "returnType": {"nodeId": ".-1.140042732313664"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313664": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313664", "variance": "INVARIANT"}, "140042732314112": {"type": "Function", "typeVars": [".-1.140042732314112"], "argTypes": [{"nodeId": ".-1.140042732314112"}], "returnType": {"nodeId": ".-1.140042732314112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732314112": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732314112", "variance": "INVARIANT"}, "140042472909712": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_NumberOp", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716477728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042716477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909712"}, {"nodeId": "140042456008848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144720": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464143824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464140688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463983680": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463979872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463976512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463983568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042455922864": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922752"}]}, "140042455922752": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455923088": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922976"}]}, "140042455922976": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471904": {"type": "Function", "typeVars": [".-1.140042716471904"], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042455923200"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923312"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923200": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716471904"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716471904"}]}]}, ".-1.140042716471904": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716471904", "variance": "INVARIANT"}, "140042455923312": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": ".-1.140042716471904"}]}, "140042472908704": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908704"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921856": {"type": "Overloaded", "items": [{"nodeId": "140042716472352"}, {"nodeId": "140042716472800"}, {"nodeId": "140042716473248"}, {"nodeId": "140042716473696"}]}, "140042716472352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908704": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908704", "variance": "INVARIANT"}, "140042716472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923648": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923536"}]}, "140042455923536": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923872": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923760"}]}, "140042455923760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473696": {"type": "Function", "typeVars": [".-1.140042716473696"], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042455923984"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455924096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923984": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716473696"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716473696"}]}]}, ".-1.140042716473696": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716473696", "variance": "INVARIANT"}, "140042455924096": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": ".-1.140042716473696"}]}, "140042472909040": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455922192"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909040"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455922192": {"type": "Overloaded", "items": [{"nodeId": "140042716474144"}, {"nodeId": "140042716474592"}, {"nodeId": "140042716475040"}, {"nodeId": "140042716475488"}]}, "140042716474144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909040": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909040", "variance": "INVARIANT"}, "140042716474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475488": {"type": "Function", "typeVars": [".-1.140042716475488"], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042456007168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007168": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716475488"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716475488"}]}]}, ".-1.140042716475488": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716475488", "variance": "INVARIANT"}, "140042716060064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455909872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909872": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909760"}]}, "140042455909760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910096": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909984"}]}, "140042455909984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455910320"}, {"nodeId": "140042455910544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910320": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910208"}]}, "140042455910208": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455910544": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910432"}]}, "140042455910432": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716061408": {"type": "Function", "typeVars": [".-1.140042716061408"], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716061408"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910656"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716061408": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716061408", "variance": "INVARIANT"}, "140042455910656": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": ".-1.140042716061408"}]}, "140042732510720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920240"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920464"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920464": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511616": {"type": "Function", "typeVars": [".-1.140042732511616"], "argTypes": [{"nodeId": ".-1.140042732511616"}], "returnType": {"nodeId": ".-1.140042732511616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732511616": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042732511616", "variance": "INVARIANT"}, "140042732512064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920688"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920688": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920912"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920912": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921136"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921136": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921360"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921360": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921584"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921584": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921808"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922032"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922032": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922256"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922256": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922480"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732516096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922704"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922704": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456273232": {"type": "Tuple", "items": [{"nodeId": "140042456273008"}]}, "140042456273008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042757810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274128"}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456274128": {"type": "Union", "items": [{"nodeId": "140042456273568"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274016"}]}, "140042456273568": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042464134864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042464034400"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}]}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042464034400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042577372752": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456274016": {"type": "Tuple", "items": [{"nodeId": "140042456273792"}]}, "140042456273792": {"type": "Union", "items": [{"nodeId": "140042456273680"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456273680": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042757810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274800"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456274800": {"type": "Union", "items": [{"nodeId": "140042456274240"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274688"}]}, "140042456274240": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456274688": {"type": "Tuple", "items": [{"nodeId": "140042456274464"}]}, "140042456274464": {"type": "Union", "items": [{"nodeId": "140042456274352"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456274352": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456022848": {"type": "Overloaded", "items": [{"nodeId": "140042757811200"}, {"nodeId": "140042757811648"}]}, "140042757811200": {"type": "Function", "typeVars": [".-1.140042757811200"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042757811200": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811200", "variance": "INVARIANT"}, "140042757811648": {"type": "Function", "typeVars": [".-1.140042757811648"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": ".-1.140042757811648"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757811648": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811648", "variance": "INVARIANT"}, "140042451841120": {"type": "Overloaded", "items": [{"nodeId": "140042737413568"}, {"nodeId": "140042737414016"}]}, "140042737413568": {"type": "Function", "typeVars": [".-1.140042737413568"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042451843584"}, {"nodeId": "140042451843696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451843808"}], "returnType": {"nodeId": ".-1.140042737413568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451843584": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042468147600": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042451843808": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042468234896": {"type": "Concrete", "module": "numpy", "simpleName": "_CopyMode", "members": [{"kind": "Variable", "name": "ALWAYS", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "IF_NEEDED", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "NEVER", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573233312": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544084384"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527659328"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248800"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776256"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527349376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648928992"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929440"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929888"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648930336"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544084384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527659328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573248800": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527776256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140042527349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140042648928992": {"type": "Function", "typeVars": [".-1.140042648928992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042648928992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648928992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648928992", "variance": "INVARIANT"}, "140042648929440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042648930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, ".-1.140042737413568": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737413568", "variance": "INVARIANT"}, "140042737414016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451844256"}, {"nodeId": "140042451843360"}, {"nodeId": "140042451843920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451844032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451844256": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451843360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843920": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042451844032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042451842128": {"type": "Overloaded", "items": [{"nodeId": "140042737414464"}, {"nodeId": "140042737414912"}, {"nodeId": "140042737415360"}]}, "140042737414464": {"type": "Function", "typeVars": [".-1.140042737414464"], "argTypes": [{"nodeId": ".-1.140042737414464"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "type"]}, ".-1.140042737414464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414464", "variance": "INVARIANT"}, "140042737414912": {"type": "Function", "typeVars": [".-1.140042737414912"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, ".-1.140042737414912": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414912", "variance": "INVARIANT"}, "140042737415360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451910944"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042451910944": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451844368": {"type": "Overloaded", "items": [{"nodeId": "140042737415808"}, {"nodeId": "140042737416256"}]}, "140042737415808": {"type": "Function", "typeVars": [".-1.140042737415808"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042737415808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, ".-1.140042737415808": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737415808", "variance": "INVARIANT"}, "140042737416256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451911504"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042451911504": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042737416704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451912848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451912848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451911952"}, {"nodeId": "140042451912512"}]}, "140042451911952": {"type": "Tuple", "items": []}, "140042451912512": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042451844480": {"type": "Overloaded", "items": [{"nodeId": "140042451703552"}, {"nodeId": "140042737417600"}, {"nodeId": "140042732306496"}]}, "140042451703552": {"type": "Function", "typeVars": [".-1.140042451703552"], "argTypes": [{"nodeId": ".-1.140042451703552"}, {"nodeId": "140042451911616"}, {"nodeId": "140042451912736"}, {"nodeId": "N"}, {"nodeId": "140042451911168"}], "returnType": {"nodeId": ".-1.140042451703552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042451703552": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451703552", "variance": "INVARIANT"}, "140042451911616": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042451912736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451911168": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042737417600": {"type": "Function", "typeVars": [".-1.140042737417600"], "argTypes": [{"nodeId": ".-1.140042737417600"}, {"nodeId": "140042451913408"}, {"nodeId": "140042451912960"}, {"nodeId": "N"}, {"nodeId": "140042451913184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042737417600"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042737417600": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737417600", "variance": "INVARIANT"}, "140042451913408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451912960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451913184": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042732306496": {"type": "Function", "typeVars": [".-1.140042732306496"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451913744"}, {"nodeId": "140042451911728"}, {"nodeId": ".-1.140042732306496"}, {"nodeId": "140042451913520"}], "returnType": {"nodeId": ".-1.140042732306496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042451913744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451911728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042732306496": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042732306496", "variance": "INVARIANT"}, "140042451913520": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042451704000": {"type": "Function", "typeVars": [".-1.140042451704000"], "argTypes": [{"nodeId": ".-1.140042451704000"}, {"nodeId": "140042451914080"}, {"nodeId": "140042451913632"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, ".-1.140042451704000": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704000", "variance": "INVARIANT"}, "140042451914080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451913632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451704448": {"type": "Function", "typeVars": [".-1.140042451704448"], "argTypes": [{"nodeId": ".-1.140042451704448"}, {"nodeId": "140042451913968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704448"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704448": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704448", "variance": "INVARIANT"}, "140042451913968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451704672": {"type": "Function", "typeVars": [".-1.140042451704672"], "argTypes": [{"nodeId": ".-1.140042451704672"}, {"nodeId": "140042451914416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704672"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704672", "variance": "INVARIANT"}, "140042451914416": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451913072": {"type": "Overloaded", "items": [{"nodeId": "140042451704896"}, {"nodeId": "140042732308736"}]}, "140042451704896": {"type": "Function", "typeVars": [".-1.140042451704896"], "argTypes": [{"nodeId": ".-1.140042451704896"}, {"nodeId": "140042451914528"}, {"nodeId": "140042451914640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704896"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, ".-1.140042451704896": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704896", "variance": "INVARIANT"}, "140042451914528": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042451914640": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042473108224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042732308736": {"type": "Function", "typeVars": [".-1.140042732308736"], "argTypes": [{"nodeId": ".-1.140042732308736"}, {"nodeId": "140042577727152"}, {"nodeId": "140042451914752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042732308736"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, ".-1.140042732308736": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732308736", "variance": "INVARIANT"}, "140042451914752": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042732309184": {"type": "Function", "typeVars": [".-1.140042732309184"], "argTypes": [{"nodeId": ".-1.140042732309184"}, {"nodeId": "140042451915648"}], "returnType": {"nodeId": ".-1.140042732309184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, ".-1.140042732309184": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309184", "variance": "INVARIANT"}, "140042451915648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042451915424"}]}, "140042451915424": {"type": "Tuple", "items": []}, "140042732309632": {"type": "Function", "typeVars": [".-1.140042732309632"], "argTypes": [{"nodeId": ".-1.140042732309632"}, {"nodeId": "140042451915984"}], "returnType": {"nodeId": ".-1.140042732309632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042732309632": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309632", "variance": "INVARIANT"}, "140042451915984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042451915872"}]}, "140042451915872": {"type": "Tuple", "items": []}, "140042426599232": {"type": "Function", "typeVars": [".-1.140042426599232"], "argTypes": [{"nodeId": ".-1.140042426599232"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599232": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599232", "variance": "INVARIANT"}, "140042745922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042745922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010528": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010640"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042456010752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042468150400": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010864": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042468151296": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152080": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468234224": {"type": "Concrete", "module": "numpy", "simpleName": "str_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839296"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839744"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577367376"}], "isAbstract": false}, "140042452045152": {"type": "Overloaded", "items": [{"nodeId": "140042732838400"}, {"nodeId": "140042732838848"}]}, "140042732838400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732838848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732839296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042452047392"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452047392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452046944"}, {"nodeId": "140042452047280"}]}, "140042452046944": {"type": "Tuple", "items": []}, "140042452047280": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732839744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468233552": {"type": "Concrete", "module": "numpy", "simpleName": "character", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835712"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732836160"}, "name": "__float__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": true}, "140042732835712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732836160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042468232880": {"type": "Concrete", "module": "numpy", "simpleName": "flexible", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042745924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468233888": {"type": "Concrete", "module": "numpy", "simpleName": "bytes_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837504"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837952"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577732864"}], "isAbstract": false}, "140042452046496": {"type": "Overloaded", "items": [{"nodeId": "140042732836608"}, {"nodeId": "140042732837056"}]}, "140042732836608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732837056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732837504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042452046272"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452046272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452045824"}, {"nodeId": "140042452046160"}]}, "140042452045824": {"type": "Tuple", "items": []}, "140042452046160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732837952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042745924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011088"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011088": {"type": "Union", "items": [{"nodeId": "140042456010976"}, {"nodeId": "0"}]}, "140042456010976": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042494220032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011200": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042468231536": {"type": "Concrete", "module": "numpy", "simpleName": "unsignedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674112"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}], "typeVars": [{"nodeId": ".1.140042468231536"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468231536"}]}], "isAbstract": false}, "140042732674112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042468231536"}]}, {"nodeId": "140042451925616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468231536": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231536", "variance": "INVARIANT"}, "140042451925616": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042472905680": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455909312"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905680"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455909312": {"type": "Overloaded", "items": [{"nodeId": "140042716061856"}, {"nodeId": "140042716062304"}, {"nodeId": "140042716062752"}, {"nodeId": "140042716063200"}, {"nodeId": "140042716063648"}]}, "140042716061856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472905680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905680": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905680", "variance": "INVARIANT"}, "140042716062304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042455910992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716062752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455911328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911328": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911216"}]}, "140042455911216": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455911552"}, {"nodeId": "140042455911776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911552": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911440"}]}, "140042455911440": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455911776": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911664"}]}, "140042455911664": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063648": {"type": "Function", "typeVars": [".-1.140042716063648"], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716063648"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455911888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716063648": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716063648", "variance": "INVARIANT"}, "140042455911888": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": ".-1.140042716063648"}]}, "140042472906016": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455842400"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906016"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455842400": {"type": "Overloaded", "items": [{"nodeId": "140042716064096"}, {"nodeId": "140042716064544"}, {"nodeId": "140042716064992"}, {"nodeId": "140042716065440"}]}, "140042716064096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906016": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906016", "variance": "INVARIANT"}, "140042716064544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716064992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716065440": {"type": "Function", "typeVars": [".-1.140042716065440"], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716065440"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455913344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716065440": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716065440", "variance": "INVARIANT"}, "140042455913344": {"type": "Union", "items": [{"nodeId": ".1.140042472906016"}, {"nodeId": ".-1.140042716065440"}]}, "140042472906352": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464023984"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906352"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464023984": {"type": "Overloaded", "items": [{"nodeId": "140042716065888"}, {"nodeId": "140042716066336"}, {"nodeId": "140042716066784"}, {"nodeId": "140042716067232"}]}, "140042716065888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906352": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906352", "variance": "INVARIANT"}, "140042716066336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042455914128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716066784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455914688"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914688": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": "140042455914576"}]}, "140042455914576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716067232": {"type": "Function", "typeVars": [".-1.140042716067232"], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716067232"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455915024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716067232": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716067232", "variance": "INVARIANT"}, "140042455915024": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": ".-1.140042716067232"}]}, "140042472906688": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464031936"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906688"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464031936": {"type": "Overloaded", "items": [{"nodeId": "140042716067680"}, {"nodeId": "140042716068128"}, {"nodeId": "140042716068576"}, {"nodeId": "140042716069024"}]}, "140042716067680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906688": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906688", "variance": "INVARIANT"}, "140042716068128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042455915920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455915920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716068576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716069024": {"type": "Function", "typeVars": [".-1.140042716069024"], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716069024"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716069024": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716069024", "variance": "INVARIANT"}, "140042745925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011312"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010416": {"type": "Union", "items": [{"nodeId": "140042456011760"}, {"nodeId": "0"}]}, "140042456011760": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042494220704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042745925632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011648": {"type": "Union", "items": [{"nodeId": "140042456012096"}, {"nodeId": "0"}]}, "140042456012096": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042494221376": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011424": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042745926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011984"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011536"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011984": {"type": "Union", "items": [{"nodeId": "140042456012432"}, {"nodeId": "0"}]}, "140042456012432": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042494222048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042745926528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012320": {"type": "Union", "items": [{"nodeId": "140042456012768"}, {"nodeId": "0"}]}, "140042456012768": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042484861632": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011872": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468148832"}]}}, "140042468148832": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745926976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012656": {"type": "Union", "items": [{"nodeId": "140042456013104"}, {"nodeId": "0"}]}, "140042456013104": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042484862304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012208": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149056"}]}}, "140042468149056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012992"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012544"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012992": {"type": "Union", "items": [{"nodeId": "140042456013440"}, {"nodeId": "0"}]}, "140042456013440": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042484862976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012544": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149280"}]}}, "140042468149280": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013328"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012880"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013328": {"type": "Union", "items": [{"nodeId": "140042456013776"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013776": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042484863872": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012880": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149392"}]}}, "140042468149392": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013664"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013664": {"type": "Union", "items": [{"nodeId": "140042456014224"}, {"nodeId": "0"}]}, "140042456014224": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042484864656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013216": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042468149504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013552"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014112": {"type": "Union", "items": [{"nodeId": "140042456014560"}, {"nodeId": "0"}]}, "140042456014560": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042484865216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149616"}]}}, "140042468149616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745929216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014448": {"type": "Union", "items": [{"nodeId": "140042456014784"}, {"nodeId": "0"}]}, "140042456014784": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042494222720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042745929664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014672"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014672": {"type": "Union", "items": [{"nodeId": "140042456015120"}, {"nodeId": "0"}]}, "140042456015120": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042494223392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042745930112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014336"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015008": {"type": "Union", "items": [{"nodeId": "140042456015456"}, {"nodeId": "0"}]}, "140042456015456": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042494224064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014336": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042745930560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015344"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015344": {"type": "Union", "items": [{"nodeId": "140042456015792"}, {"nodeId": "0"}]}, "140042456015792": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042494224736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014896": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042745931008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015680"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015680": {"type": "Union", "items": [{"nodeId": "140042456016128"}, {"nodeId": "0"}]}, "140042456016128": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042494228768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015232": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042473111024"}]}}, "140042473111024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016016": {"type": "Union", "items": [{"nodeId": "140042456016464"}, {"nodeId": "0"}]}, "140042456016464": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042494229440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015568": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148048"}]}}, "140042468148048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016352": {"type": "Union", "items": [{"nodeId": "140042456016800"}, {"nodeId": "0"}]}, "140042456016800": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042494230112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015904": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148384"}]}}, "140042468148384": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745932352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016688"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016688": {"type": "Union", "items": [{"nodeId": "140042456017136"}, {"nodeId": "0"}]}, "140042456017136": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042484859504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016240": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042745932800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017024"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016576"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017024": {"type": "Union", "items": [{"nodeId": "140042456017584"}, {"nodeId": "0"}]}, "140042456017584": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042484860512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016576": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745933248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017472": {"type": "Union", "items": [{"nodeId": "140042456018032"}, {"nodeId": "0"}]}, "140042456018032": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042484860960": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016912": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148720"}]}}, "140042468148720": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745933696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018144"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017920"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018144": {"type": "TypeAlias", "target": {"nodeId": "140042494225408"}}, "140042494225408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661936"}]}}, "140042745934144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018368"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017808"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018368": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042494226080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017808": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042745934592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018592"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018256"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018592": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042494226752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018256": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042745935040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018816"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018480"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018816": {"type": "TypeAlias", "target": {"nodeId": "140042484865888"}}, "140042484865888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468149840"}]}}, "140042468149840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018704"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017248"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018704": {"type": "Union", "items": [{"nodeId": "140042456019040"}, {"nodeId": "0"}]}, "140042456019040": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042484866560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017248": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150064"}]}}, "140042468150064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018928"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017360"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018928": {"type": "Union", "items": [{"nodeId": "140042456019376"}, {"nodeId": "0"}]}, "140042456019376": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042484867680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150288"}]}}, "140042468150288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019264"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017696"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019264": {"type": "Union", "items": [{"nodeId": "140042456019936"}, {"nodeId": "0"}]}, "140042456019936": {"type": "TypeAlias", "target": {"nodeId": "140042484868352"}}, "140042484868352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150512"}]}}, "140042468150512": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020160": {"type": "TypeAlias", "target": {"nodeId": "140042494227424"}}, "140042494227424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019824": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661600"}, {"nodeId": "140042472661600"}]}}, "140042745937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020272"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020272": {"type": "TypeAlias", "target": {"nodeId": "140042494228096"}}, "140042494228096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020048": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042762010688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020496": {"type": "TypeAlias", "target": {"nodeId": "140042484869136"}}, "140042484869136": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019712": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468150736"}, {"nodeId": "140042468151408"}]}}, "140042468150736": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151408": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020832": {"type": "TypeAlias", "target": {"nodeId": "140042484870368"}}, "140042484870368": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151184"}, {"nodeId": "140042468151856"}]}}, "140042468151184": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151856": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021280": {"type": "TypeAlias", "target": {"nodeId": "140042484871152"}}, "140042484871152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020720": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151744"}, {"nodeId": "140042468152528"}]}}, "140042468151744": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762012032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021168"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021168": {"type": "Union", "items": [{"nodeId": "140042456021392"}, {"nodeId": "0"}]}, "140042456021392": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042494219584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021616"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021616": {"type": "TypeAlias", "target": {"nodeId": "140042484962736"}}, "140042484962736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468231200": {"type": "Concrete", "module": "numpy", "simpleName": "timedelta64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516992"}, "name": "__init__"}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852384"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732666944"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667392"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668288"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669632"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670080"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670528"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670976"}, "name": "__rmul__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042464147856"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042468148944"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671424"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671872"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672320"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672768"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673664"}, "name": "__rdivmod__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464147632"}, {"nodeId": "140042464147184"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345696"}, {"nodeId": "140042464345920"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345808"}, {"nodeId": "140042464477248"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464477696"}, {"nodeId": "140042464477360"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732516992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451923152"}, {"nodeId": "140042451923824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451923152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451923040"}, {"nodeId": "140042480721520"}, {"nodeId": "140042468231200"}]}, "140042451923040": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042480721520": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648625312"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489670880"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489671776"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489672000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627104"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628448"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628896"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629344"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629792"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630688"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648631136"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489398880"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489400560"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648731936"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732384"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733280"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734176"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734624"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042648625312": {"type": "Function", "typeVars": [".-1.140042648625312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042648625312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140042648625312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648625312", "variance": "INVARIANT"}, "140042489670880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489671776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489672000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648629344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648629792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648631136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489398880": {"type": "Overloaded", "items": [{"nodeId": "140042648631584"}, {"nodeId": "140042648632032"}]}, "140042648631584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489400560": {"type": "Overloaded", "items": [{"nodeId": "140042648632480"}, {"nodeId": "140042648632928"}]}, "140042648632480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648731936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648732384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042489401792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480721520"}]}, "140042648732832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451923824": {"type": "Union", "items": [{"nodeId": "140042451923264"}, {"nodeId": "140042451923712"}]}, "140042451923264": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923712": {"type": "Tuple", "items": [{"nodeId": "140042451923376"}, {"nodeId": "140042451923488"}]}, "140042451923376": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923488": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042426852384": {"type": "Function", "typeVars": [".-1.140042426852384"], "argTypes": [{"nodeId": ".-1.140042426852384"}], "returnType": {"nodeId": ".-1.140042426852384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426852384": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426852384", "variance": "INVARIANT"}, "140042426852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732518336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732518784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732667392": {"type": "Function", "typeVars": [".-1.140042732667392"], "argTypes": [{"nodeId": ".-1.140042732667392"}], "returnType": {"nodeId": ".-1.140042732667392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667392": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667392", "variance": "INVARIANT"}, "140042732667840": {"type": "Function", "typeVars": [".-1.140042732667840"], "argTypes": [{"nodeId": ".-1.140042732667840"}], "returnType": {"nodeId": ".-1.140042732667840"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667840": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667840", "variance": "INVARIANT"}, "140042732668288": {"type": "Function", "typeVars": [".-1.140042732668288"], "argTypes": [{"nodeId": ".-1.140042732668288"}], "returnType": {"nodeId": ".-1.140042732668288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732668288": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732668288", "variance": "INVARIANT"}, "140042732668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924048"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924048": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042469022336": {"type": "Union", "items": [{"nodeId": "140042469022560"}, {"nodeId": "140042468231200"}]}, "140042469022560": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732669184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924160"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924160": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924272"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924272": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924384"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924384": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924496"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924496": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042469021664": {"type": "Union", "items": [{"nodeId": "140042469021440"}, {"nodeId": "140042577366032"}, {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "140042469021440": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732670976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924608"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924608": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042472905008": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_TD64Div", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841280"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905008"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841280": {"type": "Overloaded", "items": [{"nodeId": "140042716058272"}, {"nodeId": "140042716058720"}, {"nodeId": "140042716059168"}]}, "140042716058272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": ".1.140042472905008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905008": {"type": "TypeVar", "varName": "_NumberType_co", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042472905008", "variance": "COVARIANT"}, "140042716058720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909424": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716059168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909536"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909536": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042464147856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468148944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732671424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924720": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732671872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924832": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732672320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732672768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732673216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451925168": {"type": "Tuple", "items": [{"nodeId": "140042451924944"}, {"nodeId": "140042468231200"}]}, "140042451924944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732673664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451925504": {"type": "Tuple", "items": [{"nodeId": "140042451925280"}, {"nodeId": "140042468231200"}]}, "140042451925280": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042464147632": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464147184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464345920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345808": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464477696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021056": {"type": "TypeAlias", "target": {"nodeId": "140042484916720"}}, "140042484916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468230192": {"type": "Concrete", "module": "numpy", "simpleName": "datetime64", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451914976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504448"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504896"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451915536"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732506240"}, "name": "__rsub__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345360"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464344800"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345024"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345248"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042451914976": {"type": "Overloaded", "items": [{"nodeId": "140042732503552"}, {"nodeId": "140042732504000"}]}, "140042732503552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451917216"}, {"nodeId": "140042451917888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451917216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468230192"}, {"nodeId": "140042451917104"}, {"nodeId": "140042468229856"}]}, "140042451917104": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042468229856": {"type": "Protocol", "module": "numpy", "simpleName": "_DatetimeScalar", "members": [{"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603936"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604384"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604608"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["day", "month", "year"]}, "140042426603936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451917888": {"type": "Union", "items": [{"nodeId": "140042451917328"}, {"nodeId": "140042451917776"}]}, "140042451917328": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917776": {"type": "Tuple", "items": [{"nodeId": "140042451917440"}, {"nodeId": "140042451917552"}]}, "140042451917440": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917552": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451918560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042451918560": {"type": "Union", "items": [{"nodeId": "140042451918000"}, {"nodeId": "140042451918448"}]}, "140042451918000": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918448": {"type": "Tuple", "items": [{"nodeId": "140042451918112"}, {"nodeId": "140042451918224"}]}, "140042451918112": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918672"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918672": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732504896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918784"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918784": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042451915536": {"type": "Overloaded", "items": [{"nodeId": "140042732505344"}, {"nodeId": "140042732505792"}]}, "140042732505344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732505792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451919008"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451919008": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732506240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464345360": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042463969792": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}]}]}, "140042472657904": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArray", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722176"}, "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042472657904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array__"]}, "140042631722176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657904", "args": [{"nodeId": ".1.140042472657904"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472657904"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472657904": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472657904", "variance": "COVARIANT"}, "140042464344800": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345024": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345248": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042762013376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019152": {"type": "TypeAlias", "target": {"nodeId": "140042484872496"}}, "140042484872496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762013824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021504": {"type": "Union", "items": [{"nodeId": "140042456022176"}, {"nodeId": "0"}]}, "140042456022176": {"type": "TypeAlias", "target": {"nodeId": "140042484873168"}}, "140042484873168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021952"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021952": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042484873840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468233216": {"type": "Concrete", "module": "numpy", "simpleName": "void", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451919232"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422062656"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422063104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732833920"}, "name": "setfield"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452043024"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835264"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": false}, "140042451919232": {"type": "Overloaded", "items": [{"nodeId": "140042732832128"}, {"nodeId": "140042732832576"}]}, "140042732832128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452044592"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, "dtype"]}, "140042452044592": {"type": "Union", "items": [{"nodeId": "140042452044480"}, {"nodeId": "140042577732864"}]}, "140042452044480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732832576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "A"}, {"nodeId": "140042452044816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, "dtype"]}, "140042452044816": {"type": "TypeAlias", "target": {"nodeId": "140042464339648"}}, "140042464339648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469102352"}, {"nodeId": "140042464339312"}]}, "140042469102352": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042464339312": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042422062656": {"type": "Function", "typeVars": [".-1.140042422062656"], "argTypes": [{"nodeId": ".-1.140042422062656"}], "returnType": {"nodeId": ".-1.140042422062656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422062656": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422062656", "variance": "INVARIANT"}, "140042422063104": {"type": "Function", "typeVars": [".-1.140042422063104"], "argTypes": [{"nodeId": ".-1.140042422063104"}], "returnType": {"nodeId": ".-1.140042422063104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422063104": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422063104", "variance": "INVARIANT"}, "140042732833920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045376"}, {"nodeId": "140042452045040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042452045376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452045040": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452043024": {"type": "Overloaded", "items": [{"nodeId": "140042732834368"}, {"nodeId": "140042732834816"}]}, "140042732834368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452045600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042732834816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468233216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732835264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045264"}, {"nodeId": "140042452044368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452045264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577727152"}]}, "140042452044368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456022064"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456022064": {"type": "Union", "items": [{"nodeId": "140042456021728"}, {"nodeId": "0"}]}, "140042456021728": {"type": "TypeAlias", "target": {"nodeId": "140042484874624"}}, "140042484874624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468229520": {"type": "Concrete", "module": "numpy", "simpleName": "object_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732319040"}, "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602816"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320384"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320832"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732321280"}, "name": "__complex__"}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732319040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042426602816": {"type": "Function", "typeVars": [".-1.140042426602816"], "argTypes": [{"nodeId": ".-1.140042426602816"}], "returnType": {"nodeId": ".-1.140042426602816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602816": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602816", "variance": "INVARIANT"}, "140042426603264": {"type": "Function", "typeVars": [".-1.140042426603264"], "argTypes": [{"nodeId": ".-1.140042426603264"}], "returnType": {"nodeId": ".-1.140042426603264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426603264": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426603264", "variance": "INVARIANT"}, "140042732320384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732320832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732321280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042762015168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762015616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020944": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042762016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456009856": {"type": "Overloaded", "items": [{"nodeId": "140042762017856"}, {"nodeId": "140042762018304"}]}, "140042762017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042456020608"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456020608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042456022400": {"type": "Overloaded", "items": [{"nodeId": "140042762018752"}, {"nodeId": "140042762019200"}, {"nodeId": "140042762019648"}]}, "140042762018752": {"type": "Function", "typeVars": [".-1.140042762018752"], "argTypes": [{"nodeId": ".-1.140042762018752"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042762018752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762018752": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042762018752", "variance": "INVARIANT"}, "140042762019200": {"type": "Function", "typeVars": [".-1.140042762019200"], "argTypes": [{"nodeId": ".-1.140042762019200"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762019200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762019200": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762019200", "variance": "INVARIANT"}, "140042762019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456019600": {"type": "Overloaded", "items": [{"nodeId": "140042762020096"}, {"nodeId": "140042762020544"}]}, "140042762020096": {"type": "Function", "typeVars": [".-1.140042762020096"], "argTypes": [{"nodeId": ".-1.140042762020096"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762020096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762020096": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762020096", "variance": "INVARIANT"}, "140042762020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456268976"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456268976": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270432"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430771744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042456269984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456269984": {"type": "Union", "items": [{"nodeId": "140042456269424"}, {"nodeId": "140042456269872"}]}, "140042456269424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042456269872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042456269088"}]}, "140042456269088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430774880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042456271216"}]}]}, "140042456271216": {"type": "Union", "items": [{"nodeId": "140042456270208"}, {"nodeId": "140042456271104"}]}, "140042456270208": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456271104": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042430857280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042430859072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271664": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430859744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456272224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456272224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456272112"}]}, "140042456272112": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456271888"}]}, "140042456271888": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042455610336": {"type": "Function", "typeVars": [".-1.140042455610336"], "argTypes": [{"nodeId": ".-1.140042455610336"}, {"nodeId": "140042456272336"}], "returnType": {"nodeId": ".-1.140042455610336"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042455610336": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042455610336", "variance": "INVARIANT"}, "140042456272336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042430860192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430860416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456410464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042431126368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042431127040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409568": {"type": "Overloaded", "items": [{"nodeId": "140042456386240"}]}, "140042456386240": {"type": "Function", "typeVars": [".-1.140042456386240"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042456386240"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386240"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913072": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431123680"}}], "typeVars": [{"nodeId": ".1.140042472913072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042431123680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913072", "args": [{"nodeId": ".1.140042472913072"}]}], "returnType": {"nodeId": ".1.140042472913072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913072", "variance": "COVARIANT"}, ".-1.140042456386240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386240", "variance": "INVARIANT"}, "140042431127264": {"type": "Function", "typeVars": [".-1.140042431127264"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042431127264"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127264"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127264": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127264", "variance": "INVARIANT"}, "140042456410576": {"type": "Overloaded", "items": [{"nodeId": "140042456386464"}]}, "140042456386464": {"type": "Function", "typeVars": [".-1.140042456386464"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042456386464"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913408": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431125024"}}], "typeVars": [{"nodeId": ".1.140042472913408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042431125024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913408", "args": [{"nodeId": ".1.140042472913408"}]}], "returnType": {"nodeId": ".1.140042472913408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913408", "variance": "COVARIANT"}, ".-1.140042456386464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386464", "variance": "INVARIANT"}, "140042431127488": {"type": "Function", "typeVars": [".-1.140042431127488"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042431127488"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127488"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127488": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127488", "variance": "INVARIANT"}, "140042456386688": {"type": "Function", "typeVars": [".-1.140042456386688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456409904"}, {"nodeId": "140042456410688"}, {"nodeId": "140042456411024"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456410912"}, {"nodeId": "140042456411360"}], "returnType": {"nodeId": ".-1.140042456386688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "shape", "dtype", "buffer", "offset", "strides", "order"]}, "140042456409904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456410688": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456411024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410352"}]}, "140042456410352": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042464140128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "0"}, {"nodeId": "140042472914080"}]}, "140042456410912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410800"}]}, "140042456410800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456411360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042456386688": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456386688", "variance": "INVARIANT"}, "140042740841856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456411136": {"type": "Overloaded", "items": [{"nodeId": "140042741088320"}, {"nodeId": "140042741088768"}]}, "140042741088320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042741088768": {"type": "Function", "typeVars": [".-1.140042741088768"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": ".-1.140042741088768"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042741088768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741088768": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741088768", "variance": "INVARIANT"}, "140042741089216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042468234560"}, {"nodeId": "140042456412592"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042468234560": {"type": "Concrete", "module": "numpy", "simpleName": "ufunc", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422068256"}}, {"kind": "Variable", "name": "__doc__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069152"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472561728"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069376"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069600"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069824"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070048"}}, {"kind": "Variable", "name": "types", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070272"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070496"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070720"}}, {"kind": "Variable", "name": "reduce", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "accumulate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042422069376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042452047616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452047616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042456412592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042741089664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456385568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042456385568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042741090112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456413712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456413712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042741090560": {"type": "Function", "typeVars": [".-1.140042741090560", ".-2.140042741090560"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, {"nodeId": "140042456414160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741090560": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741090560", "variance": "INVARIANT"}, ".-2.140042741090560": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741090560", "variance": "INVARIANT"}, "140042456414160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414048"}]}, "140042456414048": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042741091008": {"type": "Function", "typeVars": [".-1.140042741091008", ".-2.140042741091008"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, {"nodeId": "140042456414608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741091008": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741091008", "variance": "INVARIANT"}, ".-2.140042741091008": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741091008", "variance": "INVARIANT"}, "140042456414608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414496"}]}, "140042456414496": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456412256": {"type": "Overloaded", "items": [{"nodeId": "140042741091456"}, {"nodeId": "140042741091904"}, {"nodeId": "140042741092352"}, {"nodeId": "140042741092800"}, {"nodeId": "140042741093248"}]}, "140042741091456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456415504"}]}]}, "140042456415504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042741091904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415840": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741092352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456482080"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456482080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456416064"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456481968"}]}]}, "140042456416064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456481968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456481856"}, {"nodeId": "140042577727152"}]}, "140042456481856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741092800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741093248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042431128384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409792": {"type": "Overloaded", "items": [{"nodeId": "140042741094144"}]}, "140042741094144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456482864": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431127712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456284208": {"type": "Overloaded", "items": [{"nodeId": "140042741095040"}]}, "140042741095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456483200": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431128608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741095936": {"type": "Function", "typeVars": [".-1.140042741095936"], "argTypes": [{"nodeId": ".-1.140042741095936"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042741095936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042741095936": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741095936", "variance": "INVARIANT"}, "140042741096384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042431128832": {"type": "Function", "typeVars": [".-1.140042431128832"], "argTypes": [{"nodeId": ".-1.140042431128832"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": ".-1.140042431128832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431128832": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042431128832", "variance": "INVARIANT"}, "140042456482752": {"type": "Overloaded", "items": [{"nodeId": "140042456388032"}, {"nodeId": "140042741097728"}]}, "140042456388032": {"type": "Function", "typeVars": [".-1.140042456388032"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042456388032"}]}]}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042456388032"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042472912736": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740836928"}, "name": "item"}], "typeVars": [{"nodeId": ".1.140042472912736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["item"]}, "140042740836928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912736", "args": [{"nodeId": ".1.140042472912736"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042472912736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912736", "variance": "COVARIANT"}, ".-1.140042456388032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042456388032", "variance": "INVARIANT"}, "140042741097728": {"type": "Function", "typeVars": [".-1.140042741097728"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042741097728"}]}]}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": ".-1.140042741097728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741097728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042741097728", "variance": "INVARIANT"}, "140042456483088": {"type": "Overloaded", "items": [{"nodeId": "140042741098176"}, {"nodeId": "140042741098624"}]}, "140042741098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741098624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484096"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456484096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456483536": {"type": "Overloaded", "items": [{"nodeId": "140042741099072"}, {"nodeId": "140042741099520"}]}, "140042741099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484432"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "refcheck"]}, "140042456484432": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "new_shape", "refcheck"]}, "140042741099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "write", "align", "uic"]}, "140042741100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042456484544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741100864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "axis1", "axis2"]}, "140042456483872": {"type": "Overloaded", "items": [{"nodeId": "140042456388480"}, {"nodeId": "140042741101760"}]}, "140042456388480": {"type": "Function", "typeVars": [".-1.140042456388480"], "argTypes": [{"nodeId": ".-1.140042456388480"}, {"nodeId": "140042456485104"}], "returnType": {"nodeId": ".-1.140042456388480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042456388480": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456388480", "variance": "INVARIANT"}, "140042456485104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456484992"}]}, "140042456484992": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741101760": {"type": "Function", "typeVars": [".-1.140042741101760"], "argTypes": [{"nodeId": ".-1.140042741101760"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042741101760"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "axes"]}, ".-1.140042741101760": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741101760", "variance": "INVARIANT"}, "140042741102208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485216"}, {"nodeId": "140042456485328"}, {"nodeId": "140042456485440"}, {"nodeId": "140042456485552"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456485776"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456485216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456485440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456485776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2"]}, "140042456484320": {"type": "Overloaded", "items": [{"nodeId": "140042741103104"}, {"nodeId": "140042741103552"}, {"nodeId": "140042741104000"}]}, "140042741103104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485888"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456485888": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042469021776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042472914080"}]}, "140042741103552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486336"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456486336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741104000": {"type": "Function", "typeVars": [".-1.140042741104000"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486672"}, {"nodeId": ".-1.140042741104000"}], "returnType": {"nodeId": ".-1.140042741104000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "b", "out"]}, "140042456486672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042741104000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741104000", "variance": "INVARIANT"}, "140042741268544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456484880"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456484880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741268992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486896"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456487008"}, {"nodeId": "140042456487120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456486896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042741269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487456"}, {"nodeId": "140042456486784"}, {"nodeId": "140042456487232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ind", "v", "mode"]}, "140042456487456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456486784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487232": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456486000": {"type": "Overloaded", "items": [{"nodeId": "140042741269888"}, {"nodeId": "140042741270336"}]}, "140042741269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487344"}, {"nodeId": "140042456487680"}, {"nodeId": "140042456488016"}], "returnType": {"nodeId": "140042456488128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487344": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042456487680": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042473109904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042456488016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456487904"}]}, "140042456487904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488128": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487568"}, {"nodeId": "140042456488464"}, {"nodeId": "140042456488576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456488800"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488464": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042456488576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456488352"}]}, "140042456488352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488800": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456488912"}, {"nodeId": "140042456489024"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042456488912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489024": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741271232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456489248"}, {"nodeId": "140042456489136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456489248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456489920"}]}, "140042456489920": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042456489136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456487792": {"type": "Overloaded", "items": [{"nodeId": "140042741271680"}, {"nodeId": "140042741272128"}]}, "140042741271680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490480"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490480": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741272128": {"type": "Function", "typeVars": [".-1.140042741272128"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490592"}, {"nodeId": ".-1.140042741272128"}], "returnType": {"nodeId": ".-1.140042741272128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741272128": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741272128", "variance": "INVARIANT"}, "140042456489808": {"type": "Overloaded", "items": [{"nodeId": "140042456390496"}, {"nodeId": "140042741273024"}, {"nodeId": "140042741273472"}]}, "140042456390496": {"type": "Function", "typeVars": [".-1.140042456390496"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456390496"}]}]}, {"nodeId": "140042456488240"}, {"nodeId": "140042456489360"}, {"nodeId": "N"}, {"nodeId": "140042456490256"}], "returnType": {"nodeId": ".-1.140042456390496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042456390496": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456390496", "variance": "INVARIANT"}, "140042456488240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456489360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456490256": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490144"}, {"nodeId": "140042456490368"}, {"nodeId": "N"}, {"nodeId": "140042456491264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456490368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456491264": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273472": {"type": "Function", "typeVars": [".-1.140042741273472"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490928"}, {"nodeId": "140042456491040"}, {"nodeId": ".-1.140042741273472"}, {"nodeId": "140042456490816"}], "returnType": {"nodeId": ".-1.140042741273472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456491040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042741273472": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741273472", "variance": "INVARIANT"}, "140042456490816": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491376"}, {"nodeId": "140042456489472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, "140042456491376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042741274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456491824": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042741274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456492160": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456489584": {"type": "Overloaded", "items": [{"nodeId": "140042741275264"}, {"nodeId": "140042741275712"}]}, "140042741275264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492048"}, {"nodeId": "140042456491600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, "140042456492048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456491600": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042741275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456492720"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, "140042456492720": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042456492272": {"type": "Overloaded", "items": [{"nodeId": "140042741276160"}, {"nodeId": "140042741276608"}]}, "140042741276160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042456492496"}, {"nodeId": "140042456493056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456492496": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493056": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493168": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042741276608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493728"}, {"nodeId": "140042456492944"}, {"nodeId": "140042456493392"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456493728": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456492944": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493392": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042456492832": {"type": "Overloaded", "items": [{"nodeId": "140042741277056"}, {"nodeId": "140042741277504"}, {"nodeId": "140042741277952"}, {"nodeId": "140042741278400"}, {"nodeId": "140042741278848"}]}, "140042741277056": {"type": "Function", "typeVars": [".-1.140042741277056"], "argTypes": [{"nodeId": ".-1.140042741277056"}], "returnType": {"nodeId": ".-1.140042741277056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042741277056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741277056", "variance": "INVARIANT"}, "140042741277504": {"type": "Function", "typeVars": [".-1.140042741277504"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741277504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "type"]}, ".-1.140042741277504": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741277504", "variance": "INVARIANT"}, "140042741277952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042741278400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042456493840": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741278848": {"type": "Function", "typeVars": [".-1.140042741278848"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456495520"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741278848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dtype", "type"]}, "140042456495520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741278848": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741278848", "variance": "INVARIANT"}, "140042456494288": {"type": "Overloaded", "items": [{"nodeId": "140042741279296"}, {"nodeId": "140042741279744"}]}, "140042741279296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042741279744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456494960"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042456494960": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456391168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577725808"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726144"}]}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726480"}]}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577727152"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741281984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741353456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042741282432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741282880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495184": {"type": "Overloaded", "items": [{"nodeId": "140042456393856"}, {"nodeId": "140042741283776"}, {"nodeId": "140042741284224"}, {"nodeId": "140042741416000"}, {"nodeId": "140042741416448"}]}, "140042456393856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456496640"}, {"nodeId": "140042456495072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456495072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741283776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456495744"}, {"nodeId": "140042456496304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456496304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741284224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456496528"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496528": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741416000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741416448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456497760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456497760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042463970240": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}]}]}, "140042456496864": {"type": "Overloaded", "items": [{"nodeId": "140042456392736"}, {"nodeId": "140042741417344"}, {"nodeId": "140042741417792"}, {"nodeId": "140042741418240"}, {"nodeId": "140042741418688"}]}, "140042456392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370048"}, {"nodeId": "140042451370160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370496"}, {"nodeId": "140042451370608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451370944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370944": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741418240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741418688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451371616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371616": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456496976": {"type": "Overloaded", "items": [{"nodeId": "140042456394080"}, {"nodeId": "140042741419584"}, {"nodeId": "140042741420032"}, {"nodeId": "140042741420480"}, {"nodeId": "140042741420928"}]}, "140042456394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451371952"}, {"nodeId": "140042451372064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451372064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741419584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451372512"}, {"nodeId": "140042451371840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451371840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741420032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451372400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372400": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741420480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451373520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373520": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456414720": {"type": "Overloaded", "items": [{"nodeId": "140042456394304"}, {"nodeId": "140042741421824"}, {"nodeId": "140042741422272"}, {"nodeId": "140042741422720"}, {"nodeId": "140042741423168"}]}, "140042456394304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451373856"}, {"nodeId": "140042451373968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741421824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451374416"}, {"nodeId": "140042451373744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451374304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374304": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741422720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741423168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451375424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451375424": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451372736": {"type": "Overloaded", "items": [{"nodeId": "140042456394528"}, {"nodeId": "140042741424064"}, {"nodeId": "140042741424512"}, {"nodeId": "140042741424960"}, {"nodeId": "140042741425408"}]}, "140042456394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741425408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451374640": {"type": "Overloaded", "items": [{"nodeId": "140042456394752"}, {"nodeId": "140042741426304"}, {"nodeId": "140042741426752"}]}, "140042456394752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451375648": {"type": "Overloaded", "items": [{"nodeId": "140042456392960"}, {"nodeId": "140042741427648"}, {"nodeId": "140042741428096"}]}, "140042456392960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741427648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451376880": {"type": "Overloaded", "items": [{"nodeId": "140042456395200"}, {"nodeId": "140042741428992"}, {"nodeId": "140042741429440"}]}, "140042456395200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741429440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451377664": {"type": "Overloaded", "items": [{"nodeId": "140042456395424"}, {"nodeId": "140042741430336"}, {"nodeId": "140042741430784"}, {"nodeId": "140042741431232"}, {"nodeId": "140042741431680"}, {"nodeId": "140042741563456"}, {"nodeId": "140042741563904"}, {"nodeId": "140042741564352"}]}, "140042456395424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451379456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451379680"}, {"nodeId": "140042451379792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380240"}, {"nodeId": "140042451379232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380800"}, {"nodeId": "140042451380128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451381248"}, {"nodeId": "140042451380688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451381584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741564352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451382704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451382704": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451378448": {"type": "Overloaded", "items": [{"nodeId": "140042456394976"}, {"nodeId": "140042741565248"}, {"nodeId": "140042741565696"}, {"nodeId": "140042741566144"}, {"nodeId": "140042741566592"}, {"nodeId": "140042741567040"}, {"nodeId": "140042741567488"}, {"nodeId": "140042741567936"}]}, "140042456394976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451383152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383376"}, {"nodeId": "140042451383488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383936"}, {"nodeId": "140042451382928"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451382928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384496"}, {"nodeId": "140042451383824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384944"}, {"nodeId": "140042451384384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451384384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451385280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451385280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741567936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419312": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451382256": {"type": "Overloaded", "items": [{"nodeId": "140042456395872"}, {"nodeId": "140042741568832"}, {"nodeId": "140042741569280"}, {"nodeId": "140042741569728"}, {"nodeId": "140042741570176"}, {"nodeId": "140042741570624"}, {"nodeId": "140042741571072"}]}, "140042456395872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741568832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420096"}, {"nodeId": "140042451420208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420656"}, {"nodeId": "140042451419536"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451419536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421216"}, {"nodeId": "140042451420544"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741570176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421664"}, {"nodeId": "140042451421104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451421104": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741570624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741571072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456497984": {"type": "Overloaded", "items": [{"nodeId": "140042456396320"}, {"nodeId": "140042741571968"}, {"nodeId": "140042741572416"}, {"nodeId": "140042741572864"}, {"nodeId": "140042741573312"}, {"nodeId": "140042741573760"}, {"nodeId": "140042741574208"}]}, "140042456396320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423120"}, {"nodeId": "140042451423232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423680"}, {"nodeId": "140042451422560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451422560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424240"}, {"nodeId": "140042451423568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741573312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424688"}, {"nodeId": "140042451424128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451424128": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741573760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741574208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425360": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451421552": {"type": "Overloaded", "items": [{"nodeId": "140042456396544"}, {"nodeId": "140042741575104"}, {"nodeId": "140042741575552"}, {"nodeId": "140042741576000"}, {"nodeId": "140042741576448"}]}, "140042456396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426256"}, {"nodeId": "140042451426368"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426928"}, {"nodeId": "140042451425584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451425584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451427600"}, {"nodeId": "140042451426816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451427600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451428160"}, {"nodeId": "140042451427488"}], "returnType": {"nodeId": "140042451428608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451428160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451427488": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451428608": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451424576": {"type": "Overloaded", "items": [{"nodeId": "140042456396096"}, {"nodeId": "140042741577344"}, {"nodeId": "140042741577792"}, {"nodeId": "140042741578240"}, {"nodeId": "140042741578688"}]}, "140042456396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451428944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451428944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451429392"}, {"nodeId": "140042451429504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451429392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430064"}, {"nodeId": "140042451428720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451428720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430736"}, {"nodeId": "140042451429952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451431296"}, {"nodeId": "140042451430624"}], "returnType": {"nodeId": "140042451431744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451431296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451430624": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451431744": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451428048": {"type": "Overloaded", "items": [{"nodeId": "140042456396768"}, {"nodeId": "140042741710912"}, {"nodeId": "140042741711360"}, {"nodeId": "140042741711808"}, {"nodeId": "140042741712256"}, {"nodeId": "140042741712704"}, {"nodeId": "140042741713152"}, {"nodeId": "140042741713600"}, {"nodeId": "140042741714048"}, {"nodeId": "140042741714496"}, {"nodeId": "140042741714944"}]}, "140042456396768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451432080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741710912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432304"}, {"nodeId": "140042451432416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432864"}, {"nodeId": "140042451431856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451431856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433424"}, {"nodeId": "140042451432752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433872"}, {"nodeId": "140042451433312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451433312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451434208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451434992"}, {"nodeId": "140042451434320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451435328"}, {"nodeId": "140042451434880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451435328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741714048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451484848"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451484848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741714496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741714944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451485632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451485632": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451431184": {"type": "Overloaded", "items": [{"nodeId": "140042456396992"}, {"nodeId": "140042741715840"}, {"nodeId": "140042741716288"}, {"nodeId": "140042741716736"}, {"nodeId": "140042741717184"}, {"nodeId": "140042741717632"}, {"nodeId": "140042741718080"}, {"nodeId": "140042741718528"}, {"nodeId": "140042741718976"}, {"nodeId": "140042741719424"}, {"nodeId": "140042741719872"}]}, "140042456396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451486080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741715840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486304"}, {"nodeId": "140042451486416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486864"}, {"nodeId": "140042451485856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451485856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487424"}, {"nodeId": "140042451486752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487872"}, {"nodeId": "140042451487312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451487312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451488208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451488992"}, {"nodeId": "140042451488320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451489328"}, {"nodeId": "140042451488880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741718976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451489552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741719424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741719872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451385952": {"type": "Overloaded", "items": [{"nodeId": "140042456397216"}, {"nodeId": "140042741720768"}, {"nodeId": "140042741721216"}, {"nodeId": "140042741721664"}, {"nodeId": "140042741722112"}, {"nodeId": "140042741722560"}, {"nodeId": "140042741723008"}, {"nodeId": "140042741723456"}, {"nodeId": "140042741723904"}, {"nodeId": "140042741724352"}, {"nodeId": "140042741724800"}, {"nodeId": "140042741725248"}]}, "140042456397216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741720768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451491232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491344"}, {"nodeId": "140042451491456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491904"}, {"nodeId": "140042451490560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451490560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492464"}, {"nodeId": "140042451491792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492912"}, {"nodeId": "140042451492352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451492352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451494032"}, {"nodeId": "140042451493360"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494032": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451493360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741724352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451494256"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494256": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741724800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495376": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451489888": {"type": "Overloaded", "items": [{"nodeId": "140042456395648"}, {"nodeId": "140042741726144"}, {"nodeId": "140042741726592"}, {"nodeId": "140042736631872"}, {"nodeId": "140042736632320"}, {"nodeId": "140042736632768"}, {"nodeId": "140042736633216"}, {"nodeId": "140042736633664"}, {"nodeId": "140042736634112"}, {"nodeId": "140042736634560"}, {"nodeId": "140042736635008"}, {"nodeId": "140042736635456"}]}, "140042456395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451496272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496384"}, {"nodeId": "140042451496496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736631872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496944"}, {"nodeId": "140042451495600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451495600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497504"}, {"nodeId": "140042451496832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497952"}, {"nodeId": "140042451497392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451497392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451498288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451498288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499072"}, {"nodeId": "140042451498400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736634112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499408"}, {"nodeId": "140042451498960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498960": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736634560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451499632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499632": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736635008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736635456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500416"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500416": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451494592": {"type": "Overloaded", "items": [{"nodeId": "140042456397664"}, {"nodeId": "140042736636352"}, {"nodeId": "140042736636800"}, {"nodeId": "140042736637248"}, {"nodeId": "140042736637696"}, {"nodeId": "140042736638144"}, {"nodeId": "140042736638592"}, {"nodeId": "140042736639040"}, {"nodeId": "140042736639488"}, {"nodeId": "140042736639936"}]}, "140042456397664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534000"}, {"nodeId": "140042451534112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534448"}, {"nodeId": "140042451534560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535008"}, {"nodeId": "140042451535120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535456"}, {"nodeId": "140042451535568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451535904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536576"}, {"nodeId": "140042451536688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451536688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536912"}, {"nodeId": "140042451537024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451537696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451537696": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451499296": {"type": "Overloaded", "items": [{"nodeId": "140042456398112"}, {"nodeId": "140042736640832"}, {"nodeId": "140042736641280"}, {"nodeId": "140042736641728"}, {"nodeId": "140042736642176"}, {"nodeId": "140042736642624"}, {"nodeId": "140042736643072"}, {"nodeId": "140042736643520"}, {"nodeId": "140042736643968"}, {"nodeId": "140042736644416"}]}, "140042456398112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451538144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736640832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538368"}, {"nodeId": "140042451538480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538928"}, {"nodeId": "140042451537920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539488"}, {"nodeId": "140042451538816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539936"}, {"nodeId": "140042451539376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451539376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451540272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451540272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541056"}, {"nodeId": "140042451540384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541392"}, {"nodeId": "140042451540944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542064": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451435216": {"type": "Overloaded", "items": [{"nodeId": "140042456398336"}, {"nodeId": "140042736645312"}, {"nodeId": "140042736645760"}, {"nodeId": "140042736646208"}, {"nodeId": "140042736646656"}, {"nodeId": "140042736647104"}, {"nodeId": "140042736647552"}, {"nodeId": "140042736746560"}, {"nodeId": "140042736747008"}]}, "140042456398336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451542848"}, {"nodeId": "140042451542960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543408"}, {"nodeId": "140042451542288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543968"}, {"nodeId": "140042451543296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451543296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451543856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543856": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736747008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451545760"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451545760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451541616": {"type": "Overloaded", "items": [{"nodeId": "140042456397888"}, {"nodeId": "140042736747904"}, {"nodeId": "140042736748352"}, {"nodeId": "140042736748800"}, {"nodeId": "140042736749248"}, {"nodeId": "140042736749696"}, {"nodeId": "140042736750144"}, {"nodeId": "140042736750592"}, {"nodeId": "140042736751040"}]}, "140042456397888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451546208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451546544"}, {"nodeId": "140042451546656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547104"}, {"nodeId": "140042451545984"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451545984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547664"}, {"nodeId": "140042451546992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451547552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547552": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451548448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451548784"}, {"nodeId": "140042451548000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451548000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549456": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451545312": {"type": "Overloaded", "items": [{"nodeId": "140042456398560"}, {"nodeId": "140042736751936"}, {"nodeId": "140042736752384"}, {"nodeId": "140042736752832"}, {"nodeId": "140042736753280"}, {"nodeId": "140042736753728"}, {"nodeId": "140042736754176"}, {"nodeId": "140042736754624"}]}, "140042456398560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599536"}, {"nodeId": "140042451599648"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451599648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599984"}, {"nodeId": "140042451600096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600544"}, {"nodeId": "140042451600656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600992"}, {"nodeId": "140042451601104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451601104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451601440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451601440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736754624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451602560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451602560": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549008": {"type": "Overloaded", "items": [{"nodeId": "140042456397440"}, {"nodeId": "140042736755520"}, {"nodeId": "140042736755968"}, {"nodeId": "140042736756416"}, {"nodeId": "140042736756864"}, {"nodeId": "140042736757312"}, {"nodeId": "140042736757760"}, {"nodeId": "140042736758208"}]}, "140042456397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451603008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603344"}, {"nodeId": "140042451603456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603904"}, {"nodeId": "140042451602784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451602784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604464"}, {"nodeId": "140042451603792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604912"}, {"nodeId": "140042451604352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451604352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451605248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451605248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736758208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451606368"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606368": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451500640": {"type": "Overloaded", "items": [{"nodeId": "140042456399008"}, {"nodeId": "140042736759104"}, {"nodeId": "140042736759552"}, {"nodeId": "140042736760000"}, {"nodeId": "140042736760448"}, {"nodeId": "140042736760896"}, {"nodeId": "140042736761344"}, {"nodeId": "140042736761792"}, {"nodeId": "140042736762240"}]}, "140042456399008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451606704"}, {"nodeId": "140042451606816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607152"}, {"nodeId": "140042451607264"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451607264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607824"}, {"nodeId": "140042451606592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608272": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736760896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736762240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451610288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610288": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451605920": {"type": "Overloaded", "items": [{"nodeId": "140042456398784"}, {"nodeId": "140042456399456"}, {"nodeId": "140042736910848"}, {"nodeId": "140042736911296"}, {"nodeId": "140042736911744"}, {"nodeId": "140042736912192"}, {"nodeId": "140042736912640"}, {"nodeId": "140042736913088"}, {"nodeId": "140042736913536"}]}, "140042456398784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451610624"}, {"nodeId": "140042451610736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611072"}, {"nodeId": "140042451611184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451611184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736910848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611744"}, {"nodeId": "140042451610512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612192": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736912192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451613200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736912640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451613536"}, {"nodeId": "140042451612752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451612752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736913088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736913536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614208": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451609840": {"type": "Overloaded", "items": [{"nodeId": "140042736913984"}, {"nodeId": "140042456399232"}, {"nodeId": "140042736914880"}, {"nodeId": "140042736915328"}, {"nodeId": "140042736915776"}]}, "140042736913984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451614992"}, {"nodeId": "140042451615104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451615104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736914880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451615552"}, {"nodeId": "140042451614432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451615552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451614432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736915328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736915776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451665744"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451665744": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451613760": {"type": "Overloaded", "items": [{"nodeId": "140042736916224"}, {"nodeId": "140042736917120"}, {"nodeId": "140042736917568"}, {"nodeId": "140042736918016"}, {"nodeId": "140042736918464"}]}, "140042736916224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451666192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451666528"}, {"nodeId": "140042451666640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451666640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451667088"}, {"nodeId": "140042451665968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451665968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736918016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736918464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451667984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667984": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549680": {"type": "Overloaded", "items": [{"nodeId": "140042451697952"}, {"nodeId": "140042736919360"}, {"nodeId": "140042736919808"}, {"nodeId": "140042736920256"}, {"nodeId": "140042736920704"}]}, "140042451697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451668432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451668768"}, {"nodeId": "140042451668880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451669328"}, {"nodeId": "140042451668208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451669328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736920256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670224": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451667536": {"type": "Overloaded", "items": [{"nodeId": "140042451698176"}, {"nodeId": "140042736921600"}, {"nodeId": "140042736922048"}, {"nodeId": "140042736922496"}, {"nodeId": "140042736922944"}]}, "140042451698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671008"}, {"nodeId": "140042451671120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451671120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671568"}, {"nodeId": "140042451670448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451670448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672464": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451669776": {"type": "Overloaded", "items": [{"nodeId": "140042451698400"}, {"nodeId": "140042736923840"}, {"nodeId": "140042736924288"}, {"nodeId": "140042736924736"}, {"nodeId": "140042736925184"}]}, "140042451698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673136"}, {"nodeId": "140042451673248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451673248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673696"}, {"nodeId": "140042451672688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451672688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451674592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451674592": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451672016": {"type": "Overloaded", "items": [{"nodeId": "140042451698624"}, {"nodeId": "140042736926080"}, {"nodeId": "140042737057856"}, {"nodeId": "140042737058304"}, {"nodeId": "140042737058752"}]}, "140042451698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451675040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675264"}, {"nodeId": "140042451675376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451675376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737057856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675824"}, {"nodeId": "140042451674816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451674816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737058304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737058752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451676720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451676720": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451674144": {"type": "Overloaded", "items": [{"nodeId": "140042451698848"}, {"nodeId": "140042737059648"}, {"nodeId": "140042737060096"}, {"nodeId": "140042737060544"}, {"nodeId": "140042737060992"}]}, "140042451698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451677168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737059648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677392"}, {"nodeId": "140042451677504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451677504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677952"}, {"nodeId": "140042451676944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451676944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737060992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451678848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451678848": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451676272": {"type": "Overloaded", "items": [{"nodeId": "140042451699072"}, {"nodeId": "140042737061888"}, {"nodeId": "140042737062336"}, {"nodeId": "140042737062784"}, {"nodeId": "140042737063232"}]}, "140042451699072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451679296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737061888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451679520"}, {"nodeId": "140042451679632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451680080"}, {"nodeId": "140042451679072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737063232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451680976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680976": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451678400": {"type": "Overloaded", "items": [{"nodeId": "140042451699296"}, {"nodeId": "140042737064128"}, {"nodeId": "140042737064576"}, {"nodeId": "140042737065024"}, {"nodeId": "140042737065472"}]}, "140042451699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451714336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451714560"}, {"nodeId": "140042451714672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451715120"}, {"nodeId": "140042451714112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451715120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737065024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737065472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716016": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451615440": {"type": "Overloaded", "items": [{"nodeId": "140042451699520"}, {"nodeId": "140042737066368"}, {"nodeId": "140042737066816"}, {"nodeId": "140042737067264"}, {"nodeId": "140042737067712"}]}, "140042451699520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451716688"}, {"nodeId": "140042451716800"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451717248"}, {"nodeId": "140042451716240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737067264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737067712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718144": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451715568": {"type": "Overloaded", "items": [{"nodeId": "140042451699744"}, {"nodeId": "140042737068608"}, {"nodeId": "140042737069056"}, {"nodeId": "140042737069504"}, {"nodeId": "140042737069952"}, {"nodeId": "140042737070400"}, {"nodeId": "140042737070848"}, {"nodeId": "140042737071296"}]}, "140042451699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737068608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719152": {"type": "Union", "items": [{"nodeId": "140042451718928"}, {"nodeId": "140042451719040"}]}, "140042451718928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451719040": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737069056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720048"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737071296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717696": {"type": "Overloaded", "items": [{"nodeId": "140042451699968"}, {"nodeId": "140042737072192"}, {"nodeId": "140042737072640"}, {"nodeId": "140042737073088"}, {"nodeId": "140042737073536"}, {"nodeId": "140042737221696"}, {"nodeId": "140042737222144"}]}, "140042451699968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451721840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721840": {"type": "Union", "items": [{"nodeId": "140042451721616"}, {"nodeId": "140042451721728"}]}, "140042451721616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451721728": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737072192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737072640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737221696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737222144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721168": {"type": "Overloaded", "items": [{"nodeId": "140042451700416"}, {"nodeId": "140042737223040"}, {"nodeId": "140042737223488"}, {"nodeId": "140042737223936"}, {"nodeId": "140042737224384"}, {"nodeId": "140042737224832"}, {"nodeId": "140042737225280"}]}, "140042451700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724864": {"type": "Union", "items": [{"nodeId": "140042451724640"}, {"nodeId": "140042451724752"}]}, "140042451724640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451724752": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737223488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737225280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723856": {"type": "Overloaded", "items": [{"nodeId": "140042451700640"}, {"nodeId": "140042737226176"}, {"nodeId": "140042737226624"}, {"nodeId": "140042737227072"}, {"nodeId": "140042737227520"}]}, "140042451700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727216"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727888"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726544": {"type": "Overloaded", "items": [{"nodeId": "140042451700192"}, {"nodeId": "140042737228416"}, {"nodeId": "140042737228864"}, {"nodeId": "140042737229312"}, {"nodeId": "140042737229760"}, {"nodeId": "140042737230208"}, {"nodeId": "140042737230656"}]}, "140042451700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451728896"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728896": {"type": "Union", "items": [{"nodeId": "140042451728672"}, {"nodeId": "140042451728784"}]}, "140042451728672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451728784": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737228416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737228864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451730240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451828912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451828912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728224": {"type": "Overloaded", "items": [{"nodeId": "140042451701088"}, {"nodeId": "140042737231552"}, {"nodeId": "140042737232000"}, {"nodeId": "140042737232448"}, {"nodeId": "140042737232896"}]}, "140042451701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451829920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451829920": {"type": "Union", "items": [{"nodeId": "140042451829696"}, {"nodeId": "140042451829808"}]}, "140042451829696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451829808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737231552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680528": {"type": "Overloaded", "items": [{"nodeId": "140042451697728"}, {"nodeId": "140042737233792"}, {"nodeId": "140042737234240"}, {"nodeId": "140042737234688"}, {"nodeId": "140042737235136"}]}, "140042451697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451831936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831936": {"type": "Union", "items": [{"nodeId": "140042451831712"}, {"nodeId": "140042451831824"}]}, "140042451831712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451831824": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737233792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832832": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042737235136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831376": {"type": "Overloaded", "items": [{"nodeId": "140042451701312"}, {"nodeId": "140042737236032"}, {"nodeId": "140042737236480"}]}, "140042451701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451833952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833952": {"type": "Union", "items": [{"nodeId": "140042451833728"}, {"nodeId": "140042451833840"}]}, "140042451833728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451833840": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451834176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737236480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833056": {"type": "Overloaded", "items": [{"nodeId": "140042451700864"}, {"nodeId": "140042737237376"}, {"nodeId": "140042737401920"}]}, "140042451700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835296": {"type": "Union", "items": [{"nodeId": "140042451835072"}, {"nodeId": "140042451835184"}]}, "140042451835072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451835184": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737237376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737401920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834736": {"type": "Overloaded", "items": [{"nodeId": "140042451701760"}, {"nodeId": "140042737402816"}, {"nodeId": "140042737403264"}, {"nodeId": "140042737403712"}]}, "140042451701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836976": {"type": "Union", "items": [{"nodeId": "140042451836752"}, {"nodeId": "140042451836864"}]}, "140042451836752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451836864": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737403264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451837200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737403712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836080": {"type": "Overloaded", "items": [{"nodeId": "140042451702208"}, {"nodeId": "140042737404608"}, {"nodeId": "140042737405056"}, {"nodeId": "140042737405504"}]}, "140042451702208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737404608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838656": {"type": "Union", "items": [{"nodeId": "140042451838432"}, {"nodeId": "140042451838544"}]}, "140042451838432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451838544": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737405056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737405504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837760": {"type": "Overloaded", "items": [{"nodeId": "140042451702432"}, {"nodeId": "140042737406400"}, {"nodeId": "140042737406848"}, {"nodeId": "140042737407296"}]}, "140042451702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451839776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451839776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737406400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840336": {"type": "Union", "items": [{"nodeId": "140042451840112"}, {"nodeId": "140042451840224"}]}, "140042451840112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451840224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737406848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737407296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451702656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042451841456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, "140042451841456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042737408192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042451841792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451841792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042426513696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": ".2.140042472913744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716337024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": ".1.140042472911056"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "array", "ptr"]}, ".1.140042472911056": {"type": "TypeVar", "varName": "_PT", "values": [], "upperBound": {"nodeId": "140042473101280"}, "def": "140042472911056", "variance": "INVARIANT"}, "140042473101280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042430403008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": ".1.140042472911056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430410176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633120": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255120"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523239680"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255232"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523240128"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657189216"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256800"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256912"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191904"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657192352"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569633120"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": true}, "140042556255120": {"type": "Overloaded", "items": [{"nodeId": "140042657187424"}]}, "140042657187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569633120": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569633120", "variance": "INVARIANT"}, "140042523239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556255232": {"type": "Overloaded", "items": [{"nodeId": "140042657188320"}]}, "140042657188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042523240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042556256800": {"type": "Overloaded", "items": [{"nodeId": "140042657189664"}, {"nodeId": "140042657190112"}]}, "140042657189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556256912": {"type": "Overloaded", "items": [{"nodeId": "140042657190560"}, {"nodeId": "140042657191008"}]}, "140042657190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573909344": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042430407264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430404128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042573914384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573914384": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569662528"}]}], "isAbstract": false}, "140042569662528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042716339264": {"type": "Function", "typeVars": [".-1.140042716339264"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042716339264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339264": {"type": "TypeVar", "varName": "_CastT", "values": [], "upperBound": {"nodeId": "140042573739536"}, "def": "140042716339264", "variance": "INVARIANT"}, "140042716339712": {"type": "Function", "typeVars": [".-1.140042716339712"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716339712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339712": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716339712", "variance": "INVARIANT"}, "140042716340160": {"type": "Function", "typeVars": [".-1.140042716340160"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716340160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716340160": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716340160", "variance": "INVARIANT"}, "140042472658576": {"type": "Concrete", "module": "numpy._typing._array_like", "simpleName": "_UnknownType", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468648864": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399236384"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399243776"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399244448"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399246016"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245120"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245344"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240192"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240640"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241088"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240864"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514331152"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632074784"}, "name": "at"}], "typeVars": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399236384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".1.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468648864": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468648864", "variance": "INVARIANT"}, ".2.140042468648864": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468648864", "variance": "INVARIANT"}, ".3.140042468648864": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468648864", "variance": "INVARIANT"}, "140042399243776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".2.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399244448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".3.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399246016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514331152": {"type": "Overloaded", "items": [{"nodeId": "140042632073440"}, {"nodeId": "140042632073888"}, {"nodeId": "140042632074336"}]}, "140042632073440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514324768"}, {"nodeId": "N"}, {"nodeId": "140042514323872"}, {"nodeId": "140042514323760"}, {"nodeId": "140042514323424"}, {"nodeId": "140042514323648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514322864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514324768": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042514323872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514324880"}]}, "140042514324880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514323760": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514323424": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514323648": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514322864": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632073888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514321296"}, {"nodeId": "140042514322640"}, {"nodeId": "140042514321744"}, {"nodeId": "140042514320848"}, {"nodeId": "140042514321408"}, {"nodeId": "140042514320736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514319168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514321296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514322640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514321072"}]}, "140042514321072": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042514321744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514321856"}]}, "140042514321856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514320848": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514321408": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514320736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514319168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042514317712"}, {"nodeId": "140042519396048"}, {"nodeId": "140042519396160"}, {"nodeId": "140042519395936"}, {"nodeId": "140042519392128"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519394928"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042468648528": {"type": "Protocol", "module": "numpy._typing._ufunc", "simpleName": "_SupportsArrayUFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489935488"}, "name": "__array_ufunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_ufunc__"]}, "140042489935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648528"}, {"nodeId": "140042468234560"}, {"nodeId": "140042514325776"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042514325776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514317712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514318160"}]}, "140042514318160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519396048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519395152"}]}, "140042519395152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519396160": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519395936": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519392128": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519394928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042519390560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042519390560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468649200": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399239968"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935392"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933152"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933376"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169696"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399166560"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514329584"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079264"}, "name": "at"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "where", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079712"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080160"}, "name": "accumulate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080608"}, "name": "reduceat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469017632"}, "items": [{"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "outer"}], "typeVars": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399239968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".1.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649200": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649200", "variance": "INVARIANT"}, ".2.140042468649200": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649200", "variance": "INVARIANT"}, ".3.140042468649200": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649200", "variance": "INVARIANT"}, "140042398935392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".2.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".3.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398935616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514329584": {"type": "Overloaded", "items": [{"nodeId": "140042632078368"}, {"nodeId": "140042632078816"}]}, "140042632078368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519394032"}, {"nodeId": "140042519390784"}, {"nodeId": "N"}, {"nodeId": "140042519393584"}, {"nodeId": "140042519393696"}, {"nodeId": "140042519390896"}, {"nodeId": "140042519393472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519390448"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519394032": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519390784": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519393584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519393360"}]}, "140042519393360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519393696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519390896": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519393472": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519390448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632078816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519389104"}, {"nodeId": "140042519389888"}, {"nodeId": "140042519389552"}, {"nodeId": "140042519387872"}, {"nodeId": "140042519388880"}, {"nodeId": "140042519388432"}, {"nodeId": "140042519388096"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519386416"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519389104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042519390000"}]}, "140042519390000": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519387872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519389328"}]}, "140042519389328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519388880": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519388432": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519388096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519386416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632079264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "0"}, {"nodeId": "140042519069408"}, {"nodeId": "140042519071424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042519069408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519071424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632079712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519080608"}, {"nodeId": "140042519069744"}, {"nodeId": "140042519070192"}, {"nodeId": "140042519069968"}, {"nodeId": "140042782776944"}, {"nodeId": "A"}, {"nodeId": "140042519069632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042519080608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519069744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519070416"}]}, "140042519070416": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042519070192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519069968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042519069632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632080160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519068960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042519068848"}, {"nodeId": "140042523130816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out"]}, "140042519068960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519068848": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523130816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042632080608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128800"}, {"nodeId": "140042523129920"}, {"nodeId": "140042577727152"}, {"nodeId": "140042523130592"}, {"nodeId": "140042523129696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "indices", "axis", "dtype", "out"]}, "140042523128800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523130592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523129696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042469017632": {"type": "Overloaded", "items": [{"nodeId": "140042632081056"}, {"nodeId": "140042632081504"}]}, "140042632081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128128"}, {"nodeId": "140042523130256"}, {"nodeId": "N"}, {"nodeId": "140042523128352"}, {"nodeId": "140042523129808"}, {"nodeId": "140042523127344"}, {"nodeId": "140042523131152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523127568"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523128128": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523130256": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523128352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523127904"}]}, "140042523127904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129808": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523127344": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523131152": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523127568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523124880"}, {"nodeId": "140042523126560"}, {"nodeId": "140042523126112"}, {"nodeId": "140042523125216"}, {"nodeId": "140042523125664"}, {"nodeId": "140042523124768"}, {"nodeId": "140042523124432"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523123984"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523124880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042523126672"}]}, "140042523126672": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042523125216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523125888"}]}, "140042523125888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523125664": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523124768": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523124432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523123984": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649536": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167232"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167680"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167904"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168128"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168352"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168800"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169024"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168576"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269376"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269600"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269824"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018528"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".1.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649536": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649536", "variance": "INVARIANT"}, ".2.140042468649536": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649536", "variance": "INVARIANT"}, ".3.140042468649536": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649536", "variance": "INVARIANT"}, "140042399167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".2.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".3.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399270048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018528": {"type": "Overloaded", "items": [{"nodeId": "140042632382496"}, {"nodeId": "140042632382944"}, {"nodeId": "140042632383392"}]}, "140042632382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042523122864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042523121296"}, {"nodeId": "140042523124208"}, {"nodeId": "140042523122640"}, {"nodeId": "140042523122416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523121072"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523122864": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523121296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523123088"}]}, "140042523123088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523124208": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523122640": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523122416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523121072": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632382944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042586311808"}, {"nodeId": "140042523120176"}, {"nodeId": "140042523119728"}, {"nodeId": "0"}, {"nodeId": "140042611572096"}, {"nodeId": "140042611565488"}, {"nodeId": "140042611565040"}, {"nodeId": "140042611566048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567616"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042586311808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523120176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042523119728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611572096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611565152"}]}, "140042611565152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611565488": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611565040": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611566048": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042611568736"}, {"nodeId": "140042611566272"}, {"nodeId": "0"}, {"nodeId": "140042611569296"}, {"nodeId": "140042611568960"}, {"nodeId": "140042611568400"}, {"nodeId": "140042611570080"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567728"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611568736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611566272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611569296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611569184"}]}, "140042611569184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611568960": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611568400": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611570080": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649872": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270720"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271168"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271392"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271840"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272064"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272288"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272512"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272736"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272960"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273184"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018976"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399270720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".1.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649872": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649872", "variance": "INVARIANT"}, ".2.140042468649872": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649872", "variance": "INVARIANT"}, ".3.140042468649872": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649872", "variance": "INVARIANT"}, "140042399271168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".2.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".3.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018976": {"type": "Overloaded", "items": [{"nodeId": "140042632389216"}, {"nodeId": "140042632389664"}]}, "140042632389216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042611569408"}, {"nodeId": "140042611570192"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042611569632"}, {"nodeId": "140042611569744"}, {"nodeId": "140042611569968"}, {"nodeId": "140042611572320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611571760"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611569408": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611570192": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611569632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611571536"}]}, "140042611571536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611569744": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611569968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611572320": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611571760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632389664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042569667904"}, {"nodeId": "140042611570864"}, {"nodeId": "140042603004304"}, {"nodeId": "140042603004528"}, {"nodeId": "0"}, {"nodeId": "140042603004416"}, {"nodeId": "140042603005872"}, {"nodeId": "140042603005760"}, {"nodeId": "140042603003968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603005648"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042569667904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611570864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603004304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042603004640"}]}, "140042603004640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603005872": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603005760": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603003968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603005648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468650208": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_GUFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274080"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274528"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274752"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274976"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275200"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275424"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275648"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275872"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276096"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276320"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276544"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276768"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469020096"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399274080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".1.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650208": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468650208", "variance": "INVARIANT"}, ".2.140042468650208": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468650208", "variance": "INVARIANT"}, ".3.140042468650208": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650208", "variance": "INVARIANT"}, "140042399274528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".2.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".3.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469020096": {"type": "Overloaded", "items": [{"nodeId": "140042632395488"}, {"nodeId": "140042632395936"}]}, "140042632395488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603008112"}, {"nodeId": "140042603006880"}, {"nodeId": "N"}, {"nodeId": "140042603006432"}, {"nodeId": "140042603006656"}, {"nodeId": "140042603006768"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603007776"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603008112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006432": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603006656": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603006768": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603007776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632395936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603010688"}, {"nodeId": "140042603009008"}, {"nodeId": "140042603010464"}, {"nodeId": "140042603008672"}, {"nodeId": "140042603010240"}, {"nodeId": "140042603010016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603009792"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603010688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603009008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603010464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042603008784"}]}, "140042603008784": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042603008672": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603010240": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603010016": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603009792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468652224": {"type": "Concrete", "module": "numpy.lib.arrayterator", "simpleName": "Arrayterator", "members": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472448272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110976"}}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682557472"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042460026624"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682558816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682559264"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "isAbstract": false}, ".1.140042468652224": {"type": "TypeVar", "varName": "_Shape", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468652224", "variance": "INVARIANT"}, ".2.140042468652224": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468652224", "variance": "INVARIANT"}, "140042472448272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042439110976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042439110752": {"type": "Function", "typeVars": [".-1.140042439110752"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042439110752"}]}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042439110752"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042439110752": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042439110752", "variance": "INVARIANT"}, "140042782781648": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753675488"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548309888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564614992"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677280"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677728"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310112"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310560"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311232"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311456"}}], "typeVars": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781648"}]}], "isAbstract": true}, "140042753675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, ".2.140042782781648": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "CONTRAVARIANT"}, ".3.140042782781648": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, "140042548309888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": ".2.140042782781648"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564614992": {"type": "Overloaded", "items": [{"nodeId": "140042753676384"}, {"nodeId": "140042753676832"}]}, "140042753676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "0"}, {"nodeId": "140042564812864"}, {"nodeId": "140042564812976"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564812864": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564812976": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753676832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564813088"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564813088": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753677280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753677728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548310112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548310560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042564813536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564813536": {"type": "Union", "items": [{"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042682557472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460026736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "var", "buf_size"]}, "140042460026736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042460026624": {"type": "Overloaded", "items": [{"nodeId": "140042682557920"}, {"nodeId": "140042682558368"}]}, "140042682557920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype"]}, "140042682558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460027968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042460027968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042682558816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460029088"}], "returnType": {"nodeId": "140042468652224", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460029088": {"type": "TypeAlias", "target": {"nodeId": "140042472452864"}}, "140042472452864": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042472452528"}]}]}, "140042472452528": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042682559264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472911728": {"type": "Protocol", "module": "numpy", "simpleName": "_MemMapIOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790976"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791424"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791872"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792320"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792768"}, "name": "write"}, {"kind": "Variable", "name": "read", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430674560"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "read", "seek", "tell", "write"]}, "140042766790976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766792320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766792768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468235232": {"type": "Concrete", "module": "numpy", "simpleName": "ModuleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653968"}], "isAbstract": false}, "140042577653968": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577653296": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577374432": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042468235568": {"type": "Concrete", "module": "numpy", "simpleName": "VisibleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042577653632": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468235904": {"type": "Concrete", "module": "numpy", "simpleName": "ComplexWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654640"}], "isAbstract": false}, "140042577654640": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468236240": {"type": "Concrete", "module": "numpy", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042468236576": {"type": "Concrete", "module": "numpy", "simpleName": "TooHardError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577378800": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468236912": {"type": "Concrete", "module": "numpy", "simpleName": "AxisError", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464231712"}}, {"kind": "Variable", "name": "ndim", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045712"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}, {"nodeId": "140042577644560"}], "isAbstract": false}, "140042464231712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042464271200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042452045712": {"type": "Overloaded", "items": [{"nodeId": "140042732844224"}, {"nodeId": "140042732844672"}]}, "140042732844224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042732844672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452047840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042452047840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577642880": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577644560": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577377456": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468237248": {"type": "Concrete", "module": "numpy", "simpleName": "errstate", "members": [{"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468237248"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468156784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "divide", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "over", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "under", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "invalid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845568"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732846016"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042468237248"}], "bases": [{"nodeId": "140042573919088"}], "isAbstract": false}, ".1.140042468237248": {"type": "TypeVar", "varName": "_CallType", "values": [], "upperBound": {"nodeId": "140042468156560"}, "def": "140042468237248", "variance": "INVARIANT"}, "140042468156560": {"type": "Union", "items": [{"nodeId": "140042468156448"}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577367376"}]}]}, "140042468156448": {"type": "TypeAlias", "target": {"nodeId": "140042489934368"}}, "140042489934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468156784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042732845120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": ".1.140042468237248"}, {"nodeId": "140042452048064"}, {"nodeId": "140042452048288"}, {"nodeId": "140042452048512"}, {"nodeId": "140042452048736"}, {"nodeId": "140042452048960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "call", "all", "divide", "over", "under", "invalid"]}, "140042452048064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452047952"}]}, "140042452047952": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042473098928": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452048288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048176"}]}, "140042452048176": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048400"}]}, "140042452048400": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048624"}]}, "140042452048624": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048848"}]}, "140042452048848": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042732845568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732846016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": "140042452049632"}, {"nodeId": "140042452047728"}, {"nodeId": "140042452049072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452049632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452047728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452049072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042573919088": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649116608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649116608": {"type": "Function", "typeVars": [".-1.140042649116608"], "argTypes": [{"nodeId": "140042573919088"}, {"nodeId": ".-1.140042649116608"}], "returnType": {"nodeId": ".-1.140042649116608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649116608": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140042577261088"}, "def": "140042649116608", "variance": "INVARIANT"}, "140042577261088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042468654240": {"type": "Concrete", "module": "numpy", "simpleName": "ndenumerate", "members": [{"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653904", "args": [{"nodeId": "0"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046608"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452075904"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733195712"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468654240"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452046608": {"type": "Overloaded", "items": [{"nodeId": "140042733192128"}, {"nodeId": "140042733192576"}, {"nodeId": "140042733193024"}, {"nodeId": "140042733193472"}, {"nodeId": "140042733193920"}, {"nodeId": "140042733194368"}, {"nodeId": "140042733194816"}]}, "140042733192128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, ".1.140042468654240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468654240", "variance": "INVARIANT"}, "140042733192576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049408"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049408": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577367376"}]}]}, "140042733193024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049744"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577732864"}]}]}, "140042733193472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049856"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049856": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042782776944"}]}]}, "140042733193920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049968"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050080"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577365696"}]}]}, "140042452050080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733194368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050192"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050192": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366032"}]}]}, "140042452050304": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050416"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050416": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366368"}]}]}, "140042452050528": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042452075904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}], "returnType": {"nodeId": "140042452050864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050864": {"type": "Tuple", "items": [{"nodeId": "140042452050640"}, {"nodeId": ".1.140042468654240"}]}, "140042452050640": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042733195712": {"type": "Function", "typeVars": [".-1.140042733195712"], "argTypes": [{"nodeId": ".-1.140042733195712"}], "returnType": {"nodeId": ".-1.140042733195712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733195712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733195712", "variance": "INVARIANT"}, "140042468237584": {"type": "Concrete", "module": "numpy", "simpleName": "ndindex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049520"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197504"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452049520": {"type": "Overloaded", "items": [{"nodeId": "140042733196160"}, {"nodeId": "140042733196608"}]}, "140042733196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "shape"]}, "140042733197056": {"type": "Function", "typeVars": [".-1.140042733197056"], "argTypes": [{"nodeId": ".-1.140042733197056"}], "returnType": {"nodeId": ".-1.140042733197056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733197056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733197056", "variance": "INVARIANT"}, "140042733197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}], "returnType": {"nodeId": "140042452051088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452051088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042468237920": {"type": "Concrete", "module": "numpy", "simpleName": "DataSource", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "destpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198400"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198848"}, "name": "abspath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199296"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199744"}, "name": "open"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042452051200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "destpath"]}, "140042452051200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042733198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452051312"}, {"nodeId": "140042452051424"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "mode", "encoding", "newline"]}, "140042452051312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452051424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577729840": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548591776"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548740384"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548741056"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548741728"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548742400"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743072"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743744"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548744416"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745088"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745760"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548746432"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747104"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747776"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548748448"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749120"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749792"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548750464"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751136"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751808"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548752704"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548753824"}}], "typeVars": [{"nodeId": ".1.140042577729840"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}], "isAbstract": true}, "140042548590656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577729840": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729840", "variance": "INVARIANT"}, "140042548591776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548740384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548742400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548744416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548745088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548745760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548746432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042548747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548747776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822160"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042564822160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042548749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548749792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": ".1.140042577729840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548751808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548752704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822272"}, {"nodeId": "140042564822384"}, {"nodeId": "140042564822496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042564822272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042564822384": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042564822496": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468238256": {"type": "Concrete", "module": "numpy", "simpleName": "broadcast", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733200192"}, "name": "__new__"}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226048"}}, {"kind": "Variable", "name": "iters", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226720"}}, {"kind": "Variable", "name": "nd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226944"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227168"}}, {"kind": "Variable", "name": "numiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227392"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227616"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733203776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204672"}, "name": "reset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452051648"}], "returnType": {"nodeId": "140042468238256"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042452051648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042422226048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042452050976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050976": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042422227840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733203776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733204224": {"type": "Function", "typeVars": [".-1.140042733204224"], "argTypes": [{"nodeId": ".-1.140042733204224"}], "returnType": {"nodeId": ".-1.140042733204224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733204224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733204224", "variance": "INVARIANT"}, "140042733204672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468238592": {"type": "Concrete", "module": "numpy", "simpleName": "busdaycalendar", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weekmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "holidays", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733205120"}, "name": "__new__"}, {"kind": "Variable", "name": "weekmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422228512"}}, {"kind": "Variable", "name": "holidays", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422229184"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733205120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052096"}, {"nodeId": "140042452052320"}], "returnType": {"nodeId": "140042468238592"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "weekmask", "holidays"]}, "140042452052096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452052320": {"type": "Union", "items": [{"nodeId": "140042452052208"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042480720848"}]}]}, "140042452052208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042480720848": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661609056"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489395488"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396608"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396832"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489659456"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489660128"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489659680"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660576"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660800"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648489760"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648490656"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491104"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491552"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492000"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492448"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492896"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494688"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495136"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495584"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489397872"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648499616"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500064"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500512"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661609056": {"type": "Function", "typeVars": [".-1.140042661609056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661609056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140042661609056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661609056", "variance": "INVARIANT"}, "140042489395488": {"type": "Function", "typeVars": [".-1.140042489395488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489395488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489395488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489395488", "variance": "INVARIANT"}, "140042489396608": {"type": "Function", "typeVars": [".-1.140042489396608"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489396608"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489396608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396608", "variance": "INVARIANT"}, "140042489396832": {"type": "Function", "typeVars": [".-1.140042489396832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489396832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489396832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396832", "variance": "INVARIANT"}, "140042489659456": {"type": "Function", "typeVars": [".-1.140042489659456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489659456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489659456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489659456", "variance": "INVARIANT"}, "140042489660128": {"type": "Function", "typeVars": [".-1.140042489660128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489660128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140042489660128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489660128", "variance": "INVARIANT"}, "140042489659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648489760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648490656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400448": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042493358736": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042648492448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492896": {"type": "Function", "typeVars": [".-1.140042648492896"], "argTypes": [{"nodeId": ".-1.140042648492896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648492896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140042648492896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648492896", "variance": "INVARIANT"}, "140042648493344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648493792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648495136": {"type": "Function", "typeVars": [".-1.140042648495136"], "argTypes": [{"nodeId": ".-1.140042648495136"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495136", "variance": "INVARIANT"}, "140042648495584": {"type": "Function", "typeVars": [".-1.140042648495584"], "argTypes": [{"nodeId": ".-1.140042648495584"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495584", "variance": "INVARIANT"}, "140042489397872": {"type": "Overloaded", "items": [{"nodeId": "140042648496032"}, {"nodeId": "140042648496480"}, {"nodeId": "140042648496928"}]}, "140042648496032": {"type": "Function", "typeVars": [".-1.140042648496032"], "argTypes": [{"nodeId": ".-1.140042648496032"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648496032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648496032", "variance": "INVARIANT"}, "140042648496480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480721856": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489386976"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742048"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742720"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742944"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743168"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743392"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743616"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744288"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744512"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746080"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489745632"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648741792"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742240"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742688"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743136"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743584"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389440"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389664"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648745376"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489747648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746272"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746720"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747168"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747616"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648846624"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847072"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847520"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401456"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140042480720848"}], "isAbstract": false}, "140042489386976": {"type": "Function", "typeVars": [".-1.140042489386976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489386976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489401904": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042480719840": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391456"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391904"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489392128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661606816"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042489391456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489398992"}], "returnType": {"nodeId": "140042489399104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489398992": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489391904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399216"}], "returnType": {"nodeId": "140042489399328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399216": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399328": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489392128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399440"}], "returnType": {"nodeId": "140042489399552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399440": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399552": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042661606816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042489386976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489386976", "variance": "INVARIANT"}, "140042489742048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402016": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489743616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489744288": {"type": "Function", "typeVars": [".-1.140042489744288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042489402128"}], "returnType": {"nodeId": ".-1.140042489744288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140042489402128": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489744288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744288", "variance": "INVARIANT"}, "140042489744512": {"type": "Function", "typeVars": [".-1.140042489744512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489744512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489744512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744512", "variance": "INVARIANT"}, "140042489746080": {"type": "Function", "typeVars": [".-1.140042489746080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489402240"}], "returnType": {"nodeId": ".-1.140042489746080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140042489402240": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489746080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489746080", "variance": "INVARIANT"}, "140042489745632": {"type": "Function", "typeVars": [".-1.140042489745632"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489745632"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489745632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489745632", "variance": "INVARIANT"}, "140042489746304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480721184"}, {"nodeId": "140042489402352"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140042480721184": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489385856"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489663712"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489666624"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667072"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667520"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619936"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620832"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648621280"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489667968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648622624"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623072"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623520"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623968"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648624416"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489387424"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489385856": {"type": "Function", "typeVars": [".-1.140042489385856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489400784"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489385856"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489400784": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489385856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489385856", "variance": "INVARIANT"}, "140042489663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489666624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489400896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400896": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489667744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648619488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648619936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648621280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140042489667968": {"type": "Function", "typeVars": [".-1.140042489667968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489667968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489667968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489667968", "variance": "INVARIANT"}, "140042648622624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401008": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648623968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648624416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401232": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489387424": {"type": "Function", "typeVars": [".-1.140042489387424"], "argTypes": [{"nodeId": ".-1.140042489387424"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489387424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489387424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489387424", "variance": "INVARIANT"}, "140042489401344": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489402352": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648741792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648742240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402464": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042648742688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480720848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489389440": {"type": "Function", "typeVars": [".-1.140042489389440"], "argTypes": [{"nodeId": ".-1.140042489389440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489402576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489389440"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489389440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389440", "variance": "INVARIANT"}, "140042489402576": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489389664": {"type": "Function", "typeVars": [".-1.140042489389664"], "argTypes": [{"nodeId": ".-1.140042489389664"}, {"nodeId": "140042489402688"}], "returnType": {"nodeId": ".-1.140042489389664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140042489389664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389664", "variance": "INVARIANT"}, "140042489402688": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648745376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140042489747648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140042648746272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402800": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648746720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648747168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489403024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489403024": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648747616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648846624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401456": {"type": "Overloaded", "items": [{"nodeId": "140042648847968"}, {"nodeId": "140042648848416"}]}, "140042648847968": {"type": "Function", "typeVars": [".-1.140042648847968"], "argTypes": [{"nodeId": ".-1.140042648847968"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648847968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648847968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648847968", "variance": "INVARIANT"}, "140042648848416": {"type": "Function", "typeVars": [".-1.140042648848416"], "argTypes": [{"nodeId": ".-1.140042648848416"}, {"nodeId": ".-1.140042648848416"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648848416": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648848416", "variance": "INVARIANT"}, "140042648496928": {"type": "Function", "typeVars": [".-1.140042648496928"], "argTypes": [{"nodeId": ".-1.140042648496928"}, {"nodeId": ".-1.140042648496928"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496928": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648496928", "variance": "INVARIANT"}, "140042648499616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400672": {"type": "TypeAlias", "target": {"nodeId": "140042489398096"}}, "140042489398096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042422228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422229184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468654576": {"type": "Concrete", "module": "numpy", "simpleName": "finfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468654576"}]}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "eps", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "epsneg", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "iexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "machep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "maxexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "minexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "negep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nmant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "precision", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_subnormal", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_normal", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230080"}}, {"kind": "Variable", "name": "tiny", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230976"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049184"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468654576"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468654576": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042468654576", "variance": "INVARIANT"}, "140042422230080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422230976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452049184": {"type": "Overloaded", "items": [{"nodeId": "140042733322304"}, {"nodeId": "140042733322752"}, {"nodeId": "140042733323200"}]}, "140042733322304": {"type": "Function", "typeVars": [".-1.140042733322304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052880"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042733322304"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052880": {"type": "Union", "items": [{"nodeId": "140042468231872", "args": [{"nodeId": ".-1.140042733322304"}]}, {"nodeId": "0"}]}, ".-1.140042733322304": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042733322304", "variance": "INVARIANT"}, "140042733322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052992"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042452053104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052992": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366032"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452053104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468238928": {"type": "Concrete", "module": "numpy", "simpleName": "iinfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468238928"}]}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422231648"}}, {"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422232096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052432"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468238928"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468238928": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042468238928", "variance": "INVARIANT"}, "140042422231648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422232096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452052432": {"type": "Overloaded", "items": [{"nodeId": "140042733324544"}, {"nodeId": "140042733324992"}, {"nodeId": "140042733325440"}]}, "140042733324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053552"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053552": {"type": "Union", "items": [{"nodeId": ".1.140042468238928"}, {"nodeId": "0"}]}, "140042733324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053664"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "140042452053776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053664": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042452053776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468239264": {"type": "Concrete", "module": "numpy", "simpleName": "format_parser", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733325888"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239264"}, {"nodeId": "140042452054000"}, {"nodeId": "140042452054112"}, {"nodeId": "140042452054224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452054448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "formats", "names", "titles", "aligned", "byteorder"]}, "140042452054000": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452054112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054336"}]}, "140042452054336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042468239600": {"type": "Concrete", "module": "numpy", "simpleName": "recarray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052656"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327232"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327680"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733328128"}, "name": "__setattr__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452054560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452056688"}, "items": [{"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "field"}], "typeVars": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}], "isAbstract": false}, "140042452052656": {"type": "Overloaded", "items": [{"nodeId": "140042733326336"}, {"nodeId": "140042733326784"}]}, "140042733326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452055232"}, {"nodeId": "N"}, {"nodeId": "140042452053328"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452054896"}, {"nodeId": "140042452055456"}, {"nodeId": "140042452055568"}, {"nodeId": "140042452056128"}, {"nodeId": "140042452054784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452055792"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452055232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452053328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054672"}]}, "140042452054672": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452054896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056016"}]}, "140042452056016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452055568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452056128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452055904"}]}, "140042452055904": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042452055792": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042468239936": {"type": "Concrete", "module": "numpy", "simpleName": "record", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733331712"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332160"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332608"}, "name": "pprint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452057920"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468233216"}], "isAbstract": false}, "140042733331712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733332160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452206864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452206864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733332608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452057920": {"type": "Overloaded", "items": [{"nodeId": "140042733333056"}, {"nodeId": "140042733333504"}]}, "140042733333056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042452207648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452207648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042733333504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452057024"}, {"nodeId": "140042452055008"}, {"nodeId": "140042452056464"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452056800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042452055120"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452057024": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055008": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452056464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056576"}]}, "140042452056576": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452056800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452057248"}]}, "140042452057248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055120": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042733327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468239600": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468239600", "variance": "INVARIANT"}, ".2.140042468239600": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468239600", "variance": "COVARIANT"}, "140042733327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042452057808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452057808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452054560": {"type": "Overloaded", "items": [{"nodeId": "140042733328576"}, {"nodeId": "140042733329024"}, {"nodeId": "140042733329472"}, {"nodeId": "140042733329920"}, {"nodeId": "140042733330368"}]}, "140042733328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452057696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452057696": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452055680"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452056352"}]}]}, "140042452055680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452056352": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452056912"}]}, "140042452056912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, {"nodeId": "140042452205968"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452205968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452205744"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206080"}]}]}, "140042452205744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452205632"}, {"nodeId": "140042577727152"}]}, "140042452205632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452206640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452206640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452206416"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206304"}]}]}, "140042452206416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452206528"}, {"nodeId": "140042577727152"}]}, "140042452206528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733330368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452056688": {"type": "Overloaded", "items": [{"nodeId": "140042733330816"}, {"nodeId": "140042733331264"}]}, "140042733330816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207200"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "attr", "val"]}, "140042452207200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042733331264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207424"}, {"nodeId": "140042452207536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452207424": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452207536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468240272": {"type": "Concrete", "module": "numpy", "simpleName": "nditer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_dtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "casting", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itershape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffersize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733333952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335296"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335744"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336640"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452207872"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733337984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292416"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292864"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293312"}, "name": "debug_print"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293760"}, "name": "enable_external_loop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294208"}, "name": "iternext"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294656"}, "name": "remove_axis"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295104"}, "name": "remove_multi_index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295552"}, "name": "reset"}, {"kind": "Variable", "name": "dtypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422318944"}}, {"kind": "Variable", "name": "finished", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319392"}}, {"kind": "Variable", "name": "has_delayed_bufalloc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319616"}}, {"kind": "Variable", "name": "has_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319840"}}, {"kind": "Variable", "name": "has_multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320064"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320288"}}, {"kind": "Variable", "name": "iterationneedsapi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320512"}}, {"kind": "Variable", "name": "iterindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320736"}}, {"kind": "Variable", "name": "iterrange", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452288"}}, {"kind": "Variable", "name": "itersize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452512"}}, {"kind": "Variable", "name": "itviews", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452736"}}, {"kind": "Variable", "name": "multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452960"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453184"}}, {"kind": "Variable", "name": "nop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453408"}}, {"kind": "Variable", "name": "operands", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453632"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453856"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422454080"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733333952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452208432"}, {"nodeId": "140042452208656"}, {"nodeId": "140042452208880"}, {"nodeId": "140042452209216"}, {"nodeId": "140042452209328"}, {"nodeId": "140042452209440"}, {"nodeId": "140042452209552"}, {"nodeId": "140042452209776"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "op", "flags", "op_flags", "op_dtypes", "order", "casting", "op_axes", "itershape", "buffersize"]}, "140042452208432": {"type": "Union", "items": [{"nodeId": "140042452208208"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208320"}]}]}, "140042452208208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208544"}]}]}, "140042452208544": {"type": "TypeAlias", "target": {"nodeId": "140042468160032"}}, "140042468160032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452208880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042452208768"}]}]}]}, "140042452208768": {"type": "TypeAlias", "target": {"nodeId": "140042468161936"}}, "140042468161936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452209216": {"type": "Union", "items": [{"nodeId": "140042452208992"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452209104"}]}]}, "140042452208992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209104": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209328": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452209440": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042452209552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}]}, "140042452209776": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452209664"}]}, "140042452209664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042733334400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733334848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452207984"}, {"nodeId": "140042452211120"}, {"nodeId": "140042452210560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452207984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452211120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452210560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042733335296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733335744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733336192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733336640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452207872": {"type": "Overloaded", "items": [{"nodeId": "140042733337088"}, {"nodeId": "140042733337536"}]}, "140042733337088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452210112"}, {"nodeId": "140042452211344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452210112": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042577727152"}]}, "140042452211344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728292416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728292864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728295104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728295552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422454080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240608": {"type": "Concrete", "module": "numpy", "simpleName": "memmap", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464276464"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452210224"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728304960"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305408"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "isAbstract": false}, "140042464276464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042452210224": {"type": "Overloaded", "items": [{"nodeId": "140042728303616"}, {"nodeId": "140042728304064"}, {"nodeId": "140042728304512"}]}, "140042728303616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452212128"}, {"nodeId": "0"}, {"nodeId": "140042452212240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212352"}, {"nodeId": "140042452212464"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452212688"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452212128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212240": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042468162160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452212352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212464": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452212688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042728304064": {"type": "Function", "typeVars": [".-1.140042728304064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452213472"}, {"nodeId": "0"}, {"nodeId": "140042452213584"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212016"}, {"nodeId": "140042452212912"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042728304064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452213472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452213584": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452212016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212912": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042728304064": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042728304064", "variance": "INVARIANT"}, "140042728304512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452214256"}, {"nodeId": "140042452212800"}, {"nodeId": "140042452213248"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452213360"}, {"nodeId": "140042452213808"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452214256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212800": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452213248": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452213360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452213808": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468240608": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468240608", "variance": "INVARIANT"}, ".2.140042468240608": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468240608", "variance": "COVARIANT"}, "140042728305408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042452213696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "array", "context"]}, "140042452213696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452214368"}]}, "140042452214368": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042728305856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240944": {"type": "Concrete", "module": "numpy", "simpleName": "vectorize", "members": [{"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472563744"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271872"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271984"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042468157680"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468157344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472563744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042464271872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464271984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042468157680": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042468157344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "140042452081056"}, {"nodeId": "140042452215264"}, {"nodeId": "140042452214144"}, {"nodeId": "140042452215488"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452215040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pyfunc", "otypes", "doc", "excluded", "cache", "signature"]}, "140042452081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042452215264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452214592"}]}]}, "140042452214592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452214144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452215488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452215376"}]}]}, "140042452215376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452215040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042468241280": {"type": "Concrete", "module": "numpy", "simpleName": "poly1d", "members": [{"kind": "Variable", "name": "variable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458112"}}, {"kind": "Variable", "name": "order", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458560"}}, {"kind": "Variable", "name": "o", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458784"}}, {"kind": "Variable", "name": "roots", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459008"}}, {"kind": "Variable", "name": "r", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459232"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452211008"}, "items": [{"kind": "Variable", "name": "coeffs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459456"}}, {"kind": "Variable", "name": "coeffs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coeffs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217056"}, "items": [{"kind": "Variable", "name": "c", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459680"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "c"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452215936"}, "items": [{"kind": "Variable", "name": "coef", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459904"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coef"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452216944"}, "items": [{"kind": "Variable", "name": "coefficients", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422460128"}}, {"kind": "Variable", "name": "coefficients", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coefficients"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217616"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218176"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c_or_r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "variable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430656"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431104"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432896"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433344"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433792"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434688"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435136"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435584"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436032"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436480"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438272"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438720"}, "name": "integ"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422458112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452211008": {"type": "Overloaded", "items": [{"nodeId": "140042728424384"}]}, "140042728424384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217056": {"type": "Overloaded", "items": [{"nodeId": "140042728425280"}]}, "140042728425280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452215936": {"type": "Overloaded", "items": [{"nodeId": "140042728426176"}]}, "140042728426176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452216944": {"type": "Overloaded", "items": [{"nodeId": "140042728427072"}]}, "140042728427072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422460128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217616": {"type": "Overloaded", "items": [{"nodeId": "140042728427968"}, {"nodeId": "140042728428416"}]}, "140042728427968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "t"]}, "140042728428416": {"type": "Function", "typeVars": [".-1.140042728428416"], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": ".-1.140042728428416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042728428416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "t"]}, ".-1.140042728428416": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042728428416", "variance": "INVARIANT"}, "140042452218176": {"type": "Overloaded", "items": [{"nodeId": "140042728428864"}, {"nodeId": "140042728429312"}, {"nodeId": "140042728429760"}]}, "140042728428864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219296": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042728429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042728429760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728430208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452219184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "c_or_r", "r", "variable"]}, "140042452219968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452219184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220192"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220304"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220416"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220528"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220640"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220640": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042728434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219856"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452219856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728434688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220864"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220976"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042452220976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221088"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221200"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221312"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042728437824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728438272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221648"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042452221648": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042728438720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221760"}, {"nodeId": "140042452304160"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k"]}, "140042452221760": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042452304160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452303936"}, {"nodeId": "140042452304048"}]}, "140042452303936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304048": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042468241616": {"type": "Concrete", "module": "numpy", "simpleName": "matrix", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "subtype", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728439168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728554560"}, "name": "__array_finalize__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218736"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728556800"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558144"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558592"}, "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452220080"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452306736"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452308976"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452309872"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452310992"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312112"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452313232"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312896"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314576"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314464"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315024"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315696"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772032"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452090464"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772928"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728773376"}, "name": "flatten"}, {"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418555360"}}, {"kind": "Variable", "name": "I", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418566560"}}, {"kind": "Variable", "name": "A", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567456"}}, {"kind": "Variable", "name": "A1", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567680"}}, {"kind": "Variable", "name": "H", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776064"}, "name": "getT"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776512"}, "name": "getI"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776960"}, "name": "getA"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777408"}, "name": "getA1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777856"}, "name": "getH"}], "typeVars": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "isAbstract": false}, "140042728439168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452304384"}, {"nodeId": "140042452304496"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "data", "dtype", "copy"]}, "140042452304384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304496": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728554560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241616": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241616", "variance": "INVARIANT"}, ".2.140042468241616": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468241616", "variance": "COVARIANT"}, "140042452218736": {"type": "Overloaded", "items": [{"nodeId": "140042728555008"}, {"nodeId": "140042728555456"}, {"nodeId": "140042728555904"}, {"nodeId": "140042728556352"}]}, "140042728555008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452305056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452305056": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452305504"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305392"}]}]}, "140042452305504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305392": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452304720"}]}, "140042452304720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452304832"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452304832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452305168"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305840"}]}]}, "140042452305168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452306064"}, {"nodeId": "140042577727152"}]}, "140042452306064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306400"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306848"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307184"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307296"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307632"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452220080": {"type": "Overloaded", "items": [{"nodeId": "140042728559040"}, {"nodeId": "140042728559488"}, {"nodeId": "140042728559936"}]}, "140042728559040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452307520"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452307520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452308752"}, {"nodeId": "140042452308640"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308640": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559936": {"type": "Function", "typeVars": [".-1.140042728559936"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309088"}, {"nodeId": "140042452308192"}, {"nodeId": ".-1.140042728559936"}], "returnType": {"nodeId": ".-1.140042728559936"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452309200"}]}, "140042452309200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728559936": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728559936", "variance": "INVARIANT"}, "140042452306736": {"type": "Overloaded", "items": [{"nodeId": "140042728560384"}, {"nodeId": "140042728560832"}, {"nodeId": "140042728561280"}]}, "140042728560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308304"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308304": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309984"}, {"nodeId": "140042452308416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309984": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728561280": {"type": "Function", "typeVars": [".-1.140042728561280"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452310320"}, {"nodeId": "140042452310096"}, {"nodeId": ".-1.140042728561280"}], "returnType": {"nodeId": ".-1.140042728561280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452310208"}]}, "140042452310208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728561280": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728561280", "variance": "INVARIANT"}, "140042452308976": {"type": "Overloaded", "items": [{"nodeId": "140042728561728"}, {"nodeId": "140042728562176"}, {"nodeId": "140042728562624"}]}, "140042728561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308528"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452308528": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311104"}, {"nodeId": "140042452309424"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311104": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452309424": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562624": {"type": "Function", "typeVars": [".-1.140042728562624"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311440"}, {"nodeId": "140042452311216"}, {"nodeId": ".-1.140042728562624"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728562624"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452311328"}]}, "140042452311328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728562624": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728562624", "variance": "INVARIANT"}, "140042452309872": {"type": "Overloaded", "items": [{"nodeId": "140042728563072"}, {"nodeId": "140042728563520"}, {"nodeId": "140042728563968"}]}, "140042728563072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452309760"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452309760": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312224"}, {"nodeId": "140042452310544"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312224": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563968": {"type": "Function", "typeVars": [".-1.140042728563968"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312560"}, {"nodeId": "140042452312336"}, {"nodeId": ".-1.140042728563968"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728563968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452312448"}]}, "140042452312448": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452312336": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728563968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728563968", "variance": "INVARIANT"}, "140042452310992": {"type": "Overloaded", "items": [{"nodeId": "140042728564416"}, {"nodeId": "140042728564864"}, {"nodeId": "140042728565312"}]}, "140042728564416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452310880"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728564864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313344"}, {"nodeId": "140042452311664"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311664": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728565312": {"type": "Function", "typeVars": [".-1.140042728565312"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313680"}, {"nodeId": "140042452313456"}, {"nodeId": ".-1.140042728565312"}], "returnType": {"nodeId": ".-1.140042728565312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452313568"}]}, "140042452313568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452313456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728565312": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728565312", "variance": "INVARIANT"}, "140042452312112": {"type": "Overloaded", "items": [{"nodeId": "140042728565760"}, {"nodeId": "140042728566208"}, {"nodeId": "140042728566656"}]}, "140042728565760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728566208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312000"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312000": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728566656": {"type": "Function", "typeVars": [".-1.140042728566656"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313008"}, {"nodeId": ".-1.140042728566656"}], "returnType": {"nodeId": ".-1.140042728566656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313008": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314016"}]}, "140042452314016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728566656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728566656", "variance": "INVARIANT"}, "140042452313232": {"type": "Overloaded", "items": [{"nodeId": "140042728567104"}, {"nodeId": "140042728567552"}, {"nodeId": "140042728568000"}]}, "140042728567104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728567552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313120"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313120": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728568000": {"type": "Function", "typeVars": [".-1.140042728568000"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312784"}, {"nodeId": ".-1.140042728568000"}], "returnType": {"nodeId": ".-1.140042728568000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314240"}]}, "140042452314240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728568000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728568000", "variance": "INVARIANT"}, "140042452312896": {"type": "Overloaded", "items": [{"nodeId": "140042452088672"}, {"nodeId": "140042728568896"}, {"nodeId": "140042728569344"}]}, "140042452088672": {"type": "Function", "typeVars": [".-1.140042452088672"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452088672"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452088672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452088672", "variance": "INVARIANT"}, "140042728568896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314352"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728569344": {"type": "Function", "typeVars": [".-1.140042728569344"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314912"}, {"nodeId": ".-1.140042728569344"}], "returnType": {"nodeId": ".-1.140042728569344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314688"}]}, "140042452314688": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728569344": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728569344", "variance": "INVARIANT"}, "140042452314576": {"type": "Overloaded", "items": [{"nodeId": "140042452089120"}, {"nodeId": "140042728570240"}, {"nodeId": "140042728767552"}]}, "140042452089120": {"type": "Function", "typeVars": [".-1.140042452089120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452089120"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452089120": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452089120", "variance": "INVARIANT"}, "140042728570240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315248"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728767552": {"type": "Function", "typeVars": [".-1.140042728767552"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315584"}, {"nodeId": ".-1.140042728767552"}], "returnType": {"nodeId": ".-1.140042728767552"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452315472"}]}, "140042452315472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728767552": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728767552", "variance": "INVARIANT"}, "140042452314464": {"type": "Overloaded", "items": [{"nodeId": "140042452089568"}, {"nodeId": "140042728768448"}, {"nodeId": "140042728768896"}]}, "140042452089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452315920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315920": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452316256"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316032": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452316256": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768896": {"type": "Function", "typeVars": [".-1.140042728768896"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316480"}, {"nodeId": ".-1.140042728768896"}], "returnType": {"nodeId": ".-1.140042728768896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452316368"}]}, "140042452316368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728768896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728768896", "variance": "INVARIANT"}, "140042452315024": {"type": "Overloaded", "items": [{"nodeId": "140042452089792"}, {"nodeId": "140042728769792"}, {"nodeId": "140042728770240"}]}, "140042452089792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452316816"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316816": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452317152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452317152": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728770240": {"type": "Function", "typeVars": [".-1.140042728770240"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317376"}, {"nodeId": ".-1.140042728770240"}], "returnType": {"nodeId": ".-1.140042728770240"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317376": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317264"}]}, "140042452317264": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728770240": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728770240", "variance": "INVARIANT"}, "140042452315696": {"type": "Overloaded", "items": [{"nodeId": "140042452090016"}, {"nodeId": "140042728771136"}, {"nodeId": "140042728771584"}]}, "140042452090016": {"type": "Function", "typeVars": [".-1.140042452090016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452090016"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452090016": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452090016", "variance": "INVARIANT"}, "140042728771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317712"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728771584": {"type": "Function", "typeVars": [".-1.140042728771584"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318048"}, {"nodeId": ".-1.140042728771584"}], "returnType": {"nodeId": ".-1.140042728771584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452318048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317936"}]}, "140042452317936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728771584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728771584", "variance": "INVARIANT"}, "140042728772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318272"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042452318272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452318160"}]}, "140042452318160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452090464": {"type": "Function", "typeVars": [".-1.140042452090464"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042452090464"}]}]}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042452090464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042452090464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042452090464", "variance": "INVARIANT"}, "140042728772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318608"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452318608": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728773376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452319168"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452319168": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042418555360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418566560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468241952": {"type": "Concrete", "module": "numpy", "simpleName": "chararray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452316592"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779200"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779648"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780544"}, "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451730016"}, "items": [{"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__eq__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210752"}, "items": [{"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ne__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210192"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447211648"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447212432"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447213216"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214000"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214784"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447215568"}, "items": [{"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "center"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447216352"}, "items": [{"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447178880"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447179328"}, "name": "encode"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447217136"}, "items": [{"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728923072"}, "name": "expandtabs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447219936"}, "items": [{"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "find"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447222512"}, "items": [{"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224192"}, "items": [{"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "join"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452319280"}, "items": [{"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ljust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275168"}, "items": [{"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275840"}, "items": [{"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "partition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447276960"}, "items": [{"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "replace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447277856"}, "items": [{"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rfind"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447280208"}, "items": [{"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rindex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447281888"}, "items": [{"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rjust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283568"}, "items": [{"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rpartition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283456"}, "items": [{"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rsplit"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447284576"}, "items": [{"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286816"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729116544"}, "name": "splitlines"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286704"}, "items": [{"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "startswith"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447289280"}, "items": [{"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224080"}, "items": [{"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729119680"}, "name": "zfill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120128"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120576"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121472"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121920"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122368"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122816"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123264"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123712"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124160"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124608"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125056"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125504"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125952"}, "name": "isdecimal"}], "typeVars": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "isAbstract": false}, "140042452316592": {"type": "Overloaded", "items": [{"nodeId": "140042728778304"}, {"nodeId": "140042728778752"}]}, "140042728778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447208624"}, {"nodeId": "140042447208736"}, {"nodeId": "0"}, {"nodeId": "140042447208960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209072"}, {"nodeId": "140042447209184"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447208624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447208736": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447208960": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209184": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447209744"}, {"nodeId": "140042447209856"}, {"nodeId": "0"}, {"nodeId": "140042447209520"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209632"}, {"nodeId": "140042447209968"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447209744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209856": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447209520": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241952": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241952", "variance": "INVARIANT"}, ".2.140042468241952": {"type": "TypeVar", "varName": "_CharDType", "values": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468241952", "variance": "INVARIANT"}, "140042728779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210528"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210416"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730016": {"type": "Overloaded", "items": [{"nodeId": "140042447176416"}, {"nodeId": "140042728781440"}]}, "140042447176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210752": {"type": "Overloaded", "items": [{"nodeId": "140042447176864"}, {"nodeId": "140042728782336"}]}, "140042447176864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210192": {"type": "Overloaded", "items": [{"nodeId": "140042447177088"}, {"nodeId": "140042728783232"}]}, "140042447177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447211648": {"type": "Overloaded", "items": [{"nodeId": "140042447177312"}, {"nodeId": "140042728915456"}]}, "140042447177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728915456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447212432": {"type": "Overloaded", "items": [{"nodeId": "140042447177536"}, {"nodeId": "140042728916352"}]}, "140042447177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728916352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447213216": {"type": "Overloaded", "items": [{"nodeId": "140042447177760"}, {"nodeId": "140042728917248"}]}, "140042447177760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728917248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215344"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214000": {"type": "Overloaded", "items": [{"nodeId": "140042447177984"}, {"nodeId": "140042728918144"}]}, "140042447177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728918144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214784": {"type": "Overloaded", "items": [{"nodeId": "140042447178208"}, {"nodeId": "140042728919040"}]}, "140042447178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216576"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447215568": {"type": "Overloaded", "items": [{"nodeId": "140042447178432"}, {"nodeId": "140042728919936"}]}, "140042447178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217360"}, {"nodeId": "140042447217472"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217920"}, {"nodeId": "140042447217696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447216352": {"type": "Overloaded", "items": [{"nodeId": "140042447178656"}, {"nodeId": "140042728920832"}]}, "140042447178656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447218144"}, {"nodeId": "140042447218480"}, {"nodeId": "140042447218704"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447218144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447218592"}]}, "140042447218592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728920832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447219264"}, {"nodeId": "140042447218256"}, {"nodeId": "140042447219488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447219264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447219376"}]}, "140042447219376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220048"}, {"nodeId": "140042447219152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447219152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220384"}, {"nodeId": "140042447220496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447220496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447217136": {"type": "Overloaded", "items": [{"nodeId": "140042447179552"}, {"nodeId": "140042728922624"}]}, "140042447179552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220944"}, {"nodeId": "140042447221056"}, {"nodeId": "140042447221280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447220944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221168"}]}, "140042447221168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728922624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221728"}, {"nodeId": "140042447220720"}, {"nodeId": "140042447221952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447221728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447220720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221840"}]}, "140042447221840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447222176"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042447222176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219936": {"type": "Overloaded", "items": [{"nodeId": "140042447180000"}, {"nodeId": "140042728923968"}]}, "140042447180000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221616"}, {"nodeId": "140042447222736"}, {"nodeId": "140042447222960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447221616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447222848"}]}, "140042447222848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223520"}, {"nodeId": "140042447222624"}, {"nodeId": "140042447223744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447223744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447223632"}]}, "140042447223632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222512": {"type": "Overloaded", "items": [{"nodeId": "140042447175968"}, {"nodeId": "140042728924864"}]}, "140042447175968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223408"}, {"nodeId": "140042447224416"}, {"nodeId": "140042447224640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447224528"}]}, "140042447224528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728924864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447274496"}, {"nodeId": "140042447274272"}, {"nodeId": "140042447274720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447274496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447274608"}]}, "140042447274608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224192": {"type": "Overloaded", "items": [{"nodeId": "140042447180224"}, {"nodeId": "140042728925760"}]}, "140042447180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275056"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728925760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452319280": {"type": "Overloaded", "items": [{"nodeId": "140042447180448"}, {"nodeId": "140042728926656"}]}, "140042447180448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276064"}, {"nodeId": "140042447276176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728926656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276624"}, {"nodeId": "140042447276400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275168": {"type": "Overloaded", "items": [{"nodeId": "140042447180672"}, {"nodeId": "140042728927552"}]}, "140042447180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447276848"}]}, "140042447276848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728927552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447277520"}]}, "140042447277520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275840": {"type": "Overloaded", "items": [{"nodeId": "140042447180896"}, {"nodeId": "140042728928448"}]}, "140042447180896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728928448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276960": {"type": "Overloaded", "items": [{"nodeId": "140042447181120"}, {"nodeId": "140042728929344"}]}, "140042447181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278864"}, {"nodeId": "140042447278976"}, {"nodeId": "140042447279200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447278864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279088"}]}, "140042447279088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728929344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279648"}, {"nodeId": "140042447278640"}, {"nodeId": "140042447279872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447279648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279760"}]}, "140042447279760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447277856": {"type": "Overloaded", "items": [{"nodeId": "140042447181344"}, {"nodeId": "140042728930240"}]}, "140042447181344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279536"}, {"nodeId": "140042447280432"}, {"nodeId": "140042447280656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447279536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447280544"}]}, "140042447280544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728930240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281216"}, {"nodeId": "140042447280096"}, {"nodeId": "140042447281440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447281328"}]}, "140042447281328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280208": {"type": "Overloaded", "items": [{"nodeId": "140042447181568"}, {"nodeId": "140042729111616"}]}, "140042447181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281104"}, {"nodeId": "140042447282112"}, {"nodeId": "140042447282336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447282224"}]}, "140042447282224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729111616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282896"}, {"nodeId": "140042447281776"}, {"nodeId": "140042447283120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447282896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447283008"}]}, "140042447283008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281888": {"type": "Overloaded", "items": [{"nodeId": "140042447181792"}, {"nodeId": "140042729112512"}]}, "140042447181792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282784"}, {"nodeId": "140042447283792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447282784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729112512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284240"}, {"nodeId": "140042447284016"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447284240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283568": {"type": "Overloaded", "items": [{"nodeId": "140042447182016"}, {"nodeId": "140042729113408"}]}, "140042447182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447284464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729113408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447285024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283456": {"type": "Overloaded", "items": [{"nodeId": "140042447182240"}, {"nodeId": "140042729114304"}]}, "140042447182240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285584"}, {"nodeId": "140042447285808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285472"}]}, "140042447285472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447285808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285696"}]}, "140042447285696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729114304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285248"}, {"nodeId": "140042447286480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286256"}]}, "140042447286256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286368"}]}, "140042447286368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284576": {"type": "Overloaded", "items": [{"nodeId": "140042447182464"}, {"nodeId": "140042729115200"}]}, "140042447182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286144"}]}, "140042447286144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729115200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287376"}]}, "140042447287376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286816": {"type": "Overloaded", "items": [{"nodeId": "140042447182688"}, {"nodeId": "140042729116096"}]}, "140042447182688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447288048"}, {"nodeId": "140042447288272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447288048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287936"}]}, "140042447287936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288160"}]}, "140042447288160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287712"}, {"nodeId": "140042447288944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447287712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288720"}]}, "140042447288720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288832"}]}, "140042447288832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447289392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042447289392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289168"}]}, "140042447289168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286704": {"type": "Overloaded", "items": [{"nodeId": "140042447183360"}, {"nodeId": "140042729117440"}]}, "140042447183360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447289728"}, {"nodeId": "140042447289840"}, {"nodeId": "140042447290064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447289728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447290064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289952"}]}, "140042447289952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729117440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356080"}, {"nodeId": "140042447356192"}, {"nodeId": "140042447356416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447356080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356304"}]}, "140042447356304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289280": {"type": "Overloaded", "items": [{"nodeId": "140042447179776"}, {"nodeId": "140042729118336"}]}, "140042447179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447356976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356640"}]}, "140042447356640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729118336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447357424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357312"}]}, "140042447357312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224080": {"type": "Overloaded", "items": [{"nodeId": "140042447183584"}, {"nodeId": "140042729119232"}]}, "140042447183584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357872"}, {"nodeId": "140042447358096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447357872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357984"}]}, "140042447357984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447358432"}, {"nodeId": "140042447358656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447358432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447358544"}]}, "140042447358544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447358880"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, "140042447358880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729120128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729120576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468242288": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsDLPack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729126400"}, "name": "__dlpack__"}], "typeVars": [{"nodeId": ".1.140042468242288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__dlpack__"]}, "140042729126400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468242288", "args": [{"nodeId": ".1.140042468242288"}]}, {"nodeId": "140042447359328"}], "returnType": {"nodeId": "140042447357648"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, ".1.140042468242288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468242288", "variance": "CONTRAVARIANT"}, "140042447359328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": ".1.140042468242288"}]}, "140042447357648": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042578052144": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831952"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720423360"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547898496"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547899616"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577831952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042577832176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042720423360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564604464"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564604128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140042564604464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}]}, "140042564604128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778288": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499360"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042782778960": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577827808"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749500256"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548185568"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548186016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502496"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502944"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577827808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749500256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564605808"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140042564605808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548185568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548186016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778624": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499808"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749499808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778624"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042749502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777952": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749496224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749495328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749499360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778288"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042547899616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782777616": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370816"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749494432"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586370816": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564605920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140042564605920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749494432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779296": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503392"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503840"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504288"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504736"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140042749503840": {"type": "Function", "typeVars": [".-1.140042749503840"], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": ".-1.140042749503840"}], "returnType": {"nodeId": ".-1.140042749503840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140042749503840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749503840", "variance": "INVARIANT"}, "140042749504288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749504736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779632": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749506528"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749506528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779632"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577725472": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042577657328": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649109664"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110112"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110560"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111008"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111456"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042577733872": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562448"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708174880"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175328"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175776"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176224"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176672"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177120"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177568"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178016"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178464"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178912"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179808"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180256"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180704"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181600"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182496"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733872"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "isAbstract": false}, "140042552562448": {"type": "Overloaded", "items": [{"nodeId": "140042708173984"}, {"nodeId": "140042708174432"}]}, "140042708173984": {"type": "Function", "typeVars": [".-1.140042708173984"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042708173984"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042708173984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708173984", "variance": "INVARIANT"}, "140042708174432": {"type": "Function", "typeVars": [".-1.140042708174432"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": ".-1.140042708174432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140042577733872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733872", "variance": "COVARIANT"}, ".-1.140042708174432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708174432", "variance": "INVARIANT"}, "140042708174880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708175328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708175776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708176224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708176672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708178016": {"type": "Function", "typeVars": [".-1.140042708178016"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708178016"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564352"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708178016": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708178016", "variance": "INVARIANT"}, "140042552564352": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708178016"}]}, "140042708178464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708178912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708179360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708179808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708180256": {"type": "Function", "typeVars": [".-1.140042708180256"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708180256"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708180256": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708180256", "variance": "INVARIANT"}, "140042552564464": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708180256"}]}, "140042708180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708181152": {"type": "Function", "typeVars": [".-1.140042708181152"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708181152"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708181152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708181152", "variance": "INVARIANT"}, "140042552564576": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708181152"}]}, "140042708181600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708183392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042649109664": {"type": "Function", "typeVars": [".-1.140042649109664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042649109664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140042649109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649109664", "variance": "INVARIANT"}, "140042649110112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140042649110560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042649111008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042556831136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140042556831136": {"type": "Union", "items": [{"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649111456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042782780304": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569763744"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042782780304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042569763744": {"type": "Overloaded", "items": [{"nodeId": "140042753671904"}, {"nodeId": "140042753672352"}]}, "140042753671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780304", "variance": "COVARIANT"}, "140042753672352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782780304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577727824": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__hash__"]}, "140042548300480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782781984": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548312128"}}], "typeVars": [{"nodeId": ".1.140042782781984"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__await__"]}, "140042548312128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782781984"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140042782781984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781984", "variance": "COVARIANT"}, "140042782782320": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364000"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364224"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364448"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364672"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548364896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564615888"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548365120"}}], "typeVars": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042782782320"}]}], "isAbstract": true}, "140042548364000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042564813872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, ".2.140042782782320": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "CONTRAVARIANT"}, ".3.140042782782320": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, "140042564813872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548364224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": ".2.140042782782320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564615888": {"type": "Overloaded", "items": [{"nodeId": "140042753682656"}, {"nodeId": "140042753683104"}]}, "140042753682656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "0"}, {"nodeId": "140042564814096"}, {"nodeId": "140042564814208"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814096": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814208": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753683104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042548365120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728160": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}, {"nodeId": ".4.140042577728160"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042577728160"}]}, {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}]}], "isAbstract": true}, ".1.140042577728160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".2.140042577728160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "CONTRAVARIANT"}, ".3.140042577728160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".4.140042577728160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "INVARIANT"}, "140042782782656": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548366240"}}], "typeVars": [{"nodeId": ".1.140042782782656"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042548366240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782656"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782656"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782656": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782656", "variance": "COVARIANT"}, "140042782782992": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548369376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753684896"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042782782992"}], "bases": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782992"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140042548369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782992", "variance": "COVARIANT"}, "140042753684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782783328": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753685344"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371616"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564616000"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753687136"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548371168"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372512"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372736"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372960"}}], "typeVars": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}], "bases": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782783328"}]}], "isAbstract": true}, "140042753685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782783328": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "COVARIANT"}, ".2.140042782783328": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "CONTRAVARIANT"}, "140042548371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": ".2.140042782783328"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564616000": {"type": "Overloaded", "items": [{"nodeId": "140042753686240"}, {"nodeId": "140042753686688"}]}, "140042753686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "0"}, {"nodeId": "140042564814544"}, {"nodeId": "140042564814656"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814768"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814768": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753687136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577730176": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548755168"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": true}, "140042548755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730176"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577730512": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543677952"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678400"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678624"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678848"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543679072"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543679296"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": true}, "140042543677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042564822608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564822608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042543678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577731184": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564821824"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543681984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719639840"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719640736"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042564821824": {"type": "Overloaded", "items": [{"nodeId": "140042719638496"}, {"nodeId": "140042719638944"}]}, "140042719638496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564825072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564825072": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042719638944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042543681984": {"type": "Function", "typeVars": [".-1.140042543681984"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042543681984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042543681984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042543681984", "variance": "INVARIANT"}, "140042719639840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719640736": {"type": "Function", "typeVars": [".-1.140042719640736"], "argTypes": [{"nodeId": ".-1.140042719640736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042719640736"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042719640736": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719640736", "variance": "INVARIANT"}, "140042577731520": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719641184"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719772960"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773408"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773856"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774304"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774752"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775200"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775648"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776544"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042719641184": {"type": "Function", "typeVars": [".-1.140042719641184"], "argTypes": [{"nodeId": ".-1.140042719641184"}], "returnType": {"nodeId": ".-1.140042719641184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719641184": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719641184", "variance": "INVARIANT"}, "140042719772960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042719773408": {"type": "Function", "typeVars": [".-1.140042719773408"], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": ".-1.140042719773408"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042719773408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773408", "variance": "INVARIANT"}, "140042719773856": {"type": "Function", "typeVars": [".-1.140042719773856"], "argTypes": [{"nodeId": ".-1.140042719773856"}, {"nodeId": ".-1.140042719773856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042719773856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773856", "variance": "INVARIANT"}, "140042719774304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719774752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719776096": {"type": "Function", "typeVars": [".-1.140042719776096"], "argTypes": [{"nodeId": ".-1.140042719776096"}, {"nodeId": ".-1.140042719776096"}], "returnType": {"nodeId": ".-1.140042719776096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776096", "variance": "INVARIANT"}, "140042719776544": {"type": "Function", "typeVars": [".-1.140042719776544"], "argTypes": [{"nodeId": ".-1.140042719776544"}, {"nodeId": ".-1.140042719776544"}], "returnType": {"nodeId": ".-1.140042719776544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776544": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776544", "variance": "INVARIANT"}, "140042577364016": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586365328"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586364768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719777888"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719778784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586365328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042586364768": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719776992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564825744"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140042564825744": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719777888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042564825968"}, {"nodeId": "140042564826192"}, {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042564826416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140042564825968": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826192": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719778784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777280": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506442944"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009632"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506443392"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506444064"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707753824"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506442944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042552558192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552558192": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042578052816": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720426720"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042720426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052816"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042569009632": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042506443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506444064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}, {"nodeId": "140042552558528"}, {"nodeId": "140042552558640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042552558528": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042552558640": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042577364352": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511002176"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676448"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749677344"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042577364352"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511002176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042556319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364352": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364352", "variance": "COVARIANT"}, "140042556319872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749676000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "140042556319424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749676448": {"type": "Function", "typeVars": [".-1.140042749676448"], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": ".-1.140042749676448"}, {"nodeId": "140042551966656"}], "returnType": {"nodeId": "140042556325248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749676448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749676448", "variance": "INVARIANT"}, "140042551966656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042552082496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552082496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749677344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042577364688": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000832"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556325472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749679136"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999712"}}], "typeVars": [{"nodeId": ".1.140042577364688"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511000832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552082720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364688": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364688", "variance": "COVARIANT"}, "140042552082720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511000384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": "140042552082944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552082944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749679136": {"type": "Function", "typeVars": [".-1.140042749679136"], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": ".-1.140042749679136"}, {"nodeId": "140042551967440"}], "returnType": {"nodeId": "140042552083168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749679136": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749679136", "variance": "INVARIANT"}, "140042551967440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552083168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042510999712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552083392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552083392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577365360": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099216"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099216": {"type": "Overloaded", "items": [{"nodeId": "140042749689440"}, {"nodeId": "140042720051488"}, {"nodeId": "140042720051936"}]}, "140042749689440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042720051488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042720051936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577734208": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708185184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577734208"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042569010640"}]}], "isAbstract": false}, "140042708183840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140042577734208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734208", "variance": "INVARIANT"}, "140042708184288": {"type": "Function", "typeVars": [".-1.140042708184288"], "argTypes": [{"nodeId": ".-1.140042708184288"}], "returnType": {"nodeId": ".-1.140042708184288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042708184288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708184288", "variance": "INVARIANT"}, "140042708184736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}], "returnType": {"nodeId": "140042552564912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552564912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042708185184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042569010640": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042577369392": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506820672"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821120"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562784"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708187872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552564240"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030304"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506820672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552562784": {"type": "Overloaded", "items": [{"nodeId": "140042708186976"}, {"nodeId": "140042708187424"}]}, "140042708186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042708187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703028512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703028960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552564240": {"type": "Overloaded", "items": [{"nodeId": "140042703029408"}, {"nodeId": "140042703029856"}]}, "140042703029408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703029856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577369392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703030304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577369728": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569429536"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569432112"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569431664"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031200"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031648"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032096"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032544"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032992"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703033440"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569429536": {"type": "Union", "items": [{"nodeId": "140042586000064"}, {"nodeId": "N"}]}, "140042586000064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569432112": {"type": "Union", "items": [{"nodeId": "140042586009920"}, {"nodeId": "N"}]}, "140042586009920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569431664": {"type": "Union", "items": [{"nodeId": "140042577258400"}, {"nodeId": "N"}]}, "140042577258400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703030752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552565360"}, {"nodeId": "140042552565696"}, {"nodeId": "140042552566032"}, {"nodeId": "140042552566256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140042552565360": {"type": "Union", "items": [{"nodeId": "140042552097280"}, {"nodeId": "N"}]}, "140042552097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552565696": {"type": "Union", "items": [{"nodeId": "140042552097728"}, {"nodeId": "N"}]}, "140042552097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552566032": {"type": "Union", "items": [{"nodeId": "140042552097952"}, {"nodeId": "N"}]}, "140042552097952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552566256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042703031200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097504"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703031648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097056"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703032096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552770624"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703032544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "140042552567040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552567040": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042703032992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042703033440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577370064": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569343248": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703037472"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140042569343248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042703037472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343248", "args": [{"nodeId": ".1.140042569343248"}]}], "returnType": {"nodeId": ".1.140042569343248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343248": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343248", "variance": "COVARIANT"}, "140042577370400": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703038368"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042577370400"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042703038368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370400", "args": [{"nodeId": ".1.140042577370400"}]}], "returnType": {"nodeId": ".1.140042577370400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577370400": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "def": "140042577370400", "variance": "COVARIANT"}, "140042577734544": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552568272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703177760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703178208"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734544"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734544"}]}], "isAbstract": false}, "140042552568272": {"type": "Overloaded", "items": [{"nodeId": "140042703176416"}, {"nodeId": "140042703176864"}, {"nodeId": "140042703177312"}]}, "140042703176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552570624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734544", "variance": "INVARIANT"}, "140042552570624": {"type": "Union", "items": [{"nodeId": ".1.140042577734544"}, {"nodeId": "N"}]}, "140042703176864": {"type": "Function", "typeVars": [".-1.140042703176864"], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552771072"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703176864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552771072": {"type": "Function", "typeVars": [".-1.140042552771072"], "argTypes": [{"nodeId": ".-1.140042552771072"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552771072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552771072", "variance": "INVARIANT"}, ".-1.140042703176864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703176864", "variance": "INVARIANT"}, "140042703177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552770848"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577734544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703177760": {"type": "Function", "typeVars": [".-1.140042703177760"], "argTypes": [{"nodeId": ".-1.140042703177760"}], "returnType": {"nodeId": ".-1.140042703177760"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703177760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703177760", "variance": "INVARIANT"}, "140042703178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": ".1.140042577734544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577370736": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703184928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042577370736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042703184928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370736", "args": [{"nodeId": ".1.140042577370736"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577370736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577370736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577370736", "variance": "COVARIANT"}, "140042577734880": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552570736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703290656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703291104"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734880"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734880"}]}], "isAbstract": false}, "140042552570736": {"type": "Overloaded", "items": [{"nodeId": "140042703189408"}, {"nodeId": "140042703189856"}, {"nodeId": "140042703190304"}, {"nodeId": "140042703190752"}, {"nodeId": "140042703191200"}, {"nodeId": "140042703191648"}]}, "140042703189408": {"type": "Function", "typeVars": [".-1.140042703189408"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773312"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734880", "variance": "INVARIANT"}, "140042552773312": {"type": "Function", "typeVars": [".-1.140042552773312"], "argTypes": [{"nodeId": ".-1.140042552773312"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552773312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773312", "variance": "INVARIANT"}, ".-1.140042703189408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189408", "variance": "INVARIANT"}, "140042703189856": {"type": "Function", "typeVars": [".-1.140042703189856", ".-2.140042703189856"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189856"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703189856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042552772640": {"type": "Function", "typeVars": [".-1.140042552772640", ".-2.140042552772640"], "argTypes": [{"nodeId": ".-1.140042552772640"}, {"nodeId": ".-2.140042552772640"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552772640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-2.140042552772640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-1.140042703189856": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, ".-2.140042703189856": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, "140042703190304": {"type": "Function", "typeVars": [".-1.140042703190304", ".-2.140042703190304", ".-3.140042703190304"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772864"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190304"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042552772864": {"type": "Function", "typeVars": [".-1.140042552772864", ".-2.140042552772864", ".-3.140042552772864"], "argTypes": [{"nodeId": ".-1.140042552772864"}, {"nodeId": ".-2.140042552772864"}, {"nodeId": ".-3.140042552772864"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140042552772864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-2.140042552772864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-3.140042552772864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-1.140042703190304": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-2.140042703190304": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-3.140042703190304": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, "140042703190752": {"type": "Function", "typeVars": [".-1.140042703190752", ".-2.140042703190752", ".-3.140042703190752", ".-4.140042703190752"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773536"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703190752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042552773536": {"type": "Function", "typeVars": [".-1.140042552773536", ".-2.140042552773536", ".-3.140042552773536", ".-4.140042552773536"], "argTypes": [{"nodeId": ".-1.140042552773536"}, {"nodeId": ".-2.140042552773536"}, {"nodeId": ".-3.140042552773536"}, {"nodeId": ".-4.140042552773536"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140042552773536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-2.140042552773536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-3.140042552773536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-4.140042552773536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-1.140042703190752": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-2.140042703190752": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-3.140042703190752": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-4.140042703190752": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, "140042703191200": {"type": "Function", "typeVars": [".-1.140042703191200", ".-2.140042703191200", ".-3.140042703191200", ".-4.140042703191200", ".-5.140042703191200"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773760"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703191200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140042552773760": {"type": "Function", "typeVars": [".-1.140042552773760", ".-2.140042552773760", ".-3.140042552773760", ".-4.140042552773760", ".-5.140042552773760"], "argTypes": [{"nodeId": ".-1.140042552773760"}, {"nodeId": ".-2.140042552773760"}, {"nodeId": ".-3.140042552773760"}, {"nodeId": ".-4.140042552773760"}, {"nodeId": ".-5.140042552773760"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140042552773760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-2.140042552773760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-3.140042552773760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-4.140042552773760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-5.140042552773760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-1.140042703191200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-2.140042703191200": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-3.140042703191200": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-4.140042703191200": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-5.140042703191200": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, "140042703191648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773984"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140042552773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042703290656": {"type": "Function", "typeVars": [".-1.140042703290656"], "argTypes": [{"nodeId": ".-1.140042703290656"}], "returnType": {"nodeId": ".-1.140042703290656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703290656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703290656", "variance": "INVARIANT"}, "140042703291104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569343584": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703301856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042569343584"}], "bases": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569343584"}]}], "protocolMembers": ["flush", "write"]}, "140042703301856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343584", "args": [{"nodeId": ".1.140042569343584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343584", "variance": "CONTRAVARIANT"}, "140042577371072": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303200"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371072", "args": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}]}, {"nodeId": ".1.140042577371072"}], "returnType": {"nodeId": ".2.140042577371072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577371072": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "CONTRAVARIANT"}, ".2.140042577371072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "COVARIANT"}, "140042577371408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303648"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371408", "args": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}]}, {"nodeId": ".1.140042577371408"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140042577371408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140042577371408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "CONTRAVARIANT"}, ".2.140042577371408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "COVARIANT"}, "140042577371744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703304096"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371744", "args": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}]}, {"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}], "returnType": {"nodeId": ".3.140042577371744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577371744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".2.140042577371744": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".3.140042577371744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "COVARIANT"}, "140042577735216": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552893936"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516640"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517088"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140042577735216"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735216"}]}], "isAbstract": false}, "140042552893936": {"type": "Overloaded", "items": [{"nodeId": "140042703515296"}, {"nodeId": "140042703515744"}]}, "140042703515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577735216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735216", "variance": "INVARIANT"}, "140042703515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568806944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708768"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568806944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042749708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806944", "variance": "COVARIANT"}, "140042749708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568806944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703516192": {"type": "Function", "typeVars": [".-1.140042703516192"], "argTypes": [{"nodeId": ".-1.140042703516192"}], "returnType": {"nodeId": ".-1.140042703516192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703516192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703516192", "variance": "INVARIANT"}, "140042703516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": ".1.140042577735216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577372080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517984"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372080"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372080", "args": [{"nodeId": ".1.140042577372080"}]}], "returnType": {"nodeId": ".1.140042577372080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577372080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372080", "variance": "COVARIANT"}, "140042577372416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703518432"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372416", "args": [{"nodeId": ".1.140042577372416"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577372416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577372416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372416", "variance": "COVARIANT"}, "140042569343920": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568804256", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042568804592", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140042568804256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__add__"]}, "140042749966624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804256", "args": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}]}, {"nodeId": ".1.140042568804256"}], "returnType": {"nodeId": ".2.140042568804256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804256": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "CONTRAVARIANT"}, ".2.140042568804256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "COVARIANT"}, "140042568804592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__radd__"]}, "140042749967072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804592", "args": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}]}, {"nodeId": ".1.140042568804592"}], "returnType": {"nodeId": ".2.140042568804592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804592": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "CONTRAVARIANT"}, ".2.140042568804592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "COVARIANT"}, "140042577735552": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552896064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703644576"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703645024"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577735552"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735552"}]}], "isAbstract": false}, "140042552896064": {"type": "Overloaded", "items": [{"nodeId": "140042703639200"}, {"nodeId": "140042703639648"}, {"nodeId": "140042703640096"}, {"nodeId": "140042703640544"}, {"nodeId": "140042703640992"}, {"nodeId": "140042703641440"}]}, "140042703639200": {"type": "Function", "typeVars": [".-1.140042703639200"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639200"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140042703639200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639200", "variance": "INVARIANT"}, "140042552898192": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639200"}]}, "140042703639648": {"type": "Function", "typeVars": [".-1.140042703639648", ".-2.140042703639648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639648"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703639648"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140042703639648": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, ".-2.140042703639648": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, "140042552898416": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639648"}, {"nodeId": ".-2.140042703639648"}]}, "140042703640096": {"type": "Function", "typeVars": [".-1.140042703640096", ".-2.140042703640096", ".-3.140042703640096"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640096"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140042703640096": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-2.140042703640096": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-3.140042703640096": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, "140042552898640": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640096"}, {"nodeId": ".-2.140042703640096"}, {"nodeId": ".-3.140042703640096"}]}, "140042703640544": {"type": "Function", "typeVars": [".-1.140042703640544", ".-2.140042703640544", ".-3.140042703640544", ".-4.140042703640544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640544"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140042703640544": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-2.140042703640544": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-3.140042703640544": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-4.140042703640544": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, "140042552898864": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640544"}, {"nodeId": ".-2.140042703640544"}, {"nodeId": ".-3.140042703640544"}, {"nodeId": ".-4.140042703640544"}]}, "140042703640992": {"type": "Function", "typeVars": [".-1.140042703640992", ".-2.140042703640992", ".-3.140042703640992", ".-4.140042703640992", ".-5.140042703640992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703640992"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552899088"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140042703640992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-2.140042703640992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-3.140042703640992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-4.140042703640992": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-5.140042703640992": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, "140042552899088": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640992"}, {"nodeId": ".-2.140042703640992"}, {"nodeId": ".-3.140042703640992"}, {"nodeId": ".-4.140042703640992"}, {"nodeId": ".-5.140042703640992"}]}, "140042703641440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140042703644576": {"type": "Function", "typeVars": [".-1.140042703644576"], "argTypes": [{"nodeId": ".-1.140042703644576"}], "returnType": {"nodeId": ".-1.140042703644576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703644576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703644576", "variance": "INVARIANT"}, "140042703645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735552", "args": [{"nodeId": ".1.140042577735552"}]}], "returnType": {"nodeId": ".1.140042577735552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577735552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735552", "variance": "COVARIANT"}, "140042577373424": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577373760": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577374096": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418336"}}], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042569418336": {"type": "TypeAlias", "target": {"nodeId": "140042577835088"}}, "140042577835088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577374768": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375104": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375440": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375776": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376112": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648160"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782775936"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577376112"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901328"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140042552901328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577376448": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376784": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577377120": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367904"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367680"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577377120"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901440"}, {"nodeId": "140042547806272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140042552901440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547806272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577377792": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378128": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378464": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641536": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641872": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577826912"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586368128"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369024"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586366112"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369136"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370368"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577826912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586368128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586369024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586366112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586369136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586370368": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577642208": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577642544": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577643216": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643552": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643888": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577644224": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377120"}], "isAbstract": false}, "140042577644896": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577645232": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378128"}], "isAbstract": false}, "140042577645568": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577645904": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646240": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646576": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577646912": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647248": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647584": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647920": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648256": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648592": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648928": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649264": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649600": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649936": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650272": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650608": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577650944": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577651280": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577641872"}], "isAbstract": false}, "140042577651616": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577651280"}], "isAbstract": false}, "140042577651952": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042577652288": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042547806384"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042547806384": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577652624": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649504"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042577652960": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649952"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042577654304": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577654976": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655312": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655648": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655984": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656320": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656656": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656992": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042578060880": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703954752"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["find_spec"]}, "140042703954752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060880"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565119536"}, {"nodeId": "140042565119648"}], "returnType": {"nodeId": "140042565119760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042565119536": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565119648": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042578054832": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833296"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544074752"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833856"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834080"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784672", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651808"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577833296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042544074752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833856": {"type": "Union", "items": [{"nodeId": "140042578054496"}, {"nodeId": "N"}]}, "140042578054496": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650464"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["load_module"]}, "140042715650464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042577834080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577834192": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573227936": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640205728"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527728"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527952"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245552"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245664"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523059680"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640206624"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041376"}, {"nodeId": "140042561041488"}, {"nodeId": "A"}, {"nodeId": "140042561041712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140042561041376": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042573228944": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640115968"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116416"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116864"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640117312"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561258432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042561258432": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042640117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042561041488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561041712": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569527728": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569527952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573245552": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042573245664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042523059680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561041824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561041824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640206624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715651360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565108000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140042565108000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042715651808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565119760": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042569344256": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544494880"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544495776"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496000"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496224"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578624"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578848"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579072"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579296"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579520"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579744"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579968"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580192"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580416"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580640"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580864"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544581536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544494880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565119984"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565119984": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120208"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120320"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120320": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120432"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120544": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120880": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120992"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120992": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121104": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121216"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121216": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121328"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121328": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121440": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121552": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544581536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121664": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569040272": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749715488"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042569040272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749715488": {"type": "Function", "typeVars": [".-1.140042749715488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042569040272"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042749715488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140042569040272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569040272", "variance": "COVARIANT"}, ".-1.140042749715488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749715488", "variance": "INVARIANT"}, "140042569344592": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544582656"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583104"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583328"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583552"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583776"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584000"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584224"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584448"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584672"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584896"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544585120"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544582656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121776"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121776": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121888"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121888": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122000": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122112"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122112": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122224": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122336": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122448": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122560": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122672"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122672": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122784": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544585120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122896": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569344928": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586464"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586688"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586912"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587136"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587360"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587584"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587808"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588032"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588256"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042569426064"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544586464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123120"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123120": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123232": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123792"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123904": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569426064": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042578061216": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569424832"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711606976"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569424832": {"type": "TypeAlias", "target": {"nodeId": "140042569770016"}}, "140042569770016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042711606976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569345264": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590272"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590496"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590720"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590944"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544590272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288112": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288224": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288336": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288448": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569345600": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544591168"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592288"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592512"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592736"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592960"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544591168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288560": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288784": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288896"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288896": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565289008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565289008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042578061552": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569773040"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430544"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430768"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572988480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569773040": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042569430544": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569430768": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042572988480": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042569345936": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435168"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435616"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042572988704"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042569524816"}]}], "isAbstract": false}, "140042539435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291584"}], "returnType": {"nodeId": "140042565291696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291584": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042569420128": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572989712": {"type": "Union", "items": [{"nodeId": "140042577221152"}, {"nodeId": "N"}]}, "140042577221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569427520": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042565291696": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042539435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291808"}], "returnType": {"nodeId": "140042565291920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291808": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042565291920": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572988704": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042569524816": {"type": "Union", "items": [{"nodeId": "140042552780032"}, {"nodeId": "N"}]}, "140042552780032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568801568": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042749963488": {"type": "Function", "typeVars": [".-1.140042749963488"], "argTypes": [{"nodeId": "140042568801568"}, {"nodeId": ".-1.140042749963488"}], "returnType": {"nodeId": ".-1.140042749963488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749963488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749963488", "variance": "INVARIANT"}, "140042568801904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042568801904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__next__"]}, "140042749963936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801904", "args": [{"nodeId": ".1.140042568801904"}]}], "returnType": {"nodeId": ".1.140042568801904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801904", "variance": "COVARIANT"}, "140042568802240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042568802240"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042749964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802240", "args": [{"nodeId": ".1.140042568802240"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042568802240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568802240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802240", "variance": "COVARIANT"}, "140042568803248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140042568803248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__le__"]}, "140042749965728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803248", "args": [{"nodeId": ".1.140042568803248"}]}, {"nodeId": ".1.140042568803248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803248", "variance": "CONTRAVARIANT"}, "140042568803584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140042568803584"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ge__"]}, "140042749966176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803584", "args": [{"nodeId": ".1.140042568803584"}]}, {"nodeId": ".1.140042568803584"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803584", "variance": "CONTRAVARIANT"}, "140042568803920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803248", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140042568804928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__sub__"]}, "140042749967520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804928", "args": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}]}, {"nodeId": ".1.140042568804928"}], "returnType": {"nodeId": ".2.140042568804928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "CONTRAVARIANT"}, ".2.140042568804928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "COVARIANT"}, "140042568805264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rsub__"]}, "140042749967968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805264", "args": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}]}, {"nodeId": ".1.140042568805264"}], "returnType": {"nodeId": ".2.140042568805264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "CONTRAVARIANT"}, ".2.140042568805264": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "COVARIANT"}, "140042568805600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706528"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__divmod__"]}, "140042749706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805600", "args": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}]}, {"nodeId": ".1.140042568805600"}], "returnType": {"nodeId": ".2.140042568805600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "CONTRAVARIANT"}, ".2.140042568805600": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "COVARIANT"}, "140042568805936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706976"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rdivmod__"]}, "140042749706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805936", "args": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}]}, {"nodeId": ".1.140042568805936"}], "returnType": {"nodeId": ".2.140042568805936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042568805936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "CONTRAVARIANT"}, ".2.140042568805936": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "COVARIANT"}, "140042568806272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707424"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042568806272"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042749707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806272", "args": [{"nodeId": ".1.140042568806272"}]}], "returnType": {"nodeId": ".1.140042568806272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806272", "variance": "COVARIANT"}, "140042568806608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707872"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042568806608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042749707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806608", "args": [{"nodeId": ".1.140042568806608"}]}], "returnType": {"nodeId": ".1.140042568806608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568806608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806608", "variance": "COVARIANT"}, "140042568807616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709664"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["items"]}, "140042749709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807616", "args": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042556831584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807616": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, ".2.140042568807616": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, "140042556831584": {"type": "Tuple", "items": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}, "140042568808288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140042749711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568808288": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "CONTRAVARIANT"}, ".2.140042568808288": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "COVARIANT"}, "140042749711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": ".1.140042568808288"}], "returnType": {"nodeId": ".2.140042568808288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712352"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "bases": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140042749711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042568808624": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "CONTRAVARIANT"}, ".2.140042568808624": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "INVARIANT"}, "140042749712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808960": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712800"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno"]}, "140042749712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808960"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568809632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713696"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809632", "args": [{"nodeId": ".1.140042568809632"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809632", "variance": "COVARIANT"}, "140042568809968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714144"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809968", "args": [{"nodeId": ".1.140042568809968"}]}], "returnType": {"nodeId": ".1.140042568809968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568809968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809968", "variance": "COVARIANT"}, "140042577738912": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749716608"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717504"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749716608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577739248": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719296"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719744"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720192"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721088"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720411712"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412160"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412608"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042749719296": {"type": "Function", "typeVars": [".-1.140042749719296"], "argTypes": [{"nodeId": ".-1.140042749719296"}], "returnType": {"nodeId": ".-1.140042749719296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042749719296": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749719296", "variance": "INVARIANT"}, "140042749719744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042749720192": {"type": "Function", "typeVars": [".-1.140042749720192"], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": ".-1.140042749720192"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042749720192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720192", "variance": "INVARIANT"}, "140042749720640": {"type": "Function", "typeVars": [".-1.140042749720640"], "argTypes": [{"nodeId": ".-1.140042749720640"}, {"nodeId": ".-1.140042749720640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749720640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720640", "variance": "INVARIANT"}, "140042749721088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720412160": {"type": "Function", "typeVars": [".-1.140042720412160"], "argTypes": [{"nodeId": ".-1.140042720412160"}, {"nodeId": ".-1.140042720412160"}], "returnType": {"nodeId": ".-1.140042720412160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412160": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412160", "variance": "INVARIANT"}, "140042720412608": {"type": "Function", "typeVars": [".-1.140042720412608"], "argTypes": [{"nodeId": ".-1.140042720412608"}, {"nodeId": ".-1.140042720412608"}], "returnType": {"nodeId": ".-1.140042720412608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412608": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412608", "variance": "INVARIANT"}, "140042578051472": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569767328"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547896256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720420224"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421120"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042569767328": {"type": "Overloaded", "items": [{"nodeId": "140042720418880"}, {"nodeId": "140042720419328"}]}, "140042720418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564615328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564615328": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042720419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042547896256": {"type": "Function", "typeVars": [".-1.140042547896256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042547896256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042547896256": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042547896256", "variance": "INVARIANT"}, "140042720420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720421120": {"type": "Function", "typeVars": [".-1.140042720421120"], "argTypes": [{"nodeId": ".-1.140042720421120"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042720421120"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042720421120": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720421120", "variance": "INVARIANT"}, "140042578051808": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577830832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831616"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577830832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042577831616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564607040"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564611184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140042564607040": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042564611184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720422016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720422464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578052480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832400"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720424704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720425152"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577832400": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564611968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140042564611968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720425152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042578053152": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548303840"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586373056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543688480"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715857632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715858080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824064"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042548303840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042564826528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564826528": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042586373056": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042543688480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548590208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715857632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042578053488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042564826976"}, {"nodeId": "140042564827088"}, {"nodeId": "140042564827200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140042564826976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042564827088": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042564827200": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042715858080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042564824064": {"type": "Overloaded", "items": [{"nodeId": "140042715858528"}, {"nodeId": "140042715858976"}]}, "140042715858528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "N"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042715858976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042782775936"}, {"nodeId": "140042564827760"}], "returnType": {"nodeId": "140042578056512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042564827760": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042578056512": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544086400"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218176"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218400"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218624"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218848"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544219072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091936"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111696": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042544218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111920": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042544218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042578056176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578056176": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716088352"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056176"}, {"nodeId": "140042565111472"}, {"nodeId": "140042565111584"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042565111472": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042565111584": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042544218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544219072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716091488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "140042577251680"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042577251680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042716091936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578054160": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649120"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650016"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042715648672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042715649120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715649568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042715650016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578055168": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544075872"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715654048"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824736"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}], "bases": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "isAbstract": false}, "140042544075872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042565108336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, ".2.140042578055168": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "CONTRAVARIANT"}, ".3.140042578055168": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, "140042565108336": {"type": "Union", "items": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715653152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715653600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715654048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": ".2.140042578055168"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564824736": {"type": "Overloaded", "items": [{"nodeId": "140042715654496"}, {"nodeId": "140042715654944"}]}, "140042715654496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "0"}, {"nodeId": "140042565108560"}, {"nodeId": "140042565108672"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108560": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565108672": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715654944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565108784"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578055504": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544079680"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715655840"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656288"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656736"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564827648"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658080"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658528"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}], "bases": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "isAbstract": false}, "140042544079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042565109008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "COVARIANT"}, ".2.140042578055504": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "CONTRAVARIANT"}, "140042565109008": {"type": "Union", "items": [{"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715655840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": ".2.140042578055504"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564827648": {"type": "Overloaded", "items": [{"nodeId": "140042577251232"}, {"nodeId": "140042715657184"}]}, "140042577251232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "0"}, {"nodeId": "140042565109680"}, {"nodeId": "140042565109792"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565109680": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565109792": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715657184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565110016"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565110016": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715658080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715658528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578055840": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544083040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715659872"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716086560"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716087008"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565109904"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}], "bases": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "isAbstract": false}, "140042544083040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042565110800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, ".2.140042578055840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "CONTRAVARIANT"}, ".3.140042578055840": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, "140042565110800": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042565110688"}]}, {"nodeId": "N"}]}, "140042565110688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042715659872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716086560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140042578055840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716087008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": ".2.140042578055840"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565109904": {"type": "Overloaded", "items": [{"nodeId": "140042716087456"}, {"nodeId": "140042716087904"}]}, "140042716087456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "0"}, {"nodeId": "140042565111136"}, {"nodeId": "140042565111248"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111136": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565111248": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042716087904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565111360"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578056848": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220192"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716093728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042565112592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565112592": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042578054832"}]}, "140042544220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716093728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578057184": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544221984"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222656"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095520"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095968"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716095520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716095968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042578057520": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224000"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224448"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224672"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098208"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716099104"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544224000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716098208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716098656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716099104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578057856": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544226912"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227360"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716100896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716101344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716100896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716101344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578058192": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544228704"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229152"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716201696"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202144"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544228704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716201696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716202144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578059200": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544300992"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301216"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209312"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209760"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716210208"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544300992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716209312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716209760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716210208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578059536": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544302560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303008"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212000"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212448"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212896"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544302560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716212000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716212448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716212896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578060208": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716334112"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716334112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643152": {"type": "Protocol", "module": "numpy.core.records", "simpleName": "_SupportsReadInto", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699305728"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306176"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306624"}, "name": "readinto"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readinto", "seek", "tell"]}, "140042699305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042699306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042699306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472901312": {"type": "Protocol", "module": "numpy.core.multiarray", "simpleName": "_SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367488"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042690367040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472901312": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "CONTRAVARIANT"}, ".2.140042472901312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "COVARIANT"}, "140042690367488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}, {"nodeId": ".1.140042472901312"}], "returnType": {"nodeId": ".2.140042472901312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472900640": {"type": "Protocol", "module": "numpy.core.numerictypes", "simpleName": "_CastFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208480"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042682208480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900640"}, {"nodeId": "140042460204496"}, {"nodeId": "140042460203600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "k"]}, "140042460204496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042460203600": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042468652560": {"type": "Concrete", "module": "numpy.core.numerictypes", "simpleName": "_typedict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042468652560"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "0"}, {"nodeId": ".1.140042468652560"}]}], "isAbstract": false}, "140042682208928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652560", "args": [{"nodeId": ".1.140042468652560"}]}, {"nodeId": "140042460205056"}], "returnType": {"nodeId": ".1.140042468652560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042468652560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468652560", "variance": "INVARIANT"}, "140042460205056": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042472900304": {"type": "Protocol", "module": "numpy.lib.arraypad", "simpleName": "_ModeFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vector", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis_pad_width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042686225024"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042686225024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900304"}, {"nodeId": "0"}, {"nodeId": "140042460158704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, "140042460158704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042472899632": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_TrimZerosSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560384"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560832"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042472899632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__iter__", "__len__"]}, "140042682560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472899632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899632", "variance": "COVARIANT"}, "140042682560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".1.140042472899632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472899968": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_SupportsWriteFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561728"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682562176"}, "name": "flush"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["flush", "write"]}, "140042682561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667648": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "nd_grid", "members": [{"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472667648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678103488"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798480"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472667648"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472667648": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472667648", "variance": "INVARIANT"}, "140042678103488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": ".1.140042472667648"}]}, {"nodeId": ".1.140042472667648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sparse"]}, "140042459798480": {"type": "Overloaded", "items": [{"nodeId": "140042464833632"}, {"nodeId": "140042678104384"}]}, "140042464833632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459800832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459800832": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042678104384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459801280"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459801280": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042472667984": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "MGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678104832"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678104832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668320": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "OGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678105280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668656": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "AxisConcatenator", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105728"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798368"}, "items": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "concatenate"}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042438864096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678107520"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042678105728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "matrix", "ndmin", "trans1d"]}, "140042459798368": {"type": "Overloaded", "items": [{"nodeId": "140042464832064"}, {"nodeId": "140042678106624"}]}, "140042464832064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801952"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459801952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042678106624": {"type": "Function", "typeVars": [".-1.140042678106624"], "argTypes": [{"nodeId": "140042459802512"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042678106624"}], "returnType": {"nodeId": ".-1.140042678106624"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459802512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042678106624": {"type": "TypeVar", "varName": "_ArrayType", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042678106624", "variance": "INVARIANT"}, "140042438864096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801840"}, {"nodeId": "140042459802624"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["data", "dtype", "copy"]}, "140042459801840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042459802624": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042678107520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472898624": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "RClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630208"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472898960": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "CClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630656"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472899296": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "IndexExpression", "members": [{"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472899296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682631104"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042472448720"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472899296"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472899296": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899296", "variance": "INVARIANT"}, "140042682631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".1.140042472899296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "maketuple"]}, "140042472448720": {"type": "Overloaded", "items": [{"nodeId": "140042682631552"}, {"nodeId": "140042682632000"}, {"nodeId": "140042682632448"}]}, "140042682631552": {"type": "Function", "typeVars": [".-1.140042682631552"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".-1.140042682631552"}], "returnType": {"nodeId": ".-1.140042682631552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682631552": {"type": "TypeVar", "varName": "_TupType", "values": [], "upperBound": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "def": "140042682631552", "variance": "INVARIANT"}, "140042682632000": {"type": "Function", "typeVars": [".-1.140042682632000"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632000"}], "returnType": {"nodeId": "140042459802736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632000": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632000", "variance": "INVARIANT"}, "140042459802736": {"type": "Tuple", "items": [{"nodeId": ".-1.140042682632000"}]}, "140042682632448": {"type": "Function", "typeVars": [".-1.140042682632448"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632448"}], "returnType": {"nodeId": ".-1.140042682632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632448", "variance": "INVARIANT"}, "140042472665632": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682635584"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042682635584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665632", "args": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}]}, {"nodeId": ".1.140042472665632"}], "returnType": {"nodeId": ".2.140042472665632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472665632": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "CONTRAVARIANT"}, ".2.140042472665632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "COVARIANT"}, "140042472665968": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636032"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042472665968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042682636032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665968", "args": [{"nodeId": ".1.140042472665968"}]}], "returnType": {"nodeId": ".1.140042472665968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472665968": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665968", "variance": "COVARIANT"}, "140042472666304": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsReadSeek", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636480"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636928"}, "name": "seek"}], "typeVars": [{"nodeId": ".1.140042472666304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek"]}, "140042682636480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042472666304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666304": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666304", "variance": "COVARIANT"}, "140042682636928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042472666640": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637376"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472666640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042682637376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666640", "args": [{"nodeId": ".1.140042472666640"}]}, {"nodeId": ".1.140042472666640"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666640": {"type": "TypeVar", "varName": "_CharType_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666640", "variance": "CONTRAVARIANT"}, "140042472666976": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "BagObj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638272"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638720"}, "name": "__dir__"}], "typeVars": [{"nodeId": ".1.140042472666976"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042682637824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042472665632", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042472666976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666976", "variance": "COVARIANT"}, "140042682638272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042472666976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682638720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667312": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "NpzFile", "members": [{"kind": "Variable", "name": "zip", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498339024"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472446144"}}, {"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472445920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459708240"}, "items": [{"kind": "Variable", "name": "f", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443838784"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "own_fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641856"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642304"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682643200"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}], "isAbstract": false}, "140042498339024": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipFile", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115904"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "filelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "fp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117024"}}, {"kind": "Variable", "name": "NameToInfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117136"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117248"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict_timestamps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636071136"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631715680"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072928"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073376"}, "name": "getinfo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073824"}, "name": "infolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074272"}, "name": "namelist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074720"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075168"}, "name": "extract"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "members", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075616"}, "name": "extractall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076064"}, "name": "printdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076512"}, "name": "setpassword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076960"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077408"}, "name": "testzip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077856"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zinfo_or_arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636078304"}, "name": "writestr"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485115904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498339696": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipInfo", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117808"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "create_system", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "create_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "extract_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reserved", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "flag_bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "volume", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "internal_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "external_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "header_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "CRC", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compress_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "orig_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636080096"}, "name": "__init__"}, {"kind": "Variable", "name": "from_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485361888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081440"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081888"}, "name": "FileHeader"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485117808": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485108288": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042636080096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "date_time"]}, "140042485616640": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485361888": {"type": "Function", "typeVars": [".-1.140042485361888"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042485616304"}, {"nodeId": "140042485616752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042485361888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "filename", "arcname", "strict_timestamps"]}, "140042485616304": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042568894160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042485616752": {"type": "Union", "items": [{"nodeId": "140042485616416"}, {"nodeId": "N"}]}, "140042485616416": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042485361888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042485361888", "variance": "INVARIANT"}, "140042636081440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636081888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042485616864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "zip64"]}, "140042485616864": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042485117024": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485117136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485117248": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485116912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485117472": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636071136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485120832"}, {"nodeId": "140042485612608"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485612720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "compresslevel", "strict_timestamps"]}, "140042485120832": {"type": "Union", "items": [{"nodeId": "140042485120720"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485120720": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485612608": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485612720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042631715680": {"type": "Function", "typeVars": [".-1.140042631715680"], "argTypes": [{"nodeId": ".-1.140042631715680"}], "returnType": {"nodeId": ".-1.140042631715680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042631715680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042631715680", "variance": "INVARIANT"}, "140042636072480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613056"}, {"nodeId": "140042485613168"}, {"nodeId": "140042485612832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042485613056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485613168": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042485612832": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042636072928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636073376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498339696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042636073824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485612944"}, {"nodeId": "140042485613280"}, {"nodeId": "140042485613392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "mode", "pwd", "force_zip64"]}, "140042485612944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613280": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485613392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613504"}, {"nodeId": "140042485613728"}, {"nodeId": "140042485613840"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "member", "path", "pwd"]}, "140042485613504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613728": {"type": "Union", "items": [{"nodeId": "140042485613616"}, {"nodeId": "N"}]}, "140042485613616": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485613840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614064"}, {"nodeId": "140042485614288"}, {"nodeId": "140042485614400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "members", "pwd"]}, "140042485614064": {"type": "Union", "items": [{"nodeId": "140042485613952"}, {"nodeId": "N"}]}, "140042485613952": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485614288": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042485614176"}]}, {"nodeId": "N"}]}, "140042485614176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614400": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636076064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "file"]}, "140042485614512": {"type": "Union", "items": [{"nodeId": "140042498338688"}, {"nodeId": "N"}]}, "140042498338688": {"type": "Protocol", "module": "zipfile", "simpleName": "_Writer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069792"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042636069792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338688"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042636076512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pwd"]}, "140042636076960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614624"}, {"nodeId": "140042485614736"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "pwd"]}, "140042485614624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614736": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636077408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042485614848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485614848": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636077856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614960"}, {"nodeId": "140042485615184"}, {"nodeId": "140042485615296"}, {"nodeId": "140042485615408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "arcname", "compress_type", "compresslevel"]}, "140042485614960": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615184": {"type": "Union", "items": [{"nodeId": "140042485615072"}, {"nodeId": "N"}]}, "140042485615072": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636078304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485615520"}, {"nodeId": "140042485615744"}, {"nodeId": "140042485615856"}, {"nodeId": "140042485615968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "zinfo_or_arcname", "data", "compress_type", "compresslevel"]}, "140042485615520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485615744": {"type": "Union", "items": [{"nodeId": "140042485615632"}, {"nodeId": "140042577367376"}]}, "140042485615632": {"type": "TypeAlias", "target": {"nodeId": "140042569011312"}}, "140042569011312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042485615856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042472446144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}]}, "140042472445920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042459708240": {"type": "Overloaded", "items": [{"nodeId": "140042682639168"}]}, "140042682639168": {"type": "Function", "typeVars": [".-1.140042682639168"], "argTypes": [{"nodeId": ".-1.140042682639168"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042682639168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042682639168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682639168", "variance": "INVARIANT"}, "140042443838784": {"type": "Function", "typeVars": [".-1.140042443838784"], "argTypes": [{"nodeId": ".-1.140042443838784"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042443838784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042443838784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042443838784", "variance": "INVARIANT"}, "140042682640064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042459728016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "own_fid", "allow_pickle", "pickle_kwargs"]}, "140042459728016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042682640512": {"type": "Function", "typeVars": [".-1.140042682640512"], "argTypes": [{"nodeId": ".-1.140042682640512"}], "returnType": {"nodeId": ".-1.140042682640512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042682640512": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682640512", "variance": "INVARIANT"}, "140042682640960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042459728128"}, {"nodeId": "140042459728240"}, {"nodeId": "140042459728352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042459728128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042459728240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042459728352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042682641408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042682641856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682643200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472664288": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayWrap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678641920"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678641920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664288"}, {"nodeId": "0"}, {"nodeId": "140042464814560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464814560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464814448"}]}, "140042464814448": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664624": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayPrepare", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678642368"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678642368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664624"}, {"nodeId": "0"}, {"nodeId": "140042464815344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464815344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464815232"}]}, "140042464815232": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664960": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayWrap", "members": [{"kind": "Variable", "name": "__array_wrap__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443617696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_wrap__"]}, "140042443617696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664960"}], "returnType": {"nodeId": "140042472664288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472665296": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayPrepare", "members": [{"kind": "Variable", "name": "__array_prepare__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443640384"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_prepare__"]}, "140042443640384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665296"}], "returnType": {"nodeId": "140042472664624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472663952": {"type": "Concrete", "module": "numpy.lib.stride_tricks", "simpleName": "DummyArray", "members": [{"kind": "Variable", "name": "__array_interface__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463973936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interface", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678774560"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042463973936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042678774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663952"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042464809968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "interface", "base"]}, "140042464809968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042472663280": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443461504"}}], "typeVars": [{"nodeId": ".1.140042472663280"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042443461504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663280", "args": [{"nodeId": ".1.140042472663280"}]}], "returnType": {"nodeId": ".1.140042472663280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663280", "variance": "COVARIANT"}, "140042472663616": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443459936"}}], "typeVars": [{"nodeId": ".1.140042472663616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042443459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663616", "args": [{"nodeId": ".1.140042472663616"}]}], "returnType": {"nodeId": ".1.140042472663616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663616", "variance": "COVARIANT"}, "140042472662608": {"type": "Protocol", "module": "numpy.lib.utils", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071456"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472662608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042674071456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662608", "args": [{"nodeId": ".1.140042472662608"}]}, {"nodeId": ".1.140042472662608"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472662608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472662608", "variance": "CONTRAVARIANT"}, "140042472662944": {"type": "Concrete", "module": "numpy.lib.utils", "simpleName": "_Deprecate", "members": [{"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472444016"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441104"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674072352"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472444016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674071904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": "140042464606720"}, {"nodeId": "140042464606832"}, {"nodeId": "140042464606944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "old_name", "new_name", "message"]}, "140042464606720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674072352": {"type": "Function", "typeVars": [".-1.140042674072352"], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": ".-1.140042674072352"}], "returnType": {"nodeId": ".-1.140042674072352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042674072352": {"type": "TypeVar", "varName": "_FuncType", "values": [], "upperBound": {"nodeId": "140042472582368"}, "def": "140042674072352", "variance": "INVARIANT"}, "140042472582368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042472658240": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArrayFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722624"}, "name": "__array_function__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_function__"]}, "140042631722624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472658240"}, {"nodeId": "140042472554784"}, {"nodeId": "140042782784000", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042472554784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042480728240": {"type": "Concrete", "module": "numpy._typing._generic_alias", "simpleName": "_GenericAlias", "members": [{"kind": "Variable", "name": "__slots__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598967872"}}, {"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504256"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481503360"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504704"}}, {"kind": "Variable", "name": "__unpacked__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481516128"}}, {"kind": "Variable", "name": "__typing_unpacked_tuple_args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481515904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640636640"}, "name": "__init__"}, {"kind": "Variable", "name": "__call__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481513216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640637536"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884000"}, "name": "__mro_entries__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884448"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884896"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886240"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887136"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887584"}, "name": "__iter__"}, {"kind": "Variable", "name": "_ATTR_EXCEPTIONS", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640888032"}, "name": "__getattribute__"}, {"kind": "Variable", "name": "_origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}, {"kind": "Variable", "name": "_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598969888"}}, {"kind": "Variable", "name": "_parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}}, {"kind": "Variable", "name": "_starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042598967872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042481504256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481504704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481515904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042464499792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464499792": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042640636640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}, {"nodeId": "140042464499904"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "origin", "args", "starred"]}, "140042464499904": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042481513216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640637536": {"type": "Function", "typeVars": [".-1.140042640637536"], "argTypes": [{"nodeId": ".-1.140042640637536"}], "returnType": {"nodeId": "140042464501024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042640637536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640637536", "variance": "INVARIANT"}, "140042464501024": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042464500800"}]}, "140042464500800": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782776944"}]}, "140042640884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042464501360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bases"]}, "140042464501360": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042640884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042640886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640886688": {"type": "Function", "typeVars": [".-1.140042640886688"], "argTypes": [{"nodeId": ".-1.140042640886688"}, {"nodeId": "140042464501584"}], "returnType": {"nodeId": ".-1.140042640886688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042640886688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640886688", "variance": "INVARIANT"}, "140042464501584": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042640887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640887584": {"type": "Function", "typeVars": [".-1.140042640887584"], "argTypes": [{"nodeId": ".-1.140042640887584"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042640887584"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042640887584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640887584", "variance": "INVARIANT"}, "140042640888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042598969888": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042472658912": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472658912"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "_ndim_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463974160"}}, {"kind": "Variable", "name": "_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463977072"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464507408"}, "items": [{"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "from_param"}], "typeVars": [{"nodeId": ".1.140042472658912"}], "bases": [{"nodeId": "140042573914384"}], "isAbstract": false}, ".1.140042472658912": {"type": "TypeVar", "varName": "_DTypeOptional", "values": [], "upperBound": {"nodeId": "140042463970576"}, "def": "140042472658912", "variance": "INVARIANT"}, "140042463970576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "140042463974160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042463977072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042472440656"}]}]}, "140042472440656": {"type": "TypeAlias", "target": {"nodeId": "140042472443568"}}, "140042472443568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042464507408": {"type": "Overloaded", "items": [{"nodeId": "140042674196032"}, {"nodeId": "140042674196480"}]}, "140042674196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042674196480": {"type": "Function", "typeVars": [".-1.140042674196480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042674196480"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, ".-1.140042674196480": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042674196480", "variance": "INVARIANT"}, "140042472659248": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_concrete_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472659248"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "contents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506162624"}}], "typeVars": [{"nodeId": ".1.140042472659248"}], "bases": [{"nodeId": "140042472658912", "args": [{"nodeId": ".1.140042472659248"}]}], "isAbstract": false}, ".1.140042472659248": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472659248", "variance": "INVARIANT"}, "140042506162624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472659248", "args": [{"nodeId": ".1.140042472659248"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472659248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498331296": {"type": "Concrete", "module": "numpy.lib._version", "simpleName": "NumpyVersion", "members": [{"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "major", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "minor", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "bugfix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pre_release", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "is_devversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627584896"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585344"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585792"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586688"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587136"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587584"}, "name": "__ge__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042627584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "vstring"]}, "140042627585344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493989872"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493989872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627585792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995360"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995360": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042468642816": {"type": "Concrete", "module": "numpy.linalg", "simpleName": "LinAlgError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472652864": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MAError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472653200": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472652864"}], "isAbstract": false}, "140042468650544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArray", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632784"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633056"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633328"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633600"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633872"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623634144"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504720"}, "items": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108704"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dtype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464503488"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109376"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623635504"}, "name": "__setmask__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504272"}, "items": [{"kind": "Variable", "name": "mask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109600"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mask"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504048"}, "items": [{"kind": "Variable", "name": "recordmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108032"}}, {"kind": "Variable", "name": "recordmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "recordmask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623636864"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637136"}, "name": "soften_mask"}, {"kind": "Variable", "name": "hardmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493516640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637680"}, "name": "unshare_mask"}, {"kind": "Variable", "name": "sharedmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494106912"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623638224"}, "name": "shrink_mask"}, {"kind": "Variable", "name": "baseclass", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042472562400"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504832"}, "items": [{"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042640633056"}}, {"kind": "Variable", "name": "flat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "flat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464505056"}, "items": [{"kind": "Variable", "name": "fill_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493519552"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fill_value"}, {"kind": "Variable", "name": "get_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623639856"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640128"}, "name": "compressed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "condition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640400"}, "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640672"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640944"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641488"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641760"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642032"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642304"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642576"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642848"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643120"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643392"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643664"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643936"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644208"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644480"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644752"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645024"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645296"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645568"}, "name": "__idiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645840"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646112"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646384"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646656"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646928"}, "name": "__int__"}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506823360"}}, {"kind": "Variable", "name": "get_imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493513056"}}, {"kind": "Variable", "name": "get_real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795264"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795536"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795808"}, "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796080"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796352"}, "name": "put"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796624"}, "name": "ids"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796896"}, "name": "iscontiguous"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797168"}, "name": "all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797440"}, "name": "any"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797712"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797984"}, "name": "trace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798256"}, "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798528"}, "name": "sum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798800"}, "name": "cumsum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799072"}, "name": "prod"}, {"kind": "Variable", "name": "product", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799344"}, "name": "cumprod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799616"}, "name": "mean"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799888"}, "name": "anom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800160"}, "name": "var"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800432"}, "name": "std"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decimals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800704"}, "name": "round"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800976"}, "name": "argsort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801248"}, "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801520"}, "name": "argmax"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801792"}, "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802064"}, "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802336"}, "name": "max"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802608"}, "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802880"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803152"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803424"}, "name": "take"}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "diagonal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flatten", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "squeeze", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "swapaxes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803696"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803968"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804240"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804512"}, "name": "toflex"}, {"kind": "Variable", "name": "torecords", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804784"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805056"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "isAbstract": false}, "140042623632784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "data", "mask", "dtype", "copy", "subok", "ndmin", "fill_value", "keep_mask", "hard_mask", "shrink", "order"]}, "140042623633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623633328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623633600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type", "fill_value"]}, "140042623633872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623634144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042464504720": {"type": "Overloaded", "items": [{"nodeId": "140042472562624"}]}, "140042472562624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650544": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650544", "variance": "INVARIANT"}, ".2.140042468650544": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650544", "variance": "COVARIANT"}, "140042494108704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464503488": {"type": "Overloaded", "items": [{"nodeId": "140042472561280"}]}, "140042472561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623635504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mask", "copy"]}, "140042464504272": {"type": "Overloaded", "items": [{"nodeId": "140042472555904"}]}, "140042472555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504048": {"type": "Overloaded", "items": [{"nodeId": "140042472555456"}]}, "140042472555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494106912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623638224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472562400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504832": {"type": "Overloaded", "items": [{"nodeId": "140042472558592"}]}, "140042472558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464505056": {"type": "Overloaded", "items": [{"nodeId": "140042472555232"}]}, "140042472555232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493519552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623639856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623640128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623640400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "condition", "axis", "out"]}, "140042623640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623640944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623643120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623646928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506823360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623795264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "keepdims"]}, "140042623795536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042623795808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "s", "kwargs"]}, "140042623796080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "newshape", "refcheck", "order"]}, "140042623796352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "indices", "values", "mode"]}, "140042623796624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623796896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042623798256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "b", "out", "strict"]}, "140042623798528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623798800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype"]}, "140042623800160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, "140042623800976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623801248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623802064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042623803696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623803968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fill_value", "order"]}, "140042623804240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042623804512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623804784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623805056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "memo"]}, "140042468650880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "mvoid", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hardmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805328"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805872"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806144"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806416"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806688"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806960"}, "name": "tolist"}], "typeVars": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}]}], "isAbstract": false}, "140042623805328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "mask", "dtype", "fill_value", "hardmask", "copy", "subok"]}, "140042623805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623805872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623806144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623806960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650880": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650880", "variance": "INVARIANT"}, ".2.140042468650880": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650880", "variance": "COVARIANT"}, "140042468642144": {"type": "Concrete", "module": "numpy.polynomial.chebyshev", "simpleName": "Chebyshev", "members": [{"kind": "Variable", "name": "interpolate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042400962976"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042400962976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "func", "deg", "domain", "args"]}, "140042498326928": {"type": "Concrete", "module": "numpy.polynomial._polybase", "simpleName": "ABCPolyBase", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "maxpower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477536"}}, {"kind": "Variable", "name": "domain", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497476416"}}, {"kind": "Variable", "name": "window", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477088"}}, {"kind": "Variable", "name": "basis_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042606537952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607216832"}, "name": "has_samecoef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217104"}, "name": "has_samedomain"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217376"}, "name": "has_samewindow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217648"}, "name": "has_sametype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606531232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt_str", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218192"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218464"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219280"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219824"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220096"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220368"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220640"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220912"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221456"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221728"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222272"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222544"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222816"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223088"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223360"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223632"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223904"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224176"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224720"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224992"}, "name": "degree"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "deg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225264"}, "name": "cutdeg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225536"}, "name": "trim"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225808"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226080"}, "name": "convert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226352"}, "name": "mapparms"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lbnd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226624"}, "name": "integ"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226896"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227168"}, "name": "roots"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227440"}, "name": "linspace"}, {"kind": "Variable", "name": "fit", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585717920"}}, {"kind": "Variable", "name": "fromroots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373856"}}, {"kind": "Variable", "name": "identity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497482016"}}, {"kind": "Variable", "name": "basis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497480000"}}, {"kind": "Variable", "name": "cast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497479776"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042497477536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497476416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497477088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606537952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607216832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042606531232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "coef", "domain", "window", "symbol"]}, "140042607218192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt_str"]}, "140042607218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042607218736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607224176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607224992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607225264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "deg"]}, "140042607225536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tol"]}, "140042607225808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "size"]}, "140042607226080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "domain", "kind", "window"]}, "140042607226352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k", "lbnd"]}, "140042607226896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042607227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607227440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "n", "domain"]}, "140042585717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "x", "y", "deg", "domain", "rcond", "full", "w", "window"]}, "140042548373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "roots", "domain", "window"]}, "140042497482016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "domain", "window"]}, "140042497480000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "deg", "domain", "window"]}, "140042497479776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "series", "domain", "window"]}, "140042577724464": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468641808": {"type": "Concrete", "module": "numpy.polynomial.hermite", "simpleName": "Hermite", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641472": {"type": "Concrete", "module": "numpy.polynomial.hermite_e", "simpleName": "HermiteE", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641136": {"type": "Concrete", "module": "numpy.polynomial.laguerre", "simpleName": "Laguerre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640800": {"type": "Concrete", "module": "numpy.polynomial.legendre", "simpleName": "Legendre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640464": {"type": "Concrete", "module": "numpy.polynomial.polynomial", "simpleName": "Polynomial", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468648192": {"type": "Concrete", "module": "numpy.random._generator", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370624"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371072"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371520"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371968"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623372416"}, "name": "__reduce__"}, {"kind": "Variable", "name": "bit_generator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398932480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623373312"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506481760"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506482096"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506472912"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363488"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363376"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468767808"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506222640"}, "items": [{"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506221408"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506355536"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506208752"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506076560"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505952096"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950640"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950416"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505948848"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468768816"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945712"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505946384"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769488"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890736"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890064"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945376"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510887936"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510888160"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510886592"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878640"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510879536"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878752"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769600"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878864"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042515069664"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514676672"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514672640"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514670960"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469016736"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514665920"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077440"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077888"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "colors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "nsample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078336"}, "name": "multivariate_hypergeometric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078784"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079232"}, "name": "permuted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079680"}, "name": "shuffle"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623370176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042468640128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bit_generator"]}, "140042468640128": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "BitGenerator", "members": [{"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569642528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162208"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624163104"}, "name": "__reduce__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468603072"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401019968"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468602960"}, "items": [{"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cnt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624165792"}, "name": "_benchmark"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020192"}}, {"kind": "Variable", "name": "cffi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020864"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042569642528": {"type": "Concrete", "module": "threading", "simpleName": "Lock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152032"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152928"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153376"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153824"}, "name": "locked"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607152032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607152480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042497588944"}, {"nodeId": "140042497589056"}, {"nodeId": "140042497900608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497588944": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497589056": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900608": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607152928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607153376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607153824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447463120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042447463120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447461104"}, {"nodeId": "140042468639792"}]}, "140042447461104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468639792": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedSequence", "members": [{"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468601056"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pool", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468601952"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159520"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159968"}, "name": "__repr__"}, {"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401017952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624160864"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161312"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042468601056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}]}, "140042468601952": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042624159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042447462000"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "entropy", "spawn_key", "pool_size", "n_children_spawned"]}, "140042447462000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042447460992"}]}, "140042447460992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042401017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042447460768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447460768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447462112"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447461664"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447462112": {"type": "Union", "items": [{"nodeId": "140042447461776"}, {"nodeId": "140042447460880"}]}, "140042447461776": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042464276688": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468589856"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590192"}]}]}, {"nodeId": "0"}, {"nodeId": "140042464277136"}]}, "140042468589856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042468590192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042464277136": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042447460880": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042464276912": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590304"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468594112"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468594448"}]}, "140042468590304": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594112": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594448": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042447461664": {"type": "Union", "items": [{"nodeId": "140042447462224"}, {"nodeId": "140042447461552"}]}, "140042447462224": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042468639792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, "140042468639120": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISpawnableSeedSequence", "members": [{"kind": "Variable", "name": "spawn", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401014368"}}], "typeVars": [], "bases": [{"nodeId": "140042468638784"}], "isAbstract": true}, "140042401014368": {"type": "Function", "typeVars": [".-1.140042401014368"], "argTypes": [{"nodeId": ".-1.140042401014368"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042401014368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042401014368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042401014368", "variance": "INVARIANT"}, "140042468638784": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISeedSequence", "members": [{"kind": "Variable", "name": "generate_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401013696"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042401013696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468638784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447459760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460208"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447459760": {"type": "Union", "items": [{"nodeId": "140042447459536"}, {"nodeId": "140042447459648"}]}, "140042447459536": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447459648": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460208": {"type": "Union", "items": [{"nodeId": "140042447459984"}, {"nodeId": "140042447460096"}]}, "140042447459984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447460096": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447463008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447463008": {"type": "Tuple", "items": [{"nodeId": "140042447190528"}, {"nodeId": "140042447463232"}, {"nodeId": "140042447462672"}]}, "140042447190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447463232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042447462672": {"type": "Tuple", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042468603072": {"type": "Overloaded", "items": [{"nodeId": "140042624163552"}]}, "140042624163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042401019968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468602960": {"type": "Overloaded", "items": [{"nodeId": "140042624164448"}, {"nodeId": "140042624164896"}, {"nodeId": "140042624165344"}]}, "140042624164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042624164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447464464"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447464800"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447464464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447464800": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447465248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447465248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447465136"}]}, "140042447465136": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042624165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cnt", "method"]}, "140042401020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465472": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042468597920": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "140042401020864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465584": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042623370624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623371968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042623372416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042506478736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506478736": {"type": "Tuple", "items": [{"nodeId": "140042477003136"}, {"nodeId": "140042506480864"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042477003136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468648192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506480864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042398932480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623373312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042506481760": {"type": "Overloaded", "items": [{"nodeId": "140042623373760"}, {"nodeId": "140042623374208"}, {"nodeId": "140042623374656"}, {"nodeId": "140042623375104"}, {"nodeId": "140042623375552"}]}, "140042623373760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506478176"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506478176": {"type": "Union", "items": [{"nodeId": "140042506478624"}, {"nodeId": "140042506478512"}]}, "140042506478624": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042468760976": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468766688"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762992"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468758960"}, {"nodeId": "140042468761088"}]}, "140042468766688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468762992": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468758960": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042468761088": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042506478512": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042468760528": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468767360"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762880"}]}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042468767248"}, {"nodeId": "140042468767136"}]}, "140042468767360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468762880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767248": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042468767136": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042623374208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478960"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506477280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506478960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623374656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506476832"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478400"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506476832": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506478400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623375104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477056"}, {"nodeId": "140042506476608"}, {"nodeId": "140042506475264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475488"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506477056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506476608": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506475264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475600"}]}]}]}, "140042506475600": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506475488": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623375552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472576"}, {"nodeId": "140042506477392"}, {"nodeId": "140042506473472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474368"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506472576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506477392": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506473472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506473696"}]}]}]}, "140042506473696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506474368": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506482096": {"type": "Overloaded", "items": [{"nodeId": "140042623376000"}, {"nodeId": "140042623376448"}]}, "140042623376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474144"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506474144": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042623376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506472352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506472912": {"type": "Overloaded", "items": [{"nodeId": "140042623376896"}, {"nodeId": "140042623377344"}, {"nodeId": "140042623377792"}, {"nodeId": "140042623378240"}, {"nodeId": "140042623378688"}, {"nodeId": "140042623379136"}]}, "140042623376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506364384"}, {"nodeId": "140042506370208"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506364384": {"type": "Union", "items": [{"nodeId": "140042506471232"}, {"nodeId": "140042506470336"}]}, "140042506471232": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506470336": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506370208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042623377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506365840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506368752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506368416"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506369648"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506368416": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506369648": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368864"}, {"nodeId": "140042506367184"}, {"nodeId": "140042506366960"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506366736"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "method", "out"]}, "140042506368864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506367184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506366960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506367072"}]}]}]}, "140042506367072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506366736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506366400"}, {"nodeId": "140042506366176"}, {"nodeId": "140042506364608"}, {"nodeId": "140042506356208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506366400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506366176": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506364608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506356208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363824"}]}]}]}, "140042506363824": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506363936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506363712"}, {"nodeId": "140042506365952"}, {"nodeId": "140042506362592"}, {"nodeId": "140042506363040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506361920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506363712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365952": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506362592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506363040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363264"}]}]}]}, "140042506363264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506361920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363488": {"type": "Overloaded", "items": [{"nodeId": "140042623379584"}, {"nodeId": "140042623380032"}, {"nodeId": "140042623380480"}, {"nodeId": "140042623380928"}, {"nodeId": "140042623381376"}]}, "140042623379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506361696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506361696": {"type": "Union", "items": [{"nodeId": "140042506361808"}, {"nodeId": "140042506362032"}]}, "140042506361808": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506362032": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042623380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360800"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360352"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506360800": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506361472"}, {"nodeId": "140042506359232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360688"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "out"]}, "140042506361472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359904"}]}]}]}, "140042506359904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506360464"}, {"nodeId": "140042506359008"}, {"nodeId": "140042506359680"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506358560"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506360464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359008": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506359680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360576"}]}]}]}, "140042506360576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506358560": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506356320"}, {"nodeId": "140042506355312"}, {"nodeId": "140042506354752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506354976"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506356320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506355312": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506354752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359456"}]}]}]}, "140042506359456": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506354976": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363376": {"type": "Overloaded", "items": [{"nodeId": "140042623381824"}, {"nodeId": "140042623382272"}]}, "140042623381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042623382272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506222976"}, {"nodeId": "140042506223088"}, {"nodeId": "140042506221968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042506222976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506223088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506221968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506223200"}]}, "140042506223200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767808": {"type": "Overloaded", "items": [{"nodeId": "140042623382720"}, {"nodeId": "140042623383168"}]}, "140042623382720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042623383168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220736"}, {"nodeId": "140042506222528"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221520"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042506220736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506222528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506222304"}]}, "140042506222304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506222640": {"type": "Overloaded", "items": [{"nodeId": "140042623383616"}, {"nodeId": "140042623384064"}, {"nodeId": "140042623384512"}, {"nodeId": "140042623384960"}, {"nodeId": "140042619633728"}, {"nodeId": "140042619634176"}, {"nodeId": "140042619634624"}, {"nodeId": "140042619635072"}, {"nodeId": "140042619635520"}, {"nodeId": "140042619635968"}, {"nodeId": "140042619636416"}, {"nodeId": "140042619636864"}, {"nodeId": "140042619637312"}, {"nodeId": "140042619637760"}, {"nodeId": "140042619638208"}]}, "140042623383616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506222864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042506222864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042623384064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506221744"}, {"nodeId": "N"}, {"nodeId": "140042506221072"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506221744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506221072": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042469026816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469026928"}]}, "140042469026928": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042623384512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506219952"}, {"nodeId": "N"}, {"nodeId": "140042506219616"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506219952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506219616": {"type": "Union", "items": [{"nodeId": "140042506221184"}, {"nodeId": "140042506221296"}]}, "140042506221184": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042464338752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469024800"}, {"nodeId": "140042469023680"}, {"nodeId": "140042469023792"}, {"nodeId": "140042469027040"}, {"nodeId": "140042469024352"}, {"nodeId": "140042469027264"}, {"nodeId": "140042469025920"}, {"nodeId": "140042464338416"}, {"nodeId": "140042464338528"}, {"nodeId": "140042464338640"}]}, "140042469024800": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042469023680": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042469023792": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042469027040": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042469024352": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042469027264": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042469025920": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042464338416": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042464338528": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042464338640": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042506221296": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042464338304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042464335952"}, {"nodeId": "140042464335728"}, {"nodeId": "140042464335840"}, {"nodeId": "140042464336176"}, {"nodeId": "140042464336624"}, {"nodeId": "140042464336288"}, {"nodeId": "140042464336400"}, {"nodeId": "140042464337968"}, {"nodeId": "140042464338080"}, {"nodeId": "140042464338192"}]}, "140042464335952": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042464335728": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042464335840": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042464336176": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042464336624": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042464336288": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042464336400": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042464337968": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042464338080": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042464338192": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042623384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506219168"}, {"nodeId": "140042506220288"}, {"nodeId": "140042506219504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506219728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042506219168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506217712"}]}, "140042506217712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506219504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506216928"}]}, "140042506216928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506219728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619633728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220512"}, {"nodeId": "140042506220624"}, {"nodeId": "140042506216704"}, {"nodeId": "140042506220400"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506220512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506219840"}]}, "140042506219840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214016"}]}, "140042506214016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506220400": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042619634176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506218608"}, {"nodeId": "140042506216480"}, {"nodeId": "140042506216256"}, {"nodeId": "140042506217152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506215360"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506218608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506215248"}]}, "140042506215248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214352"}]}, "140042506214352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506217152": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506218272"}]}, {"nodeId": "0"}, {"nodeId": "140042506218048"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506217488"}]}]}]}, "140042506218272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506218048": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042506217488": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506215360": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042619634624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506215584"}, {"nodeId": "140042506215808"}, {"nodeId": "140042506216032"}, {"nodeId": "140042506212896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506210880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506215584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506215808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214128"}]}, "140042506214128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506218720"}]}, "140042506218720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506212896": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211776"}]}, {"nodeId": "0"}, {"nodeId": "140042506208192"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211888"}]}]}]}, "140042506211776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506208192": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042506211888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506210880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042619635072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506210992"}, {"nodeId": "140042506210432"}, {"nodeId": "140042506210544"}, {"nodeId": "140042506209760"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506209312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506210992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210320"}]}, "140042506210320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506213792"}]}, "140042506213792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506209760": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209984"}]}, {"nodeId": "0"}, {"nodeId": "140042506209872"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209536"}]}]}]}, "140042506209984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209872": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042506209536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209312": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042619635520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506208976"}, {"nodeId": "140042506208864"}, {"nodeId": "140042506209200"}, {"nodeId": "140042506207968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506207856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506208976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506208864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506208528"}]}, "140042506208528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506209200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210096"}]}, "140042506210096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506207968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506208640"}]}, {"nodeId": "0"}, {"nodeId": "140042506207408"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506208080"}]}]}]}, "140042506208640": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207408": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042506208080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207856": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619635968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506207296"}, {"nodeId": "140042506092352"}, {"nodeId": "140042506092016"}, {"nodeId": "140042506090448"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506091120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506207296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506092240"}]}, "140042506092240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506091792"}]}, "140042506091792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506090448": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506092128"}]}, {"nodeId": "0"}, {"nodeId": "140042506091568"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506091904"}]}]}]}, "140042506092128": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091568": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042506091904": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091120": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042619636416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506090672"}, {"nodeId": "140042506088096"}, {"nodeId": "140042506090336"}, {"nodeId": "140042506086752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506087312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506090672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506088096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087872"}]}, "140042506087872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506090336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506090896"}]}, "140042506090896": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506086752": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087984"}]}, {"nodeId": "0"}, {"nodeId": "140042506089552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087536"}]}]}]}, "140042506087984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506089552": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042506087536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506087312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042619636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506086640"}, {"nodeId": "140042506086528"}, {"nodeId": "140042506087200"}, {"nodeId": "140042506085968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506085856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506086640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506086528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087088"}]}, "140042506087088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506087200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085408"}]}, "140042506085408": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506085968": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086192"}]}, {"nodeId": "0"}, {"nodeId": "140042506086416"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086080"}]}]}]}, "140042506086192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506086416": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042506086080": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506085856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042619637312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506084960"}, {"nodeId": "140042506085072"}, {"nodeId": "140042506085296"}, {"nodeId": "140042506084288"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506084064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506084960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506084736"}]}, "140042506084736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085184"}]}, "140042506085184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506084288": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084624"}]}, {"nodeId": "0"}, {"nodeId": "140042506083392"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084512"}]}]}]}, "140042506084624": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506083392": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042506084512": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506084064": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042619637760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506083168"}, {"nodeId": "140042506082944"}, {"nodeId": "140042506083728"}, {"nodeId": "140042506082048"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506079248"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506083168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506082944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083840"}]}, "140042506083840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506083728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083280"}]}, "140042506083280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506082048": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506083056"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042506081936"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506082272"}]}]}]}, "140042506083056": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506081936": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042506082272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506079248": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042619638208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506078688"}, {"nodeId": "140042506078576"}, {"nodeId": "140042506079136"}, {"nodeId": "140042506078464"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506077792"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506078688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506078576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506080144"}]}, "140042506080144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506079136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506081152"}]}, "140042506081152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506078464": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506080256"}]}, {"nodeId": "0"}, {"nodeId": "140042506079360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506078352"}]}]}]}, "140042506080256": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506079360": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042506078352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506077792": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506221408": {"type": "Overloaded", "items": [{"nodeId": "140042619638656"}, {"nodeId": "140042619639104"}, {"nodeId": "140042619639552"}, {"nodeId": "140042619640000"}]}, "140042619638656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077456"}]}, "140042506077456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619639104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506077232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506077344"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506076672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506077232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506077344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077120"}]}, "140042506077120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619639552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506076224"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076336"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077680"}]}, "140042506077680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619640000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505961280"}, {"nodeId": "140042505960944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042505960832"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042505961280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505960944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505960832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505961168"}]}, "140042505961168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506355536": {"type": "Overloaded", "items": [{"nodeId": "140042619640448"}, {"nodeId": "140042619640896"}]}, "140042619640448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042619640896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960048"}, {"nodeId": "140042505955904"}, {"nodeId": "140042505956688"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505958928"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042505960048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505956688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505956240"}]}, "140042505956240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505958928": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506208752": {"type": "Overloaded", "items": [{"nodeId": "140042619641344"}, {"nodeId": "140042619641792"}]}, "140042619641344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619641792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960384"}, {"nodeId": "140042505958592"}, {"nodeId": "140042505958032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505957920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042505960384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505958368"}]}, "140042505958368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505957920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506076560": {"type": "Overloaded", "items": [{"nodeId": "140042619642240"}, {"nodeId": "140042619642688"}, {"nodeId": "140042619643136"}, {"nodeId": "140042619643584"}, {"nodeId": "140042619644032"}]}, "140042619642240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}, {"nodeId": "140042505957024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505957024": {"type": "Union", "items": [{"nodeId": "140042505957360"}, {"nodeId": "140042505957248"}]}, "140042505957360": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505957248": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042619642688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505953664"}, {"nodeId": "140042505957808"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505953888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042505953664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505957808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505955232"}]}, "140042505955232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505955568"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505955680"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505954784"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "out"]}, "140042505955568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505954784": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505956464"}, {"nodeId": "140042505959264"}, {"nodeId": "140042505953328"}, {"nodeId": "140042505953104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952656"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505956464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505959264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505959152"}]}, "140042505959152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953328": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505953104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952880"}]}]}]}, "140042505952880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042505952656": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042619644032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505954896"}, {"nodeId": "140042505951648"}, {"nodeId": "140042505951536"}, {"nodeId": "140042505951760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951088"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505954896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505951648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505952320"}]}, "140042505952320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505951536": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042505951760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951424"}]}]}]}, "140042505951424": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505951088": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505952096": {"type": "Overloaded", "items": [{"nodeId": "140042619644480"}, {"nodeId": "140042619644928"}]}, "140042619644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042619644928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950528"}, {"nodeId": "140042505952544"}, {"nodeId": "140042505949744"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505949520"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042505950528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505952544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950976"}]}, "140042505950976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505949520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950640": {"type": "Overloaded", "items": [{"nodeId": "140042619645376"}, {"nodeId": "140042619645824"}]}, "140042619645376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042619645824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950864"}, {"nodeId": "140042505949632"}, {"nodeId": "140042505949856"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505948960"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042505950864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950304"}]}, "140042505950304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505948960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950416": {"type": "Overloaded", "items": [{"nodeId": "140042619646272"}, {"nodeId": "140042619646720"}]}, "140042619646272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042619646720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950080"}, {"nodeId": "140042505949296"}, {"nodeId": "140042505948400"}, {"nodeId": "140042505948288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947840"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042505950080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948624"}]}, "140042505948624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505948848": {"type": "Overloaded", "items": [{"nodeId": "140042619647168"}, {"nodeId": "140042619647616"}]}, "140042619647168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619647616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505948736"}, {"nodeId": "140042505947280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042505948736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505947280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948064"}]}, "140042505948064": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468768816": {"type": "Overloaded", "items": [{"nodeId": "140042619648064"}, {"nodeId": "140042619648512"}]}, "140042619648064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042619648512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505946272"}, {"nodeId": "140042505946048"}, {"nodeId": "140042505945600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505945152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042505946272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505946048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505945600": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505946160"}]}, "140042505946160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505945152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945712": {"type": "Overloaded", "items": [{"nodeId": "140042619648960"}, {"nodeId": "140042619649408"}, {"nodeId": "140042619879488"}]}, "140042619648960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619649408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510878416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892752"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510878416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892640"}, {"nodeId": "140042510892304"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510892640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510892192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505946384": {"type": "Overloaded", "items": [{"nodeId": "140042619879936"}, {"nodeId": "140042619880384"}]}, "140042619879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042619880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510891744"}, {"nodeId": "140042510891856"}, {"nodeId": "140042510891296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510891184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042510891744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891632"}]}, "140042510891632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510891184": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769488": {"type": "Overloaded", "items": [{"nodeId": "140042619880832"}, {"nodeId": "140042619881280"}]}, "140042619880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892080"}, {"nodeId": "140042510890624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510890176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510892080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510890624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891072"}]}, "140042510891072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510890176": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890736": {"type": "Overloaded", "items": [{"nodeId": "140042619881728"}, {"nodeId": "140042619882176"}]}, "140042619881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510890960"}, {"nodeId": "140042510889616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510889504"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510890960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510889616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510890400"}]}, "140042510890400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510889504": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890064": {"type": "Overloaded", "items": [{"nodeId": "140042619882624"}, {"nodeId": "140042619883072"}]}, "140042619882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510889952"}, {"nodeId": "140042510888944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510888496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510889952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510888944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510889392"}]}, "140042510889392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510888496": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945376": {"type": "Overloaded", "items": [{"nodeId": "140042619883520"}, {"nodeId": "140042619883968"}]}, "140042619883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042619883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510887376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042510887824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510887376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510887936": {"type": "Overloaded", "items": [{"nodeId": "140042619884416"}, {"nodeId": "140042619884864"}]}, "140042619884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887264"}, {"nodeId": "140042510887152"}, {"nodeId": "140042510887040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510886704"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510886928"}]}, "140042510886928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510886704": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510888160": {"type": "Overloaded", "items": [{"nodeId": "140042619885312"}, {"nodeId": "140042619885760"}]}, "140042619885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887600"}, {"nodeId": "140042510886480"}, {"nodeId": "140042510884016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510883568"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510886480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510884016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510883680"}]}, "140042510883680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510883568": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510886592": {"type": "Overloaded", "items": [{"nodeId": "140042619886208"}, {"nodeId": "140042619886656"}]}, "140042619886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510886256"}, {"nodeId": "140042510880768"}, {"nodeId": "140042510880208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879872"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510886256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510880320"}]}, "140042510880320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879872": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878640": {"type": "Overloaded", "items": [{"nodeId": "140042619887104"}, {"nodeId": "140042619887552"}]}, "140042619887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042619887552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510880432"}, {"nodeId": "140042510879760"}, {"nodeId": "140042510879312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879200"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042510880432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510879424"}]}, "140042510879424": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510879536": {"type": "Overloaded", "items": [{"nodeId": "140042619888000"}, {"nodeId": "140042619888448"}]}, "140042619888000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042619888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510879648"}, {"nodeId": "140042515054656"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042515055888"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042510879648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042515054656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510878976"}]}, "140042510878976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042515055888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878752": {"type": "Overloaded", "items": [{"nodeId": "140042619888896"}, {"nodeId": "140042619889344"}]}, "140042619888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042619889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514841408"}, {"nodeId": "140042514840848"}, {"nodeId": "140042514841072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514841296"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042514841408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514840848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514841072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514840960"}]}, "140042514840960": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514841296": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769600": {"type": "Overloaded", "items": [{"nodeId": "140042619889792"}, {"nodeId": "140042619890240"}]}, "140042619889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042619890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829984"}, {"nodeId": "140042514828752"}, {"nodeId": "140042514833456"}, {"nodeId": "140042514833904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514833680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042514829984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514833568"}]}, "140042514833568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514833680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878864": {"type": "Overloaded", "items": [{"nodeId": "140042619890688"}, {"nodeId": "140042619891136"}]}, "140042619890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829872"}, {"nodeId": "140042514828528"}, {"nodeId": "140042514828976"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514828080"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514829872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514828864"}]}, "140042514828864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514828080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042515069664": {"type": "Overloaded", "items": [{"nodeId": "140042619891584"}, {"nodeId": "140042619892032"}]}, "140042619891584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514675888"}, {"nodeId": "140042514674768"}, {"nodeId": "140042514670400"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514672864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514675888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514674768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514673312"}]}, "140042514673312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514672864": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514676672": {"type": "Overloaded", "items": [{"nodeId": "140042619892480"}, {"nodeId": "140042619892928"}]}, "140042619892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042619892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514676224"}, {"nodeId": "140042514672192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514671408"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042514676224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514672192": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514670176"}]}, "140042514670176": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514671408": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514672640": {"type": "Overloaded", "items": [{"nodeId": "140042619893376"}, {"nodeId": "140042619893824"}]}, "140042619893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514672416"}, {"nodeId": "140042514670512"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514669728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042514672416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514671184"}]}, "140042514671184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514669728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514670960": {"type": "Overloaded", "items": [{"nodeId": "140042619894272"}, {"nodeId": "140042619894720"}]}, "140042619894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042619894720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514670736"}, {"nodeId": "140042514668496"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514667936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514670736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514668496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514669168"}]}, "140042514669168": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514667936": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042469016736": {"type": "Overloaded", "items": [{"nodeId": "140042619895168"}, {"nodeId": "140042620076096"}]}, "140042619895168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042620076096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514665808"}, {"nodeId": "140042514664464"}, {"nodeId": "140042514664016"}, {"nodeId": "140042514663456"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514662672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042514665808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514663456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514663680"}]}, "140042514663680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514662672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514665920": {"type": "Overloaded", "items": [{"nodeId": "140042620076544"}, {"nodeId": "140042620076992"}]}, "140042620076544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042620076992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514666704"}, {"nodeId": "140042514661888"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514497344"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514666704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514661888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514662336"}]}, "140042514662336": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514497344": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620077440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514496560"}, {"nodeId": "140042514496000"}, {"nodeId": "140042514495440"}, {"nodeId": "140042514494656"}, {"nodeId": "140042577366032"}, {"nodeId": "140042514493312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514492192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol", "method"]}, "140042514496560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514496000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514495440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514496784"}]}, "140042514496784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514494656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514493312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514492192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620077888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514491744"}, {"nodeId": "140042514491632"}, {"nodeId": "140042514491408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514490848"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042514491744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491408": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514491856"}]}, "140042514491856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514490848": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514488272"}, {"nodeId": "140042577365696"}, {"nodeId": "140042514490064"}, {"nodeId": "140042514488608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514488496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "colors", "nsample", "size", "method"]}, "140042514488272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514490064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514490288"}]}, "140042514490288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514488608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042514488496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514486816"}, {"nodeId": "140042514487040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514487152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042514486816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514487040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514487488"}]}, "140042514487488": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514487152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620079232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514485808"}, {"nodeId": "140042514485584"}, {"nodeId": "140042514486144"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "x", "axis", "out"]}, "140042514485808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514485584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042514486144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042620079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514484576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042514484576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468647856": {"type": "Concrete", "module": "numpy.random._mt19937", "simpleName": "MT19937", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081696"}, "name": "_legacy_seeding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620082144"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506650224"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398890272"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620081248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506485456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506649776"}, {"nodeId": "140042468639792"}]}, "140042506649776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620081696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seed"]}, "140042506485120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620082144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468647856"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506650224": {"type": "Overloaded", "items": [{"nodeId": "140042620082592"}]}, "140042620082592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506483328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042398890272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468646512": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084608"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506653360"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400944352"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620085952"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042506653136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506653136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506652016"}, {"nodeId": "140042468639792"}]}, "140042506652016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506653360": {"type": "Overloaded", "items": [{"nodeId": "140042620085056"}]}, "140042620085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506652912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400944352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468646848": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64DXSM", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086848"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506651344"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400941888"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620088192"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042506650672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506650672": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506650896"}, {"nodeId": "140042468639792"}]}, "140042506650896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506651344": {"type": "Overloaded", "items": [{"nodeId": "140042620087296"}]}, "140042620087296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506651120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400941888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620088192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468645504": {"type": "Concrete", "module": "numpy.random._philox", "simpleName": "Philox", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "counter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620089312"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506655040"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400790592"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620090656"}, "name": "jumped"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620091104"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620089312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042506655152"}, {"nodeId": "140042506653920"}, {"nodeId": "140042506653472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seed", "counter", "key"]}, "140042506655152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654704"}, {"nodeId": "140042468639792"}]}, "140042506654704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654256"}]}, "140042506654256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506653808"}]}, "140042506653808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506655040": {"type": "Overloaded", "items": [{"nodeId": "140042620089760"}]}, "140042620089760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506654480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400790592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620090656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042620091104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468644496": {"type": "Concrete", "module": "numpy.random._sfc64", "simpleName": "SFC64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624155712"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506658288"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400949504"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042624155712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}, {"nodeId": "140042506656832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506656832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506655712"}, {"nodeId": "140042468639792"}]}, "140042506655712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506658288": {"type": "Overloaded", "items": [{"nodeId": "140042624156160"}]}, "140042624156160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506655376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400949504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643488": {"type": "Concrete", "module": "numpy.random.mtrand", "simpleName": "RandomState", "members": [{"kind": "Variable", "name": "_bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468640128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624167808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168256"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168704"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169152"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169600"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170496"}, "name": "seed"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698608"}, "items": [{"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615259200"}, "name": "set_state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695360"}, "items": [{"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_sample"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698720"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489407392"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489412656"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695248"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401568"}, "items": [{"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "tomaxint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759296"}, "items": [{"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615271744"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042484968224"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489403136"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493997264"}, "items": [{"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985504"}, "items": [{"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randn"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493995696"}, "items": [{"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489297408"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985728"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493787856"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493554000"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493354592"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493548288"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498239040"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493309024"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498236464"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233552"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759744"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497911024"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497905760"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233664"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497576736"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497575616"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497903968"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497577856"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502306752"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498440016"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501834112"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502302048"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501833328"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506850640"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506848512"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506846832"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468760864"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506663664"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631296"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631744"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632192"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632640"}, "name": "shuffle"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506662544"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042624167808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489697936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489697936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489698048"}, {"nodeId": "140042468640128"}]}, "140042489698048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624168256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624168704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624169152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624169600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624170048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042489695920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489695920": {"type": "Tuple", "items": [{"nodeId": "140042472558368"}, {"nodeId": "140042489697264"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042472558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468643488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489697264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042624170496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489695472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489695472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489695808"}]}, "140042489695808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489698608": {"type": "Overloaded", "items": [{"nodeId": "140042624170944"}, {"nodeId": "140042624171392"}]}, "140042624170944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042624171392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042489694016"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042489694016": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489694352"}]}, "140042489694352": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489694688"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489694688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615259200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489413104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042489413104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489413216"}]}, "140042489413216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489693008"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489693008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042489695360": {"type": "Overloaded", "items": [{"nodeId": "140042615259648"}, {"nodeId": "140042615260096"}]}, "140042615259648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489409296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412768"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489409296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412768": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489698720": {"type": "Overloaded", "items": [{"nodeId": "140042615260544"}, {"nodeId": "140042615260992"}]}, "140042615260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412208"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489412320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412208": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489407392": {"type": "Overloaded", "items": [{"nodeId": "140042615261440"}, {"nodeId": "140042615261888"}]}, "140042615261440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042615261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489411760"}, {"nodeId": "140042489411984"}, {"nodeId": "140042489411536"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489411200"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042489411760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489411648"}]}, "140042489411648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489411200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489412656": {"type": "Overloaded", "items": [{"nodeId": "140042615262336"}, {"nodeId": "140042615262784"}]}, "140042615262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412096"}, {"nodeId": "140042489409520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489407168"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042489412096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489409520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489410976"}]}, "140042489410976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489407168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489695248": {"type": "Overloaded", "items": [{"nodeId": "140042615263232"}, {"nodeId": "140042615263680"}]}, "140042615263232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615263680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489403248"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489293264"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489403248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489293264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489401568": {"type": "Overloaded", "items": [{"nodeId": "140042615264128"}, {"nodeId": "140042615264576"}]}, "140042615264128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615264576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489297184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489295840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489297184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489295840": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468759296": {"type": "Overloaded", "items": [{"nodeId": "140042615265024"}, {"nodeId": "140042615265472"}, {"nodeId": "140042615265920"}, {"nodeId": "140042615266368"}, {"nodeId": "140042615266816"}, {"nodeId": "140042615267264"}, {"nodeId": "140042615267712"}, {"nodeId": "140042615268160"}, {"nodeId": "140042615268608"}, {"nodeId": "140042615269056"}, {"nodeId": "140042615269504"}, {"nodeId": "140042615269952"}, {"nodeId": "140042615270400"}, {"nodeId": "140042615270848"}, {"nodeId": "140042615271296"}]}, "140042615265024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296624"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042489296624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296400"}, {"nodeId": "N"}, {"nodeId": "140042489296176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489296400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489296176": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615265920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489294384"}, {"nodeId": "N"}, {"nodeId": "140042489290800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489294384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489290800": {"type": "Union", "items": [{"nodeId": "140042489294272"}, {"nodeId": "140042489295952"}]}, "140042489294272": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042489295952": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042615266368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489292480"}, {"nodeId": "140042489143904"}, {"nodeId": "140042489142448"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489136288"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042489292480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489143904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489293040"}]}, "140042489293040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489142448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143680"}]}, "140042489143680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489136288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615266816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489137072"}, {"nodeId": "140042489141216"}, {"nodeId": "140042489145808"}, {"nodeId": "140042489141664"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489137072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489145136"}]}, "140042489145136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489145808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489141552"}]}, "140042489141552": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489141664": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489143792"}, {"nodeId": "140042489141328"}, {"nodeId": "140042489137632"}, {"nodeId": "140042481640480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481645072"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489143792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489136400"}]}, "140042489136400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489137632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143344"}]}, "140042489143344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640480": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639584"}]}, {"nodeId": "0"}, {"nodeId": "140042481644512"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481633648"}]}]}]}, "140042481639584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481644512": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042481633648": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481645072": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042615267712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481642832"}, {"nodeId": "140042481643168"}, {"nodeId": "140042481644624"}, {"nodeId": "140042481640368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481634432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481642832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481643168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481642720"}]}, "140042481642720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481644624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481643280"}]}, "140042481643280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640368": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639472"}]}, {"nodeId": "0"}, {"nodeId": "140042481639360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639808"}]}]}]}, "140042481639472": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481639360": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042481639808": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481634432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042615268160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481144256"}, {"nodeId": "140042481143920"}, {"nodeId": "140042481151760"}, {"nodeId": "140042481143360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481143584"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481144256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481143920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481155456"}]}, "140042481155456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481151760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481154672"}]}, "140042481154672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481143360": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481144480"}]}, {"nodeId": "0"}, {"nodeId": "140042481144592"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481151536"}]}]}]}, "140042481144480": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481144592": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042481151536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481143584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042615268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481143696"}, {"nodeId": "140042481019344"}, {"nodeId": "140042481019568"}, {"nodeId": "140042480827104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042480827440"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481143696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481143808"}]}, "140042481143808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481019456"}]}, "140042481019456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042480827104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481019680"}]}, {"nodeId": "0"}, {"nodeId": "140042480826096"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042480827328"}]}]}]}, "140042481019680": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480826096": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042480827328": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480827440": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042615269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042480825984"}, {"nodeId": "140042485588912"}, {"nodeId": "140042485595856"}, {"nodeId": "140042485586672"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485587008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042480825984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485588912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587680"}]}, "140042485587680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485595856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587344"}]}, "140042485587344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485586672": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485587456"}]}, {"nodeId": "0"}, {"nodeId": "140042485587792"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485588576"}]}]}]}, "140042485587456": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587792": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042485588576": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042615269504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583424"}, {"nodeId": "140042485586224"}, {"nodeId": "140042485587232"}, {"nodeId": "140042485582192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485582416"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485586224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587120"}]}, "140042485587120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485587232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485586112"}]}, "140042485586112": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485582192": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485586336"}]}, {"nodeId": "0"}, {"nodeId": "140042485586448"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485581856"}]}]}]}, "140042485586336": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485586448": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042485581856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485582416": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042615269952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583200"}, {"nodeId": "140042485623024"}, {"nodeId": "140042485623136"}, {"nodeId": "140042485622128"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485622352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622912"}]}, "140042485622912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622800"}]}, "140042485622800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485622128": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622688"}]}, {"nodeId": "0"}, {"nodeId": "140042485622576"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622016"}]}]}]}, "140042485622688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622576": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042485622016": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615270400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489290912"}, {"nodeId": "140042485622240"}, {"nodeId": "140042485110080"}, {"nodeId": "140042485107504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042484911008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489290912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485622240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485618656"}]}, "140042485618656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485110080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485118256"}]}, "140042485118256": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485107504": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485117696"}]}, {"nodeId": "0"}, {"nodeId": "140042485120496"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485109072"}]}]}]}, "140042485117696": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042485120496": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042485109072": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042484911008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042615270848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042484910784"}, {"nodeId": "140042484910896"}, {"nodeId": "140042484910560"}, {"nodeId": "140042494217120"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494214432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042484910784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484919632"}]}, "140042484919632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484910672"}]}, "140042484910672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494217120": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217456"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042494215552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217008"}]}]}]}, "140042494217456": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494215552": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042494217008": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494214432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615271296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042494214992"}, {"nodeId": "140042494214656"}, {"nodeId": "140042494214208"}, {"nodeId": "140042494000624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494000176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042494214992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214544"}]}, "140042494214544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214320"}]}, "140042494214320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494000624": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042493995808"}]}, {"nodeId": "0"}, {"nodeId": "140042494000400"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494000736"}]}]}]}, "140042493995808": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000400": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042494000736": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000176": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042615271744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042484968224": {"type": "Overloaded", "items": [{"nodeId": "140042615272192"}, {"nodeId": "140042615272640"}, {"nodeId": "140042615273088"}, {"nodeId": "140042615273536"}]}, "140042615272192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999056"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493999056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999952"}]}, "140042493999952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493998720"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999840"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493999168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493999840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999280"}]}, "140042493999280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493999168": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493998608"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493998944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494000064"}]}, "140042494000064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996368"}, {"nodeId": "140042493998048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493997824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493996368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493997824": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493998160"}]}, "140042493998160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489403136": {"type": "Overloaded", "items": [{"nodeId": "140042615273984"}, {"nodeId": "140042615274432"}]}, "140042615273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042615274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996816"}, {"nodeId": "140042493997040"}, {"nodeId": "140042493996480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493994240"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493996816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493997040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493996480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493996704"}]}, "140042493996704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493994240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493997264": {"type": "Overloaded", "items": [{"nodeId": "140042615274880"}, {"nodeId": "140042615439424"}]}, "140042615274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615439424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493989760"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493989760": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985504": {"type": "Overloaded", "items": [{"nodeId": "140042615439872"}, {"nodeId": "140042615440320"}]}, "140042615439872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615440320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493985392"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493985392": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493995696": {"type": "Overloaded", "items": [{"nodeId": "140042615440768"}, {"nodeId": "140042615441216"}]}, "140042615440768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493780016"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493780016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615441216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493772512"}, {"nodeId": "140042493786400"}, {"nodeId": "140042493776096"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493354928"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493772512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493786400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493782816"}]}, "140042493782816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493776096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493787968"}]}, "140042493787968": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493354928": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042489297408": {"type": "Overloaded", "items": [{"nodeId": "140042615441664"}, {"nodeId": "140042615442112"}]}, "140042615441664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615442112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493351904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548400"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042493351904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985728": {"type": "Overloaded", "items": [{"nodeId": "140042615442560"}, {"nodeId": "140042615443008"}]}, "140042615442560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615443008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493552992"}, {"nodeId": "140042493551536"}, {"nodeId": "140042493543360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548064"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042493552992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493551536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493543360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493546496"}]}, "140042493546496": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548064": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493787856": {"type": "Overloaded", "items": [{"nodeId": "140042615443456"}, {"nodeId": "140042615443904"}]}, "140042615443456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042615443904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493543136"}, {"nodeId": "140042493299168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493307680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042493543136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493299168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493300288"}]}, "140042493300288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493307680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493554000": {"type": "Overloaded", "items": [{"nodeId": "140042615444352"}, {"nodeId": "140042615444800"}]}, "140042615444352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042615444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498241392"}, {"nodeId": "140042498241280"}, {"nodeId": "140042498241168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498240608"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042498241392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498241056"}]}, "140042498241056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498240608": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493354592": {"type": "Overloaded", "items": [{"nodeId": "140042615445248"}, {"nodeId": "140042615445696"}]}, "140042615445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042615445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240048"}, {"nodeId": "140042498240384"}, {"nodeId": "140042498239712"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498239376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042498240048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498240384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498239936"}]}, "140042498239936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498239376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493548288": {"type": "Overloaded", "items": [{"nodeId": "140042615446144"}, {"nodeId": "140042615446592"}]}, "140042615446144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042615446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240496"}, {"nodeId": "140042498239264"}, {"nodeId": "140042498238704"}, {"nodeId": "140042498238368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498238032"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042498240496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498238592"}]}, "140042498238592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498238032": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498239040": {"type": "Overloaded", "items": [{"nodeId": "140042615447040"}, {"nodeId": "140042615447488"}]}, "140042615447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498239152"}, {"nodeId": "140042498237360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498237024"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498239152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498237360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498237920"}]}, "140042498237920": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498237024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493309024": {"type": "Overloaded", "items": [{"nodeId": "140042615447936"}, {"nodeId": "140042615448384"}]}, "140042615447936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042615448384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236240"}, {"nodeId": "140042498236128"}, {"nodeId": "140042498236016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498233104"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042498236240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498235904"}]}, "140042498235904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498233104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498236464": {"type": "Overloaded", "items": [{"nodeId": "140042615448832"}, {"nodeId": "140042615449280"}, {"nodeId": "140042615449728"}]}, "140042615448832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615449280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236576"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497903632"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498236576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903632": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615449728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497913152"}, {"nodeId": "140042497910240"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497909120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042497913152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497910240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497909120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233552": {"type": "Overloaded", "items": [{"nodeId": "140042615450176"}, {"nodeId": "140042615450624"}]}, "140042615450176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042615450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912928"}, {"nodeId": "140042497913040"}, {"nodeId": "140042497912816"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497912480"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042497912928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497913040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497912816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912704"}]}, "140042497912704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497912480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468759744": {"type": "Overloaded", "items": [{"nodeId": "140042615451072"}, {"nodeId": "140042615451520"}]}, "140042615451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912592"}, {"nodeId": "140042497903520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497904192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497912592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912368"}]}, "140042497912368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497904192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497911024": {"type": "Overloaded", "items": [{"nodeId": "140042615451968"}, {"nodeId": "140042615452416"}]}, "140042615451968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615452416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497904864"}, {"nodeId": "140042497903296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497583120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497904864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497904976"}]}, "140042497904976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497583120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497905760": {"type": "Overloaded", "items": [{"nodeId": "140042615452864"}, {"nodeId": "140042615453312"}]}, "140042615452864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615453312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580432"}, {"nodeId": "140042497580320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497580880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497580432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497580320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497583792"}]}, "140042497583792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497580880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233664": {"type": "Overloaded", "items": [{"nodeId": "140042615453760"}, {"nodeId": "140042615454208"}]}, "140042615453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497584016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497577072"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042497584016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497577072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497576736": {"type": "Overloaded", "items": [{"nodeId": "140042615454656"}, {"nodeId": "140042615455104"}]}, "140042615454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615455104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580208"}, {"nodeId": "140042497575504"}, {"nodeId": "140042498440576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498434752"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042497580208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497575504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498440576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440800"}]}, "140042498440800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498434752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497575616": {"type": "Overloaded", "items": [{"nodeId": "140042615619648"}, {"nodeId": "140042615620096"}]}, "140042615619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498437552"}, {"nodeId": "140042498429712"}, {"nodeId": "140042498433072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502306864"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042498437552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498429712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498433072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440464"}]}, "140042498440464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502306864": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497903968": {"type": "Overloaded", "items": [{"nodeId": "140042615620544"}, {"nodeId": "140042615620992"}]}, "140042615620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502303952"}, {"nodeId": "140042502304960"}, {"nodeId": "140042502299696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502301376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042502303952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502304960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502299696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042502307312"}]}, "140042502307312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502301376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497577856": {"type": "Overloaded", "items": [{"nodeId": "140042615621440"}, {"nodeId": "140042615621888"}]}, "140042615621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042615621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502296672"}, {"nodeId": "140042501841952"}, {"nodeId": "140042501841280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501839936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042502296672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501841504"}]}, "140042501841504": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501839936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502306752": {"type": "Overloaded", "items": [{"nodeId": "140042615622336"}, {"nodeId": "140042615622784"}]}, "140042615622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501836352"}, {"nodeId": "140042501834896"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501835120"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042501836352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501836576"}]}, "140042501836576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501835120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498440016": {"type": "Overloaded", "items": [{"nodeId": "140042615623232"}, {"nodeId": "140042615623680"}]}, "140042615623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042615623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501835232"}, {"nodeId": "140042501834336"}, {"nodeId": "140042506862064"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506861280"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042501835232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506862064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501833216"}]}, "140042501833216": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506861280": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042501834112": {"type": "Overloaded", "items": [{"nodeId": "140042615624128"}, {"nodeId": "140042615624576"}]}, "140042615624128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042615624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506859824"}, {"nodeId": "140042506860720"}, {"nodeId": "140042506858816"}, {"nodeId": "140042506857472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506856352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042506859824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506860720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506858816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506857472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506858592"}]}, "140042506858592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506856352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502302048": {"type": "Overloaded", "items": [{"nodeId": "140042615625024"}, {"nodeId": "140042615625472"}]}, "140042615625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506860160"}, {"nodeId": "140042506856240"}, {"nodeId": "140042506852880"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506851984"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506860160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506856240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506852880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506854560"}]}, "140042506854560": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506851984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042501833328": {"type": "Overloaded", "items": [{"nodeId": "140042615625920"}, {"nodeId": "140042615626368"}]}, "140042615625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615626368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506849744"}, {"nodeId": "140042506849520"}, {"nodeId": "140042506849072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506848736"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506849744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506849296"}]}, "140042506849296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506848736": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506850640": {"type": "Overloaded", "items": [{"nodeId": "140042615626816"}, {"nodeId": "140042615627264"}]}, "140042615626816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042615627264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506850528"}, {"nodeId": "140042506848288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506847504"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042506850528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506848288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506848624"}]}, "140042506848624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506847504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506848512": {"type": "Overloaded", "items": [{"nodeId": "140042615627712"}, {"nodeId": "140042615628160"}]}, "140042615627712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615628160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506848400"}, {"nodeId": "140042506665232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664112"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042506848400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506665232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506847616"}]}, "140042506847616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664112": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506846832": {"type": "Overloaded", "items": [{"nodeId": "140042615628608"}, {"nodeId": "140042615629056"}]}, "140042615628608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615629056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664448"}, {"nodeId": "140042506664560"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506664448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506664560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506664784"}]}, "140042506664784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468760864": {"type": "Overloaded", "items": [{"nodeId": "140042615629504"}, {"nodeId": "140042615629952"}]}, "140042615629504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042615629952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664672"}, {"nodeId": "140042506663888"}, {"nodeId": "140042506662656"}, {"nodeId": "140042506663216"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506662992"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042506664672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506663328"}]}, "140042506663328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506662992": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506663664": {"type": "Overloaded", "items": [{"nodeId": "140042615630400"}, {"nodeId": "140042615630848"}]}, "140042615630400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615630848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506663776"}, {"nodeId": "140042506662320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506661760"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506663776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506662208"}]}, "140042506662208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506661760": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615631296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506661088"}, {"nodeId": "140042506662432"}, {"nodeId": "140042506660640"}, {"nodeId": "140042506658736"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506658400"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol"]}, "140042506661088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506660640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506661312"}]}, "140042506661312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506658736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042506658400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615631744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506658176"}, {"nodeId": "140042506661648"}, {"nodeId": "140042506657952"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656944"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042506658176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506661648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657616"}]}, "140042506657616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615632192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506657504"}, {"nodeId": "140042506657168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042506657504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657392"}]}, "140042506657392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656048": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615632640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506656272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662544": {"type": "Overloaded", "items": [{"nodeId": "140042615633088"}, {"nodeId": "140042615633536"}]}, "140042615633088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615633536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506655600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506655600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468242960": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "IgnoreException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468243296": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "clear_and_catch_warnings", "members": [{"kind": "Variable", "name": "class_modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "Variable", "name": "modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447361344"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619126944"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127392"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042480718832", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042447361344": {"type": "Overloaded", "items": [{"nodeId": "140042615635552"}, {"nodeId": "140042619126048"}, {"nodeId": "140042619126496"}]}, "140042615635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243968": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_without_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128288"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619128288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042619126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243632": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_with_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127840"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243632"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480718496": {"type": "Concrete", "module": "warnings", "simpleName": "WarningMessage", "members": [{"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154896"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481153328"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154336"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154448"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607445824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481154896": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481153328": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481154336": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481154448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042607445824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718496"}, {"nodeId": "140042481632192"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481632528"}, {"nodeId": "140042481632416"}, {"nodeId": "140042481631968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "message", "category", "filename", "lineno", "file", "line", "source"]}, "140042481632192": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481632528": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481632416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481631968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042619126496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042619126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}], "returnType": {"nodeId": "140042447362576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447362576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, "140042619127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}, {"nodeId": "140042447362688"}, {"nodeId": "140042447362800"}, {"nodeId": "140042447362912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447362688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447362800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447362912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042480718832": {"type": "Concrete", "module": "warnings", "simpleName": "catch_warnings", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042481155568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607448960"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607449408"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480718832"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481155568": {"type": "Overloaded", "items": [{"nodeId": "140042607447616"}, {"nodeId": "140042607448064"}, {"nodeId": "140042607448512"}]}, "140042607447616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "N"}]}, {"nodeId": "0"}, {"nodeId": "140042481632752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632752": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, {"nodeId": "0"}, {"nodeId": "140042481632976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632976": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042481633088"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042481633200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481633088": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042481633200": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}], "returnType": {"nodeId": ".1.140042480718832"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480718832": {"type": "TypeVar", "varName": "_W", "values": [], "upperBound": {"nodeId": "140042481154784"}, "def": "140042480718832", "variance": "INVARIANT"}, "140042481154784": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042607449408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}, {"nodeId": "140042481633312"}, {"nodeId": "140042481633424"}, {"nodeId": "140042481633536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042481633312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042481633424": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042481633536": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468242624": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "KnownFailureException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468244304": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "suppress_warnings", "members": [{"kind": "Variable", "name": "log", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "forwarding_rule", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129184"}, "name": "filter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129632"}, "name": "record"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130080"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130528"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130976"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042619128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447363696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "forwarding_rule"]}, "140042447363696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042619129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619129632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363920"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619130080": {"type": "Function", "typeVars": [".-1.140042619130080"], "argTypes": [{"nodeId": ".-1.140042619130080"}], "returnType": {"nodeId": ".-1.140042619130080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042619130080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619130080", "variance": "INVARIANT"}, "140042619130528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447364032"}, {"nodeId": "140042447364144"}, {"nodeId": "140042447364256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447364032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447364144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447364256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042619130976": {"type": "Function", "typeVars": [".-1.140042619130976"], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": ".-1.140042619130976"}], "returnType": {"nodeId": ".-1.140042619130976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042619130976": {"type": "TypeVar", "varName": "_FT", "values": [], "upperBound": {"nodeId": "140042472561504"}, "def": "140042619130976", "variance": "INVARIANT"}, "140042472561504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573219200": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670101600"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102496"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102944"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105184"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105632"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670106080"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522832"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042573219200"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "isAbstract": false}, "140042670101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140042573219200": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219200", "variance": "INVARIANT"}, "140042670102496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140042670102944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042670103392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670103840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670104288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042670104736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105632": {"type": "Function", "typeVars": [".-1.140042670105632", ".-2.140042670105632"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670105632"}, {"nodeId": ".-2.140042670105632"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532688"}, {"nodeId": "140042560532800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670105632": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, ".-2.140042670105632": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, "140042560532688": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670105632"}]}, "140042560532800": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670105632"}]}, "140042670106080": {"type": "Function", "typeVars": [".-1.140042670106080", ".-2.140042670106080"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670106080"}, {"nodeId": ".-2.140042670106080"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532912"}, {"nodeId": "140042560533248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106080": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, ".-2.140042670106080": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, "140042560532912": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670106080"}]}, "140042560533248": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670106080"}]}, "140042560522832": {"type": "Overloaded", "items": [{"nodeId": "140042670106528"}, {"nodeId": "140042670106976"}]}, "140042670106528": {"type": "Function", "typeVars": [".-1.140042670106528"], "argTypes": [{"nodeId": ".-1.140042670106528"}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": ".-1.140042670106528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106528", "variance": "INVARIANT"}, "140042670106976": {"type": "Function", "typeVars": [".-1.140042670106976"], "argTypes": [{"nodeId": ".-1.140042670106976"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042560533584"}]}], "returnType": {"nodeId": ".-1.140042670106976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106976", "variance": "INVARIANT"}, "140042560533584": {"type": "Tuple", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "140042569346608": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531585632"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531407456"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531406336"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531405888"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387680"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388576"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388800"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388128"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388352"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387232"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387456"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387904"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387008"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386784"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386112"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386560"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042531585632": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534032": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534144"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534368"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534368": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534480"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534480": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534592"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534592": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534704"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534816"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534928"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534928": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535040"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535040": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535152": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535264"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535376": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535488": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535600"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535600": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535712": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042573219536": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381856"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657749856"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750304"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750752"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751200"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751648"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752096"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042573219536"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042531381856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573219536": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219536", "variance": "INVARIANT"}, "140042531381184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657749856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657750304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657750752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657751200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657751648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560536160"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560536160": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042564600432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042657752096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657752544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569347280": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531757120"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531375360"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531374016"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373792"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373568"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373344"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373120"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339872"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339648"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339424"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339200"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531338976"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531757120": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766128": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766240": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766352"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766352": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766464"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766464": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766576": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766688"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766688": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766800": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767024": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531338976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569347616": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531758800"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531337408"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531332480"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531336512"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335840"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335392"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531758800": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767920"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767920": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768144"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569347952": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531762272"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531331584"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531330016"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531762272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531331584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569348288": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067168"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067616"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653068064"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140042569348288"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}]}, {"nodeId": "140042573918416", "args": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}]}], "isAbstract": false}, "140042653067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569348288": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569348288", "variance": "INVARIANT"}, "140042653067616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042653068064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573918416": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649114816"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523387136"}}], "typeVars": [{"nodeId": ".1.140042573918416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__enter__", "__exit__"]}, "140042649114816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}], "returnType": {"nodeId": ".1.140042573918416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042573918416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918416", "variance": "COVARIANT"}, "140042523387136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}, {"nodeId": "140042556258480"}, {"nodeId": "140042556258592"}, {"nodeId": "140042556258704"}], "returnType": {"nodeId": "140042556258816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556258480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556258592": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556258704": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556258816": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569348624": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231456"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042653231008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}, {"nodeId": "140042573223904"}, {"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140042573223904": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644661280"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666944"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666272"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668512"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573223568"}, {"nodeId": "140042577730512"}], "isAbstract": false}, "140042644661280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042561033200"}, {"nodeId": "140042561033312"}, {"nodeId": "140042561033424"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033424": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644663520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042561033536"}, {"nodeId": "140042561033648"}, {"nodeId": "140042561033760"}, {"nodeId": "140042561033872"}, {"nodeId": "140042561033984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033872": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042561033984": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042644663968": {"type": "Function", "typeVars": [".-1.140042644663968"], "argTypes": [{"nodeId": ".-1.140042644663968"}], "returnType": {"nodeId": ".-1.140042644663968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644663968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644663968", "variance": "INVARIANT"}, "140042644664416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644664864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644665312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644665760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223568": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603344"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658144"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658592"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659040"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659488"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659936"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660384"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660832"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042564603344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569526160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042644657696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644658144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644658592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644659040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042561033088"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561033088": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573220544": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701472"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701920"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702816"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703712"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704160"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577259296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704608"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705056"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705504"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706400"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706848"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577219584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707296"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707744"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644708192"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527247040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709088"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042644487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644701472": {"type": "Function", "typeVars": [".-1.140042644701472"], "argTypes": [{"nodeId": ".-1.140042644701472"}], "returnType": {"nodeId": ".-1.140042644701472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644701472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644701472", "variance": "INVARIANT"}, "140042644701920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030512"}, {"nodeId": "140042561030624"}, {"nodeId": "140042561030736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042561030512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042561030624": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042561030736": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042644702368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644702816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644704160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577259296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644705056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042644705504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644705952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644706400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561030848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644706848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577219584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644707296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561030960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561030960": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644707744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031072"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042527247040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042561031184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042578063232": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569774720"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569772816"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515072"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991616"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991728"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565292704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598742976"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598743424"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025536"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025984"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026432"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026880"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027328"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027776"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594028224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578063232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774720": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042569418896": {"type": "Union", "items": [{"nodeId": "140042569424496"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042569424608"}]}]}, "140042569424496": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042568896624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}]}, "140042569424608": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569772816": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, ".1.140042578063232": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578063232", "variance": "INVARIANT"}, "140042569515072": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991616": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991728": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042565292704": {"type": "Overloaded", "items": [{"nodeId": "140042565342080"}, {"nodeId": "140042598735360"}, {"nodeId": "140042598735808"}, {"nodeId": "140042598736256"}, {"nodeId": "140042598736704"}, {"nodeId": "140042598737152"}]}, "140042565342080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565460352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565460576"}, {"nodeId": "140042565460800"}, {"nodeId": "140042565461024"}, {"nodeId": "140042565461248"}, {"nodeId": "140042565461360"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565461696"}, {"nodeId": "140042565461920"}, {"nodeId": "140042565462032"}, {"nodeId": "140042565462256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565462368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565462480"}, {"nodeId": "140042565462592"}, {"nodeId": "140042565462704"}, {"nodeId": "140042565462928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565460352": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460576": {"type": "Union", "items": [{"nodeId": "140042565460464"}, {"nodeId": "N"}]}, "140042565460464": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565460800": {"type": "Union", "items": [{"nodeId": "140042565460688"}, {"nodeId": "N"}]}, "140042565460688": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042572990272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}]}, "140042565461024": {"type": "Union", "items": [{"nodeId": "140042565460912"}, {"nodeId": "N"}]}, "140042565460912": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461248": {"type": "Union", "items": [{"nodeId": "140042565461136"}, {"nodeId": "N"}]}, "140042565461136": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461360": {"type": "Union", "items": [{"nodeId": "140042565341632"}, {"nodeId": "N"}]}, "140042565341632": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565461696": {"type": "Union", "items": [{"nodeId": "140042565461584"}, {"nodeId": "N"}]}, "140042565461584": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565461920": {"type": "Union", "items": [{"nodeId": "140042565461808"}, {"nodeId": "N"}]}, "140042565461808": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042569515408": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577732864"}, {"nodeId": "140042569432896"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042569428304"}]}]}, "140042569432896": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569428304": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565462032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462256": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565462368": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565462592": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462928": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565462816"}]}, {"nodeId": "N"}]}, "140042565462816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565463040"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565463264"}, {"nodeId": "140042565463488"}, {"nodeId": "140042565463712"}, {"nodeId": "140042565463936"}, {"nodeId": "140042565464048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565464384"}, {"nodeId": "140042565464608"}, {"nodeId": "140042565464720"}, {"nodeId": "140042565464944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565465056"}, {"nodeId": "140042565465168"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565465280"}, {"nodeId": "140042565465392"}, {"nodeId": "140042565465616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565463040": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565463264": {"type": "Union", "items": [{"nodeId": "140042565463152"}, {"nodeId": "N"}]}, "140042565463152": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565463488": {"type": "Union", "items": [{"nodeId": "140042565463376"}, {"nodeId": "N"}]}, "140042565463376": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463712": {"type": "Union", "items": [{"nodeId": "140042565463600"}, {"nodeId": "N"}]}, "140042565463600": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463936": {"type": "Union", "items": [{"nodeId": "140042565463824"}, {"nodeId": "N"}]}, "140042565463824": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565464048": {"type": "Union", "items": [{"nodeId": "140042565340960"}, {"nodeId": "N"}]}, "140042565340960": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565464384": {"type": "Union", "items": [{"nodeId": "140042565464272"}, {"nodeId": "N"}]}, "140042565464272": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565464608": {"type": "Union", "items": [{"nodeId": "140042565464496"}, {"nodeId": "N"}]}, "140042565464496": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565464720": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565464944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565465056": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565465168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565465280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465616": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565465504"}]}, {"nodeId": "N"}]}, "140042565465504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565465728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565465952"}, {"nodeId": "140042565466176"}, {"nodeId": "140042565466400"}, {"nodeId": "140042565466624"}, {"nodeId": "140042565466736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565467072"}, {"nodeId": "140042565467296"}, {"nodeId": "0"}, {"nodeId": "140042565467632"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565467744"}, {"nodeId": "140042565467856"}, {"nodeId": "140042565467968"}, {"nodeId": "140042565517376"}, {"nodeId": "140042565517488"}, {"nodeId": "140042565517712"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565465728": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565465952": {"type": "Union", "items": [{"nodeId": "140042565465840"}, {"nodeId": "N"}]}, "140042565465840": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565466176": {"type": "Union", "items": [{"nodeId": "140042565466064"}, {"nodeId": "N"}]}, "140042565466064": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466400": {"type": "Union", "items": [{"nodeId": "140042565466288"}, {"nodeId": "N"}]}, "140042565466288": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466624": {"type": "Union", "items": [{"nodeId": "140042565466512"}, {"nodeId": "N"}]}, "140042565466512": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466736": {"type": "Union", "items": [{"nodeId": "140042565342304"}, {"nodeId": "N"}]}, "140042565342304": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565467072": {"type": "Union", "items": [{"nodeId": "140042565466960"}, {"nodeId": "N"}]}, "140042565466960": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565467296": {"type": "Union", "items": [{"nodeId": "140042565467184"}, {"nodeId": "N"}]}, "140042565467184": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565467632": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565467744": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565467856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565467968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565517376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517712": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565517600"}]}, {"nodeId": "N"}]}, "140042565517600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565517824"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565518048"}, {"nodeId": "140042565518272"}, {"nodeId": "140042565518496"}, {"nodeId": "140042565518720"}, {"nodeId": "140042565518832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565519168"}, {"nodeId": "140042565519392"}, {"nodeId": "140042565519504"}, {"nodeId": "140042565519728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "0"}, {"nodeId": "140042565519952"}, {"nodeId": "140042565520064"}, {"nodeId": "140042565520176"}, {"nodeId": "140042565520288"}, {"nodeId": "140042565520512"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565517824": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565518048": {"type": "Union", "items": [{"nodeId": "140042565517936"}, {"nodeId": "N"}]}, "140042565517936": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565518272": {"type": "Union", "items": [{"nodeId": "140042565518160"}, {"nodeId": "N"}]}, "140042565518160": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518496": {"type": "Union", "items": [{"nodeId": "140042565518384"}, {"nodeId": "N"}]}, "140042565518384": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518720": {"type": "Union", "items": [{"nodeId": "140042565518608"}, {"nodeId": "N"}]}, "140042565518608": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518832": {"type": "Union", "items": [{"nodeId": "140042565342528"}, {"nodeId": "N"}]}, "140042565342528": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565519168": {"type": "Union", "items": [{"nodeId": "140042565519056"}, {"nodeId": "N"}]}, "140042565519056": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565519392": {"type": "Union", "items": [{"nodeId": "140042565519280"}, {"nodeId": "N"}]}, "140042565519280": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565519504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565519728": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565519952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520512": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565520400"}]}, {"nodeId": "N"}]}, "140042565520400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565520624"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565520848"}, {"nodeId": "140042565521072"}, {"nodeId": "140042565521296"}, {"nodeId": "140042565521520"}, {"nodeId": "140042565521632"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565521968"}, {"nodeId": "140042565522192"}, {"nodeId": "140042565522416"}, {"nodeId": "140042565522640"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565522864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042565522976"}, {"nodeId": "140042565523088"}, {"nodeId": "140042565523312"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565520624": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565520848": {"type": "Union", "items": [{"nodeId": "140042565520736"}, {"nodeId": "N"}]}, "140042565520736": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565521072": {"type": "Union", "items": [{"nodeId": "140042565520960"}, {"nodeId": "N"}]}, "140042565520960": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521296": {"type": "Union", "items": [{"nodeId": "140042565521184"}, {"nodeId": "N"}]}, "140042565521184": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521520": {"type": "Union", "items": [{"nodeId": "140042565521408"}, {"nodeId": "N"}]}, "140042565521408": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521632": {"type": "Union", "items": [{"nodeId": "140042565342752"}, {"nodeId": "N"}]}, "140042565342752": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565521968": {"type": "Union", "items": [{"nodeId": "140042565521856"}, {"nodeId": "N"}]}, "140042565521856": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565522192": {"type": "Union", "items": [{"nodeId": "140042565522080"}, {"nodeId": "N"}]}, "140042565522080": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565522416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565522640": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565522864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042565522976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523312": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565523200"}]}, {"nodeId": "N"}]}, "140042565523200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598737152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042565523536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565523760"}, {"nodeId": "140042565523984"}, {"nodeId": "140042565524208"}, {"nodeId": "140042565524432"}, {"nodeId": "140042565524544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565524880"}, {"nodeId": "140042565525104"}, {"nodeId": "140042565525216"}, {"nodeId": "140042565525440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565525552"}, {"nodeId": "140042565525664"}, {"nodeId": "140042565525776"}, {"nodeId": "140042565525888"}, {"nodeId": "140042565526000"}, {"nodeId": "140042565526224"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565523536": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565523760": {"type": "Union", "items": [{"nodeId": "140042565523648"}, {"nodeId": "N"}]}, "140042565523648": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565523984": {"type": "Union", "items": [{"nodeId": "140042565523872"}, {"nodeId": "N"}]}, "140042565523872": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524208": {"type": "Union", "items": [{"nodeId": "140042565524096"}, {"nodeId": "N"}]}, "140042565524096": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524432": {"type": "Union", "items": [{"nodeId": "140042565524320"}, {"nodeId": "N"}]}, "140042565524320": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524544": {"type": "Union", "items": [{"nodeId": "140042565342976"}, {"nodeId": "N"}]}, "140042565342976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565524880": {"type": "Union", "items": [{"nodeId": "140042565524768"}, {"nodeId": "N"}]}, "140042565524768": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565525104": {"type": "Union", "items": [{"nodeId": "140042565524992"}, {"nodeId": "N"}]}, "140042565524992": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565525216": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525440": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565525552": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525888": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526224": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565526112"}]}, {"nodeId": "N"}]}, "140042565526112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "140042565526336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565526336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042598743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042565526448": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042594025536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526560"}, {"nodeId": "140042565526672"}], "returnType": {"nodeId": "140042565526896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140042565526560": {"type": "Union", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": "N"}]}, "140042565526672": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042565526896": {"type": "Tuple", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": ".1.140042578063232"}]}, "140042594025984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140042594026432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594026880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594027328": {"type": "Function", "typeVars": [".-1.140042594027328"], "argTypes": [{"nodeId": ".-1.140042594027328"}], "returnType": {"nodeId": ".-1.140042594027328"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042594027328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594027328", "variance": "INVARIANT"}, "140042594027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565527008"}, {"nodeId": "140042565527120"}, {"nodeId": "140042565527232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042565527008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565527120": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042565527232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594028224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042653231456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}], "returnType": {"nodeId": "140042560920752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560920752": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569348960": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526792208"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531319680"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318784"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318112"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318560"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055072"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042526792208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531319680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922544"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922544": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922432"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922432": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922768"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922768": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923104"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923104": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531055072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923216"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923216": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042569349296": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526794448"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531528640"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529760"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529984"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530208"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530432"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526794448": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531528640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560924672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560924672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569349632": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526796240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653364320"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531531776"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526796240": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042653364320": {"type": "Function", "typeVars": [".-1.140042653364320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042653364320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140042653364320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042653364320", "variance": "INVARIANT"}, "140042531531776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560928816"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560928816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573738528": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573738192"}], "isAbstract": false}, "140042569632448": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634656"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635104"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635552"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636000"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569632448"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140042569632448": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140042573738192"}, "def": "140042569632448", "variance": "INVARIANT"}, "140042661634656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042661636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573738864": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560957888"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636448"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042560957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740880": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573905984": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573906320": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": false}, "140042656937824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906320"}, {"nodeId": "140042556256016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256016": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042573906656": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938272"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663648"}]}], "isAbstract": false}, "140042656938272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906656"}, {"nodeId": "140042556256128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569663648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573906992": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907328": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907664": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573908336": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573908672": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909008": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909680": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910016": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910352": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910688": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911024": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911360": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911696": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912032": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912368": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912704": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913040": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913376": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913712": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914048": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914720": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573915056": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938720"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663536"}]}], "isAbstract": false}, "140042656938720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915056"}, {"nodeId": "140042556256240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256240": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569663536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573915392": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939168"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042782776944"}]}], "isAbstract": false}, "140042656939168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042573915728": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140042573915728"}], "bases": [{"nodeId": "140042573739536"}, {"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573915728"}]}], "isAbstract": false}, ".1.140042573915728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573915728", "variance": "INVARIANT"}, "140042573916064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573916400": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042573816752"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939616"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573738864"}], "isAbstract": false}, "140042573816752": {"type": "Union", "items": [{"nodeId": "140042573816416"}, {"nodeId": "140042573816640"}]}, "140042573816416": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042573816640": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}, {"nodeId": "140042577365696"}]}, "140042656939616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916400"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573916064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573916736": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186528"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186976"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042657186080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140042657186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573917072": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917408": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917744": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042573918080": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042480720176": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607712"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608160"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608608"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140042480719840"}], "isAbstract": false}, "140042661607264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042480721520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140042661607712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399664"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399664": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399776"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399776": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399888": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042573232640": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852448"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "isAbstract": false}, "140042648852000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648852448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573232976": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648854240"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548579008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856480"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648857376"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544073408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858272"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858720"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648859168"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262688"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573233312"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "140042573233312"}]}}], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042648854240": {"type": "Function", "typeVars": [".-1.140042648854240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042573232640"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042648854240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140042648854240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648854240", "variance": "INVARIANT"}, "140042548579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573232640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140042648856032": {"type": "Function", "typeVars": [".-1.140042648856032"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856032": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856032", "variance": "INVARIANT"}, "140042648856480": {"type": "Function", "typeVars": [".-1.140042648856480"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856480"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856480": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856480", "variance": "INVARIANT"}, "140042648856928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648857376": {"type": "Function", "typeVars": [".-1.140042648857376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042648857376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648857376": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648857376", "variance": "INVARIANT"}, "140042544073408": {"type": "Function", "typeVars": [".-1.140042544073408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042544073408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042544073408": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042544073408", "variance": "INVARIANT"}, "140042648858272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648858720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648859168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561262688": {"type": "Overloaded", "items": [{"nodeId": "140042648859616"}, {"nodeId": "140042648860512"}]}, "140042648859616": {"type": "Function", "typeVars": [".-1.140042648859616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042648859616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140042648859616": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648859616", "variance": "INVARIANT"}, "140042648860512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561266944"}, {"nodeId": "140042561267056"}, {"nodeId": "140042561267168"}, {"nodeId": "140042561267280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140042561266944": {"type": "TypeAlias", "target": {"nodeId": "140042573248688"}}, "140042573248688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042573246896"}]}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042573246896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042561267056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267280": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042573233648": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527347584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648931232"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573233312"}], "isAbstract": false}, "140042527347584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648931232": {"type": "Function", "typeVars": [".-1.140042648931232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648931232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648931232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648931232", "variance": "INVARIANT"}, "140042569632112": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648932576"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042527101152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648932576": {"type": "Function", "typeVars": [".-1.140042648932576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042648932576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042648932576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648932576", "variance": "INVARIANT"}, "140042573726096": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939296"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939744"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940192"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940640"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548367584"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548378560"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371840"}}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573725760"}], "isAbstract": false}, "140042648939296": {"type": "Function", "typeVars": [".-1.140042648939296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648939296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939296", "variance": "INVARIANT"}, "140042648939744": {"type": "Function", "typeVars": [".-1.140042648939744"], "argTypes": [{"nodeId": ".-1.140042648939744"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648939744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939744", "variance": "INVARIANT"}, "140042648940192": {"type": "Function", "typeVars": [".-1.140042648940192"], "argTypes": [{"nodeId": ".-1.140042648940192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940192", "variance": "INVARIANT"}, "140042648940640": {"type": "Function", "typeVars": [".-1.140042648940640"], "argTypes": [{"nodeId": ".-1.140042648940640"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940640", "variance": "INVARIANT"}, "140042548367584": {"type": "Function", "typeVars": [".-1.140042548367584"], "argTypes": [{"nodeId": ".-1.140042548367584"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548367584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548367584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548367584", "variance": "INVARIANT"}, "140042548378560": {"type": "Function", "typeVars": [".-1.140042548378560"], "argTypes": [{"nodeId": ".-1.140042548378560"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548378560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548378560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548378560", "variance": "INVARIANT"}, "140042548371840": {"type": "Function", "typeVars": [".-1.140042548371840"], "argTypes": [{"nodeId": ".-1.140042548371840"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548371840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548371840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548371840", "variance": "INVARIANT"}, "140042573725760": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248464"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101600"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527106304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648933920"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934368"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935712"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648936160"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573248464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042561268064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561268064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527106304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648933920": {"type": "Function", "typeVars": [".-1.140042648933920"], "argTypes": [{"nodeId": ".-1.140042648933920"}, {"nodeId": ".-1.140042648933920"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648933920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648933920", "variance": "INVARIANT"}, "140042648934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648934816": {"type": "Function", "typeVars": [".-1.140042648934816"], "argTypes": [{"nodeId": ".-1.140042648934816"}, {"nodeId": ".-1.140042648934816"}], "returnType": {"nodeId": ".-1.140042648934816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648934816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648934816", "variance": "INVARIANT"}, "140042648935264": {"type": "Function", "typeVars": [".-1.140042648935264"], "argTypes": [{"nodeId": ".-1.140042648935264"}, {"nodeId": ".-1.140042648935264"}], "returnType": {"nodeId": ".-1.140042648935264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935264", "variance": "INVARIANT"}, "140042648935712": {"type": "Function", "typeVars": [".-1.140042648935712"], "argTypes": [{"nodeId": ".-1.140042648935712"}, {"nodeId": ".-1.140042648935712"}], "returnType": {"nodeId": ".-1.140042648935712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935712", "variance": "INVARIANT"}, "140042648936160": {"type": "Function", "typeVars": [".-1.140042648936160"], "argTypes": [{"nodeId": ".-1.140042648936160"}], "returnType": {"nodeId": ".-1.140042648936160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648936160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648936160", "variance": "INVARIANT"}, "140042577723456": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112352"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723456"}], "bases": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577723456"}]}], "isAbstract": false}, "140042649112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723456", "args": [{"nodeId": ".1.140042577723456"}]}, {"nodeId": "140042556318976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723456": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723456", "variance": "COVARIANT"}, "140042556318976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723456"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577723792": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112800"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723792"}], "bases": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577723792"}]}], "isAbstract": false}, "140042649112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723792", "args": [{"nodeId": ".1.140042577723792"}]}, {"nodeId": "140042556318304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723792": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723792", "variance": "COVARIANT"}, "140042556318304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577724128": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042577369728"}], "isAbstract": false}, "140042573918752": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556311360"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523384672"}}], "typeVars": [{"nodeId": ".1.140042573918752"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140042556311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042573918752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573918752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918752", "variance": "COVARIANT"}, "140042523384672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}, {"nodeId": "140042556259040"}, {"nodeId": "140042556259152"}, {"nodeId": "140042556259264"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556259376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556259040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556259152": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556259264": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556259376": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919424": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117056"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577260192"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117504"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573919424"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042573919088"}], "isAbstract": false}, "140042649117056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556311136"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573919424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573919424", "variance": "COVARIANT"}, "140042556311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573919424"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577260192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042649117504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556259936"}, {"nodeId": "140042556260048"}, {"nodeId": "140042556260160"}], "returnType": {"nodeId": "140042556440640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556259936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556260048": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556260160": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556440640": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919760": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118400"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649118400": {"type": "Function", "typeVars": [".-1.140042649118400"], "argTypes": [{"nodeId": "140042573919760"}, {"nodeId": ".-1.140042649118400"}], "returnType": {"nodeId": ".-1.140042649118400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649118400": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140042577260640"}, "def": "140042649118400", "variance": "INVARIANT"}, "140042577260640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573920096": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118848"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585998496"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556312704"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573920096"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042573919760"}], "isAbstract": false}, "140042649118848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556312928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573920096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573920096", "variance": "COVARIANT"}, "140042556312928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042573920096"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042556312704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556441088"}, {"nodeId": "140042556441200"}, {"nodeId": "140042556441312"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556441424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140042556441088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441200": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556441424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573920432": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121088"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close"]}, "140042649121088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920432"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573920768": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121984"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573920768"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573920768"}]}], "isAbstract": false}, "140042649121536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": ".1.140042573920768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573920768": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140042573920432"}, "def": "140042573920768", "variance": "INVARIANT"}, "140042649121984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573921104": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122432"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["aclose"]}, "140042649122432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921104"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573921440": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556313600"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573921440"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573921440"}]}], "isAbstract": false}, "140042649122880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": ".1.140042573921440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573921440": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140042573921104"}, "def": "140042573921440", "variance": "INVARIANT"}, "140042556313600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140042573921776": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649123776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649124224"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140042649123776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140042649124224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "140042556441760"}, {"nodeId": "140042556441872"}, {"nodeId": "140042556441984"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441760": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441872": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441984": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305152"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305600"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042568794176"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568794176"}]}], "isAbstract": false}, "140042649305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": ".1.140042568794176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140042568794176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794176", "variance": "INVARIANT"}, "140042573812496": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": "140042556442096"}, {"nodeId": "140042556442208"}, {"nodeId": "140042556442320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556442096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140042568794512"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794512"}]}], "isAbstract": false}, ".1.140042568794512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794512", "variance": "INVARIANT"}, "140042568794848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140042568794848"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794848"}]}], "isAbstract": false}, ".1.140042568794848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794848", "variance": "INVARIANT"}, "140042568795184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306048"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306496"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306944"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307392"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307840"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308288"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308736"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649306048": {"type": "Function", "typeVars": [".-1.140042649306048"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649306048"}]}], "returnType": {"nodeId": ".-1.140042649306048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649306048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649306048", "variance": "INVARIANT"}, "140042649306496": {"type": "Function", "typeVars": [".-1.140042649306496"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": ".-1.140042649306496"}], "returnType": {"nodeId": ".-1.140042649306496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649306496": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649306496", "variance": "INVARIANT"}, "140042569664208": {"type": "Union", "items": [{"nodeId": "140042573918416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569663984"}]}, "140042569663984": {"type": "TypeAlias", "target": {"nodeId": "140042577223616"}}, "140042577223616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573817648"}, {"nodeId": "140042573817088"}, {"nodeId": "140042573817312"}], "returnType": {"nodeId": "140042573817424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573817648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573817088": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573817312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573817424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556313824"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556313824": {"type": "Function", "typeVars": [".-2.140042556313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556313824"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556313824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556313824", "variance": "INVARIANT"}, "140042556314048": {"type": "Function", "typeVars": [".-2.140042556314048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314048"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314048", "variance": "INVARIANT"}, "140042649307392": {"type": "Function", "typeVars": [".-1.140042649307392"], "argTypes": [{"nodeId": ".-1.140042649307392"}], "returnType": {"nodeId": ".-1.140042649307392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649307392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649307392", "variance": "INVARIANT"}, "140042649307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649308288": {"type": "Function", "typeVars": [".-1.140042649308288"], "argTypes": [{"nodeId": ".-1.140042649308288"}], "returnType": {"nodeId": ".-1.140042649308288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042649308288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649308288", "variance": "INVARIANT"}, "140042649308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556441648"}, {"nodeId": "140042556442544"}, {"nodeId": "140042556442656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309184"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556314272"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310528"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310976"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311424"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309632"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311872"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312768"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312320"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649309184": {"type": "Function", "typeVars": [".-1.140042649309184"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649309184"}]}], "returnType": {"nodeId": ".-1.140042649309184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649309184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309184", "variance": "INVARIANT"}, "140042556314272": {"type": "Function", "typeVars": [".-1.140042556314272"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918752", "args": [{"nodeId": ".-1.140042556314272"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042556314272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042556314272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314272", "variance": "INVARIANT"}, "140042649310080": {"type": "Function", "typeVars": [".-1.140042649310080"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310080"}], "returnType": {"nodeId": ".-1.140042649310080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649310080", "variance": "INVARIANT"}, "140042649310528": {"type": "Function", "typeVars": [".-1.140042649310528"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310528"}], "returnType": {"nodeId": ".-1.140042649310528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310528": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140042569665216"}, "def": "140042649310528", "variance": "INVARIANT"}, "140042569665216": {"type": "Union", "items": [{"nodeId": "140042573918752", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569665552"}]}, "140042569665552": {"type": "TypeAlias", "target": {"nodeId": "140042585998720"}}, "140042585998720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573821568"}, {"nodeId": "140042573819216"}, {"nodeId": "140042573821232"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042573821344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573821568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573819216": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573821232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573821344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649310976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310688"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310688": {"type": "Function", "typeVars": [".-2.140042556310688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556310688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310688", "variance": "INVARIANT"}, "140042556314496": {"type": "Function", "typeVars": [".-2.140042556314496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314496"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314496", "variance": "INVARIANT"}, "140042649311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310240"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310240": {"type": "Function", "typeVars": [".-2.140042556310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556310240"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310240", "variance": "INVARIANT"}, "140042556314944": {"type": "Function", "typeVars": [".-2.140042556314944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556314944"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314944", "variance": "INVARIANT"}, "140042649309632": {"type": "Function", "typeVars": [".-1.140042649309632"], "argTypes": [{"nodeId": ".-1.140042649309632"}], "returnType": {"nodeId": ".-1.140042649309632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649309632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309632", "variance": "INVARIANT"}, "140042649311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649312768": {"type": "Function", "typeVars": [".-1.140042649312768"], "argTypes": [{"nodeId": ".-1.140042649312768"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042649312768"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649312768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649312768", "variance": "INVARIANT"}, "140042649312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556443216"}, {"nodeId": "140042556443552"}, {"nodeId": "140042556443664"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556443552": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556443664": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042568795856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556443104"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315008"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314112"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315456"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042568795856"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042568795856"}]}], "isAbstract": false}, ".1.140042568795856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568795856", "variance": "INVARIANT"}, "140042556443104": {"type": "Overloaded", "items": [{"nodeId": "140042649313216"}, {"nodeId": "140042649313664"}]}, "140042649313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042649313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": ".1.140042568795856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140042649314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": ".1.140042568795856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042649315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042649314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042568795856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140042578065584": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540412352"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540410336"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540409440"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408768"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408096"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540407424"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565460240"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565530704"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531488"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531712"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330016"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330464"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330912"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540406752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565532832"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644332704"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333152"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333600"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065584"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065584": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065584", "variance": "INVARIANT"}, "140042540410336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540409440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540408768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042540408096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540407424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578065920": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540303744"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540304192"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305088"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305760"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565533280"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560373696"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374480"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374928"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375376"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375824"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376496"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376944"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644475232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065920"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540303744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065920": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065920", "variance": "INVARIANT"}, "140042540304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": ".1.140042578065920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533280": {"type": "Overloaded", "items": [{"nodeId": "140042644335840"}, {"nodeId": "140042565345888"}]}, "140042644335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374592": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560374704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560374816": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560373696": {"type": "Overloaded", "items": [{"nodeId": "140042644336736"}, {"nodeId": "140042565343200"}]}, "140042644336736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375040": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565343200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375152": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375264": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374480": {"type": "Overloaded", "items": [{"nodeId": "140042644337632"}, {"nodeId": "140042565346112"}]}, "140042644337632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375488": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565346112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375712": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374928": {"type": "Overloaded", "items": [{"nodeId": "140042644338528"}, {"nodeId": "140042565346336"}]}, "140042644338528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042565346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376160"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376160": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376384": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "A"}]}, "140042560375376": {"type": "Overloaded", "items": [{"nodeId": "140042644339424"}, {"nodeId": "140042565346560"}]}, "140042644339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376720"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560376720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375824": {"type": "Overloaded", "items": [{"nodeId": "140042644340320"}, {"nodeId": "140042565346784"}]}, "140042644340320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377056"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560377056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376496": {"type": "Overloaded", "items": [{"nodeId": "140042644472544"}, {"nodeId": "140042565347456"}]}, "140042644472544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377280"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347008"}]}, "140042565347008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042565347456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377504"}, {"nodeId": "140042560377728"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377504": {"type": "Union", "items": [{"nodeId": "140042560377392"}, {"nodeId": "140042565345216"}]}, "140042560377392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565345216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560377616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560377616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560377728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376944": {"type": "Overloaded", "items": [{"nodeId": "140042644473440"}, {"nodeId": "140042565348128"}]}, "140042644473440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377952"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347232"}]}, "140042565347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378176": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560378400"}, {"nodeId": "140042560378624"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560378400": {"type": "Union", "items": [{"nodeId": "140042560378288"}, {"nodeId": "140042565347680"}]}, "140042560378288": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560378512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378512": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378624": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378848": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042644474336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644474784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644475232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042565460240": {"type": "Overloaded", "items": [{"nodeId": "140042644325984"}, {"nodeId": "140042565339392"}]}, "140042644325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565339392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565531600"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565531600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565530704": {"type": "Overloaded", "items": [{"nodeId": "140042644326880"}, {"nodeId": "140042644327328"}, {"nodeId": "140042644327776"}]}, "140042644326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565531936"}], "returnType": {"nodeId": "140042565532160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565531936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532160": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565532272"}, {"nodeId": "140042565532384"}, {"nodeId": "140042565532496"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565532720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140042565532272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532496": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532720": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042565531488": {"type": "Overloaded", "items": [{"nodeId": "140042644328224"}, {"nodeId": "140042644328672"}]}, "140042644328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533056": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644328672": {"type": "Function", "typeVars": [".-1.140042644328672"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644328672"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644328672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644328672", "variance": "INVARIANT"}, "140042565533168": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644328672"}]}, "140042565531712": {"type": "Overloaded", "items": [{"nodeId": "140042644329120"}, {"nodeId": "140042644329568"}]}, "140042644329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042565533504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533504": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644329568": {"type": "Function", "typeVars": [".-1.140042644329568"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644329568"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042560372800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644329568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644329568", "variance": "INVARIANT"}, "140042560372800": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644329568"}]}, "140042644330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560372912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560372912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373024": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373136"}], "returnType": {"nodeId": "140042560373360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560373360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042540406752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042560373584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560373584": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042565532832": {"type": "Overloaded", "items": [{"nodeId": "140042644331808"}, {"nodeId": "140042644332256"}]}, "140042644331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042644332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373920"}], "returnType": {"nodeId": "140042560374144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560373920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560374144": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644332704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644333152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644333600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569346272": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042569040944": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515054768"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644485760"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569762064"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009744"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009856"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042515054768": {"type": "Tuple", "items": []}, "140042644485760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042569762064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009744": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569041280": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041616": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041952": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515059248"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569041616"}], "isAbstract": false}, "140042515059248": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569042288": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515060256"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515060256": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569052368": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042624": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515061264"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569041952"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515061264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569043632": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042960": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515062608"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515062608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043296": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515063504"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515063504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043968": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515065520"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569769456"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515065520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337872": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510373536"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016576"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569016800"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761728"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510373536": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338208": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510374768"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761840"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510374768": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761840": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016576": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569016800": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761728": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569769456": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044304": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515066976"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764416"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515066976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764416": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044640": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068208"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338544": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510375664"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016912"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510375664": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569044976": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764864"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569764864": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569045312": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515069552"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515069552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569045648": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515169344"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515169344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569045984": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515170464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569760944"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515170464": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569760944": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569224864": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510251088"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510251088": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225872": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569223520": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510245824"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510245824": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569224192": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510249184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510249184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569228224": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569046320": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515171808"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764192"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761056"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515171808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764192": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569761056": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569046656": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515173264"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515173264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569046992": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515174608"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515174608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047328": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515175504"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515175504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047664": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515176624"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515176624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048000": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515177744"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515177744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339216": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510377680"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017024"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510377680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017024": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569048336": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515178864"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515178864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048672": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515179760"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761168"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761392"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515179760": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761168": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761392": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049008": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515181216"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569337536"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515181216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337536": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510371520"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016352"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016464"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569337200"}], "isAbstract": false}, "140042510371520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016352": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569337200": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569049344": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515182560"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761504"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515182560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761504": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049680": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515183344"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515183344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569338880": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510376672"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016688"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510376672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050016": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515184688"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761616"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515184688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050352": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515185360"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515185360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569050688": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510074592"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510074592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051024": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510075488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510075488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051360": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569051696": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052032": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052704": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510076608"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569227216"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510076608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569227216": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053040": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510077840"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510077840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569053376": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510078736"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569232928"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510078736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569232928": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053712": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510079744"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510079744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054048": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510080976"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510080976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054384": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510081872"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569010528"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510081872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010528": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569054720": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510082656"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510082656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569055056": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510083776"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510083776": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569336864": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510370512"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510370512": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055392": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510084784"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510084784": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055728": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086016"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086016": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220160": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086912"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086912": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220496": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510087696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510087696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569220832": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510088592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569765648"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510088592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569765648": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569221168": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510089488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510089488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569221504": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510238432"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569234608"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510238432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569234608": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569221840": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510239552"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510239552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569222176": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510240672"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010304"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510240672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010304": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569222512": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510241344"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510241344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569222848": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510243024"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010080"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569015792"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510243024": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569015792": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042569223184": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510244592"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569224864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510244592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569223856": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510247504"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016016"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016128"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016240"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510247504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016016": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016128": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016240": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569224528": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510250080"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510250080": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225200": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510252096"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510252096": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225536": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510253104"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510253104": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569226208": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226544": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226880": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569227552": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569227888": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569228560": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569228896": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229232": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229568": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229904": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230240": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230576": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230912": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231248": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231584": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231920": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232256": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232592": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569233264": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233600": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233936": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234272": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234944": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235280": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235616": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235952": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569334848": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335184": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335520": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335856": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336192": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336528": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569339552": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510378688"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569340224"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510378688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569340224": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379360"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569339888"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017136"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510379360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339888": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569017136": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569340560": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379472"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379472": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569340896": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379808"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017248"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042569341232": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380144"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569341568": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380480"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017584"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569341904": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510381264"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017696"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510381264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342240": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382048"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382048": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569342576": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017808"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017920"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017808": {"type": "Union", "items": [{"nodeId": "140042569339888"}, {"nodeId": "N"}]}, "140042569017920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342912": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382496"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382496": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042573220208": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}, {"nodeId": "140042577642880"}], "isAbstract": false}, "140042573220880": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709536"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709984"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710432"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710880"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644709536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031296"}], "returnType": {"nodeId": "140042561031408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031296": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042561031408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031520"}], "returnType": {"nodeId": "140042561031632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031520": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042561031632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042561031744"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573221216": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573220880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711328"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711776"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712224"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712672"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713120"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713568"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644711328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}], "returnType": {"nodeId": "140042573220880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644711776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031856": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644712224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031968": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032080": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644713120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573221552": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714016"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527174080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714912"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715360"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715808"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042573220880"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042569526496": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042568907040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042568906816"}]}, "140042568906816": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042644714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032304"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561032528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140042561032304": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042561032528": {"type": "Union", "items": [{"nodeId": "140042561032416"}, {"nodeId": "N"}]}, "140042561032416": {"type": "TypeAlias", "target": {"nodeId": "140042586011040"}}, "140042586011040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042527174080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032640"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644715360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644715808": {"type": "Function", "typeVars": [".-1.140042644715808"], "argTypes": [{"nodeId": ".-1.140042644715808"}], "returnType": {"nodeId": ".-1.140042644715808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644715808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644715808", "variance": "INVARIANT"}, "140042573221888": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716256"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716704"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644717152"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652320"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652768"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644716256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140042561032752": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644716704": {"type": "Function", "typeVars": [".-1.140042644716704"], "argTypes": [{"nodeId": ".-1.140042644716704"}], "returnType": {"nodeId": ".-1.140042644716704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644716704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644716704", "variance": "INVARIANT"}, "140042644717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573222224": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653216"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654112"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644653216": {"type": "Function", "typeVars": [".-1.140042644653216"], "argTypes": [{"nodeId": ".-1.140042644653216"}], "returnType": {"nodeId": ".-1.140042644653216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644653216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644653216", "variance": "INVARIANT"}, "140042644653664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644654112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573222560": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655456"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644654560": {"type": "Function", "typeVars": [".-1.140042644654560"], "argTypes": [{"nodeId": ".-1.140042644654560"}], "returnType": {"nodeId": ".-1.140042644654560"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644654560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644654560", "variance": "INVARIANT"}, "140042644655008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644655456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042561032976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032976": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573222896": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655904"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656352"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573222224"}, {"nodeId": "140042573222560"}], "isAbstract": false}, "140042644655904": {"type": "Function", "typeVars": [".-1.140042644655904"], "argTypes": [{"nodeId": ".-1.140042644655904"}], "returnType": {"nodeId": ".-1.140042644655904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644655904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644655904", "variance": "INVARIANT"}, "140042644656352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223232": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657248"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042644656800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042573220880"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140042644657248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573224240": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042644667104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}, {"nodeId": "140042561034096"}, {"nodeId": "140042561034208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140042561034096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561034208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042644667552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569637824": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644668000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640113952"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527778720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640114848"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": false}, "140042644668000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140042561034320": {"type": "Union", "items": [{"nodeId": "140042568800560"}, {"nodeId": "N"}]}, "140042568800560": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611212576"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518854368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213472"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213920"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214368"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042611212576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518854368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042611213472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611213920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "140042556825312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556825312": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042611214368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556825536": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042640113952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034544"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042561034544": {"type": "Union", "items": [{"nodeId": "140042561034432"}, {"nodeId": "140042577367376"}]}, "140042561034432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042527778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}], "returnType": {"nodeId": "140042561034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561034656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042640114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561034880": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042573228608": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573229280": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531331136"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042531331136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229280"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573229616": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118208"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118656"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531377376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640119552"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531380736"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042640118208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640118656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258544": {"type": "Union", "items": [{"nodeId": "140042578053488"}, {"nodeId": "N"}]}, "140042531377376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640119552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042531380736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561258880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140042561258880": {"type": "Union", "items": [{"nodeId": "140042561258768"}, {"nodeId": "140042577367376"}]}, "140042561258768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573229952": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531374464"}}], "typeVars": [], "bases": [{"nodeId": "140042573229616"}], "isAbstract": true}, "140042531374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042573230288": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640120896"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121344"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121792"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122240"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640120896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640121344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140042640121792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640122240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573230624": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122688"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123136"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123584"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640122688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259216"}], "returnType": {"nodeId": "140042561259328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042561259216": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259328": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640123136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640123584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259440"}, {"nodeId": "140042561259552"}], "returnType": {"nodeId": "140042561259664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042561259440": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259552": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561259664": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573230960": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124032"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124480"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124928"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125376"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640124032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561259776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561259776": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561260112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561260112": {"type": "Tuple", "items": [{"nodeId": "140042561259888"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042561259888": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640125376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561260224"}], "returnType": {"nodeId": "140042561260336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140042561260224": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561260336": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573231296": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126272"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126720"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640127168"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640125824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042640126272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640126720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260448"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640127168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260560"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573231632": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531417312"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531416416"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531415744"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531414400"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042531417312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531416416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531415744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042531414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573231968": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531413504"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531406784"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531319232"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531321248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561258208"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531320128"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531529312"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531532224"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531531328"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140042531413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531319232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573231968"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140042561258208": {"type": "Overloaded", "items": [{"nodeId": "140042640197888"}, {"nodeId": "140042640198336"}, {"nodeId": "140042640198784"}, {"nodeId": "140042640199232"}, {"nodeId": "140042640199680"}, {"nodeId": "140042640200128"}, {"nodeId": "140042640200576"}]}, "140042640197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561260784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561260896"}, {"nodeId": "140042561261008"}, {"nodeId": "140042561261120"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561260784": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042568901776": {"type": "Union", "items": [{"nodeId": "140042568903680"}, {"nodeId": "140042568903792"}, {"nodeId": "140042568901664"}]}, "140042568903680": {"type": "TypeAlias", "target": {"nodeId": "140042568901216"}}, "140042568901216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568903792": {"type": "TypeAlias", "target": {"nodeId": "140042568903344"}}, "140042568903344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568901664": {"type": "TypeAlias", "target": {"nodeId": "140042568905360"}}, "140042568905360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042561260896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640198336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261344"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261344": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042569008288": {"type": "Union", "items": [{"nodeId": "140042568906592"}, {"nodeId": "140042568906704"}, {"nodeId": "140042569007280"}]}, "140042568906592": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042568905584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568906704": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042569008400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042569007280": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042569008176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042640198784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261456"}, {"nodeId": "140042561262800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261456": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042561262800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561264032"}, {"nodeId": "140042561264144"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561264032": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042561264144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561265152"}, {"nodeId": "140042561261904"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561265152": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042561261904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640200128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561262912"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262912": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042640200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561262464"}, {"nodeId": "140042561264256"}, {"nodeId": "140042561265040"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561264256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561265040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042531320128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531529312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042531532224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531531328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561263136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042561263136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573232304": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527175648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203264"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203712"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204160"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204608"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140042573231632"}], "isAbstract": true}, "140042527175648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640203264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640203712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640204160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640204608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569629760": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057440"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057888"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056992"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056544"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056096"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779616"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779168"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527777376"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776928"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042523057440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041936"}], "returnType": {"nodeId": "140042561042048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561041936": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042048": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042523057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042160"}, {"nodeId": "140042561042272"}], "returnType": {"nodeId": "140042561042384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042160": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042272": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561042384": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042523056992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042527777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561042496"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561042496": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527776928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630096": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527775584"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772224"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774464"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771104"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772448"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527773792"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774016"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771776"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769312"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042527775584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042608"}], "returnType": {"nodeId": "140042561042720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561042608": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042720": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527772224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042832"}, {"nodeId": "140042561042944"}], "returnType": {"nodeId": "140042561043056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042832": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042944": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043056": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527774464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527771104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527772448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527773792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527774016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140042527771776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561043168"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561043168": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527769312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630432": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769536"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527768640"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": false}, "140042527769536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043280"}], "returnType": {"nodeId": "140042561043392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561043280": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043392": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527768640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043504"}, {"nodeId": "140042561043616"}], "returnType": {"nodeId": "140042561043728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043504": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043616": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043728": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573228272": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527667168"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668288"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668736"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527666048"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042527667168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042527668288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140042569350304": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611674464"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522734240"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042564603680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042611674464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}, {"nodeId": "140042561038912"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140042561038912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522734240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573227600": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677152"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677600"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140042573227264"}], "isAbstract": false}, "140042611676704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042569636816": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585572736"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585573184"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531116576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574080"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574528"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585575872"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576320"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576768"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577216"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577664"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578112"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578560"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579008"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579456"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579904"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580352"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580800"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585581248"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522272"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585584832"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585280"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585728"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586176"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586624"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585587072"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703360"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703808"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704256"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704704"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705152"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705600"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585706048"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531119040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707392"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707840"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708288"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709184"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709632"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710080"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710976"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042560555712": {"type": "Function", "typeVars": [".-1.140042560555712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527872"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042560555712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140042560527872": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560555712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555712", "variance": "INVARIANT"}, "140042585572736": {"type": "Function", "typeVars": [".-1.140042585572736"], "argTypes": [{"nodeId": ".-1.140042585572736"}], "returnType": {"nodeId": ".-1.140042585572736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042585572736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585572736", "variance": "INVARIANT"}, "140042585573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528096"}, {"nodeId": "140042560528208"}, {"nodeId": "140042560528320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042560528096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042560528208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042560528320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042531116576": {"type": "Function", "typeVars": [".-1.140042531116576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531116576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531116576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531116576", "variance": "INVARIANT"}, "140042585574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560528432"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560528432": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585574528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140042585575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585576320": {"type": "Function", "typeVars": [".-1.140042585576320"], "argTypes": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585576320", "variance": "INVARIANT"}, "140042585576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579904": {"type": "Function", "typeVars": [".-1.140042585579904"], "argTypes": [{"nodeId": ".-1.140042585579904"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585579904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585579904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585579904", "variance": "INVARIANT"}, "140042585580352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140042585580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042560528544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560528544": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140042560522272": {"type": "Overloaded", "items": [{"nodeId": "140042585581696"}, {"nodeId": "140042585582144"}, {"nodeId": "140042585582592"}, {"nodeId": "140042585583040"}, {"nodeId": "140042585583488"}, {"nodeId": "140042585583936"}, {"nodeId": "140042585584384"}]}, "140042585581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528768"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560528880"}, {"nodeId": "140042560528992"}, {"nodeId": "140042560529104"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560528768": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042560528880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560528992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529328"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529328": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585582592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529440"}, {"nodeId": "140042560530784"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529440": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042560530784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560532016"}, {"nodeId": "140042560532128"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560532016": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042560532128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533136"}, {"nodeId": "140042560529888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560533136": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042560529888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530896"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530896": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585584384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560530448"}, {"nodeId": "140042560532240"}, {"nodeId": "140042560533024"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560532240": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560533024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585584832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585586176": {"type": "Function", "typeVars": [".-1.140042585586176"], "argTypes": [{"nodeId": ".-1.140042585586176"}], "returnType": {"nodeId": ".-1.140042585586176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585586176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586176", "variance": "INVARIANT"}, "140042585586624": {"type": "Function", "typeVars": [".-1.140042585586624"], "argTypes": [{"nodeId": ".-1.140042585586624"}, {"nodeId": "140042560531120"}], "returnType": {"nodeId": ".-1.140042585586624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585586624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586624", "variance": "INVARIANT"}, "140042560531120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042569635808": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060448"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060000"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060224"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059552"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059328"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059104"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058880"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560553920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608448"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590610240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554592"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554816"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590611584"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612032"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612480"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612928"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613376"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613824"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590614272"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554368"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615168"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615616"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590616064"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555488"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531053280"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585571840"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560553920": {"type": "Function", "typeVars": [".-1.140042560553920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527088"}], "returnType": {"nodeId": ".-1.140042560553920"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042560527088": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560553920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560553920", "variance": "INVARIANT"}, "140042590608000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590608448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590608896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590610240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560554592": {"type": "Function", "typeVars": [".-1.140042560554592"], "argTypes": [{"nodeId": ".-1.140042560554592"}, {"nodeId": "140042560527200"}], "returnType": {"nodeId": ".-1.140042560554592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554592", "variance": "INVARIANT"}, "140042560527200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042560554816": {"type": "Function", "typeVars": [".-1.140042560554816"], "argTypes": [{"nodeId": ".-1.140042560554816"}, {"nodeId": "140042560527312"}], "returnType": {"nodeId": ".-1.140042560554816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554816", "variance": "INVARIANT"}, "140042560527312": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042560527424"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042560527424": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140042560554368": {"type": "Function", "typeVars": [".-1.140042560554368"], "argTypes": [{"nodeId": ".-1.140042560554368"}, {"nodeId": "140042560527536"}], "returnType": {"nodeId": ".-1.140042560554368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560554368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554368", "variance": "INVARIANT"}, "140042560527536": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590615168": {"type": "Function", "typeVars": [".-1.140042590615168"], "argTypes": [{"nodeId": ".-1.140042590615168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140042590615168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615168", "variance": "INVARIANT"}, "140042590615616": {"type": "Function", "typeVars": [".-1.140042590615616"], "argTypes": [{"nodeId": ".-1.140042590615616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140042590615616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615616", "variance": "INVARIANT"}, "140042590616064": {"type": "Function", "typeVars": [".-1.140042590616064"], "argTypes": [{"nodeId": ".-1.140042590616064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042590616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590616064", "variance": "INVARIANT"}, "140042560555488": {"type": "Function", "typeVars": [".-1.140042560555488"], "argTypes": [{"nodeId": ".-1.140042560555488"}, {"nodeId": "140042560527648"}], "returnType": {"nodeId": ".-1.140042560555488"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560555488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555488", "variance": "INVARIANT"}, "140042560527648": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042531053280": {"type": "Function", "typeVars": [".-1.140042531053280"], "argTypes": [{"nodeId": ".-1.140042531053280"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".-1.140042531053280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531053280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531053280", "variance": "INVARIANT"}, "140042531055520": {"type": "Function", "typeVars": [".-1.140042531055520"], "argTypes": [{"nodeId": ".-1.140042531055520"}], "returnType": {"nodeId": ".-1.140042531055520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531055520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531055520", "variance": "INVARIANT"}, "140042585571840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140042585587072": {"type": "Function", "typeVars": [".-1.140042585587072"], "argTypes": [{"nodeId": ".-1.140042585587072"}, {"nodeId": "140042560533808"}], "returnType": {"nodeId": ".-1.140042585587072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585587072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585587072", "variance": "INVARIANT"}, "140042560533808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042585703360": {"type": "Function", "typeVars": [".-1.140042585703360"], "argTypes": [{"nodeId": ".-1.140042585703360"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042585703360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140042585703360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703360", "variance": "INVARIANT"}, "140042585703808": {"type": "Function", "typeVars": [".-1.140042585703808"], "argTypes": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585703808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703808", "variance": "INVARIANT"}, "140042585704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531008"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140042560531008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140042585706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140042531119040": {"type": "Function", "typeVars": [".-1.140042531119040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531119040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531119040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531119040", "variance": "INVARIANT"}, "140042585707392": {"type": "Function", "typeVars": [".-1.140042585707392"], "argTypes": [{"nodeId": ".-1.140042585707392"}], "returnType": {"nodeId": ".-1.140042585707392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707392", "variance": "INVARIANT"}, "140042585707840": {"type": "Function", "typeVars": [".-1.140042585707840"], "argTypes": [{"nodeId": ".-1.140042585707840"}], "returnType": {"nodeId": ".-1.140042585707840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707840", "variance": "INVARIANT"}, "140042585708288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585708736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533920"}, {"nodeId": "140042560529776"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042560533920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585709184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530224"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140042560530224": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042585709632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042560530336": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042585710080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560531232"}, {"nodeId": "140042560531456"}, {"nodeId": "140042560531568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140042560531232": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585710976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531680": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042611677152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561039136": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042611677600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039248"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561039248": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042573227264": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737824"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737376"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036224"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736704"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736032"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736928"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735808"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735584"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735360"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735136"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042522737824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561038016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561038016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522737376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042561038128"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561038128": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573227264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140042561036224": {"type": "Overloaded", "items": [{"nodeId": "140042611718432"}, {"nodeId": "140042611718880"}]}, "140042611718432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140042611718880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140042561038352"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140042561038352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561038576"}], "returnType": {"nodeId": "140042573227600"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140042561038576": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573224576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224576": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590422848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522824480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140042590422848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590423744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590424192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590424640": {"type": "Function", "typeVars": [".-1.140042590424640"], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590424640"}], "returnType": {"nodeId": "140042561035664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590424640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590424640", "variance": "INVARIANT"}, "140042561035664": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140042590424640"}]}, "140042522824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042561035776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561035776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042522736928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573226256": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711264"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711712"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522758944"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522760960"}}], "typeVars": [], "bases": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573244768"}]}], "isAbstract": false}, "140042611711264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042561036896"}], "returnType": {"nodeId": "140042561037680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561036896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042561037680": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042569524592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611711712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042522758944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522760960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573244768": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042522735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522735584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038688": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042569638160"}]}, {"nodeId": "N"}]}, "140042569638160": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715296"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715744"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716192"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569524368"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526384"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573227264"}}], "typeVars": [], "bases": [{"nodeId": "140042569636144"}], "isAbstract": false}, "140042611715296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042611715744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611716192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569524368": {"type": "Union", "items": [{"nodeId": "140042573226928"}, {"nodeId": "N"}]}, "140042573226928": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716640"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042611716640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226928"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042569526384": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569636144": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042522735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042522735136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043840"}, {"nodeId": "140042561043952"}], "returnType": {"nodeId": "140042561044064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043840": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561044064": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561044176"}], "returnType": {"nodeId": "140042561044288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561044176": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561044288": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569630768": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319072"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527664704"}}], "typeVars": [], "bases": [{"nodeId": "140042573230960"}], "isAbstract": false}, "140042640319072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569630768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140042561257648": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042561257872"}], "returnType": {"nodeId": "140042560946912"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140042561257872": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042560946912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573230960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569631104": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319968"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042640319968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140042561257984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569631440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042569631776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320864"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321312"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321760"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322208"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322656"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640323104"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042573229952"}], "isAbstract": false}, "140042640320416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140042640320864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042561258096"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561258096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640321312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640321760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042640322208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640322656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640323104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578066256": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324672"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "readline"]}, "140042640324224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578066928": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573217856": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218192": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218528": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586009696"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586003424"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625664"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640626560"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627008"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627456"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586009696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140042573001472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573001472": {"type": "TypeAlias", "target": {"nodeId": "140042573236928"}}, "140042573236928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573004608"}, {"nodeId": "140042573234800"}, {"nodeId": "140042573235696"}, {"nodeId": "140042573236816"}]}, "140042573004608": {"type": "Tuple", "items": [{"nodeId": "140042577222944"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042577222944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573234800": {"type": "Tuple", "items": [{"nodeId": "140042577223392"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140042577223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235696": {"type": "Tuple", "items": [{"nodeId": "140042586011712"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573235584"}]}, "140042586011712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235584": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236816": {"type": "Tuple", "items": [{"nodeId": "140042586011264"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573236480"}, {"nodeId": "140042573236704"}]}, "140042586011264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573236480": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236704": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042586003424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573218864": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042586008128"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640628800"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629248"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629696"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586008128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640627904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042578066256"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560526304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140042560526304": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042640628800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640629248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640629696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140042640625216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560525408"}, {"nodeId": "140042782776944"}, {"nodeId": "140042560525520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140042560525408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042560525520": {"type": "TypeAlias", "target": {"nodeId": "140042572996208"}}, "140042572996208": {"type": "Union", "items": [{"nodeId": "140042577225184"}, {"nodeId": "N"}]}, "140042577225184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640625664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640626560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640627008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640627456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042498340704": {"type": "Concrete", "module": "__future__", "simpleName": "_Feature", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optionalRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mandatoryRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893856"}, "name": "getOptionalRelease"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640894304"}, "name": "getMandatoryRelease"}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}, {"nodeId": "140042485582528"}, {"nodeId": "140042485582752"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "optionalRelease", "mandatoryRelease", "compiler_flag"]}, "140042485582528": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042485581744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042485582752": {"type": "Union", "items": [{"nodeId": "140042485582640"}, {"nodeId": "N"}]}, "140042485582640": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485582864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485582864": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485583088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485583088": {"type": "Union", "items": [{"nodeId": "140042485582976"}, {"nodeId": "N"}]}, "140042485582976": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042464395328": {"type": "Concrete", "module": "numpy.ma.mrecords", "simpleName": "MaskedRecords", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "options", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640922256"}, "name": "__new__"}, {"kind": "Variable", "name": "_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228512"}}, {"kind": "Variable", "name": "_fieldmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923072"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923344"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923616"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923888"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924160"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924432"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924704"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924976"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925248"}, "name": "soften_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925792"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640926064"}, "name": "__reduce__"}], "typeVars": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "isAbstract": false}, "140042640922256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["cls", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "mask", "hard_mask", "fill_value", "keep_mask", "copy", "options"]}, "140042519228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042464395328": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042464395328", "variance": "INVARIANT"}, ".2.140042464395328": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042464395328", "variance": "COVARIANT"}, "140042519228960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640923344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640923616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640923888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042640924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640924432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042640924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042640924976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042640926064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498336672": {"type": "Concrete", "module": "zipfile", "simpleName": "BadZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337008": {"type": "Concrete", "module": "zipfile", "simpleName": "LargeZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337344": {"type": "Protocol", "module": "zipfile", "simpleName": "_ZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640896992"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042640896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498337680": {"type": "Protocol", "module": "zipfile", "simpleName": "_SupportsReadSeekTell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897440"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897888"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898336"}, "name": "tell"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek", "tell"]}, "140042640897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042640897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338016": {"type": "Protocol", "module": "zipfile", "simpleName": "_ClosableZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898784"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042498337344"}], "protocolMembers": ["close", "read"]}, "140042640898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338016"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338352": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipExtFile", "members": [{"kind": "Variable", "name": "MAX_N", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MIN_READ_SIZE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MAX_SEEK_READ", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485118480"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485119040"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636067552"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "limit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068000"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068448"}, "name": "peek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068896"}, "name": "read1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069344"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042485118480": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485115344": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119040": {"type": "Overloaded", "items": [{"nodeId": "140042640899232"}, {"nodeId": "140042640899680"}, {"nodeId": "140042636067104"}]}, "140042640899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119712"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485115120"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119712": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115120": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042640899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119936"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119600"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119936": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119600": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498337344"}, {"nodeId": "140042485120272"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119824"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485120272": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119824": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120608"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042485120608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636068000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "limit"]}, "140042636068448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042636068896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n"]}, "140042485120160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636069344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042498339360": {"type": "Concrete", "module": "zipfile", "simpleName": "PyZipFile", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optimize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filterfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079648"}, "name": "writepy"}], "typeVars": [], "bases": [{"nodeId": "140042498339024"}], "isAbstract": false}, "140042636079200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042485616080"}, {"nodeId": "140042485616192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "optimize"]}, "140042485616080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485616192": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042636079648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pathname", "basename", "filterfunc"]}, "140042485616528": {"type": "Union", "items": [{"nodeId": "140042485457952"}, {"nodeId": "N"}]}, "140042485457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498340032": {"type": "Protocol", "module": "zipfile", "simpleName": "_PathOpenProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636082336"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042636082336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340032"}, {"nodeId": "140042485616976"}, {"nodeId": "140042485617088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "pwd", "force_zip64"]}, "140042485616976": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485617088": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498340368": {"type": "Concrete", "module": "zipfile", "simpleName": "Path", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360544"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360096"}}, {"kind": "Variable", "name": "filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485359424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636265952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636266400"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267296"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267744"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268640"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269088"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269536"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269984"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636270880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485360544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485359424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636265952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "root", "at"]}, "140042485617312": {"type": "Union", "items": [{"nodeId": "140042498339024"}, {"nodeId": "140042485617200"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485617200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636266400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617424"}, {"nodeId": "A"}, {"nodeId": "140042485617648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "mode", "args", "pwd", "kwargs"]}, "140042485617424": {"type": "TypeAlias", "target": {"nodeId": "140042485116352"}}, "140042485116352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485617648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636267296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042498340368"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636267744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618096"}, {"nodeId": "140042485618208"}, {"nodeId": "140042485617872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042485618096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485618208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485617872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636269536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617984"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042485617984": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636270880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618320"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042485618320": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042498331632": {"type": "Concrete", "module": "ast", "simpleName": "_ABC", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272224"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042636272224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331632"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042498331968": {"type": "Concrete", "module": "ast", "simpleName": "Num", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042484919408"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042484919408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042498332304": {"type": "Concrete", "module": "ast", "simpleName": "Str", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332640": {"type": "Concrete", "module": "ast", "simpleName": "Bytes", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332976": {"type": "Concrete", "module": "ast", "simpleName": "NameConstant", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333312": {"type": "Concrete", "module": "ast", "simpleName": "Ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333648": {"type": "Concrete", "module": "ast", "simpleName": "slice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042498333984": {"type": "Concrete", "module": "ast", "simpleName": "ExtSlice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334320": {"type": "Concrete", "module": "ast", "simpleName": "Index", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334656": {"type": "Concrete", "module": "ast", "simpleName": "Suite", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042498334992": {"type": "Concrete", "module": "ast", "simpleName": "AugLoad", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335328": {"type": "Concrete", "module": "ast", "simpleName": "AugStore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335664": {"type": "Concrete", "module": "ast", "simpleName": "Param", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498336000": {"type": "Concrete", "module": "ast", "simpleName": "NodeVisitor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272672"}, "name": "visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273120"}, "name": "generic_visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273568"}, "name": "visit_Module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274016"}, "name": "visit_Interactive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274464"}, "name": "visit_Expression"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274912"}, "name": "visit_FunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275360"}, "name": "visit_AsyncFunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275808"}, "name": "visit_ClassDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276256"}, "name": "visit_Return"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276704"}, "name": "visit_Delete"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277152"}, "name": "visit_Assign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277600"}, "name": "visit_AugAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278048"}, "name": "visit_AnnAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278496"}, "name": "visit_For"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278944"}, "name": "visit_AsyncFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636279392"}, "name": "visit_While"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636607776"}, "name": "visit_If"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608224"}, "name": "visit_With"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608672"}, "name": "visit_AsyncWith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609120"}, "name": "visit_Raise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609568"}, "name": "visit_Try"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610016"}, "name": "visit_Assert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610464"}, "name": "visit_Import"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610912"}, "name": "visit_ImportFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611360"}, "name": "visit_Global"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611808"}, "name": "visit_Nonlocal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612256"}, "name": "visit_Expr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612704"}, "name": "visit_Pass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613152"}, "name": "visit_Break"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613600"}, "name": "visit_Continue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614048"}, "name": "visit_Slice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614496"}, "name": "visit_BoolOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614944"}, "name": "visit_BinOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615392"}, "name": "visit_UnaryOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615840"}, "name": "visit_Lambda"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616288"}, "name": "visit_IfExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616736"}, "name": "visit_Dict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617184"}, "name": "visit_Set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617632"}, "name": "visit_ListComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618080"}, "name": "visit_SetComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618528"}, "name": "visit_DictComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618976"}, "name": "visit_GeneratorExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619424"}, "name": "visit_Await"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619872"}, "name": "visit_Yield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620320"}, "name": "visit_YieldFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620768"}, "name": "visit_Compare"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621216"}, "name": "visit_Call"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621664"}, "name": "visit_FormattedValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622112"}, "name": "visit_JoinedStr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622560"}, "name": "visit_Constant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623008"}, "name": "visit_NamedExpr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623456"}, "name": "visit_TypeIgnore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706080"}, "name": "visit_Attribute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706528"}, "name": "visit_Subscript"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706976"}, "name": "visit_Starred"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707424"}, "name": "visit_Name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707872"}, "name": "visit_List"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708320"}, "name": "visit_Tuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708768"}, "name": "visit_Del"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709216"}, "name": "visit_Load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709664"}, "name": "visit_Store"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710112"}, "name": "visit_And"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710560"}, "name": "visit_Or"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711008"}, "name": "visit_Add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711456"}, "name": "visit_BitAnd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711904"}, "name": "visit_BitOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712352"}, "name": "visit_BitXor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712800"}, "name": "visit_Div"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713248"}, "name": "visit_FloorDiv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713696"}, "name": "visit_LShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714144"}, "name": "visit_Mod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714592"}, "name": "visit_Mult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715040"}, "name": "visit_MatMult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715488"}, "name": "visit_Pow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715936"}, "name": "visit_RShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716384"}, "name": "visit_Sub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716832"}, "name": "visit_Invert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717280"}, "name": "visit_Not"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717728"}, "name": "visit_UAdd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718176"}, "name": "visit_USub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718624"}, "name": "visit_Eq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719072"}, "name": "visit_Gt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719520"}, "name": "visit_GtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719968"}, "name": "visit_In"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720416"}, "name": "visit_Is"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720864"}, "name": "visit_IsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721312"}, "name": "visit_Lt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721760"}, "name": "visit_LtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837152"}, "name": "visit_NotEq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837600"}, "name": "visit_NotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838048"}, "name": "visit_comprehension"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838496"}, "name": "visit_ExceptHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838944"}, "name": "visit_arguments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839392"}, "name": "visit_arg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839840"}, "name": "visit_keyword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840288"}, "name": "visit_alias"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840736"}, "name": "visit_withitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841184"}, "name": "visit_Match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841632"}, "name": "visit_MatchValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842080"}, "name": "visit_MatchSequence"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842528"}, "name": "visit_MatchStar"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842976"}, "name": "visit_MatchMapping"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843424"}, "name": "visit_MatchClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843872"}, "name": "visit_MatchAs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636844320"}, "name": "visit_MatchOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845216"}, "name": "visit_ExtSlice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845664"}, "name": "visit_Index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846112"}, "name": "visit_Suite"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846560"}, "name": "visit_AugLoad"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847008"}, "name": "visit_AugStore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847456"}, "name": "visit_Param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847904"}, "name": "visit_Num"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848352"}, "name": "visit_Str"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848800"}, "name": "visit_Bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849248"}, "name": "visit_NameConstant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849696"}, "name": "visit_Ellipsis"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042636272672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636279392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636607776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048000"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050352"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050688"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569041952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225200"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228896"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231584"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232256"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233264"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235616"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569334848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569340560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636844320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498331968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042498336336": {"type": "Concrete", "module": "ast", "simpleName": "NodeTransformer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636850144"}, "name": "generic_visit"}], "typeVars": [], "bases": [{"nodeId": "140042498336000"}], "isAbstract": false}, "140042636850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336336"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "140042569040944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042468642480": {"type": "Concrete", "module": "numpy.lib.mixins", "simpleName": "NDArrayOperatorsMixin", "members": [{"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042405942144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632065792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066240"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067136"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593472"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594368"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594816"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595264"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596608"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597056"}, "name": "__matmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597504"}, "name": "__rmatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597952"}, "name": "__imatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598400"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599296"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599744"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600192"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600640"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601088"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601536"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601984"}, "name": "__imod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602432"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602880"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603328"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603776"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604224"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604672"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605120"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605568"}, "name": "__ilshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606016"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606464"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606912"}, "name": "__irshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607360"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607808"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608256"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608704"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632609152"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675392"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676288"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676736"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677184"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677632"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678080"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678528"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042405942144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "140042468234560"}, {"nodeId": "140042447564896"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042447564896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042632065792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042632603328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632603776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632609152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632677184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632677632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498330288": {"type": "Protocol", "module": "math", "simpleName": "_SupportsCeil", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627592288"}, "name": "__ceil__"}], "typeVars": [{"nodeId": ".1.140042498330288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ceil__"]}, "140042627592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330288", "args": [{"nodeId": ".1.140042498330288"}]}], "returnType": {"nodeId": ".1.140042498330288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330288", "variance": "COVARIANT"}, "140042498330624": {"type": "Protocol", "module": "math", "simpleName": "_SupportsFloor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627813152"}, "name": "__floor__"}], "typeVars": [{"nodeId": ".1.140042498330624"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__floor__"]}, "140042627813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330624", "args": [{"nodeId": ".1.140042498330624"}]}], "returnType": {"nodeId": ".1.140042498330624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330624", "variance": "COVARIANT"}, "140042498330960": {"type": "Protocol", "module": "math", "simpleName": "_SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627911456"}, "name": "__trunc__"}], "typeVars": [{"nodeId": ".1.140042498330960"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042627911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330960", "args": [{"nodeId": ".1.140042498330960"}]}], "returnType": {"nodeId": ".1.140042498330960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330960", "variance": "COVARIANT"}, "140042472656560": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065712"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065984"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628065440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "funcname"]}, "140042628065712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628065984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042472656896": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_single", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066256"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656896"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657232": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_seq", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066528"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657232"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657568": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_allargs", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066800"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468651552": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "MAxisConcatenator", "members": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042519193952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628203920"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042519193952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042628203920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651552"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468651888": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "mr_class", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628204192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042468651552"}], "isAbstract": false}, "140042628204192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480729584": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArrayFutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654976"}], "isAbstract": false}, "140042472653536": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUFunc", "members": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209088"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653536"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc"]}, "140042472653872": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUnaryOperation", "members": [{"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mufunc", "fill", "domain"]}, "140042628209632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "kwargs"]}, "140042472654208": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedBinaryOperation", "members": [{"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210176"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210448"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210720"}, "name": "outer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210992"}, "name": "accumulate"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mbfunc", "fillx", "filly"]}, "140042628210176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042628210448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "target", "axis", "dtype"]}, "140042628210720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042628210992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042472654544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_DomainedBinaryOperation", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211536"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628211264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dbfunc", "domain", "fillx", "filly"]}, "140042628211536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042472654880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedPrintOption", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "display", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217520"}, "name": "display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217792"}, "name": "set_display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218064"}, "name": "enabled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218336"}, "name": "enable"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628217248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "display"]}, "140042628217520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628217792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "s"]}, "140042628218064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628218336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "shrink"]}, "140042472655216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedIterator", "members": [{"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dataiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maskiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631968"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632240"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632512"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623631424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ma"]}, "140042623631696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623631968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623632240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468651216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedConstant", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807504"}, "name": "__new__"}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807776"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808048"}, "name": "__array_prepare__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808320"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808592"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808864"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809136"}, "name": "__iop__"}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809408"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809680"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809952"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623810224"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042469103024"}]}]}], "isAbstract": false}, "140042623807504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042623807776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623808048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042623808864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623809680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "memo"]}, "140042623810224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "value"]}, "140042469103024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472655552": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_extrema_operation", "members": [{"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value_func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811040"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811312"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926336"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926608"}, "name": "outer"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042623811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc", "compare", "fill_value"]}, "140042623811312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042623926336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042623926608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042472655888": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_frommethod", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927696"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927968"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623928240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623927696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "methodname", "reversed"]}, "140042623927968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623928240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "params"]}, "140042472656224": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_convert2ma", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936672"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936944"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623936400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "funcname", "params"]}, "140042623936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623936944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468639456": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedlessSeedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624158624"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159072"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042624158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639456"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447460544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460320"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447460544": {"type": "Union", "items": [{"nodeId": "140042447458976"}, {"nodeId": "140042447461216"}]}, "140042447458976": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447461216": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460320": {"type": "Union", "items": [{"nodeId": "140042447460432"}, {"nodeId": "140042447461328"}]}, "140042447460432": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461328": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624159072": {"type": "Function", "typeVars": [".-1.140042624159072"], "argTypes": [{"nodeId": ".-1.140042624159072"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042624159072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042624159072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042624159072", "variance": "INVARIANT"}, "140042480724208": {"type": "Concrete", "module": "unittest.case", "simpleName": "FunctionTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testFunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setUp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tearDown", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "description", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545760"}, "name": "runTest"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594545312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}, {"nodeId": "140042489954592"}, {"nodeId": "140042476498144"}, {"nodeId": "140042476498480"}, {"nodeId": "140042476498704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "testFunc", "setUp", "tearDown", "description"]}, "140042489954592": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498144": {"type": "Union", "items": [{"nodeId": "140042489954368"}, {"nodeId": "N"}]}, "140042489954368": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498480": {"type": "Union", "items": [{"nodeId": "140042489937504"}, {"nodeId": "N"}]}, "140042489937504": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594545760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480723872": {"type": "Concrete", "module": "unittest.case", "simpleName": "TestCase", "members": [{"kind": "Variable", "name": "failureException", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "longMessage", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "maxDiff", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489861440"}}, {"kind": "Variable", "name": "_testMethodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_testMethodDoc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503712"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504160"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504608"}, "name": "setUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607505056"}, "name": "tearDown"}, {"kind": "Variable", "name": "setUpClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489999232"}}, {"kind": "Variable", "name": "tearDownClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490001696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506400"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506848"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507296"}, "name": "skipTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507744"}, "name": "subTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508192"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508640"}, "name": "_addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607509088"}, "name": "assertEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337056"}, "name": "assertNotEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337504"}, "name": "assertTrue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337952"}, "name": "assertFalse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338400"}, "name": "assertIs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338848"}, "name": "assertIsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339296"}, "name": "assertIsNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339744"}, "name": "assertIsNotNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340192"}, "name": "assertIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340640"}, "name": "assertNotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341088"}, "name": "assertIsInstance"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341536"}, "name": "assertNotIsInstance"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489861664"}, "items": [{"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreater"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489868608"}, "items": [{"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreaterEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487168"}, "items": [{"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLess"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487504"}, "items": [{"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLessEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487840"}, "items": [{"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488176"}, "items": [{"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaisesRegex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488512"}, "items": [{"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarns"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476489408"}, "items": [{"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarnsRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349152"}, "name": "assertLogs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349600"}, "name": "assertNoLogs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476490528"}, "items": [{"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertAlmostEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476491088"}, "items": [{"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertNotAlmostEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534112"}, "name": "assertRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unexpected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534560"}, "name": "assertNotRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535008"}, "name": "assertCountEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535456"}, "name": "addTypeEqualityFunc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535904"}, "name": "assertMultiLineEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536352"}, "name": "assertSequenceEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536800"}, "name": "assertListEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537248"}, "name": "assertTupleEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537696"}, "name": "assertSetEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538144"}, "name": "assertDictEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538592"}, "name": "fail"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539040"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539488"}, "name": "defaultTestResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539936"}, "name": "id"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540384"}, "name": "shortDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540832"}, "name": "addCleanup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594542176"}, "name": "doCleanups"}, {"kind": "Variable", "name": "addClassCleanup", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490002592"}}, {"kind": "Variable", "name": "doClassCleanups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476995520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standardMsg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594543968"}, "name": "_formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544416"}, "name": "_getAssertEqualityFunc"}, {"kind": "Variable", "name": "failUnlessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996192"}}, {"kind": "Variable", "name": "assertEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996864"}}, {"kind": "Variable", "name": "failIfEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997312"}}, {"kind": "Variable", "name": "assertNotEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997760"}}, {"kind": "Variable", "name": "failUnless", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998208"}}, {"kind": "Variable", "name": "assert_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998656"}}, {"kind": "Variable", "name": "failIf", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999104"}}, {"kind": "Variable", "name": "failUnlessRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476823136"}}, {"kind": "Variable", "name": "failUnlessAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029072"}}, {"kind": "Variable", "name": "assertAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029408"}}, {"kind": "Variable", "name": "failIfAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029744"}}, {"kind": "Variable", "name": "assertNotAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030080"}}, {"kind": "Variable", "name": "assertRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999776"}}, {"kind": "Variable", "name": "assertNotRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477000896"}}, {"kind": "Variable", "name": "assertRaisesRegexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dictionary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544864"}, "name": "assertDictContainsSubset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489861440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607503712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "methodName"]}, "140042607504160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607504608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607505056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042490001696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042607506400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489868720"}], "returnType": {"nodeId": "140042489868944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489868720": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042480722192": {"type": "Concrete", "module": "unittest.result", "simpleName": "TestResult", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489864912"}]}}, {"kind": "Variable", "name": "failures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865136"}]}}, {"kind": "Variable", "name": "skipped", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865360"}]}}, {"kind": "Variable", "name": "expectedFailures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865584"}]}}, {"kind": "Variable", "name": "unexpectedSuccesses", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "shouldStop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "testsRun", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459936"}, "name": "printErrors"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681120"}, "name": "wasSuccessful"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681568"}, "name": "stop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682016"}, "name": "startTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682464"}, "name": "stopTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682912"}, "name": "startTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683360"}, "name": "stopTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683808"}, "name": "addError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684256"}, "name": "addFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684704"}, "name": "addSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685152"}, "name": "addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685600"}, "name": "addExpectedFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686048"}, "name": "addUnexpectedSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686496"}, "name": "addSubTest"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489864912": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865136": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865360": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865584": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042607459488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042489866816"}, {"nodeId": "140042489863344"}, {"nodeId": "140042489867040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042489866816": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042489863344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489867040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594682016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867152": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042569013440": {"type": "Union", "items": [{"nodeId": "140042569012432"}, {"nodeId": "140042569013328"}]}, "140042569012432": {"type": "TypeAlias", "target": {"nodeId": "140042569012544"}}, "140042569012544": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}]}, "140042569013328": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042594684256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867264": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594684704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594685152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "reason"]}, "140042594685600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867376": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594686048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594686496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "subtest", "err"]}, "140042489867600": {"type": "Union", "items": [{"nodeId": "140042489867488"}, {"nodeId": "N"}]}, "140042489867488": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042489868944": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607506848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489869056"}], "returnType": {"nodeId": "140042489869168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489869056": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042489869168": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607507296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042607507744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "params"]}, "140042607508192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607508640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "result", "test_case", "reason"]}, "140042607509088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594337952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594338400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594338848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594339744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489871520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489871520": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489872080"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489872080": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486720"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486720": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489862000": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042489861552"}]}]}, "140042489861552": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042594341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486944": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489861664": {"type": "Overloaded", "items": [{"nodeId": "140042594341984"}, {"nodeId": "140042594342432"}]}, "140042594341984": {"type": "Function", "typeVars": [".-1.140042594341984"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594341984"}]}, {"nodeId": ".-1.140042594341984"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594341984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594341984", "variance": "INVARIANT"}, "140042594342432": {"type": "Function", "typeVars": [".-1.140042594342432"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594342432"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594342432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342432", "variance": "INVARIANT"}, "140042489868608": {"type": "Overloaded", "items": [{"nodeId": "140042594342880"}, {"nodeId": "140042594343328"}]}, "140042594342880": {"type": "Function", "typeVars": [".-1.140042594342880"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568803584", "args": [{"nodeId": ".-1.140042594342880"}]}, {"nodeId": ".-1.140042594342880"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342880", "variance": "INVARIANT"}, "140042594343328": {"type": "Function", "typeVars": [".-1.140042594343328"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594343328"}, {"nodeId": "140042568803248", "args": [{"nodeId": ".-1.140042594343328"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343328", "variance": "INVARIANT"}, "140042476487168": {"type": "Overloaded", "items": [{"nodeId": "140042594343776"}, {"nodeId": "140042594344224"}]}, "140042594343776": {"type": "Function", "typeVars": [".-1.140042594343776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594343776"}]}, {"nodeId": ".-1.140042594343776"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343776", "variance": "INVARIANT"}, "140042594344224": {"type": "Function", "typeVars": [".-1.140042594344224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594344224"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594344224"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344224", "variance": "INVARIANT"}, "140042476487504": {"type": "Overloaded", "items": [{"nodeId": "140042594344672"}, {"nodeId": "140042594345120"}]}, "140042594344672": {"type": "Function", "typeVars": [".-1.140042594344672"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594344672"}]}, {"nodeId": ".-1.140042594344672"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344672", "variance": "INVARIANT"}, "140042594345120": {"type": "Function", "typeVars": [".-1.140042594345120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594345120"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594345120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594345120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594345120", "variance": "INVARIANT"}, "140042476487840": {"type": "Overloaded", "items": [{"nodeId": "140042594345568"}, {"nodeId": "140042594346016"}]}, "140042594345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476488624"}, {"nodeId": "140042489963104"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476488624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489963104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346016": {"type": "Function", "typeVars": [".-1.140042594346016"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346016"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476489184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724544": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertRaisesContext", "members": [{"kind": "Variable", "name": "exception", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480724544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489965120"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594546656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042480724544"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480724544": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042480724544", "variance": "INVARIANT"}, "140042489965120": {"type": "Function", "typeVars": [".-1.140042489965120"], "argTypes": [{"nodeId": ".-1.140042489965120"}], "returnType": {"nodeId": ".-1.140042489965120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489965120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489965120", "variance": "INVARIANT"}, "140042594546656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724544", "args": [{"nodeId": ".1.140042480724544"}]}, {"nodeId": "140042476498816"}, {"nodeId": "140042476498928"}, {"nodeId": "140042476499040"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476498816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476498928": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499040": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594547104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, ".-1.140042594346016": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346016", "variance": "INVARIANT"}, "140042476488176": {"type": "Overloaded", "items": [{"nodeId": "140042594346464"}, {"nodeId": "140042594346912"}]}, "140042594346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489520"}, {"nodeId": "140042476489632"}, {"nodeId": "140042489955040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042476489520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476489632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346912": {"type": "Function", "typeVars": [".-1.140042594346912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490192"}, {"nodeId": "140042476490304"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042476490192": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476490304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042594346912": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346912", "variance": "INVARIANT"}, "140042476488512": {"type": "Overloaded", "items": [{"nodeId": "140042594347360"}, {"nodeId": "140042594347808"}]}, "140042594347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490640"}, {"nodeId": "140042489959520"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "callable", "args", "kwargs"]}, "140042476490640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489959520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594347808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490752"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "msg"]}, "140042476490752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724880": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertWarnsContext", "members": [{"kind": "Variable", "name": "warning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480718496"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489957056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594548000"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489957056": {"type": "Function", "typeVars": [".-1.140042489957056"], "argTypes": [{"nodeId": ".-1.140042489957056"}], "returnType": {"nodeId": ".-1.140042489957056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489957056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489957056", "variance": "INVARIANT"}, "140042594548000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724880"}, {"nodeId": "140042476499264"}, {"nodeId": "140042476499376"}, {"nodeId": "140042476499488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476499264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476499376": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499488": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042476489408": {"type": "Overloaded", "items": [{"nodeId": "140042594348256"}, {"nodeId": "140042594348704"}]}, "140042594348256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491200"}, {"nodeId": "140042476491312"}, {"nodeId": "140042489955264"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "expected_regex", "callable", "args", "kwargs"]}, "140042476491200": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491424"}, {"nodeId": "140042476491648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "expected_regex", "msg"]}, "140042476491424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042594349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491872"}, {"nodeId": "140042476491984"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "140042476492096"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476491872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342048": {"type": "Concrete", "module": "logging", "simpleName": "Logger", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "parent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595072"}}, {"kind": "Variable", "name": "propagate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498342384"}]}}, {"kind": "Variable", "name": "disabled", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828128"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828576"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829024"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829472"}, "name": "getChild"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829920"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830368"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830816"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831264"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831712"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832160"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832608"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585833056"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581377312"}, "name": "_log"}, {"kind": "Variable", "name": "fatal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485369312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581381792"}, "name": "addHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382240"}, "name": "removeHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382688"}, "name": "findCaller"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581383584"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384032"}, "name": "makeRecord"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384480"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384928"}, "name": "callHandlers"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485595072": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342384": {"type": "Concrete", "module": "logging", "simpleName": "Handler", "members": [{"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "formatter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485594736"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591824"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385824"}, "name": "get_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386272"}, "name": "set_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386720"}, "name": "createLock"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387168"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387616"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388064"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388512"}, "name": "setFormatter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389856"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390304"}, "name": "handleError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390752"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391200"}, "name": "emit"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485594736": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042480713792": {"type": "Concrete", "module": "logging", "simpleName": "Formatter", "members": [{"kind": "Variable", "name": "converter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485519232"}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591376"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592048"}}, {"kind": "Variable", "name": "_style", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716816"}}, {"kind": "Variable", "name": "default_time_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "default_msec_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "style", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "validate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581392992"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557536"}, "name": "formatTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ei", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557984"}, "name": "formatException"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558432"}, "name": "formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558880"}, "name": "formatStack"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559328"}, "name": "usesTime"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485519232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480812432"}], "returnType": {"nodeId": "140042485592160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480812432": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042485592160": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042485591376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480716816": {"type": "Concrete", "module": "logging", "simpleName": "PercentStyle", "members": [{"kind": "Variable", "name": "default_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_search", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "validation_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988448"}, "name": "usesTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988896"}, "name": "validate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581989344"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581987552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "defaults"]}, "140042480826880": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581988448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581988896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581989344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042485591936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581391648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817696"}, {"nodeId": "140042480817808"}, {"nodeId": "140042480817920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480818144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "datefmt", "style", "validate", "defaults"]}, "140042480817696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817920": {"type": "TypeAlias", "target": {"nodeId": "140042485590704"}}, "140042485590704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042480818144": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581392992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480714800": {"type": "Concrete", "module": "logging", "simpleName": "LogRecord", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592272"}}, {"kind": "Variable", "name": "asctime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "created", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592384"}}, {"kind": "Variable", "name": "exc_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "funcName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msecs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "process", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592832"}}, {"kind": "Variable", "name": "processName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593280"}}, {"kind": "Variable", "name": "relativeCreated", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593056"}}, {"kind": "Variable", "name": "thread", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592944"}}, {"kind": "Variable", "name": "threadName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562912"}, "name": "getMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563360"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485592272": {"type": "Union", "items": [{"nodeId": "140042485592496"}, {"nodeId": "N"}]}, "140042485592496": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042485591040": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}]}, "140042485592384": {"type": "Union", "items": [{"nodeId": "140042485592720"}, {"nodeId": "N"}]}, "140042485592720": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042485590480": {"type": "Union", "items": [{"nodeId": "140042485589136"}, {"nodeId": "140042485590368"}]}, "140042485589136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042485589584"}]}, "140042485589584": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042485590368": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042485591712": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485593056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592944": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480818368"}, {"nodeId": "140042480818928"}, {"nodeId": "140042480819040"}, {"nodeId": "140042480819152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "pathname", "lineno", "msg", "args", "exc_info", "func", "sinfo"]}, "140042480818368": {"type": "Union", "items": [{"nodeId": "140042480818704"}, {"nodeId": "N"}]}, "140042480818704": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480818928": {"type": "Union", "items": [{"nodeId": "140042480818816"}, {"nodeId": "N"}]}, "140042480818816": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480819040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480819152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042581557536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}, {"nodeId": "140042480818480"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "record", "datefmt"]}, "140042480818480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581557984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ei"]}, "140042480817472": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042581558432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581558880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stack_info"]}, "140042581559328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485591824": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "N"}]}, "140042480812544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581385376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042480817360": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042485591152": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581385824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581386272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042581386720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581388064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480817584": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581388512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480812768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt"]}, "140042480812768": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581388960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581391200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042498341376": {"type": "Concrete", "module": "logging", "simpleName": "Filterer", "members": [{"kind": "Variable", "name": "filters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480714464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824544"}, "name": "addFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824992"}, "name": "removeFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825440"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042480714464": {"type": "Concrete", "module": "logging", "simpleName": "Filter", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "nlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562016"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581561568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042581562016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042585824544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480813328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480813328": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042485595744": {"type": "Union", "items": [{"nodeId": "140042480714464"}, {"nodeId": "140042485843104"}]}, "140042485843104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585824992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480812096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480812096": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042585825440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480716480": {"type": "Concrete", "module": "logging", "simpleName": "RootLogger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987104"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042498342048"}], "isAbstract": false}, "140042581987104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716480"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042498341712": {"type": "Concrete", "module": "logging", "simpleName": "Manager", "members": [{"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "disable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "emittedNoHandlerWarning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "loggerDict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042485595968"}]}}, {"kind": "Variable", "name": "loggerClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595296"}}, {"kind": "Variable", "name": "logRecordFactory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rootnode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826336"}, "name": "getLogger"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "klass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826784"}, "name": "setLoggerClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827232"}, "name": "setLogRecordFactory"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485595968": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480716144"}]}, "140042480716144": {"type": "Concrete", "module": "logging", "simpleName": "PlaceHolder", "members": [{"kind": "Variable", "name": "loggerMap", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986656"}, "name": "append"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581986208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042581986656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042485595296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485595184": {"type": "Union", "items": [{"nodeId": "140042485516320"}, {"nodeId": "N"}]}, "140042485516320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585825888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042480716480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "rootnode"]}, "140042585826336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498342048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042585826784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "klass"]}, "140042585827232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042485529984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "factory"]}, "140042485529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585827680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480813776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "level"]}, "140042480813776": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480813664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480813664": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042585829024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585829472": {"type": "Function", "typeVars": [".-1.140042585829472"], "argTypes": [{"nodeId": ".-1.140042585829472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042585829472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042585829472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585829472", "variance": "INVARIANT"}, "140042585829920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814112": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042485590144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485589920"}, {"nodeId": "140042577373088"}]}, "140042485589920": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480814224": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814336"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814336": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814672": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814560"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814560": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814896": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814448": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815120": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814784": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815344": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815008": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815568": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815232": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815792": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585833056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815456"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815456": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816016": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581377312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815680"}, {"nodeId": "140042480815904"}, {"nodeId": "140042480816352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info", "stacklevel"]}, "140042480815680": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480815904": {"type": "Union", "items": [{"nodeId": "140042480816240"}, {"nodeId": "N"}]}, "140042480816240": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816352": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485369312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481016096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042481016096": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581381792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480816576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stack_info", "stacklevel"]}, "140042480816576": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480816128"}]}, "140042480816128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581383584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581384032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480816800"}, {"nodeId": "140042480816912"}, {"nodeId": "140042480817024"}, {"nodeId": "140042480817136"}, {"nodeId": "140042480817248"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "fn", "lno", "msg", "args", "exc_info", "func", "extra", "sinfo"]}, "140042480816800": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480816912": {"type": "Union", "items": [{"nodeId": "140042480816464"}, {"nodeId": "N"}]}, "140042480816464": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480817024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817136": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042480817248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581384480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581384928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042476491984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480727232": {"type": "Concrete", "module": "unittest._log", "simpleName": "_AssertLogsContext", "members": [{"kind": "Variable", "name": "LOGGING_FORMAT", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480723872"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585821632"}, "name": "__init__"}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822528"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822976"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480727232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585821632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test_case", "logger_name", "level", "no_logs"]}, ".1.140042480727232": {"type": "TypeVar", "varName": "_L", "values": [{"nodeId": "N"}, {"nodeId": "140042489857856"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480727232", "variance": "INVARIANT"}, "140042489857856": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042489858752": {"type": "Tuple", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480714800"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042585822528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}], "returnType": {"nodeId": ".1.140042480727232"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585822976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042489868160"}, {"nodeId": "140042489868272"}, {"nodeId": "140042489868384"}], "returnType": {"nodeId": "140042489868496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042489868160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042489868272": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042489868384": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042489868496": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476492096": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042594349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476492208"}, {"nodeId": "140042476492320"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476492208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042476492320": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042476490528": {"type": "Overloaded", "items": [{"nodeId": "140042594350048"}, {"nodeId": "140042594350496"}, {"nodeId": "140042594350944"}, {"nodeId": "140042594351392"}]}, "140042594350048": {"type": "Function", "typeVars": [".-1.140042594350048"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350048", "variance": "INVARIANT"}, "140042480723536": {"type": "Protocol", "module": "unittest.case", "simpleName": "_SupportsAbsAndDunderGE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782779968", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__abs__", "__ge__"]}, "140042594350496": {"type": "Function", "typeVars": [".-1.140042594350496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350496", "variance": "INVARIANT"}, "140042594350944": {"type": "Function", "typeVars": [".-1.140042594350944"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594350944"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594350944"}, {"nodeId": "140042476492768"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594350944", "variance": "INVARIANT"}, "140042476492768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594351392": {"type": "Function", "typeVars": [".-1.140042594351392"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351392"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594351392"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476492992"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594351392", "variance": "INVARIANT"}, "140042476492992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476491088": {"type": "Overloaded", "items": [{"nodeId": "140042594351840"}, {"nodeId": "140042594352288"}, {"nodeId": "140042594352736"}, {"nodeId": "140042594533664"}]}, "140042594351840": {"type": "Function", "typeVars": [".-1.140042594351840"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594351840", "variance": "INVARIANT"}, "140042594352288": {"type": "Function", "typeVars": [".-1.140042594352288"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352288": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594352288", "variance": "INVARIANT"}, "140042594352736": {"type": "Function", "typeVars": [".-1.140042594352736"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594352736"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594352736"}, {"nodeId": "140042476493552"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594352736", "variance": "INVARIANT"}, "140042476493552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594533664": {"type": "Function", "typeVars": [".-1.140042594533664"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594533664"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594533664"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476493776"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594533664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594533664", "variance": "INVARIANT"}, "140042476493776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594534112": {"type": "Function", "typeVars": [".-1.140042594534112"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534112"}, {"nodeId": "140042476494000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042594534112": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534112", "variance": "INVARIANT"}, "140042476494000": {"type": "Union", "items": [{"nodeId": ".-1.140042594534112"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534112"}]}]}, "140042594534560": {"type": "Function", "typeVars": [".-1.140042594534560"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534560"}, {"nodeId": "140042476494224"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042594534560": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534560", "variance": "INVARIANT"}, "140042476494224": {"type": "Union", "items": [{"nodeId": ".-1.140042594534560"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534560"}]}]}, "140042594535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "0"}, {"nodeId": "140042489963776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typeobj", "function"]}, "140042489963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042476495568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seq1", "seq2", "msg", "seq_type"]}, "140042476495568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "list1", "list2", "msg"]}, "140042594537248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "tuple1", "tuple2", "msg"]}, "140042594537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "set1", "set2", "msg"]}, "140042594538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "d1", "d2", "msg"]}, "140042594538592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042594539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594540384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042476496912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042476496912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594540832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489964000"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594542176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042490002592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489962208"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042489962208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042594543968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476497024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "standardMsg"]}, "140042476497024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594544416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042489960192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second"]}, "140042489960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476996192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476996864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476998656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476999104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476823136": {"type": "Overloaded", "items": [{"nodeId": "140042477000000"}, {"nodeId": "140042477000224"}]}, "140042477000000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476828848"}, {"nodeId": "140042476996416"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476828848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476996416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477000224": {"type": "Function", "typeVars": [".-1.140042477000224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476826160"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477000224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476826160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, ".-1.140042477000224": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477000224", "variance": "INVARIANT"}, "140042477029072": {"type": "Overloaded", "items": [{"nodeId": "140042477001120"}, {"nodeId": "140042477001344"}, {"nodeId": "140042477001568"}, {"nodeId": "140042477001792"}]}, "140042477001120": {"type": "Function", "typeVars": [".-1.140042477001120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001120", "variance": "INVARIANT"}, "140042477001344": {"type": "Function", "typeVars": [".-1.140042477001344"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001344", "variance": "INVARIANT"}, "140042477001568": {"type": "Function", "typeVars": [".-1.140042477001568"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477001568"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477001568"}, {"nodeId": "140042476826272"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001568", "variance": "INVARIANT"}, "140042476826272": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477001792": {"type": "Function", "typeVars": [".-1.140042477001792"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001792"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477001792"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477028848"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001792", "variance": "INVARIANT"}, "140042477028848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029408": {"type": "Overloaded", "items": [{"nodeId": "140042477002240"}, {"nodeId": "140042477002464"}, {"nodeId": "140042477002688"}, {"nodeId": "140042477002912"}]}, "140042477002240": {"type": "Function", "typeVars": [".-1.140042477002240"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002240": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002240", "variance": "INVARIANT"}, "140042477002464": {"type": "Function", "typeVars": [".-1.140042477002464"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002464": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002464", "variance": "INVARIANT"}, "140042477002688": {"type": "Function", "typeVars": [".-1.140042477002688"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477002688"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477002688"}, {"nodeId": "140042477028960"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002688", "variance": "INVARIANT"}, "140042477028960": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477002912": {"type": "Function", "typeVars": [".-1.140042477002912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002912"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477002912"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029184"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002912", "variance": "INVARIANT"}, "140042477029184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029744": {"type": "Overloaded", "items": [{"nodeId": "140042477003360"}, {"nodeId": "140042477003584"}, {"nodeId": "140042477003808"}, {"nodeId": "140042477004032"}]}, "140042477003360": {"type": "Function", "typeVars": [".-1.140042477003360"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003360": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003360", "variance": "INVARIANT"}, "140042477003584": {"type": "Function", "typeVars": [".-1.140042477003584"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003584", "variance": "INVARIANT"}, "140042477003808": {"type": "Function", "typeVars": [".-1.140042477003808"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477003808"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477003808"}, {"nodeId": "140042477029296"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477003808", "variance": "INVARIANT"}, "140042477029296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477004032": {"type": "Function", "typeVars": [".-1.140042477004032"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004032"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477004032"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029520"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004032", "variance": "INVARIANT"}, "140042477029520": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477030080": {"type": "Overloaded", "items": [{"nodeId": "140042477004480"}, {"nodeId": "140042477004704"}, {"nodeId": "140042477004928"}, {"nodeId": "140042477005152"}]}, "140042477004480": {"type": "Function", "typeVars": [".-1.140042477004480"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004480": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004480", "variance": "INVARIANT"}, "140042477004704": {"type": "Function", "typeVars": [".-1.140042477004704"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004704", "variance": "INVARIANT"}, "140042477004928": {"type": "Function", "typeVars": [".-1.140042477004928"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477004928"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477004928"}, {"nodeId": "140042477029632"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004928", "variance": "INVARIANT"}, "140042477029632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477005152": {"type": "Function", "typeVars": [".-1.140042477005152"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477005152"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477005152"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029856"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477005152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477005152", "variance": "INVARIANT"}, "140042477029856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476999776": {"type": "Function", "typeVars": [".-1.140042476999776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042476999776"}, {"nodeId": "140042477029968"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042476999776": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042476999776", "variance": "INVARIANT"}, "140042477029968": {"type": "Union", "items": [{"nodeId": ".-1.140042476999776"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042476999776"}]}]}, "140042477000896": {"type": "Function", "typeVars": [".-1.140042477000896"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477000896"}, {"nodeId": "140042477030192"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042477000896": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477000896", "variance": "INVARIANT"}, "140042477030192": {"type": "Union", "items": [{"nodeId": ".-1.140042477000896"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042477000896"}]}]}, "140042477030864": {"type": "Overloaded", "items": [{"nodeId": "140042477006272"}, {"nodeId": "140042477006496"}]}, "140042477006272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030304"}, {"nodeId": "140042477030416"}, {"nodeId": "140042476999552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042477030304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042476999552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477006496": {"type": "Function", "typeVars": [".-1.140042477006496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030528"}, {"nodeId": "140042477030640"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477006496"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042477030528": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042477006496": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477006496", "variance": "INVARIANT"}, "140042594544864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "subset", "dictionary", "msg"]}, "140042480723200": {"type": "Concrete", "module": "unittest.case", "simpleName": "SkipTest", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503264"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042607503264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042480726224": {"type": "Concrete", "module": "unittest.loader", "simpleName": "TestLoader", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "testMethodPrefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sortTestMethodsUsing", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863456"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489860992"}}, {"kind": "Variable", "name": "suiteClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450528"}, "name": "loadTestsFromTestCase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450976"}, "name": "loadTestsFromModule"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451424"}, "name": "loadTestsFromName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451872"}, "name": "loadTestsFromNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452320"}, "name": "getTestCaseNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "top_level_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452768"}, "name": "discover"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "full_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607453216"}, "name": "_match_path"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863456": {"type": "TypeAlias", "target": {"nodeId": "140042548197216"}}, "140042548197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489860992": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042489863568": {"type": "TypeAlias", "target": {"nodeId": "140042493447968"}}, "140042493447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480727904": {"type": "Concrete", "module": "unittest.suite", "simpleName": "TestSuite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594780096"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042480727568"}], "isAbstract": false}, "140042594780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727904"}, {"nodeId": "140042480722192"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "result", "debug"]}, "140042480727568": {"type": "Concrete", "module": "unittest.suite", "simpleName": "BaseTestSuite", "members": [{"kind": "Variable", "name": "_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "_removed_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594693888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694336"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694784"}, "name": "addTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695232"}, "name": "addTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695680"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696128"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696576"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779648"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042489861216"}]}], "isAbstract": false}, "140042594693888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tests"]}, "140042476500160": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042489866256": {"type": "Union", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042480727904"}]}, "140042594694336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594694784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042476500272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476500272": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "tests"]}, "140042476500384": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594696128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594696576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042476500496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042476500496": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489861216": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042607450528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607450976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042578054832"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "module", "args", "pattern"]}, "140042607451424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476501840"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "module"]}, "140042476501840": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607451872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042476501952"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "names", "module"]}, "140042476501952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607452320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607452768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476502064"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "start_dir", "pattern", "top_level_dir"]}, "140042476502064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607453216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "full_path", "pattern"]}, "140042480726896": {"type": "Concrete", "module": "unittest.main", "simpleName": "TestProgram", "members": [{"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480722192"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863904"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864016"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864128"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864240"}}, {"kind": "Variable", "name": "progName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864352"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864464"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaultTest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testRunner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testLoader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456576"}, "name": "usageExit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457024"}, "name": "parseArgs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_discovery", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457472"}, "name": "createTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457920"}, "name": "runTests"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042489864016": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864128": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864240": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864576": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042607456128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042476500608"}, {"nodeId": "140042476814512"}, {"nodeId": "140042476814624"}, {"nodeId": "140042476814736"}, {"nodeId": "140042480726224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042476814848"}, {"nodeId": "140042476814960"}, {"nodeId": "140042476815072"}, {"nodeId": "140042476815184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "module", "defaultTest", "argv", "testRunner", "testLoader", "exit", "verbosity", "failfast", "catchbreak", "buffer", "warnings", "tb_locals"]}, "140042476500608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042476814512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814624": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042480726560"}, {"nodeId": "N"}]}, "140042480726560": {"type": "Protocol", "module": "unittest.main", "simpleName": "_TestRunner", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607455680"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["run"]}, "140042607455680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726560"}, {"nodeId": "140042476502848"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476502848": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042476814848": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476814960": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815072": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607456576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042607457024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "argv"]}, "140042607457472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476814400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "from_discovery", "Loader"]}, "140042476814400": {"type": "Union", "items": [{"nodeId": "140042480726224"}, {"nodeId": "N"}]}, "140042607457920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480725552": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestResult", "members": [{"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "separator1", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "separator2", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "showAll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577730512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594687616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688064"}, "name": "getDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flavour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688512"}, "name": "printErrorList"}], "typeVars": [], "bases": [{"nodeId": "140042480722192"}], "isAbstract": false}, "140042594687616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042594688064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594688512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "flavour", "errors"]}, "140042476500832": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042480725888": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestRunner", "members": [{"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689408"}, "name": "_makeResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689856"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863008": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042548197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042594688960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476500944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476501168"}, {"nodeId": "140042476501280"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity", "failfast", "buffer", "resultclass", "warnings", "tb_locals"]}, "140042476500944": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042476501168": {"type": "Union", "items": [{"nodeId": "140042476501056"}, {"nodeId": "N"}]}, "140042476501056": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042476501280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594689408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594689856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476501392"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476501392": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042480725216": {"type": "Concrete", "module": "unittest.async_case", "simpleName": "IsolatedAsyncioTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547552"}, "name": "asyncSetUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594781216"}, "name": "asyncTearDown"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594782112"}, "name": "addAsyncCleanup"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594547552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594781216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594782112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}, {"nodeId": "140042489937280"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042578061888": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648860064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614994560"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614995008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578061888"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042578061888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578061888", "variance": "INVARIANT"}, "140042648860064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}, {"nodeId": "140042565292256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565292368"}, {"nodeId": "140042565292480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140042565292256": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565292368": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042565292480": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042614994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042614995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042578062224": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578062560": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598164608"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569771024"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515184"}}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598164608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062560"}, {"nodeId": "140042565459568"}, {"nodeId": "140042577366032"}, {"nodeId": "140042565459680"}, {"nodeId": "140042565459792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140042565459568": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565459680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565459792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569771024": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569515184": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042578062896": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598165056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598165056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565459904"}, {"nodeId": "140042565460016"}, {"nodeId": "140042565460128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140042565459904": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565460128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498329616": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493779680"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493498016"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493444832"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445056"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445280"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445504"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445728"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445952"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446176"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446400"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446624"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446848"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042493358512"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042493779680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042493498016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359072": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359184": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359296": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359408"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359408": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359520": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359632": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359744"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359856": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359968": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360080"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360080": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360192"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360192": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493358512": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042498329952": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140042578064912": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572992736"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572995200"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042572992736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042572995200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042619187072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064912"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565530816"}, {"nodeId": "140042565530480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140042565530816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565530480": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042578065248": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187520"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042619187520": {"type": "Function", "typeVars": [".-1.140042619187520"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042619187520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140042619187520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619187520", "variance": "INVARIANT"}, "140042568797200": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619188640"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189088"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189536"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "seek", "write"]}, "140042619188640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042619189088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619189536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568797536": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189984"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190432"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190880"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "read", "seek"]}, "140042619189984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042619190432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619190880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633456": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568797200"}, {"nodeId": "140042568797536"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140042568797872": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332448"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820496": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042568798208": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798208"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820720": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798544": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333344"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798544"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569635136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569635136": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797536"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221088"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221536"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221984"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222432"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222880"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223328"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224672"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611221088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140042611221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826656"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140042556826656": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826768"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140042556826768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611222432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611222880": {"type": "Function", "typeVars": [".-1.140042611222880"], "argTypes": [{"nodeId": ".-1.140042611222880"}], "returnType": {"nodeId": ".-1.140042611222880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611222880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611222880", "variance": "INVARIANT"}, "140042611223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826880"}, {"nodeId": "140042556826992"}, {"nodeId": "140042556827104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826992": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827104": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611223776": {"type": "Function", "typeVars": [".-1.140042611223776"], "argTypes": [{"nodeId": ".-1.140042611223776"}], "returnType": {"nodeId": ".-1.140042611223776"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611223776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611223776", "variance": "INVARIANT"}, "140042611224224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556317184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556317184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799888": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345440"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345888"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042602345440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042602345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824752"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824752": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798880": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798880"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569634800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569634800": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797200"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217952"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218400"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220192"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611217504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611217952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140042611218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611219296": {"type": "Function", "typeVars": [".-1.140042611219296"], "argTypes": [{"nodeId": ".-1.140042611219296"}], "returnType": {"nodeId": ".-1.140042611219296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611219296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611219296", "variance": "INVARIANT"}, "140042611219744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042556826096"}, {"nodeId": "140042556826208"}, {"nodeId": "140042556826320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556826320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556316512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556316512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799216": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042568800224": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602346336"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518855040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602348128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042602346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518855040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042602347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042602347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "140042556824864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556824864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042602348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042556824976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556824976": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042568799552": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334688"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799552"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800560"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042569633792": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518871424"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869632"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869856"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518868064"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518865824"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518867392"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602337824"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042518871424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556820944"}], "returnType": {"nodeId": "140042568797872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820944": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821056"}], "returnType": {"nodeId": "140042568798208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821056": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821168"}], "returnType": {"nodeId": "140042568798544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821168": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518868064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821280"}], "returnType": {"nodeId": "140042568798880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821280": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518865824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821392"}], "returnType": {"nodeId": "140042568799216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821392": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518867392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821504"}], "returnType": {"nodeId": "140042568799552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821504": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042602337824": {"type": "Function", "typeVars": [".-1.140042602337824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042556820832"}, {"nodeId": "140042556821616"}, {"nodeId": "140042556821728"}, {"nodeId": "140042556821840"}, {"nodeId": "140042556821952"}, {"nodeId": "140042556822064"}], "returnType": {"nodeId": ".-1.140042602337824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140042556820832": {"type": "Union", "items": [{"nodeId": "140042568798544"}, {"nodeId": "N"}]}, "140042556821616": {"type": "Union", "items": [{"nodeId": "140042568798880"}, {"nodeId": "N"}]}, "140042556821728": {"type": "Union", "items": [{"nodeId": "140042568799216"}, {"nodeId": "N"}]}, "140042556821840": {"type": "Union", "items": [{"nodeId": "140042568799552"}, {"nodeId": "N"}]}, "140042556821952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556822064": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, ".-1.140042602337824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042602337824", "variance": "INVARIANT"}, "140042569634128": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214816"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518853472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611215712"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140042568800224"}], "isAbstract": true}, "140042611214816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518853472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042611215712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042569634464": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611216160"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518852352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217056"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": true}, "140042611216160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518852352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825648"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556825872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042556825648": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042556825872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042611217056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825984"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569635472": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569633456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611228256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081504"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083296"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083744"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084192"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084640"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085088"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085536"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085984"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086432"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086880"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087328"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730512"}], "isAbstract": false}, "140042611225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140042611225568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611226016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556827440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827552"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556827552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611227360": {"type": "Function", "typeVars": [".-1.140042611227360"], "argTypes": [{"nodeId": ".-1.140042611227360"}], "returnType": {"nodeId": ".-1.140042611227360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611227360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611227360", "variance": "INVARIANT"}, "140042611227808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611228256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611081952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611082400": {"type": "Function", "typeVars": [".-1.140042611082400"], "argTypes": [{"nodeId": ".-1.140042611082400"}], "returnType": {"nodeId": ".-1.140042611082400"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611082400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611082400", "variance": "INVARIANT"}, "140042611082848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827664"}, {"nodeId": "140042556827776"}, {"nodeId": "140042556827888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556827664": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556827776": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827888": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611083296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611083744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556828112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828112": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611086432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611086880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611087328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568800896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088672"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089120"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089568"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090464"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090912"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091360"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091808"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093152"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093600"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094048"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094496"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094944"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095392"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095840"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096288"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096736"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611097184"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730176"}], "isAbstract": false}, "140042611087776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140042611088224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611088672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828224"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828224": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828336"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556828336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611090016": {"type": "Function", "typeVars": [".-1.140042611090016"], "argTypes": [{"nodeId": ".-1.140042611090016"}], "returnType": {"nodeId": ".-1.140042611090016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611090016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611090016", "variance": "INVARIANT"}, "140042611090464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611090912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611091360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611091808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611092256": {"type": "Function", "typeVars": [".-1.140042611092256"], "argTypes": [{"nodeId": ".-1.140042611092256"}], "returnType": {"nodeId": ".-1.140042611092256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611092256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611092256", "variance": "INVARIANT"}, "140042611092704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828560"}, {"nodeId": "140042556828672"}, {"nodeId": "140042556828784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556828560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556828672": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556828784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611093152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611093600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611096288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611096736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611097184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225248": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522769248"}}], "typeVars": [], "bases": [{"nodeId": "140042577644224"}], "isAbstract": false}, "140042522769248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573225248"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611709024"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765440"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522764768"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765216"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573244656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611710816"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140042573225584"}], "isAbstract": false}, "140042611709024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037008": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037232"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522764768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037344"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037456"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573244656": {"type": "Union", "items": [{"nodeId": "140042573227264"}, {"nodeId": "N"}]}, "140042611710816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037568"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042561037568": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573225584": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586007456"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586010144"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586009472"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586010368"}}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573243648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573243200": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042586007456": {"type": "Function", "typeVars": [".-1.140042586007456"], "argTypes": [{"nodeId": ".-1.140042586007456"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586007456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140042586007456": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586007456", "variance": "INVARIANT"}, "140042573243424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042586010144": {"type": "Function", "typeVars": [".-1.140042586010144"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586010144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140042586010144": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010144", "variance": "INVARIANT"}, "140042586009472": {"type": "Function", "typeVars": [".-1.140042586009472"], "argTypes": [{"nodeId": ".-1.140042586009472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140042586009472": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586009472", "variance": "INVARIANT"}, "140042586010368": {"type": "Function", "typeVars": [".-1.140042586010368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042586010368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140042586010368": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010368", "variance": "INVARIANT"}, "140042573226592": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522757824"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522757152"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522756480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036336"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573226256"}]}], "isAbstract": false}, "140042522757824": {"type": "Function", "typeVars": [".-1.140042522757824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561037792"}]}], "returnType": {"nodeId": ".-1.140042522757824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140042561037792": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, ".-1.140042522757824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042522757824", "variance": "INVARIANT"}, "140042522757152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522756480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561036336": {"type": "Overloaded", "items": [{"nodeId": "140042611714400"}, {"nodeId": "140042611714848"}]}, "140042611714400": {"type": "Function", "typeVars": [".-1.140042611714400"], "argTypes": [{"nodeId": ".-1.140042611714400"}], "returnType": {"nodeId": ".-1.140042611714400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042611714400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611714400", "variance": "INVARIANT"}, "140042611714848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042569349968": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140042569350304"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522734464"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": true}, "140042522734464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569349968"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140042569350640": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522732224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676256"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140042569349968"}], "isAbstract": false}, "140042522732224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140042611676256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042498327600": {"type": "Concrete", "module": "functools", "simpleName": "_lru_cache_wrapper", "members": [{"kind": "Variable", "name": "__wrapped__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497669632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611686560"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611687008"}, "name": "cache_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607001888"}, "name": "cache_clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002784"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042498327600"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498327600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327600", "variance": "INVARIANT"}, "140042611686560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "140042577727824"}, {"nodeId": "140042577727824"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042611687008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042493301520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493301520": {"type": "TypeAlias", "target": {"nodeId": "140042493297264"}}, "140042493297264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042607001888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498327936": {"type": "Concrete", "module": "functools", "simpleName": "partial", "members": [{"kind": "Variable", "name": "func", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497962080"}}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497479328"}}, {"kind": "Variable", "name": "keywords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497478656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607007712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008160"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008608"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498327936"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497962080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042497666048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498327936": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327936", "variance": "INVARIANT"}, "140042497666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497479328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497478656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607007712": {"type": "Function", "typeVars": [".-1.140042607007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042497665824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042607007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042497665824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-1.140042607007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607007712", "variance": "INVARIANT"}, "140042607008160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042607008608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328272": {"type": "Concrete", "module": "functools", "simpleName": "partialmethod", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493299616"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493300960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607009952"}, "name": "__get__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498180704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011296"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498328272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042493299616": {"type": "Union", "items": [{"nodeId": "140042497669408"}, {"nodeId": "140042493299504"}]}, "140042497669408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328272", "variance": "INVARIANT"}, "140042493299504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042493300960": {"type": "Overloaded", "items": [{"nodeId": "140042607009056"}, {"nodeId": "140042607009504"}]}, "140042607009056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042497665600"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042497665600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607009504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042493303872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042493303872": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042607009952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "A"}, {"nodeId": "140042493304432"}], "returnType": {"nodeId": "140042497666272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, "140042493304432": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607011296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328608": {"type": "Concrete", "module": "functools", "simpleName": "_SingleDispatchCallable", "members": [{"kind": "Variable", "name": "registry", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053824", "args": [{"nodeId": "A"}, {"nodeId": "140042497668960"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011744"}, "name": "dispatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493301744"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013536"}, "name": "_clear_cache"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013984"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042498328608"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328608", "variance": "INVARIANT"}, "140042607011744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042497664928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042497664928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042493301744": {"type": "Overloaded", "items": [{"nodeId": "140042607012192"}, {"nodeId": "140042607012640"}, {"nodeId": "140042607013088"}]}, "140042607012192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497667392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497667392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497664480"}], "returnType": {"nodeId": "140042497664256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497664480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497664256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607012640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "140042497665152"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497665152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "140042497664704"}], "returnType": {"nodeId": "140042497663360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "func"]}, "140042497664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607013984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042498328944": {"type": "Concrete", "module": "functools", "simpleName": "singledispatchmethod", "members": [{"kind": "Variable", "name": "dispatcher", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328944"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607014880"}, "name": "__init__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498182048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493303424"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017120"}, "name": "__get__"}], "typeVars": [{"nodeId": ".1.140042498328944"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042498328944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328944", "variance": "INVARIANT"}, "140042497668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607014880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042497662912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497662912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493303424": {"type": "Overloaded", "items": [{"nodeId": "140042607015776"}, {"nodeId": "140042607016224"}, {"nodeId": "140042607016672"}]}, "140042607015776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042497663136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497661792"}], "returnType": {"nodeId": "140042497662240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497661792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497662240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042498441952"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042498442176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042498441952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498442176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "140042497662688"}], "returnType": {"nodeId": "140042497959168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "method"]}, "140042497662688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497959168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607017120": {"type": "Function", "typeVars": [".-1.140042607017120"], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": ".-1.140042607017120"}, {"nodeId": "140042493307456"}], "returnType": {"nodeId": "140042497957824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, ".-1.140042607017120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607017120", "variance": "INVARIANT"}, "140042493307456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497957824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498329280": {"type": "Concrete", "module": "functools", "simpleName": "cached_property", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668512"}}, {"kind": "Variable", "name": "attrname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493300512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017568"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493304992"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "owner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606527648"}, "name": "__set_name__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606528096"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498329280"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042498329280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498329280", "variance": "INVARIANT"}, "140042493300512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607017568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042497958496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042493304992": {"type": "Overloaded", "items": [{"nodeId": "140042606526752"}, {"nodeId": "140042606527200"}]}, "140042606526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "N"}, {"nodeId": "140042493308016"}], "returnType": {"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042493308240"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "owner", "name"]}, "140042606528096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498326592": {"type": "Concrete", "module": "numpy.polynomial.polyutils", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042569641184": {"type": "Concrete", "module": "threading", "simpleName": "ThreadError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569641520": {"type": "Concrete", "module": "threading", "simpleName": "local", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606539296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042606538400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042606538848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042606539296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569641856": {"type": "Concrete", "module": "threading", "simpleName": "Thread", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ident", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886464"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540640"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541088"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541536"}, "name": "join"}, {"kind": "Variable", "name": "native_id", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606542432"}, "name": "is_alive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607149792"}, "name": "getName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150240"}, "name": "setName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150688"}, "name": "isDaemon"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151136"}, "name": "setDaemon"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497886464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497587824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497587824": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606540192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "N"}, {"nodeId": "140042497588048"}, {"nodeId": "140042497588160"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042497588496"}, {"nodeId": "140042497588608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "group", "target", "name", "args", "kwargs", "daemon"]}, "140042497588048": {"type": "Union", "items": [{"nodeId": "140042548375200"}, {"nodeId": "N"}]}, "140042548375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497588160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042497588496": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497588608": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042606540640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042497588720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497588720": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042497886016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497588832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497588832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606542432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607149792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607150240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042607150688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607151136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "daemonic"]}, "140042569642192": {"type": "Concrete", "module": "threading", "simpleName": "_DummyThread", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151584"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042607151584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569642864": {"type": "Concrete", "module": "threading", "simpleName": "_RLock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154272"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154720"}, "name": "release"}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497893856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155168"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607154272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607154720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607155168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042497900720"}, {"nodeId": "140042497900832"}, {"nodeId": "140042497900944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497900720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497900832": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900944": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569643200": {"type": "Concrete", "module": "threading", "simpleName": "Condition", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156064"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156512"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156960"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157408"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157856"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "predicate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158304"}, "name": "wait_for"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158752"}, "name": "notify"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159200"}, "name": "notify_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159648"}, "name": "notifyAll"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607155616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "lock"]}, "140042497901056": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "140042569642864"}, {"nodeId": "N"}]}, "140042607156064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607156512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901168"}, {"nodeId": "140042497901280"}, {"nodeId": "140042497901392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901280": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901392": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607156960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607157408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607157856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497901504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607158304": {"type": "Function", "typeVars": [".-1.140042607158304"], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042548370944"}, {"nodeId": "140042497901616"}], "returnType": {"nodeId": ".-1.140042607158304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "predicate", "timeout"]}, "140042548370944": {"type": "Function", "typeVars": [".-1.140042548370944"], "argTypes": [], "returnType": {"nodeId": ".-1.140042548370944"}, "argKinds": [], "argNames": []}, ".-1.140042548370944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548370944", "variance": "INVARIANT"}, "140042497901616": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, ".-1.140042607158304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607158304", "variance": "INVARIANT"}, "140042607158752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042607159200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607159648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569643536": {"type": "Concrete", "module": "threading", "simpleName": "Semaphore", "members": [{"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160992"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161440"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161888"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607160096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042607160544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042497901728"}, {"nodeId": "140042497901840"}, {"nodeId": "140042497901952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901728": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901840": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901952": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607160992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902064"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042497902064": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042497902176": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042569643872": {"type": "Concrete", "module": "threading", "simpleName": "BoundedSemaphore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569643536"}], "isAbstract": false}, "140042569644208": {"type": "Concrete", "module": "threading", "simpleName": "Event", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607162784"}, "name": "is_set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163232"}, "name": "isSet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163680"}, "name": "set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164128"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164576"}, "name": "wait"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607162784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}, {"nodeId": "140042497902288"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497902288": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042569644544": {"type": "Concrete", "module": "threading", "simpleName": "Timer", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "finished", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569644208"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548308768"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607165024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607493408"}, "name": "cancel"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042548308768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607165024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}, {"nodeId": "140042577366032"}, {"nodeId": "140042548376096"}, {"nodeId": "140042497902624"}, {"nodeId": "140042497902848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "interval", "function", "args", "kwargs"]}, "140042548376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497902624": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497902848": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042607493408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569644880": {"type": "Concrete", "module": "threading", "simpleName": "Barrier", "members": [{"kind": "Variable", "name": "parties", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899232"}}, {"kind": "Variable", "name": "n_waiting", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899680"}}, {"kind": "Variable", "name": "broken", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parties", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "action", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495648"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496096"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496544"}, "name": "abort"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607495200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042577365696"}, {"nodeId": "140042497902960"}, {"nodeId": "140042497903072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "parties", "action", "timeout"]}, "140042497902960": {"type": "Union", "items": [{"nodeId": "140042548377664"}, {"nodeId": "N"}]}, "140042548377664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042497903072": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607495648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042497903184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497903184": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607496096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607496544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569645216": {"type": "Concrete", "module": "threading", "simpleName": "BrokenBarrierError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042480722864": {"type": "Concrete", "module": "unittest.case", "simpleName": "_BaseTestCaseContext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607498336"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607498336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722864"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test_case"]}, "140042480718160": {"type": "Concrete", "module": "warnings", "simpleName": "_OptionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569640176": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecodeError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581992928"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042581992928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "doc", "pos"]}, "140042569640512": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecoder", "members": [{"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042544078784"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502600320"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571104"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571776"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497569984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_w", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993824"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "idx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581994272"}, "name": "raw_decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042502600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497569984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497573040"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573040": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042497573264"}, {"nodeId": "140042497573600"}, {"nodeId": "140042497573824"}, {"nodeId": "140042497574048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497574272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "object_hook", "parse_float", "parse_int", "parse_constant", "strict", "object_pairs_hook"]}, "140042497573264": {"type": "Union", "items": [{"nodeId": "140042497740576"}, {"nodeId": "N"}]}, "140042497740576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573600": {"type": "Union", "items": [{"nodeId": "140042497740352"}, {"nodeId": "N"}]}, "140042497740352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573824": {"type": "Union", "items": [{"nodeId": "140042497741024"}, {"nodeId": "N"}]}, "140042497741024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574048": {"type": "Union", "items": [{"nodeId": "140042497741248"}, {"nodeId": "N"}]}, "140042497741248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574272": {"type": "Union", "items": [{"nodeId": "140042497741920"}, {"nodeId": "N"}]}, "140042497741920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497574608"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042497741696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "_w"]}, "140042497741696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581994272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042497575392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "idx"]}, "140042497575392": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042569639840": {"type": "Concrete", "module": "json.encoder", "simpleName": "JSONEncoder", "members": [{"kind": "Variable", "name": "item_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "key_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498439232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "separators", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996736"}, "name": "default"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997184"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_one_shot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997632"}, "name": "iterencode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042498439232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581996288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042498434192"}, {"nodeId": "140042498438672"}, {"nodeId": "140042498438448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "skipkeys", "ensure_ascii", "check_circular", "allow_nan", "sort_keys", "indent", "separators", "default"]}, "140042498434192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498438672": {"type": "Union", "items": [{"nodeId": "140042498438560"}, {"nodeId": "N"}]}, "140042498438560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042498438448": {"type": "Union", "items": [{"nodeId": "140042497572000"}, {"nodeId": "N"}]}, "140042497572000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581996736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "o", "_one_shot"]}, "140042578063568": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578063904": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572990496"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569770464"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540207456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791040"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791488"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791936"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792384"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572990496": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569770464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540207456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589791040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042565528016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042565528016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589791488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140042578064240": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569774608"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764528"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578063904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589793728"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794176"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794624"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796416"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796864"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774608": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042569772256": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042569771248"}]}, "140042569771248": {"type": "TypeAlias", "target": {"nodeId": "140042569771808"}}, "140042569771808": {"type": "Union", "items": [{"nodeId": "140042569773824"}, {"nodeId": "140042569774384"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578064240"}]}, {"nodeId": "140042569771584"}, {"nodeId": "140042569771696"}]}, "140042569773824": {"type": "TypeAlias", "target": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572992288"}]}}, "140042572992288": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042577365696"}]}, "140042569774384": {"type": "TypeAlias", "target": {"nodeId": "140042569516528"}}, "140042569516528": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042578064240"}]}]}, "140042569771584": {"type": "TypeAlias", "target": {"nodeId": "140042569516416"}}, "140042569516416": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}, {"nodeId": "140042578064240"}]}, "140042569771696": {"type": "TypeAlias", "target": {"nodeId": "140042569776288"}}, "140042569776288": {"type": "Tuple", "items": [{"nodeId": "140042569419008"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}]}, "140042569419008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569764528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042589792832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042578063904"}, {"nodeId": "140042565528240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140042565528240": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042565528128"}]}, {"nodeId": "N"}]}, "140042565528128": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589793728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042589794176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042589794624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528352": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042589795072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528576"}], "returnType": {"nodeId": "140042565528464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528576": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565528464": {"type": "Union", "items": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528688"}]}, "140042565528688": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528800"}, {"nodeId": "140042565529024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042565528800": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565529024": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565529136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140042565529136": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565529248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140042565529248": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042565529360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042589791936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140042589792384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140042578064576": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569776736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797760"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540202496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589998208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569776736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042589797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140042589995072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042565529472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140042589995968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140042540202496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140042589998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042578064912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140042569040608": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590003360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042590003360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040608"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224912": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140042590425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573727440": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573726432"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603568"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569530640"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042573730800"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428000"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428448"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428896"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429344"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429792"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430240"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430688"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431136"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432032"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434272"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434720"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435168"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435616"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436064"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436512"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436960"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590508128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262352"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509472"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509920"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510368"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510816"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511264"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511712"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512160"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512608"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513056"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513504"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573726432": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249248"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248576"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249024"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249472"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249920"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024704"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025152"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025824"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024480"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611027392"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042573249248": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573249472": {"type": "Union", "items": [{"nodeId": "140042586005440"}, {"nodeId": "N"}]}, "140042586005440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042561268176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561268288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140042561268176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561268288": {"type": "Union", "items": [{"nodeId": "140042560953632"}, {"nodeId": "N"}]}, "140042560953632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573726432"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140042582249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042573730800": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582246784"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042582246784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573730800"}, {"nodeId": "140042556249520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140042556249520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042582249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042561268512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561268736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561268960": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042564603568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569530640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590428000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590428448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140042590428896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590429344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573727440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140042590429792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270416"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140042561270416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042590430240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270640"}, {"nodeId": "140042561270752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140042561270640": {"type": "TypeAlias", "target": {"nodeId": "140042573247232"}}, "140042573247232": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573727440"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042561270752": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042569530416": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573737856": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808352"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582123552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124000"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124448"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124896"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125344"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125792"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126688"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573808352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808576": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140042582124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042582124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042556251088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556251088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140042582125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590430688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140042561270864": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270976": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590432480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561271088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561271088": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561271200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561271200": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590434272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590434720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271312": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271648"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042561271424"}]}, "140042561271424": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435616": {"type": "Function", "typeVars": [".-1.140042590435616"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590435616"}], "returnType": {"nodeId": "140042561271872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590435616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590435616", "variance": "INVARIANT"}, "140042561271872": {"type": "Union", "items": [{"nodeId": "140042561271760"}, {"nodeId": ".-1.140042590435616"}]}, "140042561271760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436064": {"type": "Function", "typeVars": [".-1.140042590436064"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590436064"}], "returnType": {"nodeId": "140042561272096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590436064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590436064", "variance": "INVARIANT"}, "140042561272096": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561271984"}]}, {"nodeId": ".-1.140042590436064"}]}, "140042561271984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140042561272208": {"type": "TypeAlias", "target": {"nodeId": "140042573810368"}}, "140042573810368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "140042573809360"}]}, "140042573809360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809584"}, {"nodeId": "140042577367376"}]}, "140042573809584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140042561272320": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590503200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590503648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140042590505440": {"type": "Function", "typeVars": [".-1.140042590505440"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590505440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140042590505440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505440", "variance": "INVARIANT"}, "140042561272656": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561272544"}]}, {"nodeId": ".-1.140042590505440"}]}, "140042561272544": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042590505888": {"type": "Function", "typeVars": [".-1.140042590505888"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590505888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140042590505888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505888", "variance": "INVARIANT"}, "140042561272880": {"type": "Union", "items": [{"nodeId": ".-1.140042590505888"}, {"nodeId": "140042561272768"}]}, "140042561272768": {"type": "TypeAlias", "target": {"nodeId": "140042573809808"}}, "140042573809808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809024"}]}, "140042573809024": {"type": "Tuple", "items": [{"nodeId": "140042573809136"}, {"nodeId": "140042573808016"}, {"nodeId": "140042577367376"}]}, "140042573809136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590506336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140042590506784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140042590507232": {"type": "Function", "typeVars": [".-1.140042590507232"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507232"}], "returnType": {"nodeId": "140042561273104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507232", "variance": "INVARIANT"}, "140042561273104": {"type": "Union", "items": [{"nodeId": ".-1.140042590507232"}, {"nodeId": "140042577367376"}]}, "140042590507680": {"type": "Function", "typeVars": [".-1.140042590507680"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507680"}], "returnType": {"nodeId": "140042561272432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507680", "variance": "INVARIANT"}, "140042561272432": {"type": "Union", "items": [{"nodeId": ".-1.140042590507680"}, {"nodeId": "140042577367376"}]}, "140042590508128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140042561262352": {"type": "Overloaded", "items": [{"nodeId": "140042590508576"}, {"nodeId": "140042590509024"}]}, "140042590508576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590509024": {"type": "Function", "typeVars": [".-1.140042590509024"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509024"}], "returnType": {"nodeId": "140042561273440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140042590509024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509024", "variance": "INVARIANT"}, "140042561273440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590509024"}]}, "140042590509472": {"type": "Function", "typeVars": [".-1.140042590509472"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509472"}], "returnType": {"nodeId": "140042561273552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590509472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509472", "variance": "INVARIANT"}, "140042561273552": {"type": "Union", "items": [{"nodeId": ".-1.140042590509472"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042590509920": {"type": "Function", "typeVars": [".-1.140042590509920"], "argTypes": [{"nodeId": ".-1.140042590509920"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042590509920"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042590509920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509920", "variance": "INVARIANT"}, "140042590510368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590510816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556244032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556244032": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244144"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140042556244144": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590512160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140042556244256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590512608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573726432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042590513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556244368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042556244368": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590513504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556244704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556244704": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042556244480"}]}, "140042556244480": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042573727776": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514400"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514848"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515296"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515744"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516192"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516640"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517088"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517536"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517984"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518432"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518880"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601504"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601952"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602400"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602848"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140042573727440"}], "isAbstract": false}, "140042590513952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556244816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042556244816": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590514400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042556244928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140042556244928": {"type": "Union", "items": [{"nodeId": "140042573727440"}, {"nodeId": "N"}]}, "140042590514848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245152"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245152": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042573737520": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129152"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129600"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582130048"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582245440"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582129152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140042582129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140042582130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560957440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140042560957440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042582245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577365024"}, {"nodeId": "140042560957216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140042560957216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042590516192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245600"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245600": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556246048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556246048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246272": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246608": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246944": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590601504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590601952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590602400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556247168"}, {"nodeId": "140042556247280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556247168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247280": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590602848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573728112": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573727776"}], "isAbstract": false}, "140042569636480": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042569637152": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636144"}], "isAbstract": false}, "140042569637488": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636480"}], "isAbstract": false}, "140042569639504": {"type": "Concrete", "module": "numpy.compat.py3k", "simpleName": "contextlib_nullcontext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209888"}, "name": "__exit__"}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042582209616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042569640848": {"type": "Concrete", "module": "_thread", "simpleName": "LockType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715232"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715680"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716128"}, "name": "locked"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716576"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585717024"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585715232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042585715680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585717024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042497583904"}, {"nodeId": "140042497584240"}, {"nodeId": "140042497584352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497583904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497584240": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584352": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569645552": {"type": "Concrete", "module": "_thread", "simpleName": "_ExceptHookArgs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497906432"}}, {"kind": "Variable", "name": "exc_type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497724192"}}, {"kind": "Variable", "name": "exc_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725088"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725312"}}, {"kind": "Variable", "name": "thread", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042506367408"}]}], "isAbstract": false}, "140042497906432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042497724192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585136"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497584800"}, {"nodeId": "140042497584912"}, {"nodeId": "140042497585024"}]}, "140042497584800": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584912": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585024": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497725088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585584"}], "returnType": {"nodeId": "140042497585696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585584": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585248"}, {"nodeId": "140042497585360"}, {"nodeId": "140042497585472"}]}, "140042497585248": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585472": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497585696": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497725312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586144"}], "returnType": {"nodeId": "140042497586256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586144": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585808"}, {"nodeId": "140042497585920"}, {"nodeId": "140042497586032"}]}, "140042497585808": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585920": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586032": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586256": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497725536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586704"}], "returnType": {"nodeId": "140042497586816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586704": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497586368"}, {"nodeId": "140042497586480"}, {"nodeId": "140042497586592"}]}, "140042497586368": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497586480": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586592": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586816": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042506367408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}, {"nodeId": "140042569641856"}]}, "140042480714128": {"type": "Concrete", "module": "logging", "simpleName": "BufferingFormatter", "members": [{"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480713792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560224"}, "name": "formatHeader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560672"}, "name": "formatFooter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561120"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581559776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042480818256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "linefmt"]}, "140042480818256": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581560224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581561120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042480717824": {"type": "Concrete", "module": "logging", "simpleName": "LoggerAdapter", "members": [{"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480717824"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581564704"}, "name": "process"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565152"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565600"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566048"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566496"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566944"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567392"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567840"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581568288"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572320"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572768"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581573216"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770528"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770976"}, "name": "_log"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485868672"}}], "typeVars": [{"nodeId": ".1.140042480717824"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480717824": {"type": "TypeVar", "varName": "_L", "values": [], "upperBound": {"nodeId": "140042480812656"}, "def": "140042480717824", "variance": "INVARIANT"}, "140042480812656": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480717824", "args": [{"nodeId": "A"}]}]}, "140042485593504": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": ".1.140042480717824"}, {"nodeId": "140042480819488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "logger", "extra"]}, "140042480819488": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581564704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042480820048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "kwargs"]}, "140042480820048": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042581565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820272"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820160": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820272": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820384"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820720"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820384": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820720": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820608"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820944"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820608": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820944": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821168"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820496": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821168": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820832": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821392": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821616"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821056": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821616": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821840"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821280": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821840": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480822064"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821504": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822064": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042581572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042480821728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480821728": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581770528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581770976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480822288"}, {"nodeId": "140042480822400"}, {"nodeId": "140042480822176"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info"]}, "140042480822288": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480822400": {"type": "Union", "items": [{"nodeId": "140042480821952"}, {"nodeId": "N"}]}, "140042480821952": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822176": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485868672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715136": {"type": "Concrete", "module": "logging", "simpleName": "StreamHandler", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480715136"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485593728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581983968"}, "name": "setStream"}], "typeVars": [{"nodeId": ".1.140042480715136"}], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, ".1.140042480715136": {"type": "TypeVar", "varName": "_StreamT", "values": [], "upperBound": {"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, "def": "140042480715136", "variance": "INVARIANT"}, "140042485593728": {"type": "Overloaded", "items": [{"nodeId": "140042581786208"}, {"nodeId": "140042581983520"}]}, "140042581786208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042577730512"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "stream"]}, "140042581983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042581983968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "140042480826320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042480826320": {"type": "Union", "items": [{"nodeId": ".1.140042480715136"}, {"nodeId": "N"}]}, "140042480715472": {"type": "Concrete", "module": "logging", "simpleName": "FileHandler", "members": [{"kind": "Variable", "name": "baseFilename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812992"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480813104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581984864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581985760"}, "name": "_open"}], "typeVars": [], "bases": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042573223904"}]}], "isAbstract": false}, "140042480812992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480813104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581984864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}, {"nodeId": "140042480826432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480826656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "mode", "encoding", "delay", "errors"]}, "140042480826432": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042480826544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480826656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581985760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715808": {"type": "Concrete", "module": "logging", "simpleName": "NullHandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, "140042480717152": {"type": "Concrete", "module": "logging", "simpleName": "StrFormatStyle", "members": [{"kind": "Variable", "name": "fmt_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "field_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042480717488": {"type": "Concrete", "module": "logging", "simpleName": "StringTemplateStyle", "members": [{"kind": "Variable", "name": "_tpl", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569638496"}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042569638496": {"type": "Concrete", "module": "string", "simpleName": "Template", "members": [{"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "delimiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "idpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "braceidpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569427296"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569346272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586231904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232352"}, "name": "substitute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232800"}, "name": "safe_substitute"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569427296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586231904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042586232352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042586232800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042573728784": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573729120": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573729456": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573729792": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573730128": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}, {"nodeId": "140042577642544"}], "isAbstract": false}, "140042573730464": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573731136": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731472": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731808": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732144": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732480": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732816": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733152": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733488": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733824": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734160": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734496": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734832": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735168": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735504": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573735840": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736176": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582247232"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042582247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573736176"}, {"nodeId": "140042556249632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140042556249632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573736512": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736848": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573737184": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573726768": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582252608"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253056"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253504"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253952"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254400"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042582252608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269408": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573728448"}]}, "140042573728448": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586239744"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240192"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240640"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241088"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241536"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586239744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247392"}, {"nodeId": "140042556247504"}, {"nodeId": "140042556247616"}, {"nodeId": "140042556247728"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140042556247392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247504": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247840"}, {"nodeId": "140042556247952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140042556247840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}]}, "140042556247952": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556248064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140042556248064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042586241536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582253952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582254400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573727104": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586005664"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573737520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255296"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255744"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256192"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256640"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582257088"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042586005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582254848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042561269632"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561269744"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560958336"}, {"nodeId": "140042573737520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140042561269632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561269744": {"type": "Union", "items": [{"nodeId": "140042560958112"}, {"nodeId": "N"}]}, "140042560958112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269968": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561270192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561270192": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582256192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042569639168": {"type": "Concrete", "module": "textwrap", "simpleName": "TextWrapper", "members": [{"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502303280"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sentence_end_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_simple_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "unicode_whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "uspace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259552"}, "name": "_munge_whitespace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260000"}, "name": "_split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260448"}, "name": "_fix_sentence_endings"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed_chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260896"}, "name": "_handle_long_word"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582261344"}, "name": "_wrap_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586226976"}, "name": "_split_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227424"}, "name": "wrap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227872"}, "name": "fill"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042502303280": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042502303168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "width", "initial_indent", "subsequent_indent", "expand_tabs", "replace_whitespace", "fix_sentence_endings", "break_long_words", "drop_whitespace", "break_on_hyphens", "tabsize", "max_lines", "placeholder"]}, "140042502303168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042582260896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "reversed_chunks", "cur_line", "cur_len", "width"]}, "140042582261344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042586226976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042569638832": {"type": "Concrete", "module": "string", "simpleName": "Formatter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569430208"}, "items": [{"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "format"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569428192"}, "items": [{"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursion_depth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "auto_arg_index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586235936"}, "name": "_vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236384"}, "name": "parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236832"}, "name": "get_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237280"}, "name": "get_value"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237728"}, "name": "check_unused_args"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238176"}, "name": "format_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238624"}, "name": "convert_field"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569430208": {"type": "Overloaded", "items": [{"nodeId": "140042586234144"}, {"nodeId": "140042586234592"}]}, "140042586234144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042586234592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042569428192": {"type": "Overloaded", "items": [{"nodeId": "140042586235040"}, {"nodeId": "140042586235488"}]}, "140042586235040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502297232"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042502297456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format_string", "args", "kwargs", "used_args", "recursion_depth", "auto_arg_index"]}, "140042502297232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042502297456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042586236384": {"type": "Function", "typeVars": [".-1.140042586236384"], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": ".-1.140042586236384"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042502298016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_string"]}, ".-1.140042586236384": {"type": "TypeVar", "varName": "StrOrLiteralStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042586236384", "variance": "INVARIANT"}, "140042502298016": {"type": "Tuple", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "140042502297568"}, {"nodeId": "140042502297680"}, {"nodeId": "140042502297792"}]}, "140042502297568": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297680": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297792": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042586236832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "field_name", "args", "kwargs"]}, "140042586237280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042502298464"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "args", "kwargs"]}, "140042502298464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586237728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502298912"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "used_args", "args", "kwargs"]}, "140042502298912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586238176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "format_spec"]}, "140042586238624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "conversion"]}}, "types": {}, "definitions": {"subtypes": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, "P": {"kind": "ClassDef", "type": {"nodeId": "140042464396672"}}, "S": {"kind": "ClassDef", "type": {"nodeId": "140042464397008"}}, "S1": {"kind": "ClassDef", "type": {"nodeId": "140042464397344"}}, "func_for_P": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399573248"}, "name": "func_for_P"}, "R": {"kind": "ClassDef", "type": {"nodeId": "140042464397680"}}, "RImpl": {"kind": "ClassDef", "type": {"nodeId": "140042464398016"}}, "func_for_R": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399825056"}, "name": "func_for_R"}, "a": {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, "func_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489750112"}, "name": "func_abs"}, "b": {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140042577735888"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140042577736224"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140042577736560"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140042577736896"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140042577724800"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140042568796192"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042568796528"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042568796864"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577737232"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577737568"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577737904"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577738240"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140042577725136"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140042577738576"}}}, "numpy": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}, "_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}, "_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}, "_IOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911392"}}, "_MemMapIOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911728"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472912064"}}, "dtype": {"kind": "ClassDef", "type": {"nodeId": "140042468653568"}}, "flatiter": {"kind": "ClassDef", "type": {"nodeId": "140042468653904"}}, "_ArrayOrScalarCommon": {"kind": "ClassDef", "type": {"nodeId": "140042472912400"}}, "_SupportsItem": {"kind": "ClassDef", "type": {"nodeId": "140042472912736"}}, "_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472913072"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472913408"}}, "ndarray": {"kind": "ClassDef", "type": {"nodeId": "140042472913744"}}, "generic": {"kind": "ClassDef", "type": {"nodeId": "140042472914080"}}, "number": {"kind": "ClassDef", "type": {"nodeId": "140042472914416"}}, "bool_": {"kind": "ClassDef", "type": {"nodeId": "140042468229184"}}, "object_": {"kind": "ClassDef", "type": {"nodeId": "140042468229520"}}, "_DatetimeScalar": {"kind": "ClassDef", "type": {"nodeId": "140042468229856"}}, "datetime64": {"kind": "ClassDef", "type": {"nodeId": "140042468230192"}}, "integer": {"kind": "ClassDef", "type": {"nodeId": "140042468230528"}}, "signedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468230864"}}, "timedelta64": {"kind": "ClassDef", "type": {"nodeId": "140042468231200"}}, "unsignedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468231536"}}, "inexact": {"kind": "ClassDef", "type": {"nodeId": "140042468231872"}}, "floating": {"kind": "ClassDef", "type": {"nodeId": "140042468232208"}}, "complexfloating": {"kind": "ClassDef", "type": {"nodeId": "140042468232544"}}, "flexible": {"kind": "ClassDef", "type": {"nodeId": "140042468232880"}}, "void": {"kind": "ClassDef", "type": {"nodeId": "140042468233216"}}, "character": {"kind": "ClassDef", "type": {"nodeId": "140042468233552"}}, "bytes_": {"kind": "ClassDef", "type": {"nodeId": "140042468233888"}}, "str_": {"kind": "ClassDef", "type": {"nodeId": "140042468234224"}}, "ufunc": {"kind": "ClassDef", "type": {"nodeId": "140042468234560"}}, "_CopyMode": {"kind": "ClassDef", "type": {"nodeId": "140042468234896"}}, "ModuleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235232"}}, "VisibleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235568"}}, "ComplexWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235904"}}, "RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468236240"}}, "TooHardError": {"kind": "ClassDef", "type": {"nodeId": "140042468236576"}}, "AxisError": {"kind": "ClassDef", "type": {"nodeId": "140042468236912"}}, "errstate": {"kind": "ClassDef", "type": {"nodeId": "140042468237248"}}, "ndenumerate": {"kind": "ClassDef", "type": {"nodeId": "140042468654240"}}, "ndindex": {"kind": "ClassDef", "type": {"nodeId": "140042468237584"}}, "DataSource": {"kind": "ClassDef", "type": {"nodeId": "140042468237920"}}, "broadcast": {"kind": "ClassDef", "type": {"nodeId": "140042468238256"}}, "busdaycalendar": {"kind": "ClassDef", "type": {"nodeId": "140042468238592"}}, "finfo": {"kind": "ClassDef", "type": {"nodeId": "140042468654576"}}, "iinfo": {"kind": "ClassDef", "type": {"nodeId": "140042468238928"}}, "format_parser": {"kind": "ClassDef", "type": {"nodeId": "140042468239264"}}, "recarray": {"kind": "ClassDef", "type": {"nodeId": "140042468239600"}}, "record": {"kind": "ClassDef", "type": {"nodeId": "140042468239936"}}, "nditer": {"kind": "ClassDef", "type": {"nodeId": "140042468240272"}}, "memmap": {"kind": "ClassDef", "type": {"nodeId": "140042468240608"}}, "vectorize": {"kind": "ClassDef", "type": {"nodeId": "140042468240944"}}, "poly1d": {"kind": "ClassDef", "type": {"nodeId": "140042468241280"}}, "matrix": {"kind": "ClassDef", "type": {"nodeId": "140042468241616"}}, "chararray": {"kind": "ClassDef", "type": {"nodeId": "140042468241952"}}, "_SupportsDLPack": {"kind": "ClassDef", "type": {"nodeId": "140042468242288"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042782777616"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042782777952"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140042782778288"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140042782778624"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042782778960"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140042782779296"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140042782779632"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577725472"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140042577725808"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140042577726144"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140042577726480"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140042577726816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042577727152"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140042782779968"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140042782780304"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140042577727488"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140042577727824"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140042782780640"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140042782780976"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140042782781312"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140042782781648"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140042782781984"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140042782782320"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042577728160"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140042782782656"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140042782782992"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042782783328"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140042782783664"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140042782784000"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784336"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784672"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140042782785008"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140042577363008"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140042577728496"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042577728832"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140042577729168"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042577729504"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363344"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363680"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140042577729840"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730176"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730512"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140042577730848"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042577731184"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577731520"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140042577364016"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140042782775936"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140042782776944"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140042782777280"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364352"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364688"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140042577365024"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140042577365360"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140042577365696"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140042577366032"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140042577366368"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577366704"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140042577367040"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140042577367376"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140042577732864"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140042577733200"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140042577367712"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042577368048"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140042577368384"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140042577368720"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140042577369056"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140042577733536"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140042577733872"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140042577734208"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140042577369392"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140042577369728"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140042577370064"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569343248"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140042577370400"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140042577734544"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140042577370736"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140042577734880"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140042569343584"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140042577371072"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140042577371408"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140042577371744"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140042577735216"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140042577372080"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140042577372416"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140042569343920"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140042577735552"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042577372752"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140042577373088"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140042577373424"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140042577373760"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140042577374096"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140042577374432"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577374768"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140042577375104"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140042577375440"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140042577375776"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140042577376112"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140042577376448"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140042577376784"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140042577377120"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577377456"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577377792"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140042577378128"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140042577378464"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140042577378800"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577641536"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140042577641872"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140042577642208"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140042577642544"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140042577642880"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140042577643216"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140042577643552"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140042577643888"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577644224"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140042577644560"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140042577644896"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140042577645232"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140042577645568"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042577645904"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140042577646240"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140042577646576"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140042577646912"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140042577647248"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140042577647584"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140042577647920"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577648256"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140042577648592"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577648928"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577649264"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140042577649600"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577649936"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140042577650272"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140042577650608"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140042577650944"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140042577651280"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140042577651616"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577651952"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652288"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652624"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140042577652960"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140042577653296"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653632"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653968"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654304"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654640"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654976"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655312"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655648"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655984"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656320"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656656"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656992"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042578060880"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140042569344256"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344592"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344928"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140042578061216"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345264"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345600"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042578061552"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140042569345936"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577731856"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577732192"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577732528"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140042568801568"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140042568801904"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140042568802240"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140042568802576"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140042568802912"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140042568803248"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042568803584"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140042568803920"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804256"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804592"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140042568804928"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140042568805264"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805600"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805936"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140042568806272"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140042568806608"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568806944"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042568807280"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140042568807616"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568807952"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568808288"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140042568808624"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140042568808960"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042568809296"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809632"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809968"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042569039936"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140042569040272"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042577738912"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577739248"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042578051136"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578051472"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042578051808"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578052480"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140042578052816"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578053152"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140042578053488"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140042578053824"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140042578054160"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042578054496"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140042578054832"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055168"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055504"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140042578055840"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056176"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140042578056512"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056848"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057184"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140042578057520"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057856"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578058192"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140042578058528"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140042578058864"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059200"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059536"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042578059872"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140042578060208"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140042578060544"}}}, "numpy.core._internal": {"_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}}, "numpy._typing._callable": {"_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_SupportsLT": {"kind": "ClassDef", "type": {"nodeId": "140042472910048"}}, "_SupportsGT": {"kind": "ClassDef", "type": {"nodeId": "140042472910384"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}}, "numpy.core.records": {"_SupportsReadInto": {"kind": "ClassDef", "type": {"nodeId": "140042468643152"}}}, "numpy.core.multiarray": {"_SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472901312"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}}, "numpy.core.numerictypes": {"_CastFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900640"}}, "_typedict": {"kind": "ClassDef", "type": {"nodeId": "140042468652560"}}}, "numpy.lib.arraypad": {"_ModeFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900304"}}}, "numpy.lib.arrayterator": {"Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.lib.function_base": {"_TrimZerosSequence": {"kind": "ClassDef", "type": {"nodeId": "140042472899632"}}, "_SupportsWriteFlush": {"kind": "ClassDef", "type": {"nodeId": "140042472899968"}}}, "numpy.lib.index_tricks": {"nd_grid": {"kind": "ClassDef", "type": {"nodeId": "140042472667648"}}, "MGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472667984"}}, "OGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472668320"}}, "AxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042472668656"}}, "RClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898624"}}, "CClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898960"}}, "IndexExpression": {"kind": "ClassDef", "type": {"nodeId": "140042472899296"}}}, "numpy.lib.npyio": {"_SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472665632"}}, "_SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042472665968"}}, "_SupportsReadSeek": {"kind": "ClassDef", "type": {"nodeId": "140042472666304"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472666640"}}, "BagObj": {"kind": "ClassDef", "type": {"nodeId": "140042472666976"}}, "NpzFile": {"kind": "ClassDef", "type": {"nodeId": "140042472667312"}}}, "numpy.lib.shape_base": {"_ArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664288"}}, "_ArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472664624"}}, "_SupportsArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664960"}}, "_SupportsArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472665296"}}}, "numpy.lib.stride_tricks": {"DummyArray": {"kind": "ClassDef", "type": {"nodeId": "140042472663952"}}}, "numpy.lib.type_check": {"_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472663280"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472663616"}}}, "numpy.lib.utils": {"_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472662608"}}, "_Deprecate": {"kind": "ClassDef", "type": {"nodeId": "140042472662944"}}}, "numpy._pytesttester": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}}, "numpy._typing": {"NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.ctypeslib": {"_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472658912"}}, "_concrete_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472659248"}}}, "numpy.lib": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.linalg": {"LinAlgError": {"kind": "ClassDef", "type": {"nodeId": "140042468642816"}}}, "numpy.ma": {"MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}}, "numpy.polynomial": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}, "Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}, "HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}, "Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}, "Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}, "Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}, "MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}, "PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}, "Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}, "SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing": {"IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140042573219200"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140042569346608"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569346944"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140042573219536"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347280"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347616"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140042569347952"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140042569348288"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140042569348624"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140042569348960"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140042569349296"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140042569349632"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140042573219872"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738192"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738528"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569632448"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573738864"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140042573739200"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140042573739536"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140042573739872"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740208"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740544"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140042573740880"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140042573741216"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140042569632784"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140042573741552"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140042573905984"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140042573906320"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140042573906656"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140042573906992"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140042573907328"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140042573907664"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140042573908000"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140042573908336"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140042573908672"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140042573909008"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140042573909344"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140042573909680"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140042573910016"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140042573910352"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140042573910688"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140042573911024"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140042573911360"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140042573911696"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140042573912032"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140042573912368"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140042573912704"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140042573913040"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140042573913376"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140042573913712"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140042573914048"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140042573914384"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140042573914720"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140042573915056"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140042573915392"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140042573915728"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140042573916064"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573916400"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140042573916736"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140042573917072"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140042573917408"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573917744"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573918080"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140042569633120"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140042568801232"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140042480719840"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140042480720176"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140042480720848"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140042480721184"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140042480721520"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140042480721856"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140042573232640"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573232976"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140042573233312"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140042573233648"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140042569632112"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140042573725760"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140042573726096"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577657328"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723456"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723792"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140042577724128"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140042577724464"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918416"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918752"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919088"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573919424"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919760"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573920096"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140042573920432"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140042573920768"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140042573921104"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140042573921440"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140042573921776"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140042568794176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140042568794512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140042568794848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042568795856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140042578065584"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140042578065920"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140042569346272"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140042569040944"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140042569041280"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140042569041616"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140042569041952"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042569042288"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140042569042624"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140042569042960"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140042569043296"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140042569043632"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569043968"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044304"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044640"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140042569044976"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140042569045312"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140042569045648"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569045984"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569046320"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140042569046656"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140042569046992"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140042569047328"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140042569047664"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140042569048000"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140042569048336"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140042569048672"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140042569049008"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140042569049344"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140042569049680"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569050016"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140042569050352"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140042569050688"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140042569051024"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140042569051360"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140042569051696"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140042569052032"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140042569052368"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042569052704"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053040"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053376"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140042569053712"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140042569054048"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140042569054384"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140042569054720"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055056"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055392"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055728"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140042569220160"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140042569220496"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140042569220832"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569221168"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140042569221504"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140042569221840"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140042569222176"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140042569222512"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140042569222848"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140042569223184"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140042569223520"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140042569223856"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140042569224192"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140042569224528"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140042569224864"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140042569225200"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140042569225536"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140042569225872"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140042569226208"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140042569226544"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140042569226880"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140042569227216"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140042569227552"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140042569227888"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140042569228224"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140042569228560"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140042569228896"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140042569229232"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140042569229568"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140042569229904"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140042569230240"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140042569230576"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140042569230912"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140042569231248"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140042569231584"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140042569231920"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140042569232256"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140042569232592"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140042569232928"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140042569233264"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140042569233600"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140042569233936"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140042569234272"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140042569234608"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140042569234944"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140042569235280"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140042569235616"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140042569235952"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140042569334848"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140042569335184"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140042569335520"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140042569335856"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140042569336192"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140042569336528"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140042569336864"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337200"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337536"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140042569337872"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140042569338208"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140042569338544"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140042569338880"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140042569339216"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140042569339552"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140042569339888"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140042569340224"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140042569340560"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140042569340896"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140042569341232"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140042569341568"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140042569341904"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140042569342240"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140042569342576"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140042569342912"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140042573220208"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220544"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220880"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573221216"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221552"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221888"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140042573222224"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140042573222560"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140042573222896"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140042573223232"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573223568"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042573223904"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140042573224240"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569637824"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140042573228608"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229280"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229616"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229952"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573230288"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230624"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230960"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573231296"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140042573231632"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140042573231968"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140042573232304"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140042573227936"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569629760"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569630096"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630432"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573228272"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630768"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631104"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631440"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631776"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140042578066256"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140042578066592"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140042578066928"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573217856"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573218192"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218528"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218864"}}}, "numpy._typing._generic_alias": {"_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}}, "numpy._typing._nested_sequence": {"_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}}, "__future__": {"_Feature": {"kind": "ClassDef", "type": {"nodeId": "140042498340704"}}}, "numpy.ma.mrecords": {"MaskedRecords": {"kind": "ClassDef", "type": {"nodeId": "140042464395328"}}}, "zipfile": {"BadZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498336672"}}, "LargeZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498337008"}}, "_ZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498337344"}}, "_SupportsReadSeekTell": {"kind": "ClassDef", "type": {"nodeId": "140042498337680"}}, "_ClosableZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498338016"}}, "ZipExtFile": {"kind": "ClassDef", "type": {"nodeId": "140042498338352"}}, "_Writer": {"kind": "ClassDef", "type": {"nodeId": "140042498338688"}}, "ZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339024"}}, "PyZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339360"}}, "ZipInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498339696"}}, "_PathOpenProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042498340032"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042498340368"}}}, "ast": {"_ABC": {"kind": "ClassDef", "type": {"nodeId": "140042498331632"}}, "Num": {"kind": "ClassDef", "type": {"nodeId": "140042498331968"}}, "Str": {"kind": "ClassDef", "type": {"nodeId": "140042498332304"}}, "Bytes": {"kind": "ClassDef", "type": {"nodeId": "140042498332640"}}, "NameConstant": {"kind": "ClassDef", "type": {"nodeId": "140042498332976"}}, "Ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042498333312"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042498333648"}}, "ExtSlice": {"kind": "ClassDef", "type": {"nodeId": "140042498333984"}}, "Index": {"kind": "ClassDef", "type": {"nodeId": "140042498334320"}}, "Suite": {"kind": "ClassDef", "type": {"nodeId": "140042498334656"}}, "AugLoad": {"kind": "ClassDef", "type": {"nodeId": "140042498334992"}}, "AugStore": {"kind": "ClassDef", "type": {"nodeId": "140042498335328"}}, "Param": {"kind": "ClassDef", "type": {"nodeId": "140042498335664"}}, "NodeVisitor": {"kind": "ClassDef", "type": {"nodeId": "140042498336000"}}, "NodeTransformer": {"kind": "ClassDef", "type": {"nodeId": "140042498336336"}}}, "numpy._typing._dtype_like": {"_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}}, "numpy._typing._array_like": {"_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}}, "numpy._typing._ufunc": {"_SupportsArrayUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042468648528"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.lib.mixins": {"NDArrayOperatorsMixin": {"kind": "ClassDef", "type": {"nodeId": "140042468642480"}}}, "numpy.lib._version": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}}, "math": {"_SupportsCeil": {"kind": "ClassDef", "type": {"nodeId": "140042498330288"}}, "_SupportsFloor": {"kind": "ClassDef", "type": {"nodeId": "140042498330624"}}, "_SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042498330960"}}}, "numpy.ma.extras": {"_fromnxfunction": {"kind": "ClassDef", "type": {"nodeId": "140042472656560"}}, "_fromnxfunction_single": {"kind": "ClassDef", "type": {"nodeId": "140042472656896"}}, "_fromnxfunction_seq": {"kind": "ClassDef", "type": {"nodeId": "140042472657232"}}, "_fromnxfunction_allargs": {"kind": "ClassDef", "type": {"nodeId": "140042472657568"}}, "MAxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042468651552"}}, "mr_class": {"kind": "ClassDef", "type": {"nodeId": "140042468651888"}}}, "numpy.ma.core": {"MaskedArrayFutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042480729584"}}, "MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "_MaskedUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472653536"}}, "_MaskedUnaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472653872"}}, "_MaskedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654208"}}, "_DomainedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654544"}}, "_MaskedPrintOption": {"kind": "ClassDef", "type": {"nodeId": "140042472654880"}}, "MaskedIterator": {"kind": "ClassDef", "type": {"nodeId": "140042472655216"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}, "MaskedConstant": {"kind": "ClassDef", "type": {"nodeId": "140042468651216"}}, "_extrema_operation": {"kind": "ClassDef", "type": {"nodeId": "140042472655552"}}, "_frommethod": {"kind": "ClassDef", "type": {"nodeId": "140042472655888"}}, "_convert2ma": {"kind": "ClassDef", "type": {"nodeId": "140042472656224"}}}, "numpy.polynomial.chebyshev": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}}, "numpy.polynomial.hermite": {"Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}}, "numpy.polynomial.hermite_e": {"HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}}, "numpy.polynomial.laguerre": {"Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}}, "numpy.polynomial.legendre": {"Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}}, "numpy.polynomial.polynomial": {"Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random._generator": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}}, "numpy.random._mt19937": {"MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}}, "numpy.random._pcg64": {"PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}}, "numpy.random._philox": {"Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}}, "numpy.random._sfc64": {"SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}}, "numpy.random.bit_generator": {"ISeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468638784"}}, "ISpawnableSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639120"}}, "SeedlessSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639456"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}}, "numpy.random.mtrand": {"RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing._private.utils": {"KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "_clear_and_catch_warnings_with_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243632"}}, "_clear_and_catch_warnings_without_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243968"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "unittest": {"FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}, "TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}, "TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}, "BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}, "IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140042578061888"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062224"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140042578062560"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062896"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140042578063232"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140042498329616"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498329952"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140042578064912"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140042578065248"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797200"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797536"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140042569633456"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140042568797872"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140042568798208"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042568798544"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042568798880"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799216"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799552"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140042569633792"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140042568799888"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800224"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800560"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634128"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634464"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569634800"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042569635136"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569635472"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800896"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042573225248"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140042573225920"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140042573226256"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140042573226592"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140042569638160"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140042573226928"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227264"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569349968"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569350640"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227600"}}}, "functools": {"_lru_cache_wrapper": {"kind": "ClassDef", "type": {"nodeId": "140042498327600"}}, "partial": {"kind": "ClassDef", "type": {"nodeId": "140042498327936"}}, "partialmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328272"}}, "_SingleDispatchCallable": {"kind": "ClassDef", "type": {"nodeId": "140042498328608"}}, "singledispatchmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328944"}}, "cached_property": {"kind": "ClassDef", "type": {"nodeId": "140042498329280"}}}, "numpy.polynomial._polybase": {"ABCPolyBase": {"kind": "ClassDef", "type": {"nodeId": "140042498326928"}}}, "numpy.polynomial.polyutils": {"RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042498326592"}}}, "threading": {"ThreadError": {"kind": "ClassDef", "type": {"nodeId": "140042569641184"}}, "local": {"kind": "ClassDef", "type": {"nodeId": "140042569641520"}}, "Thread": {"kind": "ClassDef", "type": {"nodeId": "140042569641856"}}, "_DummyThread": {"kind": "ClassDef", "type": {"nodeId": "140042569642192"}}, "Lock": {"kind": "ClassDef", "type": {"nodeId": "140042569642528"}}, "_RLock": {"kind": "ClassDef", "type": {"nodeId": "140042569642864"}}, "Condition": {"kind": "ClassDef", "type": {"nodeId": "140042569643200"}}, "Semaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643536"}}, "BoundedSemaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643872"}}, "Event": {"kind": "ClassDef", "type": {"nodeId": "140042569644208"}}, "Timer": {"kind": "ClassDef", "type": {"nodeId": "140042569644544"}}, "Barrier": {"kind": "ClassDef", "type": {"nodeId": "140042569644880"}}, "BrokenBarrierError": {"kind": "ClassDef", "type": {"nodeId": "140042569645216"}}}, "unittest.case": {"_BaseTestCaseContext": {"kind": "ClassDef", "type": {"nodeId": "140042480722864"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "_SupportsAbsAndDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042480723536"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "_AssertRaisesContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724544"}}, "_AssertWarnsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724880"}}}, "warnings": {"_OptionError": {"kind": "ClassDef", "type": {"nodeId": "140042480718160"}}, "WarningMessage": {"kind": "ClassDef", "type": {"nodeId": "140042480718496"}}, "catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042480718832"}}}, "unittest.loader": {"TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}}, "unittest.main": {"_TestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480726560"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}}, "unittest.result": {"TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}}, "unittest.runner": {"TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}}, "unittest.suite": {"BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}}, "unittest.async_case": {"IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "json": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}, "JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140042578063568"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140042578063904"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140042578064240"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140042578064576"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140042569040608"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140042573224912"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140042573727776"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140042573728112"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140042569635808"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636144"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636480"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042569636816"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637152"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637488"}}}, "numpy.compat": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "_thread": {"LockType": {"kind": "ClassDef", "type": {"nodeId": "140042569640848"}}, "_ExceptHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042569645552"}}}, "unittest._log": {"_AssertLogsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480727232"}}}, "logging": {"Filterer": {"kind": "ClassDef", "type": {"nodeId": "140042498341376"}}, "Manager": {"kind": "ClassDef", "type": {"nodeId": "140042498341712"}}, "Logger": {"kind": "ClassDef", "type": {"nodeId": "140042498342048"}}, "Handler": {"kind": "ClassDef", "type": {"nodeId": "140042498342384"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042480713792"}}, "BufferingFormatter": {"kind": "ClassDef", "type": {"nodeId": "140042480714128"}}, "Filter": {"kind": "ClassDef", "type": {"nodeId": "140042480714464"}}, "LogRecord": {"kind": "ClassDef", "type": {"nodeId": "140042480714800"}}, "LoggerAdapter": {"kind": "ClassDef", "type": {"nodeId": "140042480717824"}}, "StreamHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715136"}}, "FileHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715472"}}, "NullHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715808"}}, "PlaceHolder": {"kind": "ClassDef", "type": {"nodeId": "140042480716144"}}, "RootLogger": {"kind": "ClassDef", "type": {"nodeId": "140042480716480"}}, "PercentStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480716816"}}, "StrFormatStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717152"}}, "StringTemplateStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717488"}}}, "json.decoder": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}}, "json.encoder": {"JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140042573737856"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140042573737520"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140042573728784"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729120"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729456"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140042573729792"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140042573730128"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140042573730464"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573730800"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731136"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731472"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731808"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732144"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732480"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732816"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733152"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733488"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733824"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734160"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734496"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734832"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735168"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735504"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140042573735840"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736176"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736512"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736848"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573737184"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140042573726768"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140042573727104"}}}, "numpy.compat.py3k": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "textwrap": {"TextWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042569639168"}}}, "string": {"Template": {"kind": "ClassDef", "type": {"nodeId": "140042569638496"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042569638832"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140042573728448"}}}}, "names": {"subtypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "numpy", "kind": "Module", "fullname": "numpy"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "P", "kind": "LocalType"}, {"name": "S", "kind": "LocalType"}, {"name": "S1", "kind": "LocalType"}, {"name": "func_for_P", "kind": "Other"}, {"name": "R", "kind": "LocalType"}, {"name": "RImpl", "kind": "LocalType"}, {"name": "func_for_R", "kind": "Other"}, {"name": "a", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "func_abs", "kind": "Other"}, {"name": "b", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "numpy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "_array", "kind": "Module", "fullname": "array"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "ContextDecorator", "kind": "ImportedType", "fullname": "contextlib.ContextDecorator"}, {"name": "contextmanager", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "PytestTester", "kind": "LocalType"}, {"name": "_ctypes", "kind": "LocalType"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ctypeslib", "kind": "Module", "fullname": "numpy.ctypeslib"}, {"name": "fft", "kind": "Module", "fullname": "numpy.fft"}, {"name": "lib", "kind": "Module", "fullname": "numpy.lib"}, {"name": "linalg", "kind": "Module", "fullname": "numpy.linalg"}, {"name": "ma", "kind": "Module", "fullname": "numpy.ma"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial"}, {"name": "random", "kind": "Module", "fullname": "numpy.random"}, {"name": "testing", "kind": "Module", "fullname": "numpy.testing"}, {"name": "version", "kind": "Module", "fullname": "numpy.version"}, {"name": "defchararray", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "records", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "char", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "rec", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "require", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "nested_iters", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "block", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "_AnyStr_contra", "kind": "Other"}, {"name": "_IOProtocol", "kind": "LocalType"}, {"name": "_MemMapIOProtocol", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "__git_version__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "cumproduct", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "show_config", "kind": "Other"}, {"name": "_NdArraySubClass", "kind": "Other"}, {"name": "_DTypeScalar_co", "kind": "Other"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "dtype", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_FlatIterSelf", "kind": "Other"}, {"name": "flatiter", "kind": "LocalType"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "_ArraySelf", "kind": "Other"}, {"name": "_ArrayOrScalarCommon", "kind": "LocalType"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_FlexDType", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_ShapeType2", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ArrayUInt_co", "kind": "Other"}, {"name": "_ArrayInt_co", "kind": "Other"}, {"name": "_ArrayFloat_co", "kind": "Other"}, {"name": "_ArrayComplex_co", "kind": "Other"}, {"name": "_ArrayNumber_co", "kind": "Other"}, {"name": "_ArrayTD64_co", "kind": "Other"}, {"name": "_dtype", "kind": "Other"}, {"name": "_PyCapsule", "kind": "Other"}, {"name": "_SupportsItem", "kind": "LocalType"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "ndarray", "kind": "LocalType"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "generic", "kind": "LocalType"}, {"name": "number", "kind": "LocalType"}, {"name": "bool_", "kind": "LocalType"}, {"name": "object_", "kind": "LocalType"}, {"name": "_DatetimeScalar", "kind": "LocalType"}, {"name": "datetime64", "kind": "LocalType"}, {"name": "_IntValue", "kind": "Other"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "_ComplexValue", "kind": "Other"}, {"name": "integer", "kind": "LocalType"}, {"name": "signedinteger", "kind": "LocalType"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "timedelta64", "kind": "LocalType"}, {"name": "unsignedinteger", "kind": "LocalType"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uintp", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "inexact", "kind": "LocalType"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "floating", "kind": "LocalType"}, {"name": "float16", "kind": "Other"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "longfloat", "kind": "Other"}, {"name": "complexfloating", "kind": "LocalType"}, {"name": "complex64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "singlecomplex", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "cfloat", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "clongfloat", "kind": "Other"}, {"name": "longcomplex", "kind": "Other"}, {"name": "flexible", "kind": "LocalType"}, {"name": "void", "kind": "LocalType"}, {"name": "character", "kind": "LocalType"}, {"name": "bytes_", "kind": "LocalType"}, {"name": "string_", "kind": "Other"}, {"name": "str_", "kind": "LocalType"}, {"name": "unicode_", "kind": "Other"}, {"name": "Inf", "kind": "Other"}, {"name": "Infinity", "kind": "Other"}, {"name": "NAN", "kind": "Other"}, {"name": "NINF", "kind": "Other"}, {"name": "NZERO", "kind": "Other"}, {"name": "NaN", "kind": "Other"}, {"name": "PINF", "kind": "Other"}, {"name": "PZERO", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "euler_gamma", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "infty", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "ERR_IGNORE", "kind": "Other"}, {"name": "ERR_WARN", "kind": "Other"}, {"name": "ERR_RAISE", "kind": "Other"}, {"name": "ERR_CALL", "kind": "Other"}, {"name": "ERR_PRINT", "kind": "Other"}, {"name": "ERR_LOG", "kind": "Other"}, {"name": "ERR_DEFAULT", "kind": "Other"}, {"name": "SHIFT_DIVIDEBYZERO", "kind": "Other"}, {"name": "SHIFT_OVERFLOW", "kind": "Other"}, {"name": "SHIFT_UNDERFLOW", "kind": "Other"}, {"name": "SHIFT_INVALID", "kind": "Other"}, {"name": "FPE_DIVIDEBYZERO", "kind": "Other"}, {"name": "FPE_OVERFLOW", "kind": "Other"}, {"name": "FPE_UNDERFLOW", "kind": "Other"}, {"name": "FPE_INVALID", "kind": "Other"}, {"name": "FLOATING_POINT_SUPPORT", "kind": "Other"}, {"name": "UFUNC_BUFSIZE_DEFAULT", "kind": "Other"}, {"name": "little_endian", "kind": "Other"}, {"name": "True_", "kind": "Other"}, {"name": "False_", "kind": "Other"}, {"name": "UFUNC_PYVALS_NAME", "kind": "Other"}, {"name": "newaxis", "kind": "Other"}, {"name": "ufunc", "kind": "LocalType"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_not", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "cbrt", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "conj", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "deg2rad", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp2", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "float_power", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmax", "kind": "Other"}, {"name": "fmin", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "heaviside", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "invert", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isnat", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "logaddexp2", "kind": "Other"}, {"name": "logaddexp", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "matmul", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "positive", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rad2deg", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "reciprocal", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "rint", "kind": "Other"}, {"name": "sign", "kind": "Other"}, {"name": "signbit", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "spacing", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "square", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "trunc", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "_CopyMode", "kind": "LocalType"}, {"name": "ModuleDeprecationWarning", "kind": "LocalType"}, {"name": "VisibleDeprecationWarning", "kind": "LocalType"}, {"name": "ComplexWarning", "kind": "LocalType"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "TooHardError", "kind": "LocalType"}, {"name": "AxisError", "kind": "LocalType"}, {"name": "_CallType", "kind": "Other"}, {"name": "errstate", "kind": "LocalType"}, {"name": "_no_nep50_warning", "kind": "Other"}, {"name": "_get_promotion_state", "kind": "Other"}, {"name": "_set_promotion_state", "kind": "Other"}, {"name": "ndenumerate", "kind": "LocalType"}, {"name": "ndindex", "kind": "LocalType"}, {"name": "DataSource", "kind": "LocalType"}, {"name": "broadcast", "kind": "LocalType"}, {"name": "busdaycalendar", "kind": "LocalType"}, {"name": "finfo", "kind": "LocalType"}, {"name": "iinfo", "kind": "LocalType"}, {"name": "format_parser", "kind": "LocalType"}, {"name": "recarray", "kind": "LocalType"}, {"name": "record", "kind": "LocalType"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "nditer", "kind": "LocalType"}, {"name": "_MemMapModeKind", "kind": "Other"}, {"name": "memmap", "kind": "LocalType"}, {"name": "vectorize", "kind": "LocalType"}, {"name": "poly1d", "kind": "LocalType"}, {"name": "matrix", "kind": "LocalType"}, {"name": "_CharType", "kind": "Other"}, {"name": "_CharDType", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "chararray", "kind": "LocalType"}, {"name": "_SupportsDLPack", "kind": "LocalType"}, {"name": "from_dlpack", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "numpy.core._internal": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "c_intp", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "_PT", "kind": "Other"}, {"name": "_ctypes", "kind": "LocalType"}], "numpy._typing._callable": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "int8", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "complex128", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T1_contra", "kind": "Other"}, {"name": "_T2_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_NumberType_co", "kind": "Other"}, {"name": "_GenericType_co", "kind": "Other"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_SupportsLT", "kind": "LocalType"}, {"name": "_SupportsGT", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}], "numpy._typing._extended_precision": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_80Bit", "kind": "ImportedType", "fullname": "numpy._typing._80Bit"}, {"name": "_96Bit", "kind": "ImportedType", "fullname": "numpy._typing._96Bit"}, {"name": "_128Bit", "kind": "ImportedType", "fullname": "numpy._typing._128Bit"}, {"name": "_256Bit", "kind": "ImportedType", "fullname": "numpy._typing._256Bit"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}], "numpy.core.defchararray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "chararray", "kind": "ImportedType", "fullname": "numpy.chararray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "int_", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "U_co", "kind": "Other"}, {"name": "S_co", "kind": "Other"}, {"name": "i_co", "kind": "Other"}, {"name": "b_co", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "capitalize", "kind": "Other"}, {"name": "center", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "expandtabs", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "ljust", "kind": "Other"}, {"name": "lower", "kind": "Other"}, {"name": "lstrip", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rjust", "kind": "Other"}, {"name": "rpartition", "kind": "Other"}, {"name": "rsplit", "kind": "Other"}, {"name": "rstrip", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitlines", "kind": "Other"}, {"name": "strip", "kind": "Other"}, {"name": "swapcase", "kind": "Other"}, {"name": "title", "kind": "Other"}, {"name": "translate", "kind": "Other"}, {"name": "upper", "kind": "Other"}, {"name": "zfill", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "endswith", "kind": "Other"}, {"name": "find", "kind": "Other"}, {"name": "index", "kind": "Other"}, {"name": "isalpha", "kind": "Other"}, {"name": "isalnum", "kind": "Other"}, {"name": "isdecimal", "kind": "Other"}, {"name": "isdigit", "kind": "Other"}, {"name": "islower", "kind": "Other"}, {"name": "isnumeric", "kind": "Other"}, {"name": "isspace", "kind": "Other"}, {"name": "istitle", "kind": "Other"}, {"name": "isupper", "kind": "Other"}, {"name": "rfind", "kind": "Other"}, {"name": "rindex", "kind": "Other"}, {"name": "startswith", "kind": "Other"}, {"name": "str_len", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asarray", "kind": "Other"}], "numpy.core.records": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "format_parser", "kind": "ImportedType", "fullname": "numpy.format_parser"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_SCT", "kind": "Other"}, {"name": "_RecArray", "kind": "Other"}, {"name": "_SupportsReadInto", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "array", "kind": "Other"}], "numpy.core.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}], "numpy.core.fromnumeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Union", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "uint64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float16", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_SCT_uifcO", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}], "numpy.core._asarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_Requirements", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_RequirementsWithE", "kind": "Other"}, {"name": "require", "kind": "Other"}], "numpy.core._type_aliases": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_SCTypes", "kind": "LocalType"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}], "numpy.core._ufunc_config": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "ImportedType", "fullname": "numpy._SupportsWrite"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDict", "kind": "LocalType"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}], "numpy.core.arrayprint": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_GeneratorContextManager", "kind": "ImportedType", "fullname": "contextlib._GeneratorContextManager"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "longdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_FloatMode", "kind": "Other"}, {"name": "_FormatDict", "kind": "LocalType"}, {"name": "_FormatOptions", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}], "numpy.core.einsumfunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_OptimizeKind", "kind": "Other"}, {"name": "_CastingSafe", "kind": "Other"}, {"name": "_CastingUnsafe", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}], "numpy.core.multiarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "busdaycalendar", "kind": "ImportedType", "fullname": "numpy.busdaycalendar"}, {"name": "broadcast", "kind": "ImportedType", "fullname": "numpy.broadcast"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "nditer", "kind": "ImportedType", "fullname": "numpy.nditer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "uint8", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_IOProtocol", "kind": "ImportedType", "fullname": "numpy._IOProtocol"}, {"name": "_CopyMode", "kind": "ImportedType", "fullname": "numpy._CopyMode"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_UnitKind", "kind": "Other"}, {"name": "_RollKind", "kind": "Other"}, {"name": "_SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "_GetItemKeys", "kind": "Other"}, {"name": "_SetItemKeys", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "nested_iters", "kind": "Other"}], "numpy.core.numeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "ComplexWarning", "kind": "ImportedType", "fullname": "numpy.ComplexWarning"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_CorrelateMode", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}], "numpy.core.numerictypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CastFunc", "kind": "LocalType"}, {"name": "_TypeCodes", "kind": "LocalType"}, {"name": "_typedict", "kind": "LocalType"}, {"name": "_TypeTuple", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}], "numpy.core.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "block", "kind": "Other"}], "numpy.lib.arraypad": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ModeFunc", "kind": "LocalType"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "pad", "kind": "Other"}], "numpy.lib.arraysetops": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ushort", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SCTNoCast", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}], "numpy.lib.arrayterator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_Index", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}], "numpy.lib.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_TrimZerosSequence", "kind": "LocalType"}, {"name": "_SupportsWriteFlush", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "select", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "_MethodKind", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "digitize", "kind": "Other"}], "numpy.lib.histograms": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_BinKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}], "numpy.lib.index_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_BoolType", "kind": "Other"}, {"name": "_TupType", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "nd_grid", "kind": "LocalType"}, {"name": "MGridClass", "kind": "LocalType"}, {"name": "mgrid", "kind": "Other"}, {"name": "OGridClass", "kind": "LocalType"}, {"name": "ogrid", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "LocalType"}, {"name": "RClass", "kind": "LocalType"}, {"name": "r_", "kind": "Other"}, {"name": "CClass", "kind": "LocalType"}, {"name": "c_", "kind": "Other"}, {"name": "IndexExpression", "kind": "LocalType"}, {"name": "index_exp", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}], "numpy.lib.nanfunctions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}], "numpy.lib.npyio": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "zipfile", "kind": "Module", "fullname": "zipfile"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "float64", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "MaskedRecords", "kind": "ImportedType", "fullname": "numpy.ma.mrecords.MaskedRecords"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharType_co", "kind": "Other"}, {"name": "_CharType_contra", "kind": "Other"}, {"name": "_SupportsGetItem", "kind": "LocalType"}, {"name": "_SupportsRead", "kind": "LocalType"}, {"name": "_SupportsReadSeek", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "BagObj", "kind": "LocalType"}, {"name": "NpzFile", "kind": "LocalType"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}], "numpy.lib.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "NoReturn", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tup", "kind": "Other"}, {"name": "_5Tup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}], "numpy.lib.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayWrap", "kind": "LocalType"}, {"name": "_ArrayPrepare", "kind": "LocalType"}, {"name": "_SupportsArrayWrap", "kind": "LocalType"}, {"name": "_SupportsArrayPrepare", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "get_array_prepare", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}], "numpy.lib.stride_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DummyArray", "kind": "LocalType"}, {"name": "as_strided", "kind": "Other"}, {"name": "sliding_window_view", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}], "numpy.lib.twodim_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_MaskFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}], "numpy.lib.type_check": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_64Bit", "kind": "ImportedType", "fullname": "numpy._typing._64Bit"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}], "numpy.lib.ufunclike": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "NDArray", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}], "numpy.lib.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_FuncType", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "_Deprecate", "kind": "LocalType"}, {"name": "get_include", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}], "numpy._pytesttester": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PytestTester", "kind": "LocalType"}], "numpy._typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "set_module", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.ctypeslib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_c_intp", "kind": "ImportedType", "fullname": "ctypes.c_int64"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ctypes", "kind": "ImportedType", "fullname": "numpy.core._internal._ctypes"}, {"name": "flagsobj", "kind": "ImportedType", "fullname": "numpy.core.multiarray.flagsobj"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DTypeOptional", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_FlagsKind", "kind": "Other"}, {"name": "_ndptr", "kind": "LocalType"}, {"name": "_concrete_ndptr", "kind": "LocalType"}, {"name": "load_library", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "c_intp", "kind": "Other"}, {"name": "ndpointer", "kind": "Other"}, {"name": "as_ctypes_type", "kind": "Other"}, {"name": "as_array", "kind": "Other"}, {"name": "as_ctypes", "kind": "Other"}], "numpy.fft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.lib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "math", "kind": "Module", "fullname": "math"}, {"name": "Any", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "version", "kind": "Other"}, {"name": "format", "kind": "Module", "fullname": "numpy.lib.format"}, {"name": "mixins", "kind": "Module", "fullname": "numpy.lib.mixins"}, {"name": "scimath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "stride_tricks", "kind": "Module", "fullname": "numpy.lib.stride_tricks"}, {"name": "NumpyVersion", "kind": "LocalType"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}], "numpy.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "LinAlgError", "kind": "LocalType"}], "numpy.ma": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "extras", "kind": "Module", "fullname": "numpy.ma.extras"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "MaskType", "kind": "Other"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ceil", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "masked", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "ndim", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "chebyshev", "kind": "Module", "fullname": "numpy.polynomial.chebyshev"}, {"name": "hermite", "kind": "Module", "fullname": "numpy.polynomial.hermite"}, {"name": "hermite_e", "kind": "Module", "fullname": "numpy.polynomial.hermite_e"}, {"name": "laguerre", "kind": "Module", "fullname": "numpy.polynomial.laguerre"}, {"name": "legendre", "kind": "Module", "fullname": "numpy.polynomial.legendre"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial.polynomial"}, {"name": "Chebyshev", "kind": "LocalType"}, {"name": "Hermite", "kind": "LocalType"}, {"name": "HermiteE", "kind": "LocalType"}, {"name": "Laguerre", "kind": "LocalType"}, {"name": "Legendre", "kind": "LocalType"}, {"name": "Polynomial", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "set_default_printstyle", "kind": "Other"}], "numpy.random": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}, {"name": "MT19937", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.testing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "verbose", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "temppath", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "run_module_suite", "kind": "Other"}], "numpy.version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}, {"name": "__ALL__", "kind": "Other"}, {"name": "vinfo", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "full_version", "kind": "Other"}, {"name": "git_revision", "kind": "Other"}, {"name": "release", "kind": "Other"}, {"name": "short_version", "kind": "Other"}], "numpy.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "numpy.matrixlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "bmat", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "numpy._typing._nbit": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}], "numpy._typing._scalars": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}], "numpy._typing._generic_alias": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_to_str", "kind": "Other"}, {"name": "_parse_parameters", "kind": "Other"}, {"name": "_reconstruct_alias", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_GENERIC_ALIAS_TYPE", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}], "numpy._typing._nested_sequence": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "LocalType"}], "__future__": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_VersionInfo", "kind": "Other"}, {"name": "_Feature", "kind": "LocalType"}, {"name": "absolute_import", "kind": "Other"}, {"name": "division", "kind": "Other"}, {"name": "generators", "kind": "Other"}, {"name": "nested_scopes", "kind": "Other"}, {"name": "print_function", "kind": "Other"}, {"name": "unicode_literals", "kind": "Other"}, {"name": "with_statement", "kind": "Other"}, {"name": "barry_as_FLUFL", "kind": "Other"}, {"name": "generator_stop", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "all_feature_names", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.core.umath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_multiarray_umath", "kind": "Other"}, {"name": "_UFUNC_API", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_ones_like", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.ma.mrecords": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "MaskedArray", "kind": "ImportedType", "fullname": "numpy.ma.core.MaskedArray"}, {"name": "__all__", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "MaskedRecords", "kind": "LocalType"}, {"name": "mrecarray", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromtextfile", "kind": "Other"}, {"name": "addfield", "kind": "Other"}], "zipfile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_DateTuple", "kind": "Other"}, {"name": "_ReadWriteMode", "kind": "Other"}, {"name": "_ReadWriteBinaryMode", "kind": "Other"}, {"name": "_ZipFileMode", "kind": "Other"}, {"name": "BadZipFile", "kind": "LocalType"}, {"name": "BadZipfile", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "LargeZipFile", "kind": "LocalType"}, {"name": "_ZipStream", "kind": "LocalType"}, {"name": "_SupportsReadSeekTell", "kind": "LocalType"}, {"name": "_ClosableZipStream", "kind": "LocalType"}, {"name": "ZipExtFile", "kind": "LocalType"}, {"name": "_Writer", "kind": "LocalType"}, {"name": "ZipFile", "kind": "LocalType"}, {"name": "PyZipFile", "kind": "LocalType"}, {"name": "ZipInfo", "kind": "LocalType"}, {"name": "_PathOpenProtocol", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "is_zipfile", "kind": "Other"}, {"name": "ZIP_STORED", "kind": "Other"}, {"name": "ZIP_DEFLATED", "kind": "Other"}, {"name": "ZIP64_LIMIT", "kind": "Other"}, {"name": "ZIP_FILECOUNT_LIMIT", "kind": "Other"}, {"name": "ZIP_MAX_COMMENT", "kind": "Other"}, {"name": "ZIP_BZIP2", "kind": "Other"}, {"name": "ZIP_LZMA", "kind": "Other"}], "ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "mod", "kind": "ImportedType", "fullname": "_ast.mod"}, {"name": "type_ignore", "kind": "ImportedType", "fullname": "_ast.type_ignore"}, {"name": "TypeIgnore", "kind": "ImportedType", "fullname": "_ast.TypeIgnore"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "_ast.FunctionType"}, {"name": "Module", "kind": "ImportedType", "fullname": "_ast.Module"}, {"name": "Interactive", "kind": "ImportedType", "fullname": "_ast.Interactive"}, {"name": "Expression", "kind": "ImportedType", "fullname": "_ast.Expression"}, {"name": "stmt", "kind": "ImportedType", "fullname": "_ast.stmt"}, {"name": "FunctionDef", "kind": "ImportedType", "fullname": "_ast.FunctionDef"}, {"name": "AsyncFunctionDef", "kind": "ImportedType", "fullname": "_ast.AsyncFunctionDef"}, {"name": "ClassDef", "kind": "ImportedType", "fullname": "_ast.ClassDef"}, {"name": "Return", "kind": "ImportedType", "fullname": "_ast.Return"}, {"name": "Delete", "kind": "ImportedType", "fullname": "_ast.Delete"}, {"name": "Assign", "kind": "ImportedType", "fullname": "_ast.Assign"}, {"name": "AugAssign", "kind": "ImportedType", "fullname": "_ast.AugAssign"}, {"name": "AnnAssign", "kind": "ImportedType", "fullname": "_ast.AnnAssign"}, {"name": "For", "kind": "ImportedType", "fullname": "_ast.For"}, {"name": "AsyncFor", "kind": "ImportedType", "fullname": "_ast.AsyncFor"}, {"name": "While", "kind": "ImportedType", "fullname": "_ast.While"}, {"name": "If", "kind": "ImportedType", "fullname": "_ast.If"}, {"name": "With", "kind": "ImportedType", "fullname": "_ast.With"}, {"name": "AsyncWith", "kind": "ImportedType", "fullname": "_ast.AsyncWith"}, {"name": "Raise", "kind": "ImportedType", "fullname": "_ast.Raise"}, {"name": "Try", "kind": "ImportedType", "fullname": "_ast.Try"}, {"name": "Assert", "kind": "ImportedType", "fullname": "_ast.Assert"}, {"name": "Import", "kind": "ImportedType", "fullname": "_ast.Import"}, {"name": "ImportFrom", "kind": "ImportedType", "fullname": "_ast.ImportFrom"}, {"name": "Global", "kind": "ImportedType", "fullname": "_ast.Global"}, {"name": "Nonlocal", "kind": "ImportedType", "fullname": "_ast.Nonlocal"}, {"name": "Expr", "kind": "ImportedType", "fullname": "_ast.Expr"}, {"name": "Pass", "kind": "ImportedType", "fullname": "_ast.Pass"}, {"name": "Break", "kind": "ImportedType", "fullname": "_ast.Break"}, {"name": "Continue", "kind": "ImportedType", "fullname": "_ast.Continue"}, {"name": "expr", "kind": "ImportedType", "fullname": "_ast.expr"}, {"name": "BoolOp", "kind": "ImportedType", "fullname": "_ast.BoolOp"}, {"name": "BinOp", "kind": "ImportedType", "fullname": "_ast.BinOp"}, {"name": "UnaryOp", "kind": "ImportedType", "fullname": "_ast.UnaryOp"}, {"name": "Lambda", "kind": "ImportedType", "fullname": "_ast.Lambda"}, {"name": "IfExp", "kind": "ImportedType", "fullname": "_ast.IfExp"}, {"name": "Dict", "kind": "ImportedType", "fullname": "_ast.Dict"}, {"name": "Set", "kind": "ImportedType", "fullname": "_ast.Set"}, {"name": "ListComp", "kind": "ImportedType", "fullname": "_ast.ListComp"}, {"name": "SetComp", "kind": "ImportedType", "fullname": "_ast.SetComp"}, {"name": "DictComp", "kind": "ImportedType", "fullname": "_ast.DictComp"}, {"name": "GeneratorExp", "kind": "ImportedType", "fullname": "_ast.GeneratorExp"}, {"name": "Await", "kind": "ImportedType", "fullname": "_ast.Await"}, {"name": "Yield", "kind": "ImportedType", "fullname": "_ast.Yield"}, {"name": "YieldFrom", "kind": "ImportedType", "fullname": "_ast.YieldFrom"}, {"name": "Compare", "kind": "ImportedType", "fullname": "_ast.Compare"}, {"name": "Call", "kind": "ImportedType", "fullname": "_ast.Call"}, {"name": "FormattedValue", "kind": "ImportedType", "fullname": "_ast.FormattedValue"}, {"name": "JoinedStr", "kind": "ImportedType", "fullname": "_ast.JoinedStr"}, {"name": "Constant", "kind": "ImportedType", "fullname": "_ast.Constant"}, {"name": "NamedExpr", "kind": "ImportedType", "fullname": "_ast.NamedExpr"}, {"name": "Attribute", "kind": "ImportedType", "fullname": "_ast.Attribute"}, {"name": "Slice", "kind": "ImportedType", "fullname": "_ast.Slice"}, {"name": "Subscript", "kind": "ImportedType", "fullname": "_ast.Subscript"}, {"name": "Starred", "kind": "ImportedType", "fullname": "_ast.Starred"}, {"name": "Name", "kind": "ImportedType", "fullname": "_ast.Name"}, {"name": "List", "kind": "ImportedType", "fullname": "_ast.List"}, {"name": "Tuple", "kind": "ImportedType", "fullname": "_ast.Tuple"}, {"name": "expr_context", "kind": "ImportedType", "fullname": "_ast.expr_context"}, {"name": "Del", "kind": "ImportedType", "fullname": "_ast.Del"}, {"name": "Load", "kind": "ImportedType", "fullname": "_ast.Load"}, {"name": "Store", "kind": "ImportedType", "fullname": "_ast.Store"}, {"name": "boolop", "kind": "ImportedType", "fullname": "_ast.boolop"}, {"name": "And", "kind": "ImportedType", "fullname": "_ast.And"}, {"name": "Or", "kind": "ImportedType", "fullname": "_ast.Or"}, {"name": "operator", "kind": "ImportedType", "fullname": "_ast.operator"}, {"name": "Add", "kind": "ImportedType", "fullname": "_ast.Add"}, {"name": "BitAnd", "kind": "ImportedType", "fullname": "_ast.BitAnd"}, {"name": "BitOr", "kind": "ImportedType", "fullname": "_ast.BitOr"}, {"name": "BitXor", "kind": "ImportedType", "fullname": "_ast.BitXor"}, {"name": "Div", "kind": "ImportedType", "fullname": "_ast.Div"}, {"name": "FloorDiv", "kind": "ImportedType", "fullname": "_ast.FloorDiv"}, {"name": "LShift", "kind": "ImportedType", "fullname": "_ast.LShift"}, {"name": "Mod", "kind": "ImportedType", "fullname": "_ast.Mod"}, {"name": "Mult", "kind": "ImportedType", "fullname": "_ast.Mult"}, {"name": "MatMult", "kind": "ImportedType", "fullname": "_ast.MatMult"}, {"name": "Pow", "kind": "ImportedType", "fullname": "_ast.Pow"}, {"name": "RShift", "kind": "ImportedType", "fullname": "_ast.RShift"}, {"name": "Sub", "kind": "ImportedType", "fullname": "_ast.Sub"}, {"name": "unaryop", "kind": "ImportedType", "fullname": "_ast.unaryop"}, {"name": "Invert", "kind": "ImportedType", "fullname": "_ast.Invert"}, {"name": "Not", "kind": "ImportedType", "fullname": "_ast.Not"}, {"name": "UAdd", "kind": "ImportedType", "fullname": "_ast.UAdd"}, {"name": "USub", "kind": "ImportedType", "fullname": "_ast.USub"}, {"name": "cmpop", "kind": "ImportedType", "fullname": "_ast.cmpop"}, {"name": "Eq", "kind": "ImportedType", "fullname": "_ast.Eq"}, {"name": "Gt", "kind": "ImportedType", "fullname": "_ast.Gt"}, {"name": "GtE", "kind": "ImportedType", "fullname": "_ast.GtE"}, {"name": "In", "kind": "ImportedType", "fullname": "_ast.In"}, {"name": "Is", "kind": "ImportedType", "fullname": "_ast.Is"}, {"name": "IsNot", "kind": "ImportedType", "fullname": "_ast.IsNot"}, {"name": "Lt", "kind": "ImportedType", "fullname": "_ast.Lt"}, {"name": "LtE", "kind": "ImportedType", "fullname": "_ast.LtE"}, {"name": "NotEq", "kind": "ImportedType", "fullname": "_ast.NotEq"}, {"name": "NotIn", "kind": "ImportedType", "fullname": "_ast.NotIn"}, {"name": "comprehension", "kind": "ImportedType", "fullname": "_ast.comprehension"}, {"name": "excepthandler", "kind": "ImportedType", "fullname": "_ast.excepthandler"}, {"name": "ExceptHandler", "kind": "ImportedType", "fullname": "_ast.ExceptHandler"}, {"name": "arguments", "kind": "ImportedType", "fullname": "_ast.arguments"}, {"name": "arg", "kind": "ImportedType", "fullname": "_ast.arg"}, {"name": "keyword", "kind": "ImportedType", "fullname": "_ast.keyword"}, {"name": "alias", "kind": "ImportedType", "fullname": "_ast.alias"}, {"name": "withitem", "kind": "ImportedType", "fullname": "_ast.withitem"}, {"name": "Match", "kind": "ImportedType", "fullname": "_ast.Match"}, {"name": "pattern", "kind": "ImportedType", "fullname": "_ast.pattern"}, {"name": "match_case", "kind": "ImportedType", "fullname": "_ast.match_case"}, {"name": "MatchValue", "kind": "ImportedType", "fullname": "_ast.MatchValue"}, {"name": "MatchSingleton", "kind": "ImportedType", "fullname": "_ast.MatchSingleton"}, {"name": "MatchSequence", "kind": "ImportedType", "fullname": "_ast.MatchSequence"}, {"name": "MatchStar", "kind": "ImportedType", "fullname": "_ast.MatchStar"}, {"name": "MatchMapping", "kind": "ImportedType", "fullname": "_ast.MatchMapping"}, {"name": "MatchClass", "kind": "ImportedType", "fullname": "_ast.MatchClass"}, {"name": "MatchAs", "kind": "ImportedType", "fullname": "_ast.MatchAs"}, {"name": "MatchOr", "kind": "ImportedType", "fullname": "_ast.MatchOr"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_ABC", "kind": "LocalType"}, {"name": "Num", "kind": "LocalType"}, {"name": "Str", "kind": "LocalType"}, {"name": "Bytes", "kind": "LocalType"}, {"name": "NameConstant", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "ExtSlice", "kind": "LocalType"}, {"name": "Index", "kind": "LocalType"}, {"name": "Suite", "kind": "LocalType"}, {"name": "AugLoad", "kind": "LocalType"}, {"name": "AugStore", "kind": "LocalType"}, {"name": "Param", "kind": "LocalType"}, {"name": "NodeVisitor", "kind": "LocalType"}, {"name": "NodeTransformer", "kind": "LocalType"}, {"name": "_T", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "unparse", "kind": "Other"}, {"name": "copy_location", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "fix_missing_locations", "kind": "Other"}, {"name": "get_docstring", "kind": "Other"}, {"name": "increment_lineno", "kind": "Other"}, {"name": "iter_child_nodes", "kind": "Other"}, {"name": "iter_fields", "kind": "Other"}, {"name": "literal_eval", "kind": "Other"}, {"name": "get_source_segment", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "main", "kind": "Other"}], "numpy.core.overrides": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "functools", "kind": "Module", "fullname": "functools"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "add_docstring", "kind": "Other"}, {"name": "implement_array_function", "kind": "Other"}, {"name": "_get_implementing_args", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "ARRAY_FUNCTION_ENABLED", "kind": "Other"}, {"name": "array_function_like_doc", "kind": "Other"}, {"name": "set_array_function_like_doc", "kind": "Other"}, {"name": "ArgSpec", "kind": "LocalType"}, {"name": "verify_matching_signatures", "kind": "Other"}, {"name": "set_module", "kind": "Other"}, {"name": "array_function_dispatch", "kind": "Other"}, {"name": "array_function_from_dispatcher", "kind": "Other"}], "numpy._typing._char_codes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}], "numpy._typing._shape": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}], "numpy._typing._dtype_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DType", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_DTypeLikeNested", "kind": "Other"}, {"name": "_DTypeDictBase", "kind": "LocalType"}, {"name": "_DTypeDict", "kind": "LocalType"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}], "numpy._typing._array_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Protocol", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DualArrayLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}], "numpy._typing._ufunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_3Tuple", "kind": "Other"}, {"name": "_4Tuple", "kind": "Other"}, {"name": "_NTypes", "kind": "Other"}, {"name": "_IDType", "kind": "Other"}, {"name": "_NameType", "kind": "Other"}, {"name": "_SupportsArrayUFunc", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.fft._pocketfft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_NormKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}], "numpy.fft.helper": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}], "numpy.lib.format": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "EXPECTED_KEYS", "kind": "Other"}, {"name": "MAGIC_PREFIX", "kind": "Other"}, {"name": "MAGIC_LEN", "kind": "Other"}, {"name": "ARRAY_ALIGN", "kind": "Other"}, {"name": "BUFFER_SIZE", "kind": "Other"}, {"name": "magic", "kind": "Other"}, {"name": "read_magic", "kind": "Other"}, {"name": "dtype_to_descr", "kind": "Other"}, {"name": "descr_to_dtype", "kind": "Other"}, {"name": "header_data_from_array_1_0", "kind": "Other"}, {"name": "write_array_header_1_0", "kind": "Other"}, {"name": "write_array_header_2_0", "kind": "Other"}, {"name": "read_array_header_1_0", "kind": "Other"}, {"name": "read_array_header_2_0", "kind": "Other"}, {"name": "write_array", "kind": "Other"}, {"name": "read_array", "kind": "Other"}, {"name": "open_memmap", "kind": "Other"}], "numpy.lib.mixins": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "__all__", "kind": "Other"}, {"name": "NDArrayOperatorsMixin", "kind": "LocalType"}], "numpy.lib.scimath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logn", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}], "numpy.lib._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "NumpyVersion", "kind": "LocalType"}], "math": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SupportsFloatOrIndex", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "tau", "kind": "Other"}, {"name": "acos", "kind": "Other"}, {"name": "acosh", "kind": "Other"}, {"name": "asin", "kind": "Other"}, {"name": "asinh", "kind": "Other"}, {"name": "atan", "kind": "Other"}, {"name": "atan2", "kind": "Other"}, {"name": "atanh", "kind": "Other"}, {"name": "_SupportsCeil", "kind": "LocalType"}, {"name": "ceil", "kind": "Other"}, {"name": "comb", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "dist", "kind": "Other"}, {"name": "erf", "kind": "Other"}, {"name": "erfc", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "factorial", "kind": "Other"}, {"name": "_SupportsFloor", "kind": "LocalType"}, {"name": "floor", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "fsum", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isqrt", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "lgamma", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "perm", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "_SupportsTrunc", "kind": "LocalType"}, {"name": "trunc", "kind": "Other"}, {"name": "ulp", "kind": "Other"}], "numpy.linalg.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "int32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "LinAlgError", "kind": "ImportedType", "fullname": "numpy.linalg.LinAlgError"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}], "numpy.ma.extras": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "ImportedType", "fullname": "numpy.lib.index_tricks.AxisConcatenator"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "_fromnxfunction", "kind": "LocalType"}, {"name": "_fromnxfunction_single", "kind": "LocalType"}, {"name": "_fromnxfunction_seq", "kind": "LocalType"}, {"name": "_fromnxfunction_allargs", "kind": "LocalType"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "MAxisConcatenator", "kind": "LocalType"}, {"name": "mr_class", "kind": "LocalType"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}], "numpy.ma.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float64", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "expand_dims", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "MaskType", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "MaskedArrayFutureWarning", "kind": "LocalType"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "get_data", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "_MaskedUFunc", "kind": "LocalType"}, {"name": "_MaskedUnaryOperation", "kind": "LocalType"}, {"name": "_MaskedBinaryOperation", "kind": "LocalType"}, {"name": "_DomainedBinaryOperation", "kind": "LocalType"}, {"name": "exp", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "get_mask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "_MaskedPrintOption", "kind": "LocalType"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "MaskedIterator", "kind": "LocalType"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "MaskedConstant", "kind": "LocalType"}, {"name": "masked", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "_extrema_operation", "kind": "LocalType"}, {"name": "min", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "_frommethod", "kind": "LocalType"}, {"name": "all", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "_convert2ma", "kind": "LocalType"}, {"name": "arange", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}], "numpy.polynomial.chebyshev": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "chebtrim", "kind": "Other"}, {"name": "poly2cheb", "kind": "Other"}, {"name": "cheb2poly", "kind": "Other"}, {"name": "chebdomain", "kind": "Other"}, {"name": "chebzero", "kind": "Other"}, {"name": "chebone", "kind": "Other"}, {"name": "chebx", "kind": "Other"}, {"name": "chebline", "kind": "Other"}, {"name": "chebfromroots", "kind": "Other"}, {"name": "chebadd", "kind": "Other"}, {"name": "chebsub", "kind": "Other"}, {"name": "chebmulx", "kind": "Other"}, {"name": "chebmul", "kind": "Other"}, {"name": "chebdiv", "kind": "Other"}, {"name": "chebpow", "kind": "Other"}, {"name": "chebder", "kind": "Other"}, {"name": "chebint", "kind": "Other"}, {"name": "chebval", "kind": "Other"}, {"name": "chebval2d", "kind": "Other"}, {"name": "chebgrid2d", "kind": "Other"}, {"name": "chebval3d", "kind": "Other"}, {"name": "chebgrid3d", "kind": "Other"}, {"name": "chebvander", "kind": "Other"}, {"name": "chebvander2d", "kind": "Other"}, {"name": "chebvander3d", "kind": "Other"}, {"name": "chebfit", "kind": "Other"}, {"name": "chebcompanion", "kind": "Other"}, {"name": "chebroots", "kind": "Other"}, {"name": "chebinterpolate", "kind": "Other"}, {"name": "chebgauss", "kind": "Other"}, {"name": "chebweight", "kind": "Other"}, {"name": "chebpts1", "kind": "Other"}, {"name": "chebpts2", "kind": "Other"}, {"name": "Chebyshev", "kind": "LocalType"}], "numpy.polynomial.hermite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermtrim", "kind": "Other"}, {"name": "poly2herm", "kind": "Other"}, {"name": "herm2poly", "kind": "Other"}, {"name": "hermdomain", "kind": "Other"}, {"name": "hermzero", "kind": "Other"}, {"name": "hermone", "kind": "Other"}, {"name": "hermx", "kind": "Other"}, {"name": "hermline", "kind": "Other"}, {"name": "hermfromroots", "kind": "Other"}, {"name": "hermadd", "kind": "Other"}, {"name": "hermsub", "kind": "Other"}, {"name": "hermmulx", "kind": "Other"}, {"name": "hermmul", "kind": "Other"}, {"name": "hermdiv", "kind": "Other"}, {"name": "hermpow", "kind": "Other"}, {"name": "hermder", "kind": "Other"}, {"name": "hermint", "kind": "Other"}, {"name": "hermval", "kind": "Other"}, {"name": "hermval2d", "kind": "Other"}, {"name": "hermgrid2d", "kind": "Other"}, {"name": "hermval3d", "kind": "Other"}, {"name": "hermgrid3d", "kind": "Other"}, {"name": "hermvander", "kind": "Other"}, {"name": "hermvander2d", "kind": "Other"}, {"name": "hermvander3d", "kind": "Other"}, {"name": "hermfit", "kind": "Other"}, {"name": "hermcompanion", "kind": "Other"}, {"name": "hermroots", "kind": "Other"}, {"name": "hermgauss", "kind": "Other"}, {"name": "hermweight", "kind": "Other"}, {"name": "Hermite", "kind": "LocalType"}], "numpy.polynomial.hermite_e": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermetrim", "kind": "Other"}, {"name": "poly2herme", "kind": "Other"}, {"name": "herme2poly", "kind": "Other"}, {"name": "hermedomain", "kind": "Other"}, {"name": "hermezero", "kind": "Other"}, {"name": "hermeone", "kind": "Other"}, {"name": "hermex", "kind": "Other"}, {"name": "hermeline", "kind": "Other"}, {"name": "hermefromroots", "kind": "Other"}, {"name": "hermeadd", "kind": "Other"}, {"name": "hermesub", "kind": "Other"}, {"name": "hermemulx", "kind": "Other"}, {"name": "hermemul", "kind": "Other"}, {"name": "hermediv", "kind": "Other"}, {"name": "hermepow", "kind": "Other"}, {"name": "hermeder", "kind": "Other"}, {"name": "hermeint", "kind": "Other"}, {"name": "hermeval", "kind": "Other"}, {"name": "hermeval2d", "kind": "Other"}, {"name": "hermegrid2d", "kind": "Other"}, {"name": "hermeval3d", "kind": "Other"}, {"name": "hermegrid3d", "kind": "Other"}, {"name": "hermevander", "kind": "Other"}, {"name": "hermevander2d", "kind": "Other"}, {"name": "hermevander3d", "kind": "Other"}, {"name": "hermefit", "kind": "Other"}, {"name": "hermecompanion", "kind": "Other"}, {"name": "hermeroots", "kind": "Other"}, {"name": "hermegauss", "kind": "Other"}, {"name": "hermeweight", "kind": "Other"}, {"name": "HermiteE", "kind": "LocalType"}], "numpy.polynomial.laguerre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "lagtrim", "kind": "Other"}, {"name": "poly2lag", "kind": "Other"}, {"name": "lag2poly", "kind": "Other"}, {"name": "lagdomain", "kind": "Other"}, {"name": "lagzero", "kind": "Other"}, {"name": "lagone", "kind": "Other"}, {"name": "lagx", "kind": "Other"}, {"name": "lagline", "kind": "Other"}, {"name": "lagfromroots", "kind": "Other"}, {"name": "lagadd", "kind": "Other"}, {"name": "lagsub", "kind": "Other"}, {"name": "lagmulx", "kind": "Other"}, {"name": "lagmul", "kind": "Other"}, {"name": "lagdiv", "kind": "Other"}, {"name": "lagpow", "kind": "Other"}, {"name": "lagder", "kind": "Other"}, {"name": "lagint", "kind": "Other"}, {"name": "lagval", "kind": "Other"}, {"name": "lagval2d", "kind": "Other"}, {"name": "laggrid2d", "kind": "Other"}, {"name": "lagval3d", "kind": "Other"}, {"name": "laggrid3d", "kind": "Other"}, {"name": "lagvander", "kind": "Other"}, {"name": "lagvander2d", "kind": "Other"}, {"name": "lagvander3d", "kind": "Other"}, {"name": "lagfit", "kind": "Other"}, {"name": "lagcompanion", "kind": "Other"}, {"name": "lagroots", "kind": "Other"}, {"name": "laggauss", "kind": "Other"}, {"name": "lagweight", "kind": "Other"}, {"name": "Laguerre", "kind": "LocalType"}], "numpy.polynomial.legendre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "legtrim", "kind": "Other"}, {"name": "poly2leg", "kind": "Other"}, {"name": "leg2poly", "kind": "Other"}, {"name": "legdomain", "kind": "Other"}, {"name": "legzero", "kind": "Other"}, {"name": "legone", "kind": "Other"}, {"name": "legx", "kind": "Other"}, {"name": "legline", "kind": "Other"}, {"name": "legfromroots", "kind": "Other"}, {"name": "legadd", "kind": "Other"}, {"name": "legsub", "kind": "Other"}, {"name": "legmulx", "kind": "Other"}, {"name": "legmul", "kind": "Other"}, {"name": "legdiv", "kind": "Other"}, {"name": "legpow", "kind": "Other"}, {"name": "legder", "kind": "Other"}, {"name": "legint", "kind": "Other"}, {"name": "legval", "kind": "Other"}, {"name": "legval2d", "kind": "Other"}, {"name": "leggrid2d", "kind": "Other"}, {"name": "legval3d", "kind": "Other"}, {"name": "leggrid3d", "kind": "Other"}, {"name": "legvander", "kind": "Other"}, {"name": "legvander2d", "kind": "Other"}, {"name": "legvander3d", "kind": "Other"}, {"name": "legfit", "kind": "Other"}, {"name": "legcompanion", "kind": "Other"}, {"name": "legroots", "kind": "Other"}, {"name": "leggauss", "kind": "Other"}, {"name": "legweight", "kind": "Other"}, {"name": "Legendre", "kind": "LocalType"}], "numpy.polynomial.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "polytrim", "kind": "Other"}, {"name": "polydomain", "kind": "Other"}, {"name": "polyzero", "kind": "Other"}, {"name": "polyone", "kind": "Other"}, {"name": "polyx", "kind": "Other"}, {"name": "polyline", "kind": "Other"}, {"name": "polyfromroots", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymulx", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polypow", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyvalfromroots", "kind": "Other"}, {"name": "polyval2d", "kind": "Other"}, {"name": "polygrid2d", "kind": "Other"}, {"name": "polyval3d", "kind": "Other"}, {"name": "polygrid3d", "kind": "Other"}, {"name": "polyvander", "kind": "Other"}, {"name": "polyvander2d", "kind": "Other"}, {"name": "polyvander3d", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyroots", "kind": "Other"}, {"name": "Polynomial", "kind": "LocalType"}], "numpy.random._generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}], "numpy.random._mt19937": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_MT19937Internal", "kind": "LocalType"}, {"name": "_MT19937State", "kind": "LocalType"}, {"name": "MT19937", "kind": "LocalType"}], "numpy.random._pcg64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PCG64Internal", "kind": "LocalType"}, {"name": "_PCG64State", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}], "numpy.random._philox": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PhiloxInternal", "kind": "LocalType"}, {"name": "_PhiloxState", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}], "numpy.random._sfc64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_SFC64Internal", "kind": "LocalType"}, {"name": "_SFC64State", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}], "numpy.random.bit_generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Lock", "kind": "ImportedType", "fullname": "threading.Lock"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypedDict", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DTypeLikeUint32", "kind": "Other"}, {"name": "_DTypeLikeUint64", "kind": "Other"}, {"name": "_SeedSeqState", "kind": "LocalType"}, {"name": "_Interface", "kind": "LocalType"}, {"name": "ISeedSequence", "kind": "LocalType"}, {"name": "ISpawnableSeedSequence", "kind": "LocalType"}, {"name": "SeedlessSeedSequence", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}], "numpy.random.mtrand": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "_rand", "kind": "Other"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}], "numpy.testing._private.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ast", "kind": "Module", "fullname": "ast"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "warnings", "kind": "Module", "fullname": "warnings"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "contextlib", "kind": "Module", "fullname": "contextlib"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ET", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_ComparisonFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_with_records", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_without_records", "kind": "LocalType"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "verbose", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "assert_equal", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "temppath", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}], "unittest": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "load_tests", "kind": "Other"}, {"name": "__dir__", "kind": "Other"}], "numpy._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "json", "kind": "Module", "fullname": "json"}, {"name": "version_json", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}], "numpy.matrixlib.defmatrix": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "numpy.compat._inspect": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "__all__", "kind": "Other"}, {"name": "ismethod", "kind": "Other"}, {"name": "isfunction", "kind": "Other"}, {"name": "iscode", "kind": "Other"}, {"name": "CO_OPTIMIZED", "kind": "Other"}, {"name": "CO_NEWLOCALS", "kind": "Other"}, {"name": "CO_VARARGS", "kind": "Other"}, {"name": "CO_VARKEYWORDS", "kind": "Other"}, {"name": "getargs", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "getargvalues", "kind": "Other"}, {"name": "joinseq", "kind": "Other"}, {"name": "strseq", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "formatargvalues", "kind": "Other"}], "functools": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsAllComparisons", "kind": "ImportedType", "fullname": "_typeshed.SupportsAllComparisons"}, {"name": "SupportsItems", "kind": "ImportedType", "fullname": "_typeshed.SupportsItems"}, {"name": "Callable", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_AnyCallable", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "reduce", "kind": "Other"}, {"name": "_CacheInfo", "kind": "LocalType"}, {"name": "_lru_cache_wrapper", "kind": "LocalType"}, {"name": "lru_cache", "kind": "Other"}, {"name": "WRAPPER_ASSIGNMENTS", "kind": "Other"}, {"name": "WRAPPER_UPDATES", "kind": "Other"}, {"name": "update_wrapper", "kind": "Other"}, {"name": "wraps", "kind": "Other"}, {"name": "total_ordering", "kind": "Other"}, {"name": "cmp_to_key", "kind": "Other"}, {"name": "partial", "kind": "LocalType"}, {"name": "_Descriptor", "kind": "Other"}, {"name": "partialmethod", "kind": "LocalType"}, {"name": "_SingleDispatchCallable", "kind": "LocalType"}, {"name": "singledispatch", "kind": "Other"}, {"name": "singledispatchmethod", "kind": "LocalType"}, {"name": "cached_property", "kind": "LocalType"}, {"name": "cache", "kind": "Other"}, {"name": "_make_key", "kind": "Other"}], "numpy.typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "test", "kind": "Other"}], "numpy.polynomial._polybase": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "LocalType"}], "numpy.polynomial.polyutils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "trimseq", "kind": "Other"}, {"name": "as_series", "kind": "Other"}, {"name": "trimcoef", "kind": "Other"}, {"name": "getdomain", "kind": "Other"}, {"name": "mapparms", "kind": "Other"}, {"name": "mapdomain", "kind": "Other"}, {"name": "format_float", "kind": "Other"}], "threading": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_profile_hook", "kind": "Other"}, {"name": "active_count", "kind": "Other"}, {"name": "activeCount", "kind": "Other"}, {"name": "current_thread", "kind": "Other"}, {"name": "currentThread", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "enumerate", "kind": "Other"}, {"name": "main_thread", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "ThreadError", "kind": "LocalType"}, {"name": "local", "kind": "LocalType"}, {"name": "Thread", "kind": "LocalType"}, {"name": "_DummyThread", "kind": "LocalType"}, {"name": "Lock", "kind": "LocalType"}, {"name": "_RLock", "kind": "LocalType"}, {"name": "RLock", "kind": "Other"}, {"name": "Condition", "kind": "LocalType"}, {"name": "Semaphore", "kind": "LocalType"}, {"name": "BoundedSemaphore", "kind": "LocalType"}, {"name": "Event", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "ImportedType", "fullname": "_thread._ExceptHookArgs"}, {"name": "excepthook", "kind": "Other"}, {"name": "ExceptHookArgs", "kind": "Other"}, {"name": "Timer", "kind": "LocalType"}, {"name": "Barrier", "kind": "LocalType"}, {"name": "BrokenBarrierError", "kind": "LocalType"}], "numpy.testing._private": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "unittest.case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsDunderGE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGE"}, {"name": "SupportsDunderGT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGT"}, {"name": "SupportsDunderLE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLE"}, {"name": "SupportsDunderLT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLT"}, {"name": "SupportsRSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsRSub"}, {"name": "SupportsSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsSub"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "WarningMessage", "kind": "ImportedType", "fullname": "warnings.WarningMessage"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "UnionType", "kind": "ImportedType", "fullname": "types.UnionType"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "DIFF_OMITTED", "kind": "Other"}, {"name": "_BaseTestCaseContext", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "ImportedType", "fullname": "unittest._log._AssertLogsContext"}, {"name": "_LoggingWatcher", "kind": "ImportedType", "fullname": "unittest._log._LoggingWatcher"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "doModuleCleanups", "kind": "Other"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "_SupportsAbsAndDunderGE", "kind": "LocalType"}, {"name": "_IsInstanceClassInfo", "kind": "Other"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "_AssertRaisesContext", "kind": "LocalType"}, {"name": "_AssertWarnsContext", "kind": "LocalType"}], "warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_W", "kind": "Other"}, {"name": "_ActionKind", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "showwarning", "kind": "Other"}, {"name": "formatwarning", "kind": "Other"}, {"name": "filterwarnings", "kind": "Other"}, {"name": "simplefilter", "kind": "Other"}, {"name": "resetwarnings", "kind": "Other"}, {"name": "_OptionError", "kind": "LocalType"}, {"name": "WarningMessage", "kind": "LocalType"}, {"name": "catch_warnings", "kind": "LocalType"}], "unittest.loader": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_SortComparisonMethod", "kind": "Other"}, {"name": "_SuiteClass", "kind": "Other"}, {"name": "VALID_MODULE_NAME", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}], "unittest.main": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "MAIN_EXAMPLES", "kind": "Other"}, {"name": "MODULE_EXAMPLES", "kind": "Other"}, {"name": "_TestRunner", "kind": "LocalType"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}], "unittest.result": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_F", "kind": "Other"}, {"name": "STDOUT_LINE", "kind": "Other"}, {"name": "STDERR_LINE", "kind": "Other"}, {"name": "failfast", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}], "unittest.runner": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ResultClassType", "kind": "Other"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}], "unittest.signals": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}], "unittest.suite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_TestType", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}], "unittest.async_case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_T", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}], "json": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}, {"name": "JSONEncoder", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "detect_encoding", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "numpy.compat": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_inspect", "kind": "Module", "fullname": "numpy.compat._inspect"}, {"name": "py3k", "kind": "Module", "fullname": "numpy.compat.py3k"}, {"name": "getargspec", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy._typing._add_docstring": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "re", "kind": "Module", "fullname": "re"}, {"name": "textwrap", "kind": "Module", "fullname": "textwrap"}, {"name": "NDArray", "kind": "Other"}, {"name": "_docstrings_list", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "_parse_docstrings", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}], "_thread": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Callable", "kind": "Other"}, {"name": "Thread", "kind": "ImportedType", "fullname": "threading.Thread"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "_count", "kind": "Other"}, {"name": "LockType", "kind": "LocalType"}, {"name": "start_new_thread", "kind": "Other"}, {"name": "interrupt_main", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "allocate_lock", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}], "unittest._log": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_L", "kind": "Other"}, {"name": "_LoggingWatcher", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "LocalType"}], "logging": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "threading", "kind": "Module", "fullname": "threading"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Template", "kind": "ImportedType", "fullname": "string.Template"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_SysExcInfoType", "kind": "Other"}, {"name": "_ExcInfoType", "kind": "Other"}, {"name": "_ArgsType", "kind": "Other"}, {"name": "_FilterType", "kind": "Other"}, {"name": "_Level", "kind": "Other"}, {"name": "_FormatStyle", "kind": "Other"}, {"name": "raiseExceptions", "kind": "Other"}, {"name": "logThreads", "kind": "Other"}, {"name": "logMultiprocessing", "kind": "Other"}, {"name": "logProcesses", "kind": "Other"}, {"name": "_srcfile", "kind": "Other"}, {"name": "currentframe", "kind": "Other"}, {"name": "_levelToName", "kind": "Other"}, {"name": "_nameToLevel", "kind": "Other"}, {"name": "Filterer", "kind": "LocalType"}, {"name": "Manager", "kind": "LocalType"}, {"name": "Logger", "kind": "LocalType"}, {"name": "CRITICAL", "kind": "Other"}, {"name": "FATAL", "kind": "Other"}, {"name": "ERROR", "kind": "Other"}, {"name": "WARNING", "kind": "Other"}, {"name": "WARN", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "NOTSET", "kind": "Other"}, {"name": "Handler", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}, {"name": "BufferingFormatter", "kind": "LocalType"}, {"name": "Filter", "kind": "LocalType"}, {"name": "LogRecord", "kind": "LocalType"}, {"name": "_L", "kind": "Other"}, {"name": "LoggerAdapter", "kind": "LocalType"}, {"name": "getLogger", "kind": "Other"}, {"name": "getLoggerClass", "kind": "Other"}, {"name": "getLogRecordFactory", "kind": "Other"}, {"name": "debug", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "warning", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "critical", "kind": "Other"}, {"name": "exception", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "fatal", "kind": "Other"}, {"name": "disable", "kind": "Other"}, {"name": "addLevelName", "kind": "Other"}, {"name": "getLevelName", "kind": "Other"}, {"name": "makeLogRecord", "kind": "Other"}, {"name": "basicConfig", "kind": "Other"}, {"name": "shutdown", "kind": "Other"}, {"name": "setLoggerClass", "kind": "Other"}, {"name": "captureWarnings", "kind": "Other"}, {"name": "setLogRecordFactory", "kind": "Other"}, {"name": "lastResort", "kind": "Other"}, {"name": "_StreamT", "kind": "Other"}, {"name": "StreamHandler", "kind": "LocalType"}, {"name": "FileHandler", "kind": "LocalType"}, {"name": "NullHandler", "kind": "LocalType"}, {"name": "PlaceHolder", "kind": "LocalType"}, {"name": "RootLogger", "kind": "LocalType"}, {"name": "root", "kind": "Other"}, {"name": "PercentStyle", "kind": "LocalType"}, {"name": "StrFormatStyle", "kind": "LocalType"}, {"name": "StringTemplateStyle", "kind": "LocalType"}, {"name": "_STYLES", "kind": "Other"}, {"name": "BASIC_FORMAT", "kind": "Other"}], "_warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "_defaultaction", "kind": "Other"}, {"name": "_onceregistry", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}], "json.decoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}], "json.encoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ESCAPE", "kind": "Other"}, {"name": "ESCAPE_ASCII", "kind": "Other"}, {"name": "HAS_UTF8", "kind": "Other"}, {"name": "ESCAPE_DCT", "kind": "Other"}, {"name": "INFINITY", "kind": "Other"}, {"name": "py_encode_basestring", "kind": "Other"}, {"name": "py_encode_basestring_ascii", "kind": "Other"}, {"name": "JSONEncoder", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "numpy.compat.py3k": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}], "textwrap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "__all__", "kind": "Other"}, {"name": "TextWrapper", "kind": "LocalType"}, {"name": "wrap", "kind": "Other"}, {"name": "fill", "kind": "Other"}, {"name": "shorten", "kind": "Other"}, {"name": "dedent", "kind": "Other"}, {"name": "indent", "kind": "Other"}], "string": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "RegexFlag", "kind": "ImportedType", "fullname": "re.RegexFlag"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ascii_letters", "kind": "Other"}, {"name": "ascii_lowercase", "kind": "Other"}, {"name": "ascii_uppercase", "kind": "Other"}, {"name": "digits", "kind": "Other"}, {"name": "hexdigits", "kind": "Other"}, {"name": "octdigits", "kind": "Other"}, {"name": "punctuation", "kind": "Other"}, {"name": "printable", "kind": "Other"}, {"name": "whitespace", "kind": "Other"}, {"name": "capwords", "kind": "Other"}, {"name": "_TemplateMetaclass", "kind": "Other"}, {"name": "Template", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file From 6d4badf202d1cb32c6a6fefb1665ed745d0c7b87 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 9 Aug 2023 14:32:18 +0300 Subject: [PATCH 055/344] Preparations for adding mypy --- usvm-python/build.gradle.kts | 29 +++++++++++++-- usvm-python/cpythonadapter/build.gradle.kts | 4 +-- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 +++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 4 +++ .../org/usvm/interpreter/CPythonAdapter.java | 1 + .../usvm/interpreter/ConcolicRunContext.java | 10 +++++- .../main/kotlin/org/usvm/language/Domain.kt | 15 +++++++- .../org/usvm/language/types/TypeSystem.kt | 2 +- .../org/usvm/machine/DefaultValueProvider.kt | 4 +-- .../org/usvm/machine/PythonComponents.kt | 8 +++-- .../org/usvm/machine/PythonExecutionState.kt | 7 ++-- .../kotlin/org/usvm/machine/PythonMachine.kt | 25 +++++++------ .../usvm/machine/PythonVirtualPathSelector.kt | 6 ++-- .../kotlin/org/usvm/machine/UPythonContext.kt | 3 +- .../interpreters/ConcretePythonInterpreter.kt | 6 ++++ .../interpreters/USVMPythonInterpreter.kt | 24 ++++++++++--- .../machine/interpreters/operations/Common.kt | 7 ++-- .../interpreters/operations/Virtual.kt | 2 +- .../ConverterToPythonObject.kt | 4 ++- .../SymbolicObjectConstruction.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 36 ++++++++----------- usvm-python/src/test/kotlin/BuildSamples.kt | 15 ++++++++ usvm-python/src/test/kotlin/manualTest.kt | 26 ++++++++------ .../org/usvm/samples/PythonTestRunner.kt | 9 ++++- .../org/usvm/samples/SimpleListsTest.kt | 3 ++ .../usvm/samples/SimpleTypeInferenceTest.kt | 3 +- .../resources/samples/SimpleTypeInference.py | 6 ++-- .../utbot-python-types/build.gradle.kts | 6 ++++ .../utbot/python/newtyping/mypy/RunMypy.kt | 30 ++++++++-------- 30 files changed, 217 insertions(+), 90 deletions(-) create mode 100644 usvm-python/src/test/kotlin/BuildSamples.kt diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 1c660415c4..67d1c3605d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { } val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" -val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" +val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { if (debug) @@ -51,8 +51,33 @@ tasks.register("manualTestRelease") { mainClass.set("ManualTestKt") } +val samplesSourceDir = File(projectDir, "src/test/resources/samples") +val samplesBuildDir = File(project.buildDir, "samples_build") + +// temporary +val installMypyRunner = tasks.register("installUtbotMypyRunner") { + group = "samples" + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") + commandLine("$cpythonBuildPath/bin/python3", "-m", "pip", "install", "utbot-mypy-runner==0.2.11") +} + +tasks.register("buildSamples") { + dependsOn(installMypyRunner) + group = "samples" + classpath = sourceSets.test.get().runtimeClasspath + args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + mainClass.set("BuildSamplesKt") +} + tasks.test { - jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") + jvmArgs = listOf( + "-Dlogback.configurationFile=logging/logback-info.xml", + "-Dsamples.build.path=" + ) dependsOn(":usvm-python:cpythonadapter:linkDebug") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 2dc00254d6..edc325867c 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -17,7 +17,7 @@ val configCPythonDebug = tasks.register("CPythonBuildConfigurationDebug") "$cpythonPath/configure", "--enable-shared", "--without-static-libpython", - "--with-ensurepip=no", + "--with-ensurepip=yes", "--prefix=$cpythonBuildPath", "--disable-test-modules", "--with-assertions" @@ -32,7 +32,7 @@ val configCPythonRelease = tasks.register("CPythonBuildConfigurationReleas "$cpythonPath/configure", "--enable-shared", "--without-static-libpython", - "--with-ensurepip=no", + "--with-ensurepip=yes", "--prefix=$cpythonBuildPath", "--disable-test-modules", "--enable-optimizations" diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 67ac0e1ea3..75f89de5a5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 67ac0e1ea377a5925df538473f0724d53af99a51 +Subproject commit 75f89de5a59087965d4e8b4dc03448410f351ec3 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index ccda2a8e55..c0feee8ec1 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -239,6 +239,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: decref + * Signature: (J)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref + (JNIEnv *, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index dc109946be..7b0ce1bf3a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -282,4 +282,8 @@ JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractExc PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); assert(is_wrapped_java_object(wrapped)); return ((JavaPythonObject *) wrapped)->reference; +} + +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref(JNIEnv *env, jobject _, jlong obj_ref) { + Py_XDECREF((PyObject *) obj_ref); } \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0cc81f6b4e..170858630a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -50,6 +50,7 @@ public class CPythonAdapter { public native int typeHasTpRichcmp(long type); public native int typeHasTpIter(long type); public native Throwable extractException(long exception); + public native void decref(long object); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 21cb560b64..6f7dc907ad 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,14 +2,18 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; import org.usvm.machine.PyModelHolder; import org.usvm.machine.PythonExecutionState; import org.usvm.machine.UPythonContext; import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; import org.usvm.machine.symbolicobjects.ConverterToPythonObject; +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; public class ConcolicRunContext { @Nullable @@ -21,21 +25,25 @@ public class ConcolicRunContext { public PyModelHolder modelHolder; public boolean allowPathDiversion; public ConverterToPythonObject converter; + public Set delayedNonNullObjects = new HashSet<>(); + public PythonTypeSystem typeSystem; public ConcolicRunContext( @NotNull PythonExecutionState curState, UPythonContext ctx, PyModelHolder modelHolder, + PythonTypeSystem typeSystem, boolean allowPathDiversion ) { this.curState = curState; this.ctx = ctx; this.modelHolder = modelHolder; this.allowPathDiversion = allowPathDiversion; + this.typeSystem = typeSystem; if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { - this.converter = new ConverterToPythonObject(ctx, modelHolder); + this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt index b1c4f240a1..fe79afc94c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt @@ -5,7 +5,20 @@ import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.interpreters.PythonObject import org.usvm.language.types.PythonType -data class PythonProgram(val asString: String) +sealed class PythonProgram { + abstract fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable +} + +data class PrimitivePythonProgram(val asString: String): PythonProgram() { + private val namespace = ConcretePythonInterpreter.getNewNamespace() + init { + ConcretePythonInterpreter.concreteRun(namespace, asString) + } + override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable = + PythonPinnedCallable(callable.reference(namespace)) +} + +abstract class StructuredPythonProgram: PythonProgram() sealed class PythonCallable diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index e44e4846e4..c941c260b4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -5,7 +5,7 @@ import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem -object PythonTypeSystem: UTypeSystem { +open class PythonTypeSystem: UTypeSystem { override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { if (supertype is VirtualPythonType) return supertype.accepts(type) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt index 07da3204c7..f505edbf4b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt @@ -5,9 +5,9 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace -object DefaultValueProvider { +class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { fun provide(type: PythonType): PythonObject { - require(PythonTypeSystem.isInstantiable(type)) + require(typeSystem.isInstantiable(type)) return when (type) { pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 37841d0365..3449701830 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -13,16 +13,18 @@ import org.usvm.solver.USolverBase import org.usvm.solver.UTypeSolver import org.usvm.types.UTypeSystem -object PythonComponents: UComponents { +class PythonComponents( + private val typeSystem: PythonTypeSystem +): UComponents { override fun mkSolver(ctx: UContext): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) solver.configure { setZ3Option("timeout", 1) } - return USolverBase(ctx, solver, UTypeSolver(PythonTypeSystem), translator, decoder, softConstraintsProvider) + return USolverBase(ctx, solver, UTypeSolver(typeSystem), translator, decoder, softConstraintsProvider) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { - return PythonTypeSystem + return typeSystem } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index b52cb257bf..7672f01729 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -26,7 +26,8 @@ class PythonExecutionState( callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf(), var delayedForks: PersistentList = persistentListOf(), - private val mocks: MutableMap> = mutableMapOf() + private val mocks: MutableMap> = mutableMapOf(), + val mockedObjects: MutableSet = mutableSetOf() ): UState>(ctx, callStack, pathConstraints, memory, listOf(uModel), path) { override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() @@ -41,7 +42,8 @@ class PythonExecutionState( callStack, path, delayedForks, - mocks.toMutableMap() // copy + mocks.toMutableMap(), // copy + mockedObjects.toMutableSet() // copy ) } override val isExceptional: Boolean = false // TODO @@ -65,6 +67,7 @@ class PythonExecutionState( val (result, newMocker) = memory.mocker.call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) memory.mocker = newMocker mocks[what] = result + what.methodOwner?.let { mockedObjects.add(it) } return MockResult(UninterpretedSymbolicPythonObject(result), true, result) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 86ad400413..86ac96aa99 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -7,7 +7,7 @@ import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.memory.UMemoryBase @@ -16,25 +16,30 @@ import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver class PythonMachine( - program: PythonProgram, + private val program: PythonProgram, + private val typeSystem: PythonTypeSystem, private val printErrorMsg: Boolean = false, private val allowPathDiversion: Boolean = true, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { - private val ctx = UPythonContext() + private val ctx = UPythonContext(typeSystem) private val solver = ctx.solver() private val iterationCounter = IterationCounter() - private val namespace = ConcretePythonInterpreter.getNewNamespace() - - init { - ConcretePythonInterpreter.concreteRun(namespace, program.asString) - } private fun getInterpreter( target: PythonUnpinnedCallable, results: MutableList> ): USVMPythonInterpreter = - USVMPythonInterpreter(ctx, namespace, target, iterationCounter, printErrorMsg, allowPathDiversion, pythonObjectSerialization) { + USVMPythonInterpreter( + ctx, + typeSystem, + program, + target, + iterationCounter, + printErrorMsg, + allowPathDiversion, + pythonObjectSerialization + ) { results.add(it) } @@ -65,7 +70,7 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(ctx, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index cd87f00974..47b5b47324 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -5,12 +5,14 @@ import org.usvm.UContext import org.usvm.UPathSelector import org.usvm.fork import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.TypeOfVirtualObject import org.usvm.types.first import kotlin.random.Random class PythonVirtualPathSelector( private val ctx: UContext, + private val typeSystem: PythonTypeSystem, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector @@ -39,7 +41,7 @@ class PythonVirtualPathSelector( } val concreteType = typeRating.first() require(concreteType != TypeOfVirtualObject) - val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType).not()) + val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType, null).not()) if (forkResult.positiveState != state) { unservedDelayedForks.removeIf { it.delayedFork.state == state } servedDelayedForks.removeIf { it.delayedFork.state == state } @@ -62,7 +64,7 @@ class PythonVirtualPathSelector( val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } - val typeStreams = objects.map { it.getTypeStream() } + val typeStreams = objects.map { it.getTypeStream() ?: typeSystem.topTypeStream() } if (typeStreams.any { it.take(2).size < 2 }) { return generateStateWithConcretizedTypeWithoutDelayedForks() } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 2fddc9e952..56bc0e2308 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -3,8 +3,9 @@ package org.usvm.machine import org.usvm.UConcreteHeapAddress import org.usvm.UConcreteHeapRef import org.usvm.UContext +import org.usvm.language.types.PythonTypeSystem -class UPythonContext: UContext(PythonComponents) { +class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(typeSystem)) { private var nextAddress: UConcreteHeapAddress = -1000_000_000 fun provideRawConcreteHeapRef(): UConcreteHeapRef { return mkConcreteHeapRef(nextAddress--) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index b353d08bcc..f20011b512 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -144,8 +144,14 @@ object ConcretePythonInterpreter { pythonAdapter.finalizePython() } + val initialSysPath: PythonObject + init { pythonAdapter.initializePython() + val namespace = pythonAdapter.newNamespace + pythonAdapter.concreteRun(namespace, "import sys, copy") + initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.deepcopy(sys.path)")) + pythonAdapter.decref(namespace) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index a1552a73fa..2d2272f564 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -3,16 +3,20 @@ package org.usvm.machine.interpreters import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonProgram import org.usvm.machine.interpreters.operations.BadModelException import org.usvm.machine.interpreters.operations.UnregisteredVirtualOperation import org.usvm.machine.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython +import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* +import org.usvm.machine.interpreters.operations.myAssertOnState class USVMPythonInterpreter( private val ctx: UPythonContext, - namespace: PythonNamespace, + private val typeSystem: PythonTypeSystem, + program: PythonProgram, private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, @@ -20,7 +24,7 @@ class USVMPythonInterpreter( private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { - private val pinnedCallable = callable.reference(namespace) + private val pinnedCallable = program.pinCallable(callable) private fun getSeeds( concolicRunContext: ConcolicRunContext, @@ -57,7 +61,7 @@ class USVMPythonInterpreter( else PyModelHolder(state.pyModel) val concolicRunContext = - ConcolicRunContext(state, ctx, modelHolder, allowPathDiversion) + ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion) state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { @@ -81,7 +85,7 @@ class USVMPythonInterpreter( try { val result = ConcretePythonInterpreter.concolicRun( - pinnedCallable, + pinnedCallable.asPythonObject, concrete, virtualObjects, symbols, @@ -116,8 +120,20 @@ class USVMPythonInterpreter( resultState.meta.wasExecuted = true if (resultState.delayedForks.isEmpty() && inputs == null) { + var newResultState = resultState + concolicRunContext.delayedNonNullObjects.forEach { obj -> + newResultState = newResultState?.let { + myAssertOnState(it, ctx.mkNot(ctx.mkHeapRefEq(obj.address, ctx.nullRef))) + } + } + if (newResultState == null) { + logger.debug("Error in concretization of virtual objects") + return StepResult(emptySequence(), false) + } + require(newResultState == resultState) resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() resultState.meta.lastConverter = converter + converter.modelHolder.model = resultState.pyModel } logger.debug("Finished step on state: {}", concolicRunContext.curState) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 8bd3c24e64..700990360b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -6,19 +6,18 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation -import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonObjectType fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null - val type = PythonTypeSystem.getConcreteTypeByAddress(typeRef) ?: return null + val type = ctx.typeSystem.getConcreteTypeByAddress(typeRef) ?: return null if (type == pythonObjectType) return constructBool(ctx, ctx.ctx.trueExpr) val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) return if (interpreted.getConcreteType(ctx) == null) { - myFork(ctx, obj.rawEvalIs(ctx, ConcreteTypeNegation(type)).not()) + myFork(ctx, obj.evalIs(ctx, ConcreteTypeNegation(type))) require(interpreted.getConcreteType(ctx) == null) constructBool(ctx, falseExpr) } else { @@ -28,7 +27,7 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho fun addConcreteSupertypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject) { ctx.curState ?: return - val type = PythonTypeSystem.getConcreteTypeByAddress(typeRef) ?: return + val type = ctx.typeSystem.getConcreteTypeByAddress(typeRef) ?: return obj.addSupertype(ctx, type) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 156a607d81..1ad0bae64a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -51,7 +51,7 @@ private fun internalVirtualCallKt(context: ConcolicRunContext): Pair() private val constructedObjects = mutableMapOf() private val virtualObjects = mutableSetOf>() @@ -54,7 +56,7 @@ class ConverterToPythonObject( } private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val default = forcedConcreteTypes[obj.address]?.let { DefaultValueProvider.provide(it) } + val default = forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } if (default != null) return default diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 3acbc35a75..84ab4cd6b8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -23,7 +23,7 @@ fun constructInputObject( val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address) - pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type) + pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type, null) return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 87be621bdf..2600910a2d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -33,24 +33,23 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { require(ctx.curState != null) - return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) + return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type, ctx) } - fun rawEvalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { - require(ctx.curState != null) - return rawEvalIs(ctx.curState!!.pathConstraints.typeConstraints, type) - } - - fun evalIs(ctx: UContext, typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = with(ctx) { + fun evalIs( + ctx: UContext, + typeConstraints: UTypeConstraints, + type: PythonType, + concolicContext: ConcolicRunContext? + ): UBoolExpr { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) if (type is ConcretePythonType) - result = result and mkHeapRefEq(address, nullRef).not() + result = with(ctx) { result and mkHeapRefEq(address, nullRef).not() } + else if (type !is PythonAnyType && concolicContext != null) + concolicContext.delayedNonNullObjects.add(this) return result } - fun rawEvalIs(typeConstraints: UTypeConstraints, type: PythonType): UBoolExpr = - typeConstraints.evalIsSubtype(address, type) - fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) addSupertype(ctx, pythonInt) @@ -131,11 +130,6 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) } - - fun getTypeStreamOfModel(ctx: ConcolicRunContext): UTypeStream { - val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) - return interpreted.getTypeStream(ctx) - } } sealed class InterpretedSymbolicPythonObject( @@ -144,7 +138,6 @@ sealed class InterpretedSymbolicPythonObject( abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue - abstract fun getTypeStream(ctx: ConcolicRunContext): UTypeStream } class InterpretedInputSymbolicPythonObject( @@ -160,11 +153,10 @@ class InterpretedInputSymbolicPythonObject( override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue = getIntContent(ctx.ctx) - override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream = getTypeStream() fun getFirstType(): PythonType? { if (address.address == 0) - return PythonTypeSystem.topTypeStream().first() + return TypeOfVirtualObject return modelHolder.model.getFirstType(address) } fun getConcreteType(): ConcretePythonType? { @@ -173,9 +165,9 @@ class InterpretedInputSymbolicPythonObject( return modelHolder.model.getConcreteType(address) } - fun getTypeStream(): UTypeStream { + fun getTypeStream(): UTypeStream? { if (address.address == 0) - return PythonTypeSystem.topTypeStream() + return null return modelHolder.model.uModel.typeStreamOf(address) } @@ -211,7 +203,7 @@ class InterpretedAllocatedSymbolicPythonObject( return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue } - override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { + fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { require(ctx.curState != null) return ctx.curState!!.memory.typeStreamOf(address) } diff --git a/usvm-python/src/test/kotlin/BuildSamples.kt b/usvm-python/src/test/kotlin/BuildSamples.kt new file mode 100644 index 0000000000..2922848fc6 --- /dev/null +++ b/usvm-python/src/test/kotlin/BuildSamples.kt @@ -0,0 +1,15 @@ +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.readMypyAnnotationStorageAndInitialErrors +import java.io.File + +fun main(args: Array) { + val inputPath = args[0] + val requiredPath = args[1] + val pythonPath = args[2] + val root = File(requiredPath) + root.mkdirs() + val mypyBuildDir = MypyBuildDirectory(root, setOf(inputPath)) + val files = File(inputPath).listFiles()!!.map { it!! } + val modules = files.map { it.name.removeSuffix(".py") } + readMypyAnnotationStorageAndInitialErrors(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir, isolated = true) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 08b2a810b5..5b4b1678bf 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,28 +1,32 @@ +import org.usvm.language.PrimitivePythonProgram import org.usvm.machine.* -import org.usvm.language.PythonProgram import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.pythonInt +import org.usvm.language.types.pythonList import org.usvm.machine.interpreters.ConcretePythonInterpreter fun main() { - val program = PythonProgram( + println("Initial sys.path:") + System.out.flush() + ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) + val program = PrimitivePythonProgram( """ - def f(x): - if isinstance(x[5], bool): - return 1 - elif isinstance(x[3], type(None)): - return 2 - return 3 + def f(x: list, y: list): + x[0][0] += 1 + assert x < y """.trimIndent() ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(PythonAnyType), "f") - val machine = PythonMachine(program, printErrorMsg = true, allowPathDiversion = true) { + val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonList), "f") + val typeSystem = PythonTypeSystem() + val machine = PythonMachine(program, typeSystem, printErrorMsg = true, allowPathDiversion = true) { ConcretePythonInterpreter.getPythonObjectRepr(it) } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 40) + val returnValue = activeMachine.analyze(function, results, maxIterations = 15) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index 5238b5c04c..e28365ada7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -4,6 +4,7 @@ import org.usvm.UMachineOptions import org.usvm.machine.* import org.usvm.language.* import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.pythonInt import org.usvm.machine.interpreters.CPythonExecutionException import org.usvm.machine.interpreters.ConcretePythonInterpreter @@ -17,8 +18,14 @@ open class PythonTestRunner( allowPathDiversions: Boolean = false ): TestRunner() { override var options: UMachineOptions = UMachineOptions() + // private val buildRoot = System.getProperty("samples.build.path") private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() - private val machine = PythonMachine(PythonProgram(testSources), allowPathDiversion = allowPathDiversions) { pythonObject -> + private val typeSystem = PythonTypeSystem() + private val machine = PythonMachine( + PrimitivePythonProgram(testSources), + typeSystem, + allowPathDiversion = allowPathDiversions + ) { pythonObject -> val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) PythonObjectInfo( ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 7d63e14712..d9a049f2e5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -254,6 +254,8 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { @Test fun testDoubleSubscriptAndCompare() { + val oldOptions = options + options = UMachineOptions(stepLimit = 15U) check2WithConcreteRun( constructFunction("double_subscript_and_compare", listOf(pythonList, pythonList)), ignoreNumberOfAnalysisResults, @@ -265,5 +267,6 @@ class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { { _, _, res -> res.repr == "None" } ) ) + options = oldOptions } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 4064e7867e..2c8824dadf 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -166,7 +166,8 @@ class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py { _, res -> res.selfTypeName == "IndexError" }, { _, res -> res.repr == "1" }, { _, res -> res.repr == "2" }, - { _, res -> res.repr == "3" } + { _, res -> res.repr == "3" }, + { _, res -> res.repr == "4" } ) ) } diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 98f458a8b8..5b23e491e0 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -77,6 +77,8 @@ def multiply_and_compare(x, y): def subscript_and_isinstance(x): if isinstance(x[5], bool): return 1 - elif isinstance(x[3], type(None)): + elif isinstance(x[5], int): return 2 - return 3 \ No newline at end of file + elif isinstance(x[3], type(None)): + return 3 + return 4 \ No newline at end of file diff --git a/usvm-python/utbot-python-types/build.gradle.kts b/usvm-python/utbot-python-types/build.gradle.kts index 276561a528..339f0bbd9e 100644 --- a/usvm-python/utbot-python-types/build.gradle.kts +++ b/usvm-python/utbot-python-types/build.gradle.kts @@ -6,4 +6,10 @@ dependencies { implementation("com.squareup.moshi:moshi:1.11.0") implementation("com.squareup.moshi:moshi-kotlin:1.11.0") implementation("com.squareup.moshi:moshi-adapters:1.11.0") +} + +tasks.test { + onlyIf { + project.hasProperty("utbot-python-types") + } } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt index b1f8d6a621..f9e181adb3 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt @@ -42,23 +42,27 @@ class MypyBuildDirectory( fun readMypyAnnotationStorageAndInitialErrors( pythonPath: String, - sourcePath: String, - module: String, - mypyBuildDir: MypyBuildDirectory + sourcePaths: List, + modules: List, + mypyBuildDir: MypyBuildDirectory, + isolated: Boolean = false ): Pair> { + val pythonArgs = listOf( + pythonPath, + "-X", + "utf8" + ) + if (isolated) listOf("-s") else emptyList() val result = runCommand( + pythonArgs + listOf( - pythonPath, - "-X", - "utf8", "-m", "utbot_mypy_runner", "--config", mypyBuildDir.configFile.absolutePath, - "--sources", - sourcePath.modifyWindowsPath(), - "--modules", - module, + "--sources" + ) + sourcePaths.map { it.modifyWindowsPath() } + + listOf("--modules") + modules + + listOf( "--annotations_out", mypyBuildDir.fileForAnnotationStorage.absolutePath, "--mypy_stdout", @@ -66,10 +70,8 @@ fun readMypyAnnotationStorageAndInitialErrors( "--mypy_stderr", mypyBuildDir.fileForMypyStderr.absolutePath, "--mypy_exit_status", - mypyBuildDir.fileForMypyExitStatus.absolutePath, - "--module_for_types", - module - ) + mypyBuildDir.fileForMypyExitStatus.absolutePath) + + if (modules.size == 1) listOf("--module_for_types", modules.first()) else emptyList() ) val stderr = if (mypyBuildDir.fileForMypyStderr.exists()) mypyBuildDir.fileForMypyStderr.readText() else null val stdout = if (mypyBuildDir.fileForMypyStdout.exists()) mypyBuildDir.fileForMypyStdout.readText() else null From e0e166367581f33dec15f9f122729d8a9f35f8aa Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 9 Aug 2023 19:35:41 +0300 Subject: [PATCH 056/344] Work on Python imports and structured programs --- .gitignore | 5 +- usvm-python/build.gradle.kts | 63 ++++++++++--------- .../c/org_usvm_interpreter_CPythonAdapter.c | 6 +- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../usvm/language/{Domain.kt => Callables.kt} | 23 ++----- .../main/kotlin/org/usvm/language/Program.kt | 59 +++++++++++++++++ .../org/usvm/machine/PythonExecutionState.kt | 1 + .../kotlin/org/usvm/machine/PythonMachine.kt | 9 +-- .../org/usvm/machine/PythonMockEvaluator.kt | 1 + .../interpreters/ConcretePythonInterpreter.kt | 12 +++- .../interpreters/USVMPythonInterpreter.kt | 22 ++++--- .../interpreters/operations/Virtual.kt | 2 +- .../ConverterToPythonObject.kt | 4 +- .../symbolicobjects/ObjectValidator.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 2 +- .../{ => utils}/DefaultValueProvider.kt | 2 +- .../org/usvm/machine/{ => utils}/PyModel.kt | 3 +- .../org/usvm/utils/PythonImportUtils.kt | 41 ++++++++++++ usvm-python/src/test/kotlin/manualTest.kt | 54 ++++++++++++---- .../org/usvm/samples/PathDiversionTest.kt | 4 +- .../org/usvm/samples/PythonTestRunner.kt | 48 +++++++++----- .../kotlin/org/usvm/samples/SamplesBuild.kt | 26 ++++++++ .../org/usvm/samples/SimpleExampleTest.kt | 17 ++++- .../org/usvm/samples/SimpleListsTest.kt | 6 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 5 +- .../usvm/samples/SimpleUsageOfModulesTest.kt | 37 +++++++++++ .../sample_submodule/SimpleUsageOfModules.py | 12 ++++ .../sample_submodule/sample_functions.py | 5 ++ .../samples/sample_submodule/structures.py | 3 + 29 files changed, 367 insertions(+), 109 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/language/{Domain.kt => Callables.kt} (62%) create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/Program.kt rename usvm-python/src/main/kotlin/org/usvm/machine/{ => utils}/DefaultValueProvider.kt (96%) rename usvm-python/src/main/kotlin/org/usvm/machine/{ => utils}/PyModel.kt (96%) create mode 100644 usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt create mode 100644 usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py create mode 100644 usvm-python/src/test/resources/samples/sample_submodule/sample_functions.py create mode 100644 usvm-python/src/test/resources/samples/sample_submodule/structures.py diff --git a/.gitignore b/.gitignore index ac4534db69..03d6d4a0e1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,7 @@ buildSrc/.gradle .idea # Ignore vim cache -*.swp \ No newline at end of file +*.swp + +# Ignore Python execution cache +__pycache__/ diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 67d1c3605d..699015a5cf 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -15,6 +15,32 @@ dependencies { testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } +val samplesSourceDir = File(projectDir, "src/test/resources/samples") +val samplesBuildDir = File(project.buildDir, "samples_build") +val samplesJVMArgs = listOf( + "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", + "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}" +) + +// temporary +val installMypyRunner = tasks.register("installUtbotMypyRunner") { + group = "samples" + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") + commandLine("$cpythonBuildPath/bin/python3", "-m", "pip", "install", "utbot-mypy-runner==0.2.11") +} + +val buildSamples = tasks.register("buildSamples") { + dependsOn(installMypyRunner) + group = "samples" + classpath = sourceSets.test.get().runtimeClasspath + args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + mainClass.set("BuildSamplesKt") +} + val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? @@ -30,7 +56,8 @@ fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { tasks.register("manualTestDebug") { group = "run" registerCpython(this, debug = true) - jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + dependsOn(buildSamples) + jvmArgs = samplesJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } @@ -38,7 +65,8 @@ tasks.register("manualTestDebug") { tasks.register("manualTestDebugNoLogs") { group = "run" registerCpython(this, debug = true) - jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") + dependsOn(buildSamples) + jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } @@ -46,39 +74,16 @@ tasks.register("manualTestDebugNoLogs") { tasks.register("manualTestRelease") { group = "run" registerCpython(this, debug = false) - jvmArgs = listOf("-Dlogback.configurationFile=logging/logback-info.xml") + dependsOn(buildSamples) + jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } -val samplesSourceDir = File(projectDir, "src/test/resources/samples") -val samplesBuildDir = File(project.buildDir, "samples_build") - -// temporary -val installMypyRunner = tasks.register("installUtbotMypyRunner") { - group = "samples" - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("PYTHONHOME" to cpythonBuildPath) - commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") - commandLine("$cpythonBuildPath/bin/python3", "-m", "pip", "install", "utbot-mypy-runner==0.2.11") -} - -tasks.register("buildSamples") { - dependsOn(installMypyRunner) - group = "samples" - classpath = sourceSets.test.get().runtimeClasspath - args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("PYTHONHOME" to cpythonBuildPath) - mainClass.set("BuildSamplesKt") -} - tasks.test { - jvmArgs = listOf( - "-Dlogback.configurationFile=logging/logback-info.xml", - "-Dsamples.build.path=" - ) + jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" dependsOn(":usvm-python:cpythonadapter:linkDebug") + dependsOn(buildSamples) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 7b0ce1bf3a..4c5f130907 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -27,7 +27,11 @@ PyErr_Restore(type, value, traceback); \ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { - Py_Initialize(); + PyConfig config; + PyConfig_InitIsolatedConfig(&config); + + Py_InitializeFromConfig(&config); + PyConfig_Clear(&config); SET_IS_INITIALIZED(JNI_TRUE); } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 6f7dc907ad..5b53e6442a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -4,7 +4,7 @@ import org.jetbrains.annotations.Nullable; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; -import org.usvm.machine.PyModelHolder; +import org.usvm.machine.utils.PyModelHolder; import org.usvm.machine.PythonExecutionState; import org.usvm.machine.UPythonContext; import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt similarity index 62% rename from usvm-python/src/main/kotlin/org/usvm/language/Domain.kt rename to usvm-python/src/main/kotlin/org/usvm/language/Callables.kt index fe79afc94c..9d3dd9888e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Domain.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt @@ -5,33 +5,22 @@ import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.interpreters.PythonObject import org.usvm.language.types.PythonType -sealed class PythonProgram { - abstract fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable -} - -data class PrimitivePythonProgram(val asString: String): PythonProgram() { - private val namespace = ConcretePythonInterpreter.getNewNamespace() - init { - ConcretePythonInterpreter.concreteRun(namespace, asString) - } - override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable = - PythonPinnedCallable(callable.reference(namespace)) -} - -abstract class StructuredPythonProgram: PythonProgram() - sealed class PythonCallable data class PythonPinnedCallable(val asPythonObject: PythonObject): PythonCallable() class PythonUnpinnedCallable( val signature: List, + val module: String?, val reference: (PythonNamespace) -> /* function reference */ PythonObject ): PythonCallable() { val numberOfArguments: Int = signature.size companion object { - fun constructCallableFromName(signature: List, name: String) = - PythonUnpinnedCallable(signature) { globals -> ConcretePythonInterpreter.eval(globals, name) } + fun constructCallableFromName(signature: List, name: String, module: String? = null) = + PythonUnpinnedCallable(signature, module) { globals -> ConcretePythonInterpreter.eval(globals, name) } + + fun constructLambdaFunction(signature: List, expr: String) = + PythonUnpinnedCallable(signature, null) { globals -> ConcretePythonInterpreter.eval(globals, expr) } } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt new file mode 100644 index 0000000000..f48223d278 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -0,0 +1,59 @@ +package org.usvm.language + +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonNamespace +import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.utils.withAdditionalPaths +import java.io.File + +sealed class PythonProgram(val additionalPaths: Set) { + abstract fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable +} + +class PrimitivePythonProgram internal constructor( + private val namespace: PythonNamespace, + additionalPaths: Set +): PythonProgram(additionalPaths) { + override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable { + require(callable.module == null) + return PythonPinnedCallable(callable.reference(namespace)) + } + + companion object { + fun fromString(asString: String): PrimitivePythonProgram { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, asString) + return PrimitivePythonProgram(namespace, emptySet()) + } + } +} + +class StructuredPythonProgram(private val roots: Set): PythonProgram(roots) { + private fun getNamespaceOfModule(module: String): PythonNamespace = + withAdditionalPaths(roots) { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import sys") + ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.eval(namespace, "sys.path")) + module.split(".").fold("") { acc, name -> + val curModule = acc + name + ConcretePythonInterpreter.concreteRun(namespace, "import $curModule") + "$acc$name." + } + val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") + require(ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) == "dict") + PythonNamespace(resultAsObj.address) + } + + override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable { + if (callable.module == null) { + return PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas + } + val requiredNamespace = getNamespaceOfModule(callable.module) + return PythonPinnedCallable(callable.reference(requiredNamespace)) + } + + fun getPrimitiveProgram(module: String): PrimitivePythonProgram { + val namespace = getNamespaceOfModule(module) + return PrimitivePythonProgram(namespace, roots) + } +} diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 7672f01729..3c268b96e6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -10,6 +10,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.machine.utils.PyModel import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase import org.usvm.types.UTypeStream diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 86ac96aa99..0834ace971 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -19,7 +19,6 @@ class PythonMachine( private val program: PythonProgram, private val typeSystem: PythonTypeSystem, private val printErrorMsg: Boolean = false, - private val allowPathDiversion: Boolean = true, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION ): UMachine() { private val ctx = UPythonContext(typeSystem) @@ -28,7 +27,8 @@ class PythonMachine( private fun getInterpreter( target: PythonUnpinnedCallable, - results: MutableList> + results: MutableList>, + allowPathDiversion: Boolean ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, @@ -79,10 +79,11 @@ class PythonMachine( fun analyze( pythonCallable: PythonUnpinnedCallable, results: MutableList>, - maxIterations: Int = 300 + maxIterations: Int = 300, + allowPathDiversion: Boolean = true ): Int { val observer = PythonMachineObserver() - val interpreter = getInterpreter(pythonCallable, results) + val interpreter = getInterpreter(pythonCallable, results, allowPathDiversion) val pathSelector = getPathSelector(pythonCallable) run( interpreter, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt index b8b9a20a0d..108e377925 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt @@ -1,6 +1,7 @@ package org.usvm.machine import org.usvm.* +import org.usvm.machine.utils.PyModel import org.usvm.model.UModelBase class PythonMockEvaluator( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index f20011b512..0d99c5add4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -122,6 +122,14 @@ object ConcretePythonInterpreter { return addresses.map { PythonObject(it) } } + fun decref(obj: PythonObject) { + pythonAdapter.decref(obj.address) + } + + fun decref(namespace: PythonNamespace) { + pythonAdapter.decref(namespace.address) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) @@ -145,12 +153,14 @@ object ConcretePythonInterpreter { } val initialSysPath: PythonObject + val initialSysModules: PythonObject init { pythonAdapter.initializePython() val namespace = pythonAdapter.newNamespace pythonAdapter.concreteRun(namespace, "import sys, copy") - initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.deepcopy(sys.path)")) + initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)")) + initialSysModules = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.modules)")) pythonAdapter.decref(namespace) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 2d2272f564..f5fb13493f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -12,11 +12,13 @@ import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.operations.myAssertOnState +import org.usvm.machine.utils.PyModelHolder +import org.usvm.utils.withAdditionalPaths class USVMPythonInterpreter( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, - program: PythonProgram, + private val program: PythonProgram, private val callable: PythonUnpinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, @@ -84,14 +86,16 @@ class USVMPythonInterpreter( } try { - val result = ConcretePythonInterpreter.concolicRun( - pinnedCallable.asPythonObject, - concrete, - virtualObjects, - symbols, - concolicRunContext, - printErrorMsg - ) + val result = withAdditionalPaths(program.additionalPaths) { // for the case of inner imports (but they would probably lead to path diversions) + ConcretePythonInterpreter.concolicRun( + pinnedCallable.asPythonObject, + concrete, + virtualObjects, + symbols, + concolicRunContext, + printErrorMsg + ) + } if (inputs != null) { val serializedResult = pythonObjectSerialization(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 1ad0bae64a..2c833515af 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -7,12 +7,12 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue import org.usvm.language.* -import org.usvm.language.types.TypeOfVirtualObject import org.usvm.language.types.pythonBool import org.usvm.language.types.pythonInt import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 7947fab40b..406a765e06 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -4,12 +4,13 @@ import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.UHeapRef -import org.usvm.machine.* import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.utils.DefaultValueProvider +import org.usvm.machine.utils.PyModelHolder class ConverterToPythonObject( private val ctx: UContext, @@ -93,6 +94,7 @@ class ConverterToPythonObject( ConcretePythonInterpreter.addObjectToNamespace(namespace, it, "y") ConcretePythonInterpreter.concreteRun(namespace, "x.append(y)") } + ConcretePythonInterpreter.decref(namespace) return resultList } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index 60c6828897..a7c0040f8a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -3,7 +3,7 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.PyModelHolder +import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.types.pythonList diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 2600910a2d..0a5b992224 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -6,7 +6,7 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.PyModelHolder +import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt similarity index 96% rename from usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index f505edbf4b..c38a591c0b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -1,4 +1,4 @@ -package org.usvm.machine +package org.usvm.machine.utils import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt similarity index 96% rename from usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt index fe35bd0534..068caeba27 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt @@ -1,4 +1,4 @@ -package org.usvm.machine +package org.usvm.machine.utils import io.ksmt.expr.KInterpretedValue import org.usvm.* @@ -7,6 +7,7 @@ import org.usvm.language.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.machine.PythonExecutionState import org.usvm.model.UModelBase @Suppress("unchecked_cast") diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt new file mode 100644 index 0000000000..90a649430a --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt @@ -0,0 +1,41 @@ +package org.usvm.utils + +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import java.io.File + +fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): T { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace( + namespace, + ConcretePythonInterpreter.initialSysPath, + "initial_sys_path" + ) + ConcretePythonInterpreter.addObjectToNamespace( + namespace, + ConcretePythonInterpreter.initialSysModules, + "initial_sys_modules" + ) + ConcretePythonInterpreter.concreteRun( + namespace, + """ + import sys, copy + sys.path += ${additionalPaths.joinToString(prefix = "[", separator = ", ", postfix = "]") { "\"${it.canonicalPath}\"" }} + import pickle + """.trimIndent() + ) + + val result = block() + + // returning paths back to initial state + ConcretePythonInterpreter.concreteRun( + namespace, + """ + sys.path = copy.copy(initial_sys_path) + sys.modules = copy.copy(initial_sys_modules) + sys.path_importer_cache = {} + """.trimIndent() + ) + ConcretePythonInterpreter.decref(namespace) + + return result +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 5b4b1678bf..d2bc95e4cc 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,32 +1,60 @@ import org.usvm.language.PrimitivePythonProgram import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList +import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.samples.SamplesBuild + +@Suppress("SameParameterValue") +private fun constructPrimitiveProgram( + asString: String, + signature: List, + functionName: String +): Pair { + val program = PrimitivePythonProgram.fromString(asString) + val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) + return program to function +} + +@Suppress("SameParameterValue") +private fun constructPrimitiveProgramFromStructured( + module: String, + signature: List, + functionName: String +): Pair { + val program = SamplesBuild.program.getPrimitiveProgram(module) + val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) + return program to function +} fun main() { println("Initial sys.path:") System.out.flush() ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) - val program = PrimitivePythonProgram( - """ - def f(x: list, y: list): - x[0][0] += 1 - assert x < y - """.trimIndent() + val (program, function) = constructPrimitiveProgramFromStructured( + "sample_submodule.SimpleUsageOfModules", + listOf(pythonInt), + "inner_import" ) - val function = PythonUnpinnedCallable.constructCallableFromName(listOf(pythonList, pythonList), "f") + println("sys.path before analysis:") + System.out.flush() + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import sys") + ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.eval(namespace, "sys.path")) + ConcretePythonInterpreter.decref(namespace) + + println("Initial sys.path:") + System.out.flush() + ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) + val typeSystem = PythonTypeSystem() - val machine = PythonMachine(program, typeSystem, printErrorMsg = true, allowPathDiversion = true) { + val machine = PythonMachine(program, typeSystem, printErrorMsg = true) { ConcretePythonInterpreter.getPythonObjectRepr(it) } val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 15) + val returnValue = activeMachine.analyze(function, results, maxIterations = 15, allowPathDiversion = true) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 3cf7431e42..cb6530a3fd 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -6,7 +6,7 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException import org.usvm.language.types.pythonInt import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class AllowPathDiversionTest : PythonTestRunner("/samples/TrickyExample.py", allowPathDiversions = true) { +class AllowPathDiversionTest : PythonTestRunner("TrickyExample", allowPathDiversions = true) { private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) @Test fun testAllowPathDiversion() { @@ -23,7 +23,7 @@ class AllowPathDiversionTest : PythonTestRunner("/samples/TrickyExample.py", all } } -class ForbidPathDiversionTest : PythonTestRunner("/samples/TrickyExample.py", allowPathDiversions = false) { +class ForbidPathDiversionTest : PythonTestRunner("TrickyExample", allowPathDiversions = false) { private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) @Test fun testForbidPathDiversion() { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt index e28365ada7..ae2ca69f23 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt @@ -11,21 +11,17 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher +import org.usvm.utils.withAdditionalPaths import java.io.File open class PythonTestRunner( - sourcePath: String, - allowPathDiversions: Boolean = false + private val module: String, + override var options: UMachineOptions = UMachineOptions(), + var allowPathDiversions: Boolean = false ): TestRunner() { - override var options: UMachineOptions = UMachineOptions() - // private val buildRoot = System.getProperty("samples.build.path") - private val testSources = File(PythonTestRunner::class.java.getResource(sourcePath)!!.file).readText() private val typeSystem = PythonTypeSystem() - private val machine = PythonMachine( - PrimitivePythonProgram(testSources), - typeSystem, - allowPathDiversion = allowPathDiversions - ) { pythonObject -> + private val program = SamplesBuild.program.getPrimitiveProgram(module) + private val machine = PythonMachine(program, typeSystem) { pythonObject -> val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) PythonObjectInfo( ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), @@ -40,7 +36,12 @@ open class PythonTestRunner( override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List get() = { callable, options -> val results: MutableList = mutableListOf() - machine.analyze(callable, results, options.stepLimit?.toInt() ?: 300) + machine.analyze( + callable, + results, + options.stepLimit?.toInt() ?: 300, + allowPathDiversion = allowPathDiversions + ) results } override val coverageRunner: (List) -> PythonCoverage @@ -51,14 +52,16 @@ open class PythonTestRunner( test: PythonTest, check: (PythonObject) -> String? ): String? { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, testSources) - val functionRef = target.reference(namespace) + val cleanProgram = SamplesBuild.program.getPrimitiveProgram(module) + val pinnedCallable = cleanProgram.pinCallable(target) val converter = test.inputValueConverter converter.restart() val args = test.inputValues.map { converter.convert(it.asUExpr) } return try { - val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(functionRef, args) + val concreteResult = + withAdditionalPaths(cleanProgram.additionalPaths) { + ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPythonObject, args) + } check(concreteResult) } catch (exception: CPythonExecutionException) { require(exception.pythonExceptionType != null) @@ -138,6 +141,15 @@ open class PythonTestRunner( } } + protected val compareConcolicAndConcreteTypesIfSuccess: + (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? Success)?.let { + val concolic = it.output.typeName + val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) + if (concolic == concrete) null else "(Success) Expected result type $concrete, got $concolic" + } + } + protected val compareConcolicAndConcreteTypesIfFail: (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Fail)?.let { @@ -157,6 +169,12 @@ open class PythonTestRunner( compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } + protected val compareConcolicAndConcreteTypes: + (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: + compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) + } + protected fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = PythonUnpinnedCallable.constructCallableFromName(signature, name) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt new file mode 100644 index 0000000000..ec6cfe7b9f --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt @@ -0,0 +1,26 @@ +package org.usvm.samples + +import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.StructuredPythonProgram +import org.usvm.language.types.pythonInt +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import java.io.File + +object SamplesBuild { + private val mypyBuildRoot = System.getProperty("samples.build.path")!! + private val sourcesRoot = System.getProperty("samples.sources.path")!! + private val mypyDirectory = MypyBuildDirectory(File(mypyBuildRoot), setOf(sourcesRoot)) + val mypyBuild = readMypyInfoBuild(mypyDirectory) + val program = StructuredPythonProgram(setOf(File(sourcesRoot))) + + init { + val callable = PythonUnpinnedCallable.constructCallableFromName( + listOf(pythonInt), + "many_branches", + "SimpleExample" + ) + println("PINNED CALLABLE:") + kotlin.runCatching { println(program.pinCallable(callable)) }.onFailure { println(it) } + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 3b80f9a7c9..afc1d8a8b4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,12 +1,13 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonBool import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { +class SimpleExampleTest : PythonTestRunner("SimpleExample") { @Test fun testManyBranches() { @@ -128,4 +129,18 @@ class SimpleExampleTest : PythonTestRunner("/samples/SimpleExample.py") { ) ) } + + @Test + fun testSimpleLambda() { + check1WithConcreteRun( + PythonUnpinnedCallable.constructLambdaFunction(listOf(pythonInt), "lambda x: 1 if x == 157 else 0"), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { x, res -> res.repr == "1" && x.repr == "157" }, + { _, res -> res.repr == "0" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index d9a049f2e5..9db3f0fcb6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -8,11 +8,7 @@ import org.usvm.language.types.pythonList import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleListsTest : PythonTestRunner("/samples/SimpleLists.py") { - init { - options = UMachineOptions(stepLimit = 20U) - } - +class SimpleListsTest : PythonTestRunner("SimpleLists", UMachineOptions(stepLimit = 20U)) { @Test fun testSimpleListSample() { check2WithConcreteRun( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 2c8824dadf..fa08ba4109 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -6,10 +6,7 @@ import org.usvm.language.types.PythonAnyType import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleTypeInferenceTest: PythonTestRunner("/samples/SimpleTypeInference.py") { - init { - options = UMachineOptions(stepLimit = 30U) - } +class SimpleTypeInferenceTest: PythonTestRunner("SimpleTypeInference", UMachineOptions(stepLimit = 30U)) { @Test fun testBoolInput() { check1WithConcreteRun( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt new file mode 100644 index 0000000000..9e461ce76d --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt @@ -0,0 +1,37 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.types.pythonInt +import org.usvm.test.util.checkers.eq + +class SimpleUsageOfModulesTest: PythonTestRunner("sample_submodule.SimpleUsageOfModules") { + @Test + fun testConstructClassInstance() { + check1WithConcreteRun( + constructFunction("construct_class_instance", List(1) { pythonInt }), + eq(2), + compareConcolicAndConcreteTypes, + /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "SimpleClass" }, + /* propertiesToDiscover = */ listOf( + { x, _ -> x.repr.toInt() >= 0 }, + { x, _ -> x.repr.toInt() < 0 } + ) + ) + } + + @Test + fun testInnerImport() { + allowPathDiversions = true + check1WithConcreteRun( + constructFunction("inner_import", List(1) { pythonInt }), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { x, _ -> x.repr.toInt() >= 0 }, + { x, _ -> x.repr.toInt() < 0 } + ) + ) + allowPathDiversions = false + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py b/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py new file mode 100644 index 0000000000..21bd8ec5f8 --- /dev/null +++ b/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py @@ -0,0 +1,12 @@ +import sample_submodule.structures as structures + + +def construct_class_instance(x: int): + if x < 0: + x = -x + return structures.SimpleClass(x) + + +def inner_import(x: int): + import sample_submodule.sample_functions as module + return module.my_abs(x) \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/sample_submodule/sample_functions.py b/usvm-python/src/test/resources/samples/sample_submodule/sample_functions.py new file mode 100644 index 0000000000..11b753e01c --- /dev/null +++ b/usvm-python/src/test/resources/samples/sample_submodule/sample_functions.py @@ -0,0 +1,5 @@ +def my_abs(x): + if x >= 0: + return x + else: + return -x \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/sample_submodule/structures.py b/usvm-python/src/test/resources/samples/sample_submodule/structures.py new file mode 100644 index 0000000000..6a0909bb46 --- /dev/null +++ b/usvm-python/src/test/resources/samples/sample_submodule/structures.py @@ -0,0 +1,3 @@ +class SimpleClass: + def __init__(self, x): + self.x = x From 8fcaae1f283c0e68970383cce654a476f01825f0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 9 Aug 2023 19:52:56 +0300 Subject: [PATCH 057/344] Fix after rebase --- usvm-python/src/main/kotlin/org/usvm/language/Program.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index f48223d278..2fc7792794 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -33,7 +33,6 @@ class StructuredPythonProgram(private val roots: Set): PythonProgram(roots withAdditionalPaths(roots) { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, "import sys") - ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.eval(namespace, "sys.path")) module.split(".").fold("") { acc, name -> val curModule = acc + name ConcretePythonInterpreter.concreteRun(namespace, "import $curModule") From 5c1a215601e65dfd014f1000bb6b688e86099b79 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 10 Aug 2023 17:51:34 +0300 Subject: [PATCH 058/344] PythonTypeSystemWithMypyInfo --- usvm-python/build.gradle.kts | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 24 +++++- .../c/org_usvm_interpreter_CPythonAdapter.c | 32 ++++++- .../org/usvm/interpreter/CPythonAdapter.java | 6 +- .../main/kotlin/org/usvm/language/Program.kt | 56 ++++++++----- .../org/usvm/language/types/TypeSystem.kt | 68 ++++++++++++--- .../kotlin/org/usvm/machine/PythonMachine.kt | 10 ++- .../interpreters/ConcretePythonInterpreter.kt | 20 +++-- .../interpreters/USVMPythonInterpreter.kt | 27 +++--- .../machine/interpreters/operations/Common.kt | 4 +- .../ConverterToPythonObject.kt | 15 +++- usvm-python/src/test/kotlin/BuildSamples.kt | 15 ---- usvm-python/src/test/kotlin/manualTest.kt | 74 +++++++++++------ .../kotlin/org/usvm/runner/BuildSamples.kt | 30 +++++++ .../{samples => runner}/PythonTestRunner.kt | 83 +++++++++++-------- .../usvm/{samples => runner}/SamplesBuild.kt | 14 +--- .../org/usvm/samples/PathDiversionTest.kt | 5 +- .../org/usvm/samples/SimpleExampleTest.kt | 3 +- .../org/usvm/samples/SimpleListsTest.kt | 3 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 3 +- .../usvm/samples/SimpleUsageOfModulesTest.kt | 20 ++++- .../sample_submodule/SimpleUsageOfModules.py | 11 ++- 22 files changed, 351 insertions(+), 174 deletions(-) delete mode 100644 usvm-python/src/test/kotlin/BuildSamples.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt rename usvm-python/src/test/kotlin/org/usvm/{samples => runner}/PythonTestRunner.kt (75%) rename usvm-python/src/test/kotlin/org/usvm/{samples => runner}/SamplesBuild.kt (56%) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 699015a5cf..6b03ef378d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -38,7 +38,7 @@ val buildSamples = tasks.register("buildSamples") { args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("PYTHONHOME" to cpythonBuildPath) - mainClass.set("BuildSamplesKt") + mainClass.set("org.usvm.runner.BuildSamplesKt") } val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index c0feee8ec1..1dec3cfd46 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -42,18 +42,18 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_addName /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRun - * Signature: (JLjava/lang/String;)I + * Signature: (JLjava/lang/String;Z)I */ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun - (JNIEnv *, jobject, jlong, jstring); + (JNIEnv *, jobject, jlong, jstring, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter * Method: eval - * Signature: (JLjava/lang/String;)J + * Signature: (JLjava/lang/String;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval - (JNIEnv *, jobject, jlong, jstring); + (JNIEnv *, jobject, jlong, jstring, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter @@ -231,6 +231,22 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasStandardNew + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardNew + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: callStandardNew + * Signature: (J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: extractException diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 4c5f130907..a8bd1d5c23 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -55,7 +55,8 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( JNIEnv *env, jobject cpython_adapter, jlong globals, - jstring code + jstring code, + jboolean print_error_message ) { const char *c_code = (*env)->GetStringUTFChars(env, code, 0); @@ -63,7 +64,10 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( PyObject *v = PyRun_StringFlags(c_code, Py_file_input, dict, dict, 0); (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { - PyErr_Print(); + if (print_error_message) + PyErr_Print(); + else + PyErr_Clear(); return 1; } @@ -74,7 +78,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( JNIEnv *env, jobject cpython_adapter, jlong globals, - jstring code + jstring code, + jboolean print_error_message ) { const char *c_code = (*env)->GetStringUTFChars(env, code, 0); @@ -82,10 +87,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( PyObject *v = PyRun_StringFlags(c_code, Py_eval_input, dict, dict, 0); (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { - PyErr_Print(); + if (print_error_message) + PyErr_Print(); + else + PyErr_Clear(); return 0; } + Py_INCREF(v); return (jlong) v; } @@ -282,6 +291,21 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JN return type->tp_iter != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardNew(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_new == PyBaseObject_Type.tp_new; +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew(JNIEnv *env, jobject _, jlong type_ref) { + assert(Py_TYPE(type_ref) == &PyType_Type); + PyTypeObject *type = (PyTypeObject *) type_ref; + assert(type->tp_new == PyBaseObject_Type.tp_new); + PyObject *arg_tuple = PyTuple_Pack(0); + PyObject *result = PyBaseObject_Type.tp_new(type, arg_tuple, 0); + Py_DECREF(arg_tuple); + return (jlong) result; +} + JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException(JNIEnv *env, jobject _, jlong exception) { PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); assert(is_wrapped_java_object(wrapped)); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 170858630a..4435e96648 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -25,8 +25,8 @@ public class CPythonAdapter { public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict public native void addName(long dict, long object, String name); - public native int concreteRun(long globals, String code); // returns 0 on success - public native long eval(long globals, String obj); // returns PyObject * + public native int concreteRun(long globals, String code, boolean print_error_message); // returns 0 on success + public native long eval(long globals, String obj, boolean print_error_message); // returns PyObject * public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs); public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); @@ -49,6 +49,8 @@ public class CPythonAdapter { public native int typeHasMpAssSubscript(long type); public native int typeHasTpRichcmp(long type); public native int typeHasTpIter(long type); + public native int typeHasStandardNew(long type); + public native long callStandardNew(long type); public native Throwable extractException(long exception); public native void decref(long object); diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 2fc7792794..3a8351f967 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -7,16 +7,23 @@ import org.usvm.utils.withAdditionalPaths import java.io.File sealed class PythonProgram(val additionalPaths: Set) { - abstract fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable + abstract fun withPinnedCallable( + callable: PythonUnpinnedCallable, + block: (PythonPinnedCallable) -> T + ): T } class PrimitivePythonProgram internal constructor( private val namespace: PythonNamespace, additionalPaths: Set ): PythonProgram(additionalPaths) { - override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable { + override fun withPinnedCallable( + callable: PythonUnpinnedCallable, + block: (PythonPinnedCallable) -> T + ): T { require(callable.module == null) - return PythonPinnedCallable(callable.reference(namespace)) + val pinned = PythonPinnedCallable(callable.reference(namespace)) + return block(pinned) } companion object { @@ -29,30 +36,35 @@ class PrimitivePythonProgram internal constructor( } class StructuredPythonProgram(private val roots: Set): PythonProgram(roots) { - private fun getNamespaceOfModule(module: String): PythonNamespace = - withAdditionalPaths(roots) { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, "import sys") - module.split(".").fold("") { acc, name -> - val curModule = acc + name - ConcretePythonInterpreter.concreteRun(namespace, "import $curModule") - "$acc$name." - } - val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") - require(ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) == "dict") - PythonNamespace(resultAsObj.address) + override fun withPinnedCallable( + callable: PythonUnpinnedCallable, + block: (PythonPinnedCallable) -> T + ): T = withAdditionalPaths(roots) { + if (callable.module == null) { + val pinned = PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas + block(pinned) + } else { + val namespace = getNamespaceOfModule(callable.module) + val pinned = PythonPinnedCallable(callable.reference(namespace)) + block(pinned) } + } - override fun pinCallable(callable: PythonUnpinnedCallable): PythonPinnedCallable { - if (callable.module == null) { - return PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas + fun getNamespaceOfModule(module: String): PythonNamespace { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import sys") + module.split(".").fold("") { acc, name -> + val curModule = acc + name + ConcretePythonInterpreter.concreteRun(namespace, "import $curModule") + "$acc$name." } - val requiredNamespace = getNamespaceOfModule(callable.module) - return PythonPinnedCallable(callable.reference(requiredNamespace)) + val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") + require(ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) == "dict") + return PythonNamespace(resultAsObj.address) } - fun getPrimitiveProgram(module: String): PrimitivePythonProgram { + fun getPrimitiveProgram(module: String): PrimitivePythonProgram = withAdditionalPaths(roots) { val namespace = getNamespaceOfModule(module) - return PrimitivePythonProgram(namespace, roots) + PrimitivePythonProgram(namespace, roots) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index c941c260b4..ad81ae71ce 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,11 +1,22 @@ package org.usvm.language.types +import org.usvm.language.StructuredPythonProgram +import org.usvm.machine.interpreters.CPythonExecutionException +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem +import org.utbot.python.newtyping.PythonTypeHintsBuild +import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.pythonModuleName +import org.utbot.python.newtyping.pythonName + +abstract class PythonTypeSystem: UTypeSystem { + protected var allConcreteTypes: List = emptyList() + + open fun restart() {} -open class PythonTypeSystem: UTypeSystem { override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { if (supertype is VirtualPythonType) return supertype.accepts(type) @@ -24,27 +35,58 @@ open class PythonTypeSystem: UTypeSystem { return type is ConcretePythonType || type is TypeOfVirtualObject } - private val addressToConcreteType = mapOf( - pythonInt.asObject to pythonInt, - pythonBool.asObject to pythonBool, - pythonObjectType.asObject to pythonObjectType, - pythonNoneType.asObject to pythonNoneType, - pythonList.asObject to pythonList - ) - - private val basicConcretePythonTypes = addressToConcreteType.values + // TODO: will not work for several analyzes + val addressToConcreteType: Map by lazy { + allConcreteTypes.associateBy { it.asObject } + } override fun findSubtypes(type: PythonType): Sequence { if (isFinal(type)) return emptySequence() - return (listOf(TypeOfVirtualObject) + basicConcretePythonTypes.filter { isSupertype(type, it) }).asSequence() + return (listOf(TypeOfVirtualObject) + allConcreteTypes.filter { isSupertype(type, it) }).asSequence() } override fun topTypeStream(): UTypeStream { return USupportTypeStream.from(this, PythonAnyType) } - fun getConcreteTypeByAddress(typeAsObject: PythonObject): ConcretePythonType? = - addressToConcreteType[typeAsObject] + protected val basicTypes = listOf( + pythonInt, + pythonBool, + pythonObjectType, + pythonNoneType, + pythonList + ) +} + +class BasicPythonTypeSystem: PythonTypeSystem() { + init { + allConcreteTypes = basicTypes + } +} + +class PythonTypeSystemWithMypyInfo( + mypyBuild: MypyInfoBuild, + private val program: StructuredPythonProgram +): PythonTypeSystem() { + private val typeHintsStorage = PythonTypeHintsBuild.get(mypyBuild) + private fun isWorkingType(type: ConcretePythonType): Boolean { + return ConcretePythonInterpreter.getPythonObjectTypeName(type.asObject) == "type" && + (ConcretePythonInterpreter.typeHasStandardNew(type.asObject) || basicTypes.contains(type)) + } + + override fun restart() { + allConcreteTypes = typeHintsStorage.simpleTypes.mapNotNull { utType -> + val ref = try { + val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) + ConcretePythonInterpreter.eval(namespace, utType.pythonName()) + } catch (_: CPythonExecutionException) { + return@mapNotNull null + } + val result = ConcretePythonType(ConcretePythonInterpreter.getNameOfPythonType(ref), ref) + if (isWorkingType(result)) result else null + } + println("Restarted!") + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 0834ace971..d6dde535b2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -27,14 +27,15 @@ class PythonMachine( private fun getInterpreter( target: PythonUnpinnedCallable, + pinnedTarget: PythonPinnedCallable, results: MutableList>, allowPathDiversion: Boolean ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, typeSystem, - program, target, + pinnedTarget, iterationCounter, printErrorMsg, allowPathDiversion, @@ -81,9 +82,10 @@ class PythonMachine( results: MutableList>, maxIterations: Int = 300, allowPathDiversion: Boolean = true - ): Int { + ): Int = program.withPinnedCallable(pythonCallable) { pinnedCallable -> + typeSystem.restart() val observer = PythonMachineObserver() - val interpreter = getInterpreter(pythonCallable, results, allowPathDiversion) + val interpreter = getInterpreter(pythonCallable, pinnedCallable, results, allowPathDiversion) val pathSelector = getPathSelector(pythonCallable) run( interpreter, @@ -92,7 +94,7 @@ class PythonMachine( isStateTerminated = { it.meta.modelDied }, stopStrategy = { observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations } ) - return iterationCounter.iterations + iterationCounter.iterations } override fun close() { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 0d99c5add4..07cf8cae55 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -19,14 +19,14 @@ object ConcretePythonInterpreter { pythonAdapter.addName(namespace.address, pythonObject.address, name) } - fun concreteRun(globals: PythonNamespace, code: String) { - val result = pythonAdapter.concreteRun(globals.address, code) + fun concreteRun(globals: PythonNamespace, code: String, printErrorMsg: Boolean = false) { + val result = pythonAdapter.concreteRun(globals.address, code, printErrorMsg) if (result != 0) throw CPythonExecutionException() } - fun eval(globals: PythonNamespace, expr: String): PythonObject { - val result = pythonAdapter.eval(globals.address, expr) + fun eval(globals: PythonNamespace, expr: String, printErrorMsg: Boolean = false): PythonObject { + val result = pythonAdapter.eval(globals.address, expr, printErrorMsg) if (result == 0L) throw CPythonExecutionException() return PythonObject(result) @@ -147,6 +147,11 @@ object ConcretePythonInterpreter { val typeHasMpAssSubscript = createTypeQuery { pythonAdapter.typeHasMpAssSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } + val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } + + fun callStandardNew(type: PythonObject): PythonObject { + return PythonObject(pythonAdapter.callStandardNew(type.address)) + } fun kill() { pythonAdapter.finalizePython() @@ -158,9 +163,10 @@ object ConcretePythonInterpreter { init { pythonAdapter.initializePython() val namespace = pythonAdapter.newNamespace - pythonAdapter.concreteRun(namespace, "import sys, copy") - initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)")) - initialSysModules = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.modules)")) + val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") + pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), false) + initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", false)) + initialSysModules = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.modules)", false)) pythonAdapter.decref(namespace) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index f5fb13493f..05f40dca08 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonPinnedCallable import org.usvm.language.PythonProgram import org.usvm.machine.interpreters.operations.BadModelException import org.usvm.machine.interpreters.operations.UnregisteredVirtualOperation @@ -18,16 +19,14 @@ import org.usvm.utils.withAdditionalPaths class USVMPythonInterpreter( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, - private val program: PythonProgram, - private val callable: PythonUnpinnedCallable, + private val unpinnedCallable: PythonUnpinnedCallable, + private val pinnedCallable: PythonPinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, private val allowPathDiversion: Boolean = true, private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { - private val pinnedCallable = program.pinCallable(callable) - private fun getSeeds( concolicRunContext: ConcolicRunContext, symbols: List @@ -48,7 +47,7 @@ class USVMPythonInterpreter( ): List>? = if (converter.numberOfVirtualObjectUsages() == 0) { val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) - (seeds zip callable.signature zip serializedInputs).map { (p, z) -> + (seeds zip unpinnedCallable.signature zip serializedInputs).map { (p, z) -> val (x, y) = p InputObject(x, y, z) } @@ -86,16 +85,14 @@ class USVMPythonInterpreter( } try { - val result = withAdditionalPaths(program.additionalPaths) { // for the case of inner imports (but they would probably lead to path diversions) - ConcretePythonInterpreter.concolicRun( - pinnedCallable.asPythonObject, - concrete, - virtualObjects, - symbols, - concolicRunContext, - printErrorMsg - ) - } + val result = ConcretePythonInterpreter.concolicRun( + pinnedCallable.asPythonObject, + concrete, + virtualObjects, + symbols, + concolicRunContext, + printErrorMsg + ) if (inputs != null) { val serializedResult = pythonObjectSerialization(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 700990360b..75750469b3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -11,7 +11,7 @@ import org.usvm.language.types.pythonObjectType fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null - val type = ctx.typeSystem.getConcreteTypeByAddress(typeRef) ?: return null + val type = ctx.typeSystem.addressToConcreteType[typeRef] ?: return null if (type == pythonObjectType) return constructBool(ctx, ctx.ctx.trueExpr) @@ -27,7 +27,7 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho fun addConcreteSupertypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject) { ctx.curState ?: return - val type = ctx.typeSystem.getConcreteTypeByAddress(typeRef) ?: return + val type = ctx.typeSystem.addressToConcreteType[typeRef] ?: return obj.addSupertype(ctx, type) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 406a765e06..593cb71621 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -42,20 +42,27 @@ class ConverterToPythonObject( val cached = constructedObjects[obj.address] if (cached != null) return cached - val result = when (obj.getFirstType()) { - null -> error("Type stream for interpreted object is empty") + val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { TypeOfVirtualObject -> constructVirtualObject(obj) pythonInt -> convertInt(obj) pythonBool -> convertBool(obj) - pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") pythonList -> convertList(obj) - else -> TODO() + else -> { + if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) + constructFromDefaultConstructor(type) + else + error("Could not construct instance of type $type") + } } constructedObjects[obj.address] = result return result } + private fun constructFromDefaultConstructor(type: ConcretePythonType): PythonObject { + return ConcretePythonInterpreter.callStandardNew(type.asObject) + } + private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { val default = forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } if (default != null) diff --git a/usvm-python/src/test/kotlin/BuildSamples.kt b/usvm-python/src/test/kotlin/BuildSamples.kt deleted file mode 100644 index 2922848fc6..0000000000 --- a/usvm-python/src/test/kotlin/BuildSamples.kt +++ /dev/null @@ -1,15 +0,0 @@ -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorageAndInitialErrors -import java.io.File - -fun main(args: Array) { - val inputPath = args[0] - val requiredPath = args[1] - val pythonPath = args[2] - val root = File(requiredPath) - root.mkdirs() - val mypyBuildDir = MypyBuildDirectory(root, setOf(inputPath)) - val files = File(inputPath).listFiles()!!.map { it!! } - val modules = files.map { it.name.removeSuffix(".py") } - readMypyAnnotationStorageAndInitialErrors(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir, isolated = true) -} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index d2bc95e4cc..96e92b8bc7 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,40 +1,19 @@ import org.usvm.language.PrimitivePythonProgram +import org.usvm.language.PythonProgram import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.samples.SamplesBuild - -@Suppress("SameParameterValue") -private fun constructPrimitiveProgram( - asString: String, - signature: List, - functionName: String -): Pair { - val program = PrimitivePythonProgram.fromString(asString) - val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) - return program to function -} - -@Suppress("SameParameterValue") -private fun constructPrimitiveProgramFromStructured( - module: String, - signature: List, - functionName: String -): Pair { - val program = SamplesBuild.program.getPrimitiveProgram(module) - val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) - return program to function -} +import org.usvm.runner.SamplesBuild fun main() { println("Initial sys.path:") System.out.flush() ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) - val (program, function) = constructPrimitiveProgramFromStructured( + val (program, function, typeSystem) = constructStructuredProgram( "sample_submodule.SimpleUsageOfModules", - listOf(pythonInt), - "inner_import" + listOf(PythonAnyType), + "simple_class_isinstance" ) println("sys.path before analysis:") System.out.flush() @@ -47,7 +26,6 @@ fun main() { System.out.flush() ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) - val typeSystem = PythonTypeSystem() val machine = PythonMachine(program, typeSystem, printErrorMsg = true) { ConcretePythonInterpreter.getPythonObjectRepr(it) } @@ -69,3 +47,45 @@ fun main() { } println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") } + +private data class RunConfig( + val program: PythonProgram, + val target: PythonUnpinnedCallable, + val typeSystem: PythonTypeSystem +) + +@Suppress("SameParameterValue") +private fun constructPrimitiveProgram( + asString: String, + signature: List, + functionName: String +): RunConfig { + val program = PrimitivePythonProgram.fromString(asString) + val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) + val typeSystem = BasicPythonTypeSystem() + return RunConfig(program, function, typeSystem) +} + +@Suppress("SameParameterValue") +private fun constructPrimitiveProgramFromStructured( + module: String, + signature: List, + functionName: String +): RunConfig { + val program = SamplesBuild.program.getPrimitiveProgram(module) + val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) + val typeSystem = BasicPythonTypeSystem() + return RunConfig(program, function, typeSystem) +} + +@Suppress("SameParameterValue") +private fun constructStructuredProgram( + module: String, + signature: List, + functionName: String +): RunConfig { + val program = SamplesBuild.program + val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName, module) + val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) + return RunConfig(program, function, typeSystem) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt new file mode 100644 index 0000000000..40794cc895 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -0,0 +1,30 @@ +package org.usvm.runner + +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.readMypyAnnotationStorageAndInitialErrors +import java.io.File +import java.nio.file.Files +import java.nio.file.Paths +import kotlin.streams.asSequence + +fun main(args: Array) { + val inputPath = args[0] + val requiredPath = args[1] + val pythonPath = args[2] + val root = File(requiredPath) + root.mkdirs() + val mypyBuildDir = MypyBuildDirectory(root, setOf(inputPath)) + val files = Files.find( + Paths.get(inputPath), + Integer.MAX_VALUE, + { _, fileAttr -> fileAttr.isRegularFile } + ).map { it.toFile() }.filter { it.name.endsWith(".py") }.asSequence().toList() + val inputRoot = File(inputPath) + val modules = files.map { + inputRoot.toURI().relativize(it.toURI()).path + .removeSuffix(".py") + .replace("/", ".") + .replace("\\", ",") + } + readMypyAnnotationStorageAndInitialErrors(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir, isolated = true) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt similarity index 75% rename from usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt rename to usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index ae2ca69f23..2cdc800d44 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -1,33 +1,31 @@ -package org.usvm.samples +package org.usvm.runner import org.usvm.UMachineOptions import org.usvm.machine.* import org.usvm.language.* -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.pythonInt +import org.usvm.language.types.* import org.usvm.machine.interpreters.CPythonExecutionException import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher -import org.usvm.utils.withAdditionalPaths -import java.io.File -open class PythonTestRunner( - private val module: String, +sealed class PythonTestRunner( + protected val module: String, override var options: UMachineOptions = UMachineOptions(), - var allowPathDiversions: Boolean = false + protected var allowPathDiversions: Boolean = false ): TestRunner() { - private val typeSystem = PythonTypeSystem() - private val program = SamplesBuild.program.getPrimitiveProgram(module) - private val machine = PythonMachine(program, typeSystem) { pythonObject -> - val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) - PythonObjectInfo( - ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), - typeName, - if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(pythonObject) else null - ) + protected abstract val typeSystem: PythonTypeSystem + protected abstract val program: PythonProgram + private val machine by lazy { + PythonMachine(program, typeSystem) { pythonObject -> + val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) + PythonObjectInfo( + ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), + typeName, + if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(pythonObject) else null + ) + } } override val typeTransformer: (Any?) -> PythonType get() = { _ -> pythonInt } @@ -51,23 +49,20 @@ open class PythonTestRunner( target: PythonUnpinnedCallable, test: PythonTest, check: (PythonObject) -> String? - ): String? { - val cleanProgram = SamplesBuild.program.getPrimitiveProgram(module) - val pinnedCallable = cleanProgram.pinCallable(target) - val converter = test.inputValueConverter - converter.restart() - val args = test.inputValues.map { converter.convert(it.asUExpr) } - return try { - val concreteResult = - withAdditionalPaths(cleanProgram.additionalPaths) { + ): String? = + program.withPinnedCallable(target) { pinnedCallable -> + val converter = test.inputValueConverter + converter.restart() + val args = test.inputValues.map { converter.convert(it.asUExpr) } + try { + val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPythonObject, args) - } - check(concreteResult) - } catch (exception: CPythonExecutionException) { - require(exception.pythonExceptionType != null) - check(exception.pythonExceptionType!!) + check(concreteResult) + } catch (exception: CPythonExecutionException) { + require(exception.pythonExceptionType != null) + check(exception.pythonExceptionType!!) + } } - } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> String?, List, List) -> Unit = @@ -175,10 +170,30 @@ open class PythonTestRunner( compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } - protected fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = + protected open fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = PythonUnpinnedCallable.constructCallableFromName(signature, name) } +open class PythonTestRunnerForPrimitiveProgram( + module: String, + options: UMachineOptions = UMachineOptions(), + allowPathDiversions: Boolean = false +): PythonTestRunner(module, options, allowPathDiversions) { + override val program = SamplesBuild.program.getPrimitiveProgram(module) + override val typeSystem = BasicPythonTypeSystem() +} + +open class PythonTestRunnerForStructuredProgram( + module: String, + options: UMachineOptions = UMachineOptions(), + allowPathDiversions: Boolean = false +): PythonTestRunner(module, options, allowPathDiversions) { + override val program = SamplesBuild.program + override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) + override fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = + PythonUnpinnedCallable.constructCallableFromName(signature, name, module) +} + class PythonObjectInfo( val repr: String, val typeName: String, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt similarity index 56% rename from usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt rename to usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt index ec6cfe7b9f..54969f37d8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SamplesBuild.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt @@ -1,8 +1,6 @@ -package org.usvm.samples +package org.usvm.runner -import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram -import org.usvm.language.types.pythonInt import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.readMypyInfoBuild import java.io.File @@ -13,14 +11,4 @@ object SamplesBuild { private val mypyDirectory = MypyBuildDirectory(File(mypyBuildRoot), setOf(sourcesRoot)) val mypyBuild = readMypyInfoBuild(mypyDirectory) val program = StructuredPythonProgram(setOf(File(sourcesRoot))) - - init { - val callable = PythonUnpinnedCallable.constructCallableFromName( - listOf(pythonInt), - "many_branches", - "SimpleExample" - ) - println("PINNED CALLABLE:") - kotlin.runCatching { println(program.pinCallable(callable)) }.onFailure { println(it) } - } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index cb6530a3fd..8c6b6d634e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -4,9 +4,10 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows import org.usvm.machine.interpreters.operations.tracing.PathDiversionException import org.usvm.language.types.pythonInt +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class AllowPathDiversionTest : PythonTestRunner("TrickyExample", allowPathDiversions = true) { +class AllowPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = true) { private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) @Test fun testAllowPathDiversion() { @@ -23,7 +24,7 @@ class AllowPathDiversionTest : PythonTestRunner("TrickyExample", allowPathDivers } } -class ForbidPathDiversionTest : PythonTestRunner("TrickyExample", allowPathDiversions = false) { +class ForbidPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = false) { private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) @Test fun testForbidPathDiversion() { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index afc1d8a8b4..37fca06002 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -4,10 +4,11 @@ import org.junit.jupiter.api.Test import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonBool +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleExampleTest : PythonTestRunner("SimpleExample") { +class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testManyBranches() { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 9db3f0fcb6..757567bdfc 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -5,10 +5,11 @@ import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.pythonInt import org.usvm.language.types.pythonList +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleListsTest : PythonTestRunner("SimpleLists", UMachineOptions(stepLimit = 20U)) { +class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMachineOptions(stepLimit = 20U)) { @Test fun testSimpleListSample() { check2WithConcreteRun( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index fa08ba4109..339f6549cc 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -3,10 +3,11 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleTypeInferenceTest: PythonTestRunner("SimpleTypeInference", UMachineOptions(stepLimit = 30U)) { +class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeInference", UMachineOptions(stepLimit = 30U)) { @Test fun testBoolInput() { check1WithConcreteRun( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt index 9e461ce76d..9fedf7e5be 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt @@ -1,10 +1,12 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.language.types.PythonAnyType import org.usvm.language.types.pythonInt +import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq -class SimpleUsageOfModulesTest: PythonTestRunner("sample_submodule.SimpleUsageOfModules") { +class SimpleUsageOfModulesTest: PythonTestRunnerForStructuredProgram("sample_submodule.SimpleUsageOfModules") { @Test fun testConstructClassInstance() { check1WithConcreteRun( @@ -34,4 +36,20 @@ class SimpleUsageOfModulesTest: PythonTestRunner("sample_submodule.SimpleUsageOf ) allowPathDiversions = false } + + // TODO: fix concrete run + @Test + fun testSimpleClassIsinstance() { + check1( + constructFunction("simple_class_isinstance", List(1) { PythonAnyType }), + eq(4), + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "int" && res.repr == "2" }, + { x, res -> x.typeName == "int" && res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "SimpleClass" && res.repr == "1" }, + { _, res -> res.repr == "3" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py b/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py index 21bd8ec5f8..e9c5634ef4 100644 --- a/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py +++ b/usvm-python/src/test/resources/samples/sample_submodule/SimpleUsageOfModules.py @@ -9,4 +9,13 @@ def construct_class_instance(x: int): def inner_import(x: int): import sample_submodule.sample_functions as module - return module.my_abs(x) \ No newline at end of file + return module.my_abs(x) + + +def simple_class_isinstance(x): + if isinstance(x, structures.SimpleClass): + return 1 + elif isinstance(x, int): + assert x > 100 + return 2 + return 3 From c2030821a36016109365e70c70b3d3f5e4cf6246 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 10 Aug 2023 18:31:00 +0300 Subject: [PATCH 059/344] Fixed concrete run in testSimpleClassIsinstance --- .../org/usvm/language/types/TypeSystem.kt | 7 ++-- .../kotlin/org/usvm/language/types/Types.kt | 35 +++++++++++++++---- .../ConverterToPythonObject.kt | 3 +- .../org/usvm/runner/PythonTestRunner.kt | 2 +- .../usvm/samples/SimpleUsageOfModulesTest.kt | 4 +-- 5 files changed, 38 insertions(+), 13 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index ad81ae71ce..60a59cd213 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -78,13 +78,16 @@ class PythonTypeSystemWithMypyInfo( override fun restart() { allConcreteTypes = typeHintsStorage.simpleTypes.mapNotNull { utType -> - val ref = try { + val pin = { val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) ConcretePythonInterpreter.eval(namespace, utType.pythonName()) + } + val ref = try { + pin() } catch (_: CPythonExecutionException) { return@mapNotNull null } - val result = ConcretePythonType(ConcretePythonInterpreter.getNameOfPythonType(ref), ref) + val result = ConcretePythonType(ConcretePythonInterpreter.getNameOfPythonType(ref), ref, pin) if (isWorkingType(result)) result else null } println("Restarted!") diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index cd01b7ab43..277d4db86d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -12,18 +12,39 @@ abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } -data class ConcretePythonType(val typeName: String, val asObject: PythonObject): PythonType() +class ConcretePythonType( + val typeName: String, + val asObject: PythonObject, + val refreshAddress: () -> PythonObject +): PythonType() { + fun refresh(): ConcretePythonType = + ConcretePythonType(typeName, refreshAddress(), refreshAddress) -private fun createConcreteType(name: String) = ConcretePythonType(name, ConcretePythonInterpreter.eval(emptyNamespace, name)) + override fun equals(other: Any?): Boolean { + if (other !is ConcretePythonType) + return false + return asObject == other.asObject + } + + override fun hashCode(): Int { + return asObject.hashCode() + } +} + +private fun createConcreteType(refreshAddress: () -> PythonObject): ConcretePythonType { + val address = refreshAddress() + val typeName = ConcretePythonInterpreter.getNameOfPythonType(address) + return ConcretePythonType(typeName, address, refreshAddress) +} +private fun createConcreteType(name: String) = createConcreteType { + ConcretePythonInterpreter.eval(emptyNamespace, name) +} val pythonInt = createConcreteType("int") val pythonBool = createConcreteType("bool") val pythonObjectType = createConcreteType("object") -val pythonNoneType = ConcretePythonType("NoneType", ConcretePythonInterpreter.eval(emptyNamespace, "type(None)")) +val pythonNoneType = createConcreteType("type(None)") val pythonTypeType = createConcreteType("type") val pythonList = createConcreteType("list") val pythonTuple = createConcreteType("tuple") -val pythonListIteratorType = ConcretePythonType( - "list_iterator", - ConcretePythonInterpreter.eval(emptyNamespace, "type(iter([]))") -) \ No newline at end of file +val pythonListIteratorType = createConcreteType("type(iter([]))") \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 593cb71621..0f64e67698 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -60,7 +60,8 @@ class ConverterToPythonObject( } private fun constructFromDefaultConstructor(type: ConcretePythonType): PythonObject { - return ConcretePythonInterpreter.callStandardNew(type.asObject) + val refreshed = type.refresh() + return ConcretePythonInterpreter.callStandardNew(refreshed.asObject) } private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 2cdc800d44..84f8ab762b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -189,7 +189,7 @@ open class PythonTestRunnerForStructuredProgram( allowPathDiversions: Boolean = false ): PythonTestRunner(module, options, allowPathDiversions) { override val program = SamplesBuild.program - override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) + override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, SamplesBuild.program) override fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = PythonUnpinnedCallable.constructCallableFromName(signature, name, module) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt index 9fedf7e5be..995b3e4c6e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt @@ -37,12 +37,12 @@ class SimpleUsageOfModulesTest: PythonTestRunnerForStructuredProgram("sample_sub allowPathDiversions = false } - // TODO: fix concrete run @Test fun testSimpleClassIsinstance() { - check1( + check1WithConcreteRun( constructFunction("simple_class_isinstance", List(1) { PythonAnyType }), eq(4), + standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { x, res -> x.typeName == "int" && res.repr == "2" }, From 34db176382c10c62b2c86787cea47c617a03380b Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 10 Aug 2023 18:45:23 +0300 Subject: [PATCH 060/344] Added PythonObjectSerializer --- .../kotlin/org/usvm/machine/PythonMachine.kt | 38 ++++++++-------- .../usvm/machine/PythonObjectSerializer.kt | 31 +++++++++++++ .../interpreters/USVMPythonInterpreter.kt | 16 +++---- usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../org/usvm/runner/PythonTestRunner.kt | 45 ++++++------------- 5 files changed, 73 insertions(+), 61 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index d6dde535b2..b36eb21df9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -15,11 +15,11 @@ import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver -class PythonMachine( +class PythonMachine( private val program: PythonProgram, private val typeSystem: PythonTypeSystem, - private val printErrorMsg: Boolean = false, - private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION + private val serializer: PythonObjectSerializer, + private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) private val solver = ctx.solver() @@ -28,9 +28,9 @@ class PythonMachine( private fun getInterpreter( target: PythonUnpinnedCallable, pinnedTarget: PythonPinnedCallable, - results: MutableList>, + results: MutableList>, allowPathDiversion: Boolean - ): USVMPythonInterpreter = + ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, typeSystem, @@ -39,7 +39,7 @@ class PythonMachine( iterationCounter, printErrorMsg, allowPathDiversion, - pythonObjectSerialization + serializer ) { results.add(it) } @@ -79,7 +79,7 @@ class PythonMachine( fun analyze( pythonCallable: PythonUnpinnedCallable, - results: MutableList>, + results: MutableList>, maxIterations: Int = 300, allowPathDiversion: Boolean = true ): Int = program.withPinnedCallable(pythonCallable) { pinnedCallable -> @@ -114,23 +114,23 @@ class PythonMachine( data class IterationCounter(var iterations: Int = 0) -data class InputObject( +data class InputObject( val asUExpr: InterpretedInputSymbolicPythonObject, val type: PythonType, - val reprFromPythonObject: PYTHON_OBJECT_REPRESENTATION + val reprFromPythonObject: PythonObjectRepresentation ) -sealed class ExecutionResult -class Success( - val output: PYTHON_OBJECT_REPRESENTATION -): ExecutionResult() +sealed class ExecutionResult +class Success( + val output: PythonObjectRepresentation +): ExecutionResult() -class Fail( - val exception: PYTHON_OBJECT_REPRESENTATION -): ExecutionResult() +class Fail( + val exception: PythonObjectRepresentation +): ExecutionResult() -data class PythonAnalysisResult( +data class PythonAnalysisResult( val inputValueConverter: ConverterToPythonObject, - val inputValues: List>, - val result: ExecutionResult + val inputValues: List>, + val result: ExecutionResult ) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt new file mode 100644 index 0000000000..ca345df179 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt @@ -0,0 +1,31 @@ +package org.usvm.machine + +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject + +abstract class PythonObjectSerializer { + abstract fun serialize(obj: PythonObject): PythonObjectRepresentation +} + +object StandardPythonObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): PythonObjectInfo { + val repr = ConcretePythonInterpreter.getPythonObjectRepr(obj) + val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) + val selfTypeName = if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(obj) else null + return PythonObjectInfo(repr, typeName, selfTypeName) + } +} + +object ReprObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String { + return ConcretePythonInterpreter.getPythonObjectRepr(obj) + } +} + +class PythonObjectInfo( + val repr: String, + val typeName: String, + val selfTypeName: String? +) { + override fun toString(): String = "$repr: $typeName" +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 05f40dca08..001065ed3f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -16,7 +16,7 @@ import org.usvm.machine.interpreters.operations.myAssertOnState import org.usvm.machine.utils.PyModelHolder import org.usvm.utils.withAdditionalPaths -class USVMPythonInterpreter( +class USVMPythonInterpreter( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, private val unpinnedCallable: PythonUnpinnedCallable, @@ -24,8 +24,8 @@ class USVMPythonInterpreter( private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, private val allowPathDiversion: Boolean = true, - private val pythonObjectSerialization: (PythonObject) -> PYTHON_OBJECT_REPRESENTATION, - private val saveRunResult: (PythonAnalysisResult) -> Unit + private val serializer: PythonObjectSerializer, + private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { private fun getSeeds( concolicRunContext: ConcolicRunContext, @@ -42,11 +42,11 @@ class USVMPythonInterpreter( private fun getInputs( converter: ConverterToPythonObject, - concrete: List, + concrete: List, seeds: List - ): List>? = + ): List>? = if (converter.numberOfVirtualObjectUsages() == 0) { - val serializedInputs = concrete.map { it!! }.map(pythonObjectSerialization) + val serializedInputs = concrete.map { serializer.serialize(it) } (seeds zip unpinnedCallable.signature zip serializedInputs).map { (p, z) -> val (x, y) = p InputObject(x, y, z) @@ -94,7 +94,7 @@ class USVMPythonInterpreter( printErrorMsg ) if (inputs != null) { - val serializedResult = pythonObjectSerialization(result) + val serializedResult = serializer.serialize(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) } logger.debug("Step result: Successful run. Returned ${ConcretePythonInterpreter.getPythonObjectRepr(result)}") @@ -110,7 +110,7 @@ class USVMPythonInterpreter( ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) ) if (inputs != null) { - val serializedException = pythonObjectSerialization(exception.pythonExceptionType) + val serializedException = serializer.serialize(exception.pythonExceptionType) saveRunResult(PythonAnalysisResult(converter, inputs, Fail(serializedException))) } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 96e92b8bc7..08dbc02ba4 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -26,9 +26,7 @@ fun main() { System.out.flush() ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) - val machine = PythonMachine(program, typeSystem, printErrorMsg = true) { - ConcretePythonInterpreter.getPythonObjectRepr(it) - } + val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = true) val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 84f8ab762b..5c994c4982 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -14,26 +14,19 @@ sealed class PythonTestRunner( protected val module: String, override var options: UMachineOptions = UMachineOptions(), protected var allowPathDiversions: Boolean = false -): TestRunner() { +): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { protected abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram private val machine by lazy { - PythonMachine(program, typeSystem) { pythonObject -> - val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(pythonObject) - PythonObjectInfo( - ConcretePythonInterpreter.getPythonObjectRepr(pythonObject), - typeName, - if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(pythonObject) else null - ) - } + PythonMachine(program, typeSystem, StandardPythonObjectSerializer) } override val typeTransformer: (Any?) -> PythonType get() = { _ -> pythonInt } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List + override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> get() = { callable, options -> - val results: MutableList = mutableListOf() + val results: MutableList> = mutableListOf() machine.analyze( callable, results, @@ -42,12 +35,12 @@ sealed class PythonTestRunner( ) results } - override val coverageRunner: (List) -> PythonCoverage + override val coverageRunner: (List>) -> PythonCoverage get() = { _ -> PythonCoverage(0) } private fun compareWithConcreteRun( target: PythonUnpinnedCallable, - test: PythonTest, + test: PythonAnalysisResult, check: (PythonObject) -> String? ): String? = program.withPinnedCallable(target) { pinnedCallable -> @@ -65,13 +58,13 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonTest, PythonObject) -> String?, List, List) -> Unit = + (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonAnalysisResult, PythonObject) -> String?, List, List) -> Unit = { target: PythonUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - compareConcolicAndConcrete: (PythonTest, PythonObject) -> String?, + compareConcolicAndConcrete: (PythonAnalysisResult, PythonObject) -> String?, invariants: List, propertiesToDiscover: List -> - val onAnalysisResult = { pythonTest: PythonTest -> + val onAnalysisResult = { pythonTest: PythonAnalysisResult -> val executionResult = when (val result = pythonTest.result) { is Success -> result.output is Fail -> result.exception @@ -128,7 +121,7 @@ sealed class PythonTestRunner( createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: - (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Success)?.let { val concolic = it.output.repr val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) @@ -137,7 +130,7 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfSuccess: - (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Success)?.let { val concolic = it.output.typeName val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) @@ -146,7 +139,7 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfFail: - (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? Fail)?.let { if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" @@ -159,13 +152,13 @@ sealed class PythonTestRunner( } protected val standardConcolicAndConcreteChecks: - (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } protected val compareConcolicAndConcreteTypes: - (PythonTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } @@ -194,14 +187,4 @@ open class PythonTestRunnerForStructuredProgram( PythonUnpinnedCallable.constructCallableFromName(signature, name, module) } -class PythonObjectInfo( - val repr: String, - val typeName: String, - val selfTypeName: String? -) { - override fun toString(): String = "$repr: $typeName" -} - -typealias PythonTest = PythonAnalysisResult - data class PythonCoverage(val int: Int) \ No newline at end of file From 938f676aaa72f9f56dcd64adad46d5269422f480 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 11 Aug 2023 17:06:34 +0300 Subject: [PATCH 061/344] Refactored ConcretePythonType --- .../org/usvm/language/types/TypeSystem.kt | 91 ++++++++++++++----- .../kotlin/org/usvm/language/types/Types.kt | 42 ++------- .../org/usvm/machine/PythonExecutionState.kt | 7 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 6 +- .../interpreters/ConcretePythonInterpreter.kt | 12 ++- .../machine/interpreters/operations/Common.kt | 32 +++++-- .../interpreters/operations/Constants.kt | 8 +- .../machine/interpreters/operations/List.kt | 60 ++++++------ .../machine/interpreters/operations/Long.kt | 7 +- .../interpreters/operations/Virtual.kt | 14 +-- .../ConverterToPythonObject.kt | 20 ++-- .../symbolicobjects/ObjectValidator.kt | 43 ++++----- .../SymbolicObjectConstruction.kt | 24 ++--- .../symbolicobjects/SymbolicPythonObject.kt | 57 +++++++----- .../machine/utils/DefaultValueProvider.kt | 10 +- .../org/usvm/utils/PythonImportUtils.kt | 9 +- usvm-python/src/test/kotlin/manualTest.kt | 38 ++------ .../org/usvm/runner/PythonTestRunner.kt | 6 +- .../org/usvm/samples/PathDiversionTest.kt | 5 +- .../org/usvm/samples/SimpleExampleTest.kt | 22 ++--- .../org/usvm/samples/SimpleListsTest.kt | 42 ++++----- .../usvm/samples/SimpleUsageOfModulesTest.kt | 5 +- 22 files changed, 291 insertions(+), 269 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 60a59cd213..87f7b36f6a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -4,18 +4,18 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.machine.interpreters.CPythonExecutionException import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem +import org.usvm.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonTypeHintsBuild import org.utbot.python.newtyping.mypy.MypyInfoBuild import org.utbot.python.newtyping.pythonModuleName import org.utbot.python.newtyping.pythonName +import org.utbot.python.newtyping.pythonTypeRepresentation abstract class PythonTypeSystem: UTypeSystem { - protected var allConcreteTypes: List = emptyList() - - open fun restart() {} override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { if (supertype is VirtualPythonType) @@ -35,9 +35,25 @@ abstract class PythonTypeSystem: UTypeSystem { return type is ConcretePythonType || type is TypeOfVirtualObject } - // TODO: will not work for several analyzes - val addressToConcreteType: Map by lazy { - allConcreteTypes.associateBy { it.asObject } + protected var allConcreteTypes: List = emptyList() + protected val addressToConcreteType = mutableMapOf() + private val concreteTypeToAddress = mutableMapOf() + protected fun addType(getter: () -> PythonObject): ConcretePythonType { + val address = getter() + require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") + val type = ConcretePythonType(this, ConcretePythonInterpreter.getNameOfPythonType(address), getter) + addressToConcreteType[address] = type + concreteTypeToAddress[type] = address + return type + } + + fun addressOfConcreteType(type: ConcretePythonType): PythonObject { + require(type.owner == this) + return concreteTypeToAddress[type]!! + } + + fun concreteTypeOnAddress(address: PythonObject): ConcretePythonType? { + return addressToConcreteType[address] } override fun findSubtypes(type: PythonType): Sequence { @@ -50,13 +66,33 @@ abstract class PythonTypeSystem: UTypeSystem { return USupportTypeStream.from(this, PythonAnyType) } - protected val basicTypes = listOf( + private fun createConcreteTypeByName(name: String): ConcretePythonType = + addType { ConcretePythonInterpreter.eval(emptyNamespace, name) } + + val pythonInt = createConcreteTypeByName("int") + val pythonBool = createConcreteTypeByName("bool") + val pythonObjectType = createConcreteTypeByName("object") + val pythonNoneType = createConcreteTypeByName("type(None)") + val pythonList = createConcreteTypeByName("list") + val pythonTuple = createConcreteTypeByName("tuple") + val pythonListIteratorType = createConcreteTypeByName("type(iter([]))") + + protected val basicTypes: List = listOf( pythonInt, pythonBool, pythonObjectType, pythonNoneType, pythonList ) + protected val basicTypeRefs: List = basicTypes.map(::addressOfConcreteType) + + fun restart() { + concreteTypeToAddress.keys.forEach { type -> + val newAddress = type.addressGetter() + concreteTypeToAddress[type] = newAddress + addressToConcreteType[newAddress] = type + } + } } class BasicPythonTypeSystem: PythonTypeSystem() { @@ -71,25 +107,34 @@ class PythonTypeSystemWithMypyInfo( ): PythonTypeSystem() { private val typeHintsStorage = PythonTypeHintsBuild.get(mypyBuild) - private fun isWorkingType(type: ConcretePythonType): Boolean { - return ConcretePythonInterpreter.getPythonObjectTypeName(type.asObject) == "type" && - (ConcretePythonInterpreter.typeHasStandardNew(type.asObject) || basicTypes.contains(type)) + private fun typeAlreadyInStorage(typeRef: PythonObject): Boolean = addressToConcreteType.keys.contains(typeRef) + + private fun isWorkableType(typeRef: PythonObject): Boolean { + return ConcretePythonInterpreter.getPythonObjectTypeName(typeRef) == "type" && + (ConcretePythonInterpreter.typeHasStandardNew(typeRef) || basicTypeRefs.contains(typeRef)) } - override fun restart() { - allConcreteTypes = typeHintsStorage.simpleTypes.mapNotNull { utType -> - val pin = { - val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) - ConcretePythonInterpreter.eval(namespace, utType.pythonName()) - } - val ref = try { - pin() - } catch (_: CPythonExecutionException) { - return@mapNotNull null + init { + withAdditionalPaths(program.additionalPaths) { + allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utType -> + if (utType.pythonTypeRepresentation().startsWith("sample")) { + println("Here!") + } + val refGetter = { + val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) + ConcretePythonInterpreter.eval(namespace, utType.pythonName()) + } + val ref = try { + refGetter() + } catch (_: CPythonExecutionException) { + return@mapNotNull null + } + if (!isWorkableType(ref) || typeAlreadyInStorage(ref)) + return@mapNotNull null + + addType(refGetter) } - val result = ConcretePythonType(ConcretePythonInterpreter.getNameOfPythonType(ref), ref, pin) - if (isWorkingType(result)) result else null + println("Initialized!") } - println("Restarted!") } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 277d4db86d..468651a565 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -1,8 +1,6 @@ package org.usvm.language.types -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.emptyNamespace sealed class PythonType @@ -12,39 +10,15 @@ abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } -class ConcretePythonType( +class ConcretePythonType internal constructor( + val owner: PythonTypeSystem, val typeName: String, - val asObject: PythonObject, - val refreshAddress: () -> PythonObject + val addressGetter: () -> PythonObject ): PythonType() { - fun refresh(): ConcretePythonType = - ConcretePythonType(typeName, refreshAddress(), refreshAddress) + val asObject: PythonObject + get() = owner.addressOfConcreteType(this) - override fun equals(other: Any?): Boolean { - if (other !is ConcretePythonType) - return false - return asObject == other.asObject + override fun toString(): String { + return "ConcretePythonType(\"$typeName\")" } - - override fun hashCode(): Int { - return asObject.hashCode() - } -} - -private fun createConcreteType(refreshAddress: () -> PythonObject): ConcretePythonType { - val address = refreshAddress() - val typeName = ConcretePythonInterpreter.getNameOfPythonType(address) - return ConcretePythonType(typeName, address, refreshAddress) -} -private fun createConcreteType(name: String) = createConcreteType { - ConcretePythonInterpreter.eval(emptyNamespace, name) -} - -val pythonInt = createConcreteType("int") -val pythonBool = createConcreteType("bool") -val pythonObjectType = createConcreteType("object") -val pythonNoneType = createConcreteType("type(None)") -val pythonTypeType = createConcreteType("type") -val pythonList = createConcreteType("list") -val pythonTuple = createConcreteType("tuple") -val pythonListIteratorType = createConcreteType("type(iter([]))") \ No newline at end of file +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 3c268b96e6..b7cf24ea07 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -9,6 +9,7 @@ import org.usvm.machine.symbolicobjects.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.TypeOfVirtualObject import org.usvm.machine.utils.PyModel import org.usvm.memory.UMemoryBase @@ -24,6 +25,7 @@ class PythonExecutionState( pathConstraints: UPathConstraints, memory: UMemoryBase, uModel: UModelBase, + val typeSystem: PythonTypeSystem, callStack: UCallStack> = UCallStack(), path: PersistentList> = persistentListOf(), var delayedForks: PersistentList = persistentListOf(), @@ -40,6 +42,7 @@ class PythonExecutionState( newPathConstraints, newMemory, pyModel.uModel, + typeSystem, callStack, path, delayedForks, @@ -64,12 +67,12 @@ class PythonExecutionState( fun mock(what: MockHeader): MockResult { val cached = mocks[what] if (cached != null) - return MockResult(UninterpretedSymbolicPythonObject(cached), false, cached) + return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) val (result, newMocker) = memory.mocker.call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) memory.mocker = newMocker mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } - return MockResult(UninterpretedSymbolicPythonObject(result), true, result) + return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index b36eb21df9..cfb7966d98 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -8,7 +8,6 @@ import org.usvm.machine.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector @@ -53,7 +52,7 @@ class PythonMachine( stack.push(target.numberOfArguments) } val symbols = target.signature.mapIndexed { index, type -> - SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints)) + SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem)) } val solverRes = solver.check(pathConstraints) if (solverRes !is USatResult) @@ -64,7 +63,8 @@ class PythonMachine( symbols, pathConstraints, memory, - solverRes.model + solverRes.model, + typeSystem ).also { it.meta.generatedFrom = "Initial state" } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 07cf8cae55..58db79490f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -158,15 +158,19 @@ object ConcretePythonInterpreter { } val initialSysPath: PythonObject - val initialSysModules: PythonObject + val initialSysModulesKeys: PythonObject init { pythonAdapter.initializePython() val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") - pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), false) - initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", false)) - initialSysModules = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.modules)", false)) + pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true) + initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true)) + if (initialSysPath.address == 0L) + throw CPythonExecutionException() + initialSysModulesKeys = PythonObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true)) + if (initialSysModulesKeys.address == 0L) + throw CPythonExecutionException() pythonAdapter.decref(namespace) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 75750469b3..d65e10b327 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -6,35 +6,47 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation -import org.usvm.language.types.pythonBool -import org.usvm.language.types.pythonObjectType fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null - val type = ctx.typeSystem.addressToConcreteType[typeRef] ?: return null - if (type == pythonObjectType) + val typeSystem = ctx.typeSystem + val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null + if (type == typeSystem.pythonObjectType) return constructBool(ctx, ctx.ctx.trueExpr) val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) - return if (interpreted.getConcreteType(ctx) == null) { - myFork(ctx, obj.evalIs(ctx, ConcreteTypeNegation(type))) + val concreteType = interpreted.getConcreteType(ctx) + return if (concreteType == null) { + if (type == typeSystem.pythonInt) { // this is a common case, TODO: better solution + val cond = + obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonInt)) and obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonBool)) + myFork(ctx, cond) + } else { + myFork(ctx, obj.evalIs(ctx, ConcreteTypeNegation(type))) + } require(interpreted.getConcreteType(ctx) == null) constructBool(ctx, falseExpr) } else { - constructBool(ctx, obj.evalIs(ctx, type)) + if (type == typeSystem.pythonInt) { // this is a common case + myAssert(ctx, obj.evalIs(ctx, typeSystem.pythonBool).not()) // to avoid underapproximation + constructBool(ctx, obj.evalIs(ctx, typeSystem.pythonInt)) + } else { + constructBool(ctx, obj.evalIs(ctx, type)) + } } } fun addConcreteSupertypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject) { ctx.curState ?: return - val type = ctx.typeSystem.addressToConcreteType[typeRef] ?: return + val type = ctx.typeSystem.concreteTypeOnAddress(typeRef) ?: return obj.addSupertype(ctx, type) } fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null - left.addSupertype(ctx, pythonBool) - right.addSupertype(ctx, pythonBool) + val typeSystem = ctx.typeSystem + left.addSupertype(ctx, typeSystem.pythonBool) + right.addSupertype(ctx, typeSystem.pythonBool) val leftValue = left.getBoolContent(ctx) val rightValue = right.getBoolContent(ctx) return constructBool(ctx, mkAnd(leftValue, rightValue)) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 6c2c081c52..4b228fbf30 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -6,7 +6,6 @@ import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.SymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt -import org.usvm.language.types.pythonTuple fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { @@ -30,11 +29,12 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: String): Uninterp fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null + val typeSystem = context.typeSystem val addresses = elements.map { it.address }.asSequence() with (context.ctx) { - val tupleAddress = context.curState!!.memory.malloc(pythonTuple, addressSort, addresses) - val result = UninterpretedSymbolicPythonObject(tupleAddress) - result.addSupertype(context, pythonTuple) + val tupleAddress = context.curState!!.memory.malloc(typeSystem.pythonTuple, addressSort, addresses) + val result = UninterpretedSymbolicPythonObject(tupleAddress, typeSystem) + result.addSupertype(context, typeSystem.pythonTuple) return result } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 9ba96c3081..f608fb17a3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -7,9 +7,6 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.constructListIterator import org.usvm.language.types.PythonType -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList -import org.usvm.language.types.pythonTuple import java.util.stream.Stream import kotlin.streams.asSequence @@ -17,10 +14,11 @@ fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream + val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr return constructInt(context, listSize) } @@ -38,11 +37,12 @@ private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymboli if (context.curState == null) return null with (context.ctx) { - index.addSupertype(context, pythonInt) - list.addSupertype(context, pythonList) + val typeSystem = context.typeSystem + index.addSupertype(context, typeSystem.pythonInt) + list.addSupertype(context, typeSystem.pythonList) @Suppress("unchecked_cast") - val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr val indexValue = index.getIntContent(context) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) @@ -55,11 +55,11 @@ private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymboli myFork(context, positiveIndex) return if (context.curState!!.pyModel.eval(positiveIndex).isTrue) { - UArrayIndexLValue(addressSort, list.address, indexValue, pythonList) + UArrayIndexLValue(addressSort, list.address, indexValue, typeSystem.pythonList) } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) require(context.curState!!.pyModel.eval(negativeIndex).isTrue) - UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), pythonList) + UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), typeSystem.pythonList) } } } @@ -74,7 +74,7 @@ fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymboli myAssert(context, mkHeapRefEq(list.address, elemAddr).not()) // to avoid recursive lists - return UninterpretedSymbolicPythonObject(elemAddr) + return UninterpretedSymbolicPythonObject(elemAddr, context.typeSystem) } @@ -89,17 +89,18 @@ fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymboli fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null + val typeSystem = context.typeSystem with (context.ctx) { - list.addSupertype(context, pythonList) - tuple.addSupertype(context, pythonTuple) + list.addSupertype(context, typeSystem.pythonList) + tuple.addSupertype(context, typeSystem.pythonTuple) @Suppress("unchecked_cast") - val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr + val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr @Suppress("unchecked_cast") - val tupleSize = context.curState!!.memory.read(UArrayLengthLValue(tuple.address, pythonTuple)) as UExpr + val tupleSize = context.curState!!.memory.read(UArrayLengthLValue(tuple.address, typeSystem.pythonTuple)) as UExpr // TODO: type: list or tuple? - context.curState!!.memory.memcpy(tuple.address, list.address, pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) + context.curState!!.memory.memcpy(tuple.address, list.address, typeSystem.pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) val newSize = mkArithAdd(currentSize, tupleSize) - context.curState!!.memory.write(UArrayLengthLValue(list.address, pythonList), newSize) + context.curState!!.memory.write(UArrayLengthLValue(list.address, typeSystem.pythonList), newSize) return list } } @@ -107,12 +108,13 @@ fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolic fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null + val typeSystem = context.typeSystem with (context.ctx) { - list.addSupertype(context, pythonList) + list.addSupertype(context, typeSystem.pythonList) @Suppress("unchecked_cast") - val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, pythonList)) as UExpr - context.curState!!.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, pythonList), elem.address) - context.curState!!.memory.write(UArrayLengthLValue(list.address, pythonList), mkArithAdd(currentSize, mkIntNum(1))) + val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr + context.curState!!.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, typeSystem.pythonList), elem.address) + context.curState!!.memory.write(UArrayLengthLValue(list.address, typeSystem.pythonList), mkArithAdd(currentSize, mkIntNum(1))) return list } } @@ -120,7 +122,8 @@ fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolic fun handlerListIterKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null - list.addSupertype(context, pythonList) + val typeSystem = context.typeSystem + list.addSupertype(context, typeSystem.pythonList) return constructListIterator(context, list) } @@ -128,9 +131,10 @@ fun handlerListIteratorNextKt(context: ConcolicRunContext, iterator: Uninterpret if (context.curState == null) return null + val typeSystem = context.typeSystem val (listAddress, index) = iterator.getListIteratorContent(context) @Suppress("unchecked_cast") - val listSize = context.curState!!.memory.read(UArrayLengthLValue(listAddress, pythonList)) as UExpr + val listSize = context.curState!!.memory.read(UArrayLengthLValue(listAddress, typeSystem.pythonList)) as UExpr val indexCond = index lt listSize myFork(context, indexCond) if (context.curState!!.pyModel.eval(indexCond).isFalse) @@ -139,6 +143,6 @@ fun handlerListIteratorNextKt(context: ConcolicRunContext, iterator: Uninterpret iterator.increaseListIteratorCounter(context) @Suppress("unchecked_cast") - val elemAddr = context.curState!!.memory.read(UArrayIndexLValue(addressSort, listAddress, index, pythonList)) as UHeapRef - return UninterpretedSymbolicPythonObject(elemAddr) + val elemAddr = context.curState!!.memory.read(UArrayIndexLValue(addressSort, listAddress, index, typeSystem.pythonList)) as UHeapRef + return UninterpretedSymbolicPythonObject(elemAddr, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index 0d86d6639a..72415871fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -9,8 +9,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt -import org.usvm.language.types.pythonBool -import org.usvm.language.types.pythonInt fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? @@ -18,8 +16,9 @@ fun createBinaryIntOp( if (concolicContext.curState == null) null else with (concolicContext.ctx) { - myAssert(concolicContext, left.evalIs(concolicContext, pythonInt) or left.evalIs(concolicContext, pythonBool)) - myAssert(concolicContext, right.evalIs(concolicContext, pythonInt) or right.evalIs(concolicContext, pythonBool)) + val typeSystem = concolicContext.typeSystem + myAssert(concolicContext, left.evalIs(concolicContext, typeSystem.pythonInt) or left.evalIs(concolicContext, typeSystem.pythonBool)) + myAssert(concolicContext, right.evalIs(concolicContext, typeSystem.pythonInt) or right.evalIs(concolicContext, typeSystem.pythonBool)) op( concolicContext.ctx, left.getToIntContent(concolicContext) ?: return@with null, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 2c833515af..f708c23389 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -7,8 +7,6 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.isTrue import org.usvm.language.* -import org.usvm.language.types.pythonBool -import org.usvm.language.types.pythonInt import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace @@ -16,10 +14,11 @@ import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation + val typeSystem = context.typeSystem val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, pythonBool) + symbolic.addSupertype(context, typeSystem.pythonBool) val boolValue = interpretedObj.getBoolContent(context) myFork(context, boolValue) return boolValue.isTrue @@ -27,21 +26,22 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { context.curOperation ?: throw UnregisteredVirtualOperation + val typeSystem = context.typeSystem val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, pythonInt) + symbolic.addSupertype(context, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(context) return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) } fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { - context.curOperation ?: - throw UnregisteredVirtualOperation + context.curOperation ?: throw UnregisteredVirtualOperation + val typeSystem = context.typeSystem val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, pythonInt) + symbolic.addSupertype(context, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(context) myAssert(context, intValue le mkIntNum(Int.MAX_VALUE)) return intValue.toString().toInt() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 0f64e67698..2a325289fd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -29,7 +29,7 @@ class ConverterToPythonObject( constructedObjects.clear() virtualObjects.clear() val nullRef = modelHolder.model.eval(ctx.nullRef) as UConcreteHeapRef - val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder)) + val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder, typeSystem)) constructedObjects[ctx.nullRef] = defaultObject numberOfGeneratedVirtualObjects = 0 } @@ -44,10 +44,10 @@ class ConverterToPythonObject( return cached val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { TypeOfVirtualObject -> constructVirtualObject(obj) - pythonInt -> convertInt(obj) - pythonBool -> convertBool(obj) - pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - pythonList -> convertList(obj) + typeSystem.pythonInt -> convertInt(obj) + typeSystem.pythonBool -> convertBool(obj) + typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") + typeSystem.pythonList -> convertList(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(type) @@ -60,8 +60,8 @@ class ConverterToPythonObject( } private fun constructFromDefaultConstructor(type: ConcretePythonType): PythonObject { - val refreshed = type.refresh() - return ConcretePythonInterpreter.callStandardNew(refreshed.asObject) + require(type.owner == typeSystem) + return ConcretePythonInterpreter.callStandardNew(type.asObject) } private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { @@ -87,13 +87,13 @@ class ConverterToPythonObject( } private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { - val size = obj.modelHolder.model.uModel.heap.readArrayLength(obj.address, pythonList) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.heap.readArrayLength(obj.address, typeSystem.pythonList) as KInt32NumExpr val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) - val element = obj.modelHolder.model.uModel.heap.readArrayIndex(obj.address, indexExpr, pythonList, addressSort) as UConcreteHeapRef - val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder) + val element = obj.modelHolder.model.uModel.heap.readArrayIndex(obj.address, indexExpr, typeSystem.pythonList, addressSort) as UConcreteHeapRef + val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) convert(elemInterpretedObject) } val namespace = ConcretePythonInterpreter.getNewNamespace() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index a7c0040f8a..4ee6767d6f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -5,10 +5,10 @@ import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert -import org.usvm.language.types.pythonList class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private val checked = mutableSetOf() + private val typeSystem = concolicRunContext.typeSystem fun check(symbol: UninterpretedSymbolicPythonObject) { val modelHolder = concolicRunContext.modelHolder val concrete = interpretSymbolicPythonObject(symbol, modelHolder) @@ -16,42 +16,33 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { return checked.add(concrete.address) when (concrete.getConcreteType(concolicRunContext)) { - //pythonInt -> checkInt(symbol) - //pythonNoneType -> checkNone(symbol) - //pythonBool -> checkBool(symbol) - pythonList -> checkList(symbol, modelHolder) + typeSystem.pythonList -> checkList(symbol, modelHolder) } } - /* - private fun checkInt(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { - val cond = (symbolic.getIntContent(concolicRunContext) eq mkIntNum(0)) xor symbolic.getBoolContent(concolicRunContext) - myAssert(concolicRunContext, cond) - } - - private fun checkNone(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { - myAssert(concolicRunContext, symbolic.getBoolContent(concolicRunContext).not()) - } - - private fun checkBool(symbolic: UninterpretedSymbolicPythonObject) = with(concolicRunContext.ctx) { - val isTrue = symbolic.getBoolContent(concolicRunContext) - val isFalse = isTrue.not() - val asInt = symbolic.getIntContent(concolicRunContext) - myAssert(concolicRunContext, isTrue implies (asInt eq mkIntNum(1))) - myAssert(concolicRunContext, isFalse implies (asInt eq mkIntNum(0))) - }*/ - @Suppress("unchecked_parameter") private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) @Suppress("unchecked_cast") - val symbolicSize = concolicRunContext.curState!!.memory.read(UArrayLengthLValue(symbolic.address, pythonList)) as USizeExpr + val symbolicSize = concolicRunContext.curState!!.memory.read( + UArrayLengthLValue( + symbolic.address, + typeSystem.pythonList + ) + ) as USizeExpr myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> @Suppress("unchecked_cast") - val element = concolicRunContext.curState!!.memory.read(UArrayIndexLValue(addressSort, symbolic.address, mkSizeExpr(index), pythonList)) as UHeapRef - val elemObj = UninterpretedSymbolicPythonObject(element) + val element = concolicRunContext.curState!!.memory.read( + UArrayIndexLValue( + addressSort, + symbolic.address, + mkSizeExpr(index), + typeSystem.pythonList + ) + ) as UHeapRef + val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) check(elemObj) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 84ab4cd6b8..b8db972e30 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -7,9 +7,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.PythonType -import org.usvm.language.types.pythonBool -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonListIteratorType +import org.usvm.language.types.PythonTypeSystem import org.usvm.memory.UMemoryBase fun constructInputObject( @@ -17,12 +15,13 @@ fun constructInputObject( type: PythonType, ctx: UContext, memory: UMemoryBase, - pathConstraints: UPathConstraints + pathConstraints: UPathConstraints, + typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) - val result = UninterpretedSymbolicPythonObject(address) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type, null) return result } @@ -30,24 +29,27 @@ fun constructInputObject( fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) - val address = context.curState!!.memory.alloc(pythonInt) - val result = UninterpretedSymbolicPythonObject(address) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonInt) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setIntContent(context, expr) return result } fun constructBool(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) - val address = context.curState!!.memory.alloc(pythonBool) - val result = UninterpretedSymbolicPythonObject(address) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonBool) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setBoolContent(context, expr) return result } fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { require(context.curState != null) - val address = context.curState!!.memory.alloc(pythonListIteratorType) - val result = UninterpretedSymbolicPythonObject(address) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonListIteratorType) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setListIteratorContent(context, list) return result } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 0a5b992224..5859b37a11 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -13,7 +13,10 @@ import org.usvm.language.types.* import org.usvm.types.UTypeStream import org.usvm.types.first -sealed class SymbolicPythonObject(open val address: UHeapRef) { +sealed class SymbolicPythonObject( + open val address: UHeapRef, + val typeSystem: PythonTypeSystem +) { override fun equals(other: Any?): Boolean { if (other !is SymbolicPythonObject) return false @@ -25,7 +28,10 @@ sealed class SymbolicPythonObject(open val address: UHeapRef) { } } -class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject(address) { +class UninterpretedSymbolicPythonObject( + address: UHeapRef, + typeSystem: PythonTypeSystem +): SymbolicPythonObject(address, typeSystem) { fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { require(ctx.curState != null) myAssert(ctx, evalIs(ctx, type)) @@ -52,21 +58,21 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) - addSupertype(ctx, pythonInt) + addSupertype(ctx, typeSystem.pythonInt) val lvalue = UFieldLValue(expr.sort, address, IntContent) ctx.curState!!.memory.write(lvalue, expr) } fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { require(ctx.curState != null) - addSupertype(ctx, pythonBool) + addSupertype(ctx, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContent) ctx.curState!!.memory.write(lvalue, expr) } fun setListIteratorContent(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, pythonListIteratorType) + addSupertype(ctx, typeSystem.pythonListIteratorType) val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) ctx.curState!!.memory.write(listLValue, list.address) val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) @@ -75,7 +81,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, pythonListIteratorType) + addSupertype(ctx, typeSystem.pythonListIteratorType) val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) @Suppress("unchecked_cast") val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr @@ -84,7 +90,7 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun getListIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, pythonListIteratorType) + addSupertype(ctx, typeSystem.pythonListIteratorType) val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) @Suppress("unchecked_cast") @@ -96,22 +102,22 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun getIntContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) - addSupertype(ctx, pythonInt) + addSupertype(ctx, typeSystem.pythonInt) @Suppress("unchecked_cast") return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr } fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { return when (getTypeIfDefined(ctx)) { - pythonInt -> getIntContent(ctx) - pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) + typeSystem.pythonInt -> getIntContent(ctx) + typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) else -> null } } fun getBoolContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) - addSupertype(ctx, pythonBool) + addSupertype(ctx, typeSystem.pythonBool) @Suppress("unchecked_cast") return ctx.curState!!.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr } @@ -119,9 +125,9 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { require(ctx.curState != null) return when (getTypeIfDefined(ctx)) { - pythonBool -> getBoolContent(ctx) - pythonInt -> getIntContent(ctx) neq mkIntNum(0) - pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, pythonList) gt mkIntNum(0) + typeSystem.pythonBool -> getBoolContent(ctx) + typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) else -> null } } @@ -133,8 +139,9 @@ class UninterpretedSymbolicPythonObject(address: UHeapRef): SymbolicPythonObject } sealed class InterpretedSymbolicPythonObject( - override val address: UConcreteHeapRef -): SymbolicPythonObject(address) { + override val address: UConcreteHeapRef, + typeSystem: PythonTypeSystem +): SymbolicPythonObject(address, typeSystem) { abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue @@ -142,8 +149,9 @@ sealed class InterpretedSymbolicPythonObject( class InterpretedInputSymbolicPythonObject( address: UConcreteHeapRef, - val modelHolder: PyModelHolder -): InterpretedSymbolicPythonObject(address) { + val modelHolder: PyModelHolder, + typeSystem: PythonTypeSystem +): InterpretedSymbolicPythonObject(address, typeSystem) { init { require(address.address <= 0) } @@ -172,19 +180,20 @@ class InterpretedInputSymbolicPythonObject( } fun getIntContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == pythonInt) + require(getConcreteType() == typeSystem.pythonInt) return modelHolder.model.readField(address, IntContent, ctx.intSort) } fun getBoolContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == pythonBool) + require(getConcreteType() == typeSystem.pythonBool) return modelHolder.model.readField(address, BoolContent, ctx.boolSort) } } class InterpretedAllocatedSymbolicPythonObject( - override val address: UConcreteHeapRef -): InterpretedSymbolicPythonObject(address) { + override val address: UConcreteHeapRef, + typeSystem: PythonTypeSystem +): InterpretedSymbolicPythonObject(address, typeSystem) { init { require(address.address > 0) } @@ -215,6 +224,6 @@ fun interpretSymbolicPythonObject( ): InterpretedSymbolicPythonObject { val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef if (evaluated.address > 0) - return InterpretedAllocatedSymbolicPythonObject(evaluated) - return InterpretedInputSymbolicPythonObject(evaluated, modelHolder) + return InterpretedAllocatedSymbolicPythonObject(evaluated, obj.typeSystem) + return InterpretedInputSymbolicPythonObject(evaluated, modelHolder, obj.typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index c38a591c0b..028aa0e9cd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -10,11 +10,11 @@ class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { require(typeSystem.isInstantiable(type)) return when (type) { - pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") - pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") - pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") - pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") - pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") + typeSystem.pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") + typeSystem.pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") + typeSystem.pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") + typeSystem.pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") + typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") else -> TODO() } } diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt index 90a649430a..491aca1dc3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt @@ -12,7 +12,7 @@ fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): ) ConcretePythonInterpreter.addObjectToNamespace( namespace, - ConcretePythonInterpreter.initialSysModules, + ConcretePythonInterpreter.initialSysModulesKeys, "initial_sys_modules" ) ConcretePythonInterpreter.concreteRun( @@ -20,7 +20,6 @@ fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): """ import sys, copy sys.path += ${additionalPaths.joinToString(prefix = "[", separator = ", ", postfix = "]") { "\"${it.canonicalPath}\"" }} - import pickle """.trimIndent() ) @@ -31,7 +30,11 @@ fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): namespace, """ sys.path = copy.copy(initial_sys_path) - sys.modules = copy.copy(initial_sys_modules) + current_modules = list(sys.modules.keys()) + for module in current_modules: + if module not in initial_sys_modules: + print("module", module, flush=True) + sys.modules.pop(module) sys.path_importer_cache = {} """.trimIndent() ) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 08dbc02ba4..fef435d75e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -7,13 +7,11 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.runner.SamplesBuild fun main() { - println("Initial sys.path:") - System.out.flush() - ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) - val (program, function, typeSystem) = constructStructuredProgram( - "sample_submodule.SimpleUsageOfModules", + val (program, typeSystem) = constructStructuredProgram() + val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "simple_class_isinstance" + "simple_class_isinstance", + "sample_submodule.SimpleUsageOfModules" ) println("sys.path before analysis:") System.out.flush() @@ -48,42 +46,26 @@ fun main() { private data class RunConfig( val program: PythonProgram, - val target: PythonUnpinnedCallable, val typeSystem: PythonTypeSystem ) @Suppress("SameParameterValue") -private fun constructPrimitiveProgram( - asString: String, - signature: List, - functionName: String -): RunConfig { +private fun constructPrimitiveProgram(asString: String): RunConfig { val program = PrimitivePythonProgram.fromString(asString) - val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) val typeSystem = BasicPythonTypeSystem() - return RunConfig(program, function, typeSystem) + return RunConfig(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructPrimitiveProgramFromStructured( - module: String, - signature: List, - functionName: String -): RunConfig { +private fun constructPrimitiveProgramFromStructured(module: String): RunConfig { val program = SamplesBuild.program.getPrimitiveProgram(module) - val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName) val typeSystem = BasicPythonTypeSystem() - return RunConfig(program, function, typeSystem) + return RunConfig(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructStructuredProgram( - module: String, - signature: List, - functionName: String -): RunConfig { +private fun constructStructuredProgram(): RunConfig { val program = SamplesBuild.program - val function = PythonUnpinnedCallable.constructCallableFromName(signature, functionName, module) val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) - return RunConfig(program, function, typeSystem) + return RunConfig(program, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 5c994c4982..9555d56c7f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -15,13 +15,13 @@ sealed class PythonTestRunner( override var options: UMachineOptions = UMachineOptions(), protected var allowPathDiversions: Boolean = false ): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { - protected abstract val typeSystem: PythonTypeSystem + abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram private val machine by lazy { PythonMachine(program, typeSystem, StandardPythonObjectSerializer) } override val typeTransformer: (Any?) -> PythonType - get() = { _ -> pythonInt } + get() = { _ -> PythonAnyType } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> @@ -88,7 +88,7 @@ sealed class PythonTestRunner( propertiesToDiscover.toTypedArray(), invariants.toTypedArray(), onAnalysisResult, - (target.signature.map { pythonInt } + pythonInt).toTypedArray(), + (target.signature.map { PythonAnyType } + PythonAnyType).toTypedArray(), CheckMode.MATCH_PROPERTIES, coverageChecker = { true } ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 8c6b6d634e..54f2390e07 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -3,12 +3,11 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows import org.usvm.machine.interpreters.operations.tracing.PathDiversionException -import org.usvm.language.types.pythonInt import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class AllowPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = true) { - private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) + private val function = constructFunction("pickle_path_diversion", listOf(typeSystem.pythonInt)) @Test fun testAllowPathDiversion() { check1WithConcreteRun( @@ -25,7 +24,7 @@ class AllowPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExampl } class ForbidPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = false) { - private val function = constructFunction("pickle_path_diversion", listOf(pythonInt)) + private val function = constructFunction("pickle_path_diversion", listOf(typeSystem.pythonInt)) @Test fun testForbidPathDiversion() { assertThrows { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 37fca06002..a7fd5dc339 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -2,8 +2,6 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonBool import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -13,7 +11,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testManyBranches() { check3WithConcreteRun( - constructFunction("many_branches", List(3) { pythonInt }), + constructFunction("many_branches", List(3) { typeSystem.pythonInt }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, y, z, res -> @@ -28,7 +26,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testMyAbs() { check1WithConcreteRun( - constructFunction("my_abs", List(1) { pythonInt }), + constructFunction("my_abs", List(1) { typeSystem.pythonInt }), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, @@ -43,7 +41,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testSamplePickle() { check1WithConcreteRun( - constructFunction("pickle_sample", List(1) { pythonInt }), + constructFunction("pickle_sample", List(1) { typeSystem.pythonInt }), eq(1), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { _, res -> res.typeName == "bytes" }, @@ -54,7 +52,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testCall() { check1WithConcreteRun( - constructFunction("call", List(1) { pythonInt }), + constructFunction("call", List(1) { typeSystem.pythonInt }), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, @@ -69,7 +67,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testZeroDivision() { check1WithConcreteRun( - constructFunction("zero_division", List(1) { pythonInt }), + constructFunction("zero_division", List(1) { typeSystem.pythonInt }), eq(1), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.selfTypeName == "ZeroDivisionError" }, @@ -80,7 +78,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testZeroDivisionInBranch() { check1WithConcreteRun( - constructFunction("zero_division_in_branch", List(1) { pythonInt }), + constructFunction("zero_division_in_branch", List(1) { typeSystem.pythonInt }), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf(), @@ -94,7 +92,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testBoolInput() { check1WithConcreteRun( - constructFunction("bool_input", List(1) { pythonBool }), + constructFunction("bool_input", List(1) { typeSystem.pythonBool }), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "bool" }, @@ -107,7 +105,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testMixedInputTypes() { check2WithConcreteRun( - constructFunction("mixed_input_types", listOf(pythonBool, pythonInt)), + constructFunction("mixed_input_types", listOf(typeSystem.pythonBool, typeSystem.pythonInt)), eq(3), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, y, _ -> x.typeName == "bool" && y.typeName == "int" }, @@ -120,7 +118,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testSymbolicCall() { check1WithConcreteRun( - constructFunction("symbolic_call", List(1) { pythonInt }), + constructFunction("symbolic_call", List(1) { typeSystem.pythonInt }), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { x, _ -> x.typeName == "int" }, @@ -134,7 +132,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testSimpleLambda() { check1WithConcreteRun( - PythonUnpinnedCallable.constructLambdaFunction(listOf(pythonInt), "lambda x: 1 if x == 157 else 0"), + PythonUnpinnedCallable.constructLambdaFunction(listOf(typeSystem.pythonInt), "lambda x: 1 if x == 157 else 0"), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "int" }, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 757567bdfc..9a8995f4a3 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -3,8 +3,6 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.types.pythonInt -import org.usvm.language.types.pythonList import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -13,7 +11,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testSimpleListSample() { check2WithConcreteRun( - constructFunction("simple_list_sample", listOf(pythonList, pythonInt)), + constructFunction("simple_list_sample", listOf(typeSystem.pythonList, typeSystem.pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { list, index, _ -> @@ -31,7 +29,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testAllocatedList() { check1WithConcreteRun( - constructFunction("allocated_list_sample", listOf(pythonInt)), + constructFunction("allocated_list_sample", listOf(typeSystem.pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { index, _ -> @@ -50,7 +48,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testMixedAllocation() { check2WithConcreteRun( - constructFunction("mixed_allocation", listOf(pythonInt, pythonInt)), + constructFunction("mixed_allocation", listOf(typeSystem.pythonInt, typeSystem.pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, i, _ -> @@ -70,7 +68,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testNegativeIndex() { check1WithConcreteRun( - constructFunction("negative_index", listOf(pythonInt)), + constructFunction("negative_index", listOf(typeSystem.pythonInt)), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { i, _ -> i.typeName == "int" }, @@ -81,7 +79,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach ) } - private val functionLongList = constructFunction("long_list", listOf(pythonInt)) + private val functionLongList = constructFunction("long_list", listOf(typeSystem.pythonInt)) @Test fun testLongList() { check1WithConcreteRun( @@ -99,7 +97,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testSetItem() { check2WithConcreteRun( - constructFunction("set_item", listOf(pythonList, pythonInt)), + constructFunction("set_item", listOf(typeSystem.pythonList, typeSystem.pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { arr, x, _ -> arr.typeName == "list" && x.typeName == "int" }, @@ -115,7 +113,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testMemoryModel() { check2WithConcreteRun( - constructFunction("memory_model", listOf(pythonList, pythonList)), + constructFunction("memory_model", listOf(typeSystem.pythonList, typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "list" }, @@ -130,7 +128,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testPositiveAndNegativeIndex() { check2WithConcreteRun( - constructFunction("positive_and_negative_index", listOf(pythonList, pythonInt)), + constructFunction("positive_and_negative_index", listOf(typeSystem.pythonList, typeSystem.pythonInt)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { i, j, _ -> i.typeName == "list" && j.typeName == "int" }, @@ -143,7 +141,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testLenUsage() { check1WithConcreteRun( - constructFunction("len_usage", listOf(pythonList)), + constructFunction("len_usage", listOf(typeSystem.pythonList)), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -156,7 +154,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testSumOfElements() { check1WithConcreteRun( - constructFunction("sum_of_elements", listOf(pythonList)), + constructFunction("sum_of_elements", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -169,7 +167,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testForLoop() { check1WithConcreteRun( - constructFunction("for_loop", listOf(pythonList)), + constructFunction("for_loop", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, @@ -182,7 +180,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testSimpleAssertion() { check1WithConcreteRun( - constructFunction("simple_assertion", listOf(pythonList)), + constructFunction("simple_assertion", listOf(typeSystem.pythonList)), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, _ -> x.typeName == "list" }, @@ -211,33 +209,33 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testLt() { - richcompareCheck(constructFunction("lt", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("lt", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testGt() { - richcompareCheck(constructFunction("gt", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("gt", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testEq() { - richcompareCheck(constructFunction("eq", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("eq", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testNe() { - richcompareCheck(constructFunction("ne", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("ne", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testLe() { - richcompareCheck(constructFunction("le", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("le", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testGe() { - richcompareCheck(constructFunction("ge", listOf(pythonList, pythonList))) + richcompareCheck(constructFunction("ge", listOf(typeSystem.pythonList, typeSystem.pythonList))) } @Test fun testAddAndCompare() { check2WithConcreteRun( - constructFunction("add_and_compare", listOf(pythonList, pythonList)), + constructFunction("add_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, @@ -254,7 +252,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach val oldOptions = options options = UMachineOptions(stepLimit = 15U) check2WithConcreteRun( - constructFunction("double_subscript_and_compare", listOf(pythonList, pythonList)), + constructFunction("double_subscript_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt index 995b3e4c6e..0d52d1cb0e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt @@ -2,7 +2,6 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.language.types.PythonAnyType -import org.usvm.language.types.pythonInt import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq @@ -10,7 +9,7 @@ class SimpleUsageOfModulesTest: PythonTestRunnerForStructuredProgram("sample_sub @Test fun testConstructClassInstance() { check1WithConcreteRun( - constructFunction("construct_class_instance", List(1) { pythonInt }), + constructFunction("construct_class_instance", List(1) { typeSystem.pythonInt }), eq(2), compareConcolicAndConcreteTypes, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "SimpleClass" }, @@ -25,7 +24,7 @@ class SimpleUsageOfModulesTest: PythonTestRunnerForStructuredProgram("sample_sub fun testInnerImport() { allowPathDiversions = true check1WithConcreteRun( - constructFunction("inner_import", List(1) { pythonInt }), + constructFunction("inner_import", List(1) { typeSystem.pythonInt }), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "int" }, From 0aa3b28d0d316f9a60ce4704998e07d54d3008a3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 11 Aug 2023 19:56:52 +0300 Subject: [PATCH 062/344] New samples; started type prioritization --- usvm-python/build.gradle.kts | 2 + usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 16 ++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 13 ++++ .../src/main/c/virtual_objects.c | 9 +++ .../src/main/json/adapter_method_defs.json | 12 +++ .../src/main/json/handler_defs.json | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 26 ++++--- .../kotlin/org/usvm/language/Callables.kt | 1 + .../org/usvm/language/types/TypeSystem.kt | 4 - .../org/usvm/language/types/VirtualTypes.kt | 5 ++ .../org/usvm/machine/PythonExecutionState.kt | 8 ++ .../kotlin/org/usvm/machine/PythonMachine.kt | 1 + .../interpreters/ConcretePythonInterpreter.kt | 8 +- .../interpreters/USVMPythonInterpreter.kt | 13 +++- .../operations/MethodNotifications.kt | 5 ++ .../machine/types/prioritization/TypeGraph.kt | 78 +++++++++++++++++++ .../PythonObjectSerializer.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 15 +--- .../org/usvm/runner/PythonTestRunner.kt | 2 + .../usvm/samples/SimpleCustomClassesTest.kt | 21 +++++ .../resources/samples/SimpleCustomClasses.py | 18 +++++ 22 files changed, 235 insertions(+), 31 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt rename usvm-python/src/main/kotlin/org/usvm/{machine => utils}/PythonObjectSerializer.kt (97%) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt create mode 100644 usvm-python/src/test/resources/samples/SimpleCustomClasses.py diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 6b03ef378d..0ead1e8fdf 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -33,6 +33,8 @@ val installMypyRunner = tasks.register("installUtbotMypyRunner") { val buildSamples = tasks.register("buildSamples") { dependsOn(installMypyRunner) + inputs.dir(samplesSourceDir) + outputs.dir(samplesBuildDir) group = "samples" classpath = sourceSets.test.get().runtimeClasspath args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 75f89de5a5..4578813a95 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 75f89de5a59087965d4e8b4dc03448410f351ec3 +Subproject commit 4578813a95e9857a496f7a1d07beb40ec37f2243 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 1dec3cfd46..fc43c5f70a 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -95,6 +95,14 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getAddresOfReprFunction + * Signature: (J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getAddressOfReprFunction + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: getPythonObjectTypeName @@ -183,6 +191,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultiply (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbMatrixMultiply + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMatrixMultiply + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasSqLength diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index a8bd1d5c23..e7517b31e6 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -189,10 +189,18 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { PyObject *repr = PyObject_Repr((PyObject *) object_ref); + if (!repr) { + PyErr_Clear(); + return 0; + } const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); return (*env)->NewStringUTF(env, repr_as_string); } +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getAddressOfReprFunction(JNIEnv *env, jobject _, jlong object_ref) { + return (jlong) ((PyTypeObject *) object_ref)->tp_repr; +} + JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName(JNIEnv *env, jobject _, jlong object_ref) { const char *type_name = Py_TYPE(object_ref)->tp_name; return (*env)->NewStringUTF(env, type_name); @@ -261,6 +269,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultipl return type->tp_as_number && type->tp_as_number->nb_multiply; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMatrixMultiply(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_matrix_multiply; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_sequence && type->tp_as_sequence->sq_length; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 26d4d45336..835c7e6f8e 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -90,6 +90,12 @@ nb_multiply(PyObject *first, PyObject *second) { BINARY_FUNCTION } +static PyObject * +nb_matrix_multiply(PyObject *first, PyObject *second) { + assert(is_virtual_object(first)); + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) first, 0) +} + static Py_ssize_t sq_length(PyObject *self) { VirtualPythonObject *obj = (VirtualPythonObject *) self; @@ -149,6 +155,8 @@ static PyNumberMethods virtual_as_number = { 0, /* nb_inplace_floor_divide */ 0, /* nb_inplace_true_divide */ 0, /* nb_index */ + nb_matrix_multiply, /* nb_matrix_multiply */ + 0, /* nb_inplace_matrix_multiply */ }; static PySequenceMethods virtual_as_sequence = { @@ -251,5 +259,6 @@ void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_iter = tp_iter; adapter->virtual_nb_add = nb_add; adapter->virtual_nb_multiply = nb_multiply; + adapter->virtual_nb_matrix_multiply = nb_matrix_multiply; adapter->virtual_mp_subscript = mp_subscript; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index e4394866fc..9bd94a877c 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -383,6 +383,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "nb_matrix_multiply", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "sq_length", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 257f43d94f..3f458767b1 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -159,6 +159,11 @@ "java_name": "notifyNbMultiply", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "nb_matrix_multiply", + "java_name": "notifyNbMatrixMultiply", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "sq_length", "java_name": "notifySqLength", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 4435e96648..5fdb386f09 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.concurrent.Callable; +import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @@ -32,6 +33,7 @@ public class CPythonAdapter { public native void printPythonObject(long object); public native long[] getIterableElements(long iterable); public native String getPythonObjectRepr(long object); + public native long getAddressOfReprFunction(long object); public native String getPythonObjectTypeName(long object); public native long getPythonObjectType(long object); public native String getNameOfPythonType(long type); @@ -43,6 +45,7 @@ public class CPythonAdapter { public native int typeHasNbInt(long type); public native int typeHasNbAdd(long type); public native int typeHasNbMultiply(long type); + public native int typeHasNbMatrixMultiply(long type); public native int typeHasSqLength(long type); public native int typeHasMpLength(long type); public native int typeHasMpSubscript(long type); @@ -223,47 +226,52 @@ public static void addConcreteSupertype(ConcolicRunContext context, SymbolForCPy public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbBoolKt(context, symbol.obj); + nbBoolKt(context, symbol.obj); } public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbIntKt(context, symbol.obj); + nbIntKt(context, symbol.obj); } public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left, right), null); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbAddKt(context, left.obj, right.obj); + nbAddKt(context, left.obj, right.obj); } public static void notifyNbMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left, right), null); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.nbMultiplyKt(context, left.obj, right.obj); + nbMultiplyKt(context, left.obj, right.obj); + } + + public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + context.curOperation = new MockHeader(NbMatrixMultiplyMethod.INSTANCE, Arrays.asList(left, right), left); + nbMatrixMultiplyKt(context, left.obj); } public static void notifySqLength(@NotNull ConcolicRunContext context, SymbolForCPython on) { context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on), on); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.sqLengthKt(context, on.obj); + sqLengthKt(context, on.obj); } public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.mpSubscriptKt(context, storage.obj); + mpSubscriptKt(context, storage.obj); } public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage, item, value), storage); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.mpAssSubscriptKt(context, storage.obj); + mpAssSubscriptKt(context, storage.obj); } public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.tpRichcmpKt(context, left.obj); + tpRichcmpKt(context, left.obj); } public static void notifyTpIter(@NotNull ConcolicRunContext context, SymbolForCPython on) { context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on), on); - org.usvm.machine.interpreters.operations.MethodNotificationsKt.tpIterKt(context, on.obj); + tpIterKt(context, on.obj); } public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt index 9d3dd9888e..b59312c70d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt @@ -30,6 +30,7 @@ object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) object NbAddMethod: TypeMethod(false) object NbMultiplyMethod: TypeMethod(false) +object NbMatrixMultiplyMethod: TypeMethod(false) object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) object MpAssSubscriptMethod: TypeMethod(false) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 87f7b36f6a..f5065699e9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -117,9 +117,6 @@ class PythonTypeSystemWithMypyInfo( init { withAdditionalPaths(program.additionalPaths) { allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utType -> - if (utType.pythonTypeRepresentation().startsWith("sample")) { - println("Here!") - } val refGetter = { val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) ConcretePythonInterpreter.eval(namespace, utType.pythonName()) @@ -134,7 +131,6 @@ class PythonTypeSystemWithMypyInfo( addType(refGetter) } - println("Initialized!") } } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index b1bedb285b..a6bf62740c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -47,6 +47,11 @@ object HasNbMultiply: TypeProtocol() { ConcretePythonInterpreter.typeHasNbMultiply(type.asObject) } +object HasNbMatrixMultiply: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbMatrixMultiply(type.asObject) +} + object HasSqLength: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasSqLength(type.asObject) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index b7cf24ea07..f215612ebf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -74,6 +74,14 @@ class PythonExecutionState( what.methodOwner?.let { mockedObjects.add(it) } return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) } + + fun getMocksForSymbol(symbol: SymbolForCPython): List> = + mocks.mapNotNull { (mockHeader, mockResult) -> + if (mockHeader.methodOwner == symbol) + mockHeader to SymbolForCPython(UninterpretedSymbolicPythonObject(mockResult, typeSystem)) + else + null + } } class DelayedFork( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index cfb7966d98..2688f74776 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -13,6 +13,7 @@ import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver +import org.usvm.utils.PythonObjectSerializer class PythonMachine( private val program: PythonProgram, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 58db79490f..77c26ed5d7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -5,6 +5,7 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext +@Suppress("unused") object ConcretePythonInterpreter { private val pythonAdapter = CPythonAdapter() @@ -82,7 +83,11 @@ object ConcretePythonInterpreter { } fun getPythonObjectRepr(pythonObject: PythonObject): String { - return pythonAdapter.getPythonObjectRepr(pythonObject.address) + return pythonAdapter.getPythonObjectRepr(pythonObject.address) ?: throw CPythonExecutionException() + } + + fun getAddressOfReprFunction(pythonObject: PythonObject): Long { + return pythonAdapter.getAddressOfReprFunction(pythonObject.address) } fun getPythonObjectTypeName(pythonObject: PythonObject): String { @@ -141,6 +146,7 @@ object ConcretePythonInterpreter { val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } val typeHasNbAdd = createTypeQuery { pythonAdapter.typeHasNbAdd(it) } val typeHasNbMultiply = createTypeQuery { pythonAdapter.typeHasNbMultiply(it) } + val typeHasNbMatrixMultiply = createTypeQuery { pythonAdapter.typeHasNbMatrixMultiply(it) } val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } val typeHasMpLength = createTypeQuery { pythonAdapter.typeHasMpLength(it) } val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 001065ed3f..4e942cc0f2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -4,7 +4,6 @@ import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonPinnedCallable -import org.usvm.language.PythonProgram import org.usvm.machine.interpreters.operations.BadModelException import org.usvm.machine.interpreters.operations.UnregisteredVirtualOperation import org.usvm.machine.symbolicobjects.* @@ -14,7 +13,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.operations.myAssertOnState import org.usvm.machine.utils.PyModelHolder -import org.usvm.utils.withAdditionalPaths +import org.usvm.utils.PythonObjectSerializer class USVMPythonInterpreter( private val ctx: UPythonContext, @@ -75,7 +74,15 @@ class USVMPythonInterpreter( val converter = concolicRunContext.converter val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getPythonVirtualObjects() - val inputs = getInputs(converter, concrete, seeds) + val inputs = runCatching { + getInputs(converter, concrete, seeds) + }.getOrElse { + logger.debug( + "Error while serializing inputs. Types: {}. Omitting step...", + seeds.map { it.getConcreteType() } + ) + return StepResult(emptySequence(), false) + } if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt index bc50646f5e..d3be5543d7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt @@ -24,6 +24,11 @@ fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonO myAssert(context, left.evalIs(context, HasNbMultiply) or right.evalIs(context, HasNbMultiply)) } +fun nbMatrixMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { + context.curState ?: return + myAssert(context, left.evalIs(context, HasNbMatrixMultiply)) +} + fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return on.addSupertype(context, HasSqLength) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt new file mode 100644 index 0000000000..b317dfe1ee --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt @@ -0,0 +1,78 @@ +package org.usvm.machine.types.prioritization + +import org.usvm.language.* +import org.usvm.machine.PythonExecutionState +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.inference.TypeInferenceEdgeWithBound +import org.utbot.python.newtyping.inference.TypeInferenceNode +import org.utbot.python.newtyping.pythonAnyType + +class TypeGraph( + private val state: PythonExecutionState, + rootSymbol: SymbolForCPython +) { + private val root = TypeGraphNode(rootSymbol) + private fun generateSuccessors(node: TypeGraphNode): List { + state.getMocksForSymbol(node.symbol).forEach { (mockHeader, _ /*resultSymbol*/) -> + // val newNode = TypeGraphNode(resultSymbol) + when (mockHeader.method) { + MpAssSubscriptMethod -> TODO() + MpSubscriptMethod -> TODO() + NbAddMethod -> TODO() + NbBoolMethod -> TODO() + NbIntMethod -> TODO() + NbMatrixMultiplyMethod -> TODO() + NbMultiplyMethod -> TODO() + SqLengthMethod -> TODO() + TpIterMethod -> TODO() + is TpRichcmpMethod -> TODO() + } + } + TODO() + } + + private fun generateNodes(node: TypeGraphNode) { + generateSuccessors(node).forEach { + generateNodes(it) + } + } + + private fun propagateBounds() { + dfs(root) { edge -> + edge.from.upperBounds.forEach { + val newBounds = edge.dependency(it) + edge.to.upperBounds += newBounds + } + } + } + + private fun dfs(node: TypeGraphNode, onEdge: (TypeGraphEdge) -> Unit) { + node.ingoingEdges.forEach { edge -> + dfs(edge.from, onEdge) + onEdge(edge) + } + } + + val boundsForRoot: List + get() = root.upperBounds + + init { + generateNodes(root) + propagateBounds() + } +} + +class TypeGraphNode(val symbol: SymbolForCPython): TypeInferenceNode { + override val partialType: UtType = pythonAnyType + override val ingoingEdges = mutableListOf() + override val outgoingEdges = mutableListOf() + val upperBounds = mutableListOf() +} + +class TypeGraphEdge( + override val from: TypeGraphNode, + override val to: TypeGraphNode, + override val dependency: (UtType) -> List +): TypeInferenceEdgeWithBound { + override val boundType: TypeInferenceEdgeWithBound.BoundType = TypeInferenceEdgeWithBound.BoundType.Upper +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt rename to usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt index ca345df179..b76fdb8397 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonObjectSerializer.kt +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt @@ -1,4 +1,4 @@ -package org.usvm.machine +package org.usvm.utils import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index fef435d75e..89e9159921 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,24 +5,15 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.runner.SamplesBuild +import org.usvm.utils.ReprObjectSerializer fun main() { val (program, typeSystem) = constructStructuredProgram() val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "simple_class_isinstance", - "sample_submodule.SimpleUsageOfModules" + "matmul_and_add", + "SimpleCustomClasses" ) - println("sys.path before analysis:") - System.out.flush() - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, "import sys") - ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.eval(namespace, "sys.path")) - ConcretePythonInterpreter.decref(namespace) - - println("Initial sys.path:") - System.out.flush() - ConcretePythonInterpreter.printPythonObject(ConcretePythonInterpreter.initialSysPath) val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = true) val start = System.currentTimeMillis() diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 9555d56c7f..8bf20011f5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -9,6 +9,8 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher +import org.usvm.utils.PythonObjectInfo +import org.usvm.utils.StandardPythonObjectSerializer sealed class PythonTestRunner( protected val module: String, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt new file mode 100644 index 0000000000..239afa2986 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -0,0 +1,21 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses") { + @Test + fun testMatmulUsage() { + check1WithConcreteRun( + constructFunction("matmul_usage", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf { x, res -> + x.typeName == "ClassWithMatmulAndAdd" && res.typeName == "ClassWithMatmulAndAdd" + } + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py new file mode 100644 index 0000000000..73f6627df1 --- /dev/null +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -0,0 +1,18 @@ +class ClassWithMatmulAndAdd: + def __init__(self): + pass + + def __matmul__(self, other): + return self + + def __add__(self, other): + return self + + +def matmul_usage(x): + return x @ x + + +def matmul_and_add(x): + y = x + 10 + return y @ x \ No newline at end of file From 505cdef75fd1fe895d22333412fb6f236878905b Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 14 Aug 2023 12:36:34 +0300 Subject: [PATCH 063/344] Small refactoring of utbot-python-types --- .../org/usvm/language/types/TypeSystem.kt | 5 +- .../kotlin/org/usvm/runner/BuildSamples.kt | 4 +- .../org/utbot/python/newtyping/PythonType.kt | 10 ++-- .../utbot/python/newtyping/PythonTypeAPI.kt | 2 +- .../python/newtyping/PythonTypeComparison.kt | 5 +- .../PythonTypeConstraintPropagation.kt | 4 +- .../newtyping/PythonTypeCreationRoutines.kt | 2 +- ...intsBuild.kt => PythonTypeHintsStorage.kt} | 6 +- .../utbot/python/newtyping/general/UtType.kt | 6 +- .../utbot/python/newtyping/mypy/RunMypy.kt | 57 ++++++++++--------- .../PythonCompositeTypeDescriptionTest.kt | 7 +-- .../newtyping/PythonSubtypeCheckerTest.kt | 4 +- .../PythonTypeConstraintPropagationKtTest.kt | 6 +- .../python/newtyping/mypy/MypyBuildKtTest.kt | 8 +-- 14 files changed, 67 insertions(+), 59 deletions(-) rename usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/{PythonTypeHintsBuild.kt => PythonTypeHintsStorage.kt} (95%) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index f5065699e9..3865afa229 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -9,11 +9,10 @@ import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem import org.usvm.utils.withAdditionalPaths -import org.utbot.python.newtyping.PythonTypeHintsBuild +import org.utbot.python.newtyping.PythonTypeHintsStorage import org.utbot.python.newtyping.mypy.MypyInfoBuild import org.utbot.python.newtyping.pythonModuleName import org.utbot.python.newtyping.pythonName -import org.utbot.python.newtyping.pythonTypeRepresentation abstract class PythonTypeSystem: UTypeSystem { @@ -105,7 +104,7 @@ class PythonTypeSystemWithMypyInfo( mypyBuild: MypyInfoBuild, private val program: StructuredPythonProgram ): PythonTypeSystem() { - private val typeHintsStorage = PythonTypeHintsBuild.get(mypyBuild) + private val typeHintsStorage = PythonTypeHintsStorage.get(mypyBuild) private fun typeAlreadyInStorage(typeRef: PythonObject): Boolean = addressToConcreteType.keys.contains(typeRef) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt index 40794cc895..b9366f3d59 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -1,7 +1,7 @@ package org.usvm.runner import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorageAndInitialErrors +import org.utbot.python.newtyping.mypy.buildMypyInfo import java.io.File import java.nio.file.Files import java.nio.file.Paths @@ -26,5 +26,5 @@ fun main(args: Array) { .replace("/", ".") .replace("\\", ",") } - readMypyAnnotationStorageAndInitialErrors(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir, isolated = true) + buildMypyInfo(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir) } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt index 04795ed04b..e806d76f7b 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt @@ -8,7 +8,7 @@ sealed class PythonTypeDescription(name: Name) : TypeMetaDataWithName(name) { open fun castToCompatibleTypeApi(type: UtType): UtType = type open fun getNamedMembers(type: UtType): List = emptyList() // direct members (without inheritance) open fun getAnnotationParameters(type: UtType): List = emptyList() - open fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? = + open fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? = // overridden for some types getNamedMembers(type).find { it.meta.name == name } open fun createTypeWithNewAnnotationParameters(like: UtType, newParams: List): UtType = // overriden for Callable @@ -67,7 +67,7 @@ sealed class PythonCompositeTypeDescription( } override fun getAnnotationParameters(type: UtType): List = type.parameters - fun mro(storage: PythonTypeHintsBuild, type: UtType): List { + fun mro(storage: PythonTypeHintsStorage, type: UtType): List { val compositeType = castToCompatibleTypeApi(type) var bases = compositeType.supertypes if (bases.isEmpty() && !type.isPythonObjectType()) @@ -102,7 +102,7 @@ sealed class PythonCompositeTypeDescription( return result } - override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? { + override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? { for (parent in mro(storage, type)) { val cur = parent.getPythonAttributes().find { it.meta.name == name } if (cur != null) @@ -250,7 +250,7 @@ class PythonCallableTypeDescription( // Special Python annotations object PythonAnyTypeDescription : PythonSpecialAnnotation(pythonAnyName) { - override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition { + override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition { return PythonDefinition(PythonVariableDescription(name), pythonAnyType) } } @@ -260,7 +260,7 @@ object PythonNoneTypeDescription : PythonSpecialAnnotation(pythonNoneName) { } object PythonUnionTypeDescription : PythonSpecialAnnotation(pythonUnionName) { - override fun getMemberByName(storage: PythonTypeHintsBuild, type: UtType, name: String): PythonDefinition? { + override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? { val children = type.parameters.mapNotNull { it.getPythonAttributeByName(storage, name)?.type } diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt index cd9dac3b1b..1d5fd0225b 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt @@ -14,7 +14,7 @@ fun UtType.getPythonAttributes(): List { return pythonDescription().getNamedMembers(this) } -fun UtType.getPythonAttributeByName(storage: PythonTypeHintsBuild, name: String): PythonDefinition? { +fun UtType.getPythonAttributeByName(storage: PythonTypeHintsStorage, name: String): PythonDefinition? { return pythonDescription().getMemberByName(storage, this, name) } diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt index 76f198bb56..2abbd46b8f 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt @@ -120,7 +120,7 @@ const val MAX_RECURSION_DEPTH = 100 class PythonSubtypeChecker( val left: UtType, val right: UtType, - private val pythonTypeStorage: PythonTypeHintsBuild, + private val pythonTypeStorage: PythonTypeHintsStorage, private val typeParameterCorrespondence: List>, private val assumingSubtypePairs: List>, private val recursionDepth: Int, @@ -165,6 +165,7 @@ class PythonSubtypeChecker( // just in case if (recursionDepth >= MAX_RECURSION_DEPTH) { + // logger.warn("Recursion depth limit exceeded") return false } @@ -465,7 +466,7 @@ class PythonSubtypeChecker( } companion object { - fun checkIfRightIsSubtypeOfLeft(left: UtType, right: UtType, pythonTypeStorage: PythonTypeHintsBuild): Boolean = + fun checkIfRightIsSubtypeOfLeft(left: UtType, right: UtType, pythonTypeStorage: PythonTypeHintsStorage): Boolean = PythonSubtypeChecker( left = left, right = right, diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt index d3e822c049..c3d24d0d76 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt @@ -25,7 +25,7 @@ data class TypeConstraint( ) // key of returned Map: index of annotationParameter -fun propagateConstraint(type: UtType, constraint: TypeConstraint, storage: PythonTypeHintsBuild): Map { +fun propagateConstraint(type: UtType, constraint: TypeConstraint, storage: PythonTypeHintsStorage): Map { return when (val description = type.pythonDescription()) { is PythonAnyTypeDescription, is PythonNoneTypeDescription, is PythonTypeVarDescription -> emptyMap() is PythonOverloadTypeDescription -> emptyMap() // TODO @@ -44,7 +44,7 @@ private fun propagateConstraintForCompositeType( type: UtType, description: PythonCompositeTypeDescription, constraint: TypeConstraint, - storage: PythonTypeHintsBuild + storage: PythonTypeHintsStorage ): Map { return when (val constraintDescription = constraint.type.pythonDescription()) { is PythonConcreteCompositeTypeDescription -> { diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt index 4b1fc214e9..7e16a6aa7f 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt @@ -9,7 +9,7 @@ import org.utbot.python.newtyping.general.UtType fun createIterableWithCustomReturn(returnType: UtType): UtType = createUnaryProtocolWithCustomReturn("__iter__", returnType) -fun supportsBoolProtocol(storage: PythonTypeHintsBuild): UtType = +fun supportsBoolProtocol(storage: PythonTypeHintsStorage): UtType = createUnaryProtocolWithCustomReturn("__bool__", storage.pythonBool) fun createProtocolWithAttribute(attributeName: String, attributeType: UtType): UtType = diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt similarity index 95% rename from usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt rename to usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt index 9e69203bd4..a5f1c3554a 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsBuild.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt @@ -8,7 +8,7 @@ import org.utbot.python.newtyping.mypy.CompositeAnnotationNode import org.utbot.python.newtyping.mypy.MypyAnnotation import org.utbot.python.newtyping.mypy.MypyInfoBuild -class PythonTypeHintsBuild( +class PythonTypeHintsStorage( val pythonObject: UtType, val pythonBool: UtType, val pythonList: UtType, @@ -44,7 +44,7 @@ class PythonTypeHintsBuild( } } } - fun get(mypyStorage: MypyInfoBuild): PythonTypeHintsBuild { + fun get(mypyStorage: MypyInfoBuild): PythonTypeHintsStorage { val module = mypyStorage.definitions["builtins"]!! val allTypes: MutableSet = mutableSetOf() mypyStorage.definitions.forEach { (_, curModule) -> @@ -55,7 +55,7 @@ class PythonTypeHintsBuild( } val tuple = module["tuple"]!!.type.asUtBotType val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) - return PythonTypeHintsBuild( + return PythonTypeHintsStorage( pythonObject = module["object"]!!.type.asUtBotType, pythonBool = module["bool"]!!.type.asUtBotType, pythonList = module["list"]!!.type.asUtBotType, diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt index 48d3ec7c5d..e88a70eb37 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt @@ -24,7 +24,11 @@ interface CompositeType: UtType { } open class TypeMetaData -open class TypeMetaDataWithName(val name: Name): TypeMetaData() +open class TypeMetaDataWithName(val name: Name): TypeMetaData() { + override fun toString(): String { + return name.toString() + } +} class TypeParameter(val definedAt: UtType): UtType { // tricky case with cyclic dependency; constraints may be changed after substitution diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt index f9e181adb3..04f8fd650e 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt @@ -40,39 +40,35 @@ class MypyBuildDirectory( } } -fun readMypyAnnotationStorageAndInitialErrors( +fun buildMypyInfo( pythonPath: String, sourcePaths: List, modules: List, mypyBuildDir: MypyBuildDirectory, - isolated: Boolean = false -): Pair> { - val pythonArgs = listOf( + moduleForTypes: String? = null +) { + val cmdPrefix = listOf( pythonPath, "-X", - "utf8" - ) + if (isolated) listOf("-s") else emptyList() - val result = runCommand( - pythonArgs + - listOf( - "-m", - "utbot_mypy_runner", - "--config", - mypyBuildDir.configFile.absolutePath, - "--sources" - ) + sourcePaths.map { it.modifyWindowsPath() } + - listOf("--modules") + modules + - listOf( - "--annotations_out", - mypyBuildDir.fileForAnnotationStorage.absolutePath, - "--mypy_stdout", - mypyBuildDir.fileForMypyStdout.absolutePath, - "--mypy_stderr", - mypyBuildDir.fileForMypyStderr.absolutePath, - "--mypy_exit_status", - mypyBuildDir.fileForMypyExitStatus.absolutePath) + - if (modules.size == 1) listOf("--module_for_types", modules.first()) else emptyList() + "utf8", + "-m", + "utbot_mypy_runner", + "--config", + mypyBuildDir.configFile.absolutePath, + "--annotations_out", + mypyBuildDir.fileForAnnotationStorage.absolutePath, + "--mypy_stdout", + mypyBuildDir.fileForMypyStdout.absolutePath, + "--mypy_stderr", + mypyBuildDir.fileForMypyStderr.absolutePath, + "--mypy_exit_status", + mypyBuildDir.fileForMypyExitStatus.absolutePath ) + val cmdSources = listOf("--sources") + sourcePaths.map { it.modifyWindowsPath() } + val cmdModules = listOf("--modules") + modules + val cmdModuleForTypes = if (moduleForTypes != null) listOf("--module_for_types", moduleForTypes) else emptyList() + val cmd = cmdPrefix + cmdSources + cmdModules + cmdModuleForTypes + val result = runCommand(cmd) val stderr = if (mypyBuildDir.fileForMypyStderr.exists()) mypyBuildDir.fileForMypyStderr.readText() else null val stdout = if (mypyBuildDir.fileForMypyStdout.exists()) mypyBuildDir.fileForMypyStdout.readText() else null val mypyExitStatus = if (mypyBuildDir.fileForMypyExitStatus.exists()) mypyBuildDir.fileForMypyExitStatus.readText() else null @@ -81,6 +77,15 @@ fun readMypyAnnotationStorageAndInitialErrors( "\nPython stderr ${result.stderr}" + "\nMypy stderr: $stderr" + "\nMypy stdout: $stdout") +} + +fun readMypyAnnotationStorageAndInitialErrors( + pythonPath: String, + sourcePath: String, + module: String, + mypyBuildDir: MypyBuildDirectory +): Pair> { + buildMypyInfo(pythonPath, listOf(sourcePath), listOf(module), mypyBuildDir, module) return Pair( readMypyInfoBuild(mypyBuildDir), getErrorsAndNotes(mypyBuildDir.fileForMypyStdout.readText()) diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt index 14f07f8190..d67525ee72 100644 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt @@ -4,19 +4,18 @@ import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.BeforeAll import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.mypy.MypyBuildKtTest import org.utbot.python.newtyping.mypy.MypyInfoBuild import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot @TestInstance(TestInstance.Lifecycle.PER_CLASS) internal class PythonCompositeTypeDescriptionTest { lateinit var storage: MypyInfoBuild - private lateinit var pythonTypeStorage: PythonTypeHintsBuild + private lateinit var pythonTypeStorage: PythonTypeHintsStorage @BeforeAll fun setup() { - val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsBuild.get(storage) + pythonTypeStorage = PythonTypeHintsStorage.get(storage) } @Test diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt index 55832cb825..251ef22c68 100644 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt @@ -14,12 +14,12 @@ import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot @TestInstance(TestInstance.Lifecycle.PER_CLASS) internal class PythonSubtypeCheckerTest { lateinit var storage: MypyInfoBuild - lateinit var pythonTypeStorage: PythonTypeHintsBuild + lateinit var pythonTypeStorage: PythonTypeHintsStorage @BeforeAll fun setup() { val sample = PythonSubtypeCheckerTest::class.java.getResource("/subtypes_sample.json")!!.readText() storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsBuild.get(storage) + pythonTypeStorage = PythonTypeHintsStorage.get(storage) } @Test diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt index 34efa8d729..d829eaa097 100644 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt @@ -12,12 +12,12 @@ import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot @TestInstance(TestInstance.Lifecycle.PER_CLASS) internal class PythonTypeConstraintPropagationKtTest { lateinit var storage: MypyInfoBuild - lateinit var pythonTypeStorage: PythonTypeHintsBuild + lateinit var pythonTypeStorage: PythonTypeHintsStorage @BeforeAll fun setup() { - val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsBuild.get(storage) + pythonTypeStorage = PythonTypeHintsStorage.get(storage) } @Test diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt index c04a1bb9a9..b63fb8a834 100644 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt +++ b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt @@ -10,14 +10,14 @@ import org.utbot.python.newtyping.general.* @TestInstance(TestInstance.Lifecycle.PER_CLASS) internal class MypyBuildKtTest { lateinit var storage: MypyInfoBuild - lateinit var typeStorage: PythonTypeHintsBuild + lateinit var typeStorage: PythonTypeHintsStorage lateinit var storageBoruvka: MypyInfoBuild @BeforeAll fun setup() { - val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() + val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() storage = readMypyInfoBuildWithoutRoot(sample) - typeStorage = PythonTypeHintsBuild.get(storage) - val sample1 = MypyBuildKtTest::class.java.getResource("/boruvka.json")!!.readText() + typeStorage = PythonTypeHintsStorage.get(storage) + val sample1 = this::class.java.getResource("/boruvka.json")!!.readText() storageBoruvka = readMypyInfoBuildWithoutRoot(sample1) } From 55fa367218dc7a1b7828fc3f83e8c7ac38e4da57 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 14 Aug 2023 18:00:50 +0300 Subject: [PATCH 064/344] Added type prioritization --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 10 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 29 ++++- .../src/main/c/virtual_objects.c | 9 +- .../src/main/json/adapter_method_defs.json | 12 ++ .../src/main/json/handler_defs.json | 5 + .../org/usvm/interpreter/CPythonAdapter.java | 21 +++- .../org/usvm/language/SymbolForCPython.java | 12 ++ .../kotlin/org/usvm/language/Callables.kt | 1 + .../main/kotlin/org/usvm/language/Program.kt | 9 +- .../org/usvm/language/types/TypeSystem.kt | 20 ++- .../org/usvm/language/types/VirtualTypes.kt | 5 + .../org/usvm/machine/PythonExecutionState.kt | 15 ++- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../org/usvm/machine/PythonMockEvaluator.kt | 7 +- .../usvm/machine/PythonVirtualPathSelector.kt | 7 +- .../interpreters/ConcretePythonInterpreter.kt | 13 ++ .../operations/MethodNotifications.kt | 5 + .../interpreters/operations/Virtual.kt | 5 +- .../types/prioritization/Prioritization.kt | 21 ++++ .../types/prioritization/SymbolTypeTree.kt | 115 ++++++++++++++++++ .../machine/types/prioritization/TypeGraph.kt | 78 ------------ .../org/usvm/utils/PythonImportUtils.kt | 4 +- usvm-python/src/test/kotlin/manualTest.kt | 9 +- .../org/usvm/runner/PythonTestRunner.kt | 2 +- .../usvm/samples/SimpleCustomClassesTest.kt | 36 ++++++ .../resources/samples/SimpleCustomClasses.py | 26 +++- .../utbot-python-types/build.gradle.kts | 6 +- .../newtyping/PythonTypeCreationRoutines.kt | 40 ++---- 29 files changed, 372 insertions(+), 154 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt delete mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 4578813a95..0da97922ec 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 4578813a95e9857a496f7a1d07beb40ec37f2243 +Subproject commit 0da97922eccfb1f0413254088f2d0f228f8df7a3 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index fc43c5f70a..8b81a78ac4 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -97,7 +97,7 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje /* * Class: org_usvm_interpreter_CPythonAdapter - * Method: getAddresOfReprFunction + * Method: getAddressOfReprFunction * Signature: (J)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getAddressOfReprFunction @@ -183,6 +183,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbSubtract + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbSubtract + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasNbMultiply diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index e7517b31e6..4e01238946 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -10,11 +10,14 @@ #include "internal/pycore_frame.h" -#define SET_IS_INITIALIZED(value) \ - jclass cls = (*env)->GetObjectClass(env, cpython_adapter); \ - jfieldID f = (*env)->GetFieldID(env, cls, "isInitialized", "Z"); \ +#define SET_BOOLEAN_FIELD(field_name, value) \ + f = (*env)->GetFieldID(env, cls, field_name, "Z"); \ (*env)->SetBooleanField(env, cpython_adapter, f, value); +#define SET_INTEGER_FIELD(field_name, value) \ + f = (*env)->GetFieldID(env, cls, field_name, "I"); \ + (*env)->SetIntField(env, cpython_adapter, f, value); + #define SET_EXCEPTION_IN_CPYTHONADAPTER \ PyObject *type, *value, *traceback; \ PyErr_Fetch(&type, &value, &traceback); \ @@ -32,12 +35,23 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython Py_InitializeFromConfig(&config); PyConfig_Clear(&config); - SET_IS_INITIALIZED(JNI_TRUE); + + jclass cls = (*env)->GetObjectClass(env, cpython_adapter); + jfieldID f; + SET_BOOLEAN_FIELD("isInitialized", JNI_TRUE) + SET_INTEGER_FIELD("pyEQ", Py_EQ) + SET_INTEGER_FIELD("pyNE", Py_NE) + SET_INTEGER_FIELD("pyLT", Py_LT) + SET_INTEGER_FIELD("pyLE", Py_LE) + SET_INTEGER_FIELD("pyGT", Py_GT) + SET_INTEGER_FIELD("pyGE", Py_GE) } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { Py_FinalizeEx(); - SET_IS_INITIALIZED(JNI_FALSE); + jclass cls = (*env)->GetObjectClass(env, cpython_adapter); + jfieldID f; + SET_BOOLEAN_FIELD("isInitialized", JNI_FALSE) } JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace(JNIEnv *env, jobject cpython_adapter) { @@ -264,6 +278,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd(JNI return type->tp_as_number && type->tp_as_number->nb_add; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbSubtract(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_subtract; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultiply(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_number && type->tp_as_number->nb_multiply; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 835c7e6f8e..f942d75abd 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -85,6 +85,12 @@ nb_add(PyObject *first, PyObject *second) { BINARY_FUNCTION } +static PyObject * +nb_subtract(PyObject *first, PyObject *second) { + assert(is_virtual_object(first)); + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) first, 0) +} + static PyObject * nb_multiply(PyObject *first, PyObject *second) { BINARY_FUNCTION @@ -122,7 +128,7 @@ mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { static PyNumberMethods virtual_as_number = { nb_add, /*nb_add*/ - 0, /*nb_subtract*/ + nb_subtract, /*nb_subtract*/ nb_multiply, /*nb_multiply*/ 0, /*nb_remainder*/ 0, /*nb_divmod*/ @@ -258,6 +264,7 @@ void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; adapter->virtual_tp_iter = tp_iter; adapter->virtual_nb_add = nb_add; + adapter->virtual_nb_subtract = nb_subtract; adapter->virtual_nb_multiply = nb_multiply; adapter->virtual_nb_matrix_multiply = nb_matrix_multiply; adapter->virtual_mp_subscript = mp_subscript; diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 9bd94a877c..bfe7f0991f 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -371,6 +371,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "nb_subtract", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "nb_multiply", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 3f458767b1..88c9a33ff3 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -154,6 +154,11 @@ "java_name": "notifyNbAdd", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "nb_subtract", + "java_name": "notifyNbSubtract", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "nb_multiply", "java_name": "notifyNbMultiply", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 5fdb386f09..7c9a6c7148 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -13,6 +13,7 @@ import java.util.concurrent.Callable; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; +import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @@ -22,6 +23,12 @@ public class CPythonAdapter { public long thrownException = 0L; public long thrownExceptionType = 0L; public long javaExceptionType = 0L; + public int pyEQ; + public int pyNE; + public int pyLE; + public int pyLT; + public int pyGE; + public int pyGT; public native void initializePython(); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict @@ -44,6 +51,7 @@ public class CPythonAdapter { public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); public native int typeHasNbAdd(long type); + public native int typeHasNbSubtract(long type); public native int typeHasNbMultiply(long type); public native int typeHasNbMatrixMultiply(long type); public native int typeHasSqLength(long type); @@ -239,6 +247,11 @@ public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPy nbAddKt(context, left.obj, right.obj); } + public static void notifyNbSubtract(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + context.curOperation = new MockHeader(NbSubtractMethod.INSTANCE, Arrays.asList(left, right), left); + nbSubtractKt(context, left.obj); + } + public static void notifyNbMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left, right), null); nbMultiplyKt(context, left.obj, right.obj); @@ -275,21 +288,21 @@ public static void notifyTpIter(@NotNull ConcolicRunContext context, SymbolForCP } public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { - return org.usvm.machine.interpreters.operations.VirtualKt.virtualNbBoolKt(context, obj); + return virtualNbBoolKt(context, obj); } public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject obj) { - return org.usvm.machine.interpreters.operations.VirtualKt.virtualNbIntKt(context, obj).getAddress(); + return virtualNbIntKt(context, obj).getAddress(); } public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObject obj) { - return org.usvm.machine.interpreters.operations.VirtualKt.virtualSqLengthKt(context, obj); + return virtualSqLengthKt(context, obj); } public static long virtualCall(ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); } - return org.usvm.machine.interpreters.operations.VirtualKt.virtualCallKt(context).getAddress(); + return virtualCallKt(context).getAddress(); } } diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index 009ca7a195..b34889139d 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -7,4 +7,16 @@ public class SymbolForCPython { public SymbolForCPython(UninterpretedSymbolicPythonObject obj) { this.obj = obj; } + + @Override + public boolean equals(Object other) { + if (!(other instanceof SymbolForCPython)) + return false; + return ((SymbolForCPython) other).obj.equals(this.obj); + } + + @Override + public int hashCode() { + return obj.hashCode(); + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt index b59312c70d..660a0ba87a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt @@ -29,6 +29,7 @@ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallab object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) object NbAddMethod: TypeMethod(false) +object NbSubtractMethod: TypeMethod(false) object NbMultiplyMethod: TypeMethod(false) object NbMatrixMultiplyMethod: TypeMethod(false) object SqLengthMethod: TypeMethod(true) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 3a8351f967..72e52dd9f7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -1,5 +1,7 @@ package org.usvm.language +import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.interpreters.emptyNamespace @@ -9,6 +11,7 @@ import java.io.File sealed class PythonProgram(val additionalPaths: Set) { abstract fun withPinnedCallable( callable: PythonUnpinnedCallable, + typeSystem: PythonTypeSystem, block: (PythonPinnedCallable) -> T ): T } @@ -19,6 +22,7 @@ class PrimitivePythonProgram internal constructor( ): PythonProgram(additionalPaths) { override fun withPinnedCallable( callable: PythonUnpinnedCallable, + typeSystem: PythonTypeSystem, block: (PythonPinnedCallable) -> T ): T { require(callable.module == null) @@ -38,8 +42,9 @@ class PrimitivePythonProgram internal constructor( class StructuredPythonProgram(private val roots: Set): PythonProgram(roots) { override fun withPinnedCallable( callable: PythonUnpinnedCallable, + typeSystem: PythonTypeSystem, block: (PythonPinnedCallable) -> T - ): T = withAdditionalPaths(roots) { + ): T = withAdditionalPaths(roots, typeSystem) { if (callable.module == null) { val pinned = PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas block(pinned) @@ -63,7 +68,7 @@ class StructuredPythonProgram(private val roots: Set): PythonProgram(roots return PythonNamespace(resultAsObj.address) } - fun getPrimitiveProgram(module: String): PrimitivePythonProgram = withAdditionalPaths(roots) { + fun getPrimitiveProgram(module: String): PrimitivePythonProgram = withAdditionalPaths(roots, null) { val namespace = getNamespaceOfModule(module) PrimitivePythonProgram(namespace, roots) } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 3865afa229..9ee91b4c79 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -10,6 +10,7 @@ import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem import org.usvm.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonTypeHintsStorage +import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.mypy.MypyInfoBuild import org.utbot.python.newtyping.pythonModuleName import org.utbot.python.newtyping.pythonName @@ -104,7 +105,7 @@ class PythonTypeSystemWithMypyInfo( mypyBuild: MypyInfoBuild, private val program: StructuredPythonProgram ): PythonTypeSystem() { - private val typeHintsStorage = PythonTypeHintsStorage.get(mypyBuild) + val typeHintsStorage = PythonTypeHintsStorage.get(mypyBuild) private fun typeAlreadyInStorage(typeRef: PythonObject): Boolean = addressToConcreteType.keys.contains(typeRef) @@ -113,8 +114,12 @@ class PythonTypeSystemWithMypyInfo( (ConcretePythonInterpreter.typeHasStandardNew(typeRef) || basicTypeRefs.contains(typeRef)) } + private val utTypeOfConcretePythonType = mutableMapOf() + + fun typeHintOfConcreteType(type: ConcretePythonType): UtType? = utTypeOfConcretePythonType[type] + init { - withAdditionalPaths(program.additionalPaths) { + withAdditionalPaths(program.additionalPaths, null) { allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utType -> val refGetter = { val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) @@ -125,10 +130,17 @@ class PythonTypeSystemWithMypyInfo( } catch (_: CPythonExecutionException) { return@mapNotNull null } - if (!isWorkableType(ref) || typeAlreadyInStorage(ref)) + if (!isWorkableType(ref)) + return@mapNotNull null + + if (typeAlreadyInStorage(ref)) { + utTypeOfConcretePythonType[concreteTypeOnAddress(ref)!!] = utType return@mapNotNull null + } - addType(refGetter) + addType(refGetter).also { concreteType -> + utTypeOfConcretePythonType[concreteType] = utType + } } } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index a6bf62740c..78188fc1ae 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -42,6 +42,11 @@ object HasNbAdd: TypeProtocol() { ConcretePythonInterpreter.typeHasNbAdd(type.asObject) } +object HasNbSubtract: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbSubtract(type.asObject) +} + object HasNbMultiply: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbMultiply(type.asObject) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index f215612ebf..fbc4c041a6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -8,9 +8,9 @@ import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.symbolicobjects.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.language.types.* +import org.usvm.machine.types.prioritization.SymbolTypeTree +import org.usvm.machine.types.prioritization.prioritizeTypes import org.usvm.machine.utils.PyModel import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase @@ -59,9 +59,12 @@ class PythonExecutionState( // TODO: here we will use Python type hints to prioritize concrete types fun makeTypeRating(delayedFork: DelayedFork): List { - val res = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).toList() - require(res.first() == TypeOfVirtualObject) - return res.drop(1) + val candidates = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).mapNotNull { it as? ConcretePythonType } + if (typeSystem is PythonTypeSystemWithMypyInfo) { + val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, SymbolForCPython(delayedFork.symbol)) + return prioritizeTypes(candidates, typeGraph, typeSystem) + } + return candidates } fun mock(what: MockHeader): MockResult { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 2688f74776..6d4aaad568 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -83,7 +83,7 @@ class PythonMachine( results: MutableList>, maxIterations: Int = 300, allowPathDiversion: Boolean = true - ): Int = program.withPinnedCallable(pythonCallable) { pinnedCallable -> + ): Int = program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> typeSystem.restart() val observer = PythonMachineObserver() val interpreter = getInterpreter(pythonCallable, pinnedCallable, results, allowPathDiversion) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt index 108e377925..2983f619f4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt @@ -11,11 +11,14 @@ class PythonMockEvaluator( ): UMockEvaluator { private val evaluatedMockSymbol = ctx.provideRawConcreteHeapRef() override fun eval(symbol: UMockSymbol): UExpr { - if (symbol == mockSymbol) { + val evaluatedValue = baseMockEvaluator.eval(symbol) + + if (symbol == mockSymbol && evaluatedValue is UConcreteHeapRef && evaluatedValue.address == 0) { @Suppress("unchecked_cast") return evaluatedMockSymbol as UExpr } - return baseMockEvaluator.eval(symbol) + + return evaluatedValue } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 47b5b47324..d320461d2f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -31,7 +31,7 @@ class PythonVirtualPathSelector( ): PythonExecutionState? = with(ctx) { if (delayedForkStorage.isEmpty()) return null - val delayedFork = delayedForkStorage.random() // TODO: add weights (the less unresolved types, the more probable choice) + val delayedFork = delayedForkStorage.random() val state = delayedFork.delayedFork.state val symbol = delayedFork.delayedFork.symbol val typeRating = delayedFork.typeRating @@ -78,7 +78,6 @@ class PythonVirtualPathSelector( return state } - private val threshold: Double = 0.5 private var peekCache: PythonExecutionState? = null private fun nullablePeek(): PythonExecutionState? { @@ -104,12 +103,12 @@ class PythonVirtualPathSelector( val firstCoin = random.nextDouble() val secondCoin = random.nextDouble() - if (unservedDelayedForks.isNotEmpty() && (firstCoin < threshold || pathSelectorForStatesWithDelayedForks.isEmpty())) { + if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.5 || pathSelectorForStatesWithDelayedForks.isEmpty())) { val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) newState?.let { add(listOf(it)) } return nullablePeek() - } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < threshold || servedDelayedForks.isEmpty())) { + } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < 0.7 || servedDelayedForks.isEmpty())) { val result = pathSelectorForStatesWithDelayedForks.peek() result.meta.extractedFrom = pathSelectorForStatesWithDelayedForks peekCache = result diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 77c26ed5d7..064aaf6ccf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -145,6 +145,7 @@ object ConcretePythonInterpreter { val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } val typeHasNbAdd = createTypeQuery { pythonAdapter.typeHasNbAdd(it) } + val typeHasNbSubtract = createTypeQuery { pythonAdapter.typeHasNbSubtract(it) } val typeHasNbMultiply = createTypeQuery { pythonAdapter.typeHasNbMultiply(it) } val typeHasNbMatrixMultiply = createTypeQuery { pythonAdapter.typeHasNbMatrixMultiply(it) } val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } @@ -165,9 +166,21 @@ object ConcretePythonInterpreter { val initialSysPath: PythonObject val initialSysModulesKeys: PythonObject + val pyEQ: Int + val pyNE: Int + val pyLT: Int + val pyLE: Int + val pyGT: Int + val pyGE: Int init { pythonAdapter.initializePython() + pyEQ = pythonAdapter.pyEQ + pyNE = pythonAdapter.pyNE + pyLT = pythonAdapter.pyLT + pyLE = pythonAdapter.pyLE + pyGT = pythonAdapter.pyGT + pyGE = pythonAdapter.pyGE val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt index d3be5543d7..a1a06d2696 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt @@ -19,6 +19,11 @@ fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) } +fun nbSubtractKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { + context.curState ?: return + myAssert(context, left.evalIs(context, HasNbSubtract)) +} + fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { context.curState ?: return myAssert(context, left.evalIs(context, HasNbMultiply) or right.evalIs(context, HasNbMultiply)) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index f708c23389..06696e62b3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -19,9 +19,8 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertype(context, typeSystem.pythonBool) - val boolValue = interpretedObj.getBoolContent(context) - myFork(context, boolValue) - return boolValue.isTrue + myFork(context, symbolic.getBoolContent(context)) + return interpretedObj.getBoolContent(context).isTrue } fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt new file mode 100644 index 0000000000..e6d03d19bd --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt @@ -0,0 +1,21 @@ +package org.usvm.machine.types.prioritization + +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.utbot.python.newtyping.PythonSubtypeChecker +import org.utbot.python.newtyping.general.UtType + +fun prioritizeTypes(types: List, graph: SymbolTypeTree, typeSystem: PythonTypeSystemWithMypyInfo): List { + val bounds = graph.boundsForRoot + return types.sortedBy { + -calculateScore(it, bounds, typeSystem) + } +} + +private fun calculateScore(type: ConcretePythonType, bounds: List, typeSystem: PythonTypeSystemWithMypyInfo): Int { + val typeHint = typeSystem.typeHintOfConcreteType(type) ?: return 0 + return bounds.fold(0) { acc, bound -> + val boundHolds = PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(bound, typeHint, typeSystem.typeHintsStorage) + acc + if (boundHolds) 1 else 0 + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt new file mode 100644 index 0000000000..fe34556eff --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -0,0 +1,115 @@ +package org.usvm.machine.types.prioritization + +import org.usvm.language.* +import org.usvm.machine.PythonExecutionState +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.utbot.python.newtyping.PythonTypeHintsStorage +import org.utbot.python.newtyping.createBinaryProtocol +import org.utbot.python.newtyping.createUnaryProtocol +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.inference.TypeInferenceEdgeWithBound +import org.utbot.python.newtyping.inference.TypeInferenceNode +import org.utbot.python.newtyping.inference.addEdge +import org.utbot.python.newtyping.pythonAnyType + +class SymbolTypeTree( + private val state: PythonExecutionState, + private val typeHintsStorage: PythonTypeHintsStorage, + rootSymbol: SymbolForCPython +) { + private val root = SymbolTreeNode(rootSymbol) + private fun generateSuccessors(node: SymbolTreeNode): List = + state.getMocksForSymbol(node.symbol).map { (mockHeader, resultSymbol) -> + val protocol = { returnType: UtType -> + when (mockHeader.method) { + MpAssSubscriptMethod -> + createBinaryProtocol("__setitem__", pythonAnyType, returnType) + MpSubscriptMethod -> + createBinaryProtocol("__getitem__", pythonAnyType, returnType) + NbAddMethod -> + createBinaryProtocol("__add__", pythonAnyType, returnType) + NbSubtractMethod -> + createBinaryProtocol("__sub__", pythonAnyType, returnType) + NbBoolMethod -> + createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) + NbIntMethod -> + createUnaryProtocol("__int__", typeHintsStorage.pythonInt) + NbMatrixMultiplyMethod -> + createBinaryProtocol("__matmul__", pythonAnyType, returnType) + NbMultiplyMethod -> + createBinaryProtocol("__mul__", pythonAnyType, returnType) + SqLengthMethod -> + createUnaryProtocol("__len__", typeHintsStorage.pythonInt) + TpIterMethod -> + createUnaryProtocol("__iter__", returnType) + is TpRichcmpMethod -> { + when (mockHeader.method.op) { + ConcretePythonInterpreter.pyEQ -> + createBinaryProtocol("__eq__", pythonAnyType, returnType) + ConcretePythonInterpreter.pyNE -> + createBinaryProtocol("__ne__", pythonAnyType, returnType) + ConcretePythonInterpreter.pyLT -> + createBinaryProtocol("__lt__", pythonAnyType, returnType) + ConcretePythonInterpreter.pyLE -> + createBinaryProtocol("__le__", pythonAnyType, returnType) + ConcretePythonInterpreter.pyGT -> + createBinaryProtocol("__gt__", pythonAnyType, returnType) + ConcretePythonInterpreter.pyGE -> + createBinaryProtocol("__ge__", pythonAnyType, returnType) + else -> error("Wrong OP in TpRichcmpMethod") + } + } + } + } + node.upperBounds.add(protocol(pythonAnyType)) + val newNode = SymbolTreeNode(resultSymbol) + val edge = SymbolTreeEdge(newNode, node) { type -> listOf(protocol(type)) } + addEdge(edge) + newNode + } + + private fun generateNodes(node: SymbolTreeNode) { + generateSuccessors(node).forEach { + generateNodes(it) + } + } + + private fun propagateBounds() { + dfs(root) { edge -> + edge.from.upperBounds.forEach { + val newBounds = edge.dependency(it) + edge.to.upperBounds += newBounds + } + } + } + + private fun dfs(node: SymbolTreeNode, onEdge: (SymbolTreeEdge) -> Unit) { + node.ingoingEdges.forEach { edge -> + dfs(edge.from, onEdge) + onEdge(edge) + } + } + + val boundsForRoot: List + get() = root.upperBounds + + init { + generateNodes(root) + propagateBounds() + } +} + +class SymbolTreeNode(val symbol: SymbolForCPython): TypeInferenceNode { + override val partialType: UtType = pythonAnyType + override val ingoingEdges = mutableListOf() + override val outgoingEdges = mutableListOf() + val upperBounds = mutableListOf() +} + +class SymbolTreeEdge( + override val from: SymbolTreeNode, + override val to: SymbolTreeNode, + override val dependency: (UtType) -> List +): TypeInferenceEdgeWithBound { + override val boundType: TypeInferenceEdgeWithBound.BoundType = TypeInferenceEdgeWithBound.BoundType.Upper +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt deleted file mode 100644 index b317dfe1ee..0000000000 --- a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/TypeGraph.kt +++ /dev/null @@ -1,78 +0,0 @@ -package org.usvm.machine.types.prioritization - -import org.usvm.language.* -import org.usvm.machine.PythonExecutionState -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.inference.TypeInferenceEdgeWithBound -import org.utbot.python.newtyping.inference.TypeInferenceNode -import org.utbot.python.newtyping.pythonAnyType - -class TypeGraph( - private val state: PythonExecutionState, - rootSymbol: SymbolForCPython -) { - private val root = TypeGraphNode(rootSymbol) - private fun generateSuccessors(node: TypeGraphNode): List { - state.getMocksForSymbol(node.symbol).forEach { (mockHeader, _ /*resultSymbol*/) -> - // val newNode = TypeGraphNode(resultSymbol) - when (mockHeader.method) { - MpAssSubscriptMethod -> TODO() - MpSubscriptMethod -> TODO() - NbAddMethod -> TODO() - NbBoolMethod -> TODO() - NbIntMethod -> TODO() - NbMatrixMultiplyMethod -> TODO() - NbMultiplyMethod -> TODO() - SqLengthMethod -> TODO() - TpIterMethod -> TODO() - is TpRichcmpMethod -> TODO() - } - } - TODO() - } - - private fun generateNodes(node: TypeGraphNode) { - generateSuccessors(node).forEach { - generateNodes(it) - } - } - - private fun propagateBounds() { - dfs(root) { edge -> - edge.from.upperBounds.forEach { - val newBounds = edge.dependency(it) - edge.to.upperBounds += newBounds - } - } - } - - private fun dfs(node: TypeGraphNode, onEdge: (TypeGraphEdge) -> Unit) { - node.ingoingEdges.forEach { edge -> - dfs(edge.from, onEdge) - onEdge(edge) - } - } - - val boundsForRoot: List - get() = root.upperBounds - - init { - generateNodes(root) - propagateBounds() - } -} - -class TypeGraphNode(val symbol: SymbolForCPython): TypeInferenceNode { - override val partialType: UtType = pythonAnyType - override val ingoingEdges = mutableListOf() - override val outgoingEdges = mutableListOf() - val upperBounds = mutableListOf() -} - -class TypeGraphEdge( - override val from: TypeGraphNode, - override val to: TypeGraphNode, - override val dependency: (UtType) -> List -): TypeInferenceEdgeWithBound { - override val boundType: TypeInferenceEdgeWithBound.BoundType = TypeInferenceEdgeWithBound.BoundType.Upper -} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt index 491aca1dc3..ae2395e3fb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt @@ -1,9 +1,10 @@ package org.usvm.utils +import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import java.io.File -fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): T { +fun withAdditionalPaths(additionalPaths: Collection, typeSystem: PythonTypeSystem?, block: () -> T): T { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace( namespace, @@ -23,6 +24,7 @@ fun withAdditionalPaths(additionalPaths: Collection, block: () -> T): """.trimIndent() ) + typeSystem?.run { restart() } val result = block() // returning paths back to initial state diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 89e9159921..836c4a86a5 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -3,23 +3,22 @@ import org.usvm.language.PythonProgram import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer fun main() { - val (program, typeSystem) = constructStructuredProgram() + val (program, typeSystem) = constructStructuredProgram() //constructPrimitiveProgramFromStructured("SimpleTypeInference") val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "matmul_and_add", + "matmul_add_and_sub", "SimpleCustomClasses" ) - val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = true) + val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 15, allowPathDiversion = true) + val returnValue = activeMachine.analyze(function, results, maxIterations = 20, allowPathDiversion = true) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 8bf20011f5..615d23cd28 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -45,7 +45,7 @@ sealed class PythonTestRunner( test: PythonAnalysisResult, check: (PythonObject) -> String? ): String? = - program.withPinnedCallable(target) { pinnedCallable -> + program.withPinnedCallable(target, typeSystem) { pinnedCallable -> val converter = test.inputValueConverter converter.restart() val args = test.inputValues.map { converter.convert(it.asUExpr) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 239afa2986..978f70bbe9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -1,8 +1,10 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses") { @@ -13,9 +15,43 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto ignoreNumberOfAnalysisResults, compareConcolicAndConcreteTypes, /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "ClassWithMatmulAndAdd" && res.typeName == "ClassWithMatmulAndAdd" }, + { x, res -> x.typeName == "ClassWithMatmulAndSub" && res.typeName == "ClassWithMatmulAndSub" } + ) + ) + } + + @Test + fun testMatmulAndAdd() { + val oldOptions = options + options = UMachineOptions(stepLimit = 2U) + check1WithConcreteRun( + constructFunction("matmul_and_add", List(1) { PythonAnyType }), + eq(1), + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf { x, res -> x.typeName == "ClassWithMatmulAndAdd" && res.typeName == "ClassWithMatmulAndAdd" } ) + options = oldOptions + } + + @Test + fun testMatmulAddAndSub() { + val oldOptions = options + options = UMachineOptions(stepLimit = 4U) + check1WithConcreteRun( + constructFunction("matmul_add_and_sub", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "ClassWithMatmulAndAdd" && res.typeName == "ClassWithMatmulAndAdd" }, + { x, res -> x.typeName == "ClassWithMatmulAndSub" && res.typeName == "ClassWithMatmulAndSub" } + ) + ) + options = oldOptions } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py index 73f6627df1..534126d2a2 100644 --- a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -8,6 +8,23 @@ def __matmul__(self, other): def __add__(self, other): return self + def __bool__(self): + return True + + +class ClassWithMatmulAndSub: + def __init__(self): + pass + + def __matmul__(self, other): + return self + + def __sub__(self, other): + return self + + def __bool__(self): + return False + def matmul_usage(x): return x @ x @@ -15,4 +32,11 @@ def matmul_usage(x): def matmul_and_add(x): y = x + 10 - return y @ x \ No newline at end of file + return y @ x + + +def matmul_add_and_sub(x): + if x: + return (x + 10) @ x + else: + return (x - 10) @ x \ No newline at end of file diff --git a/usvm-python/utbot-python-types/build.gradle.kts b/usvm-python/utbot-python-types/build.gradle.kts index 339f0bbd9e..c6e1885584 100644 --- a/usvm-python/utbot-python-types/build.gradle.kts +++ b/usvm-python/utbot-python-types/build.gradle.kts @@ -8,8 +8,4 @@ dependencies { implementation("com.squareup.moshi:moshi-adapters:1.11.0") } -tasks.test { - onlyIf { - project.hasProperty("utbot-python-types") - } -} \ No newline at end of file +tasks.test { onlyIf { false } } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt index 7e16a6aa7f..74907b4d54 100644 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt +++ b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt @@ -7,10 +7,10 @@ import org.utbot.python.newtyping.general.UtType fun createIterableWithCustomReturn(returnType: UtType): UtType = - createUnaryProtocolWithCustomReturn("__iter__", returnType) + createUnaryProtocol("__iter__", returnType) fun supportsBoolProtocol(storage: PythonTypeHintsStorage): UtType = - createUnaryProtocolWithCustomReturn("__bool__", storage.pythonBool) + createUnaryProtocol("__bool__", storage.pythonBool) fun createProtocolWithAttribute(attributeName: String, attributeType: UtType): UtType = createPythonProtocol( @@ -25,7 +25,7 @@ fun createProtocolWithAttribute(attributeName: String, attributeType: UtType): U ) } -fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType): UtType = +fun createProtocolWithFunction(methodName: String, argTypes: List, returnType: UtType): UtType = createPythonProtocol( Name(emptyList(), "Supports_$methodName"), 0, @@ -36,11 +36,11 @@ fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType members = listOf( createPythonCallableType( 0, - listOf(PythonCallableTypeDescription.ArgKind.ARG_POS, PythonCallableTypeDescription.ArgKind.ARG_POS), - listOf("self", "") + List(argTypes.size + 1) { PythonCallableTypeDescription.ArgKind.ARG_POS }, + listOf("self") + List(argTypes.size) { "" } ) { FunctionTypeCreator.InitializationData( - arguments = listOf(self, argType), + arguments = listOf(self) + argTypes, returnValue = returnType ) } @@ -49,29 +49,11 @@ fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType ) } -fun createUnaryProtocolWithCustomReturn(methodName: String, returnType: UtType): UtType = - createPythonProtocol( - Name(emptyList(), "Supports_$methodName"), - 0, - listOf(PythonVariableDescription(methodName)), - listOf(methodName) - ) { self -> - CompositeTypeCreator.InitializationData( - members = listOf( - createPythonCallableType( - 0, - listOf(PythonCallableTypeDescription.ArgKind.ARG_POS), - listOf("self") - ) { - FunctionTypeCreator.InitializationData( - arguments = listOf(self), - returnType - ) - } - ), - supertypes = emptyList() - ) - } +fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType): UtType = + createProtocolWithFunction(methodName, listOf(argType), returnType) + +fun createUnaryProtocol(methodName: String, returnType: UtType): UtType = + createProtocolWithFunction(methodName, emptyList(), returnType) fun createCallableProtocol(argBounds: List, returnBound: UtType): UtType = createPythonProtocol( From 9dddf147a8377acfc9dd0c0a67d72466e0c37a47 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 14 Aug 2023 18:52:46 +0300 Subject: [PATCH 065/344] small fixes --- .../src/main/c/approximations/list.c | 17 ++--------------- .../src/main/c/include/approximations.h | 7 +++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +++-- .../usvm/machine/PythonVirtualPathSelector.kt | 19 +++++++++++++------ 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 9c7983ebed..11e2bc4e66 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -26,49 +26,37 @@ PyObject *list_richcompare_ne = 0; PyObject *list_richcompare_le = 0; PyObject *list_richcompare_ge = 0; -static void -initialize_list_richcompare_impl(SymbolicAdapter *adapter) { +void +initialize_list_python_impls() { PyObject *globals = PyDict_New(); if (!list_richcompare_lt) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl("<"), Py_file_input, globals, globals, 0); list_richcompare_lt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_lt); } if (!list_richcompare_gt) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl(">"), Py_file_input, globals, globals, 0); list_richcompare_gt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_gt); } if (!list_richcompare_eq) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl("=="), Py_file_input, globals, globals, 0); list_richcompare_eq = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_eq); } if (!list_richcompare_ne) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl("!="), Py_file_input, globals, globals, 0); list_richcompare_ne = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_ne); } if (!list_richcompare_le) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl("<="), Py_file_input, globals, globals, 0); list_richcompare_le = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_le); } if (!list_richcompare_ge) { - adapter->ignore = 1; PyRun_StringFlags(list_richcmp_impl(">="), Py_file_input, globals, globals, 0); list_richcompare_ge = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - adapter->ignore = 0; Py_INCREF(list_richcompare_ge); } Py_DECREF(globals); @@ -87,7 +75,6 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { return 0; if (adapter->add_concrete_supertype(adapter->handler_param, get_symbolic_or_none(w), (PyObject *) &PyList_Type)) return 0; - initialize_list_richcompare_impl(adapter); PyObject *wrapped = 0; if (op == Py_LT) { wrapped = wrap(list_richcompare_lt, Py_None, adapter); diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 737d1210b8..10d74e092f 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -1,5 +1,12 @@ #include "Python.h" +/* initializations of Python functions */ +void initialize_list_python_impls(); + +#define INITIALIZE_PYTHON_APPROXIMATIONS \ + initialize_list_python_impls(); + + PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 4e01238946..5728eb9aaa 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -7,8 +7,7 @@ #include "symbolicadapter.h" #include "virtual_objects.h" - -#include "internal/pycore_frame.h" +#include "approximations.h" #define SET_BOOLEAN_FIELD(field_name, value) \ f = (*env)->GetFieldID(env, cls, field_name, "Z"); \ @@ -45,6 +44,8 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython SET_INTEGER_FIELD("pyLE", Py_LE) SET_INTEGER_FIELD("pyGT", Py_GT) SET_INTEGER_FIELD("pyGE", Py_GE) + + INITIALIZE_PYTHON_APPROXIMATIONS } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index d320461d2f..a791cea5d9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -4,6 +4,7 @@ import mu.KLogging import org.usvm.UContext import org.usvm.UPathSelector import org.usvm.fork +import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.TypeOfVirtualObject @@ -20,6 +21,7 @@ class PythonVirtualPathSelector( private val unservedDelayedForks = mutableSetOf() private val servedDelayedForks = mutableSetOf() private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() + private val triedTypesForDelayedForks = mutableSetOf>() private val random = Random(0) override fun isEmpty(): Boolean { @@ -40,21 +42,26 @@ class PythonVirtualPathSelector( return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) } val concreteType = typeRating.first() - require(concreteType != TypeOfVirtualObject) + require(concreteType is ConcretePythonType) + typeRating.removeFirst() + if (triedTypesForDelayedForks.contains(delayedFork.delayedFork to concreteType)) + return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) + triedTypesForDelayedForks.add(delayedFork.delayedFork to concreteType) + val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType, null).not()) if (forkResult.positiveState != state) { + require(typeRating.isEmpty() && forkResult.positiveState == null) unservedDelayedForks.removeIf { it.delayedFork.state == state } servedDelayedForks.removeIf { it.delayedFork.state == state } - } else { - typeRating.removeFirst() } - if (forkResult.negativeState != null && unservedDelayedForks.remove(delayedFork)) + require(forkResult.negativeState != null) + val stateWithConcreteType = forkResult.negativeState!! + if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) - return forkResult.negativeState?.let { + return stateWithConcreteType.also { it.delayedForks = delayedFork.delayedFork.delayedForkPrefix it.meta.generatedFrom = "From delayed fork" - it } } From 18a2493f5003bfbafcc578967014206ba7eb6278 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 15 Aug 2023 11:19:44 +0300 Subject: [PATCH 066/344] Fix after rebase --- .../usvm/interpreter/ConcolicRunContext.java | 6 +++++- .../org/usvm/machine/PythonComponents.kt | 2 +- .../org/usvm/machine/PythonExecutionState.kt | 18 ++++++++++-------- .../kotlin/org/usvm/machine/PythonMachine.kt | 4 ++-- .../operations/tracing/PathTracing.kt | 8 ++++---- .../SymbolicObjectConstruction.kt | 3 ++- usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- 7 files changed, 26 insertions(+), 19 deletions(-) diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 5b53e6442a..b1ecb2e8dc 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,8 +2,10 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.usvm.PathsTrieNode; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; +import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent; import org.usvm.machine.utils.PyModelHolder; import org.usvm.machine.PythonExecutionState; import org.usvm.machine.UPythonContext; @@ -13,6 +15,7 @@ import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; public class ConcolicRunContext { @@ -20,7 +23,7 @@ public class ConcolicRunContext { public PythonExecutionState curState; public UPythonContext ctx; public ArrayList forkedStates = new ArrayList<>(); - public int instructionCounter = 0; + public List> pathPrefix; public MockHeader curOperation = null; public PyModelHolder modelHolder; public boolean allowPathDiversion; @@ -40,6 +43,7 @@ public ConcolicRunContext( this.modelHolder = modelHolder; this.allowPathDiversion = allowPathDiversion; this.typeSystem = typeSystem; + this.pathPrefix = curState.buildPathAsList(); if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 3449701830..27be8df497 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -16,7 +16,7 @@ import org.usvm.types.UTypeSystem class PythonComponents( private val typeSystem: PythonTypeSystem ): UComponents { - override fun mkSolver(ctx: UContext): USolverBase { + override fun mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index fbc4c041a6..cfbdb609aa 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -22,17 +22,17 @@ class PythonExecutionState( private val ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, - pathConstraints: UPathConstraints, + pathConstraints: UPathConstraints, memory: UMemoryBase, uModel: UModelBase, val typeSystem: PythonTypeSystem, callStack: UCallStack> = UCallStack(), - path: PersistentList> = persistentListOf(), + pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() -): UState>(ctx, callStack, pathConstraints, memory, listOf(uModel), path) { - override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { +): UState, UPythonContext, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { + override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( @@ -44,7 +44,7 @@ class PythonExecutionState( pyModel.uModel, typeSystem, callStack, - path, + pathLocation, delayedForks, mocks.toMutableMap(), // copy mockedObjects.toMutableSet() // copy @@ -54,10 +54,12 @@ class PythonExecutionState( val meta = PythonExecutionStateMeta() val pyModel: PyModel get() = PyModel(models.first()) - val lastHandlerEvent: SymbolicHandlerEvent? - get() = if (path.isEmpty()) null else path.last() + //val lastHandlerEvent: SymbolicHandlerEvent? + // get() = if (path.isEmpty()) null else path.last() + + fun buildPathAsList(): List> = + reversedPath.asSequence().toList().reversed() - // TODO: here we will use Python type hints to prioritize concrete types fun makeTypeRating(delayedFork: DelayedFork): List { val candidates = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).mapNotNull { it as? ConcretePythonType } if (typeSystem is PythonTypeSystemWithMypyInfo) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 6d4aaad568..ad261174b7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -22,7 +22,7 @@ class PythonMachine( private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) - private val solver = ctx.solver() + private val solver = ctx.solver() private val iterationCounter = IterationCounter() private fun getInterpreter( @@ -45,7 +45,7 @@ class PythonMachine( } private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { - val pathConstraints = UPathConstraints(ctx) + val pathConstraints = UPathConstraints(ctx) val memory = UMemoryBase( ctx, pathConstraints.typeConstraints diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 0d72b364a2..34488e01e6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -16,16 +16,16 @@ fun withTracing( ): T? { if (context.curState == null) return null - context.instructionCounter++ - if (context.instructionCounter > context.curState!!.path.size) { + if (context.pathPrefix.isEmpty()) { val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() if (context.curState == null) return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) - context.curState!!.path = context.curState!!.path.add(eventRecord) + context.curState!!.pathLocation = context.curState!!.pathLocation.pathLocationFor(eventRecord, context.curState!!) return result } - val event = context.curState!!.path[context.instructionCounter - 1] + val event = context.pathPrefix.first() + context.pathPrefix = context.pathPrefix.drop(1) if (event.parameters != newEventParameters) { logger.debug("Path diversion!") logger.debug("Expected: {}", event.parameters) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index b8db972e30..11eb20b108 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -8,6 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.UPythonContext import org.usvm.memory.UMemoryBase fun constructInputObject( @@ -15,7 +16,7 @@ fun constructInputObject( type: PythonType, ctx: UContext, memory: UMemoryBase, - pathConstraints: UPathConstraints, + pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 836c4a86a5..94aef4fb17 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -10,8 +10,8 @@ fun main() { val (program, typeSystem) = constructStructuredProgram() //constructPrimitiveProgramFromStructured("SimpleTypeInference") val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "matmul_add_and_sub", - "SimpleCustomClasses" + "pickle_path_diversion", + "TrickyExample" ) val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) From 131acf29dd2c0fe0a101ef7f546990203b7b8a86 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 16 Aug 2023 14:32:09 +0300 Subject: [PATCH 067/344] Removed copy-paste of utbot-python-types --- usvm-python/build.gradle.kts | 16 +- .../utbot-python-types/build.gradle.kts | 11 - .../python/newtyping/PythonDefinition.kt | 34 -- .../org/utbot/python/newtyping/PythonType.kt | 320 ------------ .../utbot/python/newtyping/PythonTypeAPI.kt | 119 ----- .../python/newtyping/PythonTypeComparison.kt | 479 ------------------ .../PythonTypeConstraintPropagation.kt | 98 ---- .../newtyping/PythonTypeCreationRoutines.kt | 77 --- .../newtyping/PythonTypeHintsStorage.kt | 75 --- .../python/newtyping/general/TypeCreation.kt | 83 --- .../newtyping/general/TypeSubstitution.kt | 153 ------ .../python/newtyping/general/TypeUtils.kt | 28 - .../utbot/python/newtyping/general/UtType.kt | 57 --- .../newtyping/inference/TypeInferenceNodes.kt | 36 -- .../newtyping/mypy/GlobalNamesStorage.kt | 60 --- .../python/newtyping/mypy/MypyAnnotations.kt | 263 ---------- .../utbot/python/newtyping/mypy/MypyBuild.kt | 88 ---- .../python/newtyping/mypy/MypyDefinitions.kt | 77 --- .../utbot/python/newtyping/mypy/RunMypy.kt | 123 ----- .../org/utbot/python/newtyping/mypy/Utils.kt | 18 - .../utbot/python/newtyping/utils/TypeUtils.kt | 13 - .../org/utbot/python/utils/ProcessUtils.kt | 42 -- .../PythonCompositeTypeDescriptionTest.kt | 63 --- .../newtyping/PythonSubtypeCheckerTest.kt | 130 ----- .../PythonTypeConstraintPropagationKtTest.kt | 38 -- .../PythonTypeWrapperForEqualityCheckTest.kt | 60 --- .../DefaultSubstitutionProviderTest.kt | 176 ------- .../newtyping/mypy/GlobalNamesStorageTest.kt | 49 -- .../python/newtyping/mypy/MypyBuildKtTest.kt | 144 ------ .../src/test/resources/annotation_sample.json | 1 - .../src/test/resources/boruvka.json | 1 - .../src/test/resources/imports_sample.json | 1 - .../src/test/resources/subtypes_sample.json | 1 - 33 files changed, 15 insertions(+), 2919 deletions(-) delete mode 100644 usvm-python/utbot-python-types/build.gradle.kts delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt delete mode 100644 usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt delete mode 100644 usvm-python/utbot-python-types/src/test/resources/annotation_sample.json delete mode 100644 usvm-python/utbot-python-types/src/test/resources/boruvka.json delete mode 100644 usvm-python/utbot-python-types/src/test/resources/imports_sample.json delete mode 100644 usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 0ead1e8fdf..ff468ce605 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -2,10 +2,24 @@ plugins { id("usvm.kotlin-conventions") } +// from GRADLE_USER_HOME/gradle.properties +val githubUser: String by project +val githubToken: String by project // with permission to read packages + +repositories { + maven { + url = uri("https://maven.pkg.github.com/tochilinak/UTBotJava") + credentials { + username = githubUser + password = githubToken + } + } +} + dependencies { implementation(project(":usvm-core")) - implementation(project(":usvm-python:utbot-python-types")) + implementation("org.utbot:utbot-python-types:2023.08-SNAPSHOT") implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") diff --git a/usvm-python/utbot-python-types/build.gradle.kts b/usvm-python/utbot-python-types/build.gradle.kts deleted file mode 100644 index c6e1885584..0000000000 --- a/usvm-python/utbot-python-types/build.gradle.kts +++ /dev/null @@ -1,11 +0,0 @@ -plugins { - id("usvm.kotlin-conventions") -} - -dependencies { - implementation("com.squareup.moshi:moshi:1.11.0") - implementation("com.squareup.moshi:moshi-kotlin:1.11.0") - implementation("com.squareup.moshi:moshi-adapters:1.11.0") -} - -tasks.test { onlyIf { false } } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt deleted file mode 100644 index ebecc7044f..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonDefinition.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType - -open class PythonDefinition(open val meta: PythonDefinitionDescription, open val type: UtType) { - override fun toString(): String = - "${meta.name}: ${type.pythonTypeRepresentation()}" -} - -class PythonFunctionDefinition( - override val meta: PythonFuncItemDescription, // TODO: consider overloaded function - override val type: FunctionType -): PythonDefinition(meta, type) - -sealed class PythonDefinitionDescription(val name: String) - -class PythonVariableDescription( - name: String, - val isProperty: Boolean = false, - val isSelf: Boolean = false -): PythonDefinitionDescription(name) - -sealed class PythonFunctionDescription(name: String): PythonDefinitionDescription(name) - -class PythonFuncItemDescription( - name: String, - val args: List -): PythonFunctionDescription(name) - -class PythonOverloadedFuncDefDescription( - name: String, - val items: List -): PythonFunctionDescription(name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt deleted file mode 100644 index e806d76f7b..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonType.kt +++ /dev/null @@ -1,320 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.* -import org.utbot.python.newtyping.general.Name -import org.utbot.python.newtyping.utils.isRequired - -sealed class PythonTypeDescription(name: Name) : TypeMetaDataWithName(name) { - open fun castToCompatibleTypeApi(type: UtType): UtType = type - open fun getNamedMembers(type: UtType): List = emptyList() // direct members (without inheritance) - open fun getAnnotationParameters(type: UtType): List = emptyList() - open fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? = - // overridden for some types - getNamedMembers(type).find { it.meta.name == name } - open fun createTypeWithNewAnnotationParameters(like: UtType, newParams: List): UtType = // overriden for Callable - DefaultSubstitutionProvider.substituteAll(like.getOrigin(), newParams) - open fun getTypeRepresentation(type: UtType): String { // overriden for Callable - if (name.prefix == listOf("builtins") && name.name == "tuple") { - return "${getTypeName()}[${type.parameters.first().pythonTypeRepresentation()}, ...]" - } - val root = getTypeName() - val params = getAnnotationParameters(type) - if (params.isEmpty()) - return root - return "$root[${params.joinToString { it.pythonTypeRepresentation() }}]" - } - fun getTypeName(): String { - return if (name.prefix.isEmpty()) - name.name - else - name.prefix.joinToString(".") + "." + name.name - } - fun getModuleName(): String { - return name.prefix.joinToString(".") - } - fun getName(): String { - return name.name - } - fun getModules(type: UtType): Set { - val cur = if (name.prefix.isNotEmpty()) - setOf(name.prefix.joinToString(separator = ".")) - else - emptySet() - return type.pythonAnnotationParameters().fold(cur) { acc, childType -> - acc + childType.pythonModules() - } - } -} - -sealed class PythonCompositeTypeDescription( - name: Name, - private val memberDescriptions: List -): PythonTypeDescription(name) { - override fun castToCompatibleTypeApi(type: UtType): CompositeType { - return type as? CompositeType - ?: error("Got unexpected type PythonCompositeTypeDescription: $type") - } - - override fun getNamedMembers(type: UtType): List { - val compositeType = castToCompatibleTypeApi(type) - assert(compositeType.members.size == memberDescriptions.size) - return (memberDescriptions zip compositeType.members).map { (descr, typ) -> - if (descr is PythonFuncItemDescription) - PythonFunctionDefinition(descr, typ as FunctionType) - else - PythonDefinition(descr, typ) - } - } - - override fun getAnnotationParameters(type: UtType): List = type.parameters - fun mro(storage: PythonTypeHintsStorage, type: UtType): List { - val compositeType = castToCompatibleTypeApi(type) - var bases = compositeType.supertypes - if (bases.isEmpty() && !type.isPythonObjectType()) - bases = listOf(storage.pythonObject) - val linBases = (bases.map { - val description = it.meta as? PythonCompositeTypeDescription - ?: error("Not a PythonCompositeType in superclasses of PythonCompositeType") - description.mro(storage, it) - } + listOf(bases)).map { it.toMutableList() }.toMutableList() - val result = mutableListOf(type) - while (true) { - linBases.removeIf { it.isEmpty() } - if (linBases.isEmpty()) - break - lateinit var addAtThisIteration: UtType - for (seq in linBases) { - val head = seq.first() - val isContainedSomewhereElse = linBases.any { - it.drop(1).any { type -> type.pythonDescription().name == head.pythonDescription().name } - } - if (!isContainedSomewhereElse) { - addAtThisIteration = head - break - } - } - linBases.forEach { - if (it.first().pythonDescription().name == addAtThisIteration.pythonDescription().name) - it.removeFirst() - } - result.add(addAtThisIteration) - } - return result - } - - override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? { - for (parent in mro(storage, type)) { - val cur = parent.getPythonAttributes().find { it.meta.name == name } - if (cur != null) - return cur - } - return null - } -} - -sealed class PythonSpecialAnnotation(name: Name) : PythonTypeDescription(name) - -class PythonTypeVarDescription( - name: Name, - val variance: Variance, - val parameterKind: ParameterKind -) : PythonTypeDescription(name) { - override fun castToCompatibleTypeApi(type: UtType): TypeParameter { - return type as? TypeParameter - ?: error("Got unexpected type PythonTypeVarDescription: $type") - } - - enum class Variance { - INVARIANT, - COVARIANT, - CONTRAVARIANT - } - - enum class ParameterKind { - WithUpperBound, - WithConcreteValues - } -} - -// Composite types -class PythonConcreteCompositeTypeDescription( - name: Name, - memberDescriptions: List, - val isAbstract: Boolean -) : PythonCompositeTypeDescription(name, memberDescriptions) - -class PythonProtocolDescription( - name: Name, - memberDescriptions: List, - val protocolMemberNames: List -) : PythonCompositeTypeDescription(name, memberDescriptions) - -class PythonCallableTypeDescription( - val argumentKinds: List, - val argumentNames: List // like in mypy's CallableType: https://github.com/python/mypy/blob/master/mypy/types.py#L1672 -): PythonTypeDescription(pythonCallableName) { - val numberOfArguments = argumentKinds.size - override fun castToCompatibleTypeApi(type: UtType): FunctionType { - return type as? FunctionType - ?: error("Got unexpected type PythonCallableTypeDescription: $type") - } - - override fun getNamedMembers(type: UtType): List { - val functionType = castToCompatibleTypeApi(type) - return listOf(PythonDefinition(PythonVariableDescription("__call__"), functionType)) - } - - override fun getAnnotationParameters(type: UtType): List { - val functionType = castToCompatibleTypeApi(type) - return functionType.arguments + listOf(functionType.returnValue) - } - - enum class ArgKind { - ARG_POS, - ARG_OPT, - ARG_STAR, - ARG_STAR_2, - ARG_NAMED, - ARG_NAMED_OPT - } - - override fun createTypeWithNewAnnotationParameters(like: UtType, newParams: List): UtType { - val args = newParams.dropLast(1) - val returnValue = newParams.last() - return createPythonCallableType( - like.parameters.size, - argumentKinds, - argumentNames - ) { self -> - val oldToNewParameters = (self.parameters zip like.parameters).mapNotNull { - if (it.second is TypeParameter) it else null - }.toMap() - val newArgs = args.map { - DefaultSubstitutionProvider.substitute(it, oldToNewParameters) - } - val newReturnValue = DefaultSubstitutionProvider.substitute(returnValue, oldToNewParameters) - FunctionTypeCreator.InitializationData( - arguments = newArgs, - returnValue = newReturnValue - ) - } - } - - override fun getTypeRepresentation(type: UtType): String { - val functionType = castToCompatibleTypeApi(type) - val root = name.prefix.joinToString(".") + "." + name.name - return "$root[[${ - functionType.arguments.joinToString(separator = ", ") { it.pythonTypeRepresentation() } - }], ${functionType.returnValue.pythonTypeRepresentation()}]" - } - - fun removeNonPositionalArgs(type: UtType): FunctionType { - val functionType = castToCompatibleTypeApi(type) - val argsCount = argumentKinds.count { it == ArgKind.ARG_POS } - return createPythonCallableType( - functionType.parameters.size, - argumentKinds.take(argsCount), - argumentNames.take(argsCount) - ) { self -> - val substitution = (functionType.parameters zip self.parameters).associate { - Pair(it.first as TypeParameter, it.second) - } - FunctionTypeCreator.InitializationData( - functionType.arguments.take(argsCount).map { - DefaultSubstitutionProvider.substitute(it, substitution) - }, - DefaultSubstitutionProvider.substitute(functionType.returnValue, substitution) - ) - } - } - - fun removeNotRequiredArgs(type: UtType): FunctionType { - val functionType = castToCompatibleTypeApi(type) - return createPythonCallableType( - functionType.parameters.size, - argumentKinds.filter { isRequired(it) }, - argumentNames.filterIndexed { index, _ -> isRequired(argumentKinds[index]) } - ) { self -> - val substitution = (functionType.parameters zip self.parameters).associate { - Pair(it.first as TypeParameter, it.second) - } - FunctionTypeCreator.InitializationData( - functionType.arguments - .filterIndexed { index, _ -> isRequired(argumentKinds[index]) } - .map { DefaultSubstitutionProvider.substitute(it, substitution) }, - DefaultSubstitutionProvider.substitute(functionType.returnValue, substitution) - ) - } - } -} - -// Special Python annotations -object PythonAnyTypeDescription : PythonSpecialAnnotation(pythonAnyName) { - override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition { - return PythonDefinition(PythonVariableDescription(name), pythonAnyType) - } -} - -object PythonNoneTypeDescription : PythonSpecialAnnotation(pythonNoneName) { - // TODO: override getNamedMembers and/or getMemberByName -} - -object PythonUnionTypeDescription : PythonSpecialAnnotation(pythonUnionName) { - override fun getMemberByName(storage: PythonTypeHintsStorage, type: UtType, name: String): PythonDefinition? { - val children = type.parameters.mapNotNull { - it.getPythonAttributeByName(storage, name)?.type - } - return if (children.isEmpty()) - null - else - PythonDefinition( - PythonVariableDescription(name), - type = createPythonUnionType(children) - ) - } - - override fun getAnnotationParameters(type: UtType): List = type.parameters -} - -object PythonOverloadTypeDescription : PythonSpecialAnnotation(overloadName) { - override fun getAnnotationParameters(type: UtType): List = type.parameters - override fun getNamedMembers(type: UtType): List { - return listOf(PythonDefinition(PythonVariableDescription("__call__"), type)) - } -} - -object PythonTypeAliasDescription : PythonSpecialAnnotation(pythonTypeAliasName) { - override fun castToCompatibleTypeApi(type: UtType): CompositeType { - return type as? CompositeType ?: error("Got unexpected type for PythonTypeAliasDescription: $type") - } - fun getInterior(type: UtType): UtType { - val casted = castToCompatibleTypeApi(type) - return casted.members.first() - } -} - -object PythonTupleTypeDescription : PythonSpecialAnnotation(pythonTupleName) { - override fun getAnnotationParameters(type: UtType): List = castToCompatibleTypeApi(type).parameters - // TODO: getMemberByName and/or getNamedMembers -} - -private fun initTypeVar(param: TypeParameter) { - param.meta = PythonTypeVarDescription( - Name(emptyList(), ""), // TODO: name? - PythonTypeVarDescription.Variance.INVARIANT, - PythonTypeVarDescription.ParameterKind.WithUpperBound - ) -} - -private fun substituteMembers(origin: UtType, members: List): UtType = - DefaultSubstitutionProvider.substitute( - origin, - (origin.parameters.map { it as TypeParameter } zip members).associate { it } - ) - -fun createTypeWithMembers(description: PythonTypeDescription, members: List): UtType { - val origin = TypeCreator.create(members.size, description) { - it.parameters.forEach(::initTypeVar) - } - return substituteMembers(origin, members) -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt deleted file mode 100644 index 1d5fd0225b..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeAPI.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.* - -fun UtType.isPythonType(): Boolean { - return meta is PythonTypeDescription -} - -fun UtType.pythonDescription(): PythonTypeDescription { - return meta as? PythonTypeDescription ?: error("Trying to get Python description from non-Python type $this") -} - -fun UtType.getPythonAttributes(): List { - return pythonDescription().getNamedMembers(this) -} - -fun UtType.getPythonAttributeByName(storage: PythonTypeHintsStorage, name: String): PythonDefinition? { - return pythonDescription().getMemberByName(storage, this, name) -} - -fun UtType.pythonAnnotationParameters(): List { - return pythonDescription().getAnnotationParameters(this) -} - -fun UtType.pythonModules(): Set { - return pythonDescription().getModules(this) -} - -fun UtType.isPythonObjectType(): Boolean { - if (!isPythonType()) - return false - val description = pythonDescription() - return description.name.prefix == listOf("builtins") && description.name.name == "object" -} - -fun UtType.pythonTypeRepresentation(): String { - return pythonDescription().getTypeRepresentation(this) -} - -fun UtType.pythonTypeName(): String { - return pythonDescription().getTypeName() -} - -fun UtType.pythonModuleName(): String { - return pythonDescription().getModuleName() -} - -fun UtType.pythonName(): String { - return pythonDescription().getName() -} - -val pythonAnyName = Name(listOf("typing"), "Any") -val pythonUnionName = Name(listOf("typing"), "Union") -val pythonNoneName = Name(emptyList(), "None") -val pythonTupleName = Name(listOf("typing"), "Tuple") -val pythonCallableName = Name(listOf("typing"), "Callable") -val overloadName = Name(emptyList(), "Overload") -val pythonTypeAliasName = Name(listOf("typing"), "TypeAlias") - -val pythonAnyType = createTypeWithMembers(PythonAnyTypeDescription, emptyList()) -val pythonNoneType = createTypeWithMembers(PythonNoneTypeDescription, emptyList()) - -fun createPythonUnionType(members: List): UtType = - createTypeWithMembers(PythonUnionTypeDescription, members) - -fun createOverload(members: List): UtType = - createTypeWithMembers(PythonOverloadTypeDescription, members) - -fun createPythonTupleType(members: List): UtType = - createTypeWithMembers(PythonTupleTypeDescription, members) - -fun createPythonTypeAlias(initialization: (UtType) -> UtType): CompositeType = - CompositeTypeCreator.create(0, PythonTypeAliasDescription) { self -> - CompositeTypeCreator.InitializationData( - members = listOf(initialization(self)), - supertypes = emptyList() - ) - } - -fun createPythonConcreteCompositeType( - name: Name, - numberOfParameters: Int, - memberDescriptions: List, - isAbstract: Boolean, - initialization: (CompositeTypeCreator.Original) -> CompositeTypeCreator.InitializationData -): CompositeType = - CompositeTypeCreator.create( - numberOfParameters, - PythonConcreteCompositeTypeDescription(name, memberDescriptions, isAbstract), - initialization - ) - -fun createPythonProtocol( - name: Name, - numberOfParameters: Int, - memberDescriptions: List, - protocolMemberNames: List, - initialization: (CompositeTypeCreator.Original) -> CompositeTypeCreator.InitializationData -): CompositeType = - CompositeTypeCreator.create( - numberOfParameters, - PythonProtocolDescription(name, memberDescriptions, protocolMemberNames), - initialization - ) - -fun createPythonCallableType( - numberOfParameters: Int, - argumentKinds: List, - argumentNames: List, - initialization: (FunctionTypeCreator.Original) -> FunctionTypeCreator.InitializationData -): FunctionType = - FunctionTypeCreator.create( - numberOfParameters, - PythonCallableTypeDescription(argumentKinds, argumentNames), - initialization - ) - -val exactTypeRelation = TypeRelation("=") -val upperBoundRelation = TypeRelation("<") \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt deleted file mode 100644 index 2abbd46b8f..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeComparison.kt +++ /dev/null @@ -1,479 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.* - -class PythonTypeWrapperForEqualityCheck( - val type: UtType, - private val bounded: List = emptyList() -) { - init { - if (!type.isPythonType()) - error("Trying to create PythonTypeWrapperForEqualityCheck for non-Python type $type") - } - - override fun equals(other: Any?): Boolean { - if (other !is PythonTypeWrapperForEqualityCheck) - return false - val otherMeta = other.type.pythonDescription() - when (val selfMeta = type.pythonDescription()) { - is PythonTypeVarDescription -> { - if (type == other.type as? TypeParameter) - return true - val selfIndex = bounded.indexOf(type as? TypeParameter) - if (selfIndex == -1) - return false - val otherIndex = other.bounded.indexOf(other.type as? TypeParameter) - return selfIndex == otherIndex - } - is PythonCompositeTypeDescription -> { - return otherMeta is PythonCompositeTypeDescription && - otherMeta.name == selfMeta.name && - equalParameters(other) - } - is PythonCallableTypeDescription -> { - if (otherMeta !is PythonCallableTypeDescription) - return false - return selfMeta.argumentKinds == otherMeta.argumentKinds && - equalParameters(other) && - equalChildren( - selfMeta.getAnnotationParameters(type), - otherMeta.getAnnotationParameters(other.type), - other - ) - } - is PythonSpecialAnnotation -> { - if (otherMeta !is PythonSpecialAnnotation) - return false - return selfMeta.name == otherMeta.name && - equalChildren( - selfMeta.getAnnotationParameters(type), - otherMeta.getAnnotationParameters(other.type), - other - ) - } - } - } - - override fun hashCode(): Int { - return when (val selfMeta = type.pythonDescription()) { - is PythonTypeVarDescription -> { - val selfIndex = bounded.indexOf(type as? TypeParameter) - if (selfIndex == -1) - type.hashCode() - else - return selfIndex - } - else -> { - (listOf(selfMeta.name.hashCode()) + selfMeta.getAnnotationParameters(type).map { - getChildWrapper(it).hashCode() - }).hashCode() - } - } - } - - private fun equalChildren( - selfChildren: List, - otherChildren: List, - other: PythonTypeWrapperForEqualityCheck - ): Boolean { - if (selfChildren.size != otherChildren.size) - return false - return (selfChildren zip otherChildren).all { (selfElem, otherElem) -> - getChildWrapper(selfElem) == other.getChildWrapper(otherElem) - } - } - - private fun getChildWrapper(elem: UtType): PythonTypeWrapperForEqualityCheck { - return PythonTypeWrapperForEqualityCheck(elem, bounded + type.getBoundedParameters()) - } - - private fun equalParameters(other: PythonTypeWrapperForEqualityCheck): Boolean { - if (type.parameters.size != other.type.parameters.size) - return false - - val selfBoundedInd = type.getBoundedParametersIndexes() - val otherBoundedInd = other.type.getBoundedParametersIndexes() - - if (selfBoundedInd != otherBoundedInd) - return false - - // constraints for bounded parameters are not checked to avoid possible cyclic dependencies - - return (type.parameters zip other.type.parameters).all { - val (newEquivSelf, newEquivOther) = - if (it.first.isParameterBoundedTo(type)) - Pair(listOf(it.first as TypeParameter), listOf(it.second as TypeParameter)) - else - Pair(emptyList(), emptyList()) - PythonTypeWrapperForEqualityCheck(it.first, bounded + newEquivSelf) == - PythonTypeWrapperForEqualityCheck(it.second, other.bounded + newEquivOther) - } - } -} - -fun typesAreEqual(left: UtType, right: UtType): Boolean { - return PythonTypeWrapperForEqualityCheck(left) == PythonTypeWrapperForEqualityCheck(right) -} - -const val MAX_RECURSION_DEPTH = 100 - -class PythonSubtypeChecker( - val left: UtType, - val right: UtType, - private val pythonTypeStorage: PythonTypeHintsStorage, - private val typeParameterCorrespondence: List>, - private val assumingSubtypePairs: List>, - private val recursionDepth: Int, - private val skipFirstArgument: Boolean = false -) { - init { - if (!left.isPythonType() || !right.isPythonType()) - error("Trying to create PythonSubtypeChecker for non-Python types $left, $right") - } - - fun rightIsSubtypeOfLeft(): Boolean { - val leftWrapper = PythonTypeWrapperForEqualityCheck(left) - val rightWrapper = PythonTypeWrapperForEqualityCheck(right) - if (leftWrapper == rightWrapper) - return true - - if (typesAreEqual(left, pythonTypeStorage.pythonFloat) && typesAreEqual(right, pythonTypeStorage.pythonInt)) - return true - - // this is done to avoid possible infinite recursion - // TODO: probably more accuracy is needed here - if (assumingSubtypePairs.contains(Pair(leftWrapper, rightWrapper)) || assumingSubtypePairs.contains( - Pair( - rightWrapper, - leftWrapper - ) - ) - ) - return true - - val leftMeta = left.meta as PythonTypeDescription - val rightMeta = right.meta as PythonTypeDescription - - // subtype checking is not supported for types with bounded parameters, except CallableType - if (left.hasBoundedParameters() && leftMeta !is PythonCallableTypeDescription) - return false - if (right.hasBoundedParameters() && rightMeta !is PythonCallableTypeDescription) - return false - - if (rightMeta is PythonAnyTypeDescription) - return true - - // just in case - if (recursionDepth >= MAX_RECURSION_DEPTH) { - // logger.warn("Recursion depth limit exceeded") - return false - } - - if (rightMeta is PythonTypeAliasDescription) - return PythonSubtypeChecker( - left = left, - right = PythonTypeAliasDescription.getInterior(right), - pythonTypeStorage, - typeParameterCorrespondence, assumingSubtypePairs, recursionDepth + 1 - ).rightIsSubtypeOfLeft() - - return when (leftMeta) { - is PythonAnyTypeDescription -> true - is PythonTypeAliasDescription -> caseOfLeftTypeAlias(leftMeta) - is PythonTypeVarDescription -> caseOfLeftTypeVar(leftMeta) - is PythonProtocolDescription -> caseOfLeftProtocol(leftMeta) - is PythonCallableTypeDescription -> caseOfLeftCallable(leftMeta) - is PythonUnionTypeDescription -> caseOfLeftUnion(leftMeta) - is PythonConcreteCompositeTypeDescription -> caseOfLeftCompositeType(leftMeta) - is PythonNoneTypeDescription -> rightMeta is PythonNoneTypeDescription - is PythonOverloadTypeDescription -> caseOfLeftOverload(leftMeta) - is PythonTupleTypeDescription -> caseOfLeftTupleType(leftMeta) - } - } - - @Suppress("unused_parameter") - private fun caseOfLeftTypeAlias(leftMeta: PythonTypeAliasDescription): Boolean { - return PythonSubtypeChecker( - left = PythonTypeAliasDescription.getInterior(left), - right = right, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - - private fun caseOfLeftTupleType(leftMeta: PythonTupleTypeDescription): Boolean { - return when (val rightMeta = right.pythonDescription()) { - is PythonAnyTypeDescription -> true - is PythonTupleTypeDescription -> { - val leftAsCompositeType = leftMeta.castToCompatibleTypeApi(left) - val rightAsCompositeType = rightMeta.castToCompatibleTypeApi(right) - if (leftAsCompositeType.parameters.size != rightAsCompositeType.parameters.size) - false - else { - (leftAsCompositeType.parameters zip rightAsCompositeType.parameters).all { (leftMember, rightMember) -> - PythonSubtypeChecker( - left = leftMember, - right = rightMember, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - } - else -> false - } - } - - private fun caseOfLeftOverload(leftMeta: PythonOverloadTypeDescription): Boolean { - val leftAsStatefulType = leftMeta.castToCompatibleTypeApi(left) - return leftAsStatefulType.parameters.all { - PythonSubtypeChecker( - left = it, - right = right, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - - private fun caseOfLeftCompositeType(leftMeta: PythonConcreteCompositeTypeDescription): Boolean { - if (left.isPythonObjectType()) - return true - return when (val rightMeta = right.pythonDescription()) { - is PythonAnyTypeDescription -> true - is PythonConcreteCompositeTypeDescription -> { - val rightAsCompositeType = rightMeta.castToCompatibleTypeApi(right) - if (rightMeta.name == leftMeta.name) { - val origin = left.getOrigin() - (left.parameters zip right.parameters zip origin.parameters).all { - val (args, param) = it - val (leftArg, rightArg) = args - if (leftArg.pythonDescription() is PythonAnyTypeDescription || - rightArg.pythonDescription() is PythonAnyTypeDescription - ) - return@all true - val typeVarDescription = param.pythonDescription() - if (typeVarDescription !is PythonTypeVarDescription) // shouldn't be possible - return@all false - when (typeVarDescription.variance) { - PythonTypeVarDescription.Variance.INVARIANT -> false - PythonTypeVarDescription.Variance.COVARIANT -> - PythonSubtypeChecker( - left = leftArg, - right = rightArg, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - PythonTypeVarDescription.Variance.CONTRAVARIANT -> - PythonSubtypeChecker( - left = rightArg, - right = leftArg, - pythonTypeStorage, - reverse(typeParameterCorrespondence), - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - } else { - rightAsCompositeType.supertypes.any { - PythonSubtypeChecker( - left = left, - right = it, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - } - PythonTupleTypeDescription -> { - if (!typesAreEqual(left.getOrigin(), pythonTypeStorage.pythonTuple) || left.hasBoundedParameters()) - false - else { - right.pythonAnnotationParameters().all { - PythonSubtypeChecker( - left = left.parameters.first(), - right = it, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - } - else -> false - } - } - - private fun caseOfLeftTypeVar(leftMeta: PythonTypeVarDescription): Boolean { - // TODO: more accurate case analysis - if (!typeParameterCorrespondence.any { it.first == left }) - return true // treat unbounded TypeVars like Any. TODO: here might occur false-positives - return when (val rightMeta = right.pythonDescription()) { - is PythonAnyTypeDescription -> true - is PythonTypeVarDescription -> caseOfLeftAndRightTypeVar(leftMeta, rightMeta) - else -> false - } - } - - @Suppress("unused_parameter") - private fun caseOfLeftUnion(leftMeta: PythonUnionTypeDescription): Boolean { - val children = PythonUnionTypeDescription.getAnnotationParameters(left) - return children.any { childType -> - PythonSubtypeChecker( - left = childType, - right = right, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - } - - private fun caseOfLeftAndRightTypeVar( - leftMeta: PythonTypeVarDescription, - rightMeta: PythonTypeVarDescription - ): Boolean { - val leftParam = leftMeta.castToCompatibleTypeApi(left) - val rightParam = rightMeta.castToCompatibleTypeApi(right) - // TODO: more accurate case analysis - return typeParameterCorrespondence.contains(Pair(leftParam, rightParam)) - } - - private fun caseOfLeftProtocol(leftMeta: PythonProtocolDescription): Boolean { - val membersNotToCheck = listOf("__new__", "__init__") - return leftMeta.protocolMemberNames.subtract(membersNotToCheck).all { protocolMemberName -> - // there is a tricky case: importlib.metadata._meta.SimplePath - val neededAttribute = - left.getPythonAttributeByName(pythonTypeStorage, protocolMemberName) ?: return@all true - val rightAttribute = right.getPythonAttributeByName(pythonTypeStorage, protocolMemberName) ?: return false - val firstArgIsSelf = { description: PythonDefinitionDescription -> - (description is PythonFuncItemDescription) && description.args.isNotEmpty() && - description.args.first().isSelf - } - val description = neededAttribute.meta - val skipFirstArgument = - firstArgIsSelf(description) || - ((description is PythonOverloadedFuncDefDescription) && description.items.any(firstArgIsSelf)) - PythonSubtypeChecker( - left = neededAttribute.type, - right = rightAttribute.type, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1, - skipFirstArgument - ).rightIsSubtypeOfLeft() - } - } - - private fun caseOfLeftCallable(leftMeta: PythonCallableTypeDescription): Boolean { - val rightCallAttributeAbstract = right.getPythonAttributeByName(pythonTypeStorage, "__call__")?.type - ?: return false - val leftAsFunctionType = leftMeta.castToCompatibleTypeApi(left) - - // TODO: more accurate work with argument binding? - - if (rightCallAttributeAbstract.pythonDescription() is PythonOverloadTypeDescription) { - val variants = rightCallAttributeAbstract.parameters - return variants.any { variant -> - PythonSubtypeChecker( - left = left, - right = variant, - pythonTypeStorage, - typeParameterCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1, - skipFirstArgument - ).rightIsSubtypeOfLeft() - } - } - - val rightCallAttribute = rightCallAttributeAbstract as? FunctionType ?: return false - - if (rightCallAttribute.arguments.size != leftAsFunctionType.arguments.size) - return false - val leftBounded = leftAsFunctionType.getBoundedParameters() - val rightBounded = rightCallAttribute.getBoundedParameters() - - // TODO: more accurate case analysis - if (rightBounded.isNotEmpty() && leftBounded.size != rightBounded.size) - return false - - var newLeftAsFunctionType = leftAsFunctionType - - // TODO: here might occur false-positives - if (rightBounded.isEmpty() && leftBounded.isNotEmpty()) { - val newLeft = DefaultSubstitutionProvider.substitute(left, leftBounded.associateWith { pythonAnyType }) - newLeftAsFunctionType = leftMeta.castToCompatibleTypeApi(newLeft) - } - - val newCorrespondence = typeParameterCorrespondence + - if (rightBounded.isNotEmpty()) (leftBounded zip rightBounded) else emptyList() - - var args = newLeftAsFunctionType.arguments zip rightCallAttribute.arguments - if (skipFirstArgument) - args = args.drop(1) - - return args.all { (leftArg, rightArg) -> - PythonSubtypeChecker( - left = rightArg, - right = leftArg, - pythonTypeStorage, - reverse(newCorrespondence), - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } && PythonSubtypeChecker( - left = newLeftAsFunctionType.returnValue, - right = rightCallAttribute.returnValue, - pythonTypeStorage, - newCorrespondence, - nextAssumingSubtypePairs, - recursionDepth + 1 - ).rightIsSubtypeOfLeft() - } - - private fun reverse(correspondence: List>): List> = - correspondence.map { Pair(it.second, it.first) } - - private val nextAssumingSubtypePairs: List> - by lazy { - if (left.pythonDescription() is PythonCompositeTypeDescription - && right.pythonDescription() is PythonCompositeTypeDescription - ) - assumingSubtypePairs + - listOf( - Pair( - PythonTypeWrapperForEqualityCheck(left), - PythonTypeWrapperForEqualityCheck(right) - ) - ) - else - assumingSubtypePairs - } - - companion object { - fun checkIfRightIsSubtypeOfLeft(left: UtType, right: UtType, pythonTypeStorage: PythonTypeHintsStorage): Boolean = - PythonSubtypeChecker( - left = left, - right = right, - pythonTypeStorage, - emptyList(), - emptyList(), - 0 - ).rightIsSubtypeOfLeft() - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt deleted file mode 100644 index c3d24d0d76..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagation.kt +++ /dev/null @@ -1,98 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.general.TypeParameter -import org.utbot.python.newtyping.general.getOrigin - -enum class ConstraintKind { - LowerBound, - UpperBound, - BothSided -} - -fun reverseConstraintKind(kind: ConstraintKind): ConstraintKind { - return when (kind) { - ConstraintKind.LowerBound -> ConstraintKind.UpperBound - ConstraintKind.UpperBound -> ConstraintKind.LowerBound - ConstraintKind.BothSided -> ConstraintKind.BothSided - } -} - -data class TypeConstraint( - val type: UtType, - val kind: ConstraintKind -) - -// key of returned Map: index of annotationParameter -fun propagateConstraint(type: UtType, constraint: TypeConstraint, storage: PythonTypeHintsStorage): Map { - return when (val description = type.pythonDescription()) { - is PythonAnyTypeDescription, is PythonNoneTypeDescription, is PythonTypeVarDescription -> emptyMap() - is PythonOverloadTypeDescription -> emptyMap() // TODO - is PythonCallableTypeDescription -> emptyMap() // TODO - is PythonUnionTypeDescription -> emptyMap() // TODO - is PythonTupleTypeDescription -> emptyMap() // TODO - is PythonProtocolDescription -> emptyMap() // TODO - is PythonTypeAliasDescription -> emptyMap() // TODO - is PythonConcreteCompositeTypeDescription -> { - propagateConstraintForCompositeType(type, description, constraint, storage) - } - } -} - -private fun propagateConstraintForCompositeType( - type: UtType, - description: PythonCompositeTypeDescription, - constraint: TypeConstraint, - storage: PythonTypeHintsStorage -): Map { - return when (val constraintDescription = constraint.type.pythonDescription()) { - is PythonConcreteCompositeTypeDescription -> { - if (constraintDescription.name != description.name) - return emptyMap() // TODO: consider some cases here - val origin = type.getOrigin() - (constraint.type.parameters zip origin.parameters).mapIndexed { index, (constraintValue, param) -> - if ((param.pythonDescription() as? PythonTypeVarDescription)?.variance == PythonTypeVarDescription.Variance.COVARIANT) { - return@mapIndexed Pair(index, TypeConstraint(constraintValue, constraint.kind)) - } - if ((param.pythonDescription() as? PythonTypeVarDescription)?.variance == PythonTypeVarDescription.Variance.CONTRAVARIANT) { - return@mapIndexed Pair(index, TypeConstraint(constraintValue, reverseConstraintKind(constraint.kind))) - } - return@mapIndexed Pair(index, TypeConstraint(constraintValue, ConstraintKind.BothSided)) - }.associate { it } - } - is PythonProtocolDescription -> { - val collectedConstraints = mutableMapOf() - val origin = type.getOrigin() - constraintDescription.protocolMemberNames.forEach { - val abstractAttr = constraint.type.getPythonAttributeByName(storage, it) ?: return@forEach - val concreteAttr = origin.getPythonAttributeByName(storage, it) ?: return@forEach - // TODO: consider more cases - when (val desc = concreteAttr.type.pythonDescription()) { - is PythonTypeVarDescription -> { - collectedConstraints[concreteAttr.type] = - TypeConstraint(abstractAttr.type, ConstraintKind.UpperBound) - } - is PythonCallableTypeDescription -> { - val typeOfAbstract = abstractAttr.type - if (typeOfAbstract !is FunctionType) - return@forEach - val callable = desc.castToCompatibleTypeApi(concreteAttr.type) - (callable.arguments zip typeOfAbstract.arguments).forEach { (arg, abs) -> - if (arg is TypeParameter) - collectedConstraints[arg] = TypeConstraint(abs, ConstraintKind.UpperBound) - } - if (callable.returnValue is TypeParameter) - collectedConstraints[callable.returnValue] = - TypeConstraint(typeOfAbstract.returnValue, ConstraintKind.LowerBound) - } - else -> {} - } - } - origin.parameters.mapIndexedNotNull { ind, param -> - collectedConstraints[param]?.let { Pair(ind, it) } - }.associate { it } - } - else -> emptyMap() // TODO: consider some other cases here - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt deleted file mode 100644 index 74907b4d54..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeCreationRoutines.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.CompositeTypeCreator -import org.utbot.python.newtyping.general.FunctionTypeCreator -import org.utbot.python.newtyping.general.Name -import org.utbot.python.newtyping.general.UtType - - -fun createIterableWithCustomReturn(returnType: UtType): UtType = - createUnaryProtocol("__iter__", returnType) - -fun supportsBoolProtocol(storage: PythonTypeHintsStorage): UtType = - createUnaryProtocol("__bool__", storage.pythonBool) - -fun createProtocolWithAttribute(attributeName: String, attributeType: UtType): UtType = - createPythonProtocol( - Name(emptyList(), "Supports_$attributeName"), - 0, - listOf(PythonVariableDescription(attributeName)), - listOf(attributeName) - ) { - CompositeTypeCreator.InitializationData( - members = listOf(attributeType), - supertypes = emptyList() - ) - } - -fun createProtocolWithFunction(methodName: String, argTypes: List, returnType: UtType): UtType = - createPythonProtocol( - Name(emptyList(), "Supports_$methodName"), - 0, - listOf(PythonVariableDescription(methodName)), - listOf(methodName) - ) { self -> - CompositeTypeCreator.InitializationData( - members = listOf( - createPythonCallableType( - 0, - List(argTypes.size + 1) { PythonCallableTypeDescription.ArgKind.ARG_POS }, - listOf("self") + List(argTypes.size) { "" } - ) { - FunctionTypeCreator.InitializationData( - arguments = listOf(self) + argTypes, - returnValue = returnType - ) - } - ), - supertypes = emptyList() - ) - } - -fun createBinaryProtocol(methodName: String, argType: UtType, returnType: UtType): UtType = - createProtocolWithFunction(methodName, listOf(argType), returnType) - -fun createUnaryProtocol(methodName: String, returnType: UtType): UtType = - createProtocolWithFunction(methodName, emptyList(), returnType) - -fun createCallableProtocol(argBounds: List, returnBound: UtType): UtType = - createPythonProtocol( - Name(emptyList(), "SupportsCall"), - 0, - listOf(PythonVariableDescription("__call__")), - listOf("__call__") - ) { - CompositeTypeCreator.InitializationData( - members = listOf( - createPythonCallableType( - 0, - List(argBounds.size) { PythonCallableTypeDescription.ArgKind.ARG_POS }, - List(argBounds.size) { "" } - ) { - FunctionTypeCreator.InitializationData(argBounds, returnBound) - } - ), - supertypes = emptyList() - ) - } \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt deleted file mode 100644 index a5f1c3554a..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/PythonTypeHintsStorage.kt +++ /dev/null @@ -1,75 +0,0 @@ -package org.utbot.python.newtyping - -import org.utbot.python.newtyping.general.CompositeType -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.mypy.ClassDef -import org.utbot.python.newtyping.mypy.CompositeAnnotationNode -import org.utbot.python.newtyping.mypy.MypyAnnotation -import org.utbot.python.newtyping.mypy.MypyInfoBuild - -class PythonTypeHintsStorage( - val pythonObject: UtType, - val pythonBool: UtType, - val pythonList: UtType, - val pythonDict: UtType, - val pythonSet: UtType, - val pythonInt: UtType, - val pythonFloat: UtType, - val pythonComplex: UtType, - val pythonStr: UtType, - val pythonTuple: UtType, - val tupleOfAny: UtType, - val pythonSlice: UtType, - val allTypes: Set -) { - - val simpleTypes: List - get() = allTypes.filter { - val description = it.pythonDescription() - !description.name.name.startsWith("_") - && description is PythonConcreteCompositeTypeDescription - && !description.isAbstract - && !listOf("typing", "typing_extensions").any { mod -> description.name.prefix == listOf(mod) } - }.sortedBy { type -> if (type.pythonTypeName().startsWith("builtins")) 0 else 1 } - - companion object { - private fun getNestedClasses(cur: MypyAnnotation, result: MutableSet) { - val type = cur.asUtBotType - if (type is CompositeType && cur.node is CompositeAnnotationNode) { - result.add(type) - (cur.node as CompositeAnnotationNode).members.forEach { - if (it is ClassDef) - getNestedClasses(it.type, result) - } - } - } - fun get(mypyStorage: MypyInfoBuild): PythonTypeHintsStorage { - val module = mypyStorage.definitions["builtins"]!! - val allTypes: MutableSet = mutableSetOf() - mypyStorage.definitions.forEach { (_, curModule) -> - curModule.forEach { - if (it.value is ClassDef) - getNestedClasses(it.value.type, allTypes) - } - } - val tuple = module["tuple"]!!.type.asUtBotType - val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) - return PythonTypeHintsStorage( - pythonObject = module["object"]!!.type.asUtBotType, - pythonBool = module["bool"]!!.type.asUtBotType, - pythonList = module["list"]!!.type.asUtBotType, - pythonDict = module["dict"]!!.type.asUtBotType, - pythonSet = module["set"]!!.type.asUtBotType, - pythonInt = module["int"]!!.type.asUtBotType, - pythonFloat = module["float"]!!.type.asUtBotType, - pythonComplex = module["complex"]!!.type.asUtBotType, - pythonStr = module["str"]!!.type.asUtBotType, - pythonTuple = tuple, - tupleOfAny = tupleOfAny, - pythonSlice = module["slice"]!!.type.asUtBotType, - allTypes = allTypes - ) - } - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt deleted file mode 100644 index c51ed56488..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeCreation.kt +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.python.newtyping.general - -object TypeCreator { - fun create(numberOfParameters: Int, meta: TypeMetaData, initialization: (Original) -> Unit): UtType { - val result = Original(numberOfParameters, meta) - initialization(result) - return result - } - class Original( - numberOfParameters: Int, - override val meta: TypeMetaData - ): UtType { - override val parameters: MutableList = - List(numberOfParameters) { TypeParameter(this) }.toMutableList() - } -} - -object FunctionTypeCreator { - fun create( - numberOfParameters: Int, - meta: TypeMetaData, - initialization: (Original) -> InitializationData - ): FunctionType { - val result = Original(numberOfParameters, meta) - val data = initialization(result) - result.arguments = data.arguments - result.returnValue = data.returnValue - return result - } - open class Original( - numberOfParameters: Int, - override val meta: TypeMetaData - ): FunctionType { - override val parameters: MutableList = - List(numberOfParameters) { TypeParameter(this) }.toMutableList() - override lateinit var arguments: List - override lateinit var returnValue: UtType - } - data class InitializationData( - val arguments: List, - val returnValue: UtType - ) -} - -/* -object StatefulTypeCreator { - fun create(parameters: List, members: List, meta: TypeMetaData): StatefulType { - return Original(parameters, members, meta) - } - class Original( - override val parameters: List, - override val members: List, - override val meta: TypeMetaData - ): StatefulType -} - */ - -object CompositeTypeCreator { - fun create( - numberOfParameters: Int, - meta: TypeMetaData, - initialization: (Original) -> InitializationData - ): CompositeType { - val result = Original(numberOfParameters, meta) - val data = initialization(result) - result.members = data.members - result.supertypes = data.supertypes - return result - } - open class Original( - numberOfParameters: Int, - override val meta: TypeMetaData - ): CompositeType { - override val parameters: MutableList = - List(numberOfParameters) { TypeParameter(this) }.toMutableList() - override lateinit var members: List - override lateinit var supertypes: List - } - data class InitializationData( - val members: List, - val supertypes: List - ) -} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt deleted file mode 100644 index 8abdf73802..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeSubstitution.kt +++ /dev/null @@ -1,153 +0,0 @@ -package org.utbot.python.newtyping.general - -object DefaultSubstitutionProvider: SubstitutionProvider() { - override fun substitute(type: UtType, params: Map): UtType = - when (type) { - is TypeParameter -> TypeParameterSubstitutionProvider(this).substitute(type, params) - is FunctionType -> FunctionTypeSubstitutionProvider(this).substitute(type, params) - is CompositeType -> CompositeTypeSubstitutionProvider(this).substitute(type, params) - // is StatefulType -> StatefulTypeSubstitutionProvider(this).substitute(type, params) - else -> TypeSubstitutionProvider(this).substitute(type, params) - } -} - -abstract class SubstitutionProvider { - abstract fun substitute(type: I, params: Map): O - fun substituteByIndex(type: I, index: Int, newParamValue: UtType): O { - val param = type.parameters[index] as? TypeParameter - ?: error("Cannot substitute parameter at index $index of type $type") - return substitute(type, mapOf(param to newParamValue)) - } - fun substituteAll(type: I, newParamValues: List): O { - val params = type.parameters.map { - it as? TypeParameter ?: error("Can apply substituteAll only to types without any substitutions") - } - return substitute(type, (params zip newParamValues).associate { it }) - } -} - -class TypeSubstitutionProvider( - private val provider: SubstitutionProvider -): SubstitutionProvider() { - override fun substitute(type: UtType, params: Map): UtType { - return Substitution(type, params, provider) - } - open class Substitution( - originForInitialization: UtType, - rawParams: Map, - provider: SubstitutionProvider - ): UtType, TypeSubstitution { - val newBoundedTypeParameters: Map = - originForInitialization.parameters.mapNotNull { - if ( - it is TypeParameter && - !rawParams.keys.contains(it) && - it.definedAt == originForInitialization - ) { - it to TypeParameter(this).let { newParam -> - newParam.constraints = substituteConstraints(it.constraints, provider, rawParams) - newParam.meta = it.meta - newParam - } - } else { - null - } - }.associate { it } - override val rawOrigin: UtType = originForInitialization - override val params: Map = rawParams - override val parameters: List by lazy { - rawOrigin.parameters.map { - provider.substitute(it, params + newBoundedTypeParameters) - } - } - override val meta: TypeMetaData - get() = rawOrigin.meta - } -} - -class FunctionTypeSubstitutionProvider( - private val provider: SubstitutionProvider -): SubstitutionProvider() { - override fun substitute(type: FunctionType, params: Map): FunctionType { - return Substitution(type, params, provider) - } - open class Substitution( - override val rawOrigin: FunctionType, - override val params: Map, - provider: SubstitutionProvider - ): FunctionType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { - override val arguments: List by lazy { - rawOrigin.arguments.map { provider.substitute(it, newBoundedTypeParameters + params) } - } - override val returnValue: UtType by lazy { - provider.substitute(rawOrigin.returnValue, newBoundedTypeParameters + params) - } - } -} - -/* -class StatefulTypeSubstitutionProvider( - private val provider: SubstitutionProvider -): SubstitutionProvider() { - override fun substitute(type: StatefulType, params: Map): StatefulType { - return Substitution(type, params, provider) - } - open class Substitution( - override val rawOrigin: StatefulType, - override val params: Map, - provider: SubstitutionProvider - ): StatefulType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { - override val members: List by lazy { - rawOrigin.members.map { provider.substitute(it, newBoundedTypeParameters + params) } - } - } -} - */ - -class CompositeTypeSubstitutionProvider( - private val provider: SubstitutionProvider -): SubstitutionProvider() { - override fun substitute(type: CompositeType, params: Map): CompositeType { - return Substitution(type, params, provider) - } - open class Substitution( - override val rawOrigin: CompositeType, - override val params: Map, - provider: SubstitutionProvider - ): CompositeType, TypeSubstitutionProvider.Substitution(rawOrigin, params, provider) { - override val supertypes: List by lazy { - rawOrigin.supertypes.map { provider.substitute(it, newBoundedTypeParameters + params) } - } - override val members: List by lazy { - rawOrigin.members.map { provider.substitute(it, newBoundedTypeParameters + params) } - } - } -} - -class TypeParameterSubstitutionProvider( - private val provider: SubstitutionProvider -): SubstitutionProvider() { - override fun substitute(type: TypeParameter, params: Map): UtType { - return params[type] ?: run { - type.constraints = substituteConstraints(type.constraints, provider, params) - type - } - } -} - -private fun substituteConstraints( - constraints: Set, - provider: SubstitutionProvider, - params: Map -) = - constraints.map { - TypeParameterConstraint( - relation = it.relation, - boundary = provider.substitute(it.boundary, params) - ) - }.toSet() - -interface TypeSubstitution { - val params: Map - val rawOrigin: UtType -} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt deleted file mode 100644 index 7355a75bdb..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/TypeUtils.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.python.newtyping.general - -fun UtType.isParameterBoundedTo(type: UtType): Boolean = - (this is TypeParameter) && (this.definedAt == type) - -fun UtType.getBoundedParametersIndexes(): List = - parameters.mapIndexedNotNull { index, parameter -> - if (parameter.isParameterBoundedTo(this)) { - index - } else { - null - } - } - -fun UtType.getBoundedParameters(): List = - parameters.mapNotNull { parameter -> - if (parameter.isParameterBoundedTo(this)) { - parameter as TypeParameter - } else { - null - } - } - -fun UtType.hasBoundedParameters(): Boolean = - parameters.any { it.isParameterBoundedTo(this) } - -fun UtType.getOrigin(): UtType = - if (this is TypeSubstitution) rawOrigin.getOrigin() else this \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt deleted file mode 100644 index e88a70eb37..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/general/UtType.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.python.newtyping.general - -interface UtType { - val parameters: List - val meta: TypeMetaData -} - -// arguments and returnValue of FunctionType instance can recursively refer to it and its parameters -interface FunctionType: UtType { - val arguments: List - val returnValue: UtType -} - -/* -interface StatefulType: Type { - val members: List -} - */ - -// members and supertypes of CompositeType instance can recursively refer to it and its parameters -interface CompositeType: UtType { - val supertypes: List - val members: List -} - -open class TypeMetaData -open class TypeMetaDataWithName(val name: Name): TypeMetaData() { - override fun toString(): String { - return name.toString() - } -} - -class TypeParameter(val definedAt: UtType): UtType { - // tricky case with cyclic dependency; constraints may be changed after substitution - var constraints: Set = emptySet() - override var meta: TypeMetaData = TypeMetaData() - override val parameters: List = emptyList() -} - -class TypeRelation( - val name: String -) - -open class TypeParameterConstraint( - val relation: TypeRelation, - val boundary: UtType -) - -class Name(val prefix: List, val name: String) { - override fun toString(): String { - return if (prefix.isEmpty()) { - name - } else { - "${prefix.joinToString(".")}.$name" - } - } -} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt deleted file mode 100644 index 63cd2f1170..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/inference/TypeInferenceNodes.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.python.newtyping.inference - -import org.utbot.python.newtyping.general.UtType - -interface TypeInferenceNode { - val partialType: UtType - val ingoingEdges: Collection - val outgoingEdges: Collection -} - -interface TypeInferenceEdge { - val from: TypeInferenceNode - val to: TypeInferenceNode -} - -interface TypeInferenceEdgeWithValue: TypeInferenceEdge { - val annotationParameterId: Int -} - -interface TypeInferenceEdgeWithBound: TypeInferenceEdge { - val boundType: BoundType - val dependency: (UtType) -> List - enum class BoundType { - Lower, - Upper - } -} - -fun addEdge(edge: TypeInferenceEdge) { - val fromEdgeStorage = edge.from.outgoingEdges - val toEdgeStorage = edge.to.ingoingEdges - if (fromEdgeStorage is MutableCollection) - fromEdgeStorage.add(edge) - if (toEdgeStorage is MutableCollection) - toEdgeStorage.add(edge) -} diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt deleted file mode 100644 index 7db3fe7e32..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorage.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory -import org.utbot.python.newtyping.general.UtType - -class GlobalNamesStorage(private val mypyStorage: MypyInfoBuild) { - fun resolveTypeName(module: String, name: String): UtType? { - val splitName = name.split(".") - if (splitName.size == 1) { - val nameFromStorage = mypyStorage.names[module]?.find { it.name == name } ?: return null - return when (nameFromStorage) { - is LocalTypeName -> mypyStorage.definitions[module]!![name]!!.getUtBotType() - is ImportedTypeName -> { - val split = nameFromStorage.fullname.split(".") - resolveTypeName(split.dropLast(1).joinToString("."), split.last()) - } - else -> null - } - } - val withoutLast = splitName.dropLast(1) - withoutLast.foldRight(Pair(withoutLast.joinToString("."), splitName.last())) { nextPart, (left, right) -> - val next = Pair(left.dropLast(nextPart.length).removeSuffix("."), "$nextPart.$right") - val nameFromStorage = (mypyStorage.names[module]?.find { it.name == left } as? ModuleName) - ?: return@foldRight next - val attempt = resolveTypeName(nameFromStorage.fullname, right) - if (attempt != null) - return attempt - next - } - withoutLast.foldRight(Pair(withoutLast.joinToString("."), splitName.last())) { nextPart, (left, right) -> - val next = Pair(left.dropLast(nextPart.length).removeSuffix("."), "$nextPart.$right") - mypyStorage.names["$module.$left"] ?: return@foldRight next - val attempt = resolveTypeName("$module.$left", right) - if (attempt != null) - return attempt - next - } - return null - } -} - -sealed class Name(val name: String) -class ModuleName(name: String, val fullname: String): Name(name) -class LocalTypeName(name: String): Name(name) -class ImportedTypeName(name: String, val fullname: String): Name(name) -class OtherName(name: String): Name(name) - -enum class NameType { - Module, - LocalType, - ImportedType, - Other -} - -val namesAdapter: PolymorphicJsonAdapterFactory = - PolymorphicJsonAdapterFactory.of(Name::class.java, "kind") - .withSubtype(ModuleName::class.java, NameType.Module.name) - .withSubtype(LocalTypeName::class.java, NameType.LocalType.name) - .withSubtype(ImportedTypeName::class.java, NameType.ImportedType.name) - .withSubtype(OtherName::class.java, NameType.Other.name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt deleted file mode 100644 index e8c0f92cdb..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyAnnotations.kt +++ /dev/null @@ -1,263 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.* - -class MypyAnnotation( - val nodeId: String, - val args: List? = null -) { - var initialized = false - @Transient lateinit var storage: MypyInfoBuild - val node: MypyAnnotationNode - get() = storage.nodeStorage[nodeId]!! - val asUtBotType: UtType - get() { - assert(initialized) - val origin = storage.getUtBotTypeOfNode(node) - if (args != null) { - assert(origin.parameters.size == args.size) - assert(origin.parameters.all { it is TypeParameter }) - val argTypes = args.map { it.asUtBotType } - return DefaultSubstitutionProvider.substitute( - origin, - (origin.parameters.map { it as TypeParameter } zip argTypes).toMap() - ) - } - return origin - } -} - -sealed class MypyAnnotationNode { - @Transient lateinit var storage: MypyInfoBuild - open val children: List = emptyList() - abstract fun initializeType(): UtType -} - -sealed class CompositeAnnotationNode( - val module: String, - val simpleName: String, - val members: List, - val typeVars: List, - val bases: List -): MypyAnnotationNode() { - override val children: List - get() = super.children + members.map { it.type } + typeVars + bases - fun getInitData(self: CompositeTypeCreator.Original): CompositeTypeCreator.InitializationData { - storage.nodeToUtBotType[this] = self - (typeVars zip self.parameters).forEach { (node, typeParam) -> - val typeVar = node.node as TypeVarNode - storage.nodeToUtBotType[typeVar] = typeParam - typeParam.meta = PythonTypeVarDescription(Name(emptyList(), typeVar.varName), typeVar.variance, typeVar.kind) - typeParam.constraints = typeVar.constraints - } - val membersForType = members.mapNotNull { def -> - def.getUtBotDefinition()?.type // for now ignore inner types - } - val baseTypes = bases.map { it.asUtBotType } - return CompositeTypeCreator.InitializationData(membersForType, baseTypes) - } -} - - -class ConcreteAnnotation( - module: String, - simpleName: String, - members: List, - typeVars: List, - bases: List, - val isAbstract: Boolean -): CompositeAnnotationNode(module, simpleName, members, typeVars, bases) { - override fun initializeType(): UtType { - assert(storage.nodeToUtBotType[this] == null) - return createPythonConcreteCompositeType( - Name(module.split('.'), simpleName), - typeVars.size, - members.mapNotNull { it.getUtBotDescription() }, - isAbstract - ) { self -> getInitData(self) } - } -} - - -class Protocol( - val protocolMembers: List, - module: String, - simpleName: String, - members: List, - typeVars: List, - bases: List -): CompositeAnnotationNode(module, simpleName, members, typeVars, bases) { - override fun initializeType(): UtType { - return createPythonProtocol( - Name(module.split('.'), simpleName), - typeVars.size, - members.mapNotNull { it.getUtBotDescription() }, - protocolMembers - ) { self -> getInitData(self) } - } -} - - -class FunctionNode( - val argTypes: List, // for now ignore other argument kinds - val returnType: MypyAnnotation, - val typeVars: List, - val argKinds: List, - var argNames: List, -): MypyAnnotationNode() { - override val children: List - get() = super.children + argTypes + listOf(returnType) - override fun initializeType(): UtType { - return createPythonCallableType( - typeVars.size, - argKinds, - argNames - ) { self -> - storage.nodeToUtBotType[this] = self - (typeVars zip self.parameters).forEach { (nodeId, typeParam) -> - val typeVar = storage.nodeStorage[nodeId] as TypeVarNode - storage.nodeToUtBotType[typeVar] = typeParam - typeParam.meta = PythonTypeVarDescription(Name(emptyList(), typeVar.varName), typeVar.variance, typeVar.kind) - typeParam.constraints = typeVar.constraints - } - FunctionTypeCreator.InitializationData( - arguments = argTypes.map { it.asUtBotType }, - returnValue = returnType.asUtBotType - ) - } - } -} - - -class TypeVarNode( - val varName: String, - val values: List, - var upperBound: MypyAnnotation?, - val def: String, - val variance: PythonTypeVarDescription.Variance -): MypyAnnotationNode() { - override val children: List - get() = super.children + values + (upperBound?.let { listOf(it) } ?: emptyList()) - override fun initializeType() = - error("Initialization of TypeVar must be done in defining class or function." + - " TypeVar name: $varName, def_id: $def") - val constraints: Set by lazy { - val upperBoundConstraint: Set = - upperBound?.let { setOf(TypeParameterConstraint(upperBoundRelation, it.asUtBotType)) } ?: emptySet() - values.map { TypeParameterConstraint(exactTypeRelation, it.asUtBotType) }.toSet() + upperBoundConstraint - } - val kind: PythonTypeVarDescription.ParameterKind - get() { - return if (values.isEmpty()) - PythonTypeVarDescription.ParameterKind.WithUpperBound - else { - upperBound = null - PythonTypeVarDescription.ParameterKind.WithConcreteValues - } - } -} - - -class PythonTuple( - val items: List -): MypyAnnotationNode() { - override val children: List - get() = super.children + items - override fun initializeType(): UtType { - return createPythonTupleType(items.map { it.asUtBotType }) - } -} - -class PythonAny: MypyAnnotationNode() { - override fun initializeType(): UtType { - return pythonAnyType - } -} - -//class PythonLiteral: PythonAnnotationNode("typing", "Literal", AnnotationType.Literal) - -class PythonUnion( - val items: List -): MypyAnnotationNode() { - override val children: List - get() = super.children + items - override fun initializeType(): UtType { - return createPythonUnionType(items.map { it.asUtBotType }) - } -} - -class PythonNoneType: MypyAnnotationNode() { - override fun initializeType(): UtType { - return pythonNoneType - } -} - -class OverloadedFunction( - val items: List -): MypyAnnotationNode() { - override val children: List - get() = super.children + items - override fun initializeType(): UtType { - return createOverload(items.map { it.asUtBotType }) - } -} - -class TypeAliasNode(val target: MypyAnnotation): MypyAnnotationNode() { - override val children: List - get() = super.children + target - override fun initializeType(): UtType { - return createPythonTypeAlias { self -> - storage.nodeToUtBotType[this] = self - target.asUtBotType - } - } -} - -class UnknownAnnotationNode: MypyAnnotationNode() { - override fun initializeType(): UtType { - return pythonAnyType - } -} - -enum class AnnotationType { - Concrete, - Protocol, - TypeVar, - Overloaded, - Function, - Any, - Literal, - Union, - Tuple, - NoneType, - TypeAlias, - Unknown -} - -val annotationAdapter: PolymorphicJsonAdapterFactory = - PolymorphicJsonAdapterFactory.of(MypyAnnotationNode::class.java, "type") - .withSubtype(ConcreteAnnotation::class.java, AnnotationType.Concrete.name) - .withSubtype(Protocol::class.java, AnnotationType.Protocol.name) - .withSubtype(TypeVarNode::class.java, AnnotationType.TypeVar.name) - .withSubtype(OverloadedFunction::class.java, AnnotationType.Overloaded.name) - .withSubtype(FunctionNode::class.java, AnnotationType.Function.name) - .withSubtype(PythonAny::class.java, AnnotationType.Any.name) - //.withSubtype(PythonLiteral::class.java, AnnotationType.Literal.name) - .withSubtype(PythonUnion::class.java, AnnotationType.Union.name) - .withSubtype(PythonTuple::class.java, AnnotationType.Tuple.name) - .withSubtype(PythonNoneType::class.java, AnnotationType.NoneType.name) - .withSubtype(TypeAliasNode::class.java, AnnotationType.TypeAlias.name) - .withSubtype(UnknownAnnotationNode::class.java, AnnotationType.Unknown.name) - -object MypyAnnotations { - - data class MypyReportLine( - val line: Int, - val type: String, - val message: String, - val file: String - ) - -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt deleted file mode 100644 index 5159346f56..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyBuild.kt +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import com.squareup.moshi.Moshi -import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory -import org.utbot.python.newtyping.general.* - -fun readMypyInfoBuild(mypyBuildDir: MypyBuildDirectory): MypyInfoBuild { - val result = readMypyInfoBuildWithoutRoot(mypyBuildDir.fileForAnnotationStorage.readText()) - result.buildRoot = mypyBuildDir - return result -} - -fun readMypyInfoBuildWithoutRoot(jsonWithAnnotations: String): MypyInfoBuild { - return jsonAdapter.fromJson(jsonWithAnnotations) ?: error("Couldn't parse json with mypy storage") -} - -private val moshi = Moshi.Builder() - .add(annotationAdapter) - .add(namesAdapter) - .add(definitionAdapter) - .addLast(KotlinJsonAdapterFactory()) - .build() - -private val jsonAdapter = moshi.adapter(MypyInfoBuild::class.java) - -class ExpressionTypeFromMypy( - val startOffset: Long, - val endOffset: Long, - val line: Long, - val type: MypyAnnotation -) - -class MypyInfoBuild( - val nodeStorage: Map, - val definitions: Map>, - val types: Map>, - val names: Map> -) { - @Transient lateinit var buildRoot: MypyBuildDirectory - private fun initAnnotation(annotation: MypyAnnotation) { - if (annotation.initialized) - return - annotation.storage = this - annotation.initialized = true - annotation.args?.forEach { initAnnotation(it) } - } - private fun fillArgNames(definition: MypyDefinition) { - val node = definition.type.node - if (node is ConcreteAnnotation) { - node.members.filterIsInstance().forEach { funcDef -> - val nodeInfo = nodeStorage[funcDef.type.nodeId] - if (nodeInfo is FunctionNode && nodeInfo.argNames.contains(null)) { - nodeInfo.argNames = nodeInfo.argNames.zip(funcDef.args).map { - it.first ?: (it.second as Variable).name - } - } - } - } - } - val nodeToUtBotType: MutableMap = mutableMapOf() - fun getUtBotTypeOfNode(node: MypyAnnotationNode): UtType { - //println("entering $node") - val mem = nodeToUtBotType[node] - if (mem != null) { - //println("exiting $node") - return mem - } - val res = node.initializeType() - nodeToUtBotType[node] = res - //println("exiting $node") - return res - } - init { - definitions.values.forEach { defsInModule -> - defsInModule.forEach { - initAnnotation(it.value.type) - fillArgNames(it.value) - } - } - types.values.flatten().forEach { - initAnnotation(it.type) - } - nodeStorage.values.forEach { node -> - node.storage = this - node.children.forEach { initAnnotation(it) } - } - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt deleted file mode 100644 index 6451729007..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/MypyDefinitions.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType - -sealed class MypyDefinition(val type: MypyAnnotation) { - fun getUtBotType(): UtType = type.asUtBotType - abstract fun getUtBotDescription(): PythonDefinitionDescription? - abstract fun getUtBotDefinition(): PythonDefinition? -} - -class Variable( - val name: String, - val isProperty: Boolean, - val isSelf: Boolean, - type: MypyAnnotation -): MypyDefinition(type) { - override fun getUtBotDescription(): PythonVariableDescription = - PythonVariableDescription(name, isProperty = isProperty, isSelf = isSelf) - override fun getUtBotDefinition(): PythonDefinition = - PythonDefinition(getUtBotDescription(), getUtBotType()) -} - -class ClassDef(type: MypyAnnotation): MypyDefinition(type) { - override fun getUtBotDefinition(): PythonDefinition? = null - override fun getUtBotDescription(): PythonDefinitionDescription? = null -} - -class FuncDef( - type: MypyAnnotation, - val args: List, - val name: String -): MypyDefinition(type) { - override fun getUtBotDescription(): PythonFuncItemDescription = - PythonFuncItemDescription( - name, - args.map { - val variable = it as Variable - PythonVariableDescription(variable.name, isProperty = variable.isProperty, isSelf = variable.isSelf) - } - ) - - override fun getUtBotDefinition(): PythonFunctionDefinition = - PythonFunctionDefinition(getUtBotDescription(), getUtBotType() as FunctionType) -} - -class OverloadedFuncDef( - type: MypyAnnotation, - val items: List, - val name: String -): MypyDefinition(type) { - override fun getUtBotDescription(): PythonOverloadedFuncDefDescription = - PythonOverloadedFuncDefDescription( - name, - items.mapNotNull { it.getUtBotDescription() } - ) - - override fun getUtBotDefinition(): PythonDefinition = - PythonDefinition(getUtBotDescription(), getUtBotType()) -} - - -enum class MypyDefinitionLabel { - Variable, - ClassDef, - FuncDef, - OverloadedFuncDef -} - -val definitionAdapter: PolymorphicJsonAdapterFactory = - PolymorphicJsonAdapterFactory.of(MypyDefinition::class.java, "kind") - .withSubtype(Variable::class.java, MypyDefinitionLabel.Variable.name) - .withSubtype(ClassDef::class.java, MypyDefinitionLabel.ClassDef.name) - .withSubtype(FuncDef::class.java, MypyDefinitionLabel.FuncDef.name) - .withSubtype(OverloadedFuncDef::class.java, MypyDefinitionLabel.OverloadedFuncDef.name) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt deleted file mode 100644 index 04f8fd650e..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/RunMypy.kt +++ /dev/null @@ -1,123 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import org.utbot.python.utils.runCommand -import java.io.File - -private const val configFilename = "config.ini" -private const val mypyCacheDirectoryName = ".mypy_cache" -private const val annotationsFilename = "annotations.json" -private const val mypyStdoutFilename = "mypy.out" -private const val mypyStderrFilename = "mypy.err" -private const val mypyExitStatusFilename = "mypy.exit" - -class MypyBuildDirectory( - val root: File, - val directoriesForSysPath: Set -) { - val configFile = File(root, configFilename) - val fileForAnnotationStorage = File(root, annotationsFilename) - val fileForMypyStdout = File(root, mypyStdoutFilename) - val fileForMypyStderr = File(root, mypyStderrFilename) - val fileForMypyExitStatus = File(root, mypyExitStatusFilename) - private val dirForCache = File(root, mypyCacheDirectoryName) - - init { - val configContent = """ - [mypy] - mypy_path = ${directoriesForSysPath.joinToString(separator = ":") { it.modifyWindowsPath() } } - namespace_packages = True - cache_dir = ${dirForCache.absolutePath} - show_absolute_path = True - cache_fine_grained = True - check_untyped_defs = True - disable_error_code = assignment,union-attr - implicit_optional = True - strict_optional = False - allow_redefinition = True - local_partial_types = True - """.trimIndent() - writeText(configFile, configContent) - } -} - -fun buildMypyInfo( - pythonPath: String, - sourcePaths: List, - modules: List, - mypyBuildDir: MypyBuildDirectory, - moduleForTypes: String? = null -) { - val cmdPrefix = listOf( - pythonPath, - "-X", - "utf8", - "-m", - "utbot_mypy_runner", - "--config", - mypyBuildDir.configFile.absolutePath, - "--annotations_out", - mypyBuildDir.fileForAnnotationStorage.absolutePath, - "--mypy_stdout", - mypyBuildDir.fileForMypyStdout.absolutePath, - "--mypy_stderr", - mypyBuildDir.fileForMypyStderr.absolutePath, - "--mypy_exit_status", - mypyBuildDir.fileForMypyExitStatus.absolutePath - ) - val cmdSources = listOf("--sources") + sourcePaths.map { it.modifyWindowsPath() } - val cmdModules = listOf("--modules") + modules - val cmdModuleForTypes = if (moduleForTypes != null) listOf("--module_for_types", moduleForTypes) else emptyList() - val cmd = cmdPrefix + cmdSources + cmdModules + cmdModuleForTypes - val result = runCommand(cmd) - val stderr = if (mypyBuildDir.fileForMypyStderr.exists()) mypyBuildDir.fileForMypyStderr.readText() else null - val stdout = if (mypyBuildDir.fileForMypyStdout.exists()) mypyBuildDir.fileForMypyStdout.readText() else null - val mypyExitStatus = if (mypyBuildDir.fileForMypyExitStatus.exists()) mypyBuildDir.fileForMypyExitStatus.readText() else null - if (result.exitValue != 0 || mypyExitStatus != "0") - error("Something went wrong in initial mypy run. " + - "\nPython stderr ${result.stderr}" + - "\nMypy stderr: $stderr" + - "\nMypy stdout: $stdout") -} - -fun readMypyAnnotationStorageAndInitialErrors( - pythonPath: String, - sourcePath: String, - module: String, - mypyBuildDir: MypyBuildDirectory -): Pair> { - buildMypyInfo(pythonPath, listOf(sourcePath), listOf(module), mypyBuildDir, module) - return Pair( - readMypyInfoBuild(mypyBuildDir), - getErrorsAndNotes(mypyBuildDir.fileForMypyStdout.readText()) - ) -} - -data class MypyReportLine( - val line: Int, - val type: String, - val message: String, - val file: String -) - -fun getErrorNumber(mypyReport: List, filename: String, startLine: Int, endLine: Int) = - mypyReport.count { it.type == "error" && it.file == filename && it.line >= startLine && it.line <= endLine } - -fun getErrorsAndNotes(mypyOutput: String): List { - // logger.debug(mypyOutput) - val regex = Regex("(?m)^([^\n]*):([0-9]*): (error|note): ([^\n]*)\n") - return regex.findAll(mypyOutput).toList().map { match -> - val file = match.groupValues[1] - MypyReportLine( - match.groupValues[2].toInt(), - match.groupValues[3], - match.groupValues[4], - file - ) - } -} - -private fun writeText(file: File, content: String) { - file.parentFile?.mkdirs() - file.writeText(content) - file.createNewFile() -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt deleted file mode 100644 index 0c0c74df05..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/mypy/Utils.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.python.newtyping.mypy - -fun String.modifyWindowsPath(): String { - return if (this.contains(":")) { - val (disk, path) = this.split(":", limit = 2) - "\\\\localhost\\$disk$${path.replace("/", "\\")}" - } else this -} - -/** - * Remove .__init__ suffix if it exists. - It resolves problem with duplication module names in mypy, e.g. mod.__init__ and mod - */ -fun String.dropInitFile(): String { - return if (this.endsWith(".__init__")) { - this.dropLast(9) - } else this -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt deleted file mode 100644 index 45e138e5bf..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/newtyping/utils/TypeUtils.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.python.newtyping.utils - -import org.utbot.python.newtyping.PythonCallableTypeDescription - -fun getOffsetLine(sourceFileContent: String, offset: Int): Int { - return sourceFileContent.take(offset).count { it == '\n' } + 1 -} - -fun isRequired(kind: PythonCallableTypeDescription.ArgKind) = - listOf(PythonCallableTypeDescription.ArgKind.ARG_POS, PythonCallableTypeDescription.ArgKind.ARG_NAMED).contains(kind) - -fun isNamed(kind: PythonCallableTypeDescription.ArgKind) = - listOf(PythonCallableTypeDescription.ArgKind.ARG_NAMED_OPT, PythonCallableTypeDescription.ArgKind.ARG_NAMED).contains(kind) \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt b/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt deleted file mode 100644 index 583e0531df..0000000000 --- a/usvm-python/utbot-python-types/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.python.utils - -import java.io.BufferedReader -import java.io.InputStreamReader -import java.util.concurrent.TimeUnit - -data class CmdResult( - val stdout: String, - val stderr: String, - val exitValue: Int, - val terminatedByTimeout: Boolean = false -) - -fun startProcess(command: List): Process = ProcessBuilder(command).start() - -fun getResult(process: Process, timeout: Long? = null): CmdResult { - if (timeout != null) { - if (!process.waitFor(timeout, TimeUnit.MILLISECONDS)) { - process.destroy() - return CmdResult("", "", 1, terminatedByTimeout = true) - } - } - - val reader = BufferedReader(InputStreamReader(process.inputStream)) - var stdout = "" - var line: String? = "" - while (line != null) { - stdout += "$line\n" - line = reader.readLine() - } - - if (timeout == null) - process.waitFor() - - val stderr = process.errorStream.readBytes().decodeToString().trimIndent() - return CmdResult(stdout.trimIndent(), stderr, process.exitValue()) -} - -fun runCommand(command: List, timeout: Long? = null): CmdResult { - val process = startProcess(command) - return getResult(process, timeout) -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt deleted file mode 100644 index d67525ee72..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.mypy.MypyInfoBuild -import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonCompositeTypeDescriptionTest { - lateinit var storage: MypyInfoBuild - private lateinit var pythonTypeStorage: PythonTypeHintsStorage - @BeforeAll - fun setup() { - val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsStorage.get(storage) - } - - @Test - fun testMroForCounter() { - val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() - val counterDescription = counter.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - counterDescription.mro(pythonTypeStorage, counter).map { it.pythonDescription().name.name } == listOf( - "Counter", "dict", "MutableMapping", "Mapping", "Collection", "Iterable", "Container", "object" - ) - ) - val dict = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "dict" }!! - assertTrue(dict.parameters.size == 2) - assertTrue(dict.parameters[0] == counter.parameters[0]) - assertTrue(dict.parameters[1].pythonDescription().name.name == "int") - - val mapping = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "Mapping" }!! - assertTrue(mapping.parameters.size == 2) - assertTrue(mapping.parameters[0] == counter.parameters[0]) - assertTrue(mapping.parameters[1].pythonDescription().name.name == "int") - } - - @Test - fun testMroForObject() { - val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() - val description = obj.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - description.mro(pythonTypeStorage, obj).map { it.pythonDescription().name.name } == listOf("object") - ) - } - - @Test - fun testMroForDeque() { - val deque = storage.definitions["collections"]!!["deque"]!!.getUtBotType() - val description = deque.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - description.mro(pythonTypeStorage, deque).map { it.pythonDescription().name.name } == listOf( - "deque", "MutableSequence", "Sequence", "Collection", "Reversible", "Iterable", "Container", "object" - ) - ) - val iterable = description.mro(pythonTypeStorage, deque).find { it.pythonDescription().name.name == "Iterable" }!! - assertTrue(deque.parameters.size == 1) - assertTrue(iterable.parameters == deque.parameters) - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt deleted file mode 100644 index 251ef22c68..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt +++ /dev/null @@ -1,130 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.PythonSubtypeChecker.Companion.checkIfRightIsSubtypeOfLeft -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.TypeParameter -import org.utbot.python.newtyping.mypy.MypyInfoBuild -import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonSubtypeCheckerTest { - lateinit var storage: MypyInfoBuild - lateinit var pythonTypeStorage: PythonTypeHintsStorage - @BeforeAll - fun setup() { - val sample = PythonSubtypeCheckerTest::class.java.getResource("/subtypes_sample.json")!!.readText() - storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsStorage.get(storage) - } - - @Test - fun testCustomProtocol() { - val protocolP = storage.definitions["subtypes"]!!["P"]!!.getUtBotType() - assertTrue(protocolP.pythonDescription() is PythonProtocolDescription) - val classS = storage.definitions["subtypes"]!!["S"]!!.getUtBotType() - assertTrue(classS.pythonDescription() is PythonConcreteCompositeTypeDescription) - val classS1 = storage.definitions["subtypes"]!!["S1"]!!.getUtBotType() - assertTrue(classS1.pythonDescription() is PythonConcreteCompositeTypeDescription) - assertTrue(checkIfRightIsSubtypeOfLeft(protocolP, classS, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(protocolP, classS1, pythonTypeStorage)) - } - - @Test - fun testCustomProtocolWithPossibleInfiniteRecursion() { - val protocolR = storage.definitions["subtypes"]!!["R"]!!.getUtBotType() - assertTrue(protocolR.pythonDescription() is PythonProtocolDescription) - val classRImpl = storage.definitions["subtypes"]!!["RImpl"]!!.getUtBotType() - assertTrue(classRImpl.pythonDescription() is PythonConcreteCompositeTypeDescription) - assertTrue(checkIfRightIsSubtypeOfLeft(protocolR, classRImpl, pythonTypeStorage)) - } - - @Test - fun testVariance() { - val list = storage.definitions["builtins"]!!["list"]!!.getUtBotType() - val frozenset = storage.definitions["builtins"]!!["frozenset"]!!.getUtBotType() - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() - val listOfInt = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to int) - ) - val listOfObj = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to obj) - ) - val listOfAny = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to pythonAnyType) - ) - val frozensetOfInt = DefaultSubstitutionProvider.substitute(frozenset, - mapOf(frozenset.parameters.first() as TypeParameter to int) - ) - val frozensetOfObj = DefaultSubstitutionProvider.substitute(frozenset, - mapOf(frozenset.parameters.first() as TypeParameter to obj) - ) - - // list is invariant - assertFalse(checkIfRightIsSubtypeOfLeft(listOfObj, listOfInt, pythonTypeStorage)) - assertTrue(checkIfRightIsSubtypeOfLeft(listOfAny, listOfInt, pythonTypeStorage)) - assertTrue(checkIfRightIsSubtypeOfLeft(listOfInt, listOfAny, pythonTypeStorage)) - - // frozenset is covariant - assertTrue(checkIfRightIsSubtypeOfLeft(frozensetOfObj, frozensetOfInt, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(frozensetOfInt, frozensetOfObj, pythonTypeStorage)) - } - - @Test - fun testSimpleFunctionWithVariables() { - val b = storage.definitions["subtypes"]!!["b"]!!.getUtBotType() - val func = storage.definitions["subtypes"]!!["func_abs"]!!.getUtBotType() as FunctionType - - assertTrue(checkIfRightIsSubtypeOfLeft(func.arguments[0], b, pythonTypeStorage)) - } - - @Test - fun testSyntheticProtocol() { - val getItemProtocol = createBinaryProtocol("__getitem__", pythonAnyType, pythonAnyType) - val list = DefaultSubstitutionProvider.substituteAll( - storage.definitions["builtins"]!!["list"]!!.getUtBotType(), - listOf(pythonAnyType) - ) - - assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, list, pythonTypeStorage)) - } - - @Test - fun testNumpyArray() { - val numpyArray = storage.definitions["numpy"]!!["ndarray"]!!.getUtBotType() - val numpyArrayOfAny = DefaultSubstitutionProvider.substituteAll(numpyArray, listOf(pythonAnyType, pythonAnyType)) - val getItemProtocol = createBinaryProtocol("__getitem__", pythonTypeStorage.tupleOfAny, pythonAnyType) - - assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, numpyArrayOfAny, pythonTypeStorage)) - } - - @Test - fun testTuple() { - val tuple = storage.definitions["builtins"]!!["tuple"]!!.getUtBotType() - val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val float = storage.definitions["builtins"]!!["float"]!!.getUtBotType() - val tupleOfInt = DefaultSubstitutionProvider.substituteAll(tuple, listOf(int)) - val tupleOfIntAndFloat = createPythonTupleType(listOf(int, float)) - - assertTrue(checkIfRightIsSubtypeOfLeft(tupleOfAny, tupleOfIntAndFloat, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(tupleOfInt, tupleOfIntAndFloat, pythonTypeStorage)) - } - - @Test - fun testAbstractSet() { - val abstractSet = storage.definitions["typing"]!!["AbstractSet"]!!.getUtBotType() - assertTrue((abstractSet.pythonDescription() as PythonConcreteCompositeTypeDescription).isAbstract) - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - - val abstractSetOfAny = DefaultSubstitutionProvider.substituteByIndex(abstractSet, 0, pythonAnyType) - val setOfAny = DefaultSubstitutionProvider.substituteByIndex(set, 0, pythonAnyType) - - assertTrue(checkIfRightIsSubtypeOfLeft(abstractSetOfAny, setOfAny, pythonTypeStorage)) - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt deleted file mode 100644 index d829eaa097..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.mypy.MypyBuildKtTest -import org.utbot.python.newtyping.mypy.MypyInfoBuild -import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonTypeConstraintPropagationKtTest { - lateinit var storage: MypyInfoBuild - lateinit var pythonTypeStorage: PythonTypeHintsStorage - @BeforeAll - fun setup() { - val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyInfoBuildWithoutRoot(sample) - pythonTypeStorage = PythonTypeHintsStorage.get(storage) - } - - @Test - fun testSimpleCompositeTypePropagation() { - val dict = storage.definitions["builtins"]!!["dict"]!!.getUtBotType() - val str = storage.definitions["builtins"]!!["str"]!!.getUtBotType() - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val dictOfAny = DefaultSubstitutionProvider.substituteAll(dict, listOf(pythonAnyType, pythonAnyType)) - val dictOfStrToInt = DefaultSubstitutionProvider.substituteAll(dict, listOf(str, int)) - val constraint = TypeConstraint(dictOfStrToInt, ConstraintKind.LowerBound) - val propagated = propagateConstraint(dictOfAny, constraint, pythonTypeStorage) - assertTrue(propagated.size == 2) - assertTrue(PythonTypeWrapperForEqualityCheck(propagated[0]!!.type) == PythonTypeWrapperForEqualityCheck(str)) - assertTrue(propagated[0]!!.kind == ConstraintKind.BothSided) - assertTrue(PythonTypeWrapperForEqualityCheck(propagated[1]!!.type) == PythonTypeWrapperForEqualityCheck(int)) - assertTrue(propagated[1]!!.kind == ConstraintKind.BothSided) - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt deleted file mode 100644 index f4f7968e36..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.TypeParameter -import org.utbot.python.newtyping.mypy.MypyBuildKtTest -import org.utbot.python.newtyping.mypy.MypyInfoBuild -import org.utbot.python.newtyping.mypy.readMypyInfoBuildWithoutRoot - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonTypeWrapperForEqualityCheckTest { - lateinit var storage: MypyInfoBuild - @BeforeAll - fun setup() { - val sample = MypyBuildKtTest::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyInfoBuildWithoutRoot(sample) - } - - @Test - fun smokeTest() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - - assert(PythonTypeWrapperForEqualityCheck(int) == PythonTypeWrapperForEqualityCheck(int)) - assert(PythonTypeWrapperForEqualityCheck(int).hashCode() == PythonTypeWrapperForEqualityCheck(int).hashCode()) - assert(PythonTypeWrapperForEqualityCheck(int) != PythonTypeWrapperForEqualityCheck(set)) - assert(PythonTypeWrapperForEqualityCheck(int).hashCode() != PythonTypeWrapperForEqualityCheck(set).hashCode()) - } - - @Test - fun testSubstitutions() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - val set1 = DefaultSubstitutionProvider.substitute(set, emptyMap()) - val setOfInt = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) - val setOfInt1 = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) - - assert(set != set1) - assert(PythonTypeWrapperForEqualityCheck(set) == PythonTypeWrapperForEqualityCheck(set1)) - assert(PythonTypeWrapperForEqualityCheck(set).hashCode() == PythonTypeWrapperForEqualityCheck(set1).hashCode()) - - assert(setOfInt != setOfInt1) - assert(PythonTypeWrapperForEqualityCheck(setOfInt) == PythonTypeWrapperForEqualityCheck(setOfInt1)) - assert(PythonTypeWrapperForEqualityCheck(setOfInt).hashCode() == PythonTypeWrapperForEqualityCheck(setOfInt1).hashCode()) - } - - @Test - fun testBuiltinsModule() { - storage.definitions["builtins"]!!.forEach { (_, def) -> - val type = def.getUtBotType() - val type1 = DefaultSubstitutionProvider.substitute(type, emptyMap()) - assert(type != type1) - assert(PythonTypeWrapperForEqualityCheck(type) == PythonTypeWrapperForEqualityCheck(type1)) - assert(PythonTypeWrapperForEqualityCheck(type).hashCode() == PythonTypeWrapperForEqualityCheck(type1).hashCode()) - } - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt deleted file mode 100644 index 9aff91cba4..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt +++ /dev/null @@ -1,176 +0,0 @@ -package org.utbot.python.newtyping.general - -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.Assertions.* - -internal class DefaultSubstitutionProviderTest { - @Test - fun test1() { - val unionOfTwo = TypeCreator.create(2, TypeMetaDataWithName(Name(listOf("typing"), "Union"))) {} - - val provider = DefaultSubstitutionProvider - val set = CompositeTypeCreator.create( - numberOfParameters = 1, - TypeMetaDataWithName(Name(listOf("builtins"), "set")) - ) { set -> - val T = set.parameters.first() - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 1, - TypeMetaData() - ) { self -> - val S = self.parameters.first() - FunctionTypeCreator.InitializationData( - arguments = listOf(provider.substitute(set, mapOf(T to S))), - returnValue = provider.substitute( - set, - mapOf( - T to DefaultSubstitutionProvider.substituteAll(unionOfTwo, listOf(T, S)) - ) - ) - ) - } - ), - supertypes = emptyList() - ) - } - assertTrue(set.members[0] is FunctionType) - val unionMethod = set.members[0] as FunctionType - assertTrue(unionMethod.arguments.size == 1) - assertTrue(unionMethod.arguments[0] is CompositeType) - val setOfS = unionMethod.arguments[0] as CompositeType - assertTrue(setOfS.members.size == 1) - assertTrue(setOfS.members[0] is FunctionType) - assertTrue((setOfS.members[0] as FunctionType).returnValue is CompositeType) - // (setOfS.members[0] as FunctionType).returnValue --- Set> - assertTrue(((setOfS.members[0] as FunctionType).returnValue.parameters[0]).parameters.let { it[0] != it[1] }) - val setOfUnionType = (setOfS.members[0] as FunctionType).returnValue as CompositeType - assertTrue(setOfUnionType.parameters.size == 1) - assertTrue((setOfUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "Union") - assertTrue(setOfUnionType.parameters[0].parameters.size == 2) - assertTrue(setOfUnionType.parameters[0].parameters.all { it is TypeParameter }) - - val compositeTypeDescriptor = CompositeTypeSubstitutionProvider(provider) - val T = set.parameters.first() as TypeParameter - val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} - val setOfInt = compositeTypeDescriptor.substitute( - set, - mapOf(T to int) - ) - assertTrue(setOfInt.members[0] is FunctionType) - val unionMethod1 = setOfInt.members[0] as FunctionType - val innerUnionType = (unionMethod1.returnValue as CompositeType).parameters[0] - assertTrue(innerUnionType.parameters.size == 2) - assertTrue(((innerUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "int")) - assertTrue(innerUnionType.parameters[1] is TypeParameter) - - val setOfSets = compositeTypeDescriptor.substitute(set, mapOf(T to setOfInt)) - assertTrue(setOfSets.members[0] is FunctionType) - val unionMethod2 = setOfSets.members[0] as FunctionType - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters.size == 2) - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[0] is CompositeType) - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[1] is TypeParameter) - } - - @Test - fun testCyclicParameter() { - var classA: CompositeType? = null - val classB = CompositeTypeCreator.create( - 1, - TypeMetaDataWithName(Name(emptyList(), "B")) - ) { classB -> - classA = CompositeTypeCreator.create( - 0, - TypeMetaDataWithName(Name(emptyList(), "A")) - ) { - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 0, - TypeMetaData() - ) { - FunctionTypeCreator.InitializationData( - arguments = emptyList(), - returnValue = classB - ) - } - ), - supertypes = emptyList() - ) - } - val paramT = classB.parameters.first() - paramT.constraints = setOf( - TypeParameterConstraint(TypeRelation(":"), classA!!) - ) - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 0, - TypeMetaData() - ) { - FunctionTypeCreator.InitializationData( - arguments = emptyList(), - returnValue = paramT - ) - } - ), - supertypes = listOf(classA!!) - ) - } - - assertTrue(classB.parameters.size == 1) - assertTrue((classB.parameters[0] as TypeParameter).constraints.size == 1) - assertTrue(classB.supertypes.size == 1) - assertTrue(classB.supertypes.first() == classA) - assertTrue((classA as CompositeType).members.size == 1) - assertTrue((classA as CompositeType).members[0] is FunctionType) - - val paramT = classB.parameters.first() as TypeParameter - val bOfA = DefaultSubstitutionProvider.substitute(classB, mapOf(paramT to classA!!)) as CompositeType - assertTrue(bOfA.parameters.size == 1) - assertTrue(bOfA.parameters[0] == classA) - assertTrue(bOfA.members.size == 1) - assertTrue(bOfA.members[0] is FunctionType) - assertTrue((bOfA.members[0] as FunctionType).returnValue == classA) - - val classC = CompositeTypeCreator.create( - numberOfParameters = 0, - TypeMetaDataWithName(Name(emptyList(), "C")) - ) { - CompositeTypeCreator.InitializationData( - members = emptyList(), - supertypes = listOf(bOfA), - ) - } - assertTrue(classC.supertypes.size == 1) - assertTrue(classC.supertypes.first() == bOfA) - } - - @Test - fun testSubstitutionInConstraint() { - val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} - lateinit var classA: UtType - val dummyFunction = FunctionTypeCreator.create( - numberOfParameters = 1, - TypeMetaData() - ) { dummyFunction -> - val typeVarT = dummyFunction.parameters.first() - classA = CompositeTypeCreator.create( - numberOfParameters = 1, - TypeMetaDataWithName(Name(emptyList(), "A")) - ) { classA -> - val param = classA.parameters.first() - param.constraints = setOf(TypeParameterConstraint(TypeRelation(":"), typeVarT)) - CompositeTypeCreator.InitializationData( - members = emptyList(), - supertypes = emptyList() - ) - } - FunctionTypeCreator.InitializationData(arguments = emptyList(), returnValue = classA) - } - val typeVarT = dummyFunction.parameters.first() as TypeParameter - val substituted = DefaultSubstitutionProvider.substitute(classA, mapOf(typeVarT to int)) - assertTrue(substituted.parameters.map { it as TypeParameter }.first().constraints.first().boundary == int) - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt deleted file mode 100644 index fddb75f36e..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.general.TypeMetaDataWithName -import org.utbot.python.newtyping.pythonTypeRepresentation - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class GlobalNamesStorageTest { - lateinit var namesStorage: GlobalNamesStorage - @BeforeAll - fun setup() { - val sample = MypyBuildKtTest::class.java.getResource("/imports_sample.json")!!.readText() - namesStorage = GlobalNamesStorage(readMypyInfoBuildWithoutRoot(sample)) - } - - @Test - fun testImportlib1() { - val pathFinderClass = namesStorage.resolveTypeName("import_test", "im.PathFinder") - assertTrue(pathFinderClass is UtType && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") - } - - @Test - fun testImportlib2() { - val pathFinderClass = namesStorage.resolveTypeName("import_test", "importlib.machinery.PathFinder") - assertTrue(pathFinderClass is UtType && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") - } - - @Test - fun testSimpleAsImport() { - val deque = namesStorage.resolveTypeName("import_test", "c.deque") - assertTrue(deque is UtType && deque.pythonTypeRepresentation().startsWith("collections.deque")) - } - - @Test - fun testImportFrom() { - val deque = namesStorage.resolveTypeName("import_test", "deque") - assertTrue(deque is UtType && deque.pythonTypeRepresentation().startsWith("collections.deque")) - } - - @Test - fun testLocal() { - val classA = namesStorage.resolveTypeName("import_test", "A") - assertTrue(classA is UtType && classA.pythonTypeRepresentation() == "import_test.A") - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt b/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt deleted file mode 100644 index b63fb8a834..0000000000 --- a/usvm-python/utbot-python-types/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyBuildKtTest.kt +++ /dev/null @@ -1,144 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.* - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class MypyBuildKtTest { - lateinit var storage: MypyInfoBuild - lateinit var typeStorage: PythonTypeHintsStorage - lateinit var storageBoruvka: MypyInfoBuild - @BeforeAll - fun setup() { - val sample = this::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyInfoBuildWithoutRoot(sample) - typeStorage = PythonTypeHintsStorage.get(storage) - val sample1 = this::class.java.getResource("/boruvka.json")!!.readText() - storageBoruvka = readMypyInfoBuildWithoutRoot(sample1) - } - - @Test - fun testDefinitions() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - assertTrue( - int.getPythonAttributes().map { it.meta.name }.containsAll( - listOf("__add__", "__sub__", "__pow__", "__abs__", "__or__", "__eq__") - ) - ) - - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - assertTrue( - set.getPythonAttributes().map { it.meta.name }.containsAll( - listOf("add", "copy", "difference", "intersection", "remove", "union") - ) - ) - } - - @Test - fun testUnionMethodOfSet() { - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - val unionMethod = set.getPythonAttributes().find { it.meta.name == "__or__" }!!.type as FunctionType - assertTrue(unionMethod.parameters.size == 1) - - val setOfUnion = unionMethod.returnValue as CompositeType - assertTrue(setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters.size == 1) - - val unionType = setOfUnion.parameters[0] - assert(unionType.pythonDescription().name == pythonUnionName) - - val s = unionType.parameters[1] as TypeParameter - val paramOfUnionMethod = setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters[0] as TypeParameter - assertTrue(s != paramOfUnionMethod) - } - - @Test - fun testSubstitution() { - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val setOfInts = DefaultSubstitutionProvider.substitute( - set, - mapOf((set.parameters.first() as TypeParameter) to int) - ) as CompositeType - assertTrue(setOfInts.meta is PythonConcreteCompositeTypeDescription) - assertTrue((setOfInts.getPythonAttributes().find { it.meta.name == "add" }!!.type as FunctionType).arguments[1] == int) - } - - @Test - fun testSubstitution2() { - val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() as CompositeType - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val counterOfInt = DefaultSubstitutionProvider.substituteByIndex(counter, 0, int) - val subtract = counterOfInt.getPythonAttributeByName(typeStorage, "subtract")!!.type.parameters[2] as FunctionType - val iterable = storage.definitions["typing"]!!["Iterable"]!!.getUtBotType() - val iterableOfInt = DefaultSubstitutionProvider.substituteByIndex(iterable, 0, int) - assertTrue(typesAreEqual(subtract.arguments.last(), iterableOfInt)) - } - - @Test - fun testUserClass() { - val classA = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() as CompositeType - assertTrue(classA.parameters.size == 1) - assertTrue((classA.parameters[0] as TypeParameter).constraints.size == 2) - assertTrue((classA.parameters[0] as TypeParameter).definedAt === classA) - assertTrue( - (classA.parameters[0] as TypeParameter).constraints.any { - it.boundary.pythonDescription().name == classA.pythonDescription().name && it.relation == exactTypeRelation - } - ) - assertTrue( - (classA.parameters[0] as TypeParameter).constraints.all { - it.relation == exactTypeRelation - } - ) - } - - @Test - fun testUserFunction() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() as FunctionType - assertTrue(square.arguments[0].parameters[0].pythonDescription().name == int.pythonDescription().name) - } - - @Test - fun initializeAllTypes() { - storage.definitions.forEach { (_, contents) -> - contents.forEach { (_, annotation) -> - assert(annotation.getUtBotType().isPythonType()) - } - } - } - - @Test - fun testIncludedDefinitions() { - val defs = storage.definitions["annotation_tests"]!!.keys - assertTrue(listOf("Optional", "collections", "Enum", "Iterable", "list", "int").all { !defs.contains(it) }) - assertTrue(listOf("sequence", "enum_literal", "Color", "A", "tuple_").all { defs.contains(it) }) - } - - @Test - fun testFunctionArgNames() { - val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() - assertTrue( - (square.pythonDescription() as PythonCallableTypeDescription).argumentNames == listOf("collection", "x") - ) - } - - @Test - fun testCustomClassAttributes() { - val A = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() - val attrs = A.getPythonAttributes().map { it.meta.name } - assertTrue(attrs.containsAll(listOf("y", "x", "self_"))) - } - - @Test - fun testTypeAlias() { - val isinstance = storageBoruvka.types["boruvka"]!!.find { it.startOffset == 3731L }!!.type.asUtBotType - val func = isinstance as FunctionType - val classInfo = func.arguments[1] - assertTrue(classInfo.pythonDescription() is PythonTypeAliasDescription) - } -} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json b/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json deleted file mode 100644 index 85e48e520e..0000000000 --- a/usvm-python/utbot-python-types/src/test/resources/annotation_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140305627449712": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173904"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682446624"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447072"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447520"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447968"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563360"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563808"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682564256"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565152"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565600"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566048"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566496"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566944"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567392"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567840"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568288"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568736"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569184"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569632"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570080"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570528"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570976"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571424"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571872"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573664"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574112"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574560"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575008"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575456"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576352"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576800"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577248"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577696"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578144"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578592"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682579040"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435168"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435616"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436064"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436512"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436960"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437408"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437856"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174016"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439200"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440544"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440992"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442784"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443680"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444576"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445024"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445472"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305602173904": {"type": "Overloaded", "items": [{"nodeId": "140305682445728"}, {"nodeId": "140305602007712"}]}, "140305682445728": {"type": "Function", "typeVars": [".-1.140305682445728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305682445728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140305719629120": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619585056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901008"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547490272"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714656"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715104"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715552"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716896"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717344"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717792"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718240"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718688"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719136"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719584"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695113504"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114848"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140305619585056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140305627451392": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594848"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427616"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428960"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595072"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595408"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596192"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432544"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432992"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433440"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673322784"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323232"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673324128"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596528"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "isAbstract": false}, "140305602594848": {"type": "Overloaded", "items": [{"nodeId": "140305678424032"}, {"nodeId": "140305678424480"}, {"nodeId": "140305678424928"}, {"nodeId": "140305678425376"}, {"nodeId": "140305678425824"}, {"nodeId": "140305678426272"}, {"nodeId": "140305678426720"}]}, "140305678424032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451392": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, ".2.140305627451392": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, "140305678424480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305678424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619086896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304096"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304544"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "keys"]}, "140305707304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619086896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086896": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "INVARIANT"}, ".2.140305619086896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "COVARIANT"}, "140305719633152": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598339936"}}], "typeVars": [{"nodeId": ".1.140305719633152"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305598339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633152"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633152"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633152": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633152", "variance": "COVARIANT"}, "140305719633488": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598342848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703080832"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305719633488"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633488"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140305598342848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": ".1.140305719633488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719633488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633488", "variance": "COVARIANT"}, "140305703080832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140305707304544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}, {"nodeId": ".1.140305619086896"}], "returnType": {"nodeId": ".2.140305619086896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305678425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595632"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602595632": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305678426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595856"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305602595856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, "140305678426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627451056": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602592944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279264"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279712"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280160"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280608"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281056"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281504"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281952"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678282400"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602593056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678283744"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678284192"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594288"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594400"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678286432"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594624"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419104"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420000"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420448"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423584"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627451056"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627451056"}]}], "isAbstract": false}, "140305602592944": {"type": "Overloaded", "items": [{"nodeId": "140305678278368"}, {"nodeId": "140305678278816"}]}, "140305678278368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451056", "variance": "INVARIANT"}, "140305678278816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678279264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678279712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305627772768": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597898464"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305597898464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627448032": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167744"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690397152"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479968"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547480864"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479744"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399392"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399840"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690400288"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690401632"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547478624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402528"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402976"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403424"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403872"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404320"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407008"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407904"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690408352"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602168864"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682186976"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188320"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188768"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189216"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189664"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190112"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190560"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191008"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191456"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191904"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192352"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192800"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193248"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193696"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194144"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194592"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195040"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195488"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195936"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196384"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197280"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198176"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198624"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199072"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199520"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199968"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167744": {"type": "Overloaded", "items": [{"nodeId": "140305602006816"}, {"nodeId": "140305690396704"}]}, "140305602006816": {"type": "Function", "typeVars": [".-1.140305602006816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169536"}], "returnType": {"nodeId": ".-1.140305602006816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602169536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305602169424"}, {"nodeId": "140305627758992"}, {"nodeId": "140305627772768"}, {"nodeId": "140305619086224"}]}, "140305602169424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619227856": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305619227744"}]}, "140305627766048": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602175136"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447264"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447712"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448160"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448608"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449056"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449504"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450400"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450848"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677566688"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567136"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567584"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568032"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568480"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568928"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569376"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569824"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570272"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570720"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571168"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571616"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572064"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572512"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572960"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573408"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573856"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574304"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574752"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575200"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575648"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576096"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576544"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576992"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577440"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577888"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578336"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578784"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579232"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579680"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580128"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580576"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547737600"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547903712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677581920"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677713696"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602178608"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715040"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715488"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715936"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716384"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716832"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717280"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717728"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718176"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718624"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719072"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719520"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719968"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627764032"}], "isAbstract": false}, "140305602175136": {"type": "Overloaded", "items": [{"nodeId": "140305602008160"}, {"nodeId": "140305677446368"}, {"nodeId": "140305677446816"}]}, "140305602008160": {"type": "Function", "typeVars": [".-1.140305602008160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602179840"}], "returnType": {"nodeId": ".-1.140305602008160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305602179840": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305627760000"}, {"nodeId": "140305602179728"}]}, "140305627760000": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598230848"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__bytes__"]}, "140305598230848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602008160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602008160", "variance": "INVARIANT"}, "140305677446368": {"type": "Function", "typeVars": [".-1.140305677446368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305677446368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140305677446368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446368", "variance": "INVARIANT"}, "140305677446816": {"type": "Function", "typeVars": [".-1.140305677446816"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305677446816"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305677446816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446816", "variance": "INVARIANT"}, "140305677447264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677447712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677448160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180064"}, {"nodeId": "140305602180176"}, {"nodeId": "140305602180288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180064": {"type": "Union", "items": [{"nodeId": "140305602179952"}, {"nodeId": "140305627772768"}]}, "140305602179952": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180176": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180288": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677448608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677449056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180624"}, {"nodeId": "140305602180736"}, {"nodeId": "140305602180848"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180624": {"type": "Union", "items": [{"nodeId": "140305602180400"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602180512"}]}]}, "140305602180400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627450720": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104864"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105760"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272992"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602444560"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274336"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274784"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275232"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275680"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678276128"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627450720"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305627450720"}]}], "isAbstract": false}, "140305678104864": {"type": "Function", "typeVars": [".-1.140305678104864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": ".-1.140305678104864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140305627450720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627450720", "variance": "COVARIANT"}, ".-1.140305678104864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678104864", "variance": "INVARIANT"}, "140305678105312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678105760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719629456": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095904"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442432"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442544"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443328"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443440"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443552"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443664"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678101728"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305678095904": {"type": "Function", "typeVars": [".-1.140305678095904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305678095904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140305678095904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678095904", "variance": "INVARIANT"}, "140305602442432": {"type": "Overloaded", "items": [{"nodeId": "140305678096352"}, {"nodeId": "140305678096800"}]}, "140305678096352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678096800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602442544": {"type": "Overloaded", "items": [{"nodeId": "140305678097248"}, {"nodeId": "140305678097696"}]}, "140305678097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443328": {"type": "Overloaded", "items": [{"nodeId": "140305678098144"}, {"nodeId": "140305678098592"}]}, "140305678098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678098592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443440": {"type": "Overloaded", "items": [{"nodeId": "140305678099040"}, {"nodeId": "140305678099488"}]}, "140305678099040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678099488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443552": {"type": "Overloaded", "items": [{"nodeId": "140305678099936"}, {"nodeId": "140305678100384"}]}, "140305678099936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678100384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443664": {"type": "Overloaded", "items": [{"nodeId": "140305678100832"}, {"nodeId": "140305678101280"}]}, "140305678100832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305602444112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602444112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305602443888": {"type": "Overloaded", "items": [{"nodeId": "140305678106208"}, {"nodeId": "140305678270752"}]}, "140305678106208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627450720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678270752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627450384": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548098048"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548165856"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548166080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443776"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104416"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548165856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548166080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602443776": {"type": "Overloaded", "items": [{"nodeId": "140305678103520"}, {"nodeId": "140305678103968"}]}, "140305678103520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678103968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678104416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305602592832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602592832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305678271200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678271648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602444560": {"type": "Overloaded", "items": [{"nodeId": "140305678273440"}, {"nodeId": "140305678273888"}]}, "140305678273440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678273888": {"type": "Function", "typeVars": [".-1.140305678273888"], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".-1.140305678273888"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305602593168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678273888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678273888", "variance": "INVARIANT"}, "140305602593168": {"type": "Union", "items": [{"nodeId": ".1.140305627450720"}, {"nodeId": ".-1.140305678273888"}]}, "140305678274336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678274784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678275232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678275680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678276128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635973760": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594326752"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327200"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192512"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686193856"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594326752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627447360": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485120"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484672"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484448"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484224"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484000"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483776"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483552"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483328"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305601968304"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126048"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126496"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126944"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127392"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127840"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547482880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695128736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695129184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547485120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967712": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690188864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189312"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191104"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192448"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192896"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193792"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194240"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "isAbstract": false}, "140305690188864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305635967712": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "INVARIANT"}, ".2.140305635967712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "COVARIANT"}, "140305690189312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": ".1.140305635967712"}], "returnType": {"nodeId": ".2.140305635967712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690189760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690191104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690191552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762352": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400640"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401088"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703583808"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584256"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584704"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585600"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762352"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627762352"}]}], "isAbstract": false}, "140305703400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762352"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762352": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762352", "variance": "COVARIANT"}, "140305719638192": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598592640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949168"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589184"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589632"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590080"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590528"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719638192"}]}], "isAbstract": true}, "140305598592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": ".2.140305719638192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719638192": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "INVARIANT"}, ".2.140305719638192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "COVARIANT"}, "140305614949168": {"type": "Overloaded", "items": [{"nodeId": "140305703588288"}, {"nodeId": "140305703588736"}]}, "140305703588288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": "140305614954320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614954320": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": "N"}]}, "140305703588736": {"type": "Function", "typeVars": [".-1.140305703588736"], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}, {"nodeId": "140305614954432"}], "returnType": {"nodeId": "140305614954544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954432": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, ".-1.140305703588736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703588736", "variance": "INVARIANT"}, "140305614954544": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, "140305703589184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762016": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395712"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396160"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396608"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397056"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397952"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398400"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398848"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399744"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305631852048"}]}], "isAbstract": false}, "140305703394816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762016": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, ".2.140305627762016": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, "140305703395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627766720": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326368"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326816"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327264"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327712"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328160"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328608"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329056"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329504"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329952"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330400"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330848"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331744"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332192"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334432"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334880"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335776"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336672"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337568"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338016"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470688"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673471136"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627766720"}], "bases": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305627766720"}]}], "isAbstract": false}, "140305602596976": {"type": "Overloaded", "items": [{"nodeId": "140305673325472"}, {"nodeId": "140305673325920"}]}, "140305673325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627766720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627766720", "variance": "INVARIANT"}, "140305673325920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673327264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673327712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673328160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673328608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673329952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673332192": {"type": "Function", "typeVars": [".-1.140305673332192"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673332192"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673332192": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673332192", "variance": "INVARIANT"}, "140305602599104": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673332192"}]}, "140305673332640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673333088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673333536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673333984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673334432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719637520": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598502208"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703319616"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320064"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320512"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320960"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387648"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388544"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388992"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703389440"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140305719637520"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719637520"}]}], "isAbstract": true}, "140305598502208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719637520": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637520", "variance": "COVARIANT"}, "140305703319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388096": {"type": "Function", "typeVars": [".-1.140305703388096"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388096"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614949952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388096": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388096", "variance": "INVARIANT"}, "140305614949952": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388096"}]}, "140305703388544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388992": {"type": "Function", "typeVars": [".-1.140305703388992"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388992"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614950176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388992", "variance": "INVARIANT"}, "140305614950176": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388992"}]}, "140305703389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305719636512": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598446976"}}], "typeVars": [{"nodeId": ".1.140305719636512"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719636512"}]}, {"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636512"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140305598446976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636512"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719636512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636512", "variance": "COVARIANT"}, "140305719636176": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598444288"}}], "typeVars": [{"nodeId": ".1.140305719636176"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__"]}, "140305598444288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636176"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636176": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636176", "variance": "COVARIANT"}, "140305673334880": {"type": "Function", "typeVars": [".-1.140305673334880"], "argTypes": [{"nodeId": ".-1.140305673334880"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673334880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673334880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673334880", "variance": "INVARIANT"}, "140305673335328": {"type": "Function", "typeVars": [".-1.140305673335328"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673335328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335328": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335328", "variance": "INVARIANT"}, "140305602599216": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673335328"}]}, "140305673335776": {"type": "Function", "typeVars": [".-1.140305673335776"], "argTypes": [{"nodeId": ".-1.140305673335776"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673335776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335776", "variance": "INVARIANT"}, "140305673336224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305602599328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602599328": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": "N"}]}, "140305673336672": {"type": "Function", "typeVars": [".-1.140305673336672"], "argTypes": [{"nodeId": ".-1.140305673336672"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673336672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673336672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673336672", "variance": "INVARIANT"}, "140305673337120": {"type": "Function", "typeVars": [".-1.140305673337120"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673337120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337120", "variance": "INVARIANT"}, "140305602599440": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673337120"}]}, "140305673337568": {"type": "Function", "typeVars": [".-1.140305673337568"], "argTypes": [{"nodeId": ".-1.140305673337568"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673337568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337568", "variance": "INVARIANT"}, "140305673338016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673338464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305719637856": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598503776"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598511392"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703390784"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391232"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391680"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392128"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392576"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393024"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393472"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140305719637856"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "isAbstract": true}, "140305598503776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140305719637856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637856", "variance": "INVARIANT"}, "140305598511392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".1.140305719637856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703392128": {"type": "Function", "typeVars": [".-1.140305703392128"], "argTypes": [{"nodeId": ".-1.140305703392128"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703392128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392128", "variance": "INVARIANT"}, "140305703392576": {"type": "Function", "typeVars": [".-1.140305703392576"], "argTypes": [{"nodeId": ".-1.140305703392576"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703392576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392576", "variance": "INVARIANT"}, "140305703393024": {"type": "Function", "typeVars": [".-1.140305703393024"], "argTypes": [{"nodeId": ".-1.140305703393024"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703393024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393024", "variance": "INVARIANT"}, "140305703393472": {"type": "Function", "typeVars": [".-1.140305703393472"], "argTypes": [{"nodeId": ".-1.140305703393472"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703393472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393472", "variance": "INVARIANT"}, "140305614951072": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703395712": {"type": "Function", "typeVars": [".-1.140305703395712"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703395712"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703395712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703395712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703395712", "variance": "INVARIANT"}, "140305703396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951296"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951296": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951520"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951520": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397504": {"type": "Function", "typeVars": [".-1.140305703397504"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397504"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951856"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397504": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397504", "variance": "INVARIANT"}, "140305614951856": {"type": "Union", "items": [{"nodeId": "140305614951744"}, {"nodeId": ".-1.140305703397504"}]}, "140305614951744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397952": {"type": "Function", "typeVars": [".-1.140305703397952"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397952"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397952", "variance": "INVARIANT"}, "140305614952192": {"type": "Union", "items": [{"nodeId": "140305614952080"}, {"nodeId": ".-1.140305703397952"}]}, "140305614952080": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614952528": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398848": {"type": "Function", "typeVars": [".-1.140305703398848"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703398848"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703398848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703398848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703398848", "variance": "INVARIANT"}, "140305703399296": {"type": "Function", "typeVars": [".-1.140305703399296"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399296"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399296", "variance": "INVARIANT"}, "140305614952864": {"type": "Union", "items": [{"nodeId": "140305614952752"}, {"nodeId": ".-1.140305703399296"}]}, "140305614952752": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703399744": {"type": "Function", "typeVars": [".-1.140305703399744"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399744"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399744", "variance": "INVARIANT"}, "140305614953200": {"type": "Union", "items": [{"nodeId": "140305614953088"}, {"nodeId": ".-1.140305703399744"}]}, "140305614953088": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305627761680": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394368"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140305627760672"}], "isAbstract": false}, "140305703393920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305703394368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627760672": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598337920"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__len__"]}, "140305598337920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305631852048": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703589632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703590080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762688": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703587392"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627762688"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305627762688"}]}], "isAbstract": false}, "140305703586048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762688": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762688", "variance": "COVARIANT"}, "140305703586496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703586944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703587392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703590528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401088": {"type": "Function", "typeVars": [".-1.140305703401088"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703401088"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703401088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703401088": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703401088", "variance": "INVARIANT"}, "140305703401536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402880": {"type": "Function", "typeVars": [".-1.140305703402880"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703402880"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703402880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703402880", "variance": "INVARIANT"}, "140305614953536": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703402880"}]}, "140305703583808": {"type": "Function", "typeVars": [".-1.140305703583808"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703583808"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703583808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703583808", "variance": "INVARIANT"}, "140305614953648": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703583808"}]}, "140305703584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703584704": {"type": "Function", "typeVars": [".-1.140305703584704"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703584704"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703584704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703584704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703584704", "variance": "INVARIANT"}, "140305703585152": {"type": "Function", "typeVars": [".-1.140305703585152"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585152"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585152", "variance": "INVARIANT"}, "140305614953872": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585152"}]}, "140305703585600": {"type": "Function", "typeVars": [".-1.140305703585600"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585600"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585600", "variance": "INVARIANT"}, "140305614953984": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585600"}]}, "140305690192000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305690193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690193792": {"type": "Function", "typeVars": [".-1.140305690193792", ".-2.140305690193792"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690193792"}, {"nodeId": ".-2.140305690193792"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962160"}, {"nodeId": "140305614962272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690193792": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, ".-2.140305690193792": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, "140305614962160": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690193792"}]}, "140305614962272": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690193792"}]}, "140305690194240": {"type": "Function", "typeVars": [".-1.140305690194240", ".-2.140305690194240"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690194240"}, {"nodeId": ".-2.140305690194240"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962384"}, {"nodeId": "140305614962496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690194240": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, ".-2.140305690194240": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, "140305614962384": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690194240"}]}, "140305614962496": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690194240"}]}, "140305547484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305602167296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602167296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305547483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606901456": {"type": "Overloaded", "items": [{"nodeId": "140305695124256"}, {"nodeId": "140305695124704"}]}, "140305695124256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695124704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140305601968304": {"type": "Overloaded", "items": [{"nodeId": "140305695125152"}, {"nodeId": "140305695125600"}]}, "140305695125152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305695125600": {"type": "Function", "typeVars": [".-1.140305695125600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305695125600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140305695125600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695125600", "variance": "INVARIANT"}, "140305695126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305695126496": {"type": "Function", "typeVars": [".-1.140305695126496"], "argTypes": [{"nodeId": ".-1.140305695126496"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305695126496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305695126496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695126496", "variance": "INVARIANT"}, "140305695126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547482880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140305695128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635974432": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594329888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195200"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195648"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594329888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686195200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686195648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305695129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305594327200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594327424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140305686192512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686193856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719636848": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614947712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703310656"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311104"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312448"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305719636848"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719636848"}]}], "isAbstract": true}, "140305614947712": {"type": "Overloaded", "items": [{"nodeId": "140305703309760"}, {"nodeId": "140305703310208"}]}, "140305703309760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719636848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636848", "variance": "COVARIANT"}, "140305703310208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703310656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140305703311104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703311552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703312000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703312448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305719633824": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598345088"}}], "typeVars": [{"nodeId": ".1.140305719633824"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633824"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140305598345088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719633824"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633824": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633824", "variance": "COVARIANT"}, "140305602180512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180736": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180848": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677449504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677450400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181072"}, {"nodeId": "140305602181184"}, {"nodeId": "140305602181296"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181072": {"type": "Union", "items": [{"nodeId": "140305602180960"}, {"nodeId": "140305627772768"}]}, "140305602180960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181296": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677450848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181408"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602181408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181632"}, {"nodeId": "140305602181744"}, {"nodeId": "140305602181856"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181632": {"type": "Union", "items": [{"nodeId": "140305602181520"}, {"nodeId": "140305627772768"}]}, "140305602181520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181744": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181856": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677567136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677567584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602181968"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602181968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677571168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602182080"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602182080": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305627766384": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602179616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722208"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723104"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723552"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724000"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724448"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724896"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677725344"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726240"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726688"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677727136"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728480"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728928"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677729376"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677844768"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845216"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845664"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846112"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846560"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847008"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847456"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847904"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848352"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848800"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849248"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850144"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850592"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851040"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851488"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851936"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852384"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852832"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853280"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853728"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854176"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854624"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855072"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855520"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855968"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856416"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856864"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857312"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857760"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677858208"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547911776"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547910656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677859552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677860000"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602432352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602433136"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677993568"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994016"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602018240"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995360"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995808"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996256"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998496"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999392"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999840"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627764032"}], "isAbstract": false}, "140305602179616": {"type": "Overloaded", "items": [{"nodeId": "140305677720864"}, {"nodeId": "140305677721312"}, {"nodeId": "140305677721760"}]}, "140305677720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602433360": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305602433248"}]}, "140305602433248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140305677722208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677722656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677723104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677723552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433584"}, {"nodeId": "140305602433696"}, {"nodeId": "140305602433808"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602433584": {"type": "Union", "items": [{"nodeId": "140305602433472"}, {"nodeId": "140305627772768"}]}, "140305602433472": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602433696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602433808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677724000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677724448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677724896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434144"}, {"nodeId": "140305602434256"}, {"nodeId": "140305602434368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434144": {"type": "Union", "items": [{"nodeId": "140305602433920"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602434032"}]}]}, "140305602433920": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434032": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434256": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434368": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677725344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677726240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677726688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434592"}, {"nodeId": "140305602434704"}, {"nodeId": "140305602434816"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434592": {"type": "Union", "items": [{"nodeId": "140305602434480"}, {"nodeId": "140305627772768"}]}, "140305602434480": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434704": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434816": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677727136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434928"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602434928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677728032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435152"}, {"nodeId": "140305602435264"}, {"nodeId": "140305602435376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602435152": {"type": "Union", "items": [{"nodeId": "140305602435040"}, {"nodeId": "140305627772768"}]}, "140305602435040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602435264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602435376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677728480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305677728928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677729376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677844768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602435488"}]}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435488": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602435600"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602435600": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435824"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602435824": {"type": "Union", "items": [{"nodeId": "140305602435712"}, {"nodeId": "N"}]}, "140305602435712": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435936"}], "returnType": {"nodeId": "140305602436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435936": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436160": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305677850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436272"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436272": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436496"}, {"nodeId": "140305602436608"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436608": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436832"}, {"nodeId": "140305602436944"}, {"nodeId": "140305602437056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436832": {"type": "Union", "items": [{"nodeId": "140305602436720"}, {"nodeId": "140305627772768"}]}, "140305602436720": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436944": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437056": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437280"}, {"nodeId": "140305602437392"}, {"nodeId": "140305602437504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602437280": {"type": "Union", "items": [{"nodeId": "140305602437168"}, {"nodeId": "140305627772768"}]}, "140305602437168": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437392": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437504": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602437616"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602437616": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677853280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437728"}], "returnType": {"nodeId": "140305602437952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602437728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437952": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677853728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438176"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438176": {"type": "Union", "items": [{"nodeId": "140305602438064"}, {"nodeId": "N"}]}, "140305602438064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438400"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602438400": {"type": "Union", "items": [{"nodeId": "140305602438288"}, {"nodeId": "N"}]}, "140305602438288": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438624"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438624": {"type": "Union", "items": [{"nodeId": "140305602438512"}, {"nodeId": "N"}]}, "140305602438512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677855072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677855520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438960"}, {"nodeId": "140305602439072"}, {"nodeId": "140305602439184"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602438960": {"type": "Union", "items": [{"nodeId": "140305602438736"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602438848"}]}]}, "140305602438736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602438848": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439072": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602439184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677855968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439408"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602439408": {"type": "Union", "items": [{"nodeId": "140305602439296"}, {"nodeId": "N"}]}, "140305602439296": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677856416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677856864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677857312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439632"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602439632": {"type": "Union", "items": [{"nodeId": "140305602439520"}, {"nodeId": "N"}]}, "140305602439520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677857760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677858208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547911776": {"type": "Function", "typeVars": [".-1.140305547911776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547911776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547911776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547911776", "variance": "INVARIANT"}, "140305547910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602439744"}, {"nodeId": "140305602439856"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602439744": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677859552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677860000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602432352": {"type": "Overloaded", "items": [{"nodeId": "140305677860448"}, {"nodeId": "140305677992224"}]}, "140305677860448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677992224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602433136": {"type": "Overloaded", "items": [{"nodeId": "140305677992672"}, {"nodeId": "140305677993120"}]}, "140305677992672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305677993120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602440192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602440192": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627766048"}]}, "140305677993568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440304": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677994016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440416"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602018240": {"type": "Function", "typeVars": [".-1.140305602018240"], "argTypes": [{"nodeId": ".-1.140305602018240"}, {"nodeId": "140305602440528"}], "returnType": {"nodeId": ".-1.140305602018240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602018240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602018240", "variance": "INVARIANT"}, "140305602440528": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677994912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995808": {"type": "Function", "typeVars": [".-1.140305677995808"], "argTypes": [{"nodeId": ".-1.140305677995808"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305677995808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305677995808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677995808", "variance": "INVARIANT"}, "140305677996256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677996704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440864"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440864": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602440752"}]}, "140305602440752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677997152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677997600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677998048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440976"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441088": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441200": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441312"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441312": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719637184": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598500192"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948720"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949056"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316032"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316480"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316928"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317376"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317824"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318272"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318720"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140305719637184"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719637184"}]}], "isAbstract": true}, "140305598500192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140305719637184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637184", "variance": "INVARIANT"}, "140305614948160": {"type": "Overloaded", "items": [{"nodeId": "140305703313344"}, {"nodeId": "140305703313792"}]}, "140305703313344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614948720": {"type": "Overloaded", "items": [{"nodeId": "140305703314240"}, {"nodeId": "140305703314688"}]}, "140305703314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305703314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305614949056": {"type": "Overloaded", "items": [{"nodeId": "140305703315136"}, {"nodeId": "140305703315584"}]}, "140305703315136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140305703317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140305703318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703318720": {"type": "Function", "typeVars": [".-1.140305703318720"], "argTypes": [{"nodeId": ".-1.140305703318720"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": ".-1.140305703318720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703318720": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703318720", "variance": "INVARIANT"}, "140305627764032": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": true}, "140305677571616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677572064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182304"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602182304": {"type": "Union", "items": [{"nodeId": "140305602182192"}, {"nodeId": "N"}]}, "140305602182192": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677572512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182416"}], "returnType": {"nodeId": "140305602182640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182640": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677572960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182752"}, {"nodeId": "140305602182864"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602182752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182864": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182976"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602428992"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602428992": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677574304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429216"}, {"nodeId": "140305602429328"}, {"nodeId": "140305602429440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429216": {"type": "Union", "items": [{"nodeId": "140305602429104"}, {"nodeId": "140305627772768"}]}, "140305602429104": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429328": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429440": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677574752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429664"}, {"nodeId": "140305602429776"}, {"nodeId": "140305602429888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429664": {"type": "Union", "items": [{"nodeId": "140305602429552"}, {"nodeId": "140305627772768"}]}, "140305602429552": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429776": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429888": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677575200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602430000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602430000": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677575648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430112"}], "returnType": {"nodeId": "140305602430336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602430112": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602430336": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677576096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430560"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602430560": {"type": "Union", "items": [{"nodeId": "140305602430448"}, {"nodeId": "N"}]}, "140305602430448": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430784"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602430784": {"type": "Union", "items": [{"nodeId": "140305602430672"}, {"nodeId": "N"}]}, "140305602430672": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431008"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602431008": {"type": "Union", "items": [{"nodeId": "140305602430896"}, {"nodeId": "N"}]}, "140305602430896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677577440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677577888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431344"}, {"nodeId": "140305602431456"}, {"nodeId": "140305602431568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602431344": {"type": "Union", "items": [{"nodeId": "140305602431120"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602431232"}]}]}, "140305602431120": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431232": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431456": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602431568": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677578336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431792"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602431792": {"type": "Union", "items": [{"nodeId": "140305602431680"}, {"nodeId": "N"}]}, "140305602431680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677578784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432016"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602432016": {"type": "Union", "items": [{"nodeId": "140305602431904"}, {"nodeId": "N"}]}, "140305602431904": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677580128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677580576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547737600": {"type": "Function", "typeVars": [".-1.140305547737600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547737600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547737600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547737600", "variance": "INVARIANT"}, "140305547903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602432128"}, {"nodeId": "140305602432240"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432128": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602432240": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677581920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178608": {"type": "Overloaded", "items": [{"nodeId": "140305677714144"}, {"nodeId": "140305677714592"}]}, "140305677714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432464"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432464": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432800": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602432688"}]}, "140305602432688": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305602433024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602433024": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}]}, "140305619227744": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305619229200": {"type": "Union", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450048"}, {"nodeId": "140305619080176", "args": [{"nodeId": "A"}]}, {"nodeId": "140305628004416"}, {"nodeId": "140305618824416"}, {"nodeId": "140305635980480"}]}, "140305627450048": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084608"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084832"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085056"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085280"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085504"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085728"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085952"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086176"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086400"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086624"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678005664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006112"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006560"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678007008"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602439968"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678091424"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602440080"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678092768"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678093664"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094112"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094560"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095008"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441424": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441536": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441648": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441760": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305548086176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305602441872": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678006112": {"type": "Function", "typeVars": [".-1.140305678006112"], "argTypes": [{"nodeId": ".-1.140305678006112"}], "returnType": {"nodeId": ".-1.140305678006112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305678006112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678006112", "variance": "INVARIANT"}, "140305678006560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441984"}, {"nodeId": "140305602442096"}, {"nodeId": "140305602442208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305602441984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602442096": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627455424": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055632"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055296"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674268768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269216"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269664"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632055632": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632055296": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632054512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972416": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849792"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849360"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268384"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268832"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594269056"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305685849792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}, {"nodeId": "140305615232400"}, {"nodeId": "140305635972752"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140305615232400": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972752": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594319584"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320256"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320480"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320704"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320928"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321152"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321376"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631426176"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685854720"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594319584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232512": {"type": "Union", "items": [{"nodeId": "140305635972752"}, {"nodeId": "N"}]}, "140305594320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967376": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593935104"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936448"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936000"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936672"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936896"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937120"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937344"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937568"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937792"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938016"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938240"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938464"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938688"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938912"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939136"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939360"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593940032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690183936"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690186176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690187968"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305593935104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593940032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690183936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614961936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614961936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305614961712"}]}, "140305614961712": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690186176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140305690187968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140305594320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305594321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631426176": {"type": "Union", "items": [{"nodeId": "140305643944000"}, {"nodeId": "N"}]}, "140305643944000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305685854720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305594268384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594268832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674268768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305674269216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305602936528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602936528": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305674269664": {"type": "Function", "typeVars": [".-1.140305674269664"], "argTypes": [{"nodeId": ".-1.140305674269664"}, {"nodeId": "140305602936640"}], "returnType": {"nodeId": ".-1.140305674269664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305674269664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674269664", "variance": "INVARIANT"}, "140305602936640": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305602442208": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305678007008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602442320"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140305602442320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}]}, "140305602439968": {"type": "Overloaded", "items": [{"nodeId": "140305678007456"}, {"nodeId": "140305678007904"}]}, "140305678007456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678007904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678091424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602440080": {"type": "Overloaded", "items": [{"nodeId": "140305678091872"}, {"nodeId": "140305678092320"}]}, "140305678091872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602442656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602442656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678092320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678092768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443216"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140305602443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305678093664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678095008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443104"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602443104": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305619080176": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560668640"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560670432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888352"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665305600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306048"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306496"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306944"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307392"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307840"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308288"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308736"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309184"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425920"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426368"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426816"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427264"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427712"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665428160"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665429504"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888464"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606898768"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665431744"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432192"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432640"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433088"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433536"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434432"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434880"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435328"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435776"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436224"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436672"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140305619080176"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305619080176"}]}], "isAbstract": false}, "140305560668640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080176": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627449712"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080176", "variance": "INVARIANT"}, "140305627448368": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602007488"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682200864"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201312"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201760"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547654336"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654560"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318496"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319392"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320288"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320736"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321632"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602169312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682322976"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323424"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323872"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324320"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324768"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325216"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325664"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174240"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327456"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327904"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328352"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328800"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173232"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330144"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330592"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331040"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331936"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332832"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682333280"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432288"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432736"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433184"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433632"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602007488": {"type": "Function", "typeVars": [".-1.140305602007488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602172672"}], "returnType": {"nodeId": ".-1.140305602007488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602172672": {"type": "Union", "items": [{"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602172560"}]}, "140305627759328": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598228160"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__float__"]}, "140305598228160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759328"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602172560": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007488", "variance": "INVARIANT"}, "140305682200864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602172896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305682201312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682201760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654336": {"type": "Function", "typeVars": [".-1.140305547654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547654336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547654336", "variance": "INVARIANT"}, "140305547654560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602173120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602169312": {"type": "Overloaded", "items": [{"nodeId": "140305682322080"}, {"nodeId": "140305682322528"}]}, "140305682322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602173568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602174240": {"type": "Overloaded", "items": [{"nodeId": "140305682326112"}, {"nodeId": "140305682326560"}, {"nodeId": "140305682327008"}]}, "140305682326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602173792"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602173792": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305619236816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305682326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602177040"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602177040": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305619583152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305627448704": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602176256"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547725952"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547726848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682436768"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437664"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438112"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438560"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439008"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439456"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439904"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440352"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440800"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441248"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442144"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442592"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443040"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443488"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443936"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602176256": {"type": "Overloaded", "items": [{"nodeId": "140305682434080"}, {"nodeId": "140305682434528"}]}, "140305682434080": {"type": "Function", "typeVars": [".-1.140305682434080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174128"}, {"nodeId": "140305602174464"}], "returnType": {"nodeId": ".-1.140305682434080"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140305602174128": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, "140305627759664": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598229504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__complex__"]}, "140305598229504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759664"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602174464": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, ".-1.140305682434080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434080", "variance": "INVARIANT"}, "140305682434528": {"type": "Function", "typeVars": [".-1.140305682434528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174576"}], "returnType": {"nodeId": ".-1.140305682434528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140305602174576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627448704"}]}, ".-1.140305682434528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434528", "variance": "INVARIANT"}, "140305547725952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547726848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682436768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682437216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682437664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682439008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682441248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682441696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}]}, "140305682327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173232": {"type": "Overloaded", "items": [{"nodeId": "140305682329248"}, {"nodeId": "140305682329696"}]}, "140305682329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897200": {"type": "TypeAlias", "target": {"nodeId": "140305619109584"}}, "140305619109584": {"type": "Union", "items": [{"nodeId": "140305631854176"}, {"nodeId": "140305631854400"}, {"nodeId": "140305619108128"}]}, "140305631854176": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305619109472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305631854400": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305627332416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305619108128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305560670432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606888352": {"type": "Overloaded", "items": [{"nodeId": "140305606273600"}, {"nodeId": "140305665303808"}, {"nodeId": "140305665304256"}, {"nodeId": "140305665304704"}, {"nodeId": "140305665305152"}]}, "140305606273600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305606897424"}, {"nodeId": "140305606897536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897424": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305606897536": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}]}, "140305665303808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305606898432"}, {"nodeId": "140305606897312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898432": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305606897312": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448368"}]}]}, "140305665304256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305606898656"}, {"nodeId": "140305606898320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305606898320": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}]}, "140305665304704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305606897760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897760": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305665305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665306048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305665306496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606897984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606897984": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305665308288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619088240", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305619088240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307232"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140305619088240"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read"]}, "140305707307232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088240", "args": [{"nodeId": ".1.140305619088240"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088240", "variance": "COVARIANT"}, "140305665308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305665425472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665425920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665426368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665426816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665427264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619089248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308576"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140305619089248"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["write"]}, "140305707308576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619089248"}]}, {"nodeId": ".1.140305619089248"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619089248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089248", "variance": "CONTRAVARIANT"}, "140305665427712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665428160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665429504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606888464": {"type": "Overloaded", "items": [{"nodeId": "140305665429952"}, {"nodeId": "140305665430400"}]}, "140305665429952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665430400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898768": {"type": "Overloaded", "items": [{"nodeId": "140305665430848"}, {"nodeId": "140305665431296"}]}, "140305665430848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606898544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898544": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305665432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665432640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433536": {"type": "Function", "typeVars": [".-1.140305665433536"], "argTypes": [{"nodeId": ".-1.140305665433536"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": ".-1.140305665433536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433536", "variance": "INVARIANT"}, "140305665433984": {"type": "Function", "typeVars": [".-1.140305665433984"], "argTypes": [{"nodeId": ".-1.140305665433984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305665433984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433984", "variance": "INVARIANT"}, "140305665434432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665436224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665436672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305628004416": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665832800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833248"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833696"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665834592"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283424"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283872"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284320"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284768"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285216"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285664"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286112"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286560"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287008"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287456"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288352"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288800"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610833616"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656290144"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610997456"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292832"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627760672"}], "isAbstract": false}, "140305665832800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140305665833248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665833696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140305665834592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140305656283424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656283872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656284320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140305656284768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140305656285216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656285664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656286112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140305656286560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656287008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140305656287456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065040"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656287904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065152"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065152": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656288352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065264"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305611065264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656288800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140305611065376": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610833616": {"type": "Overloaded", "items": [{"nodeId": "140305656289248"}, {"nodeId": "140305656289696"}]}, "140305656289248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656289696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656290144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611065600": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610997456": {"type": "Overloaded", "items": [{"nodeId": "140305656290592"}, {"nodeId": "140305656291040"}]}, "140305656290592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656291040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}, {"nodeId": "140305611065824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611065824": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656291488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656291936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656292384": {"type": "Function", "typeVars": [".-1.140305656292384"], "argTypes": [{"nodeId": ".-1.140305656292384"}], "returnType": {"nodeId": ".-1.140305656292384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305656292384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656292384", "variance": "INVARIANT"}, "140305656292832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618824416": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418224"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569021088"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569136704"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569137600"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569138720"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569139168"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631418224": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305569021088": {"type": "Function", "typeVars": [".-1.140305569021088"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336784"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569021088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336784": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, ".-1.140305569021088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569021088", "variance": "INVARIANT"}, "140305569136704": {"type": "Function", "typeVars": [".-1.140305569136704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336896"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569136704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305569136704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569136704", "variance": "INVARIANT"}, "140305569137600": {"type": "Function", "typeVars": [".-1.140305569137600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569137600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140305569137600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569137600", "variance": "INVARIANT"}, "140305569138720": {"type": "Function", "typeVars": [".-1.140305569138720"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305606337120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140305606337120": {"type": "Union", "items": [{"nodeId": ".-1.140305569138720"}, {"nodeId": "140305618826432"}]}, ".-1.140305569138720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569138720", "variance": "INVARIANT"}, "140305618826432": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305569139168": {"type": "Function", "typeVars": [".-1.140305569139168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305569139168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140305618823408": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618824416"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665437792"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665438688"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439136"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665437792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305606336336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606336448"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606336560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140305606336336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606336448": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606336560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305665438688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618825760": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305618825424"}], "isAbstract": false}, "140305618825424": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305686131904"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627323456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334320"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665676384"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, "140305686131904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305640400576"}, {"nodeId": "N"}]}, "140305640400576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627323456": {"type": "TypeAlias", "target": {"nodeId": "140305643937728"}}, "140305643937728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305694785936"}, {"nodeId": "140305618825424"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305618824416"}]}], "returnType": {"nodeId": "140305618824416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305694785936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606334320": {"type": "Overloaded", "items": [{"nodeId": "140305665674592"}, {"nodeId": "140305665675040"}, {"nodeId": "140305665675488"}, {"nodeId": "140305665675936"}]}, "140305665674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140305665675040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606265984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140305606265984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305665675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606337792"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606337904"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140305606337792": {"type": "Tuple", "items": [{"nodeId": "140305606337456"}, {"nodeId": "140305618823408"}]}, "140305606337456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305606337904": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305627320768": {"type": "Union", "items": [{"nodeId": "140305627324800"}, {"nodeId": "140305627321440"}, {"nodeId": "140305627320880"}]}, "140305627324800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305627321440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627320880": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305665675936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606338240"}]}, {"nodeId": "140305614570544", "args": [{"nodeId": "140305618944064"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140305606338240": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305614570544": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614570544"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334432"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606338016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665686688"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140305614570544"}], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305614570544": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570544", "variance": "INVARIANT"}, "140305606334432": {"type": "Overloaded", "items": [{"nodeId": "140305665684896"}, {"nodeId": "140305665685344"}]}, "140305665684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": ".1.140305614570544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140305606338016": {"type": "Overloaded", "items": [{"nodeId": "140305665685792"}, {"nodeId": "140305665686240"}]}, "140305665685792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305618825088": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824752"}], "isAbstract": false}, "140305618824752": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305618944064": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618826768": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618826768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822048"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305618826768"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305618826768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618826768", "variance": "INVARIANT"}, "140305665822048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618826768"}]}, {"nodeId": ".1.140305618826768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305665676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305665439136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305569139168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569139168", "variance": "INVARIANT"}, "140305635980480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295072"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295520"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305656294624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}, {"nodeId": "140305610608416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140305610608416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627758992": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598227264"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__int__"]}, "140305598227264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627758992"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619086224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303200"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__trunc__"]}, "140305707303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305602006816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602006816", "variance": "INVARIANT"}, "140305690396704": {"type": "Function", "typeVars": [".-1.140305690396704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169648"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305690396704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140305602169648": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, ".-1.140305690396704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690396704", "variance": "INVARIANT"}, "140305690397152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602169984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602169984": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "0"}]}, "140305547479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547480864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690400288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690401632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602170544"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140305602170544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305547478624": {"type": "Function", "typeVars": [".-1.140305547478624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602170768"}, {"nodeId": "140305602171104"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305547478624"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140305602170768": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627760000"}, {"nodeId": "140305602170656"}]}, "140305602170656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602171104": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140305547478624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547478624", "variance": "INVARIANT"}, "140305690402528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690402976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690405216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602171328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305690405664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690408352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602171552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305602168864": {"type": "Overloaded", "items": [{"nodeId": "140305690408800"}, {"nodeId": "140305690409248"}, {"nodeId": "140305690409696"}, {"nodeId": "140305690410144"}, {"nodeId": "140305690410592"}, {"nodeId": "140305682186528"}]}, "140305690408800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690409248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305690409696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602172224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602172224": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305690410144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602175024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602175024": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305690410592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305682186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305602174912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602174912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305682187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682193248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682193696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682195040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602172448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305682195488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682195936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682198176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682198624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682199968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678281056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678281504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678281952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305678282400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602593056": {"type": "Overloaded", "items": [{"nodeId": "140305678282848"}, {"nodeId": "140305678283296"}]}, "140305678282848": {"type": "Function", "typeVars": [".-1.140305678282848"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678282848"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305678282848": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305678282848", "variance": "INVARIANT"}, "140305619697360": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305619081520": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318560"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140305619081520"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__lt__"]}, "140305669318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081520", "args": [{"nodeId": ".1.140305619081520"}]}, {"nodeId": ".1.140305619081520"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081520": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081520", "variance": "CONTRAVARIANT"}, "140305619081856": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319008"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305619081856"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__gt__"]}, "140305669319008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081856", "args": [{"nodeId": ".1.140305619081856"}]}, {"nodeId": ".1.140305619081856"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081856": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081856", "variance": "CONTRAVARIANT"}, "140305678283296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602560960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305602560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305602594736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594736": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305619112384": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305678283744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678284192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594288": {"type": "Overloaded", "items": [{"nodeId": "140305678284640"}, {"nodeId": "140305678285088"}]}, "140305678284640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678285088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594400": {"type": "Overloaded", "items": [{"nodeId": "140305678285536"}, {"nodeId": "140305678285984"}]}, "140305678285536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678285984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678286432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602594960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594960": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305602594624": {"type": "Overloaded", "items": [{"nodeId": "140305678418208"}, {"nodeId": "140305678418656"}]}, "140305678418208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678418656": {"type": "Function", "typeVars": [".-1.140305678418656"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678418656"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305602595184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678418656": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678418656", "variance": "INVARIANT"}, "140305602595184": {"type": "Union", "items": [{"nodeId": ".-1.140305678418656"}, {"nodeId": ".1.140305627451056"}]}, "140305678419104": {"type": "Function", "typeVars": [".-1.140305678419104"], "argTypes": [{"nodeId": ".-1.140305678419104"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": ".-1.140305678419104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678419104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678419104", "variance": "INVARIANT"}, "140305678419552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420448": {"type": "Function", "typeVars": [".-1.140305678420448"], "argTypes": [{"nodeId": ".-1.140305678420448"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305678420448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678420448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678420448", "variance": "INVARIANT"}, "140305678420896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678421344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678421792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305678427168": {"type": "Function", "typeVars": [".-1.140305678427168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305678427168"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140305678427168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678427168", "variance": "INVARIANT"}, "140305678427616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765040": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556277280"}}], "typeVars": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627765040"}]}], "isAbstract": false}, "140305556277280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765040": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, ".2.140305627765040": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, "140305678428512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765376": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556289376"}}], "typeVars": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305627765376"}]}], "isAbstract": false}, "140305556289376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765376": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, ".2.140305627765376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, "140305678428960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765712": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556223392"}}], "typeVars": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "isAbstract": false}, "140305556223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765712": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, ".2.140305627765712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, "140305602595072": {"type": "Overloaded", "items": [{"nodeId": "140305678429408"}, {"nodeId": "140305678429856"}]}, "140305678429408": {"type": "Function", "typeVars": [".-1.140305678429408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429408"}, {"nodeId": "140305602596416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140305678429408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429408", "variance": "INVARIANT"}, "140305602596416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305678429856": {"type": "Function", "typeVars": [".-1.140305678429856", ".-2.140305678429856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429856"}]}, {"nodeId": ".-2.140305678429856"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429856"}, {"nodeId": ".-2.140305678429856"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305678429856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, ".-2.140305678429856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, "140305602595408": {"type": "Overloaded", "items": [{"nodeId": "140305678430304"}, {"nodeId": "140305678430752"}]}, "140305678430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "140305602596640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602596640": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": "N"}]}, "140305678430752": {"type": "Function", "typeVars": [".-1.140305678430752"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602596752"}], "returnType": {"nodeId": "140305602596864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602596752": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, ".-1.140305678430752": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678430752", "variance": "INVARIANT"}, "140305602596864": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, "140305602596192": {"type": "Overloaded", "items": [{"nodeId": "140305678431200"}, {"nodeId": "140305678431648"}]}, "140305678431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678431648": {"type": "Function", "typeVars": [".-1.140305678431648"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602597088"}], "returnType": {"nodeId": "140305602597200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602597088": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, ".-1.140305678431648": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678431648", "variance": "INVARIANT"}, "140305602597200": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, "140305678432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678432992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678433888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673322784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673323232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305673323680": {"type": "Function", "typeVars": [".-1.140305673323680", ".-2.140305673323680"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673323680"}, {"nodeId": ".-2.140305673323680"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597424"}, {"nodeId": "140305602597536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673323680": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, ".-2.140305673323680": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, "140305602597424": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673323680"}]}, "140305602597536": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673323680"}]}, "140305673324128": {"type": "Function", "typeVars": [".-1.140305673324128", ".-2.140305673324128"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673324128"}, {"nodeId": ".-2.140305673324128"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597648"}, {"nodeId": "140305602597760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324128": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, ".-2.140305673324128": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, "140305602597648": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673324128"}]}, "140305602597760": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673324128"}]}, "140305602596528": {"type": "Overloaded", "items": [{"nodeId": "140305673324576"}, {"nodeId": "140305673325024"}]}, "140305673324576": {"type": "Function", "typeVars": [".-1.140305673324576"], "argTypes": [{"nodeId": ".-1.140305673324576"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": ".-1.140305673324576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324576", "variance": "INVARIANT"}, "140305673325024": {"type": "Function", "typeVars": [".-1.140305673325024"], "argTypes": [{"nodeId": ".-1.140305673325024"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602598096"}]}], "returnType": {"nodeId": ".-1.140305673325024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673325024", "variance": "INVARIANT"}, "140305602598096": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305719638528": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594208"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703591872"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949280"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703593216"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954208"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954656"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "isAbstract": true}, "140305598594208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305719638528": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, ".2.140305719638528": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, "140305598594656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703591872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614949280": {"type": "Overloaded", "items": [{"nodeId": "140305703592320"}, {"nodeId": "140305703592768"}]}, "140305703592320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305703592768": {"type": "Function", "typeVars": [".-1.140305703592768"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": "140305614954768"}], "returnType": {"nodeId": "140305614954880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954768": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, ".-1.140305703592768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703592768", "variance": "INVARIANT"}, "140305614954880": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, "140305703593216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "140305614955104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614955104": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305614954208": {"type": "Overloaded", "items": [{"nodeId": "140305703593664"}, {"nodeId": "140305703594112"}]}, "140305703593664": {"type": "Function", "typeVars": [".-1.140305703593664"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": "140305614955328"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "140305614955440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614955328": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, ".-1.140305703593664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703593664", "variance": "INVARIANT"}, "140305614955440": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, "140305703594112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305614954656": {"type": "Overloaded", "items": [{"nodeId": "140305703594560"}, {"nodeId": "140305703595008"}, {"nodeId": "140305703595456"}]}, "140305703594560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305703595008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614955776"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305614955776": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305703595456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305606901008": {"type": "Overloaded", "items": [{"nodeId": "140305694713312"}]}, "140305694713312": {"type": "Function", "typeVars": [".-1.140305694713312"], "argTypes": [{"nodeId": ".-1.140305694713312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694713312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694713312", "variance": "INVARIANT"}, "140305547490272": {"type": "Function", "typeVars": [".-1.140305547490272"], "argTypes": [{"nodeId": ".-1.140305547490272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305547490272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547490272", "variance": "INVARIANT"}, "140305694714208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694714656": {"type": "Function", "typeVars": [".-1.140305694714656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305694714656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305694714656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694714656", "variance": "INVARIANT"}, "140305694715104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305694715552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694718240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694718688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694719136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694719584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305601968752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305601968752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695113504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305601968976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305601968976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695114400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305682445728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682445728", "variance": "INVARIANT"}, "140305602007712": {"type": "Function", "typeVars": [".-1.140305602007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602175248"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305602007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140305602175248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007712", "variance": "INVARIANT"}, "140305682446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175360"}, {"nodeId": "140305602175472"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140305602175360": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175472": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305682563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602175584"}, {"nodeId": "140305602175696"}, {"nodeId": "140305602175808"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602175696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682564256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305682565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175920"}, {"nodeId": "140305602176032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175920": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176032": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305682566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449040"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140305627449040": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682444832"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449040"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602176144"}, {"nodeId": "140305602176480"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602176144": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176480": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682573664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602176592"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602176592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682574112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602176816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602176816": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682574560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305682575008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177152"}, {"nodeId": "140305602177264"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177152": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177376"}, {"nodeId": "140305602177488"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177488": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682577248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602177712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602177712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682577696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177824"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602177824": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602177936": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602178048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682579040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178160"}, {"nodeId": "140305602178272"}, {"nodeId": "140305602178384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602178160": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602178272": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602178384": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178496"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602178496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305677436064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627449376": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682445280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449376"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602174800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602174800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677437408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677437856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602174016": {"type": "Overloaded", "items": [{"nodeId": "140305677438304"}, {"nodeId": "140305677438752"}]}, "140305677438304": {"type": "Function", "typeVars": [".-1.140305677438304"], "argTypes": [{"nodeId": "140305602178832"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178832": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305602178720"}, {"nodeId": ".-1.140305677438304"}]}]}, ".-1.140305677438304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677438304", "variance": "INVARIANT"}, "140305602178720": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305677438752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602178944"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305602179056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602178944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305602179056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677439200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677439648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602179168"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602179168": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677441440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677441888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677442784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677443232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677443680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602179504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614579280": {"type": "Concrete", "module": "annotation_tests", "simpleName": "A", "members": [{"kind": "Variable", "name": "self_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614579280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711241856"}, "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724060480"}, "name": "g"}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [{"nodeId": ".1.140305614579280"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305614579280": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305614579280", "variance": "INVARIANT"}, "140305711241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280", "args": [{"nodeId": ".1.140305614579280"}]}, {"nodeId": "A"}, {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140305724060480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543282272": {"type": "Function", "typeVars": [".-1.140305543282272"], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": ".-1.140305543282272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["collection", "x"]}, ".-1.140305543282272": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305543282272", "variance": "INVARIANT"}, "140305724061024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305551846176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["x", "y", "a", "b", "c"]}, "140305543281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809552": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305548177952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305614579616": {"type": "Concrete", "module": "annotation_tests", "simpleName": "Color", "members": [{"kind": "Variable", "name": "RED", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "GREEN", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "BLUE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305628017856": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568413536"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568414208"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305665475744"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414432"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707401952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707403296"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305568413536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305568414208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665475744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305568414432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140305568414656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140305707401952": {"type": "Function", "typeVars": [".-1.140305707401952"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305707401952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707401952": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707401952", "variance": "INVARIANT"}, "140305707402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707402848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140305707403296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140305694467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305548169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305548175712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711248352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711247456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305719632480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598233760"}}], "typeVars": [{"nodeId": ".1.140305719632480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__abs__"]}, "140305598233760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": ".1.140305719632480"}]}], "returnType": {"nodeId": ".1.140305719632480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719632480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632480", "variance": "COVARIANT"}, "140305707090208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627773776": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850032"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690277728"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597903616"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597904736"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305631850256": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305690277728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614770960"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614770624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140305614770960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140305627449712"}]}, "140305614770624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630800": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707097600"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305719631472": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054624"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098496"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223456"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707100736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632054624": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707098496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614772304"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140305614772304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598223456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719631136": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098048"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631136"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305707100736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719630464": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707093568"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707093568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707101184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707097600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630800"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305597904736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630128": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632052272"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707091776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092224"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092672"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632052272": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707091776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614772416"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140305614772416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707092224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707092672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719631808": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102080"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102976"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627447360"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140305707102080": {"type": "Function", "typeVars": [".-1.140305707102080"], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": ".-1.140305707102080"}], "returnType": {"nodeId": ".-1.140305707102080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140305707102080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707102080", "variance": "INVARIANT"}, "140305707102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719632144": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707104768"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707104768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632144"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627758656": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305627657744": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918752"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919200"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919648"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920096"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305627767056": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602597872"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472480"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472928"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473376"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473824"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474272"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474720"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475168"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475616"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476064"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477408"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477856"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478304"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478752"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479200"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480096"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480992"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767056"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "isAbstract": false}, "140305602597872": {"type": "Overloaded", "items": [{"nodeId": "140305673471584"}, {"nodeId": "140305673472032"}]}, "140305673471584": {"type": "Function", "typeVars": [".-1.140305673471584"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305673471584"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305673471584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673471584", "variance": "INVARIANT"}, "140305673472032": {"type": "Function", "typeVars": [".-1.140305673472032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": ".-1.140305673472032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140305627767056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767056", "variance": "COVARIANT"}, ".-1.140305673472032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673472032", "variance": "INVARIANT"}, "140305673472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475616": {"type": "Function", "typeVars": [".-1.140305673475616"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673475616"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599776"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673475616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673475616", "variance": "INVARIANT"}, "140305602599776": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673475616"}]}, "140305673476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673476512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673477408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673477856": {"type": "Function", "typeVars": [".-1.140305673477856"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673477856"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673477856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673477856", "variance": "INVARIANT"}, "140305602599888": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673477856"}]}, "140305673478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673478752": {"type": "Function", "typeVars": [".-1.140305673478752"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673478752"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602600000"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673478752": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673478752", "variance": "INVARIANT"}, "140305602600000": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673478752"}]}, "140305673479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673479648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305681918304": {"type": "Function", "typeVars": [".-1.140305681918304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305681918304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140305681918304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305681918304", "variance": "INVARIANT"}, "140305681918752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140305681919200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305681919648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305606899328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140305606899328": {"type": "Union", "items": [{"nodeId": "140305619089248", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305681920096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305627760336": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598232640"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305598232640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719632816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614671200"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305719632816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305614671200": {"type": "Overloaded", "items": [{"nodeId": "140305703078144"}, {"nodeId": "140305703078592"}]}, "140305703078144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719632816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632816", "variance": "COVARIANT"}, "140305703078592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719632816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627761008": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598338368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__hash__"]}, "140305598338368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719634160": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703081728"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598347776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614781488"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083520"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083968"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348000"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348448"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431296"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431520"}}], "typeVars": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719634160"}]}], "isAbstract": true}, "140305703081728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, ".2.140305719634160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "CONTRAVARIANT"}, ".3.140305719634160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, "140305598347776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": ".2.140305719634160"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614781488": {"type": "Overloaded", "items": [{"nodeId": "140305703082624"}, {"nodeId": "140305703083072"}]}, "140305703082624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "0"}, {"nodeId": "140305614946592"}, {"nodeId": "140305614946704"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946592": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614946704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614946816"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946816": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703083968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305614947264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614947264": {"type": "Union", "items": [{"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305719634496": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598432192"}}], "typeVars": [{"nodeId": ".1.140305719634496"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__await__"]}, "140305598432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719634496"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140305719634496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634496": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634496", "variance": "COVARIANT"}, "140305719634832": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434656"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434880"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435104"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435328"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435552"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435776"}}], "typeVars": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305719634832"}]}], "isAbstract": true}, "140305598434656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305614947600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634832": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, ".2.140305719634832": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "CONTRAVARIANT"}, ".3.140305719634832": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, "140305614947600": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": ".2.140305719634832"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946368": {"type": "Overloaded", "items": [{"nodeId": "140305703088896"}, {"nodeId": "140305703089344"}]}, "140305703088896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "0"}, {"nodeId": "140305614947824"}, {"nodeId": "140305614947936"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614947824": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614947936": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703089344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948048"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948048": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305598435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627761344": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}, {"nodeId": ".4.140305627761344"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305627761344"}]}, {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}]}], "isAbstract": true}, ".1.140305627761344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".2.140305627761344": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "CONTRAVARIANT"}, ".3.140305627761344": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".4.140305627761344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "INVARIANT"}, "140305719635168": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598436896"}}], "typeVars": [{"nodeId": ".1.140305719635168"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305598436896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635168"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635168", "variance": "COVARIANT"}, "140305719635504": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598440032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091136"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305719635504"}], "bases": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635504"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140305598440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635504", "variance": "COVARIANT"}, "140305703091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719635840": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091584"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598442272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946480"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703306624"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598441824"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443168"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443392"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443616"}}], "typeVars": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}], "bases": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635840"}]}], "isAbstract": true}, "140305703091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "COVARIANT"}, ".2.140305719635840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "CONTRAVARIANT"}, "140305598442272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": ".2.140305719635840"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946480": {"type": "Overloaded", "items": [{"nodeId": "140305703305728"}, {"nodeId": "140305703306176"}]}, "140305703305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "0"}, {"nodeId": "140305614948272"}, {"nodeId": "140305614948384"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614948384": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948496"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948496": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598441824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627763024": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743488"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598744608"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598745504"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598746176"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598746848"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598747520"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748192"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748864"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598749536"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750208"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750880"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598751552"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752224"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752896"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598753568"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754240"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754912"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598755584"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756256"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756928"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598757824"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593647392"}}], "typeVars": [{"nodeId": ".1.140305627763024"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}], "isAbstract": true}, "140305598743488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627763024": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627763024", "variance": "INVARIANT"}, "140305598744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598745504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598747520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598749536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598750208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598750880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598751552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305598752224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598752896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598753568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614955888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305614955888": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305598754240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598754912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": ".1.140305627763024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598755584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598756256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598756928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598757824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305593647392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614956000"}, {"nodeId": "140305614956112"}, {"nodeId": "140305614956224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305614956000": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305614956112": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305614956224": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627763360": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593648736"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": true}, "140305593648736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763360"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627763696": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650304"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650752"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650976"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651200"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651424"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593651648"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": true}, "140305593650304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305614956336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614956336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305593651200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627764368": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614955552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593654336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698619456"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620352"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614955552": {"type": "Overloaded", "items": [{"nodeId": "140305698454016"}, {"nodeId": "140305698454464"}]}, "140305698454016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614958800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614958800": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305698454464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305593654336": {"type": "Function", "typeVars": [".-1.140305593654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305593654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305593654336": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305593654336", "variance": "INVARIANT"}, "140305698619456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698620352": {"type": "Function", "typeVars": [".-1.140305698620352"], "argTypes": [{"nodeId": ".-1.140305698620352"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698620352"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305698620352": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620352", "variance": "INVARIANT"}, "140305627764704": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620800"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621248"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622144"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622592"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623040"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623488"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623936"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624832"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305698620800": {"type": "Function", "typeVars": [".-1.140305698620800"], "argTypes": [{"nodeId": ".-1.140305698620800"}], "returnType": {"nodeId": ".-1.140305698620800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698620800": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620800", "variance": "INVARIANT"}, "140305698621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305698621696": {"type": "Function", "typeVars": [".-1.140305698621696"], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": ".-1.140305698621696"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305698621696": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698621696", "variance": "INVARIANT"}, "140305698622144": {"type": "Function", "typeVars": [".-1.140305698622144"], "argTypes": [{"nodeId": ".-1.140305698622144"}, {"nodeId": ".-1.140305698622144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305698622144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698622144", "variance": "INVARIANT"}, "140305698622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698624384": {"type": "Function", "typeVars": [".-1.140305698624384"], "argTypes": [{"nodeId": ".-1.140305698624384"}, {"nodeId": ".-1.140305698624384"}], "returnType": {"nodeId": ".-1.140305698624384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624384": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624384", "variance": "INVARIANT"}, "140305698624832": {"type": "Function", "typeVars": [".-1.140305698624832"], "argTypes": [{"nodeId": ".-1.140305698624832"}, {"nodeId": ".-1.140305698624832"}], "returnType": {"nodeId": ".-1.140305698624832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624832": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624832", "variance": "INVARIANT"}, "140305719638864": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848464"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632062464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698625280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698626176"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698627072"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305632062464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614959472"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140305614959472": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305614959696"}, {"nodeId": "140305614959920"}, {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305614960144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140305614959696": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614959920": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614960144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627769072": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495808"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634240"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634688"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698635136"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750528"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750976"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698751424"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495920"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753664"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606496592"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "isAbstract": false}, ".1.140305627769072": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, ".2.140305627769072": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, "140305606495808": {"type": "Overloaded", "items": [{"nodeId": "140305698630656"}, {"nodeId": "140305669705728"}, {"nodeId": "140305698631552"}, {"nodeId": "140305698631104"}, {"nodeId": "140305698632448"}, {"nodeId": "140305698632000"}, {"nodeId": "140305698632896"}]}, "140305698630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669705728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698631552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698632448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606496816"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606496816": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305698632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606497040"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606497040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, "140305698632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698634240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": ".2.140305627769072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698750528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627769072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698750976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698633344": {"type": "Function", "typeVars": [".-1.140305698633344"], "argTypes": [{"nodeId": ".-1.140305698633344"}], "returnType": {"nodeId": ".-1.140305698633344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698633344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698633344", "variance": "INVARIANT"}, "140305698751424": {"type": "Function", "typeVars": [".-1.140305698751424"], "argTypes": [{"nodeId": ".-1.140305698751424"}], "returnType": {"nodeId": ".-1.140305698751424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698751424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751424", "variance": "INVARIANT"}, "140305606495920": {"type": "Overloaded", "items": [{"nodeId": "140305698752320"}, {"nodeId": "140305698752768"}]}, "140305698752320": {"type": "Function", "typeVars": [".-1.140305698752320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752320"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752320"}, {"nodeId": "140305606497376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752320", "variance": "INVARIANT"}, "140305606497376": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698752768": {"type": "Function", "typeVars": [".-1.140305698752768", ".-2.140305698752768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752768"}]}, {"nodeId": ".-2.140305698752768"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752768"}, {"nodeId": ".-2.140305698752768"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, ".-2.140305698752768": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, "140305698753216": {"type": "Function", "typeVars": [".-1.140305698753216", ".-2.140305698753216"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497488"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497600"}, {"nodeId": "140305606497712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497488": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}]}, ".-1.140305698753216": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, ".-2.140305698753216": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, "140305606497600": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753216"}]}, "140305606497712": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753216"}]}, "140305698753664": {"type": "Function", "typeVars": [".-1.140305698753664", ".-2.140305698753664"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497824"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497936"}, {"nodeId": "140305606498048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497824": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}]}, ".-1.140305698753664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, ".-2.140305698753664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, "140305606497936": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753664"}]}, "140305606498048": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753664"}]}, "140305606496592": {"type": "Overloaded", "items": [{"nodeId": "140305698751872"}, {"nodeId": "140305698754112"}]}, "140305698751872": {"type": "Function", "typeVars": [".-1.140305698751872"], "argTypes": [{"nodeId": ".-1.140305698751872"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": ".-1.140305698751872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698751872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751872", "variance": "INVARIANT"}, "140305698754112": {"type": "Function", "typeVars": [".-1.140305698754112"], "argTypes": [{"nodeId": ".-1.140305698754112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606498384"}]}], "returnType": {"nodeId": ".-1.140305698754112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754112", "variance": "INVARIANT"}, "140305606498384": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305627769408": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606497152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698755904"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756352"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756800"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757248"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758144"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758592"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498496"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698760832"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698759488"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761280"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761728"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762176"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762624"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763072"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763968"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764416"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764864"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765312"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765760"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698897984"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698898432"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698899776"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140305627769408"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627769408"}]}], "isAbstract": false}, ".1.140305627769408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769408", "variance": "INVARIANT"}, "140305606497152": {"type": "Overloaded", "items": [{"nodeId": "140305698755008"}, {"nodeId": "140305698755456"}]}, "140305698755008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140305698755456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140305698755904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498720"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498720": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498832"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498832": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498944": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606498160": {"type": "Overloaded", "items": [{"nodeId": "140305698759040"}, {"nodeId": "140305698754560"}]}, "140305698759040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698754560": {"type": "Function", "typeVars": [".-1.140305698754560"], "argTypes": [{"nodeId": ".-1.140305698754560"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": ".-1.140305698754560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754560", "variance": "INVARIANT"}, "140305606498496": {"type": "Overloaded", "items": [{"nodeId": "140305698759936"}, {"nodeId": "140305698760384"}]}, "140305698759936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606499280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499280": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698759488": {"type": "Function", "typeVars": [".-1.140305698759488"], "argTypes": [{"nodeId": ".-1.140305698759488"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698759488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698759488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698759488", "variance": "INVARIANT"}, "140305698761280": {"type": "Function", "typeVars": [".-1.140305698761280"], "argTypes": [{"nodeId": ".-1.140305698761280"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761280", "variance": "INVARIANT"}, "140305698761728": {"type": "Function", "typeVars": [".-1.140305698761728"], "argTypes": [{"nodeId": ".-1.140305698761728"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761728", "variance": "INVARIANT"}, "140305698762176": {"type": "Function", "typeVars": [".-1.140305698762176"], "argTypes": [{"nodeId": ".-1.140305698762176"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762176", "variance": "INVARIANT"}, "140305698762624": {"type": "Function", "typeVars": [".-1.140305698762624"], "argTypes": [{"nodeId": ".-1.140305698762624"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762624", "variance": "INVARIANT"}, "140305698763072": {"type": "Function", "typeVars": [".-1.140305698763072"], "argTypes": [{"nodeId": ".-1.140305698763072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698763072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698763072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763072", "variance": "INVARIANT"}, "140305698763968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698764416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140305698764864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140305698765312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698763520": {"type": "Function", "typeVars": [".-1.140305698763520"], "argTypes": [{"nodeId": ".-1.140305698763520"}], "returnType": {"nodeId": ".-1.140305698763520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698763520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763520", "variance": "INVARIANT"}, "140305698765760": {"type": "Function", "typeVars": [".-1.140305698765760"], "argTypes": [{"nodeId": ".-1.140305698765760"}], "returnType": {"nodeId": ".-1.140305698765760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698765760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698765760", "variance": "INVARIANT"}, "140305698897984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698898432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140305606499056": {"type": "Overloaded", "items": [{"nodeId": "140305698766208"}, {"nodeId": "140305698899328"}]}, "140305698766208": {"type": "Function", "typeVars": [".-1.140305698766208"], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".-1.140305698766208"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305698766208": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305698766208", "variance": "INVARIANT"}, "140305698899328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606270688"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305606270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305606499728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606499728": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305698899776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305627769744": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900672"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901120"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901568"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902912"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903360"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903808"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904256"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905152"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906048"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906496"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908288"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908736"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698909184"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910080"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910528"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910976"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911424"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911872"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698912768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913664"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029056"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029504"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029952"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030400"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030848"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031296"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031744"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032192"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032640"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033088"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033536"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033984"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034432"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034880"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035328"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035776"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036224"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036672"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699037120"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499168"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038464"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038912"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039808"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040256"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040704"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041152"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041600"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042944"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043392"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043840"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044288"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044736"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127360"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127808"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128256"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128704"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627769744"}]}], "isAbstract": false}, "140305698900224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305698900672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698902016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305606499840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606499840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305698902464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606499952"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499952": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698902912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500064"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500176"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500288"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500288": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698904256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698904704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698905152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698905600": {"type": "Function", "typeVars": [".-1.140305698905600"], "argTypes": [{"nodeId": ".-1.140305698905600"}, {"nodeId": "140305606500400"}], "returnType": {"nodeId": ".-1.140305698905600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698905600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698905600", "variance": "INVARIANT"}, "140305606500400": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698906048": {"type": "Function", "typeVars": [".-1.140305698906048"], "argTypes": [{"nodeId": ".-1.140305698906048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906048", "variance": "INVARIANT"}, "140305698906496": {"type": "Function", "typeVars": [".-1.140305698906496"], "argTypes": [{"nodeId": ".-1.140305698906496"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906496", "variance": "INVARIANT"}, "140305698906944": {"type": "Function", "typeVars": [".-1.140305698906944"], "argTypes": [{"nodeId": ".-1.140305698906944"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698906944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698906944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906944", "variance": "INVARIANT"}, "140305698907392": {"type": "Function", "typeVars": [".-1.140305698907392"], "argTypes": [{"nodeId": ".-1.140305698907392"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698907392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907392", "variance": "INVARIANT"}, "140305698907840": {"type": "Function", "typeVars": [".-1.140305698907840"], "argTypes": [{"nodeId": ".-1.140305698907840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698907840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907840", "variance": "INVARIANT"}, "140305698908288": {"type": "Function", "typeVars": [".-1.140305698908288"], "argTypes": [{"nodeId": ".-1.140305698908288"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698908288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908288", "variance": "INVARIANT"}, "140305698908736": {"type": "Function", "typeVars": [".-1.140305698908736"], "argTypes": [{"nodeId": ".-1.140305698908736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698908736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908736", "variance": "INVARIANT"}, "140305698909184": {"type": "Function", "typeVars": [".-1.140305698909184"], "argTypes": [{"nodeId": ".-1.140305698909184"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698909184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698909184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698909184", "variance": "INVARIANT"}, "140305698910080": {"type": "Function", "typeVars": [".-1.140305698910080"], "argTypes": [{"nodeId": ".-1.140305698910080"}], "returnType": {"nodeId": ".-1.140305698910080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910080", "variance": "INVARIANT"}, "140305698910528": {"type": "Function", "typeVars": [".-1.140305698910528"], "argTypes": [{"nodeId": ".-1.140305698910528"}], "returnType": {"nodeId": ".-1.140305698910528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910528", "variance": "INVARIANT"}, "140305698910976": {"type": "Function", "typeVars": [".-1.140305698910976"], "argTypes": [{"nodeId": ".-1.140305698910976"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698910976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305698910976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910976", "variance": "INVARIANT"}, "140305698911424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500736"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606500736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698911872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500848"}, {"nodeId": "140305606500960"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305606500848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606500960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305698912768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501072"}, {"nodeId": "140305606501184"}, {"nodeId": "140305606501296"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140305606501072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606501184": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606501296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305698913216": {"type": "Function", "typeVars": [".-1.140305698913216"], "argTypes": [{"nodeId": ".-1.140305698913216"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698913216"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140305698913216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698913216", "variance": "INVARIANT"}, "140305698913664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606501408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699029056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305699029504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305699029952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305699030400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699030848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305699036224": {"type": "Function", "typeVars": [".-1.140305699036224"], "argTypes": [{"nodeId": ".-1.140305699036224"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699036224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699036224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036224", "variance": "INVARIANT"}, "140305699036672": {"type": "Function", "typeVars": [".-1.140305699036672"], "argTypes": [{"nodeId": ".-1.140305699036672"}], "returnType": {"nodeId": ".-1.140305699036672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699036672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036672", "variance": "INVARIANT"}, "140305699037120": {"type": "Function", "typeVars": [".-1.140305699037120"], "argTypes": [{"nodeId": ".-1.140305699037120"}, {"nodeId": "140305606501968"}], "returnType": {"nodeId": ".-1.140305699037120"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699037120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037120", "variance": "INVARIANT"}, "140305606501968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606499168": {"type": "Overloaded", "items": [{"nodeId": "140305699037568"}, {"nodeId": "140305699038016"}]}, "140305699037568": {"type": "Function", "typeVars": [".-1.140305699037568"], "argTypes": [{"nodeId": "140305606502304"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305606502304": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305606502192"}, {"nodeId": ".-1.140305699037568"}]}]}, ".-1.140305699037568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037568", "variance": "INVARIANT"}, "140305606502192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305699038016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305606502416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140305606502416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606502640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606502640": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699038912": {"type": "Function", "typeVars": [".-1.140305699038912"], "argTypes": [{"nodeId": ".-1.140305699038912"}, {"nodeId": "140305606502752"}], "returnType": {"nodeId": ".-1.140305699038912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699038912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699038912", "variance": "INVARIANT"}, "140305606502752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039360": {"type": "Function", "typeVars": [".-1.140305699039360"], "argTypes": [{"nodeId": ".-1.140305699039360"}, {"nodeId": "140305606502864"}], "returnType": {"nodeId": ".-1.140305699039360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699039360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039360", "variance": "INVARIANT"}, "140305606502864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039808": {"type": "Function", "typeVars": [".-1.140305699039808"], "argTypes": [{"nodeId": ".-1.140305699039808"}, {"nodeId": "140305606502976"}, {"nodeId": "140305606503088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699039808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140305699039808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039808", "variance": "INVARIANT"}, "140305606502976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305606503088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503200"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503312"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699041152": {"type": "Function", "typeVars": [".-1.140305699041152"], "argTypes": [{"nodeId": ".-1.140305699041152"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699041152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699041152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699041152", "variance": "INVARIANT"}, "140305699041600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606503648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606503648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699042048": {"type": "Function", "typeVars": [".-1.140305699042048"], "argTypes": [{"nodeId": ".-1.140305699042048"}, {"nodeId": "140305606503760"}], "returnType": {"nodeId": ".-1.140305699042048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699042048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699042048", "variance": "INVARIANT"}, "140305606503760": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503872"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503984": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699043392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305699043840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606504096"}, {"nodeId": "140305606504208"}, {"nodeId": "140305606504320"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140305606504096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606504208": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699044288": {"type": "Function", "typeVars": [".-1.140305699044288"], "argTypes": [{"nodeId": ".-1.140305699044288"}, {"nodeId": "140305606504432"}], "returnType": {"nodeId": ".-1.140305699044288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699044288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044288", "variance": "INVARIANT"}, "140305606504432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699044736": {"type": "Function", "typeVars": [".-1.140305699044736"], "argTypes": [{"nodeId": ".-1.140305699044736"}], "returnType": {"nodeId": ".-1.140305699044736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699044736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044736", "variance": "INVARIANT"}, "140305699127360": {"type": "Function", "typeVars": [".-1.140305699127360"], "argTypes": [{"nodeId": ".-1.140305699127360"}], "returnType": {"nodeId": ".-1.140305699127360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699127360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127360", "variance": "INVARIANT"}, "140305699127808": {"type": "Function", "typeVars": [".-1.140305699127808"], "argTypes": [{"nodeId": ".-1.140305699127808"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699127808"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140305699127808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127808", "variance": "INVARIANT"}, "140305699128256": {"type": "Function", "typeVars": [".-1.140305699128256"], "argTypes": [{"nodeId": ".-1.140305699128256"}], "returnType": {"nodeId": ".-1.140305699128256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699128256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128256", "variance": "INVARIANT"}, "140305699128704": {"type": "Function", "typeVars": [".-1.140305699128704"], "argTypes": [{"nodeId": ".-1.140305699128704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699128704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140305699128704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128704", "variance": "INVARIANT"}, "140305627770080": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305564711200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130496"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130944"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131392"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132288"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132736"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133184"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134080"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134528"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134976"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135424"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137216"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137664"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138112"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138560"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139008"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139456"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139904"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140352"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140800"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141248"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141696"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142144"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142592"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627770080"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627770080"}]}], "isAbstract": false}, "140305564711200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305606504656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627770080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770080", "variance": "INVARIANT"}, "140305606504656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606499392": {"type": "Overloaded", "items": [{"nodeId": "140305699129600"}, {"nodeId": "140305699130048"}]}, "140305699129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140305606504880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140305606504992": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699130944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699131392": {"type": "Function", "typeVars": [".-1.140305699131392"], "argTypes": [{"nodeId": ".-1.140305699131392"}], "returnType": {"nodeId": ".-1.140305699131392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699131392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699131392", "variance": "INVARIANT"}, "140305699131840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699133184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305699133632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305699134080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699135424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699135872": {"type": "Function", "typeVars": [".-1.140305699135872"], "argTypes": [{"nodeId": ".-1.140305699135872"}], "returnType": {"nodeId": ".-1.140305699135872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699135872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699135872", "variance": "INVARIANT"}, "140305699136320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699136768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699137216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699137664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138560": {"type": "Function", "typeVars": [".-1.140305699138560"], "argTypes": [{"nodeId": ".-1.140305699138560"}], "returnType": {"nodeId": "140305606505440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699138560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699138560", "variance": "INVARIANT"}, "140305606505440": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305606505216"}, {"nodeId": "N"}, {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770080"}]}]}, "140305606505216": {"type": "Tuple", "items": []}, "140305699139008": {"type": "Function", "typeVars": [".-1.140305699139008"], "argTypes": [{"nodeId": ".-1.140305699139008"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".-1.140305699139008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139008", "variance": "INVARIANT"}, "140305699139456": {"type": "Function", "typeVars": [".-1.140305699139456"], "argTypes": [{"nodeId": ".-1.140305699139456"}, {"nodeId": ".-1.140305699139456"}], "returnType": {"nodeId": ".-1.140305699139456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139456", "variance": "INVARIANT"}, "140305699139904": {"type": "Function", "typeVars": [".-1.140305699139904"], "argTypes": [{"nodeId": ".-1.140305699139904"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699139904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139904", "variance": "INVARIANT"}, "140305699140352": {"type": "Function", "typeVars": [".-1.140305699140352"], "argTypes": [{"nodeId": ".-1.140305699140352"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699140352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699140352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699140352", "variance": "INVARIANT"}, "140305699140800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305627659424": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606502080"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699259776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260224"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260672"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305564825664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606504768"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606505664"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264256"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264704"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266048"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266496"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267392"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268288"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269632"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270080"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270528"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271424"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272320"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305627659424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305606502080": {"type": "Overloaded", "items": [{"nodeId": "140305699143040"}, {"nodeId": "140305699258432"}, {"nodeId": "140305699258880"}, {"nodeId": "140305699259328"}]}, "140305699143040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305627659424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659424", "variance": "INVARIANT"}, "140305699258432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699258880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259776": {"type": "Function", "typeVars": [".-1.140305699259776"], "argTypes": [{"nodeId": ".-1.140305699259776"}], "returnType": {"nodeId": ".-1.140305699259776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699259776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699259776", "variance": "INVARIANT"}, "140305699260224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305606505776"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305606506000"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305606505776": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606506000": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, "140305564825664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140305606506224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140305606506224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504768": {"type": "Overloaded", "items": [{"nodeId": "140305699261568"}, {"nodeId": "140305699262016"}, {"nodeId": "140305699262464"}]}, "140305699261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606505664": {"type": "Overloaded", "items": [{"nodeId": "140305699262912"}, {"nodeId": "140305699263360"}, {"nodeId": "140305699263808"}]}, "140305699262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": ".1.140305627659424"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266048": {"type": "Function", "typeVars": [".-1.140305699266048"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699266048"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699266048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699266048", "variance": "INVARIANT"}, "140305606506560": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699266048"}]}, "140305699266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699267392": {"type": "Function", "typeVars": [".-1.140305699267392"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699267392"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699267392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699267392", "variance": "INVARIANT"}, "140305606506672": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699267392"}]}, "140305699267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268736": {"type": "Function", "typeVars": [".-1.140305699268736"], "argTypes": [{"nodeId": ".-1.140305699268736"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699268736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699268736", "variance": "INVARIANT"}, "140305699269184": {"type": "Function", "typeVars": [".-1.140305699269184"], "argTypes": [{"nodeId": ".-1.140305699269184"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269184", "variance": "INVARIANT"}, "140305699269632": {"type": "Function", "typeVars": [".-1.140305699269632"], "argTypes": [{"nodeId": ".-1.140305699269632"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269632", "variance": "INVARIANT"}, "140305699270080": {"type": "Function", "typeVars": [".-1.140305699270080"], "argTypes": [{"nodeId": ".-1.140305699270080"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699270080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699270080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699270080", "variance": "INVARIANT"}, "140305699270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699272320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619075136": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272768"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075136"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305619075136"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075136"}]}], "isAbstract": false}, "140305699272768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075136", "args": [{"nodeId": ".1.140305619075136"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075136", "variance": "COVARIANT"}, "140305619075472": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273216"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627330736"}]}], "isAbstract": false}, "140305699273216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075472", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507344"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, ".2.140305619075472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, "140305606507344": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305627330736": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305619075808": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273664"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075808"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305619075808"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075808"}]}], "isAbstract": false}, "140305699273664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075808", "args": [{"nodeId": ".1.140305619075808"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075808": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075808", "variance": "COVARIANT"}, "140305627770416": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699274112"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}], "bases": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627770416"}]}], "isAbstract": false}, "140305699274112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770416"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770416": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, ".2.140305627770416": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, "140305627770752": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699405888"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}], "bases": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627331744"}]}], "isAbstract": false}, "140305699405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770752": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, ".2.140305627770752": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, "140305606507568": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627331744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627771088": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406336"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}], "bases": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".2.140305627771088"}]}], "isAbstract": false}, "140305699406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".2.140305627771088"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627771088": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, ".2.140305627771088": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, "140305627771424": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406784"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407232"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407680"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408128"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408576"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409024"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409472"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506336"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506448"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627771424"}]}], "isAbstract": false}, "140305699406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606507792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140305627771424": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, ".2.140305627771424": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, "140305606507792": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "140305699407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140305699407680": {"type": "Function", "typeVars": [".-1.140305699407680"], "argTypes": [{"nodeId": ".-1.140305699407680"}], "returnType": {"nodeId": ".-1.140305699407680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699407680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699407680", "variance": "INVARIANT"}, "140305699408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699408576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606506336": {"type": "Overloaded", "items": [{"nodeId": "140305699409920"}, {"nodeId": "140305699410368"}]}, "140305699409920": {"type": "Function", "typeVars": [".-1.140305699409920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699409920"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699409920"}, {"nodeId": "140305606508128"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699409920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699409920", "variance": "INVARIANT"}, "140305606508128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305699410368": {"type": "Function", "typeVars": [".-1.140305699410368", ".-2.140305699410368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699410368"}]}, {"nodeId": ".-2.140305699410368"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699410368"}, {"nodeId": ".-2.140305699410368"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699410368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, ".-2.140305699410368": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, "140305606506448": {"type": "Overloaded", "items": [{"nodeId": "140305699410816"}, {"nodeId": "140305699411264"}]}, "140305699410816": {"type": "Function", "typeVars": [".-1.140305699410816"], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": "140305606508352"}]}, {"nodeId": ".1.140305627771424"}], "returnType": {"nodeId": "140305606885440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305606508352": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, ".-1.140305699410816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410816", "variance": "INVARIANT"}, "140305606885440": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, "140305699411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "returnType": {"nodeId": ".2.140305627771424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140305627659760": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627331632"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606507904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415296"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415744"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416192"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "isAbstract": false}, "140305627331632": {"type": "Union", "items": [{"nodeId": "140305640404608"}, {"nodeId": "N"}]}, "140305640404608": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, ".2.140305627659760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305606507904": {"type": "Overloaded", "items": [{"nodeId": "140305699411712"}, {"nodeId": "140305699412160"}, {"nodeId": "140305699412608"}, {"nodeId": "140305699413056"}, {"nodeId": "140305699413504"}, {"nodeId": "140305699413952"}, {"nodeId": "140305699414400"}, {"nodeId": "140305699414848"}]}, "140305699411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627659760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305699412160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305699412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606885664": {"type": "Union", "items": [{"nodeId": "140305606271136"}, {"nodeId": "N"}]}, "140305606271136": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885776"}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606885776": {"type": "Union", "items": [{"nodeId": "140305606271360"}, {"nodeId": "N"}]}, "140305606271360": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885888"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606885888": {"type": "Union", "items": [{"nodeId": "140305606271584"}, {"nodeId": "N"}]}, "140305606271584": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886000"}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886000": {"type": "Union", "items": [{"nodeId": "140305606271808"}, {"nodeId": "N"}]}, "140305606271808": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886336"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606886112": {"type": "Union", "items": [{"nodeId": "140305606272032"}, {"nodeId": "N"}]}, "140305606272032": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886336": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, "140305699414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886672"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886448": {"type": "Union", "items": [{"nodeId": "140305606272256"}, {"nodeId": "N"}]}, "140305606272256": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886672": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, "140305699415296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".1.140305627659760"}], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699415744": {"type": "Function", "typeVars": [".-1.140305699415744"], "argTypes": [{"nodeId": ".-1.140305699415744"}], "returnType": {"nodeId": ".-1.140305699415744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699415744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699415744", "variance": "INVARIANT"}, "140305699416192": {"type": "Function", "typeVars": [".-1.140305699416192"], "argTypes": [{"nodeId": ".-1.140305699416192"}], "returnType": {"nodeId": ".-1.140305699416192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699416192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699416192", "variance": "INVARIANT"}, "140305627771760": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417088"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305565130240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419776"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420224"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420672"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421120"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421568"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606508240"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694294976"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305565132704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606885552"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296320"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296768"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606886896"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "isAbstract": false}, ".1.140305627771760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, ".2.140305627771760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, "140305699416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140305699417088": {"type": "Function", "typeVars": [".-1.140305699417088"], "argTypes": [{"nodeId": ".-1.140305699417088"}, {"nodeId": "140305606886784"}], "returnType": {"nodeId": ".-1.140305699417088"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140305699417088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699417088", "variance": "INVARIANT"}, "140305606886784": {"type": "Union", "items": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "N"}]}, "140305565130240": {"type": "Function", "typeVars": [".-1.140305565130240"], "argTypes": [{"nodeId": ".-1.140305565130240"}], "returnType": {"nodeId": ".-1.140305565130240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565130240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565130240", "variance": "INVARIANT"}, "140305699417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699419776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699420672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699421120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606508240": {"type": "Overloaded", "items": [{"nodeId": "140305694294080"}, {"nodeId": "140305694294528"}]}, "140305694294080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305694294528": {"type": "Function", "typeVars": [".-1.140305694294528"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": "140305606887008"}], "returnType": {"nodeId": "140305606887120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606887008": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, ".-1.140305694294528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294528", "variance": "INVARIANT"}, "140305606887120": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, "140305694294976": {"type": "Function", "typeVars": [".-1.140305694294976"], "argTypes": [{"nodeId": ".-1.140305694294976"}], "returnType": {"nodeId": ".-1.140305694294976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694294976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294976", "variance": "INVARIANT"}, "140305565132704": {"type": "Function", "typeVars": [".-1.140305565132704"], "argTypes": [{"nodeId": ".-1.140305565132704"}], "returnType": {"nodeId": ".-1.140305565132704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565132704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565132704", "variance": "INVARIANT"}, "140305606885552": {"type": "Overloaded", "items": [{"nodeId": "140305694295424"}, {"nodeId": "140305694295872"}]}, "140305694295424": {"type": "Function", "typeVars": [".-1.140305694295424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295424"}, {"nodeId": "140305606887456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140305694295424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295424", "variance": "INVARIANT"}, "140305606887456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305694295872": {"type": "Function", "typeVars": [".-1.140305694295872", ".-2.140305694295872"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295872"}]}, {"nodeId": ".-2.140305694295872"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295872"}, {"nodeId": ".-2.140305694295872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305694295872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, ".-2.140305694295872": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, "140305694296320": {"type": "Function", "typeVars": [".-1.140305694296320", ".-2.140305694296320"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296320"}, {"nodeId": ".-2.140305694296320"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887568"}, {"nodeId": "140305606887680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296320": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, ".-2.140305694296320": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, "140305606887568": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296320"}]}, "140305606887680": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296320"}]}, "140305694296768": {"type": "Function", "typeVars": [".-1.140305694296768", ".-2.140305694296768"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296768"}, {"nodeId": ".-2.140305694296768"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887792"}, {"nodeId": "140305606887904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, ".-2.140305694296768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, "140305606887792": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296768"}]}, "140305606887904": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296768"}]}, "140305606886896": {"type": "Overloaded", "items": [{"nodeId": "140305694297216"}, {"nodeId": "140305694297664"}]}, "140305694297216": {"type": "Function", "typeVars": [".-1.140305694297216"], "argTypes": [{"nodeId": ".-1.140305694297216"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": ".-1.140305694297216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297216", "variance": "INVARIANT"}, "140305694297664": {"type": "Function", "typeVars": [".-1.140305694297664"], "argTypes": [{"nodeId": ".-1.140305694297664"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606888240"}]}], "returnType": {"nodeId": ".-1.140305694297664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297664", "variance": "INVARIANT"}, "140305606888240": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, "140305628017184": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694299680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694300128"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "isAbstract": false}, "140305694299680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305628017520": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694301920"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568408832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694303712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305056"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568409056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306400"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306848"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628017856"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "A"}, {"nodeId": "140305628017856"}]}}], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305694301920": {"type": "Function", "typeVars": [".-1.140305694301920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305628017184"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305694301920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140305694301920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694301920", "variance": "INVARIANT"}, "140305568408832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628017184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140305694303712": {"type": "Function", "typeVars": [".-1.140305694303712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694303712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694303712": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694303712", "variance": "INVARIANT"}, "140305694304160": {"type": "Function", "typeVars": [".-1.140305694304160"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694304160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694304160": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694304160", "variance": "INVARIANT"}, "140305694304608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694305056": {"type": "Function", "typeVars": [".-1.140305694305056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305694305056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694305056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694305056", "variance": "INVARIANT"}, "140305568409056": {"type": "Function", "typeVars": [".-1.140305568409056"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305568409056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305568409056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568409056", "variance": "INVARIANT"}, "140305694305952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694306400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611314496": {"type": "Overloaded", "items": [{"nodeId": "140305694307296"}, {"nodeId": "140305694308192"}]}, "140305694307296": {"type": "Function", "typeVars": [".-1.140305694307296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140305694307296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140305694307296": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694307296", "variance": "INVARIANT"}, "140305694308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611318752"}, {"nodeId": "140305611318864"}, {"nodeId": "140305611318976"}, {"nodeId": "140305611319088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140305611318752": {"type": "TypeAlias", "target": {"nodeId": "140305665816528"}}, "140305665816528": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305644437200"}]}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}]}, "140305644437200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305611318864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611318976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611319088": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305628018192": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707404192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628017856"}], "isAbstract": false}, "140305568466080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018192"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707404192": {"type": "Function", "typeVars": [".-1.140305707404192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707404192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707404192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707404192", "variance": "INVARIANT"}, "140305614569872": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707405536"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305568466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707405536": {"type": "Function", "typeVars": [".-1.140305707405536"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305707405536"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305707405536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707405536", "variance": "INVARIANT"}, "140305628018864": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412256"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412704"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413152"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413600"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568473920"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568474816"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568475712"}}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628018528"}], "isAbstract": false}, "140305707412256": {"type": "Function", "typeVars": [".-1.140305707412256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707412256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412256", "variance": "INVARIANT"}, "140305707412704": {"type": "Function", "typeVars": [".-1.140305707412704"], "argTypes": [{"nodeId": ".-1.140305707412704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707412704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412704", "variance": "INVARIANT"}, "140305707413152": {"type": "Function", "typeVars": [".-1.140305707413152"], "argTypes": [{"nodeId": ".-1.140305707413152"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413152", "variance": "INVARIANT"}, "140305707413600": {"type": "Function", "typeVars": [".-1.140305707413600"], "argTypes": [{"nodeId": ".-1.140305707413600"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413600", "variance": "INVARIANT"}, "140305568473920": {"type": "Function", "typeVars": [".-1.140305568473920"], "argTypes": [{"nodeId": ".-1.140305568473920"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568473920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568473920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568473920", "variance": "INVARIANT"}, "140305568474816": {"type": "Function", "typeVars": [".-1.140305568474816"], "argTypes": [{"nodeId": ".-1.140305568474816"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568474816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568474816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568474816", "variance": "INVARIANT"}, "140305568475712": {"type": "Function", "typeVars": [".-1.140305568475712"], "argTypes": [{"nodeId": ".-1.140305568475712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568475712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568475712", "variance": "INVARIANT"}, "140305628018528": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305656445216"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568467648"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568468544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707406880"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407328"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408224"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408672"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707409120"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305656445216": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305611319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611319872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707406880": {"type": "Function", "typeVars": [".-1.140305707406880"], "argTypes": [{"nodeId": ".-1.140305707406880"}, {"nodeId": ".-1.140305707406880"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707406880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707406880", "variance": "INVARIANT"}, "140305707407328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707407776": {"type": "Function", "typeVars": [".-1.140305707407776"], "argTypes": [{"nodeId": ".-1.140305707407776"}, {"nodeId": ".-1.140305707407776"}], "returnType": {"nodeId": ".-1.140305707407776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707407776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707407776", "variance": "INVARIANT"}, "140305707408224": {"type": "Function", "typeVars": [".-1.140305707408224"], "argTypes": [{"nodeId": ".-1.140305707408224"}, {"nodeId": ".-1.140305707408224"}], "returnType": {"nodeId": ".-1.140305707408224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408224", "variance": "INVARIANT"}, "140305707408672": {"type": "Function", "typeVars": [".-1.140305707408672"], "argTypes": [{"nodeId": ".-1.140305707408672"}, {"nodeId": ".-1.140305707408672"}], "returnType": {"nodeId": ".-1.140305707408672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408672", "variance": "INVARIANT"}, "140305707409120": {"type": "Function", "typeVars": [".-1.140305707409120"], "argTypes": [{"nodeId": ".-1.140305707409120"}], "returnType": {"nodeId": ".-1.140305707409120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305707409120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707409120", "variance": "INVARIANT"}, "140305614576928": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552295072"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161952"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502048"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305552295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548298944"}], "returnType": {"nodeId": "140305548301632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548298944": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305614578944": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694471136"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556276832"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556275712"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360096"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556371296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360992"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556361216"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556363008"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556365696"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368832"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556369280"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694587616"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588064"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588512"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694703904"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694704352"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548347424"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548348096"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694706144"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556366592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707040"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707488"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707936"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708384"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708832"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709280"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709728"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548297488"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140305614577936"}], "isAbstract": false}, "140305694471136": {"type": "Function", "typeVars": [".-1.140305694471136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548296928"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305694471136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548296928": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305694471136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694471136", "variance": "INVARIANT"}, "140305556276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556371296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548296704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548296704": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556361216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556363008": {"type": "Function", "typeVars": [".-1.140305556363008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305548296480"}], "returnType": {"nodeId": ".-1.140305556363008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140305548296480": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556363008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556363008", "variance": "INVARIANT"}, "140305556365696": {"type": "Function", "typeVars": [".-1.140305556365696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305556365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556365696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556365696", "variance": "INVARIANT"}, "140305556368832": {"type": "Function", "typeVars": [".-1.140305556368832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305548296256"}], "returnType": {"nodeId": ".-1.140305556368832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140305548296256": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556368832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556368832", "variance": "INVARIANT"}, "140305556369280": {"type": "Function", "typeVars": [".-1.140305556369280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305556369280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305556369280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556369280", "variance": "INVARIANT"}, "140305556368608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305614577936"}, {"nodeId": "140305614578272"}, {"nodeId": "140305548138464"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140305614577936": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707504288"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551848864"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551845280"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551844384"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551843488"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551840800"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551842592"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551839008"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551838112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707508320"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509216"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509664"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510112"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510560"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511008"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511456"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511904"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512352"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512800"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513248"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513696"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707514144"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548304432"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460384"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460832"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694461280"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614578608": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169664"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556442912"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556439328"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556290048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694472928"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473376"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473824"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694572832"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573280"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573728"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574176"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574624"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575520"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548301296"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548299504"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694577760"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578208"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579104"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579552"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580000"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580448"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548169664": {"type": "Function", "typeVars": [".-1.140305548169664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305548169664"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140305548169664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548169664", "variance": "INVARIANT"}, "140305556442912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556439328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556290048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694572832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694575072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694575520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548301296": {"type": "Overloaded", "items": [{"nodeId": "140305694575968"}, {"nodeId": "140305694576416"}]}, "140305694575968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694576416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548299504": {"type": "Overloaded", "items": [{"nodeId": "140305694576864"}, {"nodeId": "140305694577312"}]}, "140305694576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694578208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305548297376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297376": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305614578608"}]}, "140305694578656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707504288": {"type": "Function", "typeVars": [".-1.140305707504288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707504288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140305707504288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707504288", "variance": "INVARIANT"}, "140305551848864": {"type": "Function", "typeVars": [".-1.140305551848864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305551848864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551848864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551848864", "variance": "INVARIANT"}, "140305551845280": {"type": "Function", "typeVars": [".-1.140305551845280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305551845280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305551845280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551845280", "variance": "INVARIANT"}, "140305551844384": {"type": "Function", "typeVars": [".-1.140305551844384"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551844384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551844384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551844384", "variance": "INVARIANT"}, "140305551843488": {"type": "Function", "typeVars": [".-1.140305551843488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305551843488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551843488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551843488", "variance": "INVARIANT"}, "140305551840800": {"type": "Function", "typeVars": [".-1.140305551840800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551840800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140305551840800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551840800", "variance": "INVARIANT"}, "140305551842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551839008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551838112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707508320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707509216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707509664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707510112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707510560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299840": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305543430320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305707511008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707511456": {"type": "Function", "typeVars": [".-1.140305707511456"], "argTypes": [{"nodeId": ".-1.140305707511456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707511456"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140305707511456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707511456", "variance": "INVARIANT"}, "140305707511904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513696": {"type": "Function", "typeVars": [".-1.140305707513696"], "argTypes": [{"nodeId": ".-1.140305707513696"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707513696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707513696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707513696", "variance": "INVARIANT"}, "140305707514144": {"type": "Function", "typeVars": [".-1.140305707514144"], "argTypes": [{"nodeId": ".-1.140305707514144"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514144", "variance": "INVARIANT"}, "140305548304432": {"type": "Overloaded", "items": [{"nodeId": "140305707514592"}, {"nodeId": "140305707515040"}, {"nodeId": "140305707515488"}]}, "140305707514592": {"type": "Function", "typeVars": [".-1.140305707514592"], "argTypes": [{"nodeId": ".-1.140305707514592"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514592", "variance": "INVARIANT"}, "140305707515040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707515488": {"type": "Function", "typeVars": [".-1.140305707515488"], "argTypes": [{"nodeId": ".-1.140305707515488"}, {"nodeId": ".-1.140305707515488"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707515488": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305707515488", "variance": "INVARIANT"}, "140305694460384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694460832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694461280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299392": {"type": "TypeAlias", "target": {"nodeId": "140305548303872"}}, "140305548303872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305614578272": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170112"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551660352"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556727488"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556725248"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556724128"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556717632"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556718528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465312"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465760"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466208"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466656"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467104"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556721216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468448"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468896"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469344"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469792"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694470240"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170336"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548170112": {"type": "Function", "typeVars": [".-1.140305548170112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548299168"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170112"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548299168": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305548170112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170112", "variance": "INVARIANT"}, "140305551660352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556727488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556724128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548299280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299280": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694465312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140305556721216": {"type": "Function", "typeVars": [".-1.140305556721216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305556721216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556721216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556721216", "variance": "INVARIANT"}, "140305694468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694468896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694469344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298720": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694469792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298272": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305548170336": {"type": "Function", "typeVars": [".-1.140305548170336"], "argTypes": [{"nodeId": ".-1.140305548170336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548297824"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170336"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548170336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170336", "variance": "INVARIANT"}, "140305548297824": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548138464": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548140816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548140816": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305694588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614577936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694703904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694704352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548347424": {"type": "Function", "typeVars": [".-1.140305548347424"], "argTypes": [{"nodeId": ".-1.140305548347424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548147536"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548347424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548347424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548347424", "variance": "INVARIANT"}, "140305548147536": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548348096": {"type": "Function", "typeVars": [".-1.140305548348096"], "argTypes": [{"nodeId": ".-1.140305548348096"}, {"nodeId": "140305548147760"}], "returnType": {"nodeId": ".-1.140305548348096"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140305548348096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548348096", "variance": "INVARIANT"}, "140305548147760": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694706144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140305556366592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140305694707040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548147872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548147872": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694707488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694707936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148320": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694708384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694708832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297488": {"type": "Overloaded", "items": [{"nodeId": "140305694710176"}, {"nodeId": "140305694710624"}]}, "140305694710176": {"type": "Function", "typeVars": [".-1.140305694710176"], "argTypes": [{"nodeId": ".-1.140305694710176"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305694710176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694710176", "variance": "INVARIANT"}, "140305694710624": {"type": "Function", "typeVars": [".-1.140305694710624"], "argTypes": [{"nodeId": ".-1.140305694710624"}, {"nodeId": ".-1.140305694710624"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710624": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305694710624", "variance": "INVARIANT"}, "140305548301632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305552161952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548301184"}], "returnType": {"nodeId": "140305548301072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548301184": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548301072": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305552161056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548300736"}], "returnType": {"nodeId": "140305548300960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300736": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548300960": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305707502048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614577264": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502944"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503392"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503840"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140305614576928"}], "isAbstract": false}, "140305707502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305614578608"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140305707502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300624"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300624": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300512"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300512": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300176": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305719629792": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548171680"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225280"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172128"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172800"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678277920"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548171680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305602593616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602593616": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305627774448": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690827840"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690827840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774448"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305619225280": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305548172128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678277920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}, {"nodeId": "140305602593952"}, {"nodeId": "140305602594064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305602593952": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305602594064": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305719639200": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547488032"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116640"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695117536"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140305719639200"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547488032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602003008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639200": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639200", "variance": "COVARIANT"}, "140305602003008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695116192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "140305602003232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602003232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695116640": {"type": "Function", "typeVars": [".-1.140305695116640"], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": ".-1.140305695116640"}, {"nodeId": "140305601969312"}], "returnType": {"nodeId": "140305602005248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695116640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695116640", "variance": "INVARIANT"}, "140305601969312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602005248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602005024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695117536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305719639536": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486688"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695118880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695119328"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485568"}}], "typeVars": [{"nodeId": ".1.140305719639536"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547486688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639536": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639536", "variance": "COVARIANT"}, "140305602005696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695118880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": "140305602005472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602005472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695119328": {"type": "Function", "typeVars": [".-1.140305695119328"], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": ".-1.140305695119328"}, {"nodeId": "140305602166848"}], "returnType": {"nodeId": "140305602006144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695119328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695119328", "variance": "INVARIANT"}, "140305602166848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602006144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547485568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627447696": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167408"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167408": {"type": "Overloaded", "items": [{"nodeId": "140305690394912"}, {"nodeId": "140305690395360"}, {"nodeId": "140305690395808"}]}, "140305690394912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690395360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305690395808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627767392": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482336"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767392"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305632060224"}]}], "isAbstract": false}, "140305673481440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140305627767392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767392", "variance": "INVARIANT"}, "140305673481888": {"type": "Function", "typeVars": [".-1.140305673481888"], "argTypes": [{"nodeId": ".-1.140305673481888"}], "returnType": {"nodeId": ".-1.140305673481888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673481888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673481888", "variance": "INVARIANT"}, "140305673482336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}], "returnType": {"nodeId": "140305602600336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602600336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305673482784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305632060224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305627451728": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543355680"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356128"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602598208"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485472"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485920"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673584928"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585824"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602599664"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587168"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305543355680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602598208": {"type": "Overloaded", "items": [{"nodeId": "140305673484576"}, {"nodeId": "140305673485024"}]}, "140305673484576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305673485472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673585376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673585824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602599664": {"type": "Overloaded", "items": [{"nodeId": "140305673586272"}, {"nodeId": "140305673586720"}]}, "140305673586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673586720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673587168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627452064": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619596032"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598608"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598160"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588064"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588512"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588960"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589408"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589856"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673590304"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619596032": {"type": "Union", "items": [{"nodeId": "140305631705152"}, {"nodeId": "N"}]}, "140305631705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619598608": {"type": "Union", "items": [{"nodeId": "140305643942208"}, {"nodeId": "N"}]}, "140305643942208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619598160": {"type": "Union", "items": [{"nodeId": "140305640403936"}, {"nodeId": "N"}]}, "140305640403936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602600784"}, {"nodeId": "140305602601120"}, {"nodeId": "140305602601456"}, {"nodeId": "140305602601680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140305602600784": {"type": "Union", "items": [{"nodeId": "140305602561408"}, {"nodeId": "N"}]}, "140305602561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601120": {"type": "Union", "items": [{"nodeId": "140305602561856"}, {"nodeId": "N"}]}, "140305602561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602601456": {"type": "Union", "items": [{"nodeId": "140305602562080"}, {"nodeId": "N"}]}, "140305602562080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305673588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561632"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561184"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673588960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602562304"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602562304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673589408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "140305602602464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602602464": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305673589856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305673590304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627452400": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619540272": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673594336"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140305619540272"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305673594336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540272", "args": [{"nodeId": ".1.140305619540272"}]}], "returnType": {"nodeId": ".1.140305619540272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540272": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540272", "variance": "COVARIANT"}, "140305627452736": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673595232"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305627452736"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305673595232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452736", "args": [{"nodeId": ".1.140305627452736"}]}], "returnType": {"nodeId": ".1.140305627452736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627452736": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "def": "140305627452736", "variance": "COVARIANT"}, "140305627767728": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602603696"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767392"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767840"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627767728"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767728"}]}], "isAbstract": false}, "140305602603696": {"type": "Overloaded", "items": [{"nodeId": "140305673766048"}, {"nodeId": "140305673766496"}, {"nodeId": "140305673766944"}]}, "140305673766048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "N"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602606048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627767728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767728", "variance": "INVARIANT"}, "140305602606048": {"type": "Union", "items": [{"nodeId": ".1.140305627767728"}, {"nodeId": "N"}]}, "140305673766496": {"type": "Function", "typeVars": [".-1.140305673766496"], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602563200"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673766496"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602563200": {"type": "Function", "typeVars": [".-1.140305602563200"], "argTypes": [{"nodeId": ".-1.140305602563200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602563200": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602563200", "variance": "INVARIANT"}, ".-1.140305673766496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673766496", "variance": "INVARIANT"}, "140305673766944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602562976"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602562976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627767728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673767392": {"type": "Function", "typeVars": [".-1.140305673767392"], "argTypes": [{"nodeId": ".-1.140305673767392"}], "returnType": {"nodeId": ".-1.140305673767392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673767392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673767392", "variance": "INVARIANT"}, "140305673767840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": ".1.140305627767728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627453072": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673774560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305627453072"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305673774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453072", "args": [{"nodeId": ".1.140305627453072"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627453072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453072", "variance": "COVARIANT"}, "140305627768064": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602606160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929440"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929888"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768064"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768064"}]}], "isAbstract": false}, "140305602606160": {"type": "Overloaded", "items": [{"nodeId": "140305673779040"}, {"nodeId": "140305673779488"}, {"nodeId": "140305673779936"}, {"nodeId": "140305673780384"}, {"nodeId": "140305673780832"}, {"nodeId": "140305673928992"}]}, "140305673779040": {"type": "Function", "typeVars": [".-1.140305673779040"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565440"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779040"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627768064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768064", "variance": "INVARIANT"}, "140305602565440": {"type": "Function", "typeVars": [".-1.140305602565440"], "argTypes": [{"nodeId": ".-1.140305602565440"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602565440": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565440", "variance": "INVARIANT"}, ".-1.140305673779040": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779040", "variance": "INVARIANT"}, "140305673779488": {"type": "Function", "typeVars": [".-1.140305673779488", ".-2.140305673779488"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564768"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779488"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779488"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305602564768": {"type": "Function", "typeVars": [".-1.140305602564768", ".-2.140305602564768"], "argTypes": [{"nodeId": ".-1.140305602564768"}, {"nodeId": ".-2.140305602564768"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602564768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-2.140305602564768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-1.140305673779488": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, ".-2.140305673779488": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, "140305673779936": {"type": "Function", "typeVars": [".-1.140305673779936", ".-2.140305673779936", ".-3.140305673779936"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564992"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673779936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305602564992": {"type": "Function", "typeVars": [".-1.140305602564992", ".-2.140305602564992", ".-3.140305602564992"], "argTypes": [{"nodeId": ".-1.140305602564992"}, {"nodeId": ".-2.140305602564992"}, {"nodeId": ".-3.140305602564992"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140305602564992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-2.140305602564992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-3.140305602564992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-1.140305673779936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-2.140305673779936": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-3.140305673779936": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, "140305673780384": {"type": "Function", "typeVars": [".-1.140305673780384", ".-2.140305673780384", ".-3.140305673780384", ".-4.140305673780384"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565664"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305602565664": {"type": "Function", "typeVars": [".-1.140305602565664", ".-2.140305602565664", ".-3.140305602565664", ".-4.140305602565664"], "argTypes": [{"nodeId": ".-1.140305602565664"}, {"nodeId": ".-2.140305602565664"}, {"nodeId": ".-3.140305602565664"}, {"nodeId": ".-4.140305602565664"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140305602565664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-2.140305602565664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-3.140305602565664": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-4.140305602565664": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-1.140305673780384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-2.140305673780384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-3.140305673780384": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-4.140305673780384": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, "140305673780832": {"type": "Function", "typeVars": [".-1.140305673780832", ".-2.140305673780832", ".-3.140305673780832", ".-4.140305673780832", ".-5.140305673780832"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565888"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305673780832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140305602565888": {"type": "Function", "typeVars": [".-1.140305602565888", ".-2.140305602565888", ".-3.140305602565888", ".-4.140305602565888", ".-5.140305602565888"], "argTypes": [{"nodeId": ".-1.140305602565888"}, {"nodeId": ".-2.140305602565888"}, {"nodeId": ".-3.140305602565888"}, {"nodeId": ".-4.140305602565888"}, {"nodeId": ".-5.140305602565888"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140305602565888": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-2.140305602565888": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-3.140305602565888": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-4.140305602565888": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-5.140305602565888": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-1.140305673780832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-2.140305673780832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-3.140305673780832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-4.140305673780832": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-5.140305673780832": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, "140305673928992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602566112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140305602566112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305673929440": {"type": "Function", "typeVars": [".-1.140305673929440"], "argTypes": [{"nodeId": ".-1.140305673929440"}], "returnType": {"nodeId": ".-1.140305673929440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673929440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673929440", "variance": "INVARIANT"}, "140305673929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619540608": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673940640"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140305619540608"}], "bases": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619540608"}]}], "protocolMembers": ["flush", "write"]}, "140305673940640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540608", "args": [{"nodeId": ".1.140305619540608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540608", "variance": "CONTRAVARIANT"}, "140305627453408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673941984"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673941984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453408", "args": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}]}, {"nodeId": ".1.140305627453408"}], "returnType": {"nodeId": ".2.140305627453408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "CONTRAVARIANT"}, ".2.140305627453408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "COVARIANT"}, "140305627453744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942432"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453744", "args": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}]}, {"nodeId": ".1.140305627453744"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140305627453744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140305627453744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "CONTRAVARIANT"}, ".2.140305627453744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "COVARIANT"}, "140305627454080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942880"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454080", "args": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}]}, {"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}], "returnType": {"nodeId": ".3.140305627454080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305627454080": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".2.140305627454080": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".3.140305627454080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "COVARIANT"}, "140305627768400": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602929360"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674138592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139040"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139488"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140305627768400"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768400"}]}], "isAbstract": false}, "140305602929360": {"type": "Overloaded", "items": [{"nodeId": "140305674137696"}, {"nodeId": "140305674138144"}]}, "140305674137696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627768400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768400", "variance": "INVARIANT"}, "140305674138144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619085888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669324384"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619085888"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "__len__"]}, "140305669323936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085888", "variance": "COVARIANT"}, "140305669324384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619085888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305674138592": {"type": "Function", "typeVars": [".-1.140305674138592"], "argTypes": [{"nodeId": ".-1.140305674138592"}], "returnType": {"nodeId": ".-1.140305674138592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674138592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674138592", "variance": "INVARIANT"}, "140305674139040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": ".1.140305627768400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674139488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627454416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140384"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454416"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454416", "args": [{"nodeId": ".1.140305627454416"}]}], "returnType": {"nodeId": ".1.140305627454416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627454416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454416", "variance": "COVARIANT"}, "140305627454752": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140832"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454752"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454752", "args": [{"nodeId": ".1.140305627454752"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627454752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627454752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454752", "variance": "COVARIANT"}, "140305619540944": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619083200", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140305619083536", "args": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140305619083200": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320352"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__add__"]}, "140305669320352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083200", "args": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}]}, {"nodeId": ".1.140305619083200"}], "returnType": {"nodeId": ".2.140305619083200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083200": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "CONTRAVARIANT"}, ".2.140305619083200": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "COVARIANT"}, "140305619083536": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320800"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__radd__"]}, "140305669320800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083536", "args": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}]}, {"nodeId": ".1.140305619083536"}], "returnType": {"nodeId": ".2.140305619083536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083536": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "CONTRAVARIANT"}, ".2.140305619083536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "COVARIANT"}, "140305627768736": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602931488"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674266976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674267424"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768736"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768736"}]}], "isAbstract": false}, "140305602931488": {"type": "Overloaded", "items": [{"nodeId": "140305674261600"}, {"nodeId": "140305674262048"}, {"nodeId": "140305674262496"}, {"nodeId": "140305674262944"}, {"nodeId": "140305674263392"}, {"nodeId": "140305674263840"}]}, "140305674261600": {"type": "Function", "typeVars": [".-1.140305674261600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674261600"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140305674261600": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674261600", "variance": "INVARIANT"}, "140305602933616": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674261600"}]}, "140305674262048": {"type": "Function", "typeVars": [".-1.140305674262048", ".-2.140305674262048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262048"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262048"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140305674262048": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, ".-2.140305674262048": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, "140305602933840": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262048"}, {"nodeId": ".-2.140305674262048"}]}, "140305674262496": {"type": "Function", "typeVars": [".-1.140305674262496", ".-2.140305674262496", ".-3.140305674262496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262496"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140305674262496": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-2.140305674262496": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-3.140305674262496": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, "140305602934064": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262496"}, {"nodeId": ".-2.140305674262496"}, {"nodeId": ".-3.140305674262496"}]}, "140305674262944": {"type": "Function", "typeVars": [".-1.140305674262944", ".-2.140305674262944", ".-3.140305674262944", ".-4.140305674262944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674262944"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934288"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140305674262944": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-2.140305674262944": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-3.140305674262944": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-4.140305674262944": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, "140305602934288": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262944"}, {"nodeId": ".-2.140305674262944"}, {"nodeId": ".-3.140305674262944"}, {"nodeId": ".-4.140305674262944"}]}, "140305674263392": {"type": "Function", "typeVars": [".-1.140305674263392", ".-2.140305674263392", ".-3.140305674263392", ".-4.140305674263392", ".-5.140305674263392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305674263392"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140305674263392": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-2.140305674263392": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-3.140305674263392": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-4.140305674263392": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-5.140305674263392": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, "140305602934512": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674263392"}, {"nodeId": ".-2.140305674263392"}, {"nodeId": ".-3.140305674263392"}, {"nodeId": ".-4.140305674263392"}, {"nodeId": ".-5.140305674263392"}]}, "140305674263840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140305674266976": {"type": "Function", "typeVars": [".-1.140305674266976"], "argTypes": [{"nodeId": ".-1.140305674266976"}], "returnType": {"nodeId": ".-1.140305674266976"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674266976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674266976", "variance": "INVARIANT"}, "140305674267424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768736", "args": [{"nodeId": ".1.140305627768736"}]}], "returnType": {"nodeId": ".1.140305627768736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627768736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768736", "variance": "COVARIANT"}, "140305627455088": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305627455760": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456096": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456432": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619584832"}}], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305619584832": {"type": "TypeAlias", "target": {"nodeId": "140305631426848"}}, "140305631426848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627456768": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627457104": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457440": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457776": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458112": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458448": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674270560"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629120"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674270560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627458448"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825088"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140305597825088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627458784": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459120": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459456": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271008"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054848"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632056752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674271008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627459456"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825200"}, {"nodeId": "140305597825312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140305597825200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597825312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632056752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627459792": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460128": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460464": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460800": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461136": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461472": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461808": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054400"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054288"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054960"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054736"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632051936"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632053504"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305632054400": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632051936": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632053504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627462144": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462480": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462816": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627463152": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627643968": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644304": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644640": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459456"}], "isAbstract": false}, "140305627644976": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645312": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645648": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627460464"}], "isAbstract": false}, "140305627645984": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646320": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646656": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646992": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647328": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647664": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648000": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648336": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627648672": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649008": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649344": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649680": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650016": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650352": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650688": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627651024": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651360": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651696": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461808"}], "isAbstract": false}, "140305627652032": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627651696"}], "isAbstract": false}, "140305627652368": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305627652704": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627652704"}, {"nodeId": "140305627449712"}, {"nodeId": "140305597825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305597825424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627653040": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653040"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305627653376": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674272352"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674272352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653376"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305627653712": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627654048": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654384": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654720": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655056": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655392": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655728": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656064": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656736": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657072": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657408": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305619080512": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317216"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305669317216": {"type": "Function", "typeVars": [".-1.140305669317216"], "argTypes": [{"nodeId": "140305619080512"}, {"nodeId": ".-1.140305669317216"}], "returnType": {"nodeId": ".-1.140305669317216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305669317216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669317216", "variance": "INVARIANT"}, "140305619080848": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317664"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305619080848"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__next__"]}, "140305669317664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080848", "args": [{"nodeId": ".1.140305619080848"}]}], "returnType": {"nodeId": ".1.140305619080848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080848", "variance": "COVARIANT"}, "140305619081184": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318112"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305619081184"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305669318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081184", "args": [{"nodeId": ".1.140305619081184"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305619081184"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619081184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081184", "variance": "COVARIANT"}, "140305619082192": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319456"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140305619082192"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__le__"]}, "140305669319456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082192", "args": [{"nodeId": ".1.140305619082192"}]}, {"nodeId": ".1.140305619082192"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082192": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082192", "variance": "CONTRAVARIANT"}, "140305619082528": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319904"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140305619082528"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__ge__"]}, "140305669319904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082528", "args": [{"nodeId": ".1.140305619082528"}]}, {"nodeId": ".1.140305619082528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082528": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082528", "variance": "CONTRAVARIANT"}, "140305619082864": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082192", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082528", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140305619083872": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321248"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__sub__"]}, "140305669321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083872", "args": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}]}, {"nodeId": ".1.140305619083872"}], "returnType": {"nodeId": ".2.140305619083872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083872": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "CONTRAVARIANT"}, ".2.140305619083872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "COVARIANT"}, "140305619084208": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321696"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rsub__"]}, "140305669321696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084208", "args": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}]}, {"nodeId": ".1.140305619084208"}], "returnType": {"nodeId": ".2.140305619084208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084208": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "CONTRAVARIANT"}, ".2.140305619084208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "COVARIANT"}, "140305619084544": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322144"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__divmod__"]}, "140305669322144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084544", "args": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}]}, {"nodeId": ".1.140305619084544"}], "returnType": {"nodeId": ".2.140305619084544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084544": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "CONTRAVARIANT"}, ".2.140305619084544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "COVARIANT"}, "140305619084880": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322592"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rdivmod__"]}, "140305669322592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084880", "args": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}]}, {"nodeId": ".1.140305619084880"}], "returnType": {"nodeId": ".2.140305619084880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619084880": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "CONTRAVARIANT"}, ".2.140305619084880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "COVARIANT"}, "140305619085216": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323040"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305619085216"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305669323040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085216", "args": [{"nodeId": ".1.140305619085216"}]}], "returnType": {"nodeId": ".1.140305619085216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085216", "variance": "COVARIANT"}, "140305619085552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323488"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305619085552"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305669323488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085552", "args": [{"nodeId": ".1.140305619085552"}]}], "returnType": {"nodeId": ".1.140305619085552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619085552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085552", "variance": "COVARIANT"}, "140305619086560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303648"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["items"]}, "140305707303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086560", "args": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305606899776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, ".2.140305619086560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, "140305606899776": {"type": "Tuple", "items": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}, "140305619087232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304992"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305440"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140305707304992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619087232": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "CONTRAVARIANT"}, ".2.140305619087232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "COVARIANT"}, "140305707305440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": ".1.140305619087232"}], "returnType": {"nodeId": ".2.140305619087232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305888"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306336"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "bases": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140305707305888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305619087568": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "CONTRAVARIANT"}, ".2.140305619087568": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "INVARIANT"}, "140305707306336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087904": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306784"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["fileno"]}, "140305707306784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619088576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307680"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088576"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707307680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088576", "args": [{"nodeId": ".1.140305619088576"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088576", "variance": "COVARIANT"}, "140305619088912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308128"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088912"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707308128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088912", "args": [{"nodeId": ".1.140305619088912"}]}], "returnType": {"nodeId": ".1.140305619088912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619088912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088912", "variance": "COVARIANT"}, "140305619089584": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707309472"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140305619089584"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707309472": {"type": "Function", "typeVars": [".-1.140305707309472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619089584"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305707309472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140305619089584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089584", "variance": "COVARIANT"}, ".-1.140305707309472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707309472", "variance": "INVARIANT"}, "140305635974768": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707310592"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["find_spec"]}, "140305707310592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615236880"}, {"nodeId": "140305615236992"}], "returnType": {"nodeId": "140305615237104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305615236880": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305615236992": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305635968720": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848576"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594063488"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849248"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849024"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719637184", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631427184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690197376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686069312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305594063488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849248": {"type": "Union", "items": [{"nodeId": "140305635968384"}, {"nodeId": "N"}]}, "140305635968384": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196480"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["load_module"]}, "140305690196480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968384"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305631849024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631427184": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012480": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652468416"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694224"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694448"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869968"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635868848"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573147168"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652469312"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305652468416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611076800"}, {"nodeId": "140305611076912"}, {"nodeId": "A"}, {"nodeId": "140305611077136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140305611076800": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305628013488": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648429856"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430304"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430752"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648431200"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648429856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305648430752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611310240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305611310240": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305648431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305611076912": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611077136": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305619694224": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619694448": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635869968": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305635868848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573147168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611077248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652469312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690197376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615225344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140305615225344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305686069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305615237104": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305619541280": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589339296"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340192"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340416"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340640"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340864"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341088"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341312"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341536"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341760"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341984"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342208"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342432"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342656"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342880"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343104"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343776"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237328"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237776"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237776": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238112"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238560"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238560": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238784"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238784": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238896"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541616": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589344896"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345344"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345568"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345792"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346016"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346240"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346464"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346688"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346912"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347136"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347360"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589344896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239120"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239232": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239344"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239344": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239456"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239456": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239792": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239904": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240016"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240016": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240128": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240240"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240240": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541952": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348704"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348928"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349152"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349600"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349824"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350048"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350272"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350496"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305619592560"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589348928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240688"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240688": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240800"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240912"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615241024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615241024": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405120": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619592560": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305635975104": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619591328"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681621376"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619591328": {"type": "TypeAlias", "target": {"nodeId": "140305614677248"}}, "140305614677248": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305681621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975104"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619542288": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352512"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352736"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352960"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353184"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405456"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405456": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405568": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405680": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589353184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405792": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619542624": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353408"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436704"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436928"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437152"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437376"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405904": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406016"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406016": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406128": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406240"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406240": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305635975440": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680272"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597040"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597264"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631422928"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614680272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305619597040": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305619597264": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631422928": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305619542960": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440288"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440736"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305631423152"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305619691312"}]}], "isAbstract": false}, "140305589440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615408928"}], "returnType": {"nodeId": "140305615409040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615408928": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305619586624": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631421920": {"type": "Union", "items": [{"nodeId": "140305631705600"}, {"nodeId": "N"}]}, "140305631705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619594016": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305615409040": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305589440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615409152"}], "returnType": {"nodeId": "140305615409264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615409152": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305615409264": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631423152": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305619691312": {"type": "Union", "items": [{"nodeId": "140305602572160"}, {"nodeId": "N"}]}, "140305602572160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627658080": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920992"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658080"}], "bases": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305627658080"}]}], "isAbstract": false}, "140305681920992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658080", "args": [{"nodeId": ".1.140305627658080"}]}, {"nodeId": "140305606274944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658080": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658080", "variance": "COVARIANT"}, "140305606274944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658080"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658416": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681921440"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658416"}], "bases": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305627658416"}]}], "isAbstract": false}, "140305681921440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658416", "args": [{"nodeId": ".1.140305627658416"}]}, {"nodeId": "140305606274272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658416": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658416", "variance": "COVARIANT"}, "140305606274272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658416"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658752": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305627452064"}], "isAbstract": false}, "140305627659088": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618954480": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681923456"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569359328"}}], "typeVars": [{"nodeId": ".1.140305618954480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__enter__", "__exit__"]}, "140305681923456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}], "returnType": {"nodeId": ".1.140305618954480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305618954480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954480", "variance": "COVARIANT"}, "140305569359328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}, {"nodeId": "140305606343056"}, {"nodeId": "140305606343168"}, {"nodeId": "140305606343280"}], "returnType": {"nodeId": "140305606343392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606343056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343168": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343280": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343392": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618954816": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606267328"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569356864"}}], "typeVars": [{"nodeId": ".1.140305618954816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140305606267328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618954816"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305618954816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954816", "variance": "COVARIANT"}, "140305569356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}, {"nodeId": "140305606343616"}, {"nodeId": "140305606343728"}, {"nodeId": "140305606343840"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606343952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606343616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343728": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343840": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343952": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955152": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669555584"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669555584": {"type": "Function", "typeVars": [".-1.140305669555584"], "argTypes": [{"nodeId": "140305618955152"}, {"nodeId": ".-1.140305669555584"}], "returnType": {"nodeId": ".-1.140305669555584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669555584": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140305694307744"}, "def": "140305669555584", "variance": "INVARIANT"}, "140305694307744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618955488": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556032"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643945120"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556480"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618955488"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305618955152"}], "isAbstract": false}, "140305669556032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606267104"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618955488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618955488", "variance": "COVARIANT"}, "140305606267104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305618955488"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643945120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305669556480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606344512"}, {"nodeId": "140305606492224"}, {"nodeId": "140305606492336"}], "returnType": {"nodeId": "140305606492448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606344512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606492224": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606492336": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606492448": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955824": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669557376": {"type": "Function", "typeVars": [".-1.140305669557376"], "argTypes": [{"nodeId": "140305618955824"}, {"nodeId": ".-1.140305669557376"}], "returnType": {"nodeId": ".-1.140305669557376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669557376": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140305694307968"}, "def": "140305669557376", "variance": "INVARIANT"}, "140305694307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618956160": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557824"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643942880"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606268672"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618956160"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305618955824"}], "isAbstract": false}, "140305669557824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606268896"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618956160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618956160", "variance": "COVARIANT"}, "140305606268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305618956160"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305606268672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606492896"}, {"nodeId": "140305606493008"}, {"nodeId": "140305606493120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606493232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140305606492896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493008": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493120": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606493232": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618956496": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close"]}, "140305669560064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956496"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618956832": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560960"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618956832"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618956832"}]}], "isAbstract": false}, "140305669560512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": ".1.140305618956832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618956832": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140305618956496"}, "def": "140305618956832", "variance": "INVARIANT"}, "140305669560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618957168": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561408"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["aclose"]}, "140305669561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957168"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618957504": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606269568"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618957504"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618957504"}]}], "isAbstract": false}, "140305669561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": ".1.140305618957504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618957504": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140305618957168"}, "def": "140305618957504", "variance": "INVARIANT"}, "140305606269568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140305618957840": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669562752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563200"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140305669562752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140305669563200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "140305606493568"}, {"nodeId": "140305606493680"}, {"nodeId": "140305606493792"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493680": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493792": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564096"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618958176"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618958176"}]}], "isAbstract": false}, "140305669563648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": ".1.140305618958176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140305618958176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958176", "variance": "INVARIANT"}, "140305627320544": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305669564096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": "140305606493904"}, {"nodeId": "140305606494016"}, {"nodeId": "140305606494128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494016": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140305618958512"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958512"}]}], "isAbstract": false}, ".1.140305618958512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958512", "variance": "INVARIANT"}, "140305618958848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140305618958848"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958848"}]}], "isAbstract": false}, ".1.140305618958848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958848", "variance": "INVARIANT"}, "140305618959184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564544"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564992"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565440"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565888"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566336"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567232"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669564544": {"type": "Function", "typeVars": [".-1.140305669564544"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669564544"}]}], "returnType": {"nodeId": ".-1.140305669564544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669564544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669564544", "variance": "INVARIANT"}, "140305669564992": {"type": "Function", "typeVars": [".-1.140305669564992"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": ".-1.140305669564992"}], "returnType": {"nodeId": ".-1.140305669564992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669564992": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669564992", "variance": "INVARIANT"}, "140305614604208": {"type": "Union", "items": [{"nodeId": "140305618954480", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614603984"}]}, "140305614603984": {"type": "TypeAlias", "target": {"nodeId": "140305636402432"}}, "140305636402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627326480"}, {"nodeId": "140305627325920"}, {"nodeId": "140305627326144"}], "returnType": {"nodeId": "140305627326256"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627326480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627325920": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627326144": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627326256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669565440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606269792"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606269792": {"type": "Function", "typeVars": [".-2.140305606269792"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606269792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606269792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606269792", "variance": "INVARIANT"}, "140305606270016": {"type": "Function", "typeVars": [".-2.140305606270016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270016"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270016", "variance": "INVARIANT"}, "140305669565888": {"type": "Function", "typeVars": [".-1.140305669565888"], "argTypes": [{"nodeId": ".-1.140305669565888"}], "returnType": {"nodeId": ".-1.140305669565888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669565888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669565888", "variance": "INVARIANT"}, "140305669566336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669566784": {"type": "Function", "typeVars": [".-1.140305669566784"], "argTypes": [{"nodeId": ".-1.140305669566784"}], "returnType": {"nodeId": ".-1.140305669566784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305669566784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669566784", "variance": "INVARIANT"}, "140305669567232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606493456"}, {"nodeId": "140305606494352"}, {"nodeId": "140305606494464"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494352": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494464": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567680"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606270240"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568576"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569024"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569472"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569920"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568128"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669701696"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702592"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702144"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669567680": {"type": "Function", "typeVars": [".-1.140305669567680"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669567680"}]}], "returnType": {"nodeId": ".-1.140305669567680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669567680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669567680", "variance": "INVARIANT"}, "140305606270240": {"type": "Function", "typeVars": [".-1.140305606270240"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954816", "args": [{"nodeId": ".-1.140305606270240"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305606270240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305606270240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270240", "variance": "INVARIANT"}, "140305669568576": {"type": "Function", "typeVars": [".-1.140305669568576"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669568576"}], "returnType": {"nodeId": ".-1.140305669568576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669568576": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669568576", "variance": "INVARIANT"}, "140305669569024": {"type": "Function", "typeVars": [".-1.140305669569024"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669569024"}], "returnType": {"nodeId": ".-1.140305669569024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669569024": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140305614605216"}, "def": "140305669569024", "variance": "INVARIANT"}, "140305614605216": {"type": "Union", "items": [{"nodeId": "140305618954816", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614605552"}]}, "140305614605552": {"type": "TypeAlias", "target": {"nodeId": "140305643942432"}}, "140305643942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627330400"}, {"nodeId": "140305627328048"}, {"nodeId": "140305627330064"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305627330176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627330400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627328048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627330064": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627330176": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669569472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606266656"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606266656": {"type": "Function", "typeVars": [".-2.140305606266656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606266656"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606266656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606266656", "variance": "INVARIANT"}, "140305606270464": {"type": "Function", "typeVars": [".-2.140305606270464"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270464"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270464", "variance": "INVARIANT"}, "140305669569920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606265760"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606265760": {"type": "Function", "typeVars": [".-2.140305606265760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606265760"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606265760": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606265760", "variance": "INVARIANT"}, "140305606270912": {"type": "Function", "typeVars": [".-2.140305606270912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606270912"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270912", "variance": "INVARIANT"}, "140305669568128": {"type": "Function", "typeVars": [".-1.140305669568128"], "argTypes": [{"nodeId": ".-1.140305669568128"}], "returnType": {"nodeId": ".-1.140305669568128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669568128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669568128", "variance": "INVARIANT"}, "140305669701696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669702592": {"type": "Function", "typeVars": [".-1.140305669702592"], "argTypes": [{"nodeId": ".-1.140305669702592"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305669702592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669702592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669702592", "variance": "INVARIANT"}, "140305669702144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606495024"}, {"nodeId": "140305606495360"}, {"nodeId": "140305606495472"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305719629456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606495024": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606495360": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606495472": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618959856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606494912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704832"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669703936"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669705280"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618959856"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618959856"}]}], "isAbstract": false}, ".1.140305618959856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618959856", "variance": "INVARIANT"}, "140305606494912": {"type": "Overloaded", "items": [{"nodeId": "140305669703040"}, {"nodeId": "140305669703488"}]}, "140305669703040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140305669703488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": ".1.140305618959856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140305669704384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": ".1.140305618959856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305669704832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305669703936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618959856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669705280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140305635979472": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585174368"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585172800"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171904"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171232"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585170560"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610334704"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610388784"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389568"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389792"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669716704"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717152"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717600"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169216"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610390912"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949024"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949472"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949920"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979472"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305585174368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979472", "variance": "INVARIANT"}, "140305585172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585171904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389344": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305585171232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305585170560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635979808": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194400"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194176"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590353984"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590354880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610391360"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491040"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491824"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492272"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492720"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493168"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493840"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610494288"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959328"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959776"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669960224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979808"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305590194400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979808": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979808", "variance": "INVARIANT"}, "140305590194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590354880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": ".1.140305635979808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391360": {"type": "Overloaded", "items": [{"nodeId": "140305669952160"}, {"nodeId": "140305627207648"}]}, "140305669952160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610491936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610491936": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492048"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492048": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492160": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491040": {"type": "Overloaded", "items": [{"nodeId": "140305669953056"}, {"nodeId": "140305627211008"}]}, "140305669953056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492384": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627211008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492496"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492608": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491824": {"type": "Overloaded", "items": [{"nodeId": "140305669953952"}, {"nodeId": "140305627207424"}]}, "140305669953952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492832": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492944"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610493056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493056": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610492272": {"type": "Overloaded", "items": [{"nodeId": "140305669954848"}, {"nodeId": "140305627201600"}]}, "140305669954848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493392": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305627201600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610493504"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493728"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493504": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493728": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "A"}]}, "140305610492720": {"type": "Overloaded", "items": [{"nodeId": "140305669955744"}, {"nodeId": "140305627201824"}]}, "140305669955744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627201824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494064"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493168": {"type": "Overloaded", "items": [{"nodeId": "140305669956640"}, {"nodeId": "140305627202048"}]}, "140305669956640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494400"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493840": {"type": "Overloaded", "items": [{"nodeId": "140305669957536"}, {"nodeId": "140305627205408"}]}, "140305669957536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610494624"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627204960"}]}, "140305627204960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627205408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494848"}, {"nodeId": "140305610495072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494848": {"type": "Union", "items": [{"nodeId": "140305610494736"}, {"nodeId": "140305627208544"}]}, "140305610494736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627208544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610494960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610494960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495072": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610494288": {"type": "Overloaded", "items": [{"nodeId": "140305669958432"}, {"nodeId": "140305627204288"}]}, "140305669958432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610495296"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610495520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627205632"}]}, "140305627205632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305627204288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610495744"}, {"nodeId": "140305610495968"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610496192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495744": {"type": "Union", "items": [{"nodeId": "140305610495632"}, {"nodeId": "140305627204736"}]}, "140305610495632": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627204736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610495856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610496192": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305669959328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669959776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669960224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305610334704": {"type": "Overloaded", "items": [{"nodeId": "140305669712672"}, {"nodeId": "140305627216384"}]}, "140305669712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305627216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610389680"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305610389680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610388784": {"type": "Overloaded", "items": [{"nodeId": "140305669713568"}, {"nodeId": "140305669714016"}, {"nodeId": "140305669714464"}]}, "140305669713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390016"}], "returnType": {"nodeId": "140305610390240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305610390016": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390240": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669714464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390352"}, {"nodeId": "140305610390464"}, {"nodeId": "140305610390576"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610390800"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140305610390352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390800": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305610389568": {"type": "Overloaded", "items": [{"nodeId": "140305669714912"}, {"nodeId": "140305669715360"}]}, "140305669714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391136": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669715360": {"type": "Function", "typeVars": [".-1.140305669715360"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669715360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669715360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669715360", "variance": "INVARIANT"}, "140305610391248": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669715360"}]}, "140305610389792": {"type": "Overloaded", "items": [{"nodeId": "140305669715808"}, {"nodeId": "140305669716256"}]}, "140305669715808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490032": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669716256": {"type": "Function", "typeVars": [".-1.140305669716256"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669716256"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669716256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669716256", "variance": "INVARIANT"}, "140305610490144": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669716256"}]}, "140305669716704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490256"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490256": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490368": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490480"}], "returnType": {"nodeId": "140305610490704"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490480": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610490704": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305585169216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610490928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305610390912": {"type": "Overloaded", "items": [{"nodeId": "140305669948128"}, {"nodeId": "140305669948576"}]}, "140305669948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305669948576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610491264"}], "returnType": {"nodeId": "140305610491488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610491264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610491488": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669949024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669949472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669949920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619543296": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305635967040": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598344192"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632063584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593660832"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743040"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690829632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690830080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614957792"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305598344192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305614960256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614960256": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305632063584": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305593660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598743040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690829632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305635967376"}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "140305614960704"}, {"nodeId": "140305614960816"}, {"nodeId": "140305614960928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140305614960704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614960816": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "N"}]}, "140305614960928": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305690830080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614957792": {"type": "Overloaded", "items": [{"nodeId": "140305690830528"}, {"nodeId": "140305690830976"}]}, "140305690830528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "N"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305690830976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305719629120"}, {"nodeId": "140305614961488"}], "returnType": {"nodeId": "140305635970400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305614961488": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305635970400": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594255616"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256064"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256288"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256512"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256736"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686082752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686083200"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594255616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229040": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305594256064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229264": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305594256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305635970064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635970064": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686079616"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686079616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970064"}, {"nodeId": "140305615228816"}, {"nodeId": "140305615228928"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305615228816": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305615228928": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305594256512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686082752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "140305640406176"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305640406176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686083200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635968048": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195136"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195584"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196032"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690194688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305690195136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690195584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635969056": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594064608"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686070656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071552"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614958464"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}], "bases": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "isAbstract": false}, "140305594064608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305615225680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, ".2.140305635969056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "CONTRAVARIANT"}, ".3.140305635969056": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, "140305615225680": {"type": "Union", "items": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": ".2.140305635969056"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614958464": {"type": "Overloaded", "items": [{"nodeId": "140305686072000"}, {"nodeId": "140305686072448"}]}, "140305686072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "0"}, {"nodeId": "140305615225904"}, {"nodeId": "140305615226016"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615225904": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615226016": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615226128"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615226128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635969392": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594068416"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073344"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073792"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686074240"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614961376"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686075584"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686076032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}], "bases": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "isAbstract": false}, "140305594068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305615226352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "COVARIANT"}, ".2.140305635969392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "CONTRAVARIANT"}, "140305615226352": {"type": "Union", "items": [{"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686073344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686073792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686074240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": ".2.140305635969392"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614961376": {"type": "Overloaded", "items": [{"nodeId": "140305640402816"}, {"nodeId": "140305686074688"}]}, "140305640402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "0"}, {"nodeId": "140305615227024"}, {"nodeId": "140305615227136"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227024": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615227136": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686074688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615227360"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686075584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686076032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635969728": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594071776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077376"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077824"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686078272"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615227248"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}], "bases": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "isAbstract": false}, "140305594071776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305615228144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, ".2.140305635969728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "CONTRAVARIANT"}, ".3.140305635969728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, "140305615228144": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305615228032"}]}, {"nodeId": "N"}]}, "140305615228032": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305686077376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686077824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140305635969728"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686078272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": ".2.140305635969728"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305615227248": {"type": "Overloaded", "items": [{"nodeId": "140305686078720"}, {"nodeId": "140305686079168"}]}, "140305686078720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "0"}, {"nodeId": "140305615228480"}, {"nodeId": "140305615228592"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228480": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615228592": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686079168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615228704"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635970736": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258080"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258528"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686084992"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305615229936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229936": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "140305635968720"}]}, "140305594258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594258752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686084992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635971072": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594259872"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260544"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841728"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685841280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685841728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305635971408": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594261888"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262336"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262560"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685843968"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844416"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844864"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685843968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685844416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305685844864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635971744": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594264800"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265248"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685846656"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685847104"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685846656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685847104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635972080": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594266592"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267040"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685848896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685848896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685849344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635973088": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322496"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322720"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686185344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686184448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686184896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686185344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635973424": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324064"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324512"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686188032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594324064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686187136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686187584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686188032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635974096": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686194304"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686194304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627772096": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686196768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197664"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686196768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627772432": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199456"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199904"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690263840"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264288"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264736"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265184"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265632"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266080"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266976"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305686199456": {"type": "Function", "typeVars": [".-1.140305686199456"], "argTypes": [{"nodeId": ".-1.140305686199456"}], "returnType": {"nodeId": ".-1.140305686199456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305686199456": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686199456", "variance": "INVARIANT"}, "140305686199904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305690263840": {"type": "Function", "typeVars": [".-1.140305690263840"], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": ".-1.140305690263840"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305690263840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690263840", "variance": "INVARIANT"}, "140305690264288": {"type": "Function", "typeVars": [".-1.140305690264288"], "argTypes": [{"nodeId": ".-1.140305690264288"}, {"nodeId": ".-1.140305690264288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305690264288": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690264288", "variance": "INVARIANT"}, "140305690264736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690266080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690266528": {"type": "Function", "typeVars": [".-1.140305690266528"], "argTypes": [{"nodeId": ".-1.140305690266528"}, {"nodeId": ".-1.140305690266528"}], "returnType": {"nodeId": ".-1.140305690266528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266528": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266528", "variance": "INVARIANT"}, "140305690266976": {"type": "Function", "typeVars": [".-1.140305690266976"], "argTypes": [{"nodeId": ".-1.140305690266976"}, {"nodeId": ".-1.140305690266976"}], "returnType": {"nodeId": ".-1.140305690266976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266976": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266976", "variance": "INVARIANT"}, "140305627773104": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614674560"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597901376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690274592"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275488"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614674560": {"type": "Overloaded", "items": [{"nodeId": "140305690273248"}, {"nodeId": "140305690273696"}]}, "140305690273248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614781824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614781824": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305690273696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305597901376": {"type": "Function", "typeVars": [".-1.140305597901376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305597901376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305597901376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305597901376", "variance": "INVARIANT"}, "140305690274592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690275488": {"type": "Function", "typeVars": [".-1.140305690275488"], "argTypes": [{"nodeId": ".-1.140305690275488"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305690275488"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305690275488": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690275488", "variance": "INVARIANT"}, "140305627773440": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631852832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276832"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631852832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305631849696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690275936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614773536"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614777680"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140305614773536": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305614777680": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690276384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627774112": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279072"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279520"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850480": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614778464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140305614778464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614576256": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305548305888"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275328"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275552"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275104"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274880"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274656"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274432"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273984"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273760"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273536"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543269728"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543268608"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305543431776"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548305888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305543275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543233232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543233232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543269728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231328"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231216"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231216": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543431776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305614576592": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140305619090256": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556631424"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686433344"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669296"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225392"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305556631424": {"type": "Tuple", "items": []}, "140305686433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619090256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614669296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225392": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225504": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619090592": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619090928": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337280": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556816272"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305619090928"}], "isAbstract": false}, "140305556816272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619337616": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556817280"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556817280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619347696": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337952": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556818288"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619337280"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556818288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619338960": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619338288": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556819632"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556819632": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619338624": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556820528"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556820528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619339296": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556822544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614676688"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556822544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534896": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552245248"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232224"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619232448"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668960"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552245248": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535232": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552246480"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669072"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552246480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614669072": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232224": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305619232448": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668960": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305614676688": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339632": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556824000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671872"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556824000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671872": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339968": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825232"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825232": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535568": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552247376"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552247376": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619340304": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614672320"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825680": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614672320": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619340640": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556826576"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556826576": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619340976": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556827920"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556827920": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619341312": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556829040"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668176"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556829040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668176": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305619454656": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552008112"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552008112": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455664": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619453312": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552002848"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552002848": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453984": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552006208"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552006208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619458016": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619341648": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556830384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671088"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668288"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556830384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671088": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305614668288": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619341984": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556831840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556831840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342320": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551688752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551688752": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342656": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551689648"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551689648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342992": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551690768"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551690768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619343328": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551691888"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551691888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536240": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552249392"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232672"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552249392": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232672": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619343664": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693008"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693008": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619344000": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693904"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668400"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668624"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693904": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668400": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668624": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619344336": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551695360"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619534560"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551695360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534560": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552013712"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232112"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619534224"}], "isAbstract": false}, "140305552013712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232000": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619534224": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619344672": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551696704"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668736"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551696704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668736": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619345008": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551697488"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551697488": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619535904": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552248384"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232336"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552248384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345344": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551698832"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551698832": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345680": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551699504"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551699504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346016": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551700400"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551700400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346352": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551701296"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551701296": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346688": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347024": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347360": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619348032": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551702416"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619457008"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551702416": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619457008": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619348368": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551703648"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551703648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619348704": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551852144"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619462720"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551852144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619462720": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619349040": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551853152"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551853152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349376": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551854384"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551854384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349712": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551855280"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619226176"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551855280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619226176": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619350048": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551856064"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551856064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619350384": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551857184"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551857184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619533888": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552012704"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552012704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619350720": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551858192"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551858192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351056": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551859424"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551859424": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351392": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551860320"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551860320": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351728": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551861104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551861104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352064": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862000"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614673104"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614673104": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619352400": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862896"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862896": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352736": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551864240"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619464400"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551864240": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619464400": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619353072": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551865360"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551865360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619451968": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551866480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225952"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551866480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225952": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619452304": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551867152"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551867152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619452640": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552000048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225728"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231440"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552000048": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225728": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619231440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448704"}]}, "140305619452976": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552001616"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619454656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552001616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453648": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552004528"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231664"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231776"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231888"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552004528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619231664": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231776": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231888": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619454320": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552007104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552007104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619454992": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552009120"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552009120": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455328": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552010128"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552010128": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619456000": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456336": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456672": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619457344": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619457680": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619458352": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619458688": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459024": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459360": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459696": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460032": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460368": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460704": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461040": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461376": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461712": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462048": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462384": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619463056": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463392": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463728": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464064": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464736": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465072": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465408": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465744": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466080": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466416": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466752": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467088": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467424": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467760": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619536576": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552250400"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619537248"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305552250400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619537248": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251072"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619536912"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232784"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552251072": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536912": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619232784": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619537584": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619537920": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251520"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232896"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619232896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305619538256": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251856"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619538592": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252192"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233232"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619233232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619538928": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252976"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233344"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252976": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539264": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253760"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253760": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619539600": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253984"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233456"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233568"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253984": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233456": {"type": "Union", "items": [{"nodeId": "140305619536912"}, {"nodeId": "N"}]}, "140305619233568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539936": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552254208"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552254208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305628004752": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}, {"nodeId": "140305627462816"}], "isAbstract": false}, "140305628005088": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686434912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435360"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435808"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436256"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436704"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437152"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437600"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438048"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438496"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305640401248"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438944"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439392"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439840"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440288"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440736"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441184"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631703808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442080"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442528"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577282464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443424"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686434912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686435808": {"type": "Function", "typeVars": [".-1.140305686435808"], "argTypes": [{"nodeId": ".-1.140305686435808"}], "returnType": {"nodeId": ".-1.140305686435808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686435808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686435808", "variance": "INVARIANT"}, "140305686436256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611065936"}, {"nodeId": "140305611066048"}, {"nodeId": "140305611066160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305611065936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305611066048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305611066160": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640401248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686438944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686439840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066272": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686441184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686441632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611066384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686442080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066496"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066496": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686442528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305577282464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686443424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140305611066608": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628005424": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443872"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444320"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444768"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445216"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686443872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686444320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066720"}], "returnType": {"nodeId": "140305611066832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066720": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305611066832": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686444768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066944"}], "returnType": {"nodeId": "140305611067056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305611067056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686445216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305611067168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067168": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628005760": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628005424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445664"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692128"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693024"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693920"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686445664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}], "returnType": {"nodeId": "140305628005424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686692128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067280": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686692576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067392"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067392": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686693024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067504": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686693472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067616"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067616": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686693920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628006096": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686694368"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577293216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695712"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696160"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140305628005424"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305619692992": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305619122912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305619122688"}]}, "140305619122688": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619112272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627766048"}]}]}, "140305619543968": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581390784"}}], "typeVars": [{"nodeId": ".1.140305619543968"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305581390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619543968", "args": [{"nodeId": ".1.140305619543968"}]}], "returnType": {"nodeId": ".1.140305619543968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619543968": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619543968", "variance": "COVARIANT"}, "140305686694368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611067728"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611067952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140305611067728": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305611067952": {"type": "Union", "items": [{"nodeId": "140305611067840"}, {"nodeId": "N"}]}, "140305611067840": {"type": "TypeAlias", "target": {"nodeId": "140305635951776"}}, "140305635951776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305577293216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611068064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686695712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686696160": {"type": "Function", "typeVars": [".-1.140305686696160"], "argTypes": [{"nodeId": ".-1.140305686696160"}], "returnType": {"nodeId": ".-1.140305686696160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686696160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686696160", "variance": "INVARIANT"}, "140305628006432": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697504"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697952"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698400"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686696608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140305611068176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686697056": {"type": "Function", "typeVars": [".-1.140305686697056"], "argTypes": [{"nodeId": ".-1.140305686697056"}], "returnType": {"nodeId": ".-1.140305686697056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686697056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686697056", "variance": "INVARIANT"}, "140305686697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068288"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628006768": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698848"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699744"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686698848": {"type": "Function", "typeVars": [".-1.140305686698848"], "argTypes": [{"nodeId": ".-1.140305686698848"}], "returnType": {"nodeId": ".-1.140305686698848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686698848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686698848", "variance": "INVARIANT"}, "140305686699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628007104": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701088"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686700192": {"type": "Function", "typeVars": [".-1.140305686700192"], "argTypes": [{"nodeId": ".-1.140305686700192"}], "returnType": {"nodeId": ".-1.140305686700192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686700192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686700192", "variance": "INVARIANT"}, "140305686700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305611068400"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628007440": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701536"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701984"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628006768"}, {"nodeId": "140305628007104"}], "isAbstract": false}, "140305686701536": {"type": "Function", "typeVars": [".-1.140305686701536"], "argTypes": [{"nodeId": ".-1.140305686701536"}], "returnType": {"nodeId": ".-1.140305686701536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686701536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686701536", "variance": "INVARIANT"}, "140305686701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007440"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628007776": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702880"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}], "isAbstract": false}, "140305686702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305628005424"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140305686702880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628008112": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614769840"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704224"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704672"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706016"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706464"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305614769840": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619692656": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305686703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305611068512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068512": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628008448": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706912"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577704608"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577771072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772416"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628008112"}, {"nodeId": "140305627763696"}], "isAbstract": false}, "140305686706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305611068624"}, {"nodeId": "140305611068736"}, {"nodeId": "140305611068848"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305577704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305611068960"}, {"nodeId": "140305611069072"}, {"nodeId": "140305611069184"}, {"nodeId": "140305611069296"}, {"nodeId": "140305611069408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069184": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305611069408": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305665295968": {"type": "Function", "typeVars": [".-1.140305665295968"], "argTypes": [{"nodeId": ".-1.140305665295968"}], "returnType": {"nodeId": ".-1.140305665295968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305665295968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665295968", "variance": "INVARIANT"}, "140305665296416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665296864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665297312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665297760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628008784": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305665299104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}, {"nodeId": "140305611069520"}, {"nodeId": "140305611069632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140305611069520": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305665299552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614575584": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300448"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577784064"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665301344"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": false}, "140305665300000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069744"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140305611069744": {"type": "Union", "items": [{"nodeId": "140305619079504"}, {"nodeId": "N"}]}, "140305619079504": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648546336"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560222656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648546336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893280"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606893280": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305648547232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648547680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "140305606893504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893504": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648548128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893728": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305665300448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069968"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305611069968": {"type": "Union", "items": [{"nodeId": "140305611069856"}, {"nodeId": "140305627449712"}]}, "140305611069856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305577784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}], "returnType": {"nodeId": "140305611070080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611070080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305665301344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611070304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611070304": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305618823744": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618823408"}], "isAbstract": false}, "140305614570208": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439584"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440032"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440928"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665441376"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570208"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665439584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140305614570208": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140305618823408"}, "def": "140305614570208", "variance": "INVARIANT"}, "140305665440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305665441376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305618824080": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671904"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305665671456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618826096": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618827104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618827440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822496"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": false}, "140305665822496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827440"}, {"nodeId": "140305606340592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340592": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305618827776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822944"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603648"}]}], "isAbstract": false}, "140305665822944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827776"}, {"nodeId": "140305606340704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340704": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614603648": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305618828112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618944400": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618944736": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945072": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945408": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945744": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946080": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614602528"}]}], "isAbstract": false}, "140305614602528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305618950784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305618951120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823392"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603536"}]}], "isAbstract": false}, "140305665823392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951120"}, {"nodeId": "140305606340816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340816": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614603536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618951456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305719629456"}]}], "isAbstract": false}, "140305665823840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305618951792": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140305618951792"}], "bases": [{"nodeId": "140305618824752"}, {"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618951792"}]}], "isAbstract": false}, ".1.140305618951792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618951792", "variance": "INVARIANT"}, "140305618952128": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618952464": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627324240"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824288"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824080"}], "isAbstract": false}, "140305627324240": {"type": "Union", "items": [{"nodeId": "140305627316512"}, {"nodeId": "140305627316288"}]}, "140305627316512": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}]}, "140305627316288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}, {"nodeId": "140305627448032"}]}, "140305665824288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618952128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618952800": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825184"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825632"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305665824736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140305665825184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665825632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305618953136": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953472": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953808": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305618954144": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305614570880": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339696"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146336"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339808"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146784"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665827872"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341488"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830560"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665831008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570880"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": true}, "140305606339696": {"type": "Overloaded", "items": [{"nodeId": "140305665826080"}]}, "140305665826080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305614570880": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570880", "variance": "INVARIANT"}, "140305569146336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606339808": {"type": "Overloaded", "items": [{"nodeId": "140305665826976"}]}, "140305665826976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305569146784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665827872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305606341376": {"type": "Overloaded", "items": [{"nodeId": "140305665828320"}, {"nodeId": "140305665828768"}]}, "140305665828320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665828768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606341488": {"type": "Overloaded", "items": [{"nodeId": "140305665829216"}, {"nodeId": "140305665829664"}]}, "140305665829216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665829664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665830112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665830560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665831008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635980144": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656293728"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294176"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read", "readline"]}, "140305656293728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656294176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635980816": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635981152": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981488": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981824": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305635955584"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305643939744"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656463648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464096"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464992"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465440"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465888"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635955584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140305635882848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635882848": {"type": "TypeAlias", "target": {"nodeId": "140305635877360"}}, "140305635877360": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305635880944"}, {"nodeId": "140305635879824"}, {"nodeId": "140305635878480"}, {"nodeId": "140305635877248"}]}, "140305635880944": {"type": "Tuple", "items": [{"nodeId": "140305636401312"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305636401312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635879824": {"type": "Tuple", "items": [{"nodeId": "140305636401760"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140305636401760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878480": {"type": "Tuple", "items": [{"nodeId": "140305635954912"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878368"}]}, "140305635954912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878368": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877248": {"type": "Tuple", "items": [{"nodeId": "140305635955136"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878144"}, {"nodeId": "140305635877136"}]}, "140305635955136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878144": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877136": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305643939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635982160": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305635954464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656466336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467232"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467680"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656468128"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635954464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656466336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305635980144"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610610880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140305610610880": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305656467232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656467680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656468128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140305656463648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610609984"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610610096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140305610609984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610610096": {"type": "TypeAlias", "target": {"nodeId": "140305631416544"}}, "140305631416544": {"type": "Union", "items": [{"nodeId": "140305711245664"}, {"nodeId": "N"}]}, "140305711245664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656464096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305656464992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656465440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656465888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305635982496": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656470144"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471040"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471488"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471936"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472384"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472832"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473280"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474176"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474624"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610607408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305635982496"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "isAbstract": false}, "140305656470144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140305635982496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982496", "variance": "INVARIANT"}, "140305656471040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140305656471488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656471936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656473280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656473728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656474176": {"type": "Function", "typeVars": [".-1.140305656474176", ".-2.140305656474176"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474176"}, {"nodeId": ".-2.140305656474176"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617264"}, {"nodeId": "140305610617376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474176": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, ".-2.140305656474176": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, "140305610617264": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474176"}]}, "140305610617376": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474176"}]}, "140305656474624": {"type": "Function", "typeVars": [".-1.140305656474624", ".-2.140305656474624"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474624"}, {"nodeId": ".-2.140305656474624"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617488"}, {"nodeId": "140305610617824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474624": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, ".-2.140305656474624": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, "140305610617488": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474624"}]}, "140305610617824": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474624"}]}, "140305610607408": {"type": "Overloaded", "items": [{"nodeId": "140305656475072"}, {"nodeId": "140305656475520"}]}, "140305656475072": {"type": "Function", "typeVars": [".-1.140305656475072"], "argTypes": [{"nodeId": ".-1.140305656475072"}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": ".-1.140305656475072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475072", "variance": "INVARIANT"}, "140305656475520": {"type": "Function", "typeVars": [".-1.140305656475520"], "argTypes": [{"nodeId": ".-1.140305656475520"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305610618160"}]}], "returnType": {"nodeId": ".-1.140305656475520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475520", "variance": "INVARIANT"}, "140305610618160": {"type": "Tuple", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "140305619543632": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581620720"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581430080"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427840"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581428064"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426048"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427392"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426944"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427168"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426496"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426720"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425600"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425824"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426272"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425376"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424704"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424928"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581391232"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305581620720": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581430080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619056": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619168"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619168": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619280": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619392"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619392": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619504"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619504": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619616"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619616": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619728": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619840": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619952"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619952": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620064": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620176": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620288": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305635982832": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581386976"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581387200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720000"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720448"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720896"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721344"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721792"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722240"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722688"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635982832"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305581386976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635982832": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982832", "variance": "INVARIANT"}, "140305581387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652720896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652721344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652721792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610620736"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610620736": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305614766928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305652722240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652722688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619544304": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581808592"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581380928"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379584"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379360"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379136"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378912"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378688"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378464"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378240"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378016"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377792"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377568"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581808592": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817824"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817824": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818048": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818160"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818160": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818272": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818384": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818496"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818496": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619544640": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581810272"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581376000"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581375072"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581370592"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581374624"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581373952"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581810272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819504"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581375072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819616"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581370592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819728"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819728": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581374624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819840"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581373952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819952"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819952": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619544976": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581813744"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581368352"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581367904"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581813744": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581368352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581367904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619545312": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247424"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247872"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653248320"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140305619545312"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}]}, {"nodeId": "140305618954480", "args": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}]}], "isAbstract": false}, "140305653247424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619545312": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619545312", "variance": "INVARIANT"}, "140305653247872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305653248320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619545648": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648135616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648136064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305648135616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}, {"nodeId": "140305628008448"}, {"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140305635977120": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614681952"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680048"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681568"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631420128"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418560"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615410048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167520"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167968"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168416"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168864"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169312"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169760"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170208"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632171104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635977120"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681952": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305619585392": {"type": "Union", "items": [{"nodeId": "140305619590992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305619591104"}]}]}, "140305619590992": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619591104": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305614680048": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, ".1.140305635977120": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635977120", "variance": "INVARIANT"}, "140305619681568": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631420128": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631418560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305615410048": {"type": "Overloaded", "items": [{"nodeId": "140305627212352"}, {"nodeId": "140305631700896"}, {"nodeId": "140305631701344"}, {"nodeId": "140305631701792"}, {"nodeId": "140305631702240"}, {"nodeId": "140305631702688"}]}, "140305627212352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610334816"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610335040"}, {"nodeId": "140305610335264"}, {"nodeId": "140305610335488"}, {"nodeId": "140305610335712"}, {"nodeId": "140305610335824"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610336160"}, {"nodeId": "140305610336384"}, {"nodeId": "140305610336496"}, {"nodeId": "140305610336720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610336832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610336944"}, {"nodeId": "140305610337056"}, {"nodeId": "140305610337168"}, {"nodeId": "140305610337392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610334816": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610335040": {"type": "Union", "items": [{"nodeId": "140305610334928"}, {"nodeId": "N"}]}, "140305610334928": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610335264": {"type": "Union", "items": [{"nodeId": "140305610335152"}, {"nodeId": "N"}]}, "140305610335152": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305631422480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}]}, "140305610335488": {"type": "Union", "items": [{"nodeId": "140305610335376"}, {"nodeId": "N"}]}, "140305610335376": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335712": {"type": "Union", "items": [{"nodeId": "140305610335600"}, {"nodeId": "N"}]}, "140305610335600": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335824": {"type": "Union", "items": [{"nodeId": "140305627213248"}, {"nodeId": "N"}]}, "140305627213248": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610336160": {"type": "Union", "items": [{"nodeId": "140305610336048"}, {"nodeId": "N"}]}, "140305610336048": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336384": {"type": "Union", "items": [{"nodeId": "140305610336272"}, {"nodeId": "N"}]}, "140305610336272": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305619681904": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627766048"}, {"nodeId": "140305619594800"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305619681456"}]}]}, "140305619594800": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619681456": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336496": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610336832": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610337056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610337280"}]}, {"nodeId": "N"}]}, "140305610337280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631700896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610337504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610337728"}, {"nodeId": "140305610337952"}, {"nodeId": "140305610338176"}, {"nodeId": "140305610338400"}, {"nodeId": "140305610338512"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610338848"}, {"nodeId": "140305610339072"}, {"nodeId": "140305610339184"}, {"nodeId": "140305610339408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610339520"}, {"nodeId": "140305610339632"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610339744"}, {"nodeId": "140305610339856"}, {"nodeId": "140305610340080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610337504": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610337728": {"type": "Union", "items": [{"nodeId": "140305610337616"}, {"nodeId": "N"}]}, "140305610337616": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610337952": {"type": "Union", "items": [{"nodeId": "140305610337840"}, {"nodeId": "N"}]}, "140305610337840": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338176": {"type": "Union", "items": [{"nodeId": "140305610338064"}, {"nodeId": "N"}]}, "140305610338064": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338400": {"type": "Union", "items": [{"nodeId": "140305610338288"}, {"nodeId": "N"}]}, "140305610338288": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338512": {"type": "Union", "items": [{"nodeId": "140305627208096"}, {"nodeId": "N"}]}, "140305627208096": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610338848": {"type": "Union", "items": [{"nodeId": "140305610338736"}, {"nodeId": "N"}]}, "140305610338736": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610339072": {"type": "Union", "items": [{"nodeId": "140305610338960"}, {"nodeId": "N"}]}, "140305610338960": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610339184": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610339520": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610339744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610339856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610340080": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610339968"}]}, {"nodeId": "N"}]}, "140305610339968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610340192"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610340416"}, {"nodeId": "140305610340640"}, {"nodeId": "140305610340864"}, {"nodeId": "140305610341088"}, {"nodeId": "140305610341200"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610341536"}, {"nodeId": "140305610341760"}, {"nodeId": "0"}, {"nodeId": "140305610342096"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610342208"}, {"nodeId": "140305610375232"}, {"nodeId": "140305610375344"}, {"nodeId": "140305610375456"}, {"nodeId": "140305610375568"}, {"nodeId": "140305610375792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610340192": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610340416": {"type": "Union", "items": [{"nodeId": "140305610340304"}, {"nodeId": "N"}]}, "140305610340304": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610340640": {"type": "Union", "items": [{"nodeId": "140305610340528"}, {"nodeId": "N"}]}, "140305610340528": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610340864": {"type": "Union", "items": [{"nodeId": "140305610340752"}, {"nodeId": "N"}]}, "140305610340752": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341088": {"type": "Union", "items": [{"nodeId": "140305610340976"}, {"nodeId": "N"}]}, "140305610340976": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341200": {"type": "Union", "items": [{"nodeId": "140305627211904"}, {"nodeId": "N"}]}, "140305627211904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610341536": {"type": "Union", "items": [{"nodeId": "140305610341424"}, {"nodeId": "N"}]}, "140305610341424": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610341760": {"type": "Union", "items": [{"nodeId": "140305610341648"}, {"nodeId": "N"}]}, "140305610341648": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610342096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610342208": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610375232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375792": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610375680"}]}, {"nodeId": "N"}]}, "140305610375680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610375904"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610376128"}, {"nodeId": "140305610376352"}, {"nodeId": "140305610376576"}, {"nodeId": "140305610376800"}, {"nodeId": "140305610376912"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610377248"}, {"nodeId": "140305610377472"}, {"nodeId": "140305610377584"}, {"nodeId": "140305610377808"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "0"}, {"nodeId": "140305610378032"}, {"nodeId": "140305610378144"}, {"nodeId": "140305610378256"}, {"nodeId": "140305610378368"}, {"nodeId": "140305610378592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610375904": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610376128": {"type": "Union", "items": [{"nodeId": "140305610376016"}, {"nodeId": "N"}]}, "140305610376016": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610376352": {"type": "Union", "items": [{"nodeId": "140305610376240"}, {"nodeId": "N"}]}, "140305610376240": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376576": {"type": "Union", "items": [{"nodeId": "140305610376464"}, {"nodeId": "N"}]}, "140305610376464": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376800": {"type": "Union", "items": [{"nodeId": "140305610376688"}, {"nodeId": "N"}]}, "140305610376688": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376912": {"type": "Union", "items": [{"nodeId": "140305627202944"}, {"nodeId": "N"}]}, "140305627202944": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610377248": {"type": "Union", "items": [{"nodeId": "140305610377136"}, {"nodeId": "N"}]}, "140305610377136": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610377472": {"type": "Union", "items": [{"nodeId": "140305610377360"}, {"nodeId": "N"}]}, "140305610377360": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610377584": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610377808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610378032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378592": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610378480"}]}, {"nodeId": "N"}]}, "140305610378480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610378704"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610378928"}, {"nodeId": "140305610379152"}, {"nodeId": "140305610379376"}, {"nodeId": "140305610379600"}, {"nodeId": "140305610379712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610380048"}, {"nodeId": "140305610380272"}, {"nodeId": "140305610380496"}, {"nodeId": "140305610380720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610380944"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140305610381056"}, {"nodeId": "140305610381168"}, {"nodeId": "140305610381392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610378704": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610378928": {"type": "Union", "items": [{"nodeId": "140305610378816"}, {"nodeId": "N"}]}, "140305610378816": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610379152": {"type": "Union", "items": [{"nodeId": "140305610379040"}, {"nodeId": "N"}]}, "140305610379040": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379376": {"type": "Union", "items": [{"nodeId": "140305610379264"}, {"nodeId": "N"}]}, "140305610379264": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379600": {"type": "Union", "items": [{"nodeId": "140305610379488"}, {"nodeId": "N"}]}, "140305610379488": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379712": {"type": "Union", "items": [{"nodeId": "140305627206976"}, {"nodeId": "N"}]}, "140305627206976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610380048": {"type": "Union", "items": [{"nodeId": "140305610379936"}, {"nodeId": "N"}]}, "140305610379936": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610380272": {"type": "Union", "items": [{"nodeId": "140305610380160"}, {"nodeId": "N"}]}, "140305610380160": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610380496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610380720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610380944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140305610381056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610381280"}]}, {"nodeId": "N"}]}, "140305610381280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "A"}]}, {"nodeId": "140305610381616"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610381840"}, {"nodeId": "140305610382064"}, {"nodeId": "140305610382288"}, {"nodeId": "140305610382512"}, {"nodeId": "140305610382624"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610382960"}, {"nodeId": "140305610383184"}, {"nodeId": "140305610383296"}, {"nodeId": "140305610383520"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610383632"}, {"nodeId": "140305610383744"}, {"nodeId": "140305610383856"}, {"nodeId": "140305610383968"}, {"nodeId": "140305610384080"}, {"nodeId": "140305610384304"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610381616": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610381840": {"type": "Union", "items": [{"nodeId": "140305610381728"}, {"nodeId": "N"}]}, "140305610381728": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610382064": {"type": "Union", "items": [{"nodeId": "140305610381952"}, {"nodeId": "N"}]}, "140305610381952": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382288": {"type": "Union", "items": [{"nodeId": "140305610382176"}, {"nodeId": "N"}]}, "140305610382176": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382512": {"type": "Union", "items": [{"nodeId": "140305610382400"}, {"nodeId": "N"}]}, "140305610382400": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382624": {"type": "Union", "items": [{"nodeId": "140305627211456"}, {"nodeId": "N"}]}, "140305627211456": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610382960": {"type": "Union", "items": [{"nodeId": "140305610382848"}, {"nodeId": "N"}]}, "140305610382848": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610383184": {"type": "Union", "items": [{"nodeId": "140305610383072"}, {"nodeId": "N"}]}, "140305610383072": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610383296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610383632": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384304": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610384192"}]}, {"nodeId": "N"}]}, "140305610384192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305632167520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "140305610384416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610384416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140305610384528": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305632168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384640"}, {"nodeId": "140305610384752"}], "returnType": {"nodeId": "140305610384976"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140305610384640": {"type": "Union", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": "N"}]}, "140305610384752": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305610384976": {"type": "Tuple", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": ".1.140305635977120"}]}, "140305632168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140305632169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632170208": {"type": "Function", "typeVars": [".-1.140305632170208"], "argTypes": [{"nodeId": ".-1.140305632170208"}], "returnType": {"nodeId": ".-1.140305632170208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305632170208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305632170208", "variance": "INVARIANT"}, "140305632170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610385088"}, {"nodeId": "140305610385200"}, {"nodeId": "140305610385312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610385088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610385200": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610385312": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305632171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305648136064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}], "returnType": {"nodeId": "140305610988944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610988944": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619545984": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576778144"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581358016"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581357120"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356896"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356448"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356672"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305576778144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581358016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990736"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990736": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990624"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990624": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990960"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990960": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991296"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991296": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991408"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991408": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305619546320": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576780384"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581583136"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584256"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584480"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584704"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584928"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576780384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581583136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610992864"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610992864": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993200"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993200": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993536"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993536": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993648"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993648": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993760"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993760": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619546656": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576782176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648285312"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581586272"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576782176": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305648285312": {"type": "Function", "typeVars": [".-1.140305648285312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305648285312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140305648285312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648285312", "variance": "INVARIANT"}, "140305581586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610997008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610997008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305628013152": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628013824": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573384864"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305573384864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628014160": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432096"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432544"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648433440"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383520"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305648432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310352": {"type": "Union", "items": [{"nodeId": "140305635967376"}, {"nodeId": "N"}]}, "140305573383968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305648433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305573383520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611310688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140305611310688": {"type": "Union", "items": [{"nodeId": "140305611310576"}, {"nodeId": "140305627449712"}]}, "140305611310576": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628014496": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573382624"}}], "typeVars": [], "bases": [{"nodeId": "140305628014160"}], "isAbstract": true}, "140305573382624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305628014832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648434784"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318496"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318944"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319392"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305648434784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140305652318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628015168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319840"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320288"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320736"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311024"}], "returnType": {"nodeId": "140305611311136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305611311024": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311136": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311248"}, {"nodeId": "140305611311360"}], "returnType": {"nodeId": "140305611311472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305611311248": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311360": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611311472": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321184"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321632"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322080"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322528"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311584": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311920": {"type": "Tuple", "items": [{"nodeId": "140305611311696"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}]}, "140305611311696": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611312032"}], "returnType": {"nodeId": "140305611312144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140305611312032": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611312144": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322976"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323424"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323872"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652324320"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305652322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305652323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312256"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312368"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573214048"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213600"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212928"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213824"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305573214048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573213600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305573213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628016512": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212032"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211584"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211360"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611310016"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573211136"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210464"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210240"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210016"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140305573212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628016512"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140305611310016": {"type": "Overloaded", "items": [{"nodeId": "140305652329248"}, {"nodeId": "140305652329696"}, {"nodeId": "140305652330144"}, {"nodeId": "140305652330592"}, {"nodeId": "140305652331040"}, {"nodeId": "140305652331488"}, {"nodeId": "140305652331936"}]}, "140305652329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611312592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611312704"}, {"nodeId": "140305611312816"}, {"nodeId": "140305611312928"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611312592": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305619117424": {"type": "Union", "items": [{"nodeId": "140305619119328"}, {"nodeId": "140305619119440"}, {"nodeId": "140305619117312"}]}, "140305619119328": {"type": "TypeAlias", "target": {"nodeId": "140305619116864"}}, "140305619116864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619119440": {"type": "TypeAlias", "target": {"nodeId": "140305619118992"}}, "140305619118992": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619117312": {"type": "TypeAlias", "target": {"nodeId": "140305619121008"}}, "140305619121008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305611312704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313040"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313040": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305619222592": {"type": "Union", "items": [{"nodeId": "140305619122464"}, {"nodeId": "140305619122576"}, {"nodeId": "140305619222928"}]}, "140305619122464": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305619121568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619122576": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305619224048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619222928": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305619225840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313264"}, {"nodeId": "140305611314608"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313264": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305611314608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611315840"}, {"nodeId": "140305611315952"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611315840": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305611315952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611316960"}, {"nodeId": "140305611313712"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611316960": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305611313712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314720"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314720": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305652331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611314272"}, {"nodeId": "140305611316064"}, {"nodeId": "140305611316848"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305573210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314944"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305611314944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573208896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652465952"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466400"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466848"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652467296"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140305628016176"}], "isAbstract": true}, "140305573208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652465952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652467296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619548000": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573145376"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144480"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144032"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143584"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143136"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142912"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142464"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139552"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573140896"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573145376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077360"}], "returnType": {"nodeId": "140305611077472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611077360": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077472": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573144480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077584"}, {"nodeId": "140305611077696"}], "returnType": {"nodeId": "140305611077808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611077584": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077696": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611077808": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573144032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305573139552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077920"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611077920": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573140896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548336": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138880"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139328"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138432"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137984"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137536"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137088"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573136640"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135520"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135296"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573138880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078032"}], "returnType": {"nodeId": "140305611078144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078032": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078144": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573139328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078256"}, {"nodeId": "140305611078368"}], "returnType": {"nodeId": "140305611078480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078256": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078368": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611078480": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573138432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573136640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140305573135520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611078592"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611078592": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573135296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548672": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133920"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133472"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": false}, "140305573133920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078704"}], "returnType": {"nodeId": "140305611078816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078704": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078816": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573133472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078928"}, {"nodeId": "140305611079040"}], "returnType": {"nodeId": "140305611079152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078928": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079040": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079152": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012816": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131904"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131456"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573132352"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131008"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305573131904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140305573131456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140305619547328": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657065120"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572739584"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614770176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305657065120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}, {"nodeId": "140305611074336"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140305611074336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572739584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628012144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067808"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657068256"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140305628011808"}], "isAbstract": false}, "140305657067360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305614574576": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610577216"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354272"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354720"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581121920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639784736"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639785184"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786528"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786976"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787424"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787872"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788320"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788768"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789216"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789664"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790112"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790560"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791008"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791456"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791904"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610606848"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795488"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795936"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796384"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796832"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797280"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797728"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799072"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799520"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799968"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639800416"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639964960"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965408"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965856"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581124384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967200"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967648"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968096"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968544"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968992"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969440"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969888"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639970784"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305610577216": {"type": "Function", "typeVars": [".-1.140305610577216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610612448"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305610577216"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140305610612448": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305619109808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}]}, ".-1.140305610577216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610577216", "variance": "INVARIANT"}, "140305644354272": {"type": "Function", "typeVars": [".-1.140305644354272"], "argTypes": [{"nodeId": ".-1.140305644354272"}], "returnType": {"nodeId": ".-1.140305644354272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305644354272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644354272", "variance": "INVARIANT"}, "140305644354720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610612672"}, {"nodeId": "140305610612784"}, {"nodeId": "140305610612896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610612672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610612784": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610612896": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305581121920": {"type": "Function", "typeVars": [".-1.140305581121920"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581121920"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581121920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581121920", "variance": "INVARIANT"}, "140305639784736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610613008"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610613008": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639785184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140305639786528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639786976": {"type": "Function", "typeVars": [".-1.140305639786976"], "argTypes": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639786976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639786976", "variance": "INVARIANT"}, "140305639787424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639787872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790560": {"type": "Function", "typeVars": [".-1.140305639790560"], "argTypes": [{"nodeId": ".-1.140305639790560"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639790560"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639790560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639790560", "variance": "INVARIANT"}, "140305639791008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140305639791456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305610613120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610613120": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639791904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140305610606848": {"type": "Overloaded", "items": [{"nodeId": "140305639792352"}, {"nodeId": "140305639792800"}, {"nodeId": "140305639793248"}, {"nodeId": "140305639793696"}, {"nodeId": "140305639794144"}, {"nodeId": "140305639794592"}, {"nodeId": "140305639795040"}]}, "140305639792352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613344"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610613456"}, {"nodeId": "140305610613568"}, {"nodeId": "140305610613680"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613344": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305610613456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639792800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613792"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613792": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614016"}, {"nodeId": "140305610615360"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610614016": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305610615360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616592"}, {"nodeId": "140305610616704"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610616592": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305610616704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610617712"}, {"nodeId": "140305610614464"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610617712": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305610614464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615472"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615472": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639795040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610615024"}, {"nodeId": "140305610616816"}, {"nodeId": "140305610617600"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610617600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639795488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639795936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796832": {"type": "Function", "typeVars": [".-1.140305639796832"], "argTypes": [{"nodeId": ".-1.140305639796832"}], "returnType": {"nodeId": ".-1.140305639796832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639796832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639796832", "variance": "INVARIANT"}, "140305639797280": {"type": "Function", "typeVars": [".-1.140305639797280"], "argTypes": [{"nodeId": ".-1.140305639797280"}, {"nodeId": "140305610615696"}], "returnType": {"nodeId": ".-1.140305639797280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797280", "variance": "INVARIANT"}, "140305610615696": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305614573568": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098816"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098368"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098144"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097920"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097696"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097472"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097248"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343520"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343968"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344416"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344864"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576096"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576320"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347104"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347552"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348000"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348448"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348896"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349344"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349792"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575872"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644350688"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351136"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351584"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576992"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581043808"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581044480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644353376"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581098816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610575424": {"type": "Function", "typeVars": [".-1.140305610575424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610611664"}], "returnType": {"nodeId": ".-1.140305610575424"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140305610611664": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, ".-1.140305610575424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575424", "variance": "INVARIANT"}, "140305644343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644344416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610576096": {"type": "Function", "typeVars": [".-1.140305610576096"], "argTypes": [{"nodeId": ".-1.140305610576096"}, {"nodeId": "140305610611776"}], "returnType": {"nodeId": ".-1.140305610576096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576096", "variance": "INVARIANT"}, "140305610611776": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305610576320": {"type": "Function", "typeVars": [".-1.140305610576320"], "argTypes": [{"nodeId": ".-1.140305610576320"}, {"nodeId": "140305610611888"}], "returnType": {"nodeId": ".-1.140305610576320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576320", "variance": "INVARIANT"}, "140305610611888": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644349344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305610612000"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140305610612000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644349792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140305610575872": {"type": "Function", "typeVars": [".-1.140305610575872"], "argTypes": [{"nodeId": ".-1.140305610575872"}, {"nodeId": "140305610612112"}], "returnType": {"nodeId": ".-1.140305610575872"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610575872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575872", "variance": "INVARIANT"}, "140305610612112": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644350688": {"type": "Function", "typeVars": [".-1.140305644350688"], "argTypes": [{"nodeId": ".-1.140305644350688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644350688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140305644350688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644350688", "variance": "INVARIANT"}, "140305644351136": {"type": "Function", "typeVars": [".-1.140305644351136"], "argTypes": [{"nodeId": ".-1.140305644351136"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140305644351136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351136", "variance": "INVARIANT"}, "140305644351584": {"type": "Function", "typeVars": [".-1.140305644351584"], "argTypes": [{"nodeId": ".-1.140305644351584"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140305644351584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351584", "variance": "INVARIANT"}, "140305610576992": {"type": "Function", "typeVars": [".-1.140305610576992"], "argTypes": [{"nodeId": ".-1.140305610576992"}, {"nodeId": "140305610612224"}], "returnType": {"nodeId": ".-1.140305610576992"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610576992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576992", "variance": "INVARIANT"}, "140305610612224": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305581043808": {"type": "Function", "typeVars": [".-1.140305581043808"], "argTypes": [{"nodeId": ".-1.140305581043808"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".-1.140305581043808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581043808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581043808", "variance": "INVARIANT"}, "140305581044480": {"type": "Function", "typeVars": [".-1.140305581044480"], "argTypes": [{"nodeId": ".-1.140305581044480"}], "returnType": {"nodeId": ".-1.140305581044480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581044480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581044480", "variance": "INVARIANT"}, "140305644353376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140305639797728": {"type": "Function", "typeVars": [".-1.140305639797728"], "argTypes": [{"nodeId": ".-1.140305639797728"}, {"nodeId": "140305610618384"}], "returnType": {"nodeId": ".-1.140305639797728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797728", "variance": "INVARIANT"}, "140305610618384": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305639799072": {"type": "Function", "typeVars": [".-1.140305639799072"], "argTypes": [{"nodeId": ".-1.140305639799072"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305639799072"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140305639799072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799072", "variance": "INVARIANT"}, "140305639799520": {"type": "Function", "typeVars": [".-1.140305639799520"], "argTypes": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639799520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799520", "variance": "INVARIANT"}, "140305639799968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639800416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615584"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140305610615584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639964960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610615920": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639965408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140305639965856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140305581124384": {"type": "Function", "typeVars": [".-1.140305581124384"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581124384"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581124384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581124384", "variance": "INVARIANT"}, "140305639967200": {"type": "Function", "typeVars": [".-1.140305639967200"], "argTypes": [{"nodeId": ".-1.140305639967200"}], "returnType": {"nodeId": ".-1.140305639967200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967200", "variance": "INVARIANT"}, "140305639967648": {"type": "Function", "typeVars": [".-1.140305639967648"], "argTypes": [{"nodeId": ".-1.140305639967648"}], "returnType": {"nodeId": ".-1.140305639967648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967648", "variance": "INVARIANT"}, "140305639968096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639968544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610618496"}, {"nodeId": "140305610614352"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305610618496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610614352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639968992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140305610614800": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305639969440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614912"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305610614912": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305639969888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610615808"}, {"nodeId": "140305610616032"}, {"nodeId": "140305610616144"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140305610615808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639970784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610616256": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305657067808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074560"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611074560": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305657068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074672"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611074672": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305628011808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572743424"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742976"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071648"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742304"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741632"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572742528"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741408"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741184"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740704"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740480"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305572743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611073440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611073440": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305611073552"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611073552": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572742080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628011808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140305611071648": {"type": "Overloaded", "items": [{"nodeId": "140305657060192"}, {"nodeId": "140305657060640"}]}, "140305657060192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140305657060640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140305611073776"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140305611073776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611074000"}], "returnType": {"nodeId": "140305628012144"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140305611074000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572741632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628009120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009120": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644731552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644732000"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644586144"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572813440"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140305644731552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644732000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644586144": {"type": "Function", "typeVars": [".-1.140305644586144"], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644586144"}], "returnType": {"nodeId": "140305611071088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644586144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644586144", "variance": "INVARIANT"}, "140305611071088": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140305644586144"}]}, "140305572813440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305611071200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305572742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010800": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181856"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657053472"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572747904"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572749920"}}], "typeVars": [], "bases": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305635869520"}]}], "isAbstract": false}, "140305632181856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305611072320"}], "returnType": {"nodeId": "140305611073104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611072320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305611073104": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305619691088": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305657053472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305572747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572749920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635869520": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305572741408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572741184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074112": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305614575920"}]}, {"nodeId": "N"}]}, "140305614575920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057056"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057504"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057952"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619690864"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692880"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628011808"}}], "typeVars": [], "bases": [{"nodeId": "140305614573904"}], "isAbstract": false}, "140305657057056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305657057504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305657057952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619690864": {"type": "Union", "items": [{"nodeId": "140305628011472"}, {"nodeId": "N"}]}, "140305628011472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657058400"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305657058400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011472"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305619692880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614573904": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305572740704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074224": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305572740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573132352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611079264"}, {"nodeId": "140305611079376"}], "returnType": {"nodeId": "140305611079488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611079264": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079376": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079488": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573131008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309120"}], "returnType": {"nodeId": "140305611309232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611309120": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611309232": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619549008": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656890752"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573130336"}}], "typeVars": [], "bases": [{"nodeId": "140305628015504"}], "isAbstract": false}, "140305656890752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549008"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140305611309456": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305573130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305611309680"}], "returnType": {"nodeId": "140305611015104"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140305611309680": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305611015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628015504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619549344": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656891648"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305656891648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549344"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140305611309792": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619549680": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305614569536": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892544"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892992"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893440"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893888"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894336"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305628014496"}], "isAbstract": false}, "140305656892096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140305656892544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305611309904"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611309904": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305656892992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656893440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305656893888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305656894336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656894784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635978800": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631419568"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631415760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656897920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305631419568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305631415760": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656897920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610388896"}, {"nodeId": "140305610388560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140305610388896": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610388560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635979136": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656898368"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305656898368": {"type": "Function", "typeVars": [".-1.140305656898368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305656898368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140305656898368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656898368", "variance": "INVARIANT"}, "140305619076144": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899488"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899936"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900384"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "seek", "write"]}, "140305656899488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656899936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656900384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619076480": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900832"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901280"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901728"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "read", "seek"]}, "140305656900832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305656901280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656901728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614571216": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619076144"}, {"nodeId": "140305619076480"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140305619076816": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902176"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076816"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888688": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305619077152": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902624"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077152"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888912": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077488": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903072"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077488"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076480"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653408"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653856"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654304"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654752"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655200"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655648"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656096"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656544"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656992"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140305648653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894848"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140305606894848": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140305606894960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648655200": {"type": "Function", "typeVars": [".-1.140305648655200"], "argTypes": [{"nodeId": ".-1.140305648655200"}], "returnType": {"nodeId": ".-1.140305648655200"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648655200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648655200", "variance": "INVARIANT"}, "140305648655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606895072"}, {"nodeId": "140305606895184"}, {"nodeId": "140305606895296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895072": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895184": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606895296": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648656096": {"type": "Function", "typeVars": [".-1.140305648656096"], "argTypes": [{"nodeId": ".-1.140305648656096"}], "returnType": {"nodeId": ".-1.140305648656096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648656096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648656096", "variance": "INVARIANT"}, "140305648656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648656992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606273152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606273152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078832": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543200"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543648"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648543200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892720": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648543648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892944": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077824": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903520"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077824"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572560": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076144"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650272"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650720"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651168"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652064"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652512"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140305648650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648651616": {"type": "Function", "typeVars": [".-1.140305648651616"], "argTypes": [{"nodeId": ".-1.140305648651616"}], "returnType": {"nodeId": ".-1.140305648651616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648651616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648651616", "variance": "INVARIANT"}, "140305648652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305606894288"}, {"nodeId": "140305606894400"}, {"nodeId": "140305606894512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606894288": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606894400": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606894512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606272480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606272480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078160": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903968"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305619079168": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544096"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560240416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544992"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545440"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545888"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648544096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560240416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305648544992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648545440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "140305606893056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305648545888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305606893168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893168": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305619078496": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656904416"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656904416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305614571552": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560256096"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254304"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254528"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252736"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560250496"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252064"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648535584"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305560256096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889136"}], "returnType": {"nodeId": "140305619076816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889136": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889248"}], "returnType": {"nodeId": "140305619077152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889248": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889360"}], "returnType": {"nodeId": "140305619077488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889360": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889472"}], "returnType": {"nodeId": "140305619077824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889472": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560250496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889584"}], "returnType": {"nodeId": "140305619078160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889584": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889696"}], "returnType": {"nodeId": "140305619078496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889696": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305648535584": {"type": "Function", "typeVars": [".-1.140305648535584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305606889024"}, {"nodeId": "140305606889808"}, {"nodeId": "140305606889920"}, {"nodeId": "140305606890032"}, {"nodeId": "140305606890144"}, {"nodeId": "140305606890256"}], "returnType": {"nodeId": ".-1.140305648535584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140305606889024": {"type": "Union", "items": [{"nodeId": "140305619077488"}, {"nodeId": "N"}]}, "140305606889808": {"type": "Union", "items": [{"nodeId": "140305619077824"}, {"nodeId": "N"}]}, "140305606889920": {"type": "Union", "items": [{"nodeId": "140305619078160"}, {"nodeId": "N"}]}, "140305606890032": {"type": "Union", "items": [{"nodeId": "140305619078496"}, {"nodeId": "N"}]}, "140305606890144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606890256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, ".-1.140305648535584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648535584", "variance": "INVARIANT"}, "140305614571888": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548576"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560221760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648549472"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140305619079168"}], "isAbstract": true}, "140305648548576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560221760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305648549472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305614572224": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648648480"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560220640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649376"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": true}, "140305648648480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606893840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606894064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305606893840": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305606894064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305648649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606894176"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606894176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305614573232": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614571216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657888"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658336"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658784"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659232"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660128"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660576"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661024"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661472"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661920"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662368"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662816"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663264"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663712"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648664160"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648779552"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780000"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780448"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780896"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781344"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781792"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763696"}], "isAbstract": false}, "140305648657440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140305648657888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895632"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606895632": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895744"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606895744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648659680": {"type": "Function", "typeVars": [".-1.140305648659680"], "argTypes": [{"nodeId": ".-1.140305648659680"}], "returnType": {"nodeId": ".-1.140305648659680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648659680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648659680", "variance": "INVARIANT"}, "140305648660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648661920": {"type": "Function", "typeVars": [".-1.140305648661920"], "argTypes": [{"nodeId": ".-1.140305648661920"}], "returnType": {"nodeId": ".-1.140305648661920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648661920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648661920", "variance": "INVARIANT"}, "140305648662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895856"}, {"nodeId": "140305606895968"}, {"nodeId": "140305606896080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895968": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896080": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648662816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648663264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648664160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648779552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606896304"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896304": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619079840": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782240"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782688"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784032"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784928"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785376"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785824"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786272"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786720"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787168"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787616"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788064"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788512"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789408"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789856"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790304"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790752"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791200"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791648"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763360"}], "isAbstract": false}, "140305648782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140305648782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896528"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606896528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648784480": {"type": "Function", "typeVars": [".-1.140305648784480"], "argTypes": [{"nodeId": ".-1.140305648784480"}], "returnType": {"nodeId": ".-1.140305648784480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648784480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648784480", "variance": "INVARIANT"}, "140305648784928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648785376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648785824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648786272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648786720": {"type": "Function", "typeVars": [".-1.140305648786720"], "argTypes": [{"nodeId": ".-1.140305648786720"}], "returnType": {"nodeId": ".-1.140305648786720"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648786720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648786720", "variance": "INVARIANT"}, "140305648787168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896752"}, {"nodeId": "140305606896864"}, {"nodeId": "140305606896976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606896752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606896864": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896976": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648787616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648788064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648790304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606897088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606897088": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648790752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635975776": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648795232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643929888"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643930336"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635975776"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305635975776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635975776", "variance": "INVARIANT"}, "140305648795232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}, {"nodeId": "140305615409600"}, {"nodeId": "140305627448032"}, {"nodeId": "140305615409712"}, {"nodeId": "140305615409824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140305615409600": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305615409712": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305615409824": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305643929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305643930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635976112": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635976448": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636405792"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614678256"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681680"}}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636405792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976448"}, {"nodeId": "140305610334144"}, {"nodeId": "140305627448368"}, {"nodeId": "140305610334256"}, {"nodeId": "140305610334032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140305610334144": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614678256": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305619681680": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305635976784": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636406240"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636406240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976784"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610334368"}, {"nodeId": "140305610334480"}, {"nodeId": "140305610334592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140305610334368": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628009792": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572755744"}}], "typeVars": [], "bases": [{"nodeId": "140305627644640"}], "isAbstract": false}, "140305572755744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009792"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010464": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632179616"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754400"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572753728"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754176"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181408"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140305628010128"}], "isAbstract": false}, "140305632179616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072432": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072656"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072656": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072880"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072880": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635869408": {"type": "Union", "items": [{"nodeId": "140305628011808"}, {"nodeId": "N"}]}, "140305632181408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072992"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305611072992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305628010128": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635953344"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952224"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635952000"}}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305635871648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635871088": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305635952448": {"type": "Function", "typeVars": [".-1.140305635952448"], "argTypes": [{"nodeId": ".-1.140305635952448"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635952448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140305635952448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952448", "variance": "INVARIANT"}, "140305635871312": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635953344": {"type": "Function", "typeVars": [".-1.140305635953344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635953344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140305635953344": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635953344", "variance": "INVARIANT"}, "140305635952224": {"type": "Function", "typeVars": [".-1.140305635952224"], "argTypes": [{"nodeId": ".-1.140305635952224"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140305635952224": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952224", "variance": "INVARIANT"}, "140305635952000": {"type": "Function", "typeVars": [".-1.140305635952000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305635952000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140305635952000": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952000", "variance": "INVARIANT"}, "140305628011136": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572746784"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572746112"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572745440"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071760"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628010800"}]}], "isAbstract": false}, "140305572746784": {"type": "Function", "typeVars": [".-1.140305572746784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611073216"}]}], "returnType": {"nodeId": ".-1.140305572746784"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140305611073216": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, ".-1.140305572746784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305572746784", "variance": "INVARIANT"}, "140305572746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572745440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071760": {"type": "Overloaded", "items": [{"nodeId": "140305657056160"}, {"nodeId": "140305657056608"}]}, "140305657056160": {"type": "Function", "typeVars": [".-1.140305657056160"], "argTypes": [{"nodeId": ".-1.140305657056160"}], "returnType": {"nodeId": ".-1.140305657056160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305657056160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305657056160", "variance": "INVARIANT"}, "140305657056608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305619546992": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140305619547328"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572739808"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": true}, "140305572739808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619546992"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140305619547664": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572737568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657066912"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140305619546992"}], "isAbstract": false}, "140305572737568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140305657066912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140305635977456": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635977792": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631420352"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614677696"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590196416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546432"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546880"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547328"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547776"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631420352": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614677696": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305590196416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635546432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305610386096"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305610386096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635546880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140305635978128": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305614681840"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671984"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635977792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635548224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549120"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549568"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550016"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550464"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550912"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551360"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551808"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552256"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681840": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305614679488": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305614678480"}]}, "140305614678480": {"type": "TypeAlias", "target": {"nodeId": "140305614679040"}}, "140305614679040": {"type": "Union", "items": [{"nodeId": "140305614681056"}, {"nodeId": "140305614681616"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305635978128"}]}, {"nodeId": "140305614678816"}, {"nodeId": "140305614678928"}]}, "140305614681056": {"type": "TypeAlias", "target": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631419120"}]}}, "140305631419120": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305627448032"}]}, "140305614681616": {"type": "TypeAlias", "target": {"nodeId": "140305619683024"}}, "140305619683024": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305635978128"}]}]}, "140305614678816": {"type": "TypeAlias", "target": {"nodeId": "140305619682912"}}, "140305619682912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}, {"nodeId": "140305635978128"}]}, "140305614678928": {"type": "TypeAlias", "target": {"nodeId": "140305614683520"}}, "140305614683520": {"type": "Tuple", "items": [{"nodeId": "140305619585504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}]}, "140305619585504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614671984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635548224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305635977792"}, {"nodeId": "140305610386320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140305610386320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305610386208"}]}, {"nodeId": "N"}]}, "140305610386208": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635549120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140305635549568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635550016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386768": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305635550464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386656"}], "returnType": {"nodeId": "140305610386880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610386880": {"type": "Union", "items": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386432"}]}, "140305610386432": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635550912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387216"}, {"nodeId": "140305610387104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305610387216": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610387104": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610387440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140305610387440": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140305610387328": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635552256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305610387664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305635547328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140305635547776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140305635978464": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614679600"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553152"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553600"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554048"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554496"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590191712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635555840"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556288"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556736"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614679600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635552704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305635553152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140305635553600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305610387776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635554048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140305635554496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140305590191712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635555840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635556288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140305635556736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305635978800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140305619089920": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648980640"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648980640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089920"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009456": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587040"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587488"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587936"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644588384"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140305644587040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305628020208": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628019200"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770064"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619697136"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305618816016"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589504"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589952"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590400"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590848"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591296"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591744"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592192"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592640"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594432"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594880"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595776"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596224"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596672"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597120"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597568"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598016"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598464"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598912"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599360"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599808"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600256"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600704"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644011584"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012032"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012480"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012928"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013376"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013824"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644014272"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314160"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644015616"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016064"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016512"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016960"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017408"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017856"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018304"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019200"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019648"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628019200": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690499152"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690508000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713440"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713888"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714336"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714784"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568616224"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568615328"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614432"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614880"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568613760"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305690499152": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690508000": {"type": "Union", "items": [{"nodeId": "140305674260256"}, {"nodeId": "N"}]}, "140305674260256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640712992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305611319984"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611320096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140305611319984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611320096": {"type": "Union", "items": [{"nodeId": "140305611024288"}, {"nodeId": "N"}]}, "140305611024288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640713440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628019200"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140305640713888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305618816016": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640711648"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305640711648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618816016"}, {"nodeId": "140305606334096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140305606334096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640714336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305640714784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305611320320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305568616224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568615328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611320768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568614432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568614880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568613760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305614770064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619697136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644589504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644589952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140305644590400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644590848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628020208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140305644591296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322224"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140305611322224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305644591744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322448"}, {"nodeId": "140305611322560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140305611322448": {"type": "TypeAlias", "target": {"nodeId": "140305648864608"}}, "140305648864608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305628020208"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305611322560": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305619696912": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618823072": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288560"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288112"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703808"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704256"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704704"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705152"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705600"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706496"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305694288560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288224": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640703360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140305640703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305606335664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606335664": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140305640705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640706496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644592192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140305611322672": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322784": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644593088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611322896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611323008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611323008": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323120": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644596672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323456": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305611323232"}]}, "140305611323232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597120": {"type": "Function", "typeVars": [".-1.140305644597120"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597120"}], "returnType": {"nodeId": "140305611323680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597120", "variance": "INVARIANT"}, "140305611323680": {"type": "Union", "items": [{"nodeId": "140305611323568"}, {"nodeId": ".-1.140305644597120"}]}, "140305611323568": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597568": {"type": "Function", "typeVars": [".-1.140305644597568"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597568"}], "returnType": {"nodeId": "140305611323904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597568", "variance": "INVARIANT"}, "140305611323904": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611323792"}]}, {"nodeId": ".-1.140305644597568"}]}, "140305611323792": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140305611324016": {"type": "TypeAlias", "target": {"nodeId": "140305627324576"}}, "140305627324576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "140305627325360"}]}, "140305627325360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305711899344"}, {"nodeId": "140305627449712"}]}, "140305711899344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644598464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140305611324128": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140305644011584": {"type": "Function", "typeVars": [".-1.140305644011584"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644011584"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324464"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140305644011584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644011584", "variance": "INVARIANT"}, "140305611324464": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611324352"}]}, {"nodeId": ".-1.140305644011584"}]}, "140305611324352": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305644012032": {"type": "Function", "typeVars": [".-1.140305644012032"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644012032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140305644012032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644012032", "variance": "INVARIANT"}, "140305611324688": {"type": "Union", "items": [{"nodeId": ".-1.140305644012032"}, {"nodeId": "140305611324576"}]}, "140305611324576": {"type": "TypeAlias", "target": {"nodeId": "140305627325136"}}, "140305627325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305698646592"}]}, "140305698646592": {"type": "Tuple", "items": [{"nodeId": "140305711904048"}, {"nodeId": "140305694618592"}, {"nodeId": "140305627449712"}]}, "140305711904048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694618592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140305644012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140305644013376": {"type": "Function", "typeVars": [".-1.140305644013376"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013376"}], "returnType": {"nodeId": "140305611324912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013376", "variance": "INVARIANT"}, "140305611324912": {"type": "Union", "items": [{"nodeId": ".-1.140305644013376"}, {"nodeId": "140305627449712"}]}, "140305644013824": {"type": "Function", "typeVars": [".-1.140305644013824"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013824"}], "returnType": {"nodeId": "140305611324240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013824", "variance": "INVARIANT"}, "140305611324240": {"type": "Union", "items": [{"nodeId": ".-1.140305644013824"}, {"nodeId": "140305627449712"}]}, "140305644014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140305611314160": {"type": "Overloaded", "items": [{"nodeId": "140305644014720"}, {"nodeId": "140305644015168"}]}, "140305644014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611325136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644015168": {"type": "Function", "typeVars": [".-1.140305644015168"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015168"}], "returnType": {"nodeId": "140305611325248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140305644015168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015168", "variance": "INVARIANT"}, "140305611325248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644015168"}]}, "140305644015616": {"type": "Function", "typeVars": [".-1.140305644015616"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015616"}], "returnType": {"nodeId": "140305606328384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644015616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015616", "variance": "INVARIANT"}, "140305606328384": {"type": "Union", "items": [{"nodeId": ".-1.140305644015616"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305644016064": {"type": "Function", "typeVars": [".-1.140305644016064"], "argTypes": [{"nodeId": ".-1.140305644016064"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305644016064"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305644016064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644016064", "variance": "INVARIANT"}, "140305644016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305606328496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606328496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606328608"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606328608": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328720"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140305606328720": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140305606328832": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644018752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628019200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305644019200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606328944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305606328944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606329280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606329280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305606329056"}]}, "140305606329056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305618812992": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020544"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020992"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021440"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021888"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022336"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022784"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023232"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023680"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024128"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024576"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025024"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025472"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025920"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026368"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026816"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140305628020208"}], "isAbstract": false}, "140305644020096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606329392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305606329392": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305606329504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140305606329504": {"type": "Union", "items": [{"nodeId": "140305628020208"}, {"nodeId": "N"}]}, "140305644020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606329728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606329728": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305618822736": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640708960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709856"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640710304"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640708960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140305640709408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140305640709856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606264864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140305606264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305640710304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627447360"}, {"nodeId": "140305606263072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140305606263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305644022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330176"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330176": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330400": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330512": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644024128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330848"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330848": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644024576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331184"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331184": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331520": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644025920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644026368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606331744"}, {"nodeId": "140305606331856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606331744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606331856": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644026816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618813328": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618812992"}], "isAbstract": false}, "140305614574240": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305614574912": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614573904"}], "isAbstract": false}, "140305614575248": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614574240"}], "isAbstract": false}, "140305618814000": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618814336": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618814672": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815008": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815344": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}, {"nodeId": "140305627462480"}], "isAbstract": false}, "140305618815680": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618816352": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618816688": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817024": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817360": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817696": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818368": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818704": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819040": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819376": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819712": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820048": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820384": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820720": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821392": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712096"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305640712096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618821392"}, {"nodeId": "140305606334208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140305606334208": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618821728": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822064": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822400": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305628019536": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717472"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717920"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640390944"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391392"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391840"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305640717472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321216": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640390944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321328": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305618813664"}]}, "140305618813664": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640395648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396096"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396544"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640397440"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606331968"}, {"nodeId": "140305606332080"}, {"nodeId": "140305606332192"}, {"nodeId": "140305606332304"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140305606331968": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332080": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332192": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606332304": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606332416"}, {"nodeId": "140305606332528"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140305606332416": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}]}, "140305606332528": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606332640"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140305606332640": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305640396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640391392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640391840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305628019872": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643937056"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618822736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392736"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393184"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393632"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394080"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394528"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305643937056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305611321440"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611321552"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611028992"}, {"nodeId": "140305618822736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140305611321440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611321552": {"type": "Union", "items": [{"nodeId": "140305611028768"}, {"nodeId": "N"}]}, "140305611028768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305611028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611321776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611321776": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611322000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}}, "types": {}, "definitions": {"annotation_tests": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140305614579280"}}, "square": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "collection", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543282272"}, "name": "square"}, "not_annotated": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724061024"}, "name": "not_annotated"}, "same_annotations": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305551846176"}, "name": "same_annotations"}, "optional": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543281152"}, "name": "optional"}, "literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548177952"}, "name": "literal"}, "Color": {"kind": "ClassDef", "type": {"nodeId": "140305614579616"}}, "enum_literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467552"}, "name": "enum_literal"}, "abstract_set": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169888"}, "name": "abstract_set"}, "mapping": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548175712"}, "name": "mapping"}, "sequence": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711248352"}, "name": "sequence"}, "supports_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711247456"}, "name": "supports_abs"}, "tuple_": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707090208"}, "name": "tuple_"}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305719630128"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305719630464"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140305719630800"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140305719631136"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305719631472"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140305719631808"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140305719632144"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627758656"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140305627758992"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140305627759328"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140305627759664"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140305627760000"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627760336"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140305719632480"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140305719632816"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140305627760672"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140305627761008"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140305719633152"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140305719633488"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140305719633824"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140305719634160"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140305719634496"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140305719634832"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305627761344"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140305719635168"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140305719635504"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305719635840"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140305719636176"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140305719636512"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140305719636848"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140305719637184"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637520"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637856"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140305627761680"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305627762016"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140305627762352"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305627762688"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638192"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638528"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140305627763024"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763360"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763696"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140305627764032"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627764368"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627764704"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140305719638864"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140305627769072"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140305627769408"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140305627769744"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140305627770080"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140305627659424"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140305619075136"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305619075472"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305619075808"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627770416"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627770752"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627771088"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627771424"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140305627659760"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140305627771760"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140305628017184"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140305628017520"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140305628017856"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140305628018192"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140305614569872"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140305628018528"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140305628018864"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576928"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140305614577264"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140305614577936"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140305614578272"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140305614578608"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140305614578944"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140305719629120"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140305719629456"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140305719629792"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639200"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639536"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140305627447360"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140305627447696"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140305627448032"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140305627448368"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140305627448704"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140305627449040"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140305627449376"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140305627449712"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140305627766048"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140305627766384"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140305627450048"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140305627450384"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140305627450720"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140305627451056"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140305627451392"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140305627766720"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140305627767056"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140305627767392"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140305627451728"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140305627452064"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140305627452400"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619540272"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140305627452736"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140305627767728"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140305627453072"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140305627768064"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140305619540608"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140305627453408"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140305627453744"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140305627454080"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140305627768400"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140305627454416"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140305627454752"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140305619540944"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140305627768736"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140305627455088"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140305627455424"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140305627455760"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140305627456096"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140305627456432"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140305627456768"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627457104"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140305627457440"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140305627457776"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140305627458112"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140305627458448"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140305627458784"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140305627459120"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140305627459456"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627459792"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627460128"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140305627460464"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140305627460800"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140305627461136"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627461472"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140305627461808"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140305627462144"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140305627462480"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140305627462816"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140305627463152"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140305627643968"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140305627644304"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627644640"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140305627644976"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140305627645312"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140305627645648"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140305627645984"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305627646320"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140305627646656"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140305627646992"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647328"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647664"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140305627648000"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140305627648336"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627648672"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140305627649008"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649344"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649680"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140305627650016"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627650352"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140305627650688"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140305627651024"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140305627651360"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140305627651696"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140305627652032"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652368"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652704"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627653040"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140305627653376"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140305627653712"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654048"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654384"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654720"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655056"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655392"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655728"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656064"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656400"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656736"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657072"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657408"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140305619080512"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140305619080848"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140305619081184"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140305619081520"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140305619081856"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140305619082192"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140305619082528"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140305619082864"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083200"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083536"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140305619083872"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140305619084208"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084544"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084880"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140305619085216"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140305619085552"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619085888"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140305619086224"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140305619086560"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619086896"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619087232"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140305619087568"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140305619087904"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140305619088240"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088576"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088912"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140305619089248"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140305619089584"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305635974768"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140305619541280"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541616"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541952"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140305635975104"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542288"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542624"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140305635975440"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140305619542960"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627765040"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627765376"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627765712"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627657744"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658080"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658416"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140305627658752"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140305627659088"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954480"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954816"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955152"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618955488"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955824"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618956160"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140305618956496"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140305618956832"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140305618957168"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140305618957504"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140305618957840"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140305618958176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140305618958512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140305618958848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140305618959856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140305635979472"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140305635979808"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140305619543296"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140305627774448"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635967040"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140305635967376"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140305635967712"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140305635968048"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140305635968384"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140305635968720"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969056"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969392"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140305635969728"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970064"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140305635970400"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970736"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971072"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140305635971408"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971744"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635972080"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140305635972416"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140305635972752"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973088"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973424"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140305635973760"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140305635974096"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140305635974432"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305627772096"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627772432"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627772768"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627773104"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305627773440"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627774112"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140305614576256"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576592"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140305619090256"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140305619090592"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140305619090928"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140305619337280"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305619337616"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140305619337952"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140305619338288"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140305619338624"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140305619338960"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339296"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339632"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339968"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140305619340304"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140305619340640"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140305619340976"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341312"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341648"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140305619341984"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140305619342320"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140305619342656"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140305619342992"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140305619343328"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140305619343664"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140305619344000"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140305619344336"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140305619344672"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140305619345008"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619345344"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140305619345680"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140305619346016"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140305619346352"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140305619346688"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140305619347024"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140305619347360"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140305619347696"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348032"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348368"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348704"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140305619349040"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140305619349376"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140305619349712"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140305619350048"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350384"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350720"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140305619351056"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140305619351392"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140305619351728"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140305619352064"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619352400"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140305619352736"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140305619353072"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140305619451968"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140305619452304"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140305619452640"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140305619452976"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140305619453312"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140305619453648"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140305619453984"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140305619454320"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140305619454656"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140305619454992"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140305619455328"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140305619455664"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140305619456000"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140305619456336"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140305619456672"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140305619457008"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140305619457344"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140305619457680"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140305619458016"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140305619458352"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140305619458688"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140305619459024"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140305619459360"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140305619459696"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140305619460032"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140305619460368"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140305619460704"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140305619461040"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140305619461376"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140305619461712"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140305619462048"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140305619462384"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140305619462720"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140305619463056"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140305619463392"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619463728"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140305619464064"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140305619464400"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140305619464736"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140305619465072"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140305619465408"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140305619465744"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140305619466080"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140305619466416"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140305619466752"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140305619467088"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140305619467424"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140305619467760"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140305619533888"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534224"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534560"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140305619534896"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140305619535232"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140305619535568"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140305619535904"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140305619536240"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140305619536576"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140305619536912"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140305619537248"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140305619537584"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140305619537920"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140305619538256"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140305619538592"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140305619538928"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140305619539264"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140305619539600"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140305619539936"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140305628004752"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005088"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005424"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005760"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006096"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006432"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140305628006768"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140305628007104"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140305628007440"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140305628007776"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628008112"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140305628008448"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140305628008784"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614575584"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140305619080176"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823408"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823744"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614570208"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618824080"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140305618824416"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140305618824752"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140305618825088"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825424"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825760"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140305618826096"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140305618826432"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140305614570544"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140305618826768"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140305618827104"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140305618827440"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140305618827776"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140305618828112"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140305618828448"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140305618828784"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140305618944064"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140305618944400"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140305618944736"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140305618945072"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140305618945408"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140305618945744"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140305618946080"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140305618946416"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140305618946752"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140305618947088"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140305618947424"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140305618947760"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140305618948096"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140305618948432"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140305618948768"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140305618949104"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140305618949440"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140305618949776"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140305618950112"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140305618950448"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140305618950784"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140305618951120"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140305618951456"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140305618951792"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140305618952128"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618952464"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140305618952800"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140305618953136"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140305618953472"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618953808"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618954144"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140305614570880"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140305628004416"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140305635980144"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140305635980480"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140305635980816"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981152"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981488"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140305635981824"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140305635982160"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140305635982496"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140305619543632"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619543968"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140305635982832"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544304"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544640"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140305619544976"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140305619545312"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140305619545648"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140305619545984"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140305619546320"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140305619546656"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140305628013152"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628013824"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014160"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014496"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014832"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015168"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015504"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628015840"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140305628016176"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140305628016512"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140305628016848"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140305628012480"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548000"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548336"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619548672"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628012816"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619549008"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549344"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549680"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614569536"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140305635978800"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140305635979136"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076144"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076480"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140305614571216"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140305619076816"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140305619077152"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305619077488"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305619077824"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078160"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078496"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614571552"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140305619078832"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079168"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079504"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305614571888"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614572224"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614572560"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305614572896"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614573232"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079840"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140305635975776"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976112"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140305635976448"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976784"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140305635977120"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305628009792"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140305628010464"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140305628010800"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140305628011136"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140305614575920"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140305628011472"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140305628011808"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619546992"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619547664"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140305628012144"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140305635977456"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140305635977792"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140305635978128"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140305635978464"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140305619089920"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140305628009456"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140305618812992"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140305618813328"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140305614573568"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614573904"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574240"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140305614574576"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574912"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614575248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140305618823072"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140305618822736"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140305618814000"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814336"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814672"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140305618815008"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140305618815344"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140305618815680"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816016"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816352"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816688"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817024"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817360"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817696"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818032"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818368"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818704"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819040"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819376"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819712"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820048"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820384"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820720"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140305618821056"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821392"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821728"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822064"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822400"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140305628019536"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140305628019872"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140305618813664"}}}}, "names": {"annotation_tests": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "Enum", "kind": "ImportedType", "fullname": "enum.Enum"}, {"name": "datetime", "kind": "Module", "fullname": "datetime"}, {"name": "XXX", "kind": "Other"}, {"name": "A", "kind": "LocalType"}, {"name": "square", "kind": "Other"}, {"name": "not_annotated", "kind": "Other"}, {"name": "same_annotations", "kind": "Other"}, {"name": "optional", "kind": "Other"}, {"name": "literal", "kind": "Other"}, {"name": "Color", "kind": "LocalType"}, {"name": "enum_literal", "kind": "Other"}, {"name": "abstract_set", "kind": "Other"}, {"name": "mapping", "kind": "Other"}, {"name": "sequence", "kind": "Other"}, {"name": "supports_abs", "kind": "Other"}, {"name": "tuple_", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/boruvka.json b/usvm-python/utbot-python-types/src/test/resources/boruvka.json deleted file mode 100644 index 03033a34d8..0000000000 --- a/usvm-python/utbot-python-types/src/test/resources/boruvka.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"139821942966640": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981776"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249024"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249472"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249920"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250368"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250816"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984251264"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984350272"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351168"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351616"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352064"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352512"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352960"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353408"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353856"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354304"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354752"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355200"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355648"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356096"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356544"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356992"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357440"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357888"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358336"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358784"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359232"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359680"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360128"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360576"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361024"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361472"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361920"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362368"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362816"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363264"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363712"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364160"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364608"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365056"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365504"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365952"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984464960"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465408"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465856"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466304"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466752"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981888"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468544"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470784"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472128"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472576"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473024"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473472"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984474368"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821904981776": {"type": "Overloaded", "items": [{"nodeId": "139821984248128"}, {"nodeId": "139821905087392"}]}, "139821984248128": {"type": "Function", "typeVars": [".-1.139821984248128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821984248128"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "139822017680704": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475424"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779120"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850537184"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996860672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996859776"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862016"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863360"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863808"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864256"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864704"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865152"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865600"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866496"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005485632"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005486080"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "139821921475424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "139821942968320": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225376"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980196800"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197248"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197696"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198144"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198592"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225600"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225936"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900226720"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980201728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202624"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203072"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203520"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203968"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980204416"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336192"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336640"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227056"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "isAbstract": false}, "139821900225376": {"type": "Overloaded", "items": [{"nodeId": "139821980193664"}, {"nodeId": "139821980194112"}, {"nodeId": "139821980194560"}, {"nodeId": "139821980195008"}, {"nodeId": "139821980195456"}, {"nodeId": "139821980195904"}, {"nodeId": "139821980196352"}]}, "139821980193664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942968320": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, ".2.139821942968320": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, "139821980194112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821980194560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926231600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000881728"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882176"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "keys"]}, "139822000881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926231600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231600": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "INVARIANT"}, ".2.139821926231600": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "COVARIANT"}, "139822017684736": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896029280"}}], "typeVars": [{"nodeId": ".1.139822017684736"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821896029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017684736"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017684736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684736", "variance": "COVARIANT"}, "139822017685072": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896032192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001359552"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139822017685072"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685072"}]}], "protocolMembers": ["__iter__", "__next__"]}, "139821896032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": ".1.139822017685072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685072", "variance": "COVARIANT"}, "139822001359552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "139822000882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}, {"nodeId": ".1.139821926231600"}], "returnType": {"nodeId": ".2.139821926231600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980195008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821980195456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900226160": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139821980195904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226384"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821900226384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, "139821980196352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942967984": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223472"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065280"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065728"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066176"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066624"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067072"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067520"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980068416"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223584"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980069760"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980070208"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224816"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224928"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980072448"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225152"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980188736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189184"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189632"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190080"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190976"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192768"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980193216"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967984"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821942967984"}]}], "isAbstract": false}, "139821900223472": {"type": "Overloaded", "items": [{"nodeId": "139821980064384"}, {"nodeId": "139821980064832"}]}, "139821980064384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942967984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967984", "variance": "INVARIANT"}, "139821980064832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980065280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980065728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821925480288": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900896224"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821900896224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964960": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975616"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989201280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526880"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850527776"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526656"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989204416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989205760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850525760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989206656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904976736"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989215616"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983989824"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990720"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991168"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991616"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992064"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992512"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992960"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993408"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993856"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994304"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994752"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995200"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995648"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996096"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996544"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996992"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997440"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997888"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998336"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998784"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999680"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000128"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000576"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001024"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001472"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001920"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984002368"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975616": {"type": "Overloaded", "items": [{"nodeId": "139822005497728"}, {"nodeId": "139821989200832"}]}, "139822005497728": {"type": "Function", "typeVars": [".-1.139822005497728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977408"}], "returnType": {"nodeId": ".-1.139822005497728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904977408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821904977296"}, {"nodeId": "139821925466512"}, {"nodeId": "139821925480288"}, {"nodeId": "139821926230928"}]}, "139821904977296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925918064": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925917952"}]}, "139821925473568": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904983008"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476160"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476608"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477056"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984478400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479296"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479744"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984480640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645184"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645632"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646080"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646528"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646976"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647424"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647872"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648320"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648768"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649216"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649664"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650112"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650560"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651008"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652352"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652800"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653248"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653696"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654144"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655488"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655936"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656384"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656832"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657280"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657728"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658176"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658624"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786528"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984659968"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984660416"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905281536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984727552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729344"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729792"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730240"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732480"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821925471552"}], "isAbstract": false}, "139821904983008": {"type": "Overloaded", "items": [{"nodeId": "139821905087840"}, {"nodeId": "139821984475264"}, {"nodeId": "139821984475712"}]}, "139821905087840": {"type": "Function", "typeVars": [".-1.139821905087840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821905282768"}], "returnType": {"nodeId": ".-1.139821905087840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821905282768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821925467520"}, {"nodeId": "139821905282656"}]}, "139821925467520": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895937024"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__bytes__"]}, "139821895937024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467520"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087840", "variance": "INVARIANT"}, "139821984475264": {"type": "Function", "typeVars": [".-1.139821984475264"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821984475264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.139821984475264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475264", "variance": "INVARIANT"}, "139821984475712": {"type": "Function", "typeVars": [".-1.139821984475712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821984475712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475712", "variance": "INVARIANT"}, "139821984476160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984476608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984477056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905282992"}, {"nodeId": "139821905283104"}, {"nodeId": "139821905283216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905282992": {"type": "Union", "items": [{"nodeId": "139821905282880"}, {"nodeId": "139821925480288"}]}, "139821905282880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283104": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283216": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984477504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984477952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905283552"}, {"nodeId": "139821905283664"}, {"nodeId": "139821905283776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905283552": {"type": "Union", "items": [{"nodeId": "139821905283328"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905283440"}]}]}, "139821905283328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942967648": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923648"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924544"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979925888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980057664"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058112"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058560"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980059008"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222688"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060800"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061696"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980062144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967648"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139821942967648"}]}], "isAbstract": false}, "139821979923648": {"type": "Function", "typeVars": [".-1.139821979923648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": ".-1.139821979923648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.139821942967648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967648", "variance": "COVARIANT"}, ".-1.139821979923648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979923648", "variance": "INVARIANT"}, "139821979924096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979924544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681040": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979914688"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220560"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220672"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221456"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221568"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221680"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221792"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979920512"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821979914688": {"type": "Function", "typeVars": [".-1.139821979914688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821979914688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.139821979914688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979914688", "variance": "INVARIANT"}, "139821900220560": {"type": "Overloaded", "items": [{"nodeId": "139821979915136"}, {"nodeId": "139821979915584"}]}, "139821979915136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900220672": {"type": "Overloaded", "items": [{"nodeId": "139821979916032"}, {"nodeId": "139821979916480"}]}, "139821979916032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979916480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221456": {"type": "Overloaded", "items": [{"nodeId": "139821979916928"}, {"nodeId": "139821979917376"}]}, "139821979916928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221568": {"type": "Overloaded", "items": [{"nodeId": "139821979917824"}, {"nodeId": "139821979918272"}]}, "139821979917824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221680": {"type": "Overloaded", "items": [{"nodeId": "139821979918720"}, {"nodeId": "139821979919168"}]}, "139821979918720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979919168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221792": {"type": "Overloaded", "items": [{"nodeId": "139821979919616"}, {"nodeId": "139821979920064"}]}, "139821979919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821900222240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900222240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821900222016": {"type": "Overloaded", "items": [{"nodeId": "139821979924992"}, {"nodeId": "139821979925440"}]}, "139821979924992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979925440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821942967312": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845919584"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920480"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923200"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821845919584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900221904": {"type": "Overloaded", "items": [{"nodeId": "139821979922304"}, {"nodeId": "139821979922752"}]}, "139821979922304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821979922752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821979923200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821900223360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223360": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821979925888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980057664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900222688": {"type": "Overloaded", "items": [{"nodeId": "139821980059456"}, {"nodeId": "139821980059904"}]}, "139821980059456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059904": {"type": "Function", "typeVars": [".-1.139821980059904"], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".-1.139821980059904"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821900223696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980059904": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980059904", "variance": "INVARIANT"}, "139821900223696": {"type": "Union", "items": [{"nodeId": ".1.139821942967648"}, {"nodeId": ".-1.139821980059904"}]}, "139821980060352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980060800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980061248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980061696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980062144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925751424": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016096"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016544"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972210624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972211072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212416"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892016096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964288": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532032"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531360"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531136"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530912"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530688"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530464"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530240"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904972928"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005497280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005496832"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498176"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498624"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499072"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850529792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499968"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005500416"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850532032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745376": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801024"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802368"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802816"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803264"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803712"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804160"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804608"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805504"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "isAbstract": false}, "139821971800128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925745376": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "INVARIANT"}, ".2.139821925745376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "COVARIANT"}, "139821971800576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": ".1.139821925745376"}], "returnType": {"nodeId": ".2.139821925745376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971801024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971802368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971802816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469872": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695744"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696192"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697536"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698432"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698880"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699328"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001700224"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469872"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925469872"}]}], "isAbstract": false}, "139822001695296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469872"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469872": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469872", "variance": "COVARIANT"}, "139822017689776": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896347520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951344"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996575872"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576320"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576768"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996577216"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689776"}]}], "isAbstract": true}, "139821896347520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": ".2.139822017689776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689776": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "INVARIANT"}, ".2.139822017689776": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "COVARIANT"}, "139821921951344": {"type": "Overloaded", "items": [{"nodeId": "139821996574976"}, {"nodeId": "139821996575424"}]}, "139821996574976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": "139821921956496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921956496": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": "N"}]}, "139821996575424": {"type": "Function", "typeVars": [".-1.139821996575424"], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}, {"nodeId": "139821921956608"}], "returnType": {"nodeId": "139821921956720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956608": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, ".-1.139821996575424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996575424", "variance": "INVARIANT"}, "139821921956720": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, "139821996575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469536": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690816"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691264"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692608"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693056"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693504"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693952"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694400"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694848"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821925537760"}]}], "isAbstract": false}, "139822001689920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469536": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, ".2.139821925469536": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, "139822001690368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921953248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925474240": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980338880"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339328"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339776"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340224"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340672"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341120"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341568"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342016"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342464"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342912"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343360"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343808"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344256"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344704"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345152"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346048"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347392"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348288"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348736"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349632"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350080"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350528"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350976"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351424"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351872"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980467264"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474240"}], "bases": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139821925474240"}]}], "isAbstract": false}, "139821900227504": {"type": "Overloaded", "items": [{"nodeId": "139821980337984"}, {"nodeId": "139821980338432"}]}, "139821980337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925474240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474240", "variance": "INVARIANT"}, "139821980338432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980338880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980339328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980339776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980341120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980341568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980342016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344704": {"type": "Function", "typeVars": [".-1.139821980344704"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980344704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229632"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980344704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980344704", "variance": "INVARIANT"}, "139821900229632": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980344704"}]}, "139821980345152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980345600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980346496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017689104": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896240704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549184"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549632"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550080"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550976"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552320"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552768"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001684544"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.139822017689104"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689104"}]}], "isAbstract": true}, "139821896240704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689104": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689104", "variance": "COVARIANT"}, "139822001549184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001549632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551872": {"type": "Function", "typeVars": [".-1.139822001551872"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001551872"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001551872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001551872", "variance": "INVARIANT"}, "139821921952128": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001551872"}]}, "139822001552320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001552768": {"type": "Function", "typeVars": [".-1.139822001552768"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001552768"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001552768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001552768", "variance": "INVARIANT"}, "139821921952352": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001552768"}]}, "139822001684544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139822017688096": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896169088"}}], "typeVars": [{"nodeId": ".1.139822017688096"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688096"}]}, {"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017688096"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "139821896169088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688096"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017688096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688096", "variance": "COVARIANT"}, "139822017687760": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896166400"}}], "typeVars": [{"nodeId": ".1.139822017687760"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__"]}, "139821896166400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017687760"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017687760": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687760", "variance": "COVARIANT"}, "139821980347392": {"type": "Function", "typeVars": [".-1.139821980347392"], "argTypes": [{"nodeId": ".-1.139821980347392"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980347392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347392", "variance": "INVARIANT"}, "139821980347840": {"type": "Function", "typeVars": [".-1.139821980347840"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980347840"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347840", "variance": "INVARIANT"}, "139821900229744": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980347840"}]}, "139821980348288": {"type": "Function", "typeVars": [".-1.139821980348288"], "argTypes": [{"nodeId": ".-1.139821980348288"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980348288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980348288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980348288", "variance": "INVARIANT"}, "139821980348736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821900229856"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900229856": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": "N"}]}, "139821980349184": {"type": "Function", "typeVars": [".-1.139821980349184"], "argTypes": [{"nodeId": ".-1.139821980349184"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980349184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349184", "variance": "INVARIANT"}, "139821980349632": {"type": "Function", "typeVars": [".-1.139821980349632"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980349632"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229968"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349632", "variance": "INVARIANT"}, "139821900229968": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980349632"}]}, "139821980350080": {"type": "Function", "typeVars": [".-1.139821980350080"], "argTypes": [{"nodeId": ".-1.139821980350080"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980350080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980350080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980350080", "variance": "INVARIANT"}, "139821980350528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822017689440": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896242272"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896249888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001685888"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686336"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686784"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687232"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687680"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688128"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688576"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.139822017689440"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "isAbstract": true}, "139821896242272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.139822017689440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689440", "variance": "INVARIANT"}, "139821896249888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001685888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".1.139822017689440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001687232": {"type": "Function", "typeVars": [".-1.139822001687232"], "argTypes": [{"nodeId": ".-1.139822001687232"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001687232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687232": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687232", "variance": "INVARIANT"}, "139822001687680": {"type": "Function", "typeVars": [".-1.139822001687680"], "argTypes": [{"nodeId": ".-1.139822001687680"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001687680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687680": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687680", "variance": "INVARIANT"}, "139822001688128": {"type": "Function", "typeVars": [".-1.139822001688128"], "argTypes": [{"nodeId": ".-1.139822001688128"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001688128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688128", "variance": "INVARIANT"}, "139822001688576": {"type": "Function", "typeVars": [".-1.139822001688576"], "argTypes": [{"nodeId": ".-1.139822001688576"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001688576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688576", "variance": "INVARIANT"}, "139821921953248": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001690816": {"type": "Function", "typeVars": [".-1.139822001690816"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001690816"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001690816"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001690816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001690816", "variance": "INVARIANT"}, "139822001691264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001691712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953472": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953696": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692608": {"type": "Function", "typeVars": [".-1.139822001692608"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001692608"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954032"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001692608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001692608", "variance": "INVARIANT"}, "139821921954032": {"type": "Union", "items": [{"nodeId": "139821921953920"}, {"nodeId": ".-1.139822001692608"}]}, "139821921953920": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693056": {"type": "Function", "typeVars": [".-1.139822001693056"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693056"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693056", "variance": "INVARIANT"}, "139821921954368": {"type": "Union", "items": [{"nodeId": "139821921954256"}, {"nodeId": ".-1.139822001693056"}]}, "139821921954256": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921954704": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693952": {"type": "Function", "typeVars": [".-1.139822001693952"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693952"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001693952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693952", "variance": "INVARIANT"}, "139822001694400": {"type": "Function", "typeVars": [".-1.139822001694400"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694400"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955040"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694400", "variance": "INVARIANT"}, "139821921955040": {"type": "Union", "items": [{"nodeId": "139821921954928"}, {"nodeId": ".-1.139822001694400"}]}, "139821921954928": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001694848": {"type": "Function", "typeVars": [".-1.139822001694848"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694848"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694848", "variance": "INVARIANT"}, "139821921955376": {"type": "Union", "items": [{"nodeId": "139821921955264"}, {"nodeId": ".-1.139822001694848"}]}, "139821921955264": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821925469200": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689472"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "139821925468192"}], "isAbstract": false}, "139822001689024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139822001689472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925468192": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027264"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__len__"]}, "139821896027264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925537760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821996576320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470208": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996572736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573184"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573632"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996574080"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925470208"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017688096", "args": [{"nodeId": ".1.139821925470208"}]}], "isAbstract": false}, "139821996572736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925470208": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470208", "variance": "COVARIANT"}, "139821996573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996573632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001695744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001696192": {"type": "Function", "typeVars": [".-1.139822001696192"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001696192"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001696192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001696192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001696192", "variance": "INVARIANT"}, "139822001696640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001697088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697984": {"type": "Function", "typeVars": [".-1.139822001697984"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001697984"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001697984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001697984", "variance": "INVARIANT"}, "139821921955712": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001697984"}]}, "139822001698432": {"type": "Function", "typeVars": [".-1.139822001698432"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001698432"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001698432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001698432", "variance": "INVARIANT"}, "139821921955824": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001698432"}]}, "139822001698880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001699328": {"type": "Function", "typeVars": [".-1.139822001699328"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699328"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001699328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699328", "variance": "INVARIANT"}, "139822001699776": {"type": "Function", "typeVars": [".-1.139822001699776"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699776"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699776", "variance": "INVARIANT"}, "139821921956048": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001699776"}]}, "139822001700224": {"type": "Function", "typeVars": [".-1.139822001700224"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001700224"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001700224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001700224", "variance": "INVARIANT"}, "139821921956160": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001700224"}]}, "139821971803264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971803712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971804160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821971804608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971805056": {"type": "Function", "typeVars": [".-1.139821971805056", ".-2.139821971805056"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805056"}, {"nodeId": ".-2.139821971805056"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822208"}, {"nodeId": "139821912822320"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, ".-2.139821971805056": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, "139821912822208": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805056"}]}, "139821912822320": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805056"}]}, "139821971805504": {"type": "Function", "typeVars": [".-1.139821971805504", ".-2.139821971805504"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805504"}, {"nodeId": ".-2.139821971805504"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822432"}, {"nodeId": "139821912822544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, ".-2.139821971805504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, "139821912822432": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805504"}]}, "139821912822544": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805504"}]}, "139821850531136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821904975168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904975168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821850530016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904779568": {"type": "Overloaded", "items": [{"nodeId": "139822005495488"}, {"nodeId": "139822005495936"}]}, "139822005495488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005495936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "139821904972928": {"type": "Overloaded", "items": [{"nodeId": "139822005496384"}, {"nodeId": "139822005490112"}]}, "139822005496384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005490112": {"type": "Function", "typeVars": [".-1.139822005490112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005490112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.139822005490112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490112", "variance": "INVARIANT"}, "139822005497280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139822005496832": {"type": "Function", "typeVars": [".-1.139822005496832"], "argTypes": [{"nodeId": ".-1.139822005496832"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139822005496832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005496832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005496832", "variance": "INVARIANT"}, "139822005498176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005498624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005499072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850529792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "139822005499968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925752096": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892019232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972213760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972214208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892019232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972213760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972214208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822005500416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821892016544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892016768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972210624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "139821972211072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972212416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017688432": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921949888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540224"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541120"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541568"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001542016"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139822017688432"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017688432"}]}], "isAbstract": true}, "139821921949888": {"type": "Overloaded", "items": [{"nodeId": "139822001539328"}, {"nodeId": "139822001539776"}]}, "139822001539328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017688432": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688432", "variance": "COVARIANT"}, "139822001539776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001540224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "139822001540672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001541120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001541568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001542016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822017685408": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896034432"}}], "typeVars": [{"nodeId": ".1.139822017685408"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685408"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "139821896034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017685408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017685408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685408", "variance": "COVARIANT"}, "139821905283440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283664": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283776": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984478400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984479296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284000"}, {"nodeId": "139821905284112"}, {"nodeId": "139821905284224"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284000": {"type": "Union", "items": [{"nodeId": "139821905283888"}, {"nodeId": "139821925480288"}]}, "139821905283888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284112": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284224": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284336"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905284336": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984480640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284560"}, {"nodeId": "139821905284672"}, {"nodeId": "139821905284784"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284560": {"type": "Union", "items": [{"nodeId": "139821905284448"}, {"nodeId": "139821925480288"}]}, "139821905284448": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284672": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284784": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905284896"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905284896": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984649216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905285008"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905285008": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821925473904": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905282544"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984734720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735616"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736064"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736960"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737408"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737856"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984738752"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739200"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739648"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740544"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740992"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741440"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741888"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742336"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742784"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984874560"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875008"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875456"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875904"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876352"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876800"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877696"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878144"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878592"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879040"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882624"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883072"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883520"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984887104"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845732192"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845731072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888448"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888896"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905289376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905290160"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979795968"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979796416"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905097920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797312"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797760"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798208"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798656"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799104"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800448"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800896"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801344"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801792"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979802240"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925471552"}], "isAbstract": false}, "139821905282544": {"type": "Overloaded", "items": [{"nodeId": "139821984733376"}, {"nodeId": "139821984733824"}, {"nodeId": "139821984734272"}]}, "139821984733376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984733824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905290384": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821905290272"}]}, "139821905290272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984734272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "139821984734720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984735168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984735616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984736064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290608"}, {"nodeId": "139821905290720"}, {"nodeId": "139821905290832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905290608": {"type": "Union", "items": [{"nodeId": "139821905290496"}, {"nodeId": "139821925480288"}]}, "139821905290496": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905290720": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905290832": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984736512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984736960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984737408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291168"}, {"nodeId": "139821905291280"}, {"nodeId": "139821905291392"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291168": {"type": "Union", "items": [{"nodeId": "139821905290944"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905291056"}]}]}, "139821905290944": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291056": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291280": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291392": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984737856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984738752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984739200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291616"}, {"nodeId": "139821905291728"}, {"nodeId": "139821905291840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291616": {"type": "Union", "items": [{"nodeId": "139821905291504"}, {"nodeId": "139821925480288"}]}, "139821905291504": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291728": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291840": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984739648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291952"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905291952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984740544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292176"}, {"nodeId": "139821905292288"}, {"nodeId": "139821905292400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905292176": {"type": "Union", "items": [{"nodeId": "139821905292064"}, {"nodeId": "139821925480288"}]}, "139821905292064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905292288": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905292400": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984740992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821984741440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984741888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984874560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984876352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905292512"}]}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292512": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984876800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905292624"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905292624": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984877248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984877696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292848"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905292848": {"type": "Union", "items": [{"nodeId": "139821905292736"}, {"nodeId": "N"}]}, "139821905292736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984878144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292960"}], "returnType": {"nodeId": "139821905293184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292960": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293184": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984878592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984879040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293296"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293408"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293408": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293520"}, {"nodeId": "139821905293632"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293632": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293856"}, {"nodeId": "139821905293968"}, {"nodeId": "139821905294080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293856": {"type": "Union", "items": [{"nodeId": "139821905293744"}, {"nodeId": "139821925480288"}]}, "139821905293744": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293968": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294080": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294304"}, {"nodeId": "139821905294416"}, {"nodeId": "139821905294528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905294304": {"type": "Union", "items": [{"nodeId": "139821905294192"}, {"nodeId": "139821925480288"}]}, "139821905294192": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294416": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294528": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905294640"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905294640": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294752"}], "returnType": {"nodeId": "139821905294976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905294752": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294976": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295200"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295200": {"type": "Union", "items": [{"nodeId": "139821905295088"}, {"nodeId": "N"}]}, "139821905295088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295424"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905295424": {"type": "Union", "items": [{"nodeId": "139821905295312"}, {"nodeId": "N"}]}, "139821905295312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295648"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295648": {"type": "Union", "items": [{"nodeId": "139821905295536"}, {"nodeId": "N"}]}, "139821905295536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295984"}, {"nodeId": "139821905296096"}, {"nodeId": "139821905296208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905295984": {"type": "Union", "items": [{"nodeId": "139821905295760"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905295872"}]}]}, "139821905295760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905295872": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905296208": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296432"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905296432": {"type": "Union", "items": [{"nodeId": "139821905296320"}, {"nodeId": "N"}]}, "139821905296320": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296656"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905296656": {"type": "Union", "items": [{"nodeId": "139821905296544"}, {"nodeId": "N"}]}, "139821905296544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821845732192": {"type": "Function", "typeVars": [".-1.139821845732192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821845732192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821845732192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821845732192", "variance": "INVARIANT"}, "139821845731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905296768"}, {"nodeId": "139821905296880"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905296768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905289376": {"type": "Overloaded", "items": [{"nodeId": "139821984889344"}, {"nodeId": "139821984889792"}]}, "139821984889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905290160": {"type": "Overloaded", "items": [{"nodeId": "139821984890240"}, {"nodeId": "139821979795520"}]}, "139821984890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}, {"nodeId": "139821905297216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821905297216": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925473568"}]}, "139821979795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218432": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821979796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218544"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905097920": {"type": "Function", "typeVars": [".-1.139821905097920"], "argTypes": [{"nodeId": ".-1.139821905097920"}, {"nodeId": "139821900218656"}], "returnType": {"nodeId": ".-1.139821905097920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821905097920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905097920", "variance": "INVARIANT"}, "139821900218656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979798208": {"type": "Function", "typeVars": [".-1.139821979798208"], "argTypes": [{"nodeId": ".-1.139821979798208"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821979798208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821979798208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979798208", "variance": "INVARIANT"}, "139821979798656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979799104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218992"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218992": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821900218880"}]}, "139821900218880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979799552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219104"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219104": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979800896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219216"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219328"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219440"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979802240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017688768": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896238688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950336"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950896"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951232"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001545600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546048"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546496"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546944"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547392"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547840"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001548288"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.139822017688768"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688768"}]}], "isAbstract": true}, "139821896238688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.139822017688768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688768", "variance": "INVARIANT"}, "139821921950336": {"type": "Overloaded", "items": [{"nodeId": "139822001542912"}, {"nodeId": "139822001543360"}]}, "139822001542912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001543360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921950896": {"type": "Overloaded", "items": [{"nodeId": "139822001543808"}, {"nodeId": "139822001544256"}]}, "139822001543808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822001544256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821921951232": {"type": "Overloaded", "items": [{"nodeId": "139822001544704"}, {"nodeId": "139822001545152"}]}, "139822001544704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001546048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001546496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "139822001546944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001547392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "139822001547840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001548288": {"type": "Function", "typeVars": [".-1.139822001548288"], "argTypes": [{"nodeId": ".-1.139822001548288"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": ".-1.139822001548288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001548288": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001548288", "variance": "INVARIANT"}, "139821925471552": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": true}, "139821984649664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285232"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905285232": {"type": "Union", "items": [{"nodeId": "139821905285120"}, {"nodeId": "N"}]}, "139821905285120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285344"}], "returnType": {"nodeId": "139821905285568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285344": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285568": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285680"}, {"nodeId": "139821905285792"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905285680": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285792": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285904"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285904": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286016"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905286016": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286240"}, {"nodeId": "139821905286352"}, {"nodeId": "139821905286464"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286240": {"type": "Union", "items": [{"nodeId": "139821905286128"}, {"nodeId": "139821925480288"}]}, "139821905286128": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286464": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286688"}, {"nodeId": "139821905286800"}, {"nodeId": "139821905286912"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286688": {"type": "Union", "items": [{"nodeId": "139821905286576"}, {"nodeId": "139821925480288"}]}, "139821905286576": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286800": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286912": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905287024"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905287024": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287136"}], "returnType": {"nodeId": "139821905287360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905287136": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905287360": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287584"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905287584": {"type": "Union", "items": [{"nodeId": "139821905287472"}, {"nodeId": "N"}]}, "139821905287472": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905287808": {"type": "Union", "items": [{"nodeId": "139821905287696"}, {"nodeId": "N"}]}, "139821905287696": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288032"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905288032": {"type": "Union", "items": [{"nodeId": "139821905287920"}, {"nodeId": "N"}]}, "139821905287920": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288368"}, {"nodeId": "139821905288480"}, {"nodeId": "139821905288592"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905288368": {"type": "Union", "items": [{"nodeId": "139821905288144"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905288256"}]}]}, "139821905288144": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288256": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288480": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905288592": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288816"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905288816": {"type": "Union", "items": [{"nodeId": "139821905288704"}, {"nodeId": "N"}]}, "139821905288704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289040"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905289040": {"type": "Union", "items": [{"nodeId": "139821905288928"}, {"nodeId": "N"}]}, "139821905288928": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984658176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984658624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850786528": {"type": "Function", "typeVars": [".-1.139821850786528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850786528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850786528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850786528", "variance": "INVARIANT"}, "139821850786080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905289152"}, {"nodeId": "139821905289264"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905289264": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984659968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984660416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281536": {"type": "Overloaded", "items": [{"nodeId": "139821984660864"}, {"nodeId": "139821984727104"}]}, "139821984660864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289488"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984728000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984729344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289824"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289824": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821905289712"}]}, "139821905289712": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984729792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821905290048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905290048": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}]}, "139821925917952": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821925917840": {"type": "Union", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966976"}, {"nodeId": "139821926224880", "args": [{"nodeId": "A"}]}, {"nodeId": "139821929644096"}, {"nodeId": "139821938453728"}, {"nodeId": "139821925758144"}]}, "139821942966976": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740480"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740928"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845741152"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905472"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905696"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905920"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906144"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906368"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906592"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906816"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907040"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979809408"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905296992"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979810752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979811200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979910208"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905297104"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979911552"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912448"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912896"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913344"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913792"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821845740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845740928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845741152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219552": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219664": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219776": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821845906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821900220000": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979808512": {"type": "Function", "typeVars": [".-1.139821979808512"], "argTypes": [{"nodeId": ".-1.139821979808512"}], "returnType": {"nodeId": ".-1.139821979808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821979808512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979808512", "variance": "INVARIANT"}, "139821979808960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220112"}, {"nodeId": "139821900220224"}, {"nodeId": "139821900220336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821900220112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821900220224": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942972352": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942644784"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536528"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942639632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976054784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055232"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055680"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942644784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821925536528": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942639632": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750080": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097728"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542464"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941344"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941792"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891942016"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}, {"nodeId": "139821912830160"}, {"nodeId": "139821925750416"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "139821912830160": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750416": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943136"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943808"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891944032"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010048"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010272"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010496"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010720"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542912"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972102656"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830272": {"type": "Union", "items": [{"nodeId": "139821925750416"}, {"nodeId": "N"}]}, "139821891943808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891944032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745040": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896883712"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885056"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896884608"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885280"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885504"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885728"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885952"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886176"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886400"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886624"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886848"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887072"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887296"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887520"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887744"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887968"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896888640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971434496"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971436736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971438528"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896883712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896884608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896888640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971434496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821912821984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912821984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821912821760"}]}, "139821912821760": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971436736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "139821971438528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "139821892010048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830720": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821892010720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542912": {"type": "Union", "items": [{"nodeId": "139821938744384"}, {"nodeId": "N"}]}, "139821938744384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821972102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821891941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891942016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821976054784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821976055232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139821900714656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900714656": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821976055680": {"type": "Function", "typeVars": [".-1.139821976055680"], "argTypes": [{"nodeId": ".-1.139821976055680"}, {"nodeId": "139821900714768"}], "returnType": {"nodeId": ".-1.139821976055680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976055680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976055680", "variance": "INVARIANT"}, "139821900714768": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821900220336": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821979809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900220448"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "139821900220448": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}]}, "139821905296992": {"type": "Overloaded", "items": [{"nodeId": "139821979809856"}, {"nodeId": "139821979810304"}]}, "139821979809856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979811200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979910208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905297104": {"type": "Overloaded", "items": [{"nodeId": "139821979910656"}, {"nodeId": "139821979911104"}]}, "139821979910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}, {"nodeId": "139821900220784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821900220784": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979911104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979911552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221344"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "139821900221344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821979912448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979912896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221232"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821900221232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821926224880": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858472672"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858474464"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967804896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805344"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805792"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807136"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807584"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808032"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808480"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808928"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967809824"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810720"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811168"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811616"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812064"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812512"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967813856"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904775200"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816096"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816544"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816992"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817888"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967818336"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967884576"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885024"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886368"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886816"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.139821926224880"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821926224880"}]}], "isAbstract": false}, "139821858472672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904773632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926224880": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942966640"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926224880", "variance": "INVARIANT"}, "139821942965296": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905087168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003264"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003712"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984004160"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850717632"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850717856"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850718080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088128"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088576"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089024"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089920"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090368"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090816"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984091264"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904977184"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984092608"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093056"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093504"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984095296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904982112"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097088"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097536"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097984"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984098432"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981104"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984099776"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100224"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100672"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101120"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101568"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102016"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102464"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102912"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103360"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103808"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984235584"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984236032"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821905087168": {"type": "Function", "typeVars": [".-1.139821905087168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904980544"}], "returnType": {"nodeId": ".-1.139821905087168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904980544": {"type": "Union", "items": [{"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904980432"}]}, "139821925466848": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895934336"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__float__"]}, "139821895934336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466848"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904980432": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087168", "variance": "INVARIANT"}, "139821984003264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821984003712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984004160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850717632": {"type": "Function", "typeVars": [".-1.139821850717632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850717632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850717632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850717632", "variance": "INVARIANT"}, "139821850717856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984091264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904980992": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904977184": {"type": "Overloaded", "items": [{"nodeId": "139821984091712"}, {"nodeId": "139821984092160"}]}, "139821984091712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984095296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981440": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904982112": {"type": "Overloaded", "items": [{"nodeId": "139821984095744"}, {"nodeId": "139821984096192"}, {"nodeId": "139821984096640"}]}, "139821984095744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904981664"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904981664": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821921471392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821984096192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904984912"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904984912": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821921473520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821942965632": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904984128"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850772864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850773760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239168"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239616"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240064"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240960"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241408"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241856"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242304"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242752"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243200"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243648"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244544"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244992"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245440"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245888"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984246336"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904984128": {"type": "Overloaded", "items": [{"nodeId": "139821984236480"}, {"nodeId": "139821984236928"}]}, "139821984236480": {"type": "Function", "typeVars": [".-1.139821984236480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982000"}, {"nodeId": "139821904982336"}], "returnType": {"nodeId": ".-1.139821984236480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "139821904982000": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, "139821925467184": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895935680"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__complex__"]}, "139821895935680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467184"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904982336": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, ".-1.139821984236480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236480", "variance": "INVARIANT"}, "139821984236928": {"type": "Function", "typeVars": [".-1.139821984236928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982448"}], "returnType": {"nodeId": ".-1.139821984236928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "139821904982448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942965632"}]}, ".-1.139821984236928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236928", "variance": "INVARIANT"}, "139821850772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984241408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984243200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984243648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984246336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984096640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984097088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981552": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}]}, "139821984097536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984097984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984098432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981104": {"type": "Overloaded", "items": [{"nodeId": "139821984098880"}, {"nodeId": "139821984099328"}]}, "139821984098880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984099328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984099776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984102912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984235584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904773632": {"type": "TypeAlias", "target": {"nodeId": "139821938696912"}}, "139821938696912": {"type": "Union", "items": [{"nodeId": "139821942649600"}, {"nodeId": "139821938697808"}, {"nodeId": "139821938698816"}]}, "139821942649600": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821938696800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938697808": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821938699712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821938698816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821858474464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904453344": {"type": "Overloaded", "items": [{"nodeId": "139821909304128"}, {"nodeId": "139821967803104"}, {"nodeId": "139821967803552"}, {"nodeId": "139821967804000"}, {"nodeId": "139821967804448"}]}, "139821909304128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821904773856"}, {"nodeId": "139821904773968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904773856": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821904773968": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}]}, "139821967803104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821904774864"}, {"nodeId": "139821904773744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774864": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821904773744": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942965296"}]}]}, "139821967803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821904775088"}, {"nodeId": "139821904774752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904775088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821904774752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}]}, "139821967804000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967804448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821904774192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774192": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821967804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904774304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904774304": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821967805792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967806240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967807136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904774416": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967807584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926232944", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821926232944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884864"}, "name": "read"}], "typeVars": [{"nodeId": ".1.139821926232944"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read"]}, "139822000884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232944", "args": [{"nodeId": ".1.139821926232944"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926232944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926232944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232944", "variance": "COVARIANT"}, "139821967808032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821967809824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967810272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967810720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967811168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967811616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926233952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000886208"}, "name": "write"}], "typeVars": [{"nodeId": ".1.139821926233952"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["write"]}, "139822000886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821926233952"}]}, {"nodeId": ".1.139821926233952"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926233952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233952", "variance": "CONTRAVARIANT"}, "139821967812064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967812512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967813856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904453456": {"type": "Overloaded", "items": [{"nodeId": "139821967814304"}, {"nodeId": "139821967814752"}]}, "139821967814304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967814752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904775200": {"type": "Overloaded", "items": [{"nodeId": "139821967815200"}, {"nodeId": "139821967815648"}]}, "139821967815200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967815648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967816096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904774976": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821967816544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967816992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817888": {"type": "Function", "typeVars": [".-1.139821967817888"], "argTypes": [{"nodeId": ".-1.139821967817888"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": ".-1.139821967817888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967817888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967817888", "variance": "INVARIANT"}, "139821967818336": {"type": "Function", "typeVars": [".-1.139821967818336"], "argTypes": [{"nodeId": ".-1.139821967818336"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821967818336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967818336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967818336", "variance": "INVARIANT"}, "139821967884576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967886368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967886816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821929644096": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138816"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963139264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140160"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140608"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141056"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141504"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142400"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142848"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143296"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143744"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144192"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144640"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145088"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145536"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145984"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908621712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963147328"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908611744"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963148672"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967949888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950336"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950784"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925468192"}], "isAbstract": false}, "139821963138368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "139821963138816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963139264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "139821963140160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "139821963140608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "139821963141952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "139821963142400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963142848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963143296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "139821963143744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963144192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "139821963144640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908711952"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908711952": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712064"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908712064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712176"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821908712176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963145984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "139821908712288": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908621712": {"type": "Overloaded", "items": [{"nodeId": "139821963146432"}, {"nodeId": "139821963146880"}]}, "139821963146432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963146880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963147328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908712512": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821908611744": {"type": "Overloaded", "items": [{"nodeId": "139821963147776"}, {"nodeId": "139821963148224"}]}, "139821963147776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963148224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}, {"nodeId": "139821908712736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821908712736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963148672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967949888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967950336": {"type": "Function", "typeVars": [".-1.139821967950336"], "argTypes": [{"nodeId": ".-1.139821967950336"}], "returnType": {"nodeId": ".-1.139821967950336"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967950336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967950336", "variance": "INVARIANT"}, "139821967950784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938453728": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911904"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793024"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866792352"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793920"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866860832"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866861280"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925911904": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821866793024": {"type": "Function", "typeVars": [".-1.139821866793024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177424"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177424": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, ".-1.139821866793024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793024", "variance": "INVARIANT"}, "139821866792352": {"type": "Function", "typeVars": [".-1.139821866792352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177536"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866792352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821866792352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866792352", "variance": "INVARIANT"}, "139821866793920": {"type": "Function", "typeVars": [".-1.139821866793920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.139821866793920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793920", "variance": "INVARIANT"}, "139821866860832": {"type": "Function", "typeVars": [".-1.139821866860832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821909177760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "139821909177760": {"type": "Union", "items": [{"nodeId": ".-1.139821866860832"}, {"nodeId": "139821938455744"}]}, ".-1.139821866860832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866860832", "variance": "INVARIANT"}, "139821938455744": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821866861280": {"type": "Function", "typeVars": [".-1.139821866861280"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821866861280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "139821938452720": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938453728"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967887936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967888832"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967887936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821909176976"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909177088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909177200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "139821909176976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909177088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909177200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821967888832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455072": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821938454736"}], "isAbstract": false}, "139821938454736": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921871552"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934220832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909174960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967896896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, "139821921871552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821946420608"}, {"nodeId": "N"}]}, "139821946420608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821934220832": {"type": "TypeAlias", "target": {"nodeId": "139821929530080"}}, "139821929530080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934226880"}, {"nodeId": "139821938454736"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821938453728"}]}], "returnType": {"nodeId": "139821938453728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934226880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909174960": {"type": "Overloaded", "items": [{"nodeId": "139821967895104"}, {"nodeId": "139821967895552"}, {"nodeId": "139821967896000"}, {"nodeId": "139821967896448"}]}, "139821967895104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "139821967895552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909296512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "139821909296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821967896000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909178432"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "139821909178432": {"type": "Tuple", "items": [{"nodeId": "139821909178096"}, {"nodeId": "139821938452720"}]}, "139821909178096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821909178544": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821934222064": {"type": "Union", "items": [{"nodeId": "139821934222848"}, {"nodeId": "139821934221616"}, {"nodeId": "139821934221952"}]}, "139821934222848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821934221616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821934221952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821967896448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178880"}]}, {"nodeId": "139821921715248", "args": [{"nodeId": "139821938720832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "139821909178880": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821921715248": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821921715248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909175072"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909178656"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968202368"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.139821921715248"}], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821921715248": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715248", "variance": "INVARIANT"}, "139821909175072": {"type": "Overloaded", "items": [{"nodeId": "139821968200576"}, {"nodeId": "139821968201024"}]}, "139821968200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821968201024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": ".1.139821921715248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "139821909178656": {"type": "Overloaded", "items": [{"nodeId": "139821968201472"}, {"nodeId": "139821968201920"}]}, "139821968201472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968201920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968202368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821938454400": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454064"}], "isAbstract": false}, "139821938454064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821938720832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456080": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938456080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206400"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821938456080"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821938456080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938456080", "variance": "INVARIANT"}, "139821968206400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938456080"}]}, {"nodeId": ".1.139821938456080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821967896896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821967889280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821866861280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866861280", "variance": "INVARIANT"}, "139821925758144": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953024"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953472"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967952576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}, {"nodeId": "139821913481824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "139821913481824": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967953024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967953472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925466512": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895932992"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__int__"]}, "139821895932992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926230928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386496"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__trunc__"]}, "139821976386496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005497728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005497728", "variance": "INVARIANT"}, "139821989200832": {"type": "Function", "typeVars": [".-1.139821989200832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977520"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821989200832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "139821904977520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, ".-1.139821989200832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989200832", "variance": "INVARIANT"}, "139821989201280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904977856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904977856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "0"}]}, "139821850526880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850527776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989205760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}, {"nodeId": "139821904978416"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "139821904978416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821850525760": {"type": "Function", "typeVars": [".-1.139821850525760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904978640"}, {"nodeId": "139821904978976"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821850525760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "139821904978640": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925467520"}, {"nodeId": "139821904978528"}]}, "139821904978528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904978976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.139821850525760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850525760", "variance": "INVARIANT"}, "139821989206656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904979200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821989209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904979424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821904976736": {"type": "Overloaded", "items": [{"nodeId": "139821989212928"}, {"nodeId": "139821989213376"}, {"nodeId": "139821989213824"}, {"nodeId": "139821989214272"}, {"nodeId": "139821989214720"}, {"nodeId": "139821989215168"}]}, "139821989212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904980096"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904980096": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821989214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904982896"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982896": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821989214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821989215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821904982784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982784": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821983989824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983994304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983994752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821983997440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904980320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821983997888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984002368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980067072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980067520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980067968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223584": {"type": "Overloaded", "items": [{"nodeId": "139821980068864"}, {"nodeId": "139821980069312"}]}, "139821980068864": {"type": "Function", "typeVars": [".-1.139821980068864"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980068864"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821980068864": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821980068864", "variance": "INVARIANT"}, "139821921477216": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821926226224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380224"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.139821926226224"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__lt__"]}, "139821976380224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226224", "args": [{"nodeId": ".1.139821926226224"}]}, {"nodeId": ".1.139821926226224"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226224": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226224", "variance": "CONTRAVARIANT"}, "139821926226560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380672"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821926226560"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__gt__"]}, "139821976380672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226560", "args": [{"nodeId": ".1.139821926226560"}]}, {"nodeId": ".1.139821926226560"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226560": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226560", "variance": "CONTRAVARIANT"}, "139821980069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821905099712"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821905099712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821900225264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900225264": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821938694336": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821980069760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980070208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900224816": {"type": "Overloaded", "items": [{"nodeId": "139821980070656"}, {"nodeId": "139821980071104"}]}, "139821980070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900224928": {"type": "Overloaded", "items": [{"nodeId": "139821980071552"}, {"nodeId": "139821980072000"}]}, "139821980071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821900225488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900225488": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821900225152": {"type": "Overloaded", "items": [{"nodeId": "139821980072896"}, {"nodeId": "139821980073344"}]}, "139821980072896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980073344": {"type": "Function", "typeVars": [".-1.139821980073344"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980073344"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821900225712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980073344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980073344", "variance": "INVARIANT"}, "139821900225712": {"type": "Union", "items": [{"nodeId": ".-1.139821980073344"}, {"nodeId": ".1.139821942967984"}]}, "139821980188736": {"type": "Function", "typeVars": [".-1.139821980188736"], "argTypes": [{"nodeId": ".-1.139821980188736"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": ".-1.139821980188736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980188736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980188736", "variance": "INVARIANT"}, "139821980189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980189632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190080": {"type": "Function", "typeVars": [".-1.139821980190080"], "argTypes": [{"nodeId": ".-1.139821980190080"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821980190080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980190080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980190080", "variance": "INVARIANT"}, "139821980190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980191424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980191872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980193216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980196800": {"type": "Function", "typeVars": [".-1.139821980196800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821980196800"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.139821980196800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980196800", "variance": "INVARIANT"}, "139821980197248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980197696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472560": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854194176"}}], "typeVars": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925472560"}]}], "isAbstract": false}, "139821854194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, ".2.139821925472560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, "139821980198144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472896": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854077024"}}], "typeVars": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925472896"}]}], "isAbstract": false}, "139821854077024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472896": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, ".2.139821925472896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, "139821980198592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925473232": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821853980512"}}], "typeVars": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "isAbstract": false}, "139821853980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925473232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, ".2.139821925473232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, "139821900225600": {"type": "Overloaded", "items": [{"nodeId": "139821980199040"}, {"nodeId": "139821980199488"}]}, "139821980199040": {"type": "Function", "typeVars": [".-1.139821980199040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199040"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199040"}, {"nodeId": "139821900226944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.139821980199040": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199040", "variance": "INVARIANT"}, "139821900226944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821980199488": {"type": "Function", "typeVars": [".-1.139821980199488", ".-2.139821980199488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199488"}]}, {"nodeId": ".-2.139821980199488"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199488"}, {"nodeId": ".-2.139821980199488"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821980199488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, ".-2.139821980199488": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, "139821900225936": {"type": "Overloaded", "items": [{"nodeId": "139821980199936"}, {"nodeId": "139821980200384"}]}, "139821980199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "139821900227168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900227168": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": "N"}]}, "139821980200384": {"type": "Function", "typeVars": [".-1.139821980200384"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227280"}], "returnType": {"nodeId": "139821900227392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227280": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, ".-1.139821980200384": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980200384", "variance": "INVARIANT"}, "139821900227392": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, "139821900226720": {"type": "Overloaded", "items": [{"nodeId": "139821980200832"}, {"nodeId": "139821980201280"}]}, "139821980200832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980201280": {"type": "Function", "typeVars": [".-1.139821980201280"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227616"}], "returnType": {"nodeId": "139821900227728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227616": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, ".-1.139821980201280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980201280", "variance": "INVARIANT"}, "139821900227728": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, "139821980201728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980202176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980202624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980203072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980336192": {"type": "Function", "typeVars": [".-1.139821980336192", ".-2.139821980336192"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336192"}, {"nodeId": ".-2.139821980336192"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900227952"}, {"nodeId": "139821900228064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336192": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, ".-2.139821980336192": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, "139821900227952": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336192"}]}, "139821900228064": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336192"}]}, "139821980336640": {"type": "Function", "typeVars": [".-1.139821980336640", ".-2.139821980336640"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336640"}, {"nodeId": ".-2.139821980336640"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900228176"}, {"nodeId": "139821900228288"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, ".-2.139821980336640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, "139821900228176": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336640"}]}, "139821900228288": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336640"}]}, "139821900227056": {"type": "Overloaded", "items": [{"nodeId": "139821980337088"}, {"nodeId": "139821980337536"}]}, "139821980337088": {"type": "Function", "typeVars": [".-1.139821980337088"], "argTypes": [{"nodeId": ".-1.139821980337088"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": ".-1.139821980337088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337088", "variance": "INVARIANT"}, "139821980337536": {"type": "Function", "typeVars": [".-1.139821980337536"], "argTypes": [{"nodeId": ".-1.139821980337536"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900228624"}]}], "returnType": {"nodeId": ".-1.139821980337536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337536", "variance": "INVARIANT"}, "139821900228624": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139822017690112": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996578560"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951456"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996579904"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956384"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956832"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "isAbstract": true}, "139821896349088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139822017690112": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, ".2.139822017690112": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, "139821896349536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921951456": {"type": "Overloaded", "items": [{"nodeId": "139821996579008"}, {"nodeId": "139821996579456"}]}, "139821996579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996579456": {"type": "Function", "typeVars": [".-1.139821996579456"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": "139821921956944"}], "returnType": {"nodeId": "139821921957056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956944": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, ".-1.139821996579456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996579456", "variance": "INVARIANT"}, "139821921957056": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, "139821996579904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "139821921957280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921957280": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821921956384": {"type": "Overloaded", "items": [{"nodeId": "139821996580352"}, {"nodeId": "139821996580800"}]}, "139821996580352": {"type": "Function", "typeVars": [".-1.139821996580352"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": "139821921957504"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "139821921957616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921957504": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, ".-1.139821996580352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996580352", "variance": "INVARIANT"}, "139821921957616": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, "139821996580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821921956832": {"type": "Overloaded", "items": [{"nodeId": "139821996581248"}, {"nodeId": "139821996581696"}, {"nodeId": "139821996582144"}]}, "139821996581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821996581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921957952"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821921957952": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821996582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821904779120": {"type": "Overloaded", "items": [{"nodeId": "139821909310624"}]}, "139821909310624": {"type": "Function", "typeVars": [".-1.139821909310624"], "argTypes": [{"nodeId": ".-1.139821909310624"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821909310624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909310624", "variance": "INVARIANT"}, "139821850537184": {"type": "Function", "typeVars": [".-1.139821850537184"], "argTypes": [{"nodeId": ".-1.139821850537184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821850537184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850537184", "variance": "INVARIANT"}, "139821996860672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996859776": {"type": "Function", "typeVars": [".-1.139821996859776"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821996859776"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821996859776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996859776", "variance": "INVARIANT"}, "139821996861568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821996862016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996863360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996863808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996864256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996864704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996865152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996865600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996866048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821904973376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904973376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139821996866496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821904973600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904973600": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822005485632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005486080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984248128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984248128", "variance": "INVARIANT"}, "139821905087392": {"type": "Function", "typeVars": [".-1.139821905087392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904983120"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821905087392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "139821904983120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087392", "variance": "INVARIANT"}, "139821984249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984250368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983232"}, {"nodeId": "139821904983344"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "139821904983232": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983344": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984250816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984251264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904983456"}, {"nodeId": "139821904983568"}, {"nodeId": "139821904983680"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904983568": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983680": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984351168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983792"}, {"nodeId": "139821904983904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983792": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983904": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984351616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821984352064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942965968"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "139821942965968": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247232"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965968"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904984016"}, {"nodeId": "139821904984352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904984016": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904984352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984358336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984358784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984359232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984359680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904984464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904984464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984360128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904984688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904984688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984360576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821984361024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985024"}, {"nodeId": "139821904985136"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985024": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985136": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985248"}, {"nodeId": "139821904985360"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985248": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985360": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984363264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904985584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904985584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984363712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985696"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985808"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904985808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985920"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984365056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984365504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281088"}, {"nodeId": "139821905281200"}, {"nodeId": "139821905281312"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905281088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821905281200": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905281312": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984365952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905281424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984464960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966304"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942966304": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247680"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904982672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904982672": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984466304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981888": {"type": "Overloaded", "items": [{"nodeId": "139821984467200"}, {"nodeId": "139821984467648"}]}, "139821984467200": {"type": "Function", "typeVars": [".-1.139821984467200"], "argTypes": [{"nodeId": "139821905281760"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281760": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821905281648"}, {"nodeId": ".-1.139821984467200"}]}]}, ".-1.139821984467200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984467200", "variance": "INVARIANT"}, "139821905281648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821984467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821905281872"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821905281984"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821905281872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821905281984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984468096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905282096"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905282096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821984470336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984470784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984471232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984471680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984472128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984472576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984474368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821905282432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921720960": {"type": "Concrete", "module": "boruvka", "simpleName": "Graph", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009409472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weight", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009413728"}, "name": "add_edge"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414176"}, "name": "find_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414624"}, "name": "set_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "component_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415072"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415520"}, "name": "boruvka"}, {"kind": "Variable", "name": "m_num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "m_edges", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"kind": "Variable", "name": "m_component", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822009409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "num_of_nodes"]}, "139822009413728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "u_node", "v_node", "weight"]}, "139822009414176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009414624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009415072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "component_size", "u_node", "v_node"]}, "139822009415520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925481296": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540448"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993368416"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900901376"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900902496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821925540672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821993368416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921945856"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921946304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "139821921945856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "139821942966640"}]}, "139821921946304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900901376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682384": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182016"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822017683056": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536304"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182912"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929184"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185600"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925536304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001182912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921943952"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "139821921943952": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821895929184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821895929632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682720": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182464"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682720"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139822001185152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017682048": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177984"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178432"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178880"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001185600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682384"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139821900902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017681712": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942648144"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009417088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001176640"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177088"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942648144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822009417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921947200"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "139821921947200": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001176640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683392": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186944"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001187392"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964288"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001186048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "139822001186496": {"type": "Function", "typeVars": [".-1.139822001186496"], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": ".-1.139822001186496"}], "returnType": {"nodeId": ".-1.139822001186496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.139822001186496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001186496", "variance": "INVARIANT"}, "139822001186944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001187392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683728": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001189184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925466176": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821925299728": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005996896"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998240"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998688"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821925474576": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228400"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980468608"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469056"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469504"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469952"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470400"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470848"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471744"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473536"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474432"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474880"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475328"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475776"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476224"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476672"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477120"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474576"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "isAbstract": false}, "139821900228400": {"type": "Overloaded", "items": [{"nodeId": "139821980467712"}, {"nodeId": "139821980468160"}]}, "139821980467712": {"type": "Function", "typeVars": [".-1.139821980467712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821980467712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821980467712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980467712", "variance": "INVARIANT"}, "139821980468160": {"type": "Function", "typeVars": [".-1.139821980468160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": ".-1.139821980468160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.139821925474576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474576", "variance": "COVARIANT"}, ".-1.139821980468160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980468160", "variance": "INVARIANT"}, "139821980468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471744": {"type": "Function", "typeVars": [".-1.139821980471744"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980471744"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230304"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980471744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980471744", "variance": "INVARIANT"}, "139821900230304": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980471744"}]}, "139821980472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980473536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473984": {"type": "Function", "typeVars": [".-1.139821980473984"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980473984"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980473984": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980473984", "variance": "INVARIANT"}, "139821900230416": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980473984"}]}, "139821980474432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980474880": {"type": "Function", "typeVars": [".-1.139821980474880"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980474880"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980474880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980474880", "variance": "INVARIANT"}, "139821900230528": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980474880"}]}, "139821980475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005996896": {"type": "Function", "typeVars": [".-1.139822005996896"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005996896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.139822005996896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005996896", "variance": "INVARIANT"}, "139822005997344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "139822005997792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139822005998240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821904775760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "139821904775760": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139822005998688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139821925467856": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895938592"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821895938592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017684064": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895939936"}}], "typeVars": [{"nodeId": ".1.139822017684064"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__abs__"]}, "139821895939936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684064", "args": [{"nodeId": ".1.139822017684064"}]}], "returnType": {"nodeId": ".1.139822017684064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684064": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684064", "variance": "COVARIANT"}, "139822017684400": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921791424"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.139822017684400"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821921791424": {"type": "Overloaded", "items": [{"nodeId": "139822001356864"}, {"nodeId": "139822001357312"}]}, "139822001356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017684400": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684400", "variance": "COVARIANT"}, "139822001357312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017684400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925468528": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027712"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__hash__"]}, "139821896027712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017685744": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001360448"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896037120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921947984"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362240"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362688"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037344"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037792"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038464"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038688"}}], "typeVars": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685744"}]}], "isAbstract": true}, "139822001360448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, ".2.139822017685744": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "CONTRAVARIANT"}, ".3.139822017685744": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, "139821896037120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": ".2.139822017685744"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921947984": {"type": "Overloaded", "items": [{"nodeId": "139822001361344"}, {"nodeId": "139822001361792"}]}, "139822001361344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "0"}, {"nodeId": "139821921948768"}, {"nodeId": "139821921948880"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948768": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921948880": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001361792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921948992"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948992": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001362240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001362688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896037792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821921949440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921949440": {"type": "Union", "items": [{"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139822017686080": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896039360"}}], "typeVars": [{"nodeId": ".1.139822017686080"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__await__"]}, "139821896039360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017686080"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.139822017686080"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686080", "variance": "COVARIANT"}, "139822017686416": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156768"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156992"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157216"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157440"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948544"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157888"}}], "typeVars": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139822017686416"}]}], "isAbstract": true}, "139821896156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821921949776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, ".2.139822017686416": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "CONTRAVARIANT"}, ".3.139822017686416": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, "139821921949776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821896156992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": ".2.139822017686416"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948544": {"type": "Overloaded", "items": [{"nodeId": "139822001367616"}, {"nodeId": "139822001368064"}]}, "139822001367616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "0"}, {"nodeId": "139821921950000"}, {"nodeId": "139821921950112"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950000": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950112": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001368064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950224"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950224": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821896157888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925468864": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}, {"nodeId": ".4.139821925468864"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139821925468864"}]}, {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}]}], "isAbstract": true}, ".1.139821925468864": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".2.139821925468864": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "CONTRAVARIANT"}, ".3.139821925468864": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".4.139821925468864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "INVARIANT"}, "139822017686752": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896159008"}}], "typeVars": [{"nodeId": ".1.139822017686752"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821896159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017686752"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017686752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686752", "variance": "COVARIANT"}, "139822017687088": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896162144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001369856"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139822017687088"}], "bases": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017687088"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "139821896162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687088": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687088", "variance": "COVARIANT"}, "139822001369856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017687424": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001370304"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896164384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948656"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001372096"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896163936"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165280"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165504"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165728"}}], "typeVars": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}], "bases": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687424"}]}], "isAbstract": true}, "139822001370304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "COVARIANT"}, ".2.139822017687424": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "CONTRAVARIANT"}, "139821896164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": ".2.139822017687424"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948656": {"type": "Overloaded", "items": [{"nodeId": "139822001371200"}, {"nodeId": "139822001371648"}]}, "139822001371200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "0"}, {"nodeId": "139821921950448"}, {"nodeId": "139821921950560"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950448": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950560": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001371648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950672"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001372096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470544": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896450336"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896451232"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896451904"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896452576"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453248"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453920"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896454592"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455264"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455936"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896456608"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457280"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457952"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896458624"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459296"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459968"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896460640"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461312"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461984"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896462656"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896463552"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896464672"}}], "typeVars": [{"nodeId": ".1.139821925470544"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}], "isAbstract": true}, "139821896350656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925470544": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470544", "variance": "INVARIANT"}, "139821896450336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896452576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896454592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896455264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896455936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896456608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896457280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821896457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896458624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896459296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921958064": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821896459968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896460640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": ".1.139821925470544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896462656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896463552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896464672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958176"}, {"nodeId": "139821921958288"}, {"nodeId": "139821921958400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821921958176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821921958288": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921958400": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925470880": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896466016"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": true}, "139821896466016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470880"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471216": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896598912"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599360"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599584"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599808"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896600032"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896600256"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": true}, "139821896598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821921958512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921958512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821896599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925471216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471888": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921957728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896602944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996750464"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751360"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921957728": {"type": "Overloaded", "items": [{"nodeId": "139821996749120"}, {"nodeId": "139821996749568"}]}, "139821996749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821912818848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821912818848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821996749568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821896602944": {"type": "Function", "typeVars": [".-1.139821896602944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821896602944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821896602944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821896602944", "variance": "INVARIANT"}, "139821996750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996751360": {"type": "Function", "typeVars": [".-1.139821996751360"], "argTypes": [{"nodeId": ".-1.139821996751360"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821996751360"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821996751360": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751360", "variance": "INVARIANT"}, "139821925472224": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751808"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996752256"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851264"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851712"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852160"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852608"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853056"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853504"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854400"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821996751808": {"type": "Function", "typeVars": [".-1.139821996751808"], "argTypes": [{"nodeId": ".-1.139821996751808"}], "returnType": {"nodeId": ".-1.139821996751808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821996751808": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751808", "variance": "INVARIANT"}, "139821996752256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821996851264": {"type": "Function", "typeVars": [".-1.139821996851264"], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": ".-1.139821996851264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821996851264": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851264", "variance": "INVARIANT"}, "139821996851712": {"type": "Function", "typeVars": [".-1.139821996851712"], "argTypes": [{"nodeId": ".-1.139821996851712"}, {"nodeId": ".-1.139821996851712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821996851712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851712", "variance": "INVARIANT"}, "139821996852160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996852608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853952": {"type": "Function", "typeVars": [".-1.139821996853952"], "argTypes": [{"nodeId": ".-1.139821996853952"}, {"nodeId": ".-1.139821996853952"}], "returnType": {"nodeId": ".-1.139821996853952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996853952": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996853952", "variance": "INVARIANT"}, "139821996854400": {"type": "Function", "typeVars": [".-1.139821996854400"], "argTypes": [{"nodeId": ".-1.139821996854400"}, {"nodeId": ".-1.139821996854400"}], "returnType": {"nodeId": ".-1.139821996854400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996854400": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996854400", "variance": "INVARIANT"}, "139822017690448": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642656"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996855744"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996856640"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942642656": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821942642096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996854848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821912819520"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "139821912819520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996855744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821912819744"}, {"nodeId": "139821912819968"}, {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821912820192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "139821912819744": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912819968": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912820192": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996856640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681376": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041248"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921795456"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846042368"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980063936"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821846041248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821900224144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900224144": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821925481968": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971423296"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481968"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921795456": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821846041696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980063936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}, {"nodeId": "139821900224480"}, {"nodeId": "139821900224592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821900224480": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821900224592": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139822017690784": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534944"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487872"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005488768"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.139822017690784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850534944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905084480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017690784": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690784", "variance": "COVARIANT"}, "139821905084480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996861120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "139821905084928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905084928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005487872": {"type": "Function", "typeVars": [".-1.139822005487872"], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": ".-1.139822005487872"}, {"nodeId": "139821904973936"}], "returnType": {"nodeId": "139821905084704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005487872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005487872", "variance": "INVARIANT"}, "139821904973936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905084704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905085152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905085152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005488768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139822017691120": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533600"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005490560"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532480"}}], "typeVars": [{"nodeId": ".1.139822017691120"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850533600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905085600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017691120": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017691120", "variance": "COVARIANT"}, "139821905085600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850533152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005487424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": "139821905085824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905085824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005490560": {"type": "Function", "typeVars": [".-1.139822005490560"], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": ".-1.139822005490560"}, {"nodeId": "139821904974720"}], "returnType": {"nodeId": "139821905085376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005490560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490560", "variance": "INVARIANT"}, "139821904974720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905085376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850532480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905086048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905086048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821942964624": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975280"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975280": {"type": "Overloaded", "items": [{"nodeId": "139822005500864"}, {"nodeId": "139822005501312"}, {"nodeId": "139821989199936"}]}, "139822005500864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139822005501312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925474912": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478912"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474912"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821921795792"}]}], "isAbstract": false}, "139821980477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.139821925474912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474912", "variance": "INVARIANT"}, "139821980478016": {"type": "Function", "typeVars": [".-1.139821980478016"], "argTypes": [{"nodeId": ".-1.139821980478016"}], "returnType": {"nodeId": ".-1.139821980478016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980478016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980478016", "variance": "INVARIANT"}, "139821980478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}], "returnType": {"nodeId": "139821900230864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900230864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821980478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821921795792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821942968656": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846418976"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419424"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980481600"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482048"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482496"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482944"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980598336"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900230192"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980599680"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821846418976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900228736": {"type": "Overloaded", "items": [{"nodeId": "139821980480704"}, {"nodeId": "139821980481152"}]}, "139821980480704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980481152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980481600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980482944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900230192": {"type": "Overloaded", "items": [{"nodeId": "139821980598784"}, {"nodeId": "139821980599232"}]}, "139821980598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942968992": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921479792"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475760"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921483488"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600576"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601024"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601472"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601920"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602368"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602816"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921479792": {"type": "Union", "items": [{"nodeId": "139821946893728"}, {"nodeId": "N"}]}, "139821946893728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921475760": {"type": "Union", "items": [{"nodeId": "139821938744608"}, {"nodeId": "N"}]}, "139821938744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921483488": {"type": "Union", "items": [{"nodeId": "139821946419712"}, {"nodeId": "N"}]}, "139821946419712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980600128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900231312"}, {"nodeId": "139821900231648"}, {"nodeId": "139821900231984"}, {"nodeId": "139821900232208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "139821900231312": {"type": "Union", "items": [{"nodeId": "139821905100160"}, {"nodeId": "N"}]}, "139821905100160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900231648": {"type": "Union", "items": [{"nodeId": "139821900529728"}, {"nodeId": "N"}]}, "139821900529728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900231984": {"type": "Union", "items": [{"nodeId": "139821900529952"}, {"nodeId": "N"}]}, "139821900529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900232208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821980600576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530176"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530400"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980601472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530624"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "139821900232992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821900232992": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821980602368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980602816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942969328": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921425712": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980606848"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.139821921425712"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821980606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921425712", "args": [{"nodeId": ".1.139821921425712"}]}], "returnType": {"nodeId": ".1.139821921425712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921425712": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921425712", "variance": "COVARIANT"}, "139821942969664": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980607744"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821942969664"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821980607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942969664", "args": [{"nodeId": ".1.139821942969664"}]}], "returnType": {"nodeId": ".1.139821942969664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942969664": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "def": "139821942969664", "variance": "COVARIANT"}, "139821925475248": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900234224"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796736"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475248"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475248"}]}], "isAbstract": false}, "139821900234224": {"type": "Overloaded", "items": [{"nodeId": "139821980794944"}, {"nodeId": "139821980795392"}, {"nodeId": "139821980795840"}]}, "139821980794944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "N"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900564400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475248": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475248", "variance": "INVARIANT"}, "139821900564400": {"type": "Union", "items": [{"nodeId": ".1.139821925475248"}, {"nodeId": "N"}]}, "139821980795392": {"type": "Function", "typeVars": [".-1.139821980795392"], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900531072"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980795392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900531072": {"type": "Function", "typeVars": [".-1.139821900531072"], "argTypes": [{"nodeId": ".-1.139821900531072"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900531072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900531072", "variance": "INVARIANT"}, ".-1.139821980795392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980795392", "variance": "INVARIANT"}, "139821980795840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900530848"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925475248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980796288": {"type": "Function", "typeVars": [".-1.139821980796288"], "argTypes": [{"nodeId": ".-1.139821980796288"}], "returnType": {"nodeId": ".-1.139821980796288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980796288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980796288", "variance": "INVARIANT"}, "139821980796736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": ".1.139821925475248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942970000": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980803456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821942970000"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821980803456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970000", "args": [{"nodeId": ".1.139821942970000"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942970000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970000", "variance": "COVARIANT"}, "139821925475584": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900564512"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980810624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975666752"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475584"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475584"}]}], "isAbstract": false}, "139821900564512": {"type": "Overloaded", "items": [{"nodeId": "139821980807936"}, {"nodeId": "139821980808384"}, {"nodeId": "139821980808832"}, {"nodeId": "139821980809280"}, {"nodeId": "139821980809728"}, {"nodeId": "139821980810176"}]}, "139821980807936": {"type": "Function", "typeVars": [".-1.139821980807936"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980807936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475584", "variance": "INVARIANT"}, "139821900533312": {"type": "Function", "typeVars": [".-1.139821900533312"], "argTypes": [{"nodeId": ".-1.139821900533312"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900533312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533312", "variance": "INVARIANT"}, ".-1.139821980807936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980807936", "variance": "INVARIANT"}, "139821980808384": {"type": "Function", "typeVars": [".-1.139821980808384", ".-2.139821980808384"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808384"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821900532640": {"type": "Function", "typeVars": [".-1.139821900532640", ".-2.139821900532640"], "argTypes": [{"nodeId": ".-1.139821900532640"}, {"nodeId": ".-2.139821900532640"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821900532640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-2.139821900532640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-1.139821980808384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, ".-2.139821980808384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, "139821980808832": {"type": "Function", "typeVars": [".-1.139821980808832", ".-2.139821980808832", ".-3.139821980808832"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532864"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980808832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821900532864": {"type": "Function", "typeVars": [".-1.139821900532864", ".-2.139821900532864", ".-3.139821900532864"], "argTypes": [{"nodeId": ".-1.139821900532864"}, {"nodeId": ".-2.139821900532864"}, {"nodeId": ".-3.139821900532864"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.139821900532864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-2.139821900532864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-3.139821900532864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-1.139821980808832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-2.139821980808832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-3.139821980808832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, "139821980809280": {"type": "Function", "typeVars": [".-1.139821980809280", ".-2.139821980809280", ".-3.139821980809280", ".-4.139821980809280"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533536"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900533536": {"type": "Function", "typeVars": [".-1.139821900533536", ".-2.139821900533536", ".-3.139821900533536", ".-4.139821900533536"], "argTypes": [{"nodeId": ".-1.139821900533536"}, {"nodeId": ".-2.139821900533536"}, {"nodeId": ".-3.139821900533536"}, {"nodeId": ".-4.139821900533536"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.139821900533536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-2.139821900533536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-3.139821900533536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-4.139821900533536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-1.139821980809280": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-2.139821980809280": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-3.139821980809280": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-4.139821980809280": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, "139821980809728": {"type": "Function", "typeVars": [".-1.139821980809728", ".-2.139821980809728", ".-3.139821980809728", ".-4.139821980809728", ".-5.139821980809728"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533760"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821980809728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "139821900533760": {"type": "Function", "typeVars": [".-1.139821900533760", ".-2.139821900533760", ".-3.139821900533760", ".-4.139821900533760", ".-5.139821900533760"], "argTypes": [{"nodeId": ".-1.139821900533760"}, {"nodeId": ".-2.139821900533760"}, {"nodeId": ".-3.139821900533760"}, {"nodeId": ".-4.139821900533760"}, {"nodeId": ".-5.139821900533760"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.139821900533760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-2.139821900533760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-3.139821900533760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-4.139821900533760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-5.139821900533760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-1.139821980809728": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-2.139821980809728": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-3.139821980809728": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-4.139821980809728": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-5.139821980809728": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, "139821980810176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533984"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "139821900533984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821980810624": {"type": "Function", "typeVars": [".-1.139821980810624"], "argTypes": [{"nodeId": ".-1.139821980810624"}], "returnType": {"nodeId": ".-1.139821980810624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980810624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980810624", "variance": "INVARIANT"}, "139821975666752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921426048": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975677504"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.139821921426048"}], "bases": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821921426048"}]}], "protocolMembers": ["flush", "write"]}, "139821975677504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921426048", "args": [{"nodeId": ".1.139821921426048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921426048": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921426048", "variance": "CONTRAVARIANT"}, "139821942970336": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975678848"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970336", "args": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}]}, {"nodeId": ".1.139821942970336"}], "returnType": {"nodeId": ".2.139821942970336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970336": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "CONTRAVARIANT"}, ".2.139821942970336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "COVARIANT"}, "139821942970672": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679296"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970672", "args": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}]}, {"nodeId": ".1.139821942970672"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.139821942970672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.139821942970672": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "CONTRAVARIANT"}, ".2.139821942970672": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "COVARIANT"}, "139821942971008": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679744"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971008", "args": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}]}, {"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}], "returnType": {"nodeId": ".3.139821942971008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821942971008": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".2.139821942971008": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".3.139821942971008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "COVARIANT"}, "139821925475920": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900576272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908672"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975909120"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.139821925475920"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475920"}]}], "isAbstract": false}, "139821900576272": {"type": "Overloaded", "items": [{"nodeId": "139821975907328"}, {"nodeId": "139821975907776"}]}, "139821975907328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821925475920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475920", "variance": "INVARIANT"}, "139821975907776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926230592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386048"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926230592"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "__len__"]}, "139821976385600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926230592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230592", "variance": "COVARIANT"}, "139821976386048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926230592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821975908224": {"type": "Function", "typeVars": [".-1.139821975908224"], "argTypes": [{"nodeId": ".-1.139821975908224"}], "returnType": {"nodeId": ".-1.139821975908224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821975908224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821975908224", "variance": "INVARIANT"}, "139821975908672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": ".1.139821925475920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821975909120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942971344": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910016"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971344"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971344", "args": [{"nodeId": ".1.139821942971344"}]}], "returnType": {"nodeId": ".1.139821942971344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942971344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971344", "variance": "COVARIANT"}, "139821942971680": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910464"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971680"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971680", "args": [{"nodeId": ".1.139821942971680"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942971680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821942971680": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971680", "variance": "COVARIANT"}, "139821921426384": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926227904", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "139821926228240", "args": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "139821926227904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382016"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__add__"]}, "139821976382016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227904", "args": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}]}, {"nodeId": ".1.139821926227904"}], "returnType": {"nodeId": ".2.139821926227904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227904": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "CONTRAVARIANT"}, ".2.139821926227904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "COVARIANT"}, "139821926228240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382464"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__radd__"]}, "139821976382464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228240", "args": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}]}, {"nodeId": ".1.139821926228240"}], "returnType": {"nodeId": ".2.139821926228240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228240": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "CONTRAVARIANT"}, ".2.139821926228240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "COVARIANT"}, "139821925476256": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900710512"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976052992"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976053440"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925476256"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476256"}]}], "isAbstract": false}, "139821900710512": {"type": "Overloaded", "items": [{"nodeId": "139821976047616"}, {"nodeId": "139821976048064"}, {"nodeId": "139821976048512"}, {"nodeId": "139821976048960"}, {"nodeId": "139821976049408"}, {"nodeId": "139821976049856"}]}, "139821976047616": {"type": "Function", "typeVars": [".-1.139821976047616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976047616"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.139821976047616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976047616", "variance": "INVARIANT"}, "139821900711744": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976047616"}]}, "139821976048064": {"type": "Function", "typeVars": [".-1.139821976048064", ".-2.139821976048064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048064"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048064"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.139821976048064": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, ".-2.139821976048064": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, "139821900711968": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048064"}, {"nodeId": ".-2.139821976048064"}]}, "139821976048512": {"type": "Function", "typeVars": [".-1.139821976048512", ".-2.139821976048512", ".-3.139821976048512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048512"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.139821976048512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-2.139821976048512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-3.139821976048512": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, "139821900712192": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048512"}, {"nodeId": ".-2.139821976048512"}, {"nodeId": ".-3.139821976048512"}]}, "139821976048960": {"type": "Function", "typeVars": [".-1.139821976048960", ".-2.139821976048960", ".-3.139821976048960", ".-4.139821976048960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976048960"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.139821976048960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-2.139821976048960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-3.139821976048960": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-4.139821976048960": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, "139821900712416": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048960"}, {"nodeId": ".-2.139821976048960"}, {"nodeId": ".-3.139821976048960"}, {"nodeId": ".-4.139821976048960"}]}, "139821976049408": {"type": "Function", "typeVars": [".-1.139821976049408", ".-2.139821976049408", ".-3.139821976049408", ".-4.139821976049408", ".-5.139821976049408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821976049408"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.139821976049408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-2.139821976049408": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-3.139821976049408": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-4.139821976049408": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-5.139821976049408": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, "139821900712640": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976049408"}, {"nodeId": ".-2.139821976049408"}, {"nodeId": ".-3.139821976049408"}, {"nodeId": ".-4.139821976049408"}, {"nodeId": ".-5.139821976049408"}]}, "139821976049856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "139821976052992": {"type": "Function", "typeVars": [".-1.139821976052992"], "argTypes": [{"nodeId": ".-1.139821976052992"}], "returnType": {"nodeId": ".-1.139821976052992"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821976052992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976052992", "variance": "INVARIANT"}, "139821976053440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476256", "args": [{"nodeId": ".1.139821925476256"}]}], "returnType": {"nodeId": ".1.139821925476256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925476256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476256", "variance": "COVARIANT"}, "139821942972016": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942972688": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973024": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973360": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475200"}}], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821921475200": {"type": "TypeAlias", "target": {"nodeId": "139821925543584"}}, "139821925543584": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942973696": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942974032": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974368": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974704": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975040": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975376": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976056576"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017680704"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976056576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942975376"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714880"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "139821900714880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942975712": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976048": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976384": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057024"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645008"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976057024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942976384"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714992"}, {"nodeId": "139821900715104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "139821900714992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900715104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645008": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942976720": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977056": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977392": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977728": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978064": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978400": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978736": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925535408"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645456"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646352"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942643440"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646464"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942647696"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925535408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942645456": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942646352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942643440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942646464": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942647696": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942979072": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979408": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979744": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942980080": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925285952": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286288": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286624": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976384"}], "isAbstract": false}, "139821925286960": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287296": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287632": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942977392"}], "isAbstract": false}, "139821925287968": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288304": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288640": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288976": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289312": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289648": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289984": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925290320": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290656": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290992": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291328": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291664": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292000": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292336": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292672": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925293008": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293344": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293680": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978736"}], "isAbstract": false}, "139821925294016": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925293680"}], "isAbstract": false}, "139821925294352": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821925294688": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057472"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925294688"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900715216"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900715216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925295024": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295024"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821925295360": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976058368"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976058368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295360"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821925295696": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925296032": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296368": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296704": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297040": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297376": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297712": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298048": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298384": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298720": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299056": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299392": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821926225216": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976378880"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821976378880": {"type": "Function", "typeVars": [".-1.139821976378880"], "argTypes": [{"nodeId": "139821926225216"}, {"nodeId": ".-1.139821976378880"}], "returnType": {"nodeId": ".-1.139821976378880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976378880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976378880", "variance": "INVARIANT"}, "139821926225552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379328"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821926225552"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__next__"]}, "139821976379328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225552", "args": [{"nodeId": ".1.139821926225552"}]}], "returnType": {"nodeId": ".1.139821926225552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225552", "variance": "COVARIANT"}, "139821926225888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379776"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821926225888"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821976379776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225888", "args": [{"nodeId": ".1.139821926225888"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139821926225888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225888", "variance": "COVARIANT"}, "139821926226896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381120"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.139821926226896"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__le__"]}, "139821976381120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226896", "args": [{"nodeId": ".1.139821926226896"}]}, {"nodeId": ".1.139821926226896"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226896", "variance": "CONTRAVARIANT"}, "139821926227232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381568"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.139821926227232"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__ge__"]}, "139821976381568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227232", "args": [{"nodeId": ".1.139821926227232"}]}, {"nodeId": ".1.139821926227232"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227232": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227232", "variance": "CONTRAVARIANT"}, "139821926227568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226896", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926227232", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "139821926228576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382912"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__sub__"]}, "139821976382912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228576", "args": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}]}, {"nodeId": ".1.139821926228576"}], "returnType": {"nodeId": ".2.139821926228576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "CONTRAVARIANT"}, ".2.139821926228576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "COVARIANT"}, "139821926228912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383360"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rsub__"]}, "139821976383360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228912", "args": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}]}, {"nodeId": ".1.139821926228912"}], "returnType": {"nodeId": ".2.139821926228912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "CONTRAVARIANT"}, ".2.139821926228912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "COVARIANT"}, "139821926229248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383808"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__divmod__"]}, "139821976383808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229248", "args": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}]}, {"nodeId": ".1.139821926229248"}], "returnType": {"nodeId": ".2.139821926229248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926229248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "CONTRAVARIANT"}, ".2.139821926229248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "COVARIANT"}, "139821926229584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384256"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rdivmod__"]}, "139821976384256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229584", "args": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}]}, {"nodeId": ".1.139821926229584"}], "returnType": {"nodeId": ".2.139821926229584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926229584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "CONTRAVARIANT"}, ".2.139821926229584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "COVARIANT"}, "139821926229920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384704"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139821926229920"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821976384704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229920", "args": [{"nodeId": ".1.139821926229920"}]}], "returnType": {"nodeId": ".1.139821926229920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926229920": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229920", "variance": "COVARIANT"}, "139821926230256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385152"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139821926230256"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821976385152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230256", "args": [{"nodeId": ".1.139821926230256"}]}], "returnType": {"nodeId": ".1.139821926230256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926230256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230256", "variance": "COVARIANT"}, "139821926231264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386944"}, "name": "items"}], "typeVars": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["items"]}, "139821976386944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231264", "args": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821904776208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231264": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, ".2.139821926231264": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, "139821904776208": {"type": "Tuple", "items": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}, "139821926231936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882624"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883072"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__"]}, "139822000882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926231936": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "CONTRAVARIANT"}, ".2.139821926231936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "COVARIANT"}, "139822000883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": ".1.139821926231936"}], "returnType": {"nodeId": ".2.139821926231936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883968"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "bases": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "139822000883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821926232272": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "CONTRAVARIANT"}, ".2.139821926232272": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "INVARIANT"}, "139822000883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232608": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884416"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["fileno"]}, "139822000884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926233280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885312"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233280"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233280", "args": [{"nodeId": ".1.139821926233280"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926233280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926233280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233280", "variance": "COVARIANT"}, "139821926233616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885760"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233616"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233616", "args": [{"nodeId": ".1.139821926233616"}]}], "returnType": {"nodeId": ".1.139821926233616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926233616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233616", "variance": "COVARIANT"}, "139821926234288": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000887104"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.139821926234288"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822000887104": {"type": "Function", "typeVars": [".-1.139822000887104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926234288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822000887104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.139821926234288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926234288", "variance": "COVARIANT"}, ".-1.139822000887104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000887104", "variance": "INVARIANT"}, "139821925476592": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385600"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892928"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893376"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894272"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000891584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894720"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385712"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896512"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896960"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386384"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "isAbstract": false}, ".1.139821925476592": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, ".2.139821925476592": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, "139821909385600": {"type": "Overloaded", "items": [{"nodeId": "139822000888896"}, {"nodeId": "139821992735488"}, {"nodeId": "139822000889792"}, {"nodeId": "139822000889344"}, {"nodeId": "139822000890688"}, {"nodeId": "139822000890240"}, {"nodeId": "139822000891136"}]}, "139822000888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992735488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821909386608": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139822000890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386832"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821909386832": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, "139822000891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": ".2.139821925476592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822000893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000891584": {"type": "Function", "typeVars": [".-1.139822000891584"], "argTypes": [{"nodeId": ".-1.139822000891584"}], "returnType": {"nodeId": ".-1.139822000891584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000891584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000891584", "variance": "INVARIANT"}, "139822000894720": {"type": "Function", "typeVars": [".-1.139822000894720"], "argTypes": [{"nodeId": ".-1.139822000894720"}], "returnType": {"nodeId": ".-1.139822000894720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000894720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000894720", "variance": "INVARIANT"}, "139821909385712": {"type": "Overloaded", "items": [{"nodeId": "139822000895616"}, {"nodeId": "139822000896064"}]}, "139822000895616": {"type": "Function", "typeVars": [".-1.139822000895616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000895616"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000895616"}, {"nodeId": "139821909387168"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000895616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895616", "variance": "INVARIANT"}, "139821909387168": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822000896064": {"type": "Function", "typeVars": [".-1.139822000896064", ".-2.139822000896064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000896064"}]}, {"nodeId": ".-2.139822000896064"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896064"}, {"nodeId": ".-2.139822000896064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000896064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, ".-2.139822000896064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, "139822000896512": {"type": "Function", "typeVars": [".-1.139822000896512", ".-2.139822000896512"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387280"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387392"}, {"nodeId": "139821909387504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387280": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}]}, ".-1.139822000896512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, ".-2.139822000896512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, "139821909387392": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896512"}]}, "139821909387504": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896512"}]}, "139822000896960": {"type": "Function", "typeVars": [".-1.139822000896960", ".-2.139822000896960"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387616"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387728"}, {"nodeId": "139821909387840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387616": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}]}, ".-1.139822000896960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, ".-2.139822000896960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, "139821909387728": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896960"}]}, "139821909387840": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896960"}]}, "139821909386384": {"type": "Overloaded", "items": [{"nodeId": "139822000895168"}, {"nodeId": "139822000897408"}]}, "139822000895168": {"type": "Function", "typeVars": [".-1.139822000895168"], "argTypes": [{"nodeId": ".-1.139822000895168"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": ".-1.139822000895168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000895168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895168", "variance": "INVARIANT"}, "139822000897408": {"type": "Function", "typeVars": [".-1.139822000897408"], "argTypes": [{"nodeId": ".-1.139822000897408"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909388176"}]}], "returnType": {"nodeId": ".-1.139822000897408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000897408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000897408", "variance": "INVARIANT"}, "139821909388176": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139821925476928": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997376896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379584"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909387952"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388288"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997381824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997380480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382272"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382720"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383168"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383616"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384064"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384960"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385408"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385856"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386304"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386752"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997387648"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997388096"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388848"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389440"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.139821925476928"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925476928"}]}], "isAbstract": false}, ".1.139821925476928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476928", "variance": "INVARIANT"}, "139821909386944": {"type": "Overloaded", "items": [{"nodeId": "139821997376000"}, {"nodeId": "139821997376448"}]}, "139821997376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "139821997376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "139821997376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388400"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388512"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388512": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388624"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388624": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388736"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388736": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909387952": {"type": "Overloaded", "items": [{"nodeId": "139821997380032"}, {"nodeId": "139821997375552"}]}, "139821997380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997375552": {"type": "Function", "typeVars": [".-1.139821997375552"], "argTypes": [{"nodeId": ".-1.139821997375552"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": ".-1.139821997375552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997375552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997375552", "variance": "INVARIANT"}, "139821909388288": {"type": "Overloaded", "items": [{"nodeId": "139821997380928"}, {"nodeId": "139821997381376"}]}, "139821997380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909389072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389072": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997380480": {"type": "Function", "typeVars": [".-1.139821997380480"], "argTypes": [{"nodeId": ".-1.139821997380480"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997380480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997380480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997380480", "variance": "INVARIANT"}, "139821997382272": {"type": "Function", "typeVars": [".-1.139821997382272"], "argTypes": [{"nodeId": ".-1.139821997382272"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382272", "variance": "INVARIANT"}, "139821997382720": {"type": "Function", "typeVars": [".-1.139821997382720"], "argTypes": [{"nodeId": ".-1.139821997382720"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382720", "variance": "INVARIANT"}, "139821997383168": {"type": "Function", "typeVars": [".-1.139821997383168"], "argTypes": [{"nodeId": ".-1.139821997383168"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383168", "variance": "INVARIANT"}, "139821997383616": {"type": "Function", "typeVars": [".-1.139821997383616"], "argTypes": [{"nodeId": ".-1.139821997383616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383616", "variance": "INVARIANT"}, "139821997384064": {"type": "Function", "typeVars": [".-1.139821997384064"], "argTypes": [{"nodeId": ".-1.139821997384064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997384064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997384064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384064", "variance": "INVARIANT"}, "139821997384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997385408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "139821997385856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "139821997386304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997384512": {"type": "Function", "typeVars": [".-1.139821997384512"], "argTypes": [{"nodeId": ".-1.139821997384512"}], "returnType": {"nodeId": ".-1.139821997384512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997384512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384512", "variance": "INVARIANT"}, "139821997386752": {"type": "Function", "typeVars": [".-1.139821997386752"], "argTypes": [{"nodeId": ".-1.139821997386752"}], "returnType": {"nodeId": ".-1.139821997386752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997386752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997386752", "variance": "INVARIANT"}, "139821997387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997388096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "139821909388848": {"type": "Overloaded", "items": [{"nodeId": "139821997387200"}, {"nodeId": "139821997388992"}]}, "139821997387200": {"type": "Function", "typeVars": [".-1.139821997387200"], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".-1.139821997387200"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821997387200": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821997387200", "variance": "INVARIANT"}, "139821997388992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909301216"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821909301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821909389520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909389520": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821997389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139821925477264": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997391232"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015104"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016896"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017344"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017792"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019584"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020032"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020480"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020928"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021376"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021824"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997022272"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023616"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024064"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024512"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024960"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997025856"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026304"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026752"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027200"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027648"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028096"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028544"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028992"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029440"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029888"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030336"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030784"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989101632"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102080"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102528"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102976"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103424"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103872"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105664"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388960"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107008"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108352"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108800"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109248"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109696"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110144"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111488"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111936"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112384"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112832"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113280"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113728"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114176"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114624"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989115072"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821925477264"}]}], "isAbstract": false}, "139821997389888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821997390336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821909389632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909389632": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821997015552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389744"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389856"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389968"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389968": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390080"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909390080": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997017344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997017792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997018240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997018688": {"type": "Function", "typeVars": [".-1.139821997018688"], "argTypes": [{"nodeId": ".-1.139821997018688"}, {"nodeId": "139821909390192"}], "returnType": {"nodeId": ".-1.139821997018688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997018688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997018688", "variance": "INVARIANT"}, "139821909390192": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997019136": {"type": "Function", "typeVars": [".-1.139821997019136"], "argTypes": [{"nodeId": ".-1.139821997019136"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019136", "variance": "INVARIANT"}, "139821997019584": {"type": "Function", "typeVars": [".-1.139821997019584"], "argTypes": [{"nodeId": ".-1.139821997019584"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019584"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019584", "variance": "INVARIANT"}, "139821997020032": {"type": "Function", "typeVars": [".-1.139821997020032"], "argTypes": [{"nodeId": ".-1.139821997020032"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020032", "variance": "INVARIANT"}, "139821997020480": {"type": "Function", "typeVars": [".-1.139821997020480"], "argTypes": [{"nodeId": ".-1.139821997020480"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020480", "variance": "INVARIANT"}, "139821997020928": {"type": "Function", "typeVars": [".-1.139821997020928"], "argTypes": [{"nodeId": ".-1.139821997020928"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997020928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020928", "variance": "INVARIANT"}, "139821997021376": {"type": "Function", "typeVars": [".-1.139821997021376"], "argTypes": [{"nodeId": ".-1.139821997021376"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997021376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021376", "variance": "INVARIANT"}, "139821997021824": {"type": "Function", "typeVars": [".-1.139821997021824"], "argTypes": [{"nodeId": ".-1.139821997021824"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997021824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021824", "variance": "INVARIANT"}, "139821997022272": {"type": "Function", "typeVars": [".-1.139821997022272"], "argTypes": [{"nodeId": ".-1.139821997022272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997022272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997022272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997022272", "variance": "INVARIANT"}, "139821997023168": {"type": "Function", "typeVars": [".-1.139821997023168"], "argTypes": [{"nodeId": ".-1.139821997023168"}], "returnType": {"nodeId": ".-1.139821997023168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023168", "variance": "INVARIANT"}, "139821997023616": {"type": "Function", "typeVars": [".-1.139821997023616"], "argTypes": [{"nodeId": ".-1.139821997023616"}], "returnType": {"nodeId": ".-1.139821997023616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023616", "variance": "INVARIANT"}, "139821997024064": {"type": "Function", "typeVars": [".-1.139821997024064"], "argTypes": [{"nodeId": ".-1.139821997024064"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997024064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821997024064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997024064", "variance": "INVARIANT"}, "139821997024512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390528"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909390528": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997024960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390640"}, {"nodeId": "139821909390752"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821909390640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909390752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821997025856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390864"}, {"nodeId": "139821909390976"}, {"nodeId": "139821909391088"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "139821909390864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821909390976": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909391088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821997026304": {"type": "Function", "typeVars": [".-1.139821997026304"], "argTypes": [{"nodeId": ".-1.139821997026304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997026304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.139821997026304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997026304", "variance": "INVARIANT"}, "139821997026752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909391200"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909391200": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997027200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139821997027648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139821997028096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821997028544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989104320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821989104768": {"type": "Function", "typeVars": [".-1.139821989104768"], "argTypes": [{"nodeId": ".-1.139821989104768"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989104768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989104768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989104768", "variance": "INVARIANT"}, "139821989105216": {"type": "Function", "typeVars": [".-1.139821989105216"], "argTypes": [{"nodeId": ".-1.139821989105216"}], "returnType": {"nodeId": ".-1.139821989105216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989105216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105216", "variance": "INVARIANT"}, "139821989105664": {"type": "Function", "typeVars": [".-1.139821989105664"], "argTypes": [{"nodeId": ".-1.139821989105664"}, {"nodeId": "139821909391760"}], "returnType": {"nodeId": ".-1.139821989105664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989105664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105664", "variance": "INVARIANT"}, "139821909391760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909388960": {"type": "Overloaded", "items": [{"nodeId": "139821989106112"}, {"nodeId": "139821989106560"}]}, "139821989106112": {"type": "Function", "typeVars": [".-1.139821989106112"], "argTypes": [{"nodeId": "139821909392096"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "139821909392096": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821909391984"}, {"nodeId": ".-1.139821989106112"}]}]}, ".-1.139821989106112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989106112", "variance": "INVARIANT"}, "139821909391984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821989106560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821909392208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "139821909392208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989107008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909392432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821909392432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989107456": {"type": "Function", "typeVars": [".-1.139821989107456"], "argTypes": [{"nodeId": ".-1.139821989107456"}, {"nodeId": "139821909392544"}], "returnType": {"nodeId": ".-1.139821989107456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107456", "variance": "INVARIANT"}, "139821909392544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989107904": {"type": "Function", "typeVars": [".-1.139821989107904"], "argTypes": [{"nodeId": ".-1.139821989107904"}, {"nodeId": "139821909392656"}], "returnType": {"nodeId": ".-1.139821989107904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107904", "variance": "INVARIANT"}, "139821909392656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108352": {"type": "Function", "typeVars": [".-1.139821989108352"], "argTypes": [{"nodeId": ".-1.139821989108352"}, {"nodeId": "139821909392768"}, {"nodeId": "139821909392880"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989108352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.139821989108352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989108352", "variance": "INVARIANT"}, "139821909392768": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821909392880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909392992"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909392992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909393104"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909393104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109696": {"type": "Function", "typeVars": [".-1.139821989109696"], "argTypes": [{"nodeId": ".-1.139821989109696"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989109696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989109696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989109696", "variance": "INVARIANT"}, "139821989110144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904445616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821904445616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989110592": {"type": "Function", "typeVars": [".-1.139821989110592"], "argTypes": [{"nodeId": ".-1.139821989110592"}, {"nodeId": "139821904445728"}], "returnType": {"nodeId": ".-1.139821989110592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989110592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989110592", "variance": "INVARIANT"}, "139821904445728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445840"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445952"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821989112384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904446064"}, {"nodeId": "139821904446176"}, {"nodeId": "139821904446288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "139821904446064": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904446176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989112832": {"type": "Function", "typeVars": [".-1.139821989112832"], "argTypes": [{"nodeId": ".-1.139821989112832"}, {"nodeId": "139821904446400"}], "returnType": {"nodeId": ".-1.139821989112832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989112832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989112832", "variance": "INVARIANT"}, "139821904446400": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989113280": {"type": "Function", "typeVars": [".-1.139821989113280"], "argTypes": [{"nodeId": ".-1.139821989113280"}], "returnType": {"nodeId": ".-1.139821989113280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113280", "variance": "INVARIANT"}, "139821989113728": {"type": "Function", "typeVars": [".-1.139821989113728"], "argTypes": [{"nodeId": ".-1.139821989113728"}], "returnType": {"nodeId": ".-1.139821989113728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113728", "variance": "INVARIANT"}, "139821989114176": {"type": "Function", "typeVars": [".-1.139821989114176"], "argTypes": [{"nodeId": ".-1.139821989114176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989114176"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.139821989114176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114176", "variance": "INVARIANT"}, "139821989114624": {"type": "Function", "typeVars": [".-1.139821989114624"], "argTypes": [{"nodeId": ".-1.139821989114624"}], "returnType": {"nodeId": ".-1.139821989114624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989114624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114624", "variance": "INVARIANT"}, "139821989115072": {"type": "Function", "typeVars": [".-1.139821989115072"], "argTypes": [{"nodeId": ".-1.139821989115072"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989115072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.139821989115072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989115072", "variance": "INVARIANT"}, "139821925477600": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862498848"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909389184"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989116864"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989117312"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988331584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332032"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332480"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332928"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333376"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333824"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334720"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335168"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335616"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336064"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337408"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337856"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338304"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338752"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339200"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339648"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340096"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340544"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340992"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341888"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342336"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925477600"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925477600"}]}], "isAbstract": false}, "139821862498848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821904446624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925477600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477600", "variance": "INVARIANT"}, "139821904446624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909389184": {"type": "Overloaded", "items": [{"nodeId": "139821989115968"}, {"nodeId": "139821989116416"}]}, "139821989115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "139821904446848": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "139821904446960": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988331584": {"type": "Function", "typeVars": [".-1.139821988331584"], "argTypes": [{"nodeId": ".-1.139821988331584"}], "returnType": {"nodeId": ".-1.139821988331584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988331584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988331584", "variance": "INVARIANT"}, "139821988332032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988333376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821988333824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821988334272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988334720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988335168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988335616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988336064": {"type": "Function", "typeVars": [".-1.139821988336064"], "argTypes": [{"nodeId": ".-1.139821988336064"}], "returnType": {"nodeId": ".-1.139821988336064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988336064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988336064", "variance": "INVARIANT"}, "139821988336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988336960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988337856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338752": {"type": "Function", "typeVars": [".-1.139821988338752"], "argTypes": [{"nodeId": ".-1.139821988338752"}], "returnType": {"nodeId": "139821904447408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988338752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988338752", "variance": "INVARIANT"}, "139821904447408": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821904447184"}, {"nodeId": "N"}, {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477600"}]}]}, "139821904447184": {"type": "Tuple", "items": []}, "139821988339200": {"type": "Function", "typeVars": [".-1.139821988339200"], "argTypes": [{"nodeId": ".-1.139821988339200"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".-1.139821988339200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339200", "variance": "INVARIANT"}, "139821988339648": {"type": "Function", "typeVars": [".-1.139821988339648"], "argTypes": [{"nodeId": ".-1.139821988339648"}, {"nodeId": ".-1.139821988339648"}], "returnType": {"nodeId": ".-1.139821988339648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339648", "variance": "INVARIANT"}, "139821988340096": {"type": "Function", "typeVars": [".-1.139821988340096"], "argTypes": [{"nodeId": ".-1.139821988340096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340096", "variance": "INVARIANT"}, "139821988340544": {"type": "Function", "typeVars": [".-1.139821988340544"], "argTypes": [{"nodeId": ".-1.139821988340544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340544": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340544", "variance": "INVARIANT"}, "139821988340992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925301408": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909391872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345024"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345472"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345920"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862613312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904446736"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904447632"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988431680"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432576"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433024"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433472"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433920"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435264"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435712"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436160"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436608"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437056"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437504"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437952"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438400"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438848"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439296"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439744"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821925301408"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821909391872": {"type": "Overloaded", "items": [{"nodeId": "139821988343232"}, {"nodeId": "139821988343680"}, {"nodeId": "139821988344128"}, {"nodeId": "139821988344576"}]}, "139821988343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821925301408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301408", "variance": "INVARIANT"}, "139821988343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988344128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988344576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988345024": {"type": "Function", "typeVars": [".-1.139821988345024"], "argTypes": [{"nodeId": ".-1.139821988345024"}], "returnType": {"nodeId": ".-1.139821988345024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988345024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988345024", "variance": "INVARIANT"}, "139821988345472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821904447744"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821904447968"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821904447744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904447968": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, "139821862613312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "139821904448192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "139821904448192": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446736": {"type": "Overloaded", "items": [{"nodeId": "139821988346816"}, {"nodeId": "139821988347264"}, {"nodeId": "139821988429888"}]}, "139821988346816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988347264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988429888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904447632": {"type": "Overloaded", "items": [{"nodeId": "139821988430336"}, {"nodeId": "139821988430784"}, {"nodeId": "139821988431232"}]}, "139821988430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": ".1.139821925301408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988432128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988432576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433472": {"type": "Function", "typeVars": [".-1.139821988433472"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988433472"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988433472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988433472", "variance": "INVARIANT"}, "139821904448528": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988433472"}]}, "139821988433920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434816": {"type": "Function", "typeVars": [".-1.139821988434816"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988434816"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988434816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988434816", "variance": "INVARIANT"}, "139821904448640": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988434816"}]}, "139821988435264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988435712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988436160": {"type": "Function", "typeVars": [".-1.139821988436160"], "argTypes": [{"nodeId": ".-1.139821988436160"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436160", "variance": "INVARIANT"}, "139821988436608": {"type": "Function", "typeVars": [".-1.139821988436608"], "argTypes": [{"nodeId": ".-1.139821988436608"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436608", "variance": "INVARIANT"}, "139821988437056": {"type": "Function", "typeVars": [".-1.139821988437056"], "argTypes": [{"nodeId": ".-1.139821988437056"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437056", "variance": "INVARIANT"}, "139821988437504": {"type": "Function", "typeVars": [".-1.139821988437504"], "argTypes": [{"nodeId": ".-1.139821988437504"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437504": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437504", "variance": "INVARIANT"}, "139821988437952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988438400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988438848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926219840": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440192"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926219840"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821926219840"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926219840"}]}], "isAbstract": false}, "139821988440192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926219840", "args": [{"nodeId": ".1.139821926219840"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926219840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926219840": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926219840", "variance": "COVARIANT"}, "139821926220176": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440640"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700272"}]}], "isAbstract": false}, "139821988440640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220176", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220176": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, ".2.139821926220176": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, "139821904449312": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821938700272": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821926220512": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441088"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220512"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821926220512"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926220512"}]}], "isAbstract": false}, "139821988441088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220512", "args": [{"nodeId": ".1.139821926220512"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926220512"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220512": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220512", "variance": "COVARIANT"}, "139821925477936": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441536"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}], "bases": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925477936"}]}], "isAbstract": false}, "139821988441536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477936"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925477936": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, ".2.139821925477936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, "139821925478272": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441984"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}], "bases": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700496"}]}], "isAbstract": false}, "139821988441984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478272": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, ".2.139821925478272": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, "139821904449536": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821938700496": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821925478608": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442432"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}], "bases": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".2.139821925478608"}]}], "isAbstract": false}, "139821988442432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".2.139821925478608"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478608": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, ".2.139821925478608": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, "139821925478944": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442880"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443328"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444224"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444672"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445120"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445568"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448304"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448416"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925478944"}]}], "isAbstract": false}, "139821988442880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904449760"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.139821925478944": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, ".2.139821925478944": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, "139821904449760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "139821988443328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "139821988443776": {"type": "Function", "typeVars": [".-1.139821988443776"], "argTypes": [{"nodeId": ".-1.139821988443776"}], "returnType": {"nodeId": ".-1.139821988443776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988443776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988443776", "variance": "INVARIANT"}, "139821988444224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988444672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904448304": {"type": "Overloaded", "items": [{"nodeId": "139821988741184"}, {"nodeId": "139821988741632"}]}, "139821988741184": {"type": "Function", "typeVars": [".-1.139821988741184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741184"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741184"}, {"nodeId": "139821904450096"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741184", "variance": "INVARIANT"}, "139821904450096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988741632": {"type": "Function", "typeVars": [".-1.139821988741632", ".-2.139821988741632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741632"}]}, {"nodeId": ".-2.139821988741632"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741632"}, {"nodeId": ".-2.139821988741632"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, ".-2.139821988741632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, "139821904448416": {"type": "Overloaded", "items": [{"nodeId": "139821988742080"}, {"nodeId": "139821988742528"}]}, "139821988742080": {"type": "Function", "typeVars": [".-1.139821988742080"], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": "139821904450320"}]}, {"nodeId": ".1.139821925478944"}], "returnType": {"nodeId": "139821904450432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821904450320": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, ".-1.139821988742080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988742080", "variance": "INVARIANT"}, "139821904450432": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, "139821988742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "returnType": {"nodeId": ".2.139821925478944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "139821925301744": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904449872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988746560"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747008"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747456"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "isAbstract": false}, "139821942645120": {"type": "Union", "items": [{"nodeId": "139821938738112"}, {"nodeId": "N"}]}, "139821938738112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, ".2.139821925301744": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821904449872": {"type": "Overloaded", "items": [{"nodeId": "139821988742976"}, {"nodeId": "139821988743424"}, {"nodeId": "139821988743872"}, {"nodeId": "139821988744320"}, {"nodeId": "139821988744768"}, {"nodeId": "139821988745216"}, {"nodeId": "139821988745664"}, {"nodeId": "139821988746112"}]}, "139821988742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925301744": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821988743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821988743872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904450656": {"type": "Union", "items": [{"nodeId": "139821909301664"}, {"nodeId": "N"}]}, "139821909301664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450768"}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821904450768": {"type": "Union", "items": [{"nodeId": "139821909301888"}, {"nodeId": "N"}]}, "139821909301888": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450880"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904450880": {"type": "Union", "items": [{"nodeId": "139821909302112"}, {"nodeId": "N"}]}, "139821909302112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450992"}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904450992": {"type": "Union", "items": [{"nodeId": "139821909302336"}, {"nodeId": "N"}]}, "139821909302336": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451104"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904451104": {"type": "Union", "items": [{"nodeId": "139821909302560"}, {"nodeId": "N"}]}, "139821909302560": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451328": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, "139821988746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451440"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451664"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904451440": {"type": "Union", "items": [{"nodeId": "139821909302784"}, {"nodeId": "N"}]}, "139821909302784": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, "139821988746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".1.139821925301744"}], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988747008": {"type": "Function", "typeVars": [".-1.139821988747008"], "argTypes": [{"nodeId": ".-1.139821988747008"}], "returnType": {"nodeId": ".-1.139821988747008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747008", "variance": "INVARIANT"}, "139821988747456": {"type": "Function", "typeVars": [".-1.139821988747456"], "argTypes": [{"nodeId": ".-1.139821988747456"}], "returnType": {"nodeId": ".-1.139821988747456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747456", "variance": "INVARIANT"}, "139821925479280": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988748352"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862917888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749248"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749696"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750144"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751936"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752384"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752832"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450208"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988754176"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862920352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450544"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755520"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755968"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904451888"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "isAbstract": false}, ".1.139821925479280": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, ".2.139821925479280": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, "139821988747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "139821988748352": {"type": "Function", "typeVars": [".-1.139821988748352"], "argTypes": [{"nodeId": ".-1.139821988748352"}, {"nodeId": "139821904451776"}], "returnType": {"nodeId": ".-1.139821988748352"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.139821988748352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988748352", "variance": "INVARIANT"}, "139821904451776": {"type": "Union", "items": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "N"}]}, "139821862917888": {"type": "Function", "typeVars": [".-1.139821862917888"], "argTypes": [{"nodeId": ".-1.139821862917888"}], "returnType": {"nodeId": ".-1.139821862917888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862917888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862917888", "variance": "INVARIANT"}, "139821988749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925479280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904450208": {"type": "Overloaded", "items": [{"nodeId": "139821988753280"}, {"nodeId": "139821988753728"}]}, "139821988753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988753728": {"type": "Function", "typeVars": [".-1.139821988753728"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": "139821904452000"}], "returnType": {"nodeId": "139821904452112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904452000": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, ".-1.139821988753728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988753728", "variance": "INVARIANT"}, "139821904452112": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, "139821988754176": {"type": "Function", "typeVars": [".-1.139821988754176"], "argTypes": [{"nodeId": ".-1.139821988754176"}], "returnType": {"nodeId": ".-1.139821988754176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988754176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754176", "variance": "INVARIANT"}, "139821862920352": {"type": "Function", "typeVars": [".-1.139821862920352"], "argTypes": [{"nodeId": ".-1.139821862920352"}], "returnType": {"nodeId": ".-1.139821862920352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862920352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862920352", "variance": "INVARIANT"}, "139821904450544": {"type": "Overloaded", "items": [{"nodeId": "139821988754624"}, {"nodeId": "139821988755072"}]}, "139821988754624": {"type": "Function", "typeVars": [".-1.139821988754624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988754624"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988754624"}, {"nodeId": "139821904452448"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.139821988754624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754624", "variance": "INVARIANT"}, "139821904452448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988755072": {"type": "Function", "typeVars": [".-1.139821988755072", ".-2.139821988755072"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988755072"}]}, {"nodeId": ".-2.139821988755072"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988755072"}, {"nodeId": ".-2.139821988755072"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821988755072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, ".-2.139821988755072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, "139821988755520": {"type": "Function", "typeVars": [".-1.139821988755520", ".-2.139821988755520"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755520"}, {"nodeId": ".-2.139821988755520"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452560"}, {"nodeId": "139821904452672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755520": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, ".-2.139821988755520": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, "139821904452560": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755520"}]}, "139821904452672": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755520"}]}, "139821988755968": {"type": "Function", "typeVars": [".-1.139821988755968", ".-2.139821988755968"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755968"}, {"nodeId": ".-2.139821988755968"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452784"}, {"nodeId": "139821904452896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755968": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, ".-2.139821988755968": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, "139821904452784": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755968"}]}, "139821904452896": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755968"}]}, "139821904451888": {"type": "Overloaded", "items": [{"nodeId": "139821988756416"}, {"nodeId": "139821988756864"}]}, "139821988756416": {"type": "Function", "typeVars": [".-1.139821988756416"], "argTypes": [{"nodeId": ".-1.139821988756416"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": ".-1.139821988756416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756416", "variance": "INVARIANT"}, "139821988756864": {"type": "Function", "typeVars": [".-1.139821988756864"], "argTypes": [{"nodeId": ".-1.139821988756864"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904453232"}]}], "returnType": {"nodeId": ".-1.139821988756864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756864", "variance": "INVARIANT"}, "139821904453232": {"type": "Tuple", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, "139821925752432": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988839936"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["find_spec"]}, "139821988839936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752432"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913031392"}, {"nodeId": "139821913031504"}], "returnType": {"nodeId": "139821913031616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821913031392": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821913031504": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821925746384": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925541792"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891769216"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542352"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542576"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688768", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971808640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971809088"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925541792": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821891769216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542352": {"type": "Union", "items": [{"nodeId": "139821925746048"}, {"nodeId": "N"}]}, "139821925746048": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807744"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["load_module"]}, "139821971807744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746048"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821925542576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925542688": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652160": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954492320"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650272"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650496"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650400"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650512"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870852672"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954493216"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821954492320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953232"}, {"nodeId": "139821908953344"}, {"nodeId": "A"}, {"nodeId": "139821908953568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "139821908953232": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821929653168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027456"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027904"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028352"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028800"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821951027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821951028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908957152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821908957152": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821951028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821908953344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908953568": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821921650272": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921650496": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934650400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821934650512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870852672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908953680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908953680": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954493216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971808640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}, {"nodeId": "139821912823104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "139821912823104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821971809088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913031616": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821921426720": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892205728"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272416"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272640"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272864"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273088"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273312"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273536"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273760"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273984"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274208"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274432"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274656"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274880"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275104"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275328"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892276000"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032176"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032176": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032288": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032400": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032624": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032736"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032736": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892276000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427056": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277120"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277568"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277792"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278016"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278240"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278464"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278688"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278912"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279136"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279360"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279584"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892277120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033632": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033744": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033856": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033968"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033968": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034080": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034192": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034304": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034416": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034528"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034528": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034640": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034752"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034752": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427392": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892280928"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281152"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281376"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281824"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282048"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282272"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282496"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282720"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480576"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892280928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034864"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034976": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035088"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035088": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035312": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035536"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035536": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035648"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035648": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035760"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035760": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921480576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, "139821925752768": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921480464"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005814656"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921480464": {"type": "TypeAlias", "target": {"nodeId": "139821921794112"}}, "139821921794112": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139822005814656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921427728": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284736"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284960"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285184"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285408"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892284736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892284960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036096": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036208": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036320"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921428064": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285632"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286752"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286976"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287200"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287424"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892285632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036432"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036432": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036544": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036656": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036768"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036880": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821925753104": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921863824"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921534464"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921537488"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925546496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863824": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921534464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821921537488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925546496": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821921428400": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372512"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480688"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821921548912"}]}], "isAbstract": false}, "139821892372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039456"}], "returnType": {"nodeId": "139821913039568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039456": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821921864048": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821925547728": {"type": "Union", "items": [{"nodeId": "139821946895744"}, {"nodeId": "N"}]}, "139821946895744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921537600": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821913039568": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821892372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039680"}], "returnType": {"nodeId": "139821913039792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039680": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821913039792": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921480688": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921548912": {"type": "Union", "items": [{"nodeId": "139821900540032"}, {"nodeId": "N"}]}, "139821900540032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925300064": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005999584"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300064"}], "bases": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139821925300064"}]}], "isAbstract": false}, "139822005999584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300064", "args": [{"nodeId": ".1.139821925300064"}]}, {"nodeId": "139821909305472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300064": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300064", "variance": "COVARIANT"}, "139821909305472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300400": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006000032"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300400"}], "bases": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139821925300400"}]}], "isAbstract": false}, "139822006000032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300400", "args": [{"nodeId": ".1.139821925300400"}]}, {"nodeId": "139821909304800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300400": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300400", "variance": "COVARIANT"}, "139821909304800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300400"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300736": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139821942968992"}], "isAbstract": false}, "139821925301072": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938731248": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006002048"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867114208"}}], "typeVars": [{"nodeId": ".1.139821938731248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__enter__", "__exit__"]}, "139822006002048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}], "returnType": {"nodeId": ".1.139821938731248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821938731248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731248", "variance": "COVARIANT"}, "139821867114208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}, {"nodeId": "139821909380448"}, {"nodeId": "139821909380560"}, {"nodeId": "139821909380672"}], "returnType": {"nodeId": "139821909380784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909380448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909380560": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909380672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909380784": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731584": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909297856"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867111744"}}], "typeVars": [{"nodeId": ".1.139821938731584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "139821909297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938731584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821938731584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731584", "variance": "COVARIANT"}, "139821867111744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}, {"nodeId": "139821909381008"}, {"nodeId": "139821909381120"}, {"nodeId": "139821909381232"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909381344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909381008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909381120": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909381232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909381344": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731920": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006003840"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006003840": {"type": "Function", "typeVars": [".-1.139822006003840"], "argTypes": [{"nodeId": "139821938731920"}, {"nodeId": ".-1.139822006003840"}], "returnType": {"nodeId": ".-1.139822006003840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006003840": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "139821938739008"}, "def": "139822006003840", "variance": "INVARIANT"}, "139821938739008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732256": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004288"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938738336"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004736"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938732256"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821938731920"}], "isAbstract": false}, "139822006004288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909297632"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732256", "variance": "COVARIANT"}, "139821909297632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821938732256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938738336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822006004736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909381904"}, {"nodeId": "139821909382016"}, {"nodeId": "139821909382128"}], "returnType": {"nodeId": "139821909382240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909381904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382016": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382128": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909382240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938732592": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006005632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006005632": {"type": "Function", "typeVars": [".-1.139822006005632"], "argTypes": [{"nodeId": "139821938732592"}, {"nodeId": ".-1.139822006005632"}], "returnType": {"nodeId": ".-1.139822006005632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006005632": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "139821938738784"}, "def": "139822006005632", "variance": "INVARIANT"}, "139821938738784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732928": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006006080"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933918048"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909299200"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938732928"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821938732592"}], "isAbstract": false}, "139822006006080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909299424"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732928", "variance": "COVARIANT"}, "139821909299424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139821938732928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821933918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821909299200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909382688"}, {"nodeId": "139821909382800"}, {"nodeId": "139821909382912"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909383024"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "139821909382688": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382800": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382912": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909383024": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938733264": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008320"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close"]}, "139822006008320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938733600": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006009216"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938733600"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938733600"}]}], "isAbstract": false}, "139822006008768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": ".1.139821938733600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938733600": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "139821938733264"}, "def": "139821938733600", "variance": "INVARIANT"}, "139822006009216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938733936": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722496"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["aclose"]}, "139821992722496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733936"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938734272": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722944"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300096"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938734272"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938734272"}]}], "isAbstract": false}, "139821992722944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": ".1.139821938734272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938734272": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "139821938733936"}, "def": "139821938734272", "variance": "INVARIANT"}, "139821909300096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "139821938734608": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992723840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724288"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "139821992723840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "139821992724288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "139821909383360"}, {"nodeId": "139821909383472"}, {"nodeId": "139821909383584"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383472": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383584": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938734944": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725184"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938734944"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938734944"}]}], "isAbstract": false}, "139821992724736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": ".1.139821938734944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.139821938734944": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938734944", "variance": "INVARIANT"}, "139821934220496": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821992725184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": "139821909383696"}, {"nodeId": "139821909383808"}, {"nodeId": "139821909383920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383808": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383920": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938735280": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.139821938735280"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735280"}]}], "isAbstract": false}, ".1.139821938735280": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735280", "variance": "INVARIANT"}, "139821938735616": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.139821938735616"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735616"}]}], "isAbstract": false}, ".1.139821938735616": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735616", "variance": "INVARIANT"}, "139821938735952": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725632"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726528"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726976"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727424"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727872"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728320"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992725632": {"type": "Function", "typeVars": [".-1.139821992725632"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992725632"}]}], "returnType": {"nodeId": ".-1.139821992725632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992725632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992725632", "variance": "INVARIANT"}, "139821992726080": {"type": "Function", "typeVars": [".-1.139821992726080"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": ".-1.139821992726080"}], "returnType": {"nodeId": ".-1.139821992726080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992726080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992726080", "variance": "INVARIANT"}, "139821921655536": {"type": "Union", "items": [{"nodeId": "139821938731248", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921655312"}]}, "139821921655312": {"type": "TypeAlias", "target": {"nodeId": "139821934460512"}}, "139821934460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934215680"}, {"nodeId": "139821934216912"}, {"nodeId": "139821934215232"}], "returnType": {"nodeId": "139821934215456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934215680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821934216912": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821934215232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821934215456": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992726528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909300320"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909300320": {"type": "Function", "typeVars": [".-2.139821909300320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300320"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300320", "variance": "INVARIANT"}, "139821909300544": {"type": "Function", "typeVars": [".-2.139821909300544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300544"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300544", "variance": "INVARIANT"}, "139821992726976": {"type": "Function", "typeVars": [".-1.139821992726976"], "argTypes": [{"nodeId": ".-1.139821992726976"}], "returnType": {"nodeId": ".-1.139821992726976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992726976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992726976", "variance": "INVARIANT"}, "139821992727424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992727872": {"type": "Function", "typeVars": [".-1.139821992727872"], "argTypes": [{"nodeId": ".-1.139821992727872"}], "returnType": {"nodeId": ".-1.139821992727872"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821992727872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992727872", "variance": "INVARIANT"}, "139821992728320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909383248"}, {"nodeId": "139821909384144"}, {"nodeId": "139821909384256"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909384144": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909384256": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736288": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728768"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300768"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729664"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730112"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730560"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731008"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729216"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731456"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992732352"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731904"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992728768": {"type": "Function", "typeVars": [".-1.139821992728768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992728768"}]}], "returnType": {"nodeId": ".-1.139821992728768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992728768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992728768", "variance": "INVARIANT"}, "139821909300768": {"type": "Function", "typeVars": [".-1.139821909300768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731584", "args": [{"nodeId": ".-1.139821909300768"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821909300768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821909300768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300768", "variance": "INVARIANT"}, "139821992729664": {"type": "Function", "typeVars": [".-1.139821992729664"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992729664"}], "returnType": {"nodeId": ".-1.139821992729664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992729664": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992729664", "variance": "INVARIANT"}, "139821992730112": {"type": "Function", "typeVars": [".-1.139821992730112"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992730112"}], "returnType": {"nodeId": ".-1.139821992730112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992730112": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "139821921656544"}, "def": "139821992730112", "variance": "INVARIANT"}, "139821921656544": {"type": "Union", "items": [{"nodeId": "139821938731584", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921656880"}]}, "139821921656880": {"type": "TypeAlias", "target": {"nodeId": "139821933918272"}}, "139821933918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821933967088"}, {"nodeId": "139821938702176"}, {"nodeId": "139821938701840"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139821938701952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821933967088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821938702176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821938701840": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938701952": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992730560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909297184"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909297184": {"type": "Function", "typeVars": [".-2.139821909297184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909297184"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909297184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909297184", "variance": "INVARIANT"}, "139821909300992": {"type": "Function", "typeVars": [".-2.139821909300992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300992"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300992", "variance": "INVARIANT"}, "139821992731008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909296736"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909301440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909296736": {"type": "Function", "typeVars": [".-2.139821909296736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909296736"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909296736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909296736", "variance": "INVARIANT"}, "139821909301440": {"type": "Function", "typeVars": [".-2.139821909301440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909301440"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909301440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909301440", "variance": "INVARIANT"}, "139821992729216": {"type": "Function", "typeVars": [".-1.139821992729216"], "argTypes": [{"nodeId": ".-1.139821992729216"}], "returnType": {"nodeId": ".-1.139821992729216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992729216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992729216", "variance": "INVARIANT"}, "139821992731456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992732352": {"type": "Function", "typeVars": [".-1.139821992732352"], "argTypes": [{"nodeId": ".-1.139821992732352"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821992732352"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992732352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992732352", "variance": "INVARIANT"}, "139821992731904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909384816"}, {"nodeId": "139821909385152"}, {"nodeId": "139821909385264"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139822017681040"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909384816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909385152": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909385264": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736624": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938736624"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909384704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734144"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734592"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992733696"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992735040"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938736624"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938736624"}]}], "isAbstract": false}, ".1.139821938736624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938736624", "variance": "INVARIANT"}, "139821909384704": {"type": "Overloaded", "items": [{"nodeId": "139821992732800"}, {"nodeId": "139821992733248"}]}, "139821992732800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "139821992733248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": ".1.139821938736624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "139821992734144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": ".1.139821938736624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821992734592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821992733696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938736624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992735040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "139821925757136": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888057888"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888055872"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054976"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054304"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888053632"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052960"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913208112"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913344256"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345040"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345264"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992615648"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616096"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616544"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052288"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346384"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992619232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757136"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821888057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757136": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757136", "variance": "INVARIANT"}, "139821888055872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888054976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344816": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821888054304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344928": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821888053632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888052960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925757472": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887980928"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887981376"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982272"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346832"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348064"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348848"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349296"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349744"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350192"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350864"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913351312"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038496"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038944"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993039392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757472"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821887980928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757472", "variance": "INVARIANT"}, "139821887981376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": ".1.139821925757472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346832": {"type": "Overloaded", "items": [{"nodeId": "139821992621472"}, {"nodeId": "139821942391296"}]}, "139821992621472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913348960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913348960": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942391296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349072"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349072": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349184": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348064": {"type": "Overloaded", "items": [{"nodeId": "139821992622368"}, {"nodeId": "139821942396672"}]}, "139821992622368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349408": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942396672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349520"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349632": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348848": {"type": "Overloaded", "items": [{"nodeId": "139821992623264"}, {"nodeId": "139821942398464"}]}, "139821992623264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349856": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942398464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913350080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349968": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350080": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913349296": {"type": "Overloaded", "items": [{"nodeId": "139821993034016"}, {"nodeId": "139821942399360"}]}, "139821993034016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350416": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821942399360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913350528"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "A"}]}, "139821913349744": {"type": "Overloaded", "items": [{"nodeId": "139821993034912"}, {"nodeId": "139821942401152"}]}, "139821993034912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942401152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351088"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350192": {"type": "Overloaded", "items": [{"nodeId": "139821993035808"}, {"nodeId": "139821942399584"}]}, "139821993035808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942399584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351424"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351424": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350864": {"type": "Overloaded", "items": [{"nodeId": "139821993036704"}, {"nodeId": "139821942397120"}]}, "139821993036704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913351648"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942399136"}]}, "139821942399136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942397120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351872"}, {"nodeId": "139821913352096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351872": {"type": "Union", "items": [{"nodeId": "139821913351760"}, {"nodeId": "139821942406304"}]}, "139821913351760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942406304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913351984"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913351984": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352096": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913351312": {"type": "Overloaded", "items": [{"nodeId": "139821993037600"}, {"nodeId": "139821942395328"}]}, "139821993037600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913352320"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913352544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942397344"}]}, "139821942397344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821942395328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913352768"}, {"nodeId": "139821913352992"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913353216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352768": {"type": "Union", "items": [{"nodeId": "139821913352656"}, {"nodeId": "139821942396224"}]}, "139821913352656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942396224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913352880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352992": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913353216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821993038496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993038944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821993039392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821913208112": {"type": "Overloaded", "items": [{"nodeId": "139821992611616"}, {"nodeId": "139821942404064"}]}, "139821992611616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821942404064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913345152"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821913345152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913344256": {"type": "Overloaded", "items": [{"nodeId": "139821992612512"}, {"nodeId": "139821992612960"}, {"nodeId": "139821992613408"}]}, "139821992612512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992612960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345488"}], "returnType": {"nodeId": "139821913345712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821913345488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345712": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992613408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345824"}, {"nodeId": "139821913345936"}, {"nodeId": "139821913346048"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "139821913345824": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345936": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346048": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346272": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821913345040": {"type": "Overloaded", "items": [{"nodeId": "139821992613856"}, {"nodeId": "139821992614304"}]}, "139821992613856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346608"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346608": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992614304": {"type": "Function", "typeVars": [".-1.139821992614304"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992614304"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992614304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992614304", "variance": "INVARIANT"}, "139821913346720": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992614304"}]}, "139821913345264": {"type": "Overloaded", "items": [{"nodeId": "139821992614752"}, {"nodeId": "139821992615200"}]}, "139821992614752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347056": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992615200": {"type": "Function", "typeVars": [".-1.139821992615200"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992615200"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992615200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992615200", "variance": "INVARIANT"}, "139821913347168": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992615200"}]}, "139821992615648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347280"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347392"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347504"}], "returnType": {"nodeId": "139821913347728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347504": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913347728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821888052288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913347952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821913346384": {"type": "Overloaded", "items": [{"nodeId": "139821992617440"}, {"nodeId": "139821992617888"}]}, "139821992617440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821992617888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913348288"}], "returnType": {"nodeId": "139821913348512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913348288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913348512": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992618336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992618784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821992619232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921428736": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821929658544": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219616"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220064"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220512"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871455296"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871456192"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871457088"}}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929658208"}], "isAbstract": false}, "139821963219168": {"type": "Function", "typeVars": [".-1.139821963219168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821963219168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219168", "variance": "INVARIANT"}, "139821963219616": {"type": "Function", "typeVars": [".-1.139821963219616"], "argTypes": [{"nodeId": ".-1.139821963219616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963219616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219616", "variance": "INVARIANT"}, "139821963220064": {"type": "Function", "typeVars": [".-1.139821963220064"], "argTypes": [{"nodeId": ".-1.139821963220064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220064", "variance": "INVARIANT"}, "139821963220512": {"type": "Function", "typeVars": [".-1.139821963220512"], "argTypes": [{"nodeId": ".-1.139821963220512"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220512", "variance": "INVARIANT"}, "139821871455296": {"type": "Function", "typeVars": [".-1.139821871455296"], "argTypes": [{"nodeId": ".-1.139821871455296"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871455296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871455296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871455296", "variance": "INVARIANT"}, "139821871456192": {"type": "Function", "typeVars": [".-1.139821871456192"], "argTypes": [{"nodeId": ".-1.139821871456192"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871456192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871456192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871456192", "variance": "INVARIANT"}, "139821871457088": {"type": "Function", "typeVars": [".-1.139821871457088"], "argTypes": [{"nodeId": ".-1.139821871457088"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871457088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871457088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871457088", "variance": "INVARIANT"}, "139821929658208": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227664"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449024"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951318752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319200"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319648"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215136"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215584"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963216032"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "139821929657536"}], "isAbstract": false}, "139821934227664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821908966784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908966784": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951318752": {"type": "Function", "typeVars": [".-1.139821951318752"], "argTypes": [{"nodeId": ".-1.139821951318752"}, {"nodeId": ".-1.139821951318752"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951318752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951318752", "variance": "INVARIANT"}, "139821951319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951319648": {"type": "Function", "typeVars": [".-1.139821951319648"], "argTypes": [{"nodeId": ".-1.139821951319648"}, {"nodeId": ".-1.139821951319648"}], "returnType": {"nodeId": ".-1.139821951319648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951319648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951319648", "variance": "INVARIANT"}, "139821963215136": {"type": "Function", "typeVars": [".-1.139821963215136"], "argTypes": [{"nodeId": ".-1.139821963215136"}, {"nodeId": ".-1.139821963215136"}], "returnType": {"nodeId": ".-1.139821963215136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215136", "variance": "INVARIANT"}, "139821963215584": {"type": "Function", "typeVars": [".-1.139821963215584"], "argTypes": [{"nodeId": ".-1.139821963215584"}, {"nodeId": ".-1.139821963215584"}], "returnType": {"nodeId": ".-1.139821963215584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215584", "variance": "INVARIANT"}, "139821963216032": {"type": "Function", "typeVars": [".-1.139821963216032"], "argTypes": [{"nodeId": ".-1.139821963216032"}], "returnType": {"nodeId": ".-1.139821963216032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821963216032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963216032", "variance": "INVARIANT"}, "139821929657536": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871329376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871330048"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227552"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330272"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951313824"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314272"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314720"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951315168"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821871329376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821871330048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934227552": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821871330272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "139821871330496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "139821951313824": {"type": "Function", "typeVars": [".-1.139821951313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821951313824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951313824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951313824", "variance": "INVARIANT"}, "139821951314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "139821951315168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "139821925744704": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896031072"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942651056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896609440"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425536"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912817840"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821912820304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912820304": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821942651056": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821896609440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896350208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971425088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139821925745040"}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "139821912820752"}, {"nodeId": "139821912820864"}, {"nodeId": "139821912820976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "139821912820752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821912820864": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "N"}]}, "139821912820976": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821971425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821912817840": {"type": "Overloaded", "items": [{"nodeId": "139821971425984"}, {"nodeId": "139821971426432"}]}, "139821971425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "N"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821971426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139822017680704"}, {"nodeId": "139821912821536"}], "returnType": {"nodeId": "139821925748064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821912821536": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821925748064": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891928576"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929024"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929248"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929472"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929696"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971953856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971954304"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891928576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912826800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912826800": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821891929024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912827024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827024": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821891929248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821925747728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925747728": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971950720"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971950720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747728"}, {"nodeId": "139821912826576"}, {"nodeId": "139821912826688"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821912826576": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821912826688": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821891929472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971953856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "139821946417920"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821946417920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971954304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925745712": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971805952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821971806400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971806848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821971807296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925746720": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891770336"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810880"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971811328"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912818512"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}], "bases": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "isAbstract": false}, "139821891770336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821912823440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925746720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, ".2.139821925746720": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "CONTRAVARIANT"}, ".3.139821925746720": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, "139821912823440": {"type": "Union", "items": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971810432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971810880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971811328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": ".2.139821925746720"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912818512": {"type": "Overloaded", "items": [{"nodeId": "139821971811776"}, {"nodeId": "139821971812224"}]}, "139821971811776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "0"}, {"nodeId": "139821912823664"}, {"nodeId": "139821912823776"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823664": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912823776": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971812224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912823888"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823888": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925747056": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891774144"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813120"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813568"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971814016"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912821424"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815360"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815808"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}], "bases": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "isAbstract": false}, "139821891774144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821912824112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "COVARIANT"}, ".2.139821925747056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "CONTRAVARIANT"}, "139821912824112": {"type": "Union", "items": [{"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971813120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971813568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971814016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": ".2.139821925747056"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912821424": {"type": "Overloaded", "items": [{"nodeId": "139821946417024"}, {"nodeId": "139821971814464"}]}, "139821946417024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "0"}, {"nodeId": "139821912824784"}, {"nodeId": "139821912824896"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912824784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912824896": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971814464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912825120"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912825120": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971815360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971815808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925747392": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891777504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948480"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948928"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971949376"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912825008"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}], "bases": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "isAbstract": false}, "139821891777504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139821912825904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, ".2.139821925747392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "CONTRAVARIANT"}, ".3.139821925747392": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, "139821912825904": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821912825792"}]}, {"nodeId": "N"}]}, "139821912825792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821971948480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971948928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.139821925747392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971949376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": ".2.139821925747392"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912825008": {"type": "Overloaded", "items": [{"nodeId": "139821971949824"}, {"nodeId": "139821971950272"}]}, "139821971949824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "0"}, {"nodeId": "139821912826240"}, {"nodeId": "139821912826352"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826240": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912826352": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971950272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912826464"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925748400": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931040"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931488"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971956096"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891931040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821912827696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827696": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "139821925746384"}]}, "139821891931488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891931712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971956096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925748736": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891932832"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933504"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971957888"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971958336"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891932832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821925749072": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891934848"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935296"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935520"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971960576"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961024"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961472"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891934848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971960576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971961024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971961472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925749408": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891937760"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938208"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971963264"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972095040"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971963264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925749744": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891939552"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940000"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972096832"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097280"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891939552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925750752": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892011840"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012064"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972105344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892011840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972104448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972104896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751088": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013408"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013856"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892014080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972108032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892013408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892013856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892014080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972107136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972107584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751760": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212864"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972212864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925479616": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972216224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972215328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972215776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972216224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925479952": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218016"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218464"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218912"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219360"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220256"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220704"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221152"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221600"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972222048"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821972218016": {"type": "Function", "typeVars": [".-1.139821972218016"], "argTypes": [{"nodeId": ".-1.139821972218016"}], "returnType": {"nodeId": ".-1.139821972218016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821972218016": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218016", "variance": "INVARIANT"}, "139821972218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821972218912": {"type": "Function", "typeVars": [".-1.139821972218912"], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": ".-1.139821972218912"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821972218912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218912", "variance": "INVARIANT"}, "139821972219360": {"type": "Function", "typeVars": [".-1.139821972219360"], "argTypes": [{"nodeId": ".-1.139821972219360"}, {"nodeId": ".-1.139821972219360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821972219360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972219360", "variance": "INVARIANT"}, "139821972219808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972221600": {"type": "Function", "typeVars": [".-1.139821972221600"], "argTypes": [{"nodeId": ".-1.139821972221600"}, {"nodeId": ".-1.139821972221600"}], "returnType": {"nodeId": ".-1.139821972221600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972221600": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972221600", "variance": "INVARIANT"}, "139821972222048": {"type": "Function", "typeVars": [".-1.139821972222048"], "argTypes": [{"nodeId": ".-1.139821972222048"}, {"nodeId": ".-1.139821972222048"}], "returnType": {"nodeId": ".-1.139821972222048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972222048": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972222048", "variance": "INVARIANT"}, "139821925480624": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921790640"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900899136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993365280"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366176"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921790640": {"type": "Overloaded", "items": [{"nodeId": "139821993363936"}, {"nodeId": "139821993364384"}]}, "139821993363936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921948096"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821921948096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821993364384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821900899136": {"type": "Function", "typeVars": [".-1.139821900899136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821900899136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821900899136": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900899136", "variance": "INVARIANT"}, "139821993365280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993366176": {"type": "Function", "typeVars": [".-1.139821993366176"], "argTypes": [{"nodeId": ".-1.139821993366176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821993366176"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821993366176": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993366176", "variance": "INVARIANT"}, "139821925480960": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925539328"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367072"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367520"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925539328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821925540112": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993366624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921945184"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921945408"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "139821921945184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821921945408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993367072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821993367520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925481632": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993369760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993370208"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993369760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921946528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "139821921946528": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993370208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926234960": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854475088"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993372448"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921786160"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916272"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916384"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821854475088": {"type": "Tuple", "items": []}, "139821993372448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234960"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821921786160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916272": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821926235296": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821926235632": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921206336": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854479568"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821926235632"}], "isAbstract": false}, "139821854479568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921206672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854480576"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854480576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921216752": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207008": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854481584"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921206336"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854481584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921208016": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207344": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854482928"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854482928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921207680": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854483824"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854483824": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921208352": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854485840"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921793552"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854485840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420336": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849875776"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923104"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925923328"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785824"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849875776": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420672": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877008"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785936"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785936": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925923104": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821925923328": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785824": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821921793552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921208688": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854487296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921789968"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854487296": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921789968": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209024": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488528"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421008": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877904"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923440"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921209360": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488976"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790416"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921790416": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209696": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854489872"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854489872": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921210032": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854655200"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854655200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921210368": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854656320"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785040"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854656320": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785040": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921323712": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855012592"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855012592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324720": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921322368": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855007328"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855007328": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921323040": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855010688"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855010688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921327072": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921210704": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854657664"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790752"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785152"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854657664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921790752": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921785152": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921211040": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854659120"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854659120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211376": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854660464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854660464": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211712": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854661360"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854661360": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212048": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854662480"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854662480": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212384": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854663600"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854663600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421680": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849879920"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923552"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849879920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921212720": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854664720"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854664720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921213056": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854665616"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785264"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785488"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854665616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785264": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785488": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921213392": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854667072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420000"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854667072": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420000": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849873760"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922880"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922992"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921419664"}], "isAbstract": false}, "139821849873760": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922880": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921419664": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921213728": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854668416"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785600"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854668416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785600": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921214064": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854669200"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854669200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921421344": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849878912"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923216"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849878912": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923216": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214400": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854670544"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785712"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854670544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214736": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854769664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854769664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215072": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854770560"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854770560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215408": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854771456"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854771456": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215744": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216080": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216416": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921217088": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854772576"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921326064"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854772576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921326064": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921217424": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854773808"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854773808": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921217760": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854774704"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921331776"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854774704": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921331776": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921218096": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854775712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854775712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218432": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854776944"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854776944": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218768": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854777840"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925917056"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854777840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925917056": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921219104": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854778624"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854778624": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921219440": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854779744"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854779744": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921419328": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849872752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849872752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921219776": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854780752"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854780752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220112": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854781984"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854781984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220448": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854782880"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854782880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220784": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854783664"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854783664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221120": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854784560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780560"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854784560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921780560": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921221456": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854998592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854998592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221792": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854999936"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921333456"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854999936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921333456": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921222128": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855001056"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855001056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921321024": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002176"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916832"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916832": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921321360": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002848"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921321696": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855004528"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916608"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922320"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855004528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916608": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925922320": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965632"}]}, "139821921322032": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855006096"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921323712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855006096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921322704": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855009008"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922544"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922656"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922768"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855009008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922544": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922656": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922768": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921323376": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855011584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855011584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324048": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855013600"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855013600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324384": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855014608"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855014608": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921325056": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325392": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325728": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921326400": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921326736": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921327408": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921327744": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328080": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328416": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328752": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329088": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329424": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329760": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330096": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330432": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330768": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331104": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331440": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921332112": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332448": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332784": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333120": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333792": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334128": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334464": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334800": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335136": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335472": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335808": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336144": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336480": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336816": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921422016": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849880928"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422688"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821849880928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422688": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881600"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921422352"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923664"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849881600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422352": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821925923664": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921423024": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849881712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921423360": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923776"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882048": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925923776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821921423696": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882384"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921424032": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882720"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924112"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925924112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424368": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849883504"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924224"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849883504": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424704": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884288"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884288": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921425040": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884512"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924336"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924448"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884512": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924336": {"type": "Union", "items": [{"nodeId": "139821921422352"}, {"nodeId": "N"}]}, "139821925924448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921425376": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884736"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884736": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821929644432": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}, {"nodeId": "139821942979744"}], "isAbstract": false}, "139821929644768": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374912"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375360"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375808"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376256"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376704"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993377152"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971619904"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821946419488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620352"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620800"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621248"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621696"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622144"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622592"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933917376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623040"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623488"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623936"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821874989760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971624832"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821993374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821993374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993374912": {"type": "Function", "typeVars": [".-1.139821993374912"], "argTypes": [{"nodeId": ".-1.139821993374912"}], "returnType": {"nodeId": ".-1.139821993374912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821993374912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993374912", "variance": "INVARIANT"}, "139821993375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908712848"}, {"nodeId": "139821908712960"}, {"nodeId": "139821908713072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821908712848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821908712960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821908713072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821993375808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993377152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971619904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946419488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971620352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971620800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821971621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971621696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971622144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713184": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821933917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908713296"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821874989760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971624832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "139821908713520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929645104": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625280"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625728"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626176"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626624"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971625728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713632"}], "returnType": {"nodeId": "139821908713744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713632": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821908713744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713856"}], "returnType": {"nodeId": "139821908713968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713856": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908713968": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821908714080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714080": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929645440": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929645104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627072"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627520"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627968"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628416"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628864"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629312"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}], "returnType": {"nodeId": "139821929645104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971627520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714192": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971627968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714304": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971628416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714416": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971628864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714528"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714528": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971629312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929645776": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921649040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629760"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821880159680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971630656"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631104"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631552"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "139821929645104"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821921649040": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821963644928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821963646720"}]}, "139821963646720": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821938694224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821925473568"}]}]}, "139821921429408": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884323008"}}], "typeVars": [{"nodeId": ".1.139821921429408"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821884323008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921429408", "args": [{"nodeId": ".1.139821921429408"}]}], "returnType": {"nodeId": ".1.139821921429408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921429408": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921429408", "variance": "COVARIANT"}, "139821971629760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908714864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "139821908714640": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821908714864": {"type": "Union", "items": [{"nodeId": "139821908714752"}, {"nodeId": "N"}]}, "139821908714752": {"type": "TypeAlias", "target": {"nodeId": "139821929530976"}}, "139821929530976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821880159680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714976": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971631552": {"type": "Function", "typeVars": [".-1.139821971631552"], "argTypes": [{"nodeId": ".-1.139821971631552"}], "returnType": {"nodeId": ".-1.139821971631552"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971631552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971631552", "variance": "INVARIANT"}, "139821929646112": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632448"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632896"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633344"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633792"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "139821908715088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971632448": {"type": "Function", "typeVars": [".-1.139821971632448"], "argTypes": [{"nodeId": ".-1.139821971632448"}], "returnType": {"nodeId": ".-1.139821971632448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971632448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971632448", "variance": "INVARIANT"}, "139821971632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715200"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929646448": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635136"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971634240": {"type": "Function", "typeVars": [".-1.139821971634240"], "argTypes": [{"nodeId": ".-1.139821971634240"}], "returnType": {"nodeId": ".-1.139821971634240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971634240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971634240", "variance": "INVARIANT"}, "139821971634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821971635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929646784": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635584"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622656"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971635584": {"type": "Function", "typeVars": [".-1.139821971635584"], "argTypes": [{"nodeId": ".-1.139821971635584"}], "returnType": {"nodeId": ".-1.139821971635584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971635584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971635584", "variance": "INVARIANT"}, "139821967622208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821967622656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821908715312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908715312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929647120": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623104"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623552"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929646448"}, {"nodeId": "139821929646784"}], "isAbstract": false}, "139821967623104": {"type": "Function", "typeVars": [".-1.139821967623104"], "argTypes": [{"nodeId": ".-1.139821967623104"}], "returnType": {"nodeId": ".-1.139821967623104"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967623104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967623104", "variance": "INVARIANT"}, "139821967623552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647120"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929647456": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624448"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}], "isAbstract": false}, "139821967624000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821929645104"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "139821967624448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929647792": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870320"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624896"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625344"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625792"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626240"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626688"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628032"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821921870320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921648704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967624896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967625344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967625792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967626240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967626688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967627136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967627584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967628032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821908715424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715424": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929648128": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628480"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410784"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410112"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412352"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967630720"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631168"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631616"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632064"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632512"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632960"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633408"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633856"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929647792"}, {"nodeId": "139821925471216"}], "isAbstract": false}, "139821967628480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821908715536"}, {"nodeId": "139821908715648"}, {"nodeId": "139821908715760"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715536": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875410784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875410112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967630720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821908715872"}, {"nodeId": "139821908715984"}, {"nodeId": "139821908716096"}, {"nodeId": "139821908716208"}, {"nodeId": "139821908716320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716208": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821908716320": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821967631168": {"type": "Function", "typeVars": [".-1.139821967631168"], "argTypes": [{"nodeId": ".-1.139821967631168"}], "returnType": {"nodeId": ".-1.139821967631168"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967631168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967631168", "variance": "INVARIANT"}, "139821967631616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967632064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967632960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929648464": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634304"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634752"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821967634304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}, {"nodeId": "139821908716432"}, {"nodeId": "139821908716544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "139821908716432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821967634752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921720288": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635648"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875522560"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967636544"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": false}, "139821967635200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716656"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "139821908716656": {"type": "Union", "items": [{"nodeId": "139821926224208"}, {"nodeId": "N"}]}, "139821926224208": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964017952"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863217280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964018848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019296"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019744"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821964017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863217280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458272"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904458272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821964018848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964019296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "139821904458496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458496": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821964019744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458720": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821967635648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716880"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821908716880": {"type": "Union", "items": [{"nodeId": "139821908716768"}, {"nodeId": "139821942966640"}]}, "139821908716768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821875522560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}], "returnType": {"nodeId": "139821908716992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908716992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967636544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908717216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908717216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821938453056": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938452720"}], "isAbstract": false}, "139821921714912": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890176"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890624"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891072"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891520"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921714912"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967889728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.139821921714912": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "139821938452720"}, "def": "139821921714912", "variance": "INVARIANT"}, "139821967890176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967890624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821967891520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821938453392": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821908686912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891968"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821908686912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455408": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938456416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206848"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": false}, "139821968206848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456752"}, {"nodeId": "139821909377984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909377984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821938457088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207296"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921655088"}]}], "isAbstract": false}, "139821968207296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938457088"}, {"nodeId": "139821909378096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921655088": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821938457424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938457760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938458096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938721168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721504": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721840": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722176": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722512": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722848": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723184": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723520": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723856": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724192": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724528": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724864": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725200": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725536": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725872": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726208": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726544": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726880": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938727216": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921653856"}]}], "isAbstract": false}, "139821921653856": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821938727552": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821938727888": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207744"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921654864"}]}], "isAbstract": false}, "139821968207744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938727888"}, {"nodeId": "139821909378208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921654864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938728224": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139822017681040"}]}], "isAbstract": false}, "139821968208192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938728224"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821938728560": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.139821938728560"}], "bases": [{"nodeId": "139821938454064"}, {"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938728560"}]}], "isAbstract": false}, ".1.139821938728560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938728560", "variance": "INVARIANT"}, "139821938728896": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938729232": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821934217024"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208640"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453392"}], "isAbstract": false}, "139821934217024": {"type": "Union", "items": [{"nodeId": "139821934216576"}, {"nodeId": "139821934216800"}]}, "139821934216576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}]}, "139821934216800": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}, {"nodeId": "139821942964960"}]}, "139821968208640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729232"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938728896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938729568": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209536"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209984"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821968209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "139821968209536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968209984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821938729904": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730240": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730576": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821938730912": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821921715584": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377088"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868448"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377200"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868896"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963133440"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378768"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378880"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963135680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136128"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136576"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921715584"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": true}, "139821909377088": {"type": "Overloaded", "items": [{"nodeId": "139821968210432"}]}, "139821968210432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921715584": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715584", "variance": "INVARIANT"}, "139821866868448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909377200": {"type": "Overloaded", "items": [{"nodeId": "139821968211328"}]}, "139821968211328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821866868896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963133440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821909378768": {"type": "Overloaded", "items": [{"nodeId": "139821963133888"}, {"nodeId": "139821963134336"}]}, "139821963133888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963134336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909378880": {"type": "Overloaded", "items": [{"nodeId": "139821963134784"}, {"nodeId": "139821963135232"}]}, "139821963134784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925757808": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967951680"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952128"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read", "readline"]}, "139821967951680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967952128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925758480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925758816": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759152": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759488": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821929534112"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821938742368"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957952"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967958848"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959296"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959744"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929534112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "139821929619728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929619728": {"type": "TypeAlias", "target": {"nodeId": "139821929613904"}}, "139821929613904": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821929617152"}, {"nodeId": "139821929615136"}, {"nodeId": "139821929614576"}, {"nodeId": "139821929613792"}]}, "139821929617152": {"type": "Tuple", "items": [{"nodeId": "139822009412832"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822009412832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615136": {"type": "Tuple", "items": [{"nodeId": "139821946893952"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "139821946893952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929614576": {"type": "Tuple", "items": [{"nodeId": "139821929534336"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929615920"}]}, "139821929534336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615920": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613792": {"type": "Tuple", "items": [{"nodeId": "139821929533664"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929613456"}, {"nodeId": "139821929613680"}]}, "139821929533664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929613456": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613680": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821938742368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925759824": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821929533888"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967960192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961088"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961536"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961984"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929533888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821925757808"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913484288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "139821913484288": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821967961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967961984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "139821967957504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913483392"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913483504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "139821913483392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913483504": {"type": "TypeAlias", "target": {"nodeId": "139821925914816"}}, "139821925914816": {"type": "Union", "items": [{"nodeId": "139821946893504"}, {"nodeId": "N"}]}, "139821946893504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967957952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821967958848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967959296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821925760160": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964896"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965792"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777376"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777824"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778720"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779616"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480816"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925760160"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "isAbstract": false}, "139821967964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.139821925760160": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760160", "variance": "INVARIANT"}, "139821967964896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "139821967965344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967965792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821954778272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954779168": {"type": "Function", "typeVars": [".-1.139821954779168", ".-2.139821954779168"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779168"}, {"nodeId": ".-2.139821954779168"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671488"}, {"nodeId": "139821913671600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, ".-2.139821954779168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, "139821913671488": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779168"}]}, "139821913671600": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779168"}]}, "139821954779616": {"type": "Function", "typeVars": [".-1.139821954779616", ".-2.139821954779616"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779616"}, {"nodeId": ".-2.139821954779616"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671712"}, {"nodeId": "139821913671824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, ".-2.139821954779616": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, "139821913671712": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779616"}]}, "139821913671824": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779616"}]}, "139821913480816": {"type": "Overloaded", "items": [{"nodeId": "139821954780064"}, {"nodeId": "139821954780512"}]}, "139821954780064": {"type": "Function", "typeVars": [".-1.139821954780064"], "argTypes": [{"nodeId": ".-1.139821954780064"}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": ".-1.139821954780064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780064", "variance": "INVARIANT"}, "139821954780512": {"type": "Function", "typeVars": [".-1.139821954780512"], "argTypes": [{"nodeId": ".-1.139821954780512"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821913672160"}]}], "returnType": {"nodeId": ".-1.139821954780512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780512", "variance": "INVARIANT"}, "139821913672160": {"type": "Tuple", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "139821921429072": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879398848"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884345920"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343680"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343904"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342336"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343232"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342784"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343008"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342560"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325248"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324800"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325024"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325472"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324576"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884322336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323456"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323904"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821879398848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672384"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672384": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672496"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672496": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672608": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672720"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672720": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672832": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672944"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672944": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673056"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673056": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673168"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673168": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673280"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673280": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673392"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673392": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673504"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673504": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673616"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673728"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884322336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821925760496": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319200"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954793056"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954957600"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958048"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958496"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959392"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959840"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925760496"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821884319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925760496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760496", "variance": "INVARIANT"}, "139821884319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954793056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954957600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954958944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913674512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913674512": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821921867408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821954959392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954959840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921429744": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879406352"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884313152"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311808"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311584"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311360"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311136"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310912"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310688"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310464"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310240"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310016"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884309792"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879406352": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884313152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675632"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675632": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675744": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675968"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675968": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430080": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879408032"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307968"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307520"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884302816"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306848"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306176"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821879408032": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676528"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676640": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884302816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676864"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676864": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921430416": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879657408"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300576"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300128"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879657408": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685488"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685488": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685600": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430752": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569376"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950570272"}, "name": "close"}], "typeVars": [{"nodeId": ".1.139821921430752"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}]}, {"nodeId": "139821938731248", "args": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}]}], "isAbstract": false}, "139821950569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921430752": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921430752", "variance": "INVARIANT"}, "139821950569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821950570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921431088": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950716832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950717280"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821950716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}, {"nodeId": "139821929648128"}, {"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "139821925754784": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865616"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865952"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539168"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910224"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910336"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913040576"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929534560"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535008"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535456"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535904"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536352"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536800"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537248"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537696"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929538144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925754784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921865616": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821921538496": {"type": "Union", "items": [{"nodeId": "139821921534800"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821921538048"}]}]}, "139821921534800": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538048": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921865952": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, ".1.139821925754784": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925754784", "variance": "INVARIANT"}, "139821921539168": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910224": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910336": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821913040576": {"type": "Overloaded", "items": [{"nodeId": "139821942398016"}, {"nodeId": "139821934458272"}, {"nodeId": "139821934458720"}, {"nodeId": "139821934459168"}, {"nodeId": "139821934459616"}, {"nodeId": "139821934460064"}]}, "139821942398016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913208224"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913208448"}, {"nodeId": "139821913208672"}, {"nodeId": "139821913208896"}, {"nodeId": "139821913209120"}, {"nodeId": "139821913209232"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913209568"}, {"nodeId": "139821913209792"}, {"nodeId": "139821913209904"}, {"nodeId": "139821913210128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913210240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913210352"}, {"nodeId": "139821913210464"}, {"nodeId": "139821913210576"}, {"nodeId": "139821913276480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913208224": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913208448": {"type": "Union", "items": [{"nodeId": "139821913208336"}, {"nodeId": "N"}]}, "139821913208336": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913208672": {"type": "Union", "items": [{"nodeId": "139821913208560"}, {"nodeId": "N"}]}, "139821913208560": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821925908880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}]}, "139821913208896": {"type": "Union", "items": [{"nodeId": "139821913208784"}, {"nodeId": "N"}]}, "139821913208784": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209120": {"type": "Union", "items": [{"nodeId": "139821913209008"}, {"nodeId": "N"}]}, "139821913209008": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209232": {"type": "Union", "items": [{"nodeId": "139821942390848"}, {"nodeId": "N"}]}, "139821942390848": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913209568": {"type": "Union", "items": [{"nodeId": "139821913209456"}, {"nodeId": "N"}]}, "139821913209456": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209792": {"type": "Union", "items": [{"nodeId": "139821913209680"}, {"nodeId": "N"}]}, "139821913209680": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821921539504": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821925473568"}, {"nodeId": "139821921539056"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821921538384"}]}]}, "139821921539056": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538384": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209904": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913210240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913210464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913210576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913276480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913210688"}]}, {"nodeId": "N"}]}, "139821913210688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913276592"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913276816"}, {"nodeId": "139821913277040"}, {"nodeId": "139821913277264"}, {"nodeId": "139821913277488"}, {"nodeId": "139821913277600"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913277936"}, {"nodeId": "139821913278160"}, {"nodeId": "139821913278272"}, {"nodeId": "139821913278496"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913278608"}, {"nodeId": "139821913278720"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913278832"}, {"nodeId": "139821913278944"}, {"nodeId": "139821913279168"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913276592": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913276816": {"type": "Union", "items": [{"nodeId": "139821913276704"}, {"nodeId": "N"}]}, "139821913276704": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913277040": {"type": "Union", "items": [{"nodeId": "139821913276928"}, {"nodeId": "N"}]}, "139821913276928": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277264": {"type": "Union", "items": [{"nodeId": "139821913277152"}, {"nodeId": "N"}]}, "139821913277152": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277488": {"type": "Union", "items": [{"nodeId": "139821913277376"}, {"nodeId": "N"}]}, "139821913277376": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277600": {"type": "Union", "items": [{"nodeId": "139821942403392"}, {"nodeId": "N"}]}, "139821942403392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913277936": {"type": "Union", "items": [{"nodeId": "139821913277824"}, {"nodeId": "N"}]}, "139821913277824": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913278160": {"type": "Union", "items": [{"nodeId": "139821913278048"}, {"nodeId": "N"}]}, "139821913278048": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913278272": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278496": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913278608": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278720": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913278832": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913278944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913279168": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913279056"}]}, {"nodeId": "N"}]}, "139821913279056": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913279280"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913279504"}, {"nodeId": "139821913279728"}, {"nodeId": "139821913279952"}, {"nodeId": "139821913280176"}, {"nodeId": "139821913280288"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913280624"}, {"nodeId": "139821913280848"}, {"nodeId": "0"}, {"nodeId": "139821913281184"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913281296"}, {"nodeId": "139821913281408"}, {"nodeId": "139821913281520"}, {"nodeId": "139821913281632"}, {"nodeId": "139821913281744"}, {"nodeId": "139821913281968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913279280": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913279504": {"type": "Union", "items": [{"nodeId": "139821913279392"}, {"nodeId": "N"}]}, "139821913279392": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913279728": {"type": "Union", "items": [{"nodeId": "139821913279616"}, {"nodeId": "N"}]}, "139821913279616": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913279952": {"type": "Union", "items": [{"nodeId": "139821913279840"}, {"nodeId": "N"}]}, "139821913279840": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280176": {"type": "Union", "items": [{"nodeId": "139821913280064"}, {"nodeId": "N"}]}, "139821913280064": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280288": {"type": "Union", "items": [{"nodeId": "139821942405408"}, {"nodeId": "N"}]}, "139821942405408": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913280624": {"type": "Union", "items": [{"nodeId": "139821913280512"}, {"nodeId": "N"}]}, "139821913280512": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913280848": {"type": "Union", "items": [{"nodeId": "139821913280736"}, {"nodeId": "N"}]}, "139821913280736": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913281184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913281296": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913281408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281968": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913281856"}]}, {"nodeId": "N"}]}, "139821913281856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913282080"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913282304"}, {"nodeId": "139821913282528"}, {"nodeId": "139821913282752"}, {"nodeId": "139821913282976"}, {"nodeId": "139821913283088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913283424"}, {"nodeId": "139821913283648"}, {"nodeId": "139821913283760"}, {"nodeId": "139821913283984"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "0"}, {"nodeId": "139821913284208"}, {"nodeId": "139821913284320"}, {"nodeId": "139821913284432"}, {"nodeId": "139821913284544"}, {"nodeId": "139821913284768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913282080": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913282304": {"type": "Union", "items": [{"nodeId": "139821913282192"}, {"nodeId": "N"}]}, "139821913282192": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913282528": {"type": "Union", "items": [{"nodeId": "139821913282416"}, {"nodeId": "N"}]}, "139821913282416": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282752": {"type": "Union", "items": [{"nodeId": "139821913282640"}, {"nodeId": "N"}]}, "139821913282640": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282976": {"type": "Union", "items": [{"nodeId": "139821913282864"}, {"nodeId": "N"}]}, "139821913282864": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913283088": {"type": "Union", "items": [{"nodeId": "139821942403840"}, {"nodeId": "N"}]}, "139821942403840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913283424": {"type": "Union", "items": [{"nodeId": "139821913283312"}, {"nodeId": "N"}]}, "139821913283312": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913283648": {"type": "Union", "items": [{"nodeId": "139821913283536"}, {"nodeId": "N"}]}, "139821913283536": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913283760": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913283984": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913284208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913284656"}]}, {"nodeId": "N"}]}, "139821913284656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913284880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913285104"}, {"nodeId": "139821913285328"}, {"nodeId": "139821913285552"}, {"nodeId": "139821913285776"}, {"nodeId": "139821913285888"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913286224"}, {"nodeId": "139821913286448"}, {"nodeId": "139821913286672"}, {"nodeId": "139821913286896"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913287120"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "139821913287232"}, {"nodeId": "139821913287344"}, {"nodeId": "139821913287568"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913284880": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913285104": {"type": "Union", "items": [{"nodeId": "139821913284992"}, {"nodeId": "N"}]}, "139821913284992": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913285328": {"type": "Union", "items": [{"nodeId": "139821913285216"}, {"nodeId": "N"}]}, "139821913285216": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285552": {"type": "Union", "items": [{"nodeId": "139821913285440"}, {"nodeId": "N"}]}, "139821913285440": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285776": {"type": "Union", "items": [{"nodeId": "139821913285664"}, {"nodeId": "N"}]}, "139821913285664": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285888": {"type": "Union", "items": [{"nodeId": "139821942404736"}, {"nodeId": "N"}]}, "139821942404736": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913286224": {"type": "Union", "items": [{"nodeId": "139821913286112"}, {"nodeId": "N"}]}, "139821913286112": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913286448": {"type": "Union", "items": [{"nodeId": "139821913286336"}, {"nodeId": "N"}]}, "139821913286336": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913286672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913286896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913287120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "139821913287232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287568": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913287456"}]}, {"nodeId": "N"}]}, "139821913287456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "A"}]}, {"nodeId": "139821913287792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913288016"}, {"nodeId": "139821913288240"}, {"nodeId": "139821913288464"}, {"nodeId": "139821913288688"}, {"nodeId": "139821913288800"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913289136"}, {"nodeId": "139821913289360"}, {"nodeId": "139821913289472"}, {"nodeId": "139821913289696"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913289808"}, {"nodeId": "139821913289920"}, {"nodeId": "139821913290032"}, {"nodeId": "139821913290144"}, {"nodeId": "139821913290256"}, {"nodeId": "139821913290480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913287792": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913288016": {"type": "Union", "items": [{"nodeId": "139821913287904"}, {"nodeId": "N"}]}, "139821913287904": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913288240": {"type": "Union", "items": [{"nodeId": "139821913288128"}, {"nodeId": "N"}]}, "139821913288128": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288464": {"type": "Union", "items": [{"nodeId": "139821913288352"}, {"nodeId": "N"}]}, "139821913288352": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288688": {"type": "Union", "items": [{"nodeId": "139821913288576"}, {"nodeId": "N"}]}, "139821913288576": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288800": {"type": "Union", "items": [{"nodeId": "139821942397568"}, {"nodeId": "N"}]}, "139821942397568": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913289136": {"type": "Union", "items": [{"nodeId": "139821913289024"}, {"nodeId": "N"}]}, "139821913289024": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913289360": {"type": "Union", "items": [{"nodeId": "139821913289248"}, {"nodeId": "N"}]}, "139821913289248": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913289472": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913289808": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913290368"}]}, {"nodeId": "N"}]}, "139821913290368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821929534560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "139821913290592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913290592": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "139821913290704": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821929535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290816"}, {"nodeId": "139821913290928"}], "returnType": {"nodeId": "139821913291152"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "139821913290816": {"type": "Union", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": "N"}]}, "139821913290928": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821913291152": {"type": "Tuple", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": ".1.139821925754784"}]}, "139821929535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "139821929536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929537248": {"type": "Function", "typeVars": [".-1.139821929537248"], "argTypes": [{"nodeId": ".-1.139821929537248"}], "returnType": {"nodeId": ".-1.139821929537248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821929537248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821929537248", "variance": "INVARIANT"}, "139821929537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913291264"}, {"nodeId": "139821913291376"}, {"nodeId": "139821913291488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913291264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913291376": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913291488": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821929538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821950717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}], "returnType": {"nodeId": "139821908619472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908619472": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921431424": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879667936"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884290240"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289344"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289120"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288672"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288896"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821879667936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884290240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621264": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621152"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621152": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621488"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621488": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621824"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621824": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621936"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621936": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821921431760": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879670176"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879223328"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224448"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224672"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224896"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879225120"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879670176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821879223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705456": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706128": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706240"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706352": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921432096": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879671968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950882912"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879226464"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879671968": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821950882912": {"type": "Function", "typeVars": [".-1.139821950882912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821950882912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.139821950882912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821950882912", "variance": "INVARIANT"}, "139821879226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908709936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908709936": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821929652832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929653504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871090592"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821871090592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653504"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929653840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951029696"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951030144"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951031040"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089248"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821951029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957264": {"type": "Union", "items": [{"nodeId": "139821925745040"}, {"nodeId": "N"}]}, "139821871089696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951031040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821871089248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908957600"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "139821908957600": {"type": "Union", "items": [{"nodeId": "139821908957488"}, {"nodeId": "139821942966640"}]}, "139821908957488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929654176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871088352"}}], "typeVars": [], "bases": [{"nodeId": "139821929653840"}], "isAbstract": true}, "139821871088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654176"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821929654512": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032384"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032832"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033280"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033728"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951032384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951032832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "139821951033280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951033728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929654848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034176"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034624"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035072"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908957936"}], "returnType": {"nodeId": "139821908958048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821908957936": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958048": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951034624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958160"}, {"nodeId": "139821908958272"}], "returnType": {"nodeId": "139821908958384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821908958160": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958272": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908958384": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655184": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035520"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035968"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036416"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036864"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951035520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958496": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951035968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958832": {"type": "Tuple", "items": [{"nodeId": "139821908958608"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}]}, "139821908958608": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951036416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951036864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958944"}], "returnType": {"nodeId": "139821908959056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "139821908958944": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908959056": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655520": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037760"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038208"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038656"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951037312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821951037760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951038208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959168"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951038656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959280"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959280": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929655856": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870887008"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886560"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870885888"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886784"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821870887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870885888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821870886784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929656192": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884992"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884544"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884320"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908956928"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870884096"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883424"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883200"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870882976"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "139821870884992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929656192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "139821908956928": {"type": "Overloaded", "items": [{"nodeId": "139821954484480"}, {"nodeId": "139821954484928"}, {"nodeId": "139821954485376"}, {"nodeId": "139821954485824"}, {"nodeId": "139821954486272"}, {"nodeId": "139821954486720"}, {"nodeId": "139821954487168"}]}, "139821954484480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959504"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908959616"}, {"nodeId": "139821908959728"}, {"nodeId": "139821908959840"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959504": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821938689968": {"type": "Union", "items": [{"nodeId": "139821938688176"}, {"nodeId": "139821938689632"}, {"nodeId": "139821938690304"}]}, "139821938688176": {"type": "TypeAlias", "target": {"nodeId": "139821938689296"}}, "139821938689296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938689632": {"type": "TypeAlias", "target": {"nodeId": "139821946830208"}}, "139821946830208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938690304": {"type": "TypeAlias", "target": {"nodeId": "139821946829536"}}, "139821946829536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821908959616": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954484928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959952"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959952": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821951386336": {"type": "Union", "items": [{"nodeId": "139821951101168"}, {"nodeId": "139821946829312"}, {"nodeId": "139821951386560"}]}, "139821951101168": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821946830656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821946829312": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821925916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821951386560": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821951386224": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961296"}, {"nodeId": "139821908961520"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961296": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821908961520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908962752"}, {"nodeId": "139821908962864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962752": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821908962864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908963872"}, {"nodeId": "139821908960624"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908963872": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821908960624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961632"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961632": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821954487168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908962976"}, {"nodeId": "139821908961408"}, {"nodeId": "139821908963760"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908961408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908963760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870884096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821870883200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961856"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821908961856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929656528": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870881856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954489856"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490304"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490752"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954491200"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "139821929655856"}], "isAbstract": true}, "139821870881856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954489856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821954491200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921433440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850432"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850880"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849984"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849536"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849088"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847072"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870848416"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847296"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845504"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870850432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953792"}], "returnType": {"nodeId": "139821908953904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908953792": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908953904": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870850880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954016"}, {"nodeId": "139821908954128"}], "returnType": {"nodeId": "139821908954240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954016": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954128": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954240": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870849984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870848416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821870847296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908954352"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908954352": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870845504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921433776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845728"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844832"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843936"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844384"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843488"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843040"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870842592"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870841920"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870840992"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870845728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954464"}], "returnType": {"nodeId": "139821908954576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908954464": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954576": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870844832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954688"}, {"nodeId": "139821908954800"}], "returnType": {"nodeId": "139821908954912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954688": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954800": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954912": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870843936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870844384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "139821870841920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908955024"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908955024": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870840992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921434112": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839872"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839424"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": false}, "139821870839872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955136"}], "returnType": {"nodeId": "139821908955248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908955136": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955248": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870839424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955360"}, {"nodeId": "139821908955472"}], "returnType": {"nodeId": "139821908955584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955360": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955472": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955584": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652496": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837856"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837408"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870838304"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821870837856": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "139821870837408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "139821921432768": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937949856"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875671808"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921870656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937949856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}, {"nodeId": "139821908721248"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "139821908721248": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875671808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929651824": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952352"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952800"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937953248"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "139821929651488"}], "isAbstract": false}, "139821937952352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821921719280": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574976"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947013600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014048"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884037760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947015392"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947016736"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017184"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017632"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018080"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018528"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018976"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019424"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019872"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020320"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020768"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021216"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021664"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947022112"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480256"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947025696"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026144"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026592"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947027040"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947109664"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947110112"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111456"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111904"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112352"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112800"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113248"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113696"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947114144"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884040224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115488"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115936"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947118176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947119072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821913574976": {"type": "Function", "typeVars": [".-1.139821913574976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821913574976"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "139821913485856": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821938697136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}]}, ".-1.139821913574976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574976", "variance": "INVARIANT"}, "139821947013600": {"type": "Function", "typeVars": [".-1.139821947013600"], "argTypes": [{"nodeId": ".-1.139821947013600"}], "returnType": {"nodeId": ".-1.139821947013600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821947013600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947013600", "variance": "INVARIANT"}, "139821947014048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486080"}, {"nodeId": "139821913486192"}, {"nodeId": "139821913486304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913486080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913486192": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913486304": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821884037760": {"type": "Function", "typeVars": [".-1.139821884037760"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884037760"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884037760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884037760", "variance": "INVARIANT"}, "139821947014944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913486416"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913486416": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947015392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "139821947016736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947017184": {"type": "Function", "typeVars": [".-1.139821947017184"], "argTypes": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947017184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947017184", "variance": "INVARIANT"}, "139821947017632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020768": {"type": "Function", "typeVars": [".-1.139821947020768"], "argTypes": [{"nodeId": ".-1.139821947020768"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947020768"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947020768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947020768", "variance": "INVARIANT"}, "139821947021216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "139821947021664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821913486528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913486528": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947022112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "139821913480256": {"type": "Overloaded", "items": [{"nodeId": "139821947022560"}, {"nodeId": "139821947023008"}, {"nodeId": "139821947023456"}, {"nodeId": "139821947023904"}, {"nodeId": "139821947024352"}, {"nodeId": "139821947024800"}, {"nodeId": "139821947025248"}]}, "139821947022560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486752"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913486864"}, {"nodeId": "139821913486976"}, {"nodeId": "139821913487088"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913486752": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821913486864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913486976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913487088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947023008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487200"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487200": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947023456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488768"}, {"nodeId": "139821913487648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488768": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821913487648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947023904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488096"}, {"nodeId": "139821913488880"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488096": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821913488880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488656"}, {"nodeId": "139821913487536"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488656": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821913487536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487760"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487760": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947025248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913488992"}, {"nodeId": "139821913488432"}, {"nodeId": "139821913489104"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913488432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913489104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947025696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947027040": {"type": "Function", "typeVars": [".-1.139821947027040"], "argTypes": [{"nodeId": ".-1.139821947027040"}], "returnType": {"nodeId": ".-1.139821947027040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947027040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947027040", "variance": "INVARIANT"}, "139821947109664": {"type": "Function", "typeVars": [".-1.139821947109664"], "argTypes": [{"nodeId": ".-1.139821947109664"}, {"nodeId": "139821913669696"}], "returnType": {"nodeId": ".-1.139821947109664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947109664", "variance": "INVARIANT"}, "139821913669696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821921718272": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884014656"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981184"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981408"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980736"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980512"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980288"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980064"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883979840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573184"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930405600"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406048"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406496"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406944"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407840"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573856"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574080"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409184"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409632"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410080"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410528"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410976"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411424"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411872"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573632"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930412768"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413216"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413664"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574752"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883974464"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883976704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947012704"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821884014656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883979840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913573184": {"type": "Function", "typeVars": [".-1.139821913573184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485072"}], "returnType": {"nodeId": ".-1.139821913573184"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "139821913485072": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, ".-1.139821913573184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573184", "variance": "INVARIANT"}, "139821930405600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930406496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913573856": {"type": "Function", "typeVars": [".-1.139821913573856"], "argTypes": [{"nodeId": ".-1.139821913573856"}, {"nodeId": "139821913485184"}], "returnType": {"nodeId": ".-1.139821913573856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913573856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573856", "variance": "INVARIANT"}, "139821913485184": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821913574080": {"type": "Function", "typeVars": [".-1.139821913574080"], "argTypes": [{"nodeId": ".-1.139821913574080"}, {"nodeId": "139821913485296"}], "returnType": {"nodeId": ".-1.139821913574080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913574080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574080", "variance": "INVARIANT"}, "139821913485296": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930409632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930411424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821913485408"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "139821913485408": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930411872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "139821913573632": {"type": "Function", "typeVars": [".-1.139821913573632"], "argTypes": [{"nodeId": ".-1.139821913573632"}, {"nodeId": "139821913485520"}], "returnType": {"nodeId": ".-1.139821913573632"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913573632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573632", "variance": "INVARIANT"}, "139821913485520": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930412768": {"type": "Function", "typeVars": [".-1.139821930412768"], "argTypes": [{"nodeId": ".-1.139821930412768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930412768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.139821930412768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930412768", "variance": "INVARIANT"}, "139821930413216": {"type": "Function", "typeVars": [".-1.139821930413216"], "argTypes": [{"nodeId": ".-1.139821930413216"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.139821930413216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413216", "variance": "INVARIANT"}, "139821930413664": {"type": "Function", "typeVars": [".-1.139821930413664"], "argTypes": [{"nodeId": ".-1.139821930413664"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.139821930413664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413664", "variance": "INVARIANT"}, "139821913574752": {"type": "Function", "typeVars": [".-1.139821913574752"], "argTypes": [{"nodeId": ".-1.139821913574752"}, {"nodeId": "139821913485632"}], "returnType": {"nodeId": ".-1.139821913574752"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913574752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574752", "variance": "INVARIANT"}, "139821913485632": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821883974464": {"type": "Function", "typeVars": [".-1.139821883974464"], "argTypes": [{"nodeId": ".-1.139821883974464"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".-1.139821883974464"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883974464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883974464", "variance": "INVARIANT"}, "139821883976704": {"type": "Function", "typeVars": [".-1.139821883976704"], "argTypes": [{"nodeId": ".-1.139821883976704"}], "returnType": {"nodeId": ".-1.139821883976704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883976704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883976704", "variance": "INVARIANT"}, "139821947012704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "139821947110112": {"type": "Function", "typeVars": [".-1.139821947110112"], "argTypes": [{"nodeId": ".-1.139821947110112"}, {"nodeId": "139821913669808"}], "returnType": {"nodeId": ".-1.139821947110112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947110112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947110112", "variance": "INVARIANT"}, "139821913669808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821947111456": {"type": "Function", "typeVars": [".-1.139821947111456"], "argTypes": [{"nodeId": ".-1.139821947111456"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821947111456"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.139821947111456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111456", "variance": "INVARIANT"}, "139821947111904": {"type": "Function", "typeVars": [".-1.139821947111904"], "argTypes": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947111904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111904", "variance": "INVARIANT"}, "139821947112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913669920"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "139821913669920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "139821947114144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "139821884040224": {"type": "Function", "typeVars": [".-1.139821884040224"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884040224"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884040224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884040224", "variance": "INVARIANT"}, "139821947115488": {"type": "Function", "typeVars": [".-1.139821947115488"], "argTypes": [{"nodeId": ".-1.139821947115488"}], "returnType": {"nodeId": ".-1.139821947115488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115488", "variance": "INVARIANT"}, "139821947115936": {"type": "Function", "typeVars": [".-1.139821947115936"], "argTypes": [{"nodeId": ".-1.139821947115936"}], "returnType": {"nodeId": ".-1.139821947115936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115936", "variance": "INVARIANT"}, "139821947116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670144"}, {"nodeId": "139821913670256"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821913670144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670368"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "139821913670368": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821947117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670480"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821913670480": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821947118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913670592"}, {"nodeId": "139821913670704"}, {"nodeId": "139821913670816"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "139821913670592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670928": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821937952800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908721472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908721472": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821937953248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908951104"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908951104": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821929651488": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708416"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708192"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718560"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674272"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673600"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875674496"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673376"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673152"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672928"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672704"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821875708416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908720352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908720352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821908720464"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908720464": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929651488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "139821908718560": {"type": "Overloaded", "items": [{"nodeId": "139821937944928"}, {"nodeId": "139821937945376"}]}, "139821937944928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "139821937945376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "139821908720688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "139821908720688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875674272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908720912"}], "returnType": {"nodeId": "139821929651824"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "139821908720912": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875673600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929648800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929648800": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090272"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090720"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930091168"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875762048"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "139821930089376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930089824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930091168": {"type": "Function", "typeVars": [".-1.139821930091168"], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930091168"}], "returnType": {"nodeId": "139821908718000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930091168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930091168", "variance": "INVARIANT"}, "139821908718000": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.139821930091168"}]}, "139821875762048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821908718112"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821875674496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650480": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937760"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937938208"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875712896"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875714912"}}], "typeVars": [], "bases": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821934652864"}]}], "isAbstract": false}, "139821937937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821908719232"}], "returnType": {"nodeId": "139821908720016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908719232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821908720016": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821934653984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821937938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821875712896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934652864": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821875673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721024": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821921720624"}]}, {"nodeId": "N"}]}, "139821921720624": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937941792"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942240"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942688"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934649840"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648928"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929651488"}}], "typeVars": [], "bases": [{"nodeId": "139821921718608"}], "isAbstract": false}, "139821937941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821937942240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937942688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934649840": {"type": "Union", "items": [{"nodeId": "139821929651152"}, {"nodeId": "N"}]}, "139821929651152": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937943136"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821937943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651152"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821921648928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921718608": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821875672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721136": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821875672704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870838304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955696"}, {"nodeId": "139821908955808"}], "returnType": {"nodeId": "139821908955920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955696": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955808": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955920": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870836960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956032"}], "returnType": {"nodeId": "139821908956144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908956032": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908956144": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921434448": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954638432"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836288"}}], "typeVars": [], "bases": [{"nodeId": "139821929655184"}], "isAbstract": false}, "139821954638432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434448"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "139821908956368": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821870836288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821908956592"}], "returnType": {"nodeId": "139821908672800"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "139821908956592": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821908672800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929655184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921434784": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639328"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821954639328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434784"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956704"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "139821908956704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921435120": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821921714240": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640224"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640672"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641120"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641568"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642016"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642464"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139821929654176"}], "isAbstract": false}, "139821954639776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "139821954640224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821908956816"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908956816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954641120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821954641568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821954642016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954642464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821929656864": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954644704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954645152"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "isAbstract": false}, "139821954644704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954645152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821929657200": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951304864"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871324672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951306656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307104"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308000"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871324896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308896"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309344"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309792"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961184"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929657536"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "A"}, {"nodeId": "139821929657536"}]}}], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821951304864": {"type": "Function", "typeVars": [".-1.139821951304864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821929656864"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821951304864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.139821951304864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951304864", "variance": "INVARIANT"}, "139821871324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929656864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "139821951306656": {"type": "Function", "typeVars": [".-1.139821951306656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951306656"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951306656": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951306656", "variance": "INVARIANT"}, "139821951307104": {"type": "Function", "typeVars": [".-1.139821951307104"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951307104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951307104": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951307104", "variance": "INVARIANT"}, "139821951307552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821951308000": {"type": "Function", "typeVars": [".-1.139821951308000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821951308000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951308000": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951308000", "variance": "INVARIANT"}, "139821871324896": {"type": "Function", "typeVars": [".-1.139821871324896"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821871324896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821871324896": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871324896", "variance": "INVARIANT"}, "139821951308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821951309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908961184": {"type": "Overloaded", "items": [{"nodeId": "139821951310240"}, {"nodeId": "139821951311136"}]}, "139821951310240": {"type": "Function", "typeVars": [".-1.139821951310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.139821951310240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.139821951310240": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951310240", "variance": "INVARIANT"}, "139821951311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908965664"}, {"nodeId": "139821908965776"}, {"nodeId": "139821908965888"}, {"nodeId": "139821908966000"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "139821908965664": {"type": "TypeAlias", "target": {"nodeId": "139821934227888"}}, "139821934227888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821934228224"}]}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}]}, "139821934228224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821908965776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908965888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908966000": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821929657872": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871332512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951316064"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929657536"}], "isAbstract": false}, "139821871332512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657872"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951316064": {"type": "Function", "typeVars": [".-1.139821951316064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821951316064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951316064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951316064", "variance": "INVARIANT"}, "139821921714576": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871448128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951317408"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821871448128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951317408": {"type": "Function", "typeVars": [".-1.139821951317408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821951317408"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821951317408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951317408", "variance": "INVARIANT"}, "139821925756464": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911344"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925913808"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227008"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925911344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925913808": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963227008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756464"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913344368"}, {"nodeId": "139821913344032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "139821913344368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913344032": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925756800": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227456"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821963227456": {"type": "Function", "typeVars": [".-1.139821963227456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821963227456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.139821963227456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963227456", "variance": "INVARIANT"}, "139821926220848": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963228576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229024"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229472"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "seek", "write"]}, "139821963228576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821963229024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963229472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926221184": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229920"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230368"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230816"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "read", "seek"]}, "139821963229920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821963230368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963230816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921715920": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926220848"}, {"nodeId": "139821926221184"}], "protocolMembers": ["close", "read", "seek", "write"]}, "139821926221520": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453680": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821926221856": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221856"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222192": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222192"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717600": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926221184"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026464"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026912"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027360"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027808"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030048"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964026016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964026464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "139821964026912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459840"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "139821904459840": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459952"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "139821904459952": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964028256": {"type": "Function", "typeVars": [".-1.139821964028256"], "argTypes": [{"nodeId": ".-1.139821964028256"}], "returnType": {"nodeId": ".-1.139821964028256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964028256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964028256", "variance": "INVARIANT"}, "139821964028704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904460064"}, {"nodeId": "139821904460176"}, {"nodeId": "139821904460288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904460288": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964029152": {"type": "Function", "typeVars": [".-1.139821964029152"], "argTypes": [{"nodeId": ".-1.139821964029152"}], "returnType": {"nodeId": ".-1.139821964029152"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964029152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964029152", "variance": "INVARIANT"}, "139821964029600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964030048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926223536": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916256"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916704"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821963916256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457712": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821963916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222528": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222528"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717264": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926220848"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023328"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023776"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024224"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024672"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025120"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025568"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964022880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964023328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "139821964023776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821964024224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964024672": {"type": "Function", "typeVars": [".-1.139821964024672"], "argTypes": [{"nodeId": ".-1.139821964024672"}], "returnType": {"nodeId": ".-1.139821964024672"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964024672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964024672", "variance": "INVARIANT"}, "139821964025120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821904459280"}, {"nodeId": "139821904459392"}, {"nodeId": "139821904459504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904459280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904459392": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904459504": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964025568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926222864": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222864"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926223872"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821926223872": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963917152"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863218176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918048"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918496"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918944"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821963917152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821963918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963918496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "139821904458048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458048": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821963918944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821904458160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821926223200": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905504"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223200"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926224208"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821921716256": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863222656"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221312"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221536"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220864"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220640"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220416"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963908640"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821863222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454128"}], "returnType": {"nodeId": "139821926221520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454128": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454240"}], "returnType": {"nodeId": "139821926221856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454240": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454352"}], "returnType": {"nodeId": "139821926222192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454352": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454464"}], "returnType": {"nodeId": "139821926222528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454464": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454576"}], "returnType": {"nodeId": "139821926222864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454576": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454688"}], "returnType": {"nodeId": "139821926223200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454688": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821963908640": {"type": "Function", "typeVars": [".-1.139821963908640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821904454016"}, {"nodeId": "139821904454800"}, {"nodeId": "139821904454912"}, {"nodeId": "139821904455024"}, {"nodeId": "139821904455136"}, {"nodeId": "139821904455248"}], "returnType": {"nodeId": ".-1.139821963908640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "139821904454016": {"type": "Union", "items": [{"nodeId": "139821926222192"}, {"nodeId": "N"}]}, "139821904454800": {"type": "Union", "items": [{"nodeId": "139821926222528"}, {"nodeId": "N"}]}, "139821904454912": {"type": "Union", "items": [{"nodeId": "139821926222864"}, {"nodeId": "N"}]}, "139821904455024": {"type": "Union", "items": [{"nodeId": "139821926223200"}, {"nodeId": "N"}]}, "139821904455136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821904455248": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, ".-1.139821963908640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963908640", "variance": "INVARIANT"}, "139821921716592": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964020192"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863216384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021088"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "139821926223872"}], "isAbstract": true}, "139821964020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821964021088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821921716928": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021536"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863215488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022432"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": true}, "139821964021536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863215488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904458832"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904459056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821904458832": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904459056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821964022432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904459168"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904459168": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921717936": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921715920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030944"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031392"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031840"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032288"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033184"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946306848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307296"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307744"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308192"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308640"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309088"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309536"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309984"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310432"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310880"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311328"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311776"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312224"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312672"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925471216"}], "isAbstract": false}, "139821964030496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "139821964030944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821964031392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460624"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904460624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964031840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460736"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904460736": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964032288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964032736": {"type": "Function", "typeVars": [".-1.139821964032736"], "argTypes": [{"nodeId": ".-1.139821964032736"}], "returnType": {"nodeId": ".-1.139821964032736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964032736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964032736", "variance": "INVARIANT"}, "139821964033184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821964033632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946307296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946307744": {"type": "Function", "typeVars": [".-1.139821946307744"], "argTypes": [{"nodeId": ".-1.139821946307744"}], "returnType": {"nodeId": ".-1.139821946307744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946307744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946307744", "variance": "INVARIANT"}, "139821946308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460848"}, {"nodeId": "139821904460960"}, {"nodeId": "139821904461072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904461072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946308640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946309088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946311328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904461296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461296": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946311776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926224544": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316704"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317152"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318048"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318496"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318944"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319392"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319840"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320288"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320736"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321184"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321632"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322528"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925470880"}], "isAbstract": false}, "139821946313120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "139821946313568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821946314016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461520"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904461520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946315360": {"type": "Function", "typeVars": [".-1.139821946315360"], "argTypes": [{"nodeId": ".-1.139821946315360"}], "returnType": {"nodeId": ".-1.139821946315360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946315360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946315360", "variance": "INVARIANT"}, "139821946315808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821946316256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946316704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946317152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946317600": {"type": "Function", "typeVars": [".-1.139821946317600"], "argTypes": [{"nodeId": ".-1.139821946317600"}], "returnType": {"nodeId": ".-1.139821946317600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946317600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946317600", "variance": "INVARIANT"}, "139821946318048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773184"}, {"nodeId": "139821904773296"}, {"nodeId": "139821904773408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904773184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904773296": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904773408": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904773520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925753440": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408736"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946409184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925753440"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, ".1.139821925753440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925753440", "variance": "INVARIANT"}, "139821946408288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}, {"nodeId": "139821913040128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913040240"}, {"nodeId": "139821913040352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "139821913040128": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913040240": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821913040352": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821946408736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925753776": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925754112": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934444832"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942965296"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865504"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539280"}}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754112"}, {"nodeId": "139821913207552"}, {"nodeId": "139821942965296"}, {"nodeId": "139821913207664"}, {"nodeId": "139821913207440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "139821913207552": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913207440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921865504": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921539280": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925754448": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934445280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754448"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913207776"}, {"nodeId": "139821913207888"}, {"nodeId": "139821913208000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "139821913207776": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913208000": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929649472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875723200"}}], "typeVars": [], "bases": [{"nodeId": "139821925286624"}], "isAbstract": false}, "139821875723200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937935520"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719392"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875718720"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719168"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934653200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937312"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "139821929649808"}], "isAbstract": false}, "139821937935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719344": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719568"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875718720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719680"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719680": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934653200": {"type": "Union", "items": [{"nodeId": "139821929651488"}, {"nodeId": "N"}]}, "139821937937312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821908719904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929649808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934652080"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934651632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530528"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929531424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530304"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929529632"}}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821934652080": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934651632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821929530528": {"type": "Function", "typeVars": [".-1.139821929530528"], "argTypes": [{"nodeId": ".-1.139821929530528"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929530528"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.139821929530528": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530528", "variance": "INVARIANT"}, "139821934651856": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929531424": {"type": "Function", "typeVars": [".-1.139821929531424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929531424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.139821929531424": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929531424", "variance": "INVARIANT"}, "139821929530304": {"type": "Function", "typeVars": [".-1.139821929530304"], "argTypes": [{"nodeId": ".-1.139821929530304"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.139821929530304": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530304", "variance": "INVARIANT"}, "139821929529632": {"type": "Function", "typeVars": [".-1.139821929529632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821929529632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.139821929529632": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929529632", "variance": "INVARIANT"}, "139821929650816": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875711776"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875711104"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875710432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718672"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929650480"}]}], "isAbstract": false}, "139821875711776": {"type": "Function", "typeVars": [".-1.139821875711776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908720128"}]}], "returnType": {"nodeId": ".-1.139821875711776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "139821908720128": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, ".-1.139821875711776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821875711776", "variance": "INVARIANT"}, "139821875711104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718672": {"type": "Overloaded", "items": [{"nodeId": "139821937940896"}, {"nodeId": "139821937941344"}]}, "139821937940896": {"type": "Function", "typeVars": [".-1.139821937940896"], "argTypes": [{"nodeId": ".-1.139821937940896"}], "returnType": {"nodeId": ".-1.139821937940896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821937940896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821937940896", "variance": "INVARIANT"}, "139821937941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821921432432": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "139821921432768"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875672032"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": true}, "139821875672032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432432"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "139821921433104": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875669792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937951904"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "139821921432432"}], "isAbstract": false}, "139821875669792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "139821937951904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921433104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "139821925755120": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925755456": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925909104"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921864384"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887852992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937959744"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960192"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960640"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961088"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925909104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921864384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821887852992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821913292272"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821913292272": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "139821925755792": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921863488"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780000"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925755456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962432"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962880"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963776"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964224"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964672"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965120"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965568"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863488": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821921861920": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821921866064"}]}, "139821921866064": {"type": "TypeAlias", "target": {"nodeId": "139821921863152"}}, "139821921863152": {"type": "Union", "items": [{"nodeId": "139821921865168"}, {"nodeId": "139821921866176"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925755792"}]}, {"nodeId": "139821921862368"}, {"nodeId": "139821921863040"}]}, "139821921865168": {"type": "TypeAlias", "target": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925910896"}]}}, "139821925910896": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821942964960"}]}, "139821921866176": {"type": "TypeAlias", "target": {"nodeId": "139821921540624"}}, "139821921540624": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821925755792"}]}]}, "139821921862368": {"type": "TypeAlias", "target": {"nodeId": "139821921540512"}}, "139821921540512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}, {"nodeId": "139821925755792"}]}, "139821921863040": {"type": "TypeAlias", "target": {"nodeId": "139821921865840"}}, "139821921865840": {"type": "Tuple", "items": [{"nodeId": "139821925909552"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}]}, "139821925909552": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921780000": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821937961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821925755456"}, {"nodeId": "139821913292496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "139821913292496": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821913292384"}]}, {"nodeId": "N"}]}, "139821913292384": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937962432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "139821937962880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821937963328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913292608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913292608": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821937963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342016"}], "returnType": {"nodeId": "139821913342240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913342016": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342240": {"type": "Union", "items": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342128"}]}, "139821913342128": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342352"}, {"nodeId": "139821913342688"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821913342352": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342688": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913342464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "139821913342464": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "139821913342912": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821913343136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913343136": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821937960640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "139821937961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925756128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "139821925756128": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921779888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966464"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887848960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938478208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921779888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937966016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821937966464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "139821938475072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821913342800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913342800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938475520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "139821938475968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "139821887848960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "139821938478208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925756464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "139821926234624": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938483360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938483360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929649136": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092064"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092512"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092960"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930093408"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "139821930092064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930093408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929659888": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929658880"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870544"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921653184"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821938445328"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094528"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094976"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095424"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095872"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096320"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096768"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097216"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097664"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098112"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098560"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099008"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099456"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100352"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100800"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101248"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101696"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930102144"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283072"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283520"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283968"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284416"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284864"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285312"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285760"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286208"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286656"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287104"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287552"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288000"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288448"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288896"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930289344"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961072"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930290688"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291136"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291584"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292032"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292480"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292928"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293376"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294272"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294720"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929658880": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226096"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930166560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167008"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167456"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167904"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946880288"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871581216"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871580320"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579424"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579872"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579200"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821934226096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821934226432": {"type": "Union", "items": [{"nodeId": "139821938737888"}, {"nodeId": "N"}]}, "139821938737888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821908966896"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908967008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "139821908966896": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821908967008": {"type": "Union", "items": [{"nodeId": "139821908680864"}, {"nodeId": "N"}]}, "139821908680864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930167008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929658880"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "139821930167456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821938445328": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165216"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821930165216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938445328"}, {"nodeId": "139821909174736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "139821909174736": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821946880288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908967232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821908967232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821871581216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164208": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871580320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871579424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821921870544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921653184": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930094528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930094976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "139821930095424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909165776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909165776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930095872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929659888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "139821930096320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909165888"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "139821909165888": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821930096768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166112"}, {"nodeId": "139821909166224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "139821909166112": {"type": "TypeAlias", "target": {"nodeId": "139821934228560"}}, "139821934228560": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821929659888"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821909166224": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821921652960": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938452384": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934225648"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934224640"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934223632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930156928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157376"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157824"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158272"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158720"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159168"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930160064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821934225648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934224640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934223632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930156928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "139821930157376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930157824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821909176304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909176304": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930158272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930158720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "139821930159168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930159616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930160064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930097216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "139821909166336": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930097664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909166448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166448": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930098112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930098560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930099008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930099456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909166560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909166560": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930099904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909166672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821909166672": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930100352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930100800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930101248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909166784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166784": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930101696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909167120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909167120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909166896"}]}, "139821909166896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930102144": {"type": "Function", "typeVars": [".-1.139821930102144"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930102144"}], "returnType": {"nodeId": "139821909167344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930102144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930102144", "variance": "INVARIANT"}, "139821909167344": {"type": "Union", "items": [{"nodeId": "139821909167232"}, {"nodeId": ".-1.139821930102144"}]}, "139821909167232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283072": {"type": "Function", "typeVars": [".-1.139821930283072"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930283072"}], "returnType": {"nodeId": "139821909167568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930283072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930283072", "variance": "INVARIANT"}, "139821909167568": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909167456"}]}, {"nodeId": ".-1.139821930283072"}]}, "139821909167456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "139821909167680": {"type": "TypeAlias", "target": {"nodeId": "139821934223072"}}, "139821934223072": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "139821934224416"}]}, "139821934224416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934223520"}, {"nodeId": "139821942966640"}]}, "139821934223520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930283968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "139821909167904": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930284416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930284864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930286208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "139821930286656": {"type": "Function", "typeVars": [".-1.139821930286656"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930286656"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.139821930286656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930286656", "variance": "INVARIANT"}, "139821909168128": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909168016"}]}, {"nodeId": ".-1.139821930286656"}]}, "139821909168016": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821930287104": {"type": "Function", "typeVars": [".-1.139821930287104"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930287104"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.139821930287104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930287104", "variance": "INVARIANT"}, "139821909168352": {"type": "Union", "items": [{"nodeId": ".-1.139821930287104"}, {"nodeId": "139821909168240"}]}, "139821909168240": {"type": "TypeAlias", "target": {"nodeId": "139821934222512"}}, "139821934222512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934224080"}]}, "139821934224080": {"type": "Tuple", "items": [{"nodeId": "139821934224192"}, {"nodeId": "139821934225312"}, {"nodeId": "139821942966640"}]}, "139821934224192": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934225312": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930287552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "139821930288000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "139821930288448": {"type": "Function", "typeVars": [".-1.139821930288448"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288448"}], "returnType": {"nodeId": "139821909168688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288448", "variance": "INVARIANT"}, "139821909168688": {"type": "Union", "items": [{"nodeId": ".-1.139821930288448"}, {"nodeId": "139821942966640"}]}, "139821930288896": {"type": "Function", "typeVars": [".-1.139821930288896"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288896"}], "returnType": {"nodeId": "139821909168576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288896", "variance": "INVARIANT"}, "139821909168576": {"type": "Union", "items": [{"nodeId": ".-1.139821930288896"}, {"nodeId": "139821942966640"}]}, "139821930289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "139821908961072": {"type": "Overloaded", "items": [{"nodeId": "139821930289792"}, {"nodeId": "139821930290240"}]}, "139821930289792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909168800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909168800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930290240": {"type": "Function", "typeVars": [".-1.139821930290240"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290240"}], "returnType": {"nodeId": "139821909168912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.139821930290240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290240", "variance": "INVARIANT"}, "139821909168912": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930290240"}]}, "139821930290688": {"type": "Function", "typeVars": [".-1.139821930290688"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290688"}], "returnType": {"nodeId": "139821909169024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930290688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290688", "variance": "INVARIANT"}, "139821909169024": {"type": "Union", "items": [{"nodeId": ".-1.139821930290688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821930291136": {"type": "Function", "typeVars": [".-1.139821930291136"], "argTypes": [{"nodeId": ".-1.139821930291136"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821930291136"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821930291136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930291136", "variance": "INVARIANT"}, "139821930291584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909169136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930292032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909169248"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909169248": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169360"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "139821909169360": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930293376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169472"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "139821909169472": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930293824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929658880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821930294272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909169584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909169584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930294720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821909169920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909169696"}]}, "139821909169696": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821938442304": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295616"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296064"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296512"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297856"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298304"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298752"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930397760"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398208"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398656"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399104"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399552"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400000"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400448"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "139821929659888"}], "isAbstract": false}, "139821930295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909170032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821909170032": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930295616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909170144"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "139821909170144": {"type": "Union", "items": [{"nodeId": "139821929659888"}, {"nodeId": "N"}]}, "139821930296064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170368"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170368": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821938452048": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162528"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162976"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163424"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163872"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821930162528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "139821930162976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "139821930163424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909295392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "139821909295392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930163872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942964288"}, {"nodeId": "139821909295168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "139821909295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930297408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170816"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170816": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171040": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171152": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171264": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930397760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171488": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171824": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909172160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909172160": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930399104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930399552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930400000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909172384"}, {"nodeId": "139821909172496"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909172384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172496": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930400448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938442640": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938442304"}], "isAbstract": false}, "139821921718944": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821921719616": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718608"}], "isAbstract": false}, "139821921719952": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718944"}], "isAbstract": false}, "139821938443312": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938443648": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938443984": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444320": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444656": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}, {"nodeId": "139821942979408"}], "isAbstract": false}, "139821938444992": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938445664": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446000": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446336": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446672": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447008": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447344": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447680": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448016": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448352": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448688": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449024": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449360": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449696": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938450032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450368": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450704": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165664"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821930165664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938450704"}, {"nodeId": "139821909174848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "139821909174848": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938451040": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451376": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451712": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821929659216": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946882976"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883424"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883872"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884320"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884768"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821946882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164656": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821938442976"}]}, "139821938442976": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946888576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889024"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889472"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946890368"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821946888576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909172608"}, {"nodeId": "139821909172720"}, {"nodeId": "139821909172832"}, {"nodeId": "139821909172944"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "139821909172608": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172720": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172832": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909173056"}, {"nodeId": "139821909173168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "139821909173056": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}]}, "139821909173168": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909173280"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "139821909173280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946889920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946890368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946884768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821929659552": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938739232"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938452048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885664"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886112"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886560"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887008"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887456"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821938739232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821909165104"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909165216"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908685568"}, {"nodeId": "139821938452048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "139821909165104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909165216": {"type": "Union", "items": [{"nodeId": "139821908685344"}, {"nodeId": "N"}]}, "139821908685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821908685568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909165440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909165440": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909165664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909165664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821846344000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846338176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846333024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846432896": {"type": "Overloaded", "items": [{"nodeId": "139821846179040"}, {"nodeId": "139821846180160"}]}, "139821846179040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846180160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821846429872": {"type": "Overloaded", "items": [{"nodeId": "139821846178816"}, {"nodeId": "139821846178144"}, {"nodeId": "139821846178368"}]}, "139821846178816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846178144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821846430992"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846430992": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821846178368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR_2"], "argNames": ["kwargs"]}, "139821846179712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846224048": {"type": "Overloaded", "items": [{"nodeId": "139821846050656"}, {"nodeId": "139821846050208"}]}, "139821846050656": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": [], "argNames": []}, "139821846050208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900531520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900566976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900566976": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821925534400": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "139821925752096"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942644112"}]}]}, "139821942644112": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821846051776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["component_size", "u_node", "v_node"]}, "139821900570448": {"type": "Overloaded", "items": [{"nodeId": "139821975677952"}, {"nodeId": "139821975678400"}]}, "139821975677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900578176"}, {"nodeId": "139821900574592"}, {"nodeId": "139821900575264"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900578176": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900574592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900575264": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821975678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900576160"}, {"nodeId": "139821900576384"}, {"nodeId": "139821900576496"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900576160": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576496": {"type": "Union", "items": [{"nodeId": "139821921426048", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}}, "types": {"boruvka": [{"startOffset": 465, "endOffset": 476, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 461, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 446, "line": 16, "type": {"nodeId": "139821921720960"}}, {"startOffset": 486, "endOffset": 497, "line": 17, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 486, "endOffset": 489, "line": 17, "type": {"nodeId": "139821921720960"}}, {"startOffset": 529, "endOffset": 544, "line": 18, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 529, "endOffset": 532, "line": 18, "type": {"nodeId": "139821921720960"}}, {"startOffset": 749, "endOffset": 754, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 757, "endOffset": 762, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 765, "endOffset": 770, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 728, "endOffset": 746, "line": 23, "type": {"nodeId": "139821846344000"}}, {"startOffset": 728, "endOffset": 739, "line": 23, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 728, "endOffset": 731, "line": 23, "type": {"nodeId": "139821921720960"}}, {"startOffset": 908, "endOffset": 923, "line": 28, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 908, "endOffset": 911, "line": 28, "type": {"nodeId": "139821921720960"}}, {"startOffset": 925, "endOffset": 930, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 936, "endOffset": 941, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 963, "endOffset": 968, "line": 29, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1005, "endOffset": 1020, "line": 30, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1005, "endOffset": 1008, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1022, "endOffset": 1027, "line": 30, "type": {"nodeId": "139821942964960"}}, {"startOffset": 985, "endOffset": 1003, "line": 30, "type": {"nodeId": "139821846343776"}}, {"startOffset": 985, "endOffset": 988, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1150, "endOffset": 1165, "line": 35, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1150, "endOffset": 1153, "line": 35, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1167, "endOffset": 1172, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1178, "endOffset": 1183, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1202, "endOffset": 1202, "line": 36, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1207, "endOffset": 1222, "line": 36, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1207, "endOffset": 1210, "line": 36, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1283, "endOffset": 1283, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1263, "endOffset": 1281, "line": 37, "type": {"nodeId": "139821846341984"}}, {"startOffset": 1263, "endOffset": 1266, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1241, "endOffset": 1256, "line": 37, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1241, "endOffset": 1244, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1258, "endOffset": 1258, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1576, "endOffset": 1589, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1591, "endOffset": 1596, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1602, "endOffset": 1615, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1617, "endOffset": 1622, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1665, "endOffset": 1670, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1638, "endOffset": 1653, "line": 45, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1638, "endOffset": 1641, "line": 45, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1655, "endOffset": 1660, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1710, "endOffset": 1723, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1725, "endOffset": 1730, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1684, "endOffset": 1697, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1699, "endOffset": 1704, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1764, "endOffset": 1769, "line": 47, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1745, "endOffset": 1762, "line": 47, "type": {"nodeId": "139821846338176"}}, {"startOffset": 1745, "endOffset": 1748, "line": 47, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1786, "endOffset": 1799, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1801, "endOffset": 1806, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1812, "endOffset": 1825, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1827, "endOffset": 1832, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1895, "endOffset": 1900, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1875, "endOffset": 1893, "line": 50, "type": {"nodeId": "139821846340416"}}, {"startOffset": 1875, "endOffset": 1878, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1848, "endOffset": 1863, "line": 50, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1848, "endOffset": 1851, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1865, "endOffset": 1870, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1941, "endOffset": 1954, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1956, "endOffset": 1961, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1915, "endOffset": 1928, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1930, "endOffset": 1935, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1995, "endOffset": 2000, "line": 52, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1976, "endOffset": 1993, "line": 52, "type": {"nodeId": "139821846333024"}}, {"startOffset": 1976, "endOffset": 1979, "line": 52, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2161, "endOffset": 2174, "line": 58, "type": {"nodeId": "0"}}, {"startOffset": 2189, "endOffset": 2198, "line": 59, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2271, "line": 61, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2256, "line": 61, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2213, "endOffset": 2231, "line": 61, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 2351, "endOffset": 2354, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2383, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2368, "line": 64, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2359, "endOffset": 2363, "line": 64, "type": {"nodeId": "139821846432896"}}, {"startOffset": 2423, "endOffset": 2427, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2430, "endOffset": 2433, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2399, "endOffset": 2421, "line": 65, "type": {"nodeId": "139821846429872"}}, {"startOffset": 2399, "endOffset": 2414, "line": 65, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2399, "endOffset": 2402, "line": 65, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2449, "endOffset": 2469, "line": 66, "type": {"nodeId": "139821846179712"}}, {"startOffset": 2449, "endOffset": 2462, "line": 66, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2503, "endOffset": 2521, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2503, "endOffset": 2506, "line": 68, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2483, "endOffset": 2499, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2538, "endOffset": 2554, "line": 70, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2577, "endOffset": 2580, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2585, "endOffset": 2596, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 2585, "endOffset": 2588, "line": 71, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2625, "endOffset": 2628, "line": 72, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2615, "endOffset": 2615, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2618, "endOffset": 2618, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2621, "endOffset": 2621, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2661, "endOffset": 2676, "line": 74, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2661, "endOffset": 2664, "line": 74, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2678, "endOffset": 2678, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2647, "endOffset": 2657, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2711, "endOffset": 2726, "line": 75, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2711, "endOffset": 2714, "line": 75, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2728, "endOffset": 2728, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2697, "endOffset": 2707, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2751, "endOffset": 2761, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2766, "endOffset": 2776, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3356, "endOffset": 3364, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3370, "endOffset": 3380, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3383, "endOffset": 3393, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3458, "endOffset": 3476, "line": 90, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3478, "endOffset": 3486, "line": 90, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3530, "endOffset": 3548, "line": 91, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3550, "endOffset": 3558, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3566, "endOffset": 3566, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3657, "endOffset": 3657, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3660, "endOffset": 3660, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3663, "endOffset": 3663, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3623, "endOffset": 3641, "line": 93, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3643, "endOffset": 3651, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3683, "endOffset": 3686, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3691, "endOffset": 3709, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3742, "endOffset": 3745, "line": 96, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3748, "endOffset": 3751, "line": 96, "type": {"nodeId": "139821846224048"}}, {"startOffset": 3731, "endOffset": 3740, "line": 96, "type": {"nodeId": "139821900531520"}}, {"startOffset": 3785, "endOffset": 3788, "line": 97, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3775, "endOffset": 3775, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3778, "endOffset": 3778, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3781, "endOffset": 3781, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3825, "endOffset": 3840, "line": 99, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3825, "endOffset": 3828, "line": 99, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3842, "endOffset": 3842, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3811, "endOffset": 3821, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3879, "endOffset": 3894, "line": 100, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3879, "endOffset": 3882, "line": 100, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3896, "endOffset": 3896, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3865, "endOffset": 3875, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3923, "endOffset": 3933, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3938, "endOffset": 3948, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3989, "endOffset": 3989, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3975, "endOffset": 3984, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4026, "endOffset": 4039, "line": 104, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 4042, "endOffset": 4052, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4055, "endOffset": 4065, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4015, "endOffset": 4024, "line": 104, "type": {"nodeId": "139821846051776"}}, {"startOffset": 4015, "endOffset": 4018, "line": 104, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4098, "endOffset": 4113, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4119, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4139, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4092, "endOffset": 4096, "line": 105, "type": {"nodeId": "139821900570448"}}, {"startOffset": 4170, "endOffset": 4186, "line": 106, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4253, "line": 108, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4238, "line": 108, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4206, "endOffset": 4224, "line": 108, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 4269, "endOffset": 4331, "line": 109, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4263, "endOffset": 4267, "line": 109, "type": {"nodeId": "139821900570448"}}]}, "definitions": {"boruvka": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, "Graph": {"kind": "ClassDef", "type": {"nodeId": "139821921720960"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139822017681712"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139822017682048"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "139822017682384"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "139822017682720"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139822017683056"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "139822017683392"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "139822017683728"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925466176"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "139821925466512"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "139821925466848"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "139821925467184"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "139821925467520"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925467856"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "139822017684064"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "139822017684400"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "139821925468192"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "139821925468528"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "139822017684736"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "139822017685072"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "139822017685408"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "139822017685744"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "139822017686080"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "139822017686416"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "139821925468864"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "139822017686752"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "139822017687088"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "139822017687424"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "139822017687760"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "139822017688096"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688432"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688768"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689104"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689440"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "139821925469200"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821925469536"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "139821925469872"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821925470208"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "139822017689776"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "139822017690112"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "139821925470544"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "139821925470880"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "139821925471216"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "139821925471552"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925471888"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925472224"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "139822017690448"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "139822017680704"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "139822017681040"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "139822017681376"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017690784"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017691120"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "139821942964288"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "139821942964624"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "139821942964960"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "139821942965296"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "139821942965632"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "139821942965968"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "139821942966304"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "139821942966640"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "139821925473568"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "139821925473904"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "139821942966976"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "139821942967312"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "139821942967648"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "139821942967984"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "139821942968320"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "139821925474240"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "139821925474576"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "139821925474912"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "139821942968656"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "139821942968992"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "139821942969328"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921425712"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "139821942969664"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "139821925475248"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "139821942970000"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "139821925475584"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "139821921426048"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "139821942970336"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "139821942970672"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "139821942971008"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "139821925475920"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "139821942971344"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "139821942971680"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "139821921426384"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "139821925476256"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "139821942972016"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "139821942972352"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "139821942972688"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "139821942973024"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "139821942973360"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "139821942973696"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942974032"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "139821942974368"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "139821942974704"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "139821942975040"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "139821942975376"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "139821942975712"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "139821942976048"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "139821942976384"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "139821942976720"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "139821942977056"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "139821942977392"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "139821942977728"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "139821942978064"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942978400"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "139821942978736"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "139821942979072"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "139821942979408"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "139821942979744"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "139821942980080"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "139821925285952"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "139821925286288"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925286624"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "139821925286960"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "139821925287296"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "139821925287632"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "139821925287968"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925288304"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "139821925288640"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "139821925288976"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289312"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289648"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "139821925289984"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "139821925290320"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925290656"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "139821925290992"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291328"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291664"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "139821925292000"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "139821925292336"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "139821925292672"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "139821925293008"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "139821925293344"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "139821925293680"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "139821925294016"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294352"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294688"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925295024"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "139821925295360"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "139821925295696"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296032"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296368"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296704"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297040"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297376"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297712"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298048"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298384"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298720"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299056"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299392"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "139821926225216"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "139821926225552"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "139821926225888"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "139821926226224"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "139821926226560"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "139821926226896"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "139821926227232"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "139821926227568"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926227904"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926228240"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228576"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228912"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229248"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229584"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "139821926229920"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "139821926230256"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926230592"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "139821926230928"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "139821926231264"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231600"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231936"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "139821926232272"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "139821926232608"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "139821926232944"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233280"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233616"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "139821926233952"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "139821926234288"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "139821925476592"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "139821925476928"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "139821925477264"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "139821925477600"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "139821925301408"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "139821926219840"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821926220176"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821926220512"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925477936"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925478272"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925478608"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925478944"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "139821925301744"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "139821925479280"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821925752432"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "139821921426720"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427056"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427392"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "139821925752768"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427728"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "139821921428064"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "139821925753104"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "139821921428400"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925472560"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925472896"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925473232"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925299728"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300064"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300400"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "139821925300736"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "139821925301072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731248"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731584"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938731920"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732256"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938732592"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732928"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "139821938733264"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "139821938733600"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "139821938733936"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "139821938734272"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "139821938734608"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "139821938734944"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "139821938735280"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "139821938735616"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938735952"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938736288"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "139821938736624"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "139821925757136"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "139821925757472"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "139821921428736"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "139821925481968"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925744704"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "139821925745040"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "139821925745376"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "139821925745712"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "139821925746048"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "139821925746384"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925746720"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925747056"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "139821925747392"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925747728"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "139821925748064"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925748400"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925748736"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "139821925749072"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749408"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749744"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "139821925750080"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "139821925750416"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925750752"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925751088"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "139821925751424"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "139821925751760"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "139821925752096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139821925479616"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925479952"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925480288"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925480624"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139821925480960"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925481632"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "139821926234960"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "139821926235296"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "139821926235632"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "139821921206336"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821921206672"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "139821921207008"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "139821921207344"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "139821921207680"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "139821921208016"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208352"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208688"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "139821921209024"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "139821921209360"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "139821921209696"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "139821921210032"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210368"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210704"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "139821921211040"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "139821921211376"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "139821921211712"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "139821921212048"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "139821921212384"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "139821921212720"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "139821921213056"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "139821921213392"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "139821921213728"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "139821921214064"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921214400"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "139821921214736"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "139821921215072"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "139821921215408"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "139821921215744"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "139821921216080"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "139821921216416"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "139821921216752"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217088"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217424"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217760"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "139821921218096"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "139821921218432"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "139821921218768"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "139821921219104"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219440"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219776"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "139821921220112"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "139821921220448"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "139821921220784"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "139821921221120"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921221456"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "139821921221792"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "139821921222128"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "139821921321024"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "139821921321360"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "139821921321696"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "139821921322032"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "139821921322368"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "139821921322704"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "139821921323040"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "139821921323376"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "139821921323712"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "139821921324048"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "139821921324384"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "139821921324720"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "139821921325056"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "139821921325392"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "139821921325728"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "139821921326064"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "139821921326400"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "139821921326736"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "139821921327072"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "139821921327408"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "139821921327744"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "139821921328080"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "139821921328416"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "139821921328752"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "139821921329088"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "139821921329424"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "139821921329760"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "139821921330096"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "139821921330432"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "139821921330768"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "139821921331104"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "139821921331440"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "139821921331776"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "139821921332112"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "139821921332448"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "139821921332784"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "139821921333120"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "139821921333456"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "139821921333792"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "139821921334128"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "139821921334464"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "139821921334800"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "139821921335136"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "139821921335472"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "139821921335808"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "139821921336144"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "139821921336480"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "139821921336816"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "139821921419328"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "139821921419664"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "139821921420000"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "139821921420336"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "139821921420672"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "139821921421008"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "139821921421344"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "139821921421680"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "139821921422016"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "139821921422352"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "139821921422688"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "139821921423024"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "139821921423360"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "139821921423696"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "139821921424032"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "139821921424368"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "139821921424704"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "139821921425040"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "139821921425376"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "139821929644432"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929644768"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645104"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645440"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "139821929645776"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "139821929646112"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "139821929646448"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "139821929646784"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "139821929647120"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "139821929647456"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929647792"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "139821929648128"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "139821929648464"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921720288"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "139821926224880"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938452720"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938453056"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714912"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938453392"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "139821938453728"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "139821938454064"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "139821938454400"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938454736"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938455072"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "139821938455408"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "139821938455744"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "139821921715248"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "139821938456080"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "139821938456416"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "139821938456752"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "139821938457088"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "139821938457424"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "139821938457760"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "139821938458096"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "139821938720832"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "139821938721168"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "139821938721504"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "139821938721840"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "139821938722176"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "139821938722512"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "139821938722848"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "139821938723184"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723520"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723856"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "139821938724192"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "139821938724528"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "139821938724864"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "139821938725200"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "139821938725536"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "139821938725872"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "139821938726208"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "139821938726544"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "139821938726880"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727216"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "139821938727552"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727888"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "139821938728224"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "139821938728560"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "139821938728896"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938729232"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "139821938729568"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "139821938729904"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "139821938730240"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730576"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730912"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "139821921715584"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "139821929644096"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "139821925757808"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "139821925758144"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "139821925758480"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925758816"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925759152"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759488"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759824"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "139821925760160"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429072"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921429408"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "139821925760496"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429744"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "139821921430080"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "139821921430416"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "139821921430752"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "139821921431088"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431424"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431760"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "139821921432096"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "139821929652832"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653504"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653840"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654176"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654512"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929654848"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929655184"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929655520"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "139821929655856"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "139821929656192"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "139821929656528"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "139821929652160"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433440"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433776"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434112"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929652496"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434448"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921434784"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921435120"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714240"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "139821929656864"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "139821929657200"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "139821929657536"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "139821929657872"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "139821921714576"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "139821929658208"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "139821929658544"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "139821925756464"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "139821925756800"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926220848"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926221184"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "139821921715920"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221520"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221856"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821926222192"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821926222528"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926222864"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223200"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "139821921716256"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "139821926223536"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223872"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224208"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716592"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716928"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717264"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821921717600"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717936"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224544"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "139821925753440"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "139821925753776"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "139821925754112"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925754448"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "139821925754784"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821929649472"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "139821929650144"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "139821929650480"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "139821929650816"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "139821921720624"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "139821929651152"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651488"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921432432"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921433104"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651824"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "139821925755120"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "139821925755456"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "139821925755792"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "139821925756128"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "139821926234624"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "139821929649136"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "139821938442304"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "139821938442640"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "139821921718272"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718608"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718944"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "139821921719280"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719616"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719952"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "139821938452384"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "139821938452048"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "139821938443312"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443648"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443984"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "139821938444320"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "139821938444656"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "139821938444992"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445328"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445664"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446000"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446336"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446672"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447008"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447344"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447680"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448016"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448352"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448688"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449024"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449360"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449696"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450032"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "139821938450368"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450704"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451040"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451376"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451712"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "139821929659216"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "139821929659552"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "139821938442976"}}}}, "names": {"boruvka": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Graph", "kind": "LocalType"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/imports_sample.json b/usvm-python/utbot-python-types/src/test/resources/imports_sample.json deleted file mode 100644 index f6609e9f2a..0000000000 --- a/usvm-python/utbot-python-types/src/test/resources/imports_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140162539260272": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607088"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758528"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758976"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759424"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760320"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584761216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762112"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762560"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763008"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763456"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763904"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764352"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764800"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765248"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765696"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766144"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766592"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767040"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767488"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767936"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768384"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768832"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769280"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769728"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770176"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770624"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771072"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771520"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771968"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887808"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888256"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888704"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889152"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889600"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890944"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891392"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891840"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892288"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892736"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893184"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893632"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584894080"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607200"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895872"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896320"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896768"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898560"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899456"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899904"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901696"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162505607088": {"type": "Overloaded", "items": [{"nodeId": "140162509910784"}, {"nodeId": "140162584757632"}]}, "140162509910784": {"type": "Function", "typeVars": [".-1.140162509910784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162509910784"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140162618234176": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507328"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158528"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450776000"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206528"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206976"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597207424"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350848"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351296"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351744"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352192"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352640"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353088"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353536"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353984"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606354432"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355328"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355776"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140162526507328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140162539261952": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624128"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624576"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625024"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625472"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625920"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897040"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897376"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898160"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580776768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777664"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778112"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778560"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779008"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779456"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779904"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580780352"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898496"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "isAbstract": false}, "140162505896816": {"type": "Overloaded", "items": [{"nodeId": "140162580620992"}, {"nodeId": "140162580621440"}, {"nodeId": "140162580621888"}, {"nodeId": "140162580622336"}, {"nodeId": "140162580622784"}, {"nodeId": "140162580623232"}, {"nodeId": "140162580623680"}]}, "140162580620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, ".2.140162539261952": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, "140162580621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162580621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526752304": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124000"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124448"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "keys"]}, "140162593124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526752304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526752304": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "INVARIANT"}, ".2.140162526752304": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "COVARIANT"}, "140162618238208": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496481760"}}], "typeVars": [{"nodeId": ".1.140162618238208"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162496481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238208"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238208", "variance": "COVARIANT"}, "140162618238544": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496484224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572097280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162618238544"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238544"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140162496484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": ".1.140162618238544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618238544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238544", "variance": "COVARIANT"}, "140162572097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140162593124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}, {"nodeId": ".1.140162526752304"}], "returnType": {"nodeId": ".2.140162526752304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162580622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505897600": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162580623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897824"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162505897824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, "140162580623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539261616": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476672"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477120"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477568"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478016"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478464"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478912"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580479360"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505895024"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612480"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896368"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580614720"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896592"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616064"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616960"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617408"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617856"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618304"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618752"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261616"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162539261616"}]}], "isAbstract": false}, "140162505894912": {"type": "Overloaded", "items": [{"nodeId": "140162580475328"}, {"nodeId": "140162580475776"}]}, "140162580475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261616", "variance": "INVARIANT"}, "140162580475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162525837152": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501364640"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501364640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539258592": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387792"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597722304"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450421376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450422272"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420704"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724544"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724992"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597725440"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597726784"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450420032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597727680"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728576"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729024"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729472"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729920"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730368"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730816"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731264"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731712"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589605952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589607296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505388912"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610432"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610880"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612224"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612672"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613120"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614016"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614464"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614912"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615360"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615808"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616256"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616704"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617152"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617600"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618048"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618496"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618944"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619392"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619840"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620288"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620736"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621184"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621632"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589769792"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770688"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589771136"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387792": {"type": "Overloaded", "items": [{"nodeId": "140162509912800"}, {"nodeId": "140162597721856"}]}, "140162509912800": {"type": "Function", "typeVars": [".-1.140162509912800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389584"}], "returnType": {"nodeId": ".-1.140162509912800"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505389584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162505389472"}, {"nodeId": "140162525823376"}, {"nodeId": "140162525837152"}, {"nodeId": "140162526751632"}]}, "140162505389472": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162543162912": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162543162800"}]}, "140162525830432": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505608320"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018432"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018880"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019328"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019776"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020224"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020672"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585021568"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022016"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022912"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023360"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023808"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024256"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024704"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025152"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025600"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026048"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026496"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026944"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027392"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027840"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028288"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028736"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029184"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029632"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030080"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030528"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030976"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031424"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031872"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032320"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032768"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033216"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033664"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585034112"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585165888"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166336"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166784"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167232"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167680"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585168128"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451058336"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451057888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169920"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505611792"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171264"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172608"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173056"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173504"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173952"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174400"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174848"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175296"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175744"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585176192"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162525828416"}], "isAbstract": false}, "140162505608320": {"type": "Overloaded", "items": [{"nodeId": "140162584894976"}, {"nodeId": "140162584902592"}, {"nodeId": "140162584903040"}]}, "140162584894976": {"type": "Function", "typeVars": [".-1.140162584894976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505613024"}], "returnType": {"nodeId": ".-1.140162584894976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162505613024": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162525824384"}, {"nodeId": "140162505612912"}]}, "140162525824384": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501648320"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__bytes__"]}, "140162501648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824384"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612912": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584894976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584894976", "variance": "INVARIANT"}, "140162584902592": {"type": "Function", "typeVars": [".-1.140162584902592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584902592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140162584902592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584902592", "variance": "INVARIANT"}, "140162584903040": {"type": "Function", "typeVars": [".-1.140162584903040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162584903040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162584903040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584903040", "variance": "INVARIANT"}, "140162585018432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585018880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585019328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613248"}, {"nodeId": "140162505613360"}, {"nodeId": "140162505613472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613248": {"type": "Union", "items": [{"nodeId": "140162505613136"}, {"nodeId": "140162525837152"}]}, "140162505613136": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613360": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505613472": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585019776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585020224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613808"}, {"nodeId": "140162505613920"}, {"nodeId": "140162505614032"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613808": {"type": "Union", "items": [{"nodeId": "140162505613584"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505613696"}]}]}, "140162505613584": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539261280": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466368"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466816"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468160"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469952"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894128"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471296"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471744"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472192"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580473088"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261280"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162539261280"}]}], "isAbstract": false}, "140162580465920": {"type": "Function", "typeVars": [".-1.140162580465920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": ".-1.140162580465920"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140162539261280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261280", "variance": "COVARIANT"}, ".-1.140162580465920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580465920", "variance": "INVARIANT"}, "140162580466368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580466816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618234512": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585568512"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892000"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892112"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892896"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893008"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893120"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893232"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585574336"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162585568512": {"type": "Function", "typeVars": [".-1.140162585568512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162585568512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140162585568512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585568512", "variance": "INVARIANT"}, "140162505892000": {"type": "Overloaded", "items": [{"nodeId": "140162585568960"}, {"nodeId": "140162585569408"}]}, "140162585568960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585569408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892112": {"type": "Overloaded", "items": [{"nodeId": "140162585569856"}, {"nodeId": "140162585570304"}]}, "140162585569856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585570304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892896": {"type": "Overloaded", "items": [{"nodeId": "140162585570752"}, {"nodeId": "140162585571200"}]}, "140162585570752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585571200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893008": {"type": "Overloaded", "items": [{"nodeId": "140162585571648"}, {"nodeId": "140162585572096"}]}, "140162585571648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893120": {"type": "Overloaded", "items": [{"nodeId": "140162585572544"}, {"nodeId": "140162585572992"}]}, "140162585572544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893232": {"type": "Overloaded", "items": [{"nodeId": "140162585573440"}, {"nodeId": "140162585573888"}]}, "140162585573440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585573888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585574336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505893680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893680": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162505893456": {"type": "Overloaded", "items": [{"nodeId": "140162580467264"}, {"nodeId": "140162580467712"}]}, "140162580467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580467712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539260944": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446142240"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143136"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143360"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465472"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446142240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893344": {"type": "Overloaded", "items": [{"nodeId": "140162580464576"}, {"nodeId": "140162580465024"}]}, "140162580464576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580465024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580465472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505894800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505894800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162580468160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505894128": {"type": "Overloaded", "items": [{"nodeId": "140162580470400"}, {"nodeId": "140162580470848"}]}, "140162580470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580470848": {"type": "Function", "typeVars": [".-1.140162580470848"], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".-1.140162580470848"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162505895136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580470848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580470848", "variance": "INVARIANT"}, "140162505895136": {"type": "Union", "items": [{"nodeId": ".1.140162539261280"}, {"nodeId": ".-1.140162580470848"}]}, "140162580471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580471744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526124672": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435360"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435808"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492436032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593112576"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539257920": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770848"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770400"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770176"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769952"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769728"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769504"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769280"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769056"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450768832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505385104"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716480"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716928"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717376"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717824"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597718272"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450768608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719616"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118624": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597598848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599296"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552192"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552640"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553088"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553536"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553984"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555328"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "isAbstract": false}, "140162597598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162526118624": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "INVARIANT"}, ".2.140162526118624": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "COVARIANT"}, "140162597599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": ".1.140162526118624"}], "returnType": {"nodeId": ".2.140162526118624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597552192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597552640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826736": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572418432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572484672"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485120"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486016"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486464"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486912"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487360"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826736"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525826736"}]}], "isAbstract": false}, "140162572416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826736"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826736": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826736", "variance": "COVARIANT"}, "140162618243248": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496750400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572490944"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491392"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491840"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572492288"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618243248"}]}], "isAbstract": true}, "140162496750400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": ".2.140162618243248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618243248": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "INVARIANT"}, ".2.140162618243248": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "COVARIANT"}, "140162522445440": {"type": "Overloaded", "items": [{"nodeId": "140162572490048"}, {"nodeId": "140162572490496"}]}, "140162572490048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": "140162522663728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522663728": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": "N"}]}, "140162572490496": {"type": "Function", "typeVars": [".-1.140162572490496"], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}, {"nodeId": "140162522663840"}], "returnType": {"nodeId": "140162522663952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522663840": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, ".-1.140162572490496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572490496", "variance": "INVARIANT"}, "140162522663952": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, "140162572490944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826400": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162542693600"}]}], "isAbstract": false}, "140162572411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826400": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, ".2.140162525826400": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, "140162572411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522447344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525831104": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580782592"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783040"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783488"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783936"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784384"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784832"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785280"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785728"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786176"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786624"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787072"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787520"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787968"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788416"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788864"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789760"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790208"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790656"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873280"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873728"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874176"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874624"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875072"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875520"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875968"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876416"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876864"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877312"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877760"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580878208"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831104"}], "bases": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162525831104"}]}], "isAbstract": false}, "140162505898944": {"type": "Overloaded", "items": [{"nodeId": "140162580781696"}, {"nodeId": "140162580782144"}]}, "140162580781696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525831104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831104", "variance": "INVARIANT"}, "140162580782144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580782592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580783040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580783488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580783936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580784384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580784832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580788416": {"type": "Function", "typeVars": [".-1.140162580788416"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580788416"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887712"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580788416": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580788416", "variance": "INVARIANT"}, "140162500887712": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580788416"}]}, "140162580788864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580789312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580789760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580790208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580790656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618242576": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496676352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270528"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572402752"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403200"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403648"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404096"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404992"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140162618242576"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618242576"}]}], "isAbstract": true}, "140162496676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618242576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242576", "variance": "COVARIANT"}, "140162572270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572402752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404544": {"type": "Function", "typeVars": [".-1.140162572404544"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572404544"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572404544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572404544", "variance": "INVARIANT"}, "140162522446224": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572404544"}]}, "140162572404992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572405440": {"type": "Function", "typeVars": [".-1.140162572405440"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572405440"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572405440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572405440", "variance": "INVARIANT"}, "140162522446448": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572405440"}]}, "140162572405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162618241568": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496571968"}}], "typeVars": [{"nodeId": ".1.140162618241568"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618241568"}]}, {"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241568"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140162496571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241568"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618241568": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241568", "variance": "COVARIANT"}, "140162618241232": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496569280"}}], "typeVars": [{"nodeId": ".1.140162618241232"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__"]}, "140162496569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241232"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241232": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241232", "variance": "COVARIANT"}, "140162580873280": {"type": "Function", "typeVars": [".-1.140162580873280"], "argTypes": [{"nodeId": ".-1.140162580873280"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580873280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873280", "variance": "INVARIANT"}, "140162580873728": {"type": "Function", "typeVars": [".-1.140162580873728"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580873728"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873728", "variance": "INVARIANT"}, "140162500887824": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580873728"}]}, "140162580874176": {"type": "Function", "typeVars": [".-1.140162580874176"], "argTypes": [{"nodeId": ".-1.140162580874176"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580874176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580874176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580874176", "variance": "INVARIANT"}, "140162580874624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162500887936"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500887936": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": "N"}]}, "140162580875072": {"type": "Function", "typeVars": [".-1.140162580875072"], "argTypes": [{"nodeId": ".-1.140162580875072"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580875072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875072", "variance": "INVARIANT"}, "140162580875520": {"type": "Function", "typeVars": [".-1.140162580875520"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580875520"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500888048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875520": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875520", "variance": "INVARIANT"}, "140162500888048": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580875520"}]}, "140162580875968": {"type": "Function", "typeVars": [".-1.140162580875968"], "argTypes": [{"nodeId": ".-1.140162580875968"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580875968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875968", "variance": "INVARIANT"}, "140162580876416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580876864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580878208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162618242912": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496677920"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496685536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140162618242912"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "isAbstract": true}, "140162496677920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140162618242912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242912", "variance": "INVARIANT"}, "140162496685536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572407680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".1.140162618242912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572408576": {"type": "Function", "typeVars": [".-1.140162572408576"], "argTypes": [{"nodeId": ".-1.140162572408576"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572408576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572408576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572408576", "variance": "INVARIANT"}, "140162572409024": {"type": "Function", "typeVars": [".-1.140162572409024"], "argTypes": [{"nodeId": ".-1.140162572409024"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409024", "variance": "INVARIANT"}, "140162572409472": {"type": "Function", "typeVars": [".-1.140162572409472"], "argTypes": [{"nodeId": ".-1.140162572409472"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572409472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409472", "variance": "INVARIANT"}, "140162572409920": {"type": "Function", "typeVars": [".-1.140162572409920"], "argTypes": [{"nodeId": ".-1.140162572409920"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409920", "variance": "INVARIANT"}, "140162522447344": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572412160": {"type": "Function", "typeVars": [".-1.140162572412160"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572412160"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572412160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572412160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572412160", "variance": "INVARIANT"}, "140162572412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522447568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522447568": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522660928"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522660928": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413952": {"type": "Function", "typeVars": [".-1.140162572413952"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572413952"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661264"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572413952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572413952", "variance": "INVARIANT"}, "140162522661264": {"type": "Union", "items": [{"nodeId": "140162522661152"}, {"nodeId": ".-1.140162572413952"}]}, "140162522661152": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414400": {"type": "Function", "typeVars": [".-1.140162572414400"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572414400"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572414400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572414400", "variance": "INVARIANT"}, "140162522661600": {"type": "Union", "items": [{"nodeId": "140162522661488"}, {"nodeId": ".-1.140162572414400"}]}, "140162522661488": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661936"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522661936": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572415296": {"type": "Function", "typeVars": [".-1.140162572415296"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415296"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572415296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415296", "variance": "INVARIANT"}, "140162572415744": {"type": "Function", "typeVars": [".-1.140162572415744"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415744"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415744", "variance": "INVARIANT"}, "140162522662272": {"type": "Union", "items": [{"nodeId": "140162522662160"}, {"nodeId": ".-1.140162572415744"}]}, "140162522662160": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572416192": {"type": "Function", "typeVars": [".-1.140162572416192"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572416192"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572416192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572416192", "variance": "INVARIANT"}, "140162522662608": {"type": "Union", "items": [{"nodeId": "140162522662496"}, {"nodeId": ".-1.140162572416192"}]}, "140162522662496": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162525826064": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140162525825056"}], "isAbstract": false}, "140162572410368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162572410816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162525825056": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501655936"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__len__"]}, "140162501655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825056"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542693600": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572491840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827072": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488704"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572489152"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525827072"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162525827072"}]}], "isAbstract": false}, "140162572487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525827072": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827072", "variance": "COVARIANT"}, "140162572488256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572488704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572492288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417536": {"type": "Function", "typeVars": [".-1.140162572417536"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572417536"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572417536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572417536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572417536", "variance": "INVARIANT"}, "140162572417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572485120": {"type": "Function", "typeVars": [".-1.140162572485120"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485120"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662944"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485120", "variance": "INVARIANT"}, "140162522662944": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485120"}]}, "140162572485568": {"type": "Function", "typeVars": [".-1.140162572485568"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485568"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485568", "variance": "INVARIANT"}, "140162522663056": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485568"}]}, "140162572486016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572486464": {"type": "Function", "typeVars": [".-1.140162572486464"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486464"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572486464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486464", "variance": "INVARIANT"}, "140162572486912": {"type": "Function", "typeVars": [".-1.140162572486912"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486912"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486912", "variance": "INVARIANT"}, "140162522663280": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572486912"}]}, "140162572487360": {"type": "Function", "typeVars": [".-1.140162572487360"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572487360"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572487360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572487360", "variance": "INVARIANT"}, "140162522663392": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572487360"}]}, "140162597553088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162597554432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597554880": {"type": "Function", "typeVars": [".-1.140162597554880", ".-2.140162597554880"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597554880"}, {"nodeId": ".-2.140162597554880"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671568"}, {"nodeId": "140162522671680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597554880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, ".-2.140162597554880": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, "140162522671568": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597554880"}]}, "140162522671680": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597554880"}]}, "140162597555328": {"type": "Function", "typeVars": [".-1.140162597555328", ".-2.140162597555328"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597555328"}, {"nodeId": ".-2.140162597555328"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671792"}, {"nodeId": "140162522671904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597555328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, ".-2.140162597555328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, "140162522671792": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597555328"}]}, "140162522671904": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597555328"}]}, "140162450769952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162505387344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505387344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162450768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505158976": {"type": "Overloaded", "items": [{"nodeId": "140162606365184"}, {"nodeId": "140162606365632"}]}, "140162606365184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606365632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140162505385104": {"type": "Overloaded", "items": [{"nodeId": "140162606366080"}, {"nodeId": "140162597716032"}]}, "140162606366080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162597716032": {"type": "Function", "typeVars": [".-1.140162597716032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162597716032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140162597716032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716032", "variance": "INVARIANT"}, "140162597716480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162597716928": {"type": "Function", "typeVars": [".-1.140162597716928"], "argTypes": [{"nodeId": ".-1.140162597716928"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162597716928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597716928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716928", "variance": "INVARIANT"}, "140162597717376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597717824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597718272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162450768608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140162597719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526125344": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492438496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593114368"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593113920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593114368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597719616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162492435808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140162593274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593112576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618241904": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522443984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572261568"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262016"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262464"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572263360"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162618241904"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618241904"}]}], "isAbstract": true}, "140162522443984": {"type": "Overloaded", "items": [{"nodeId": "140162572260672"}, {"nodeId": "140162572261120"}]}, "140162572260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618241904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241904", "variance": "COVARIANT"}, "140162572261120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140162572262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618238880": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496486464"}}], "typeVars": [{"nodeId": ".1.140162618238880"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238880"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140162496486464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618238880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238880"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238880", "variance": "COVARIANT"}, "140162505613696": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613920": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614032": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585020672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585021568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614256"}, {"nodeId": "140162505614368"}, {"nodeId": "140162505614480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614256": {"type": "Union", "items": [{"nodeId": "140162505614144"}, {"nodeId": "140162525837152"}]}, "140162505614144": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614368": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614480": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585022016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505614592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585022912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614816"}, {"nodeId": "140162505614928"}, {"nodeId": "140162505615040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614816": {"type": "Union", "items": [{"nodeId": "140162505614704"}, {"nodeId": "140162525837152"}]}, "140162505614704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505615040": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585023360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585023808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505615152"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505615264"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505615264": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162525830768": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505612800"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178432"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178880"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179328"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179776"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180672"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181120"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181568"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585313792"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314688"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585315584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316032"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316928"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317376"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317824"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318720"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319168"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319616"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320064"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320512"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320960"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321408"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321856"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322304"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322752"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323200"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323648"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324096"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324544"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324992"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325440"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325888"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326336"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326784"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327232"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327680"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328128"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328576"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585329024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395264"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395712"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396160"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396608"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451230496"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585397952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585398400"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505619632"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505620416"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585400640"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162505795712"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401984"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402432"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402880"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403328"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403776"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404224"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404672"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405120"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405568"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406016"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406464"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406912"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525828416"}], "isAbstract": false}, "140162505612800": {"type": "Overloaded", "items": [{"nodeId": "140162585177088"}, {"nodeId": "140162585177536"}, {"nodeId": "140162585177984"}]}, "140162585177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505620640": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162505620528"}]}, "140162505620528": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140162585178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620864"}, {"nodeId": "140162505620976"}, {"nodeId": "140162505621088"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505620864": {"type": "Union", "items": [{"nodeId": "140162505620752"}, {"nodeId": "140162525837152"}]}, "140162505620752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505620976": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505621088": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505883712"}, {"nodeId": "140162505883824"}, {"nodeId": "140162505883936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505883712": {"type": "Union", "items": [{"nodeId": "140162505621200"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505621312"}]}]}, "140162505621200": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505621312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505883824": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505883936": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884160"}, {"nodeId": "140162505884272"}, {"nodeId": "140162505884384"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884160": {"type": "Union", "items": [{"nodeId": "140162505884048"}, {"nodeId": "140162525837152"}]}, "140162505884048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884272": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884496"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505884496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884720"}, {"nodeId": "140162505884832"}, {"nodeId": "140162505884944"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884720": {"type": "Union", "items": [{"nodeId": "140162505884608"}, {"nodeId": "140162525837152"}]}, "140162505884608": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884832": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884944": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162585316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505885056"}]}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885056": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505885168"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505885168": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585321408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885392"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505885392": {"type": "Union", "items": [{"nodeId": "140162505885280"}, {"nodeId": "N"}]}, "140162505885280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585321856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885504"}], "returnType": {"nodeId": "140162505885728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885504": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505885728": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585322304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162585322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885840"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885840": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585323648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885952"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886064"}, {"nodeId": "140162505886176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886064": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886400"}, {"nodeId": "140162505886512"}, {"nodeId": "140162505886624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886400": {"type": "Union", "items": [{"nodeId": "140162505886288"}, {"nodeId": "140162525837152"}]}, "140162505886288": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886512": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505886624": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886848"}, {"nodeId": "140162505886960"}, {"nodeId": "140162505887072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886848": {"type": "Union", "items": [{"nodeId": "140162505886736"}, {"nodeId": "140162525837152"}]}, "140162505886736": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886960": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505887072": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505887184"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505887184": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887296"}], "returnType": {"nodeId": "140162505887520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505887296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505887520": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887744"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505887744": {"type": "Union", "items": [{"nodeId": "140162505887632"}, {"nodeId": "N"}]}, "140162505887632": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887968"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505887968": {"type": "Union", "items": [{"nodeId": "140162505887856"}, {"nodeId": "N"}]}, "140162505887856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888192"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505888192": {"type": "Union", "items": [{"nodeId": "140162505888080"}, {"nodeId": "N"}]}, "140162505888080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888528"}, {"nodeId": "140162505888640"}, {"nodeId": "140162505888752"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505888528": {"type": "Union", "items": [{"nodeId": "140162505888304"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505888416"}]}]}, "140162505888304": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888640": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505888752": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888976"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505888976": {"type": "Union", "items": [{"nodeId": "140162505888864"}, {"nodeId": "N"}]}, "140162505888864": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889200"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505889200": {"type": "Union", "items": [{"nodeId": "140162505889088"}, {"nodeId": "N"}]}, "140162505889088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451230496": {"type": "Function", "typeVars": [".-1.140162451230496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451230496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451230496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451230496", "variance": "INVARIANT"}, "140162451229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505889312"}, {"nodeId": "140162505889424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505889424": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585397952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505619632": {"type": "Overloaded", "items": [{"nodeId": "140162585398848"}, {"nodeId": "140162585399296"}]}, "140162585398848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585399296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620416": {"type": "Overloaded", "items": [{"nodeId": "140162585399744"}, {"nodeId": "140162585400192"}]}, "140162585399744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505889760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505889760": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525830432"}]}, "140162585400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889872": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162585401088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889984"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889984": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505795712": {"type": "Function", "typeVars": [".-1.140162505795712"], "argTypes": [{"nodeId": ".-1.140162505795712"}, {"nodeId": "140162505890096"}], "returnType": {"nodeId": ".-1.140162505795712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162505795712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505795712", "variance": "INVARIANT"}, "140162505890096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402880": {"type": "Function", "typeVars": [".-1.140162585402880"], "argTypes": [{"nodeId": ".-1.140162585402880"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162585402880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162585402880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585402880", "variance": "INVARIANT"}, "140162585403328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585403776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890432": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505890320"}]}, "140162505890320": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585404224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585404672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585405120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890544"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890544": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585405568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890656"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890656": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890768": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890880"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890880": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618242240": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496575776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572266944"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267392"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267840"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268288"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268736"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269184"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269632"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140162618242240"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618242240"}]}], "isAbstract": true}, "140162496575776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140162618242240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242240", "variance": "INVARIANT"}, "140162522444432": {"type": "Overloaded", "items": [{"nodeId": "140162572264256"}, {"nodeId": "140162572264704"}]}, "140162572264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522444992": {"type": "Overloaded", "items": [{"nodeId": "140162572265152"}, {"nodeId": "140162572265600"}]}, "140162572265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162572265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162522445328": {"type": "Overloaded", "items": [{"nodeId": "140162572266048"}, {"nodeId": "140162572266496"}]}, "140162572266048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572267392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140162572268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572268736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140162572269184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572269632": {"type": "Function", "typeVars": [".-1.140162572269632"], "argTypes": [{"nodeId": ".-1.140162572269632"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": ".-1.140162572269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572269632": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572269632", "variance": "INVARIANT"}, "140162525828416": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": true}, "140162585027840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585028288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615488"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505615488": {"type": "Union", "items": [{"nodeId": "140162505615376"}, {"nodeId": "N"}]}, "140162505615376": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585028736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615600"}], "returnType": {"nodeId": "140162505615824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615600": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505615824": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585029184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615936"}, {"nodeId": "140162505616048"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505615936": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585029632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616160"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616160": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616272": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616496"}, {"nodeId": "140162505616608"}, {"nodeId": "140162505616720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616496": {"type": "Union", "items": [{"nodeId": "140162505616384"}, {"nodeId": "140162525837152"}]}, "140162505616384": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616608": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505616720": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585030976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616944"}, {"nodeId": "140162505617056"}, {"nodeId": "140162505617168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616944": {"type": "Union", "items": [{"nodeId": "140162505616832"}, {"nodeId": "140162525837152"}]}, "140162505616832": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617056": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505617168": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585031424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505617280"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505617280": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585031872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617392"}], "returnType": {"nodeId": "140162505617616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505617392": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617616": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585032320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617840"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505617840": {"type": "Union", "items": [{"nodeId": "140162505617728"}, {"nodeId": "N"}]}, "140162505617728": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585032768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618064"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505618064": {"type": "Union", "items": [{"nodeId": "140162505617952"}, {"nodeId": "N"}]}, "140162505617952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505618288": {"type": "Union", "items": [{"nodeId": "140162505618176"}, {"nodeId": "N"}]}, "140162505618176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585034112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618624"}, {"nodeId": "140162505618736"}, {"nodeId": "140162505618848"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505618624": {"type": "Union", "items": [{"nodeId": "140162505618400"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505618512"}]}]}, "140162505618400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618512": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618736": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505618848": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585165888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619072"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505619072": {"type": "Union", "items": [{"nodeId": "140162505618960"}, {"nodeId": "N"}]}, "140162505618960": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585166336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585166784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619296"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505619296": {"type": "Union", "items": [{"nodeId": "140162505619184"}, {"nodeId": "N"}]}, "140162505619184": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451058336": {"type": "Function", "typeVars": [".-1.140162451058336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451058336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451058336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451058336", "variance": "INVARIANT"}, "140162451057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505619408"}, {"nodeId": "140162505619520"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619408": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505619520": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585169472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585169920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505611792": {"type": "Overloaded", "items": [{"nodeId": "140162585170368"}, {"nodeId": "140162585170816"}]}, "140162585170368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585170816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585171264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619744"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585171712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505620080"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620080": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505619968"}]}, "140162505619968": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585173504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585176192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162505620304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505620304": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}]}, "140162543162800": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162543162688": {"type": "Union", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260608"}, {"nodeId": "140162526745584", "args": [{"nodeId": "A"}]}, {"nodeId": "140162534539328"}, {"nodeId": "140162539416800"}, {"nodeId": "140162526131392"}]}, "140162539260608": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451238784"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239232"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239456"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239680"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239904"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240128"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240352"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240576"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240800"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241024"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241248"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560448"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560896"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561344"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561792"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563584"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585564032"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889648"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585565376"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566272"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566720"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567168"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567616"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162451238784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505890992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505890992": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891104": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891216": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891328": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162451240800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585560448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162505891440": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585560896": {"type": "Function", "typeVars": [".-1.140162585560896"], "argTypes": [{"nodeId": ".-1.140162585560896"}], "returnType": {"nodeId": ".-1.140162585560896"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162585560896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585560896", "variance": "INVARIANT"}, "140162585561344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891552"}, {"nodeId": "140162505891664"}, {"nodeId": "140162505891776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505891552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505891664": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539265984": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542695056"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121440"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542696848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576647104"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162542695056": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539121440": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162542696848": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123328": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593260032"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135008"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492360608"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361056"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361280"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593260032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}, {"nodeId": "140162513455472"}, {"nodeId": "140162526123664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140162513455472": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123664": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492362400"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363072"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363296"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363520"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363744"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363968"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492364192"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135456"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593264960"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492362400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513455584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513455584": {"type": "Union", "items": [{"nodeId": "140162526123664"}, {"nodeId": "N"}]}, "140162492363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118288": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497319360"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320704"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320256"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320928"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321152"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321376"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321600"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321824"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322048"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322272"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322496"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322720"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322944"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323168"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323392"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323616"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497324288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597593920"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597596160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597597952"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497319360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497324288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522671344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522671344": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162522671120"}]}, "140162522671120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162597596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140162597597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140162492363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513456032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513456032": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162492364192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135456": {"type": "Union", "items": [{"nodeId": "140162530018464"}, {"nodeId": "N"}]}, "140162530018464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162593264960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135008": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162492360608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162576646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162501143216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162501143216": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162576647104": {"type": "Function", "typeVars": [".-1.140162576647104"], "argTypes": [{"nodeId": ".-1.140162576647104"}, {"nodeId": "140162501143328"}], "returnType": {"nodeId": ".-1.140162576647104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162576647104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576647104", "variance": "INVARIANT"}, "140162501143328": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162505891776": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162585561792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505891888"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140162505891888": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}]}, "140162505889536": {"type": "Overloaded", "items": [{"nodeId": "140162585562240"}, {"nodeId": "140162585562688"}]}, "140162585562240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585562688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585564032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505889648": {"type": "Overloaded", "items": [{"nodeId": "140162585564480"}, {"nodeId": "140162585564928"}]}, "140162585564480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505892224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505892224": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585564928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585565376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892784"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140162505892784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162585566272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585566720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892672"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505892672": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162526745584": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463937952"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463939744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042864"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123200"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123648"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124096"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124544"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124992"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125440"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125888"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126336"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126784"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564127232"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564128128"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932224"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932672"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933120"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933568"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934016"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934464"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563935808"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042976"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505154608"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938048"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938496"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938944"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940288"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940736"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941184"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941632"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942528"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942976"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140162526745584"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162526745584"}]}], "isAbstract": false}, "140162463937952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526745584": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539260272"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526745584", "variance": "INVARIANT"}, "140162539258928": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509913472"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772032"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772480"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772928"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450940288"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940512"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589774720"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775168"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775616"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776064"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776512"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776960"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777408"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777856"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505389360"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779200"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779648"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780544"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780992"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781440"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781888"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505391712"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589783680"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784128"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784576"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589785024"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505606416"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642496"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642944"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643392"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643840"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644288"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644736"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645184"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645632"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646080"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646528"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646976"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162509913472": {"type": "Function", "typeVars": [".-1.140162509913472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505605856"}], "returnType": {"nodeId": ".-1.140162509913472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505605856": {"type": "Union", "items": [{"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505605744"}]}, "140162525823712": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501645632"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__float__"]}, "140162501645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505605744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162509913472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913472", "variance": "INVARIANT"}, "140162589772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162589772480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940288": {"type": "Function", "typeVars": [".-1.140162450940288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162450940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162450940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450940288", "variance": "INVARIANT"}, "140162450940512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589774720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589775168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589775616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505606304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505389360": {"type": "Overloaded", "items": [{"nodeId": "140162589778304"}, {"nodeId": "140162589778752"}]}, "140162589778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505606752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505391712": {"type": "Overloaded", "items": [{"nodeId": "140162589782336"}, {"nodeId": "140162589782784"}, {"nodeId": "140162589783232"}]}, "140162589782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505606976"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505606976": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162526503856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162589782784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505610224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505610224": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162526505984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162539259264": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505609440"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450946112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450947008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650112"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650560"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651008"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651904"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652352"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652800"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653248"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653696"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654144"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654592"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655488"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655936"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656384"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656832"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584657280"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505609440": {"type": "Overloaded", "items": [{"nodeId": "140162509913696"}, {"nodeId": "140162584647424"}]}, "140162509913696": {"type": "Function", "typeVars": [".-1.140162509913696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607312"}, {"nodeId": "140162505607648"}], "returnType": {"nodeId": ".-1.140162509913696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140162505607312": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, "140162525824048": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501646976"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__complex__"]}, "140162501646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824048"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505607648": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, ".-1.140162509913696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913696", "variance": "INVARIANT"}, "140162584647424": {"type": "Function", "typeVars": [".-1.140162584647424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607760"}], "returnType": {"nodeId": ".-1.140162584647424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140162505607760": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539259264"}]}, ".-1.140162584647424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584647424", "variance": "INVARIANT"}, "140162450946112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450947008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589783680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}]}, "140162589784128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589784576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589785024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606416": {"type": "Overloaded", "items": [{"nodeId": "140162589785472"}, {"nodeId": "140162584641600"}]}, "140162589785472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162584641600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584642048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153040": {"type": "TypeAlias", "target": {"nodeId": "140162535236192"}}, "140162535236192": {"type": "Union", "items": [{"nodeId": "140162539122896"}, {"nodeId": "140162535238320"}, {"nodeId": "140162535238208"}]}, "140162539122896": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162535236080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238320": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162535237648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162463939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510042864": {"type": "Overloaded", "items": [{"nodeId": "140162509903616"}, {"nodeId": "140162564121408"}, {"nodeId": "140162564121856"}, {"nodeId": "140162564122304"}, {"nodeId": "140162564122752"}]}, "140162509903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162505153264"}, {"nodeId": "140162505153376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153264": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162505153376": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}]}, "140162564121408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162505154272"}, {"nodeId": "140162505153152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154272": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162505153152": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258928"}]}]}, "140162564121856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162505154496"}, {"nodeId": "140162505154160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162505154160": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}]}, "140162564122304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162564122752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162505153600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153600": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162564123200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564123648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153712": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162564124096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564124544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564124992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564125440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505153824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505153824": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564125888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526753648", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162526753648": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127136"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140162526753648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read"]}, "140162593127136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753648", "args": [{"nodeId": ".1.140162526753648"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753648", "variance": "COVARIANT"}, "140162564126336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564126784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564127232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162564128128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162563932224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162563932672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563933120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563933568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526754656": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589442336"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140162526754656"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["write"]}, "140162589442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162526754656"}]}, {"nodeId": ".1.140162526754656"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526754656": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754656", "variance": "CONTRAVARIANT"}, "140162563934016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563934464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563935808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510042976": {"type": "Overloaded", "items": [{"nodeId": "140162563936256"}, {"nodeId": "140162563936704"}]}, "140162563936256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563936704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154608": {"type": "Overloaded", "items": [{"nodeId": "140162563937152"}, {"nodeId": "140162563937600"}]}, "140162563937152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563937600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563938048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505154384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162563938496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563938944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939840": {"type": "Function", "typeVars": [".-1.140162563939840"], "argTypes": [{"nodeId": ".-1.140162563939840"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": ".-1.140162563939840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563939840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563939840", "variance": "INVARIANT"}, "140162563940288": {"type": "Function", "typeVars": [".-1.140162563940288"], "argTypes": [{"nodeId": ".-1.140162563940288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162563940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563940288", "variance": "INVARIANT"}, "140162563940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563942976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162534539328": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551313824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314272"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314720"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551315616"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551316064"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564325664"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326112"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326560"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327008"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327456"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327904"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328352"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328800"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329248"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329696"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330144"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330592"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509076096"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564331936"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509073072"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333280"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333728"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334624"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525825056"}], "isAbstract": false}, "140162551313824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140162551314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140162551315616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140162551316064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140162564326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140162564327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140162564328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140162564329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189664": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189888"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162509189888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162564330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140162509190000": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509076096": {"type": "Overloaded", "items": [{"nodeId": "140162564331040"}, {"nodeId": "140162564331488"}]}, "140162564331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509190224": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162509073072": {"type": "Overloaded", "items": [{"nodeId": "140162564332384"}, {"nodeId": "140162564332832"}]}, "140162564332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162564332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}, {"nodeId": "140162509190448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509190448": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564333728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564334176": {"type": "Function", "typeVars": [".-1.140162564334176"], "argTypes": [{"nodeId": ".-1.140162564334176"}], "returnType": {"nodeId": ".-1.140162564334176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162564334176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162564334176", "variance": "INVARIANT"}, "140162564334624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162539416800": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526144752"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274944"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274272"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472275840"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472276960"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472277408"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526144752": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162472274944": {"type": "Function", "typeVars": [".-1.140162472274944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509769968"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509769968": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, ".-1.140162472274944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274944", "variance": "INVARIANT"}, "140162472274272": {"type": "Function", "typeVars": [".-1.140162472274272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509770080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509770080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162472274272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274272", "variance": "INVARIANT"}, "140162472275840": {"type": "Function", "typeVars": [".-1.140162472275840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472275840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140162472275840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472275840", "variance": "INVARIANT"}, "140162472276960": {"type": "Function", "typeVars": [".-1.140162472276960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162509770304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140162509770304": {"type": "Union", "items": [{"nodeId": ".-1.140162472276960"}, {"nodeId": "140162539418816"}]}, ".-1.140162472276960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472276960", "variance": "INVARIANT"}, "140162539418816": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162472277408": {"type": "Function", "typeVars": [".-1.140162472277408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162472277408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140162539415792": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539416800"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944992"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945440"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563944096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162509769520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509769632"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509769744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140162509769520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509769632": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509769744": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162563944992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418144": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539417808"}], "isAbstract": false}, "140162539417808": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662592"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530659008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564526752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, "140162530662592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162534564896"}, {"nodeId": "N"}]}, "140162534564896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530659008": {"type": "TypeAlias", "target": {"nodeId": "140162530022272"}}, "140162530022272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530663040"}, {"nodeId": "140162539417808"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539416800"}]}], "returnType": {"nodeId": "140162539416800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530663040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509767504": {"type": "Overloaded", "items": [{"nodeId": "140162564524960"}, {"nodeId": "140162564525408"}, {"nodeId": "140162564525856"}, {"nodeId": "140162564526304"}]}, "140162564524960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140162564525408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509220864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140162509220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162564525856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509770976"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140162509770976": {"type": "Tuple", "items": [{"nodeId": "140162509770640"}, {"nodeId": "140162539415792"}]}, "140162509770640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162509771088": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162530657328": {"type": "Union", "items": [{"nodeId": "140162530658336"}, {"nodeId": "140162530656880"}, {"nodeId": "140162530657104"}]}, "140162530658336": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162530656880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162530657104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162564526304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771424"}]}, {"nodeId": "140162522186800", "args": [{"nodeId": "140162526593088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140162509771424": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162522186800": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162522186800"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509771200"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564537056"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140162522186800"}], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162522186800": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522186800", "variance": "INVARIANT"}, "140162509767616": {"type": "Overloaded", "items": [{"nodeId": "140162564535264"}, {"nodeId": "140162564535712"}]}, "140162564535264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564535712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": ".1.140162522186800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140162509771200": {"type": "Overloaded", "items": [{"nodeId": "140162564536160"}, {"nodeId": "140162564536608"}]}, "140162564536160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564536608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564537056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162539417472": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417136"}], "isAbstract": false}, "140162539417136": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162526593088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419152": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162539419152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303072"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539419152"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162539419152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539419152", "variance": "INVARIANT"}, "140162551303072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162539419152"}]}, {"nodeId": ".1.140162539419152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162564526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162563945440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162472277408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472277408", "variance": "INVARIANT"}, "140162526131392": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336864"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564337312"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162564336416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}, {"nodeId": "140162513943152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140162513943152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564336864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564337312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525823376": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501644288"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__int__"]}, "140162501644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526751632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123104"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__trunc__"]}, "140162593123104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162509912800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912800", "variance": "INVARIANT"}, "140162597721856": {"type": "Function", "typeVars": [".-1.140162597721856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389696"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162597721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140162505389696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, ".-1.140162597721856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597721856", "variance": "INVARIANT"}, "140162597722304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505390032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505390032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "0"}]}, "140162450421376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597725440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597726784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505390592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140162505390592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162450420032": {"type": "Function", "typeVars": [".-1.140162450420032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505390816"}, {"nodeId": "140162505391152"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162450420032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140162505390816": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525824384"}, {"nodeId": "140162505390704"}]}, "140162505390704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505391152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140162450420032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450420032", "variance": "INVARIANT"}, "140162597727680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597730368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505391376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162597730816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589605952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589607296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505391600": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162505388912": {"type": "Overloaded", "items": [{"nodeId": "140162589607744"}, {"nodeId": "140162589608192"}, {"nodeId": "140162589608640"}, {"nodeId": "140162589609088"}, {"nodeId": "140162589609536"}, {"nodeId": "140162589609984"}]}, "140162589607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589608192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589608640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505605408"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505605408": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162589609088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505608096"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505608096": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162589609536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589609984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589610432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162505607536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505607536": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162589610880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589615360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589615808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589618048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162589618496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505605632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505605632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162589618944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580478016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162580479360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505895024": {"type": "Overloaded", "items": [{"nodeId": "140162580611136"}, {"nodeId": "140162580611584"}]}, "140162580611136": {"type": "Function", "typeVars": [".-1.140162580611136"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580611136"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162580611136": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162580611136", "variance": "INVARIANT"}, "140162542698192": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162526746928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140162526746928"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__lt__"]}, "140162593116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746928", "args": [{"nodeId": ".1.140162526746928"}]}, {"nodeId": ".1.140162526746928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526746928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746928", "variance": "CONTRAVARIANT"}, "140162526747264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162526747264"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__gt__"]}, "140162593117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747264", "args": [{"nodeId": ".1.140162526747264"}]}, {"nodeId": ".1.140162526747264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747264", "variance": "CONTRAVARIANT"}, "140162580611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505797504"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162505797504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162505896704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896704": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162535232608": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162580612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896256": {"type": "Overloaded", "items": [{"nodeId": "140162580612928"}, {"nodeId": "140162580613376"}]}, "140162580612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896368": {"type": "Overloaded", "items": [{"nodeId": "140162580613824"}, {"nodeId": "140162580614272"}]}, "140162580613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505896928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162505896592": {"type": "Overloaded", "items": [{"nodeId": "140162580615168"}, {"nodeId": "140162580615616"}]}, "140162580615168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580615616": {"type": "Function", "typeVars": [".-1.140162580615616"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580615616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162505897152"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580615616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580615616", "variance": "INVARIANT"}, "140162505897152": {"type": "Union", "items": [{"nodeId": ".-1.140162580615616"}, {"nodeId": ".1.140162539261616"}]}, "140162580616064": {"type": "Function", "typeVars": [".-1.140162580616064"], "argTypes": [{"nodeId": ".-1.140162580616064"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": ".-1.140162580616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580616064", "variance": "INVARIANT"}, "140162580616512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580616960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580617408": {"type": "Function", "typeVars": [".-1.140162580617408"], "argTypes": [{"nodeId": ".-1.140162580617408"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162580617408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580617408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580617408", "variance": "INVARIANT"}, "140162580617856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580618304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580618752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580624128": {"type": "Function", "typeVars": [".-1.140162580624128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162580624128"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140162580624128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580624128", "variance": "INVARIANT"}, "140162580624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829424": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459581600"}}], "typeVars": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525829424"}]}], "isAbstract": false}, "140162459581600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829424": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, ".2.140162525829424": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, "140162580625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829760": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459481056"}}], "typeVars": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162525829760"}]}], "isAbstract": false}, "140162459481056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829760": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, ".2.140162525829760": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, "140162580625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525830096": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459471648"}}], "typeVars": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "isAbstract": false}, "140162459471648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525830096": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, ".2.140162525830096": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, "140162505897040": {"type": "Overloaded", "items": [{"nodeId": "140162580626368"}, {"nodeId": "140162580626816"}]}, "140162580626368": {"type": "Function", "typeVars": [".-1.140162580626368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626368"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626368"}, {"nodeId": "140162505898384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140162580626368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626368", "variance": "INVARIANT"}, "140162505898384": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162580626816": {"type": "Function", "typeVars": [".-1.140162580626816", ".-2.140162580626816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626816"}]}, {"nodeId": ".-2.140162580626816"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626816"}, {"nodeId": ".-2.140162580626816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162580626816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, ".-2.140162580626816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, "140162505897376": {"type": "Overloaded", "items": [{"nodeId": "140162580774976"}, {"nodeId": "140162580775424"}]}, "140162580774976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "140162505898608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505898608": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": "N"}]}, "140162580775424": {"type": "Function", "typeVars": [".-1.140162580775424"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505898720"}], "returnType": {"nodeId": "140162505898832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505898720": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, ".-1.140162580775424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580775424", "variance": "INVARIANT"}, "140162505898832": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, "140162505898160": {"type": "Overloaded", "items": [{"nodeId": "140162580775872"}, {"nodeId": "140162580776320"}]}, "140162580775872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580776320": {"type": "Function", "typeVars": [".-1.140162580776320"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505899056"}], "returnType": {"nodeId": "140162505899168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505899056": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, ".-1.140162580776320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580776320", "variance": "INVARIANT"}, "140162505899168": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, "140162580776768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580777216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580777664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580778112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580778560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580779904": {"type": "Function", "typeVars": [".-1.140162580779904", ".-2.140162580779904"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580779904"}, {"nodeId": ".-2.140162580779904"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899392"}, {"nodeId": "140162505899504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580779904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, ".-2.140162580779904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, "140162505899392": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580779904"}]}, "140162505899504": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580779904"}]}, "140162580780352": {"type": "Function", "typeVars": [".-1.140162580780352", ".-2.140162580780352"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580780352"}, {"nodeId": ".-2.140162580780352"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899616"}, {"nodeId": "140162505899728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, ".-2.140162580780352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, "140162505899616": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580780352"}]}, "140162505899728": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580780352"}]}, "140162505898496": {"type": "Overloaded", "items": [{"nodeId": "140162580780800"}, {"nodeId": "140162580781248"}]}, "140162580780800": {"type": "Function", "typeVars": [".-1.140162580780800"], "argTypes": [{"nodeId": ".-1.140162580780800"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": ".-1.140162580780800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780800", "variance": "INVARIANT"}, "140162580781248": {"type": "Function", "typeVars": [".-1.140162580781248"], "argTypes": [{"nodeId": ".-1.140162580781248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500886704"}]}], "returnType": {"nodeId": ".-1.140162580781248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580781248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580781248", "variance": "INVARIANT"}, "140162500886704": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162618243584": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496751968"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496752416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572493632"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572494976"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522663616"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664064"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "isAbstract": true}, "140162496751968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162618243584": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, ".2.140162618243584": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, "140162496752416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572493632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522445552": {"type": "Overloaded", "items": [{"nodeId": "140162572494080"}, {"nodeId": "140162572494528"}]}, "140162572494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162572494528": {"type": "Function", "typeVars": [".-1.140162572494528"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664176"}], "returnType": {"nodeId": "140162522664288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522664176": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, ".-1.140162572494528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572494528", "variance": "INVARIANT"}, "140162522664288": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, "140162572494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "140162522664512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522664512": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162522663616": {"type": "Overloaded", "items": [{"nodeId": "140162572495424"}, {"nodeId": "140162572495872"}]}, "140162572495424": {"type": "Function", "typeVars": [".-1.140162572495424"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664736"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "140162522664848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522664736": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, ".-1.140162572495424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572495424", "variance": "INVARIANT"}, "140162522664848": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, "140162572495872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162522664064": {"type": "Overloaded", "items": [{"nodeId": "140162572496320"}, {"nodeId": "140162572496768"}, {"nodeId": "140162572497216"}]}, "140162572496320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162572496768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522665184"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162522665184": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162572497216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162505158528": {"type": "Overloaded", "items": [{"nodeId": "140162597205184"}]}, "140162597205184": {"type": "Function", "typeVars": [".-1.140162597205184"], "argTypes": [{"nodeId": ".-1.140162597205184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597205184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597205184", "variance": "INVARIANT"}, "140162450776000": {"type": "Function", "typeVars": [".-1.140162450776000"], "argTypes": [{"nodeId": ".-1.140162450776000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162450776000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450776000", "variance": "INVARIANT"}, "140162597206080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597206528": {"type": "Function", "typeVars": [".-1.140162597206528"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162597206528"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162597206528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597206528", "variance": "INVARIANT"}, "140162597206976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606351296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606351744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606352192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606352640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606353088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606353536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162505385552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505385552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606354432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505385776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505385776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606355328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606355776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162509910784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509910784", "variance": "INVARIANT"}, "140162584757632": {"type": "Function", "typeVars": [".-1.140162584757632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505608432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584757632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140162505608432": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584757632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584757632", "variance": "INVARIANT"}, "140162584758528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584758976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584759424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584759872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505608544"}, {"nodeId": "140162505608656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140162505608544": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608656": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584760320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162584760768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505608768"}, {"nodeId": "140162505608880"}, {"nodeId": "140162505608992"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505608768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505608880": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608992": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584761216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162584762112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609104"}, {"nodeId": "140162505609216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609104": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609216": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584762560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162584763008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259600"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140162539259600": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584756736"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584756736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259600"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584763456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609328"}, {"nodeId": "140162505609664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609328": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609664": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584763904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505609776"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505609776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584771520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162584771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610336"}, {"nodeId": "140162505610448"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610336": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610448": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610560"}, {"nodeId": "140162505610672"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610560": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610672": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610896": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611008"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611008": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611232"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162584891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611344"}, {"nodeId": "140162505611456"}, {"nodeId": "140162505611568"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505611344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505611456": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505611568": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611680"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584892736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584893184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539259936": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584757184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584757184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259936"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505607984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505607984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584893632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584894080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505607200": {"type": "Overloaded", "items": [{"nodeId": "140162509912352"}, {"nodeId": "140162584894528"}]}, "140162509912352": {"type": "Function", "typeVars": [".-1.140162509912352"], "argTypes": [{"nodeId": "140162505612016"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505612016": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162505611904"}, {"nodeId": ".-1.140162509912352"}]}]}, ".-1.140162509912352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912352", "variance": "INVARIANT"}, "140162505611904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162584894528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505612128"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162505612240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505612128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162505612240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584895424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584895872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584897216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505612352"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505612352": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162584897664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584898112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584898560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584899456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505612688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612688": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522192512": {"type": "Concrete", "module": "import_test", "simpleName": "A", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534547392": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609967424"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111600"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111824"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665616"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665728"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476383744"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609968320"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162609967424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349024"}, {"nodeId": "140162509349136"}, {"nodeId": "A"}, {"nodeId": "140162509349360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140162509349024": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162534548400": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576658752"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659200"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659648"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660096"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162576658752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526119632": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134448"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497447744"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134896"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135120"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618242240", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558912"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526134448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162497447744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526134896": {"type": "Union", "items": [{"nodeId": "140162526119296"}, {"nodeId": "N"}]}, "140162526119296": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557568"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["load_module"]}, "140162597557568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119296"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526135120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526135232": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162597558464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522672464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140162522672464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162597558912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576659200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162576659648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509352944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162509352944": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162576660096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162509349136": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509349360": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162522111600": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162522111824": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530665616": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162530665728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476383744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509349472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509349472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162609968320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521921376": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381504"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381952"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381056"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380608"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380160"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378144"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476379488"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378368"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376576"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476381504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349584"}], "returnType": {"nodeId": "140162509349696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509349584": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349696": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476381952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349808"}, {"nodeId": "140162509349920"}], "returnType": {"nodeId": "140162509350032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509349808": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349920": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350032": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476381056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476378144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476379488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162476378368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350144"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350144": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476376576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162534550080": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503872"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504320"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504768"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601503872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353728"}], "returnType": {"nodeId": "140162509353840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162509353728": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509353840": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601504320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601504768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353952"}, {"nodeId": "140162509354064"}], "returnType": {"nodeId": "140162509354176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162509353952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509354064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534548064": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534549072": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660992"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576661440"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601500736"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476439392"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162576660992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162576661440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353056": {"type": "Union", "items": [{"nodeId": "140162526118288"}, {"nodeId": "N"}]}, "140162476440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353168": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601500736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162476439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509353392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140162509353392": {"type": "Union", "items": [{"nodeId": "140162509353280"}, {"nodeId": "140162539260272"}]}, "140162509353280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162521921712": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376800"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375424"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374752"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375200"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374304"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373856"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373408"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372288"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372064"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476376800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350256"}], "returnType": {"nodeId": "140162509350368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350256": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350368": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476375424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350480"}, {"nodeId": "140162509350592"}], "returnType": {"nodeId": "140162509350704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509350480": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350592": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350704": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140162476372288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350816"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350816": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162521922048": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370944"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370496"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": false}, "140162476370944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350928"}], "returnType": {"nodeId": "140162509351040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350928": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351040": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476370496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351152"}, {"nodeId": "140162509351264"}], "returnType": {"nodeId": "140162509351376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351152": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351264": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351376": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534547728": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368928"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368480"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476369376"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368032"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162476368928": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140162476368480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140162521920704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606551488"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475992768"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522331984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162606551488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}, {"nodeId": "140162509346560"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140162509346560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475992768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534547056": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554176"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554624"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140162534546720"}], "isAbstract": false}, "140162606553728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162522190832": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162514108928"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564832"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484295200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568565728"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568566176"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567520"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567968"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568568416"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700640"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701088"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701536"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701984"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702432"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702880"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703328"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703776"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568704224"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513941584"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568707808"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708256"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708704"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709152"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709600"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568710048"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711392"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711840"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712288"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712736"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713184"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713632"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568714080"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484292736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715424"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715872"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563590176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563591072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162514108928": {"type": "Function", "typeVars": [".-1.140162514108928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514045632"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162514108928"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140162514045632": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162535236528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}]}, "140162521917344": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484643520"}}], "typeVars": [{"nodeId": ".1.140162521917344"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162484643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521917344", "args": [{"nodeId": ".1.140162521917344"}]}], "returnType": {"nodeId": ".1.140162521917344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521917344": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521917344", "variance": "COVARIANT"}, ".-1.140162514108928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162514108928", "variance": "INVARIANT"}, "140162568564384": {"type": "Function", "typeVars": [".-1.140162568564384"], "argTypes": [{"nodeId": ".-1.140162568564384"}], "returnType": {"nodeId": ".-1.140162568564384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568564384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568564384", "variance": "INVARIANT"}, "140162568564832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514045856"}, {"nodeId": "140162514045968"}, {"nodeId": "140162514046080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162514045856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162514045968": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162514046080": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162484295200": {"type": "Function", "typeVars": [".-1.140162484295200"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484295200"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484295200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484295200", "variance": "INVARIANT"}, "140162568565728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514046192"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514046192": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162522328736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162568566176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140162568567520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568567968": {"type": "Function", "typeVars": [".-1.140162568567968"], "argTypes": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568567968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568567968", "variance": "INVARIANT"}, "140162618239216": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572098176"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496489152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522441184"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572099968"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572100416"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489376"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489824"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490496"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490720"}}], "typeVars": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618239216"}]}], "isAbstract": true}, "140162572098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, ".2.140162618239216": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "CONTRAVARIANT"}, ".3.140162618239216": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, "140162496489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": ".2.140162618239216"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522441184": {"type": "Overloaded", "items": [{"nodeId": "140162572099072"}, {"nodeId": "140162572099520"}]}, "140162572099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "0"}, {"nodeId": "140162522442864"}, {"nodeId": "140162522442976"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522442864": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522442976": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522443088"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522443088": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496489376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496489824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162522443536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522443536": {"type": "Union", "items": [{"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162568568416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702880": {"type": "Function", "typeVars": [".-1.140162568702880"], "argTypes": [{"nodeId": ".-1.140162568702880"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568702880"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568702880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568702880", "variance": "INVARIANT"}, "140162568703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140162568703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162514046304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514046304": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162568704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140162513941584": {"type": "Overloaded", "items": [{"nodeId": "140162568704672"}, {"nodeId": "140162568705120"}, {"nodeId": "140162568705568"}, {"nodeId": "140162568706016"}, {"nodeId": "140162568706464"}, {"nodeId": "140162568706912"}, {"nodeId": "140162568707360"}]}, "140162568704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046528"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514046640"}, {"nodeId": "140162514046752"}, {"nodeId": "140162514046864"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046528": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162534704736": {"type": "Union", "items": [{"nodeId": "140162534703168"}, {"nodeId": "140162534704064"}, {"nodeId": "140162534704624"}]}, "140162534703168": {"type": "TypeAlias", "target": {"nodeId": "140162534705520"}}, "140162534705520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704064": {"type": "TypeAlias", "target": {"nodeId": "140162543173328"}}, "140162543173328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704624": {"type": "TypeAlias", "target": {"nodeId": "140162543170640"}}, "140162543170640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162514046640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534543360": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593486240"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731744"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733312"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593488480"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568126752"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127648"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128096"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128544"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128992"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129440"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534543024"}, {"nodeId": "140162525828080"}], "isAbstract": false}, "140162593486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162509340848"}, {"nodeId": "140162509340960"}, {"nodeId": "140162509341072"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162525827408": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753536"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496754656"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496755552"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496756224"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496756896"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905280"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905952"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496906624"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907296"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907968"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496908640"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909312"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909984"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496910656"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496911328"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912000"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912672"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496913344"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914016"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914688"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496915584"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496916704"}}], "typeVars": [{"nodeId": ".1.140162525827408"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}], "isAbstract": true}, "140162496753536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525827408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827408", "variance": "INVARIANT"}, "140162496754656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496755552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496906624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496907296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496907968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496908640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496909312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162496909984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496911328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162522665296": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162496912000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496912672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": ".1.140162525827408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496914016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496914688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665408"}, {"nodeId": "140162522665520"}, {"nodeId": "140162522665632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162522665408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162522665520": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162522665632": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509340848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509340960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475731744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827744": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496918048"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": true}, "140162496918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827744"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162475731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593488480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162509341184"}, {"nodeId": "140162509341296"}, {"nodeId": "140162509341408"}, {"nodeId": "140162509341520"}, {"nodeId": "140162509341632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162509341184": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341520": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162509341632": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162568126752": {"type": "Function", "typeVars": [".-1.140162568126752"], "argTypes": [{"nodeId": ".-1.140162568126752"}], "returnType": {"nodeId": ".-1.140162568126752"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568126752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568126752", "variance": "INVARIANT"}, "140162568127200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568127648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568128096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162568128544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568128992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568129440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534543024": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331648"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483552"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484000"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484448"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484896"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485344"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485792"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162522331648": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522110032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162593482656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162509340736"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509340736": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534540000": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050400"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050848"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052192"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052640"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053088"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053536"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053984"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054432"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054880"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055328"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055776"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056224"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056672"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534568480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058016"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480449664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058912"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593051296": {"type": "Function", "typeVars": [".-1.140162593051296"], "argTypes": [{"nodeId": ".-1.140162593051296"}], "returnType": {"nodeId": ".-1.140162593051296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593051296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593051296", "variance": "INVARIANT"}, "140162593051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190560"}, {"nodeId": "140162509190672"}, {"nodeId": "140162509190784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509190560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509190672": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509190784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162593052192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534563776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509190896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593056672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593057120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509191008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191008": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593057568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593058016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162480449664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593058912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140162509191232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162525828080": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496919616"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920064"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920288"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920512"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920736"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496920960"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": true}, "140162496919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162522665744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522665744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162496920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525828080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046416"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046416": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162543164256": {"type": "Union", "items": [{"nodeId": "140162543170976"}, {"nodeId": "140162543173104"}, {"nodeId": "140162543166384"}]}, "140162543170976": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162543168064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543173104": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162543171536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543166384": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162543164144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534541008": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473696"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480453920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593474592"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475488"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140162534540336"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162522110368": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162547328592": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162547330832"}]}, "140162547330832": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162535232496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162525830432"}]}]}, "140162593473696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192352"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509192576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140162509192352": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162509192576": {"type": "Union", "items": [{"nodeId": "140162509192464"}, {"nodeId": "N"}]}, "140162509192464": {"type": "TypeAlias", "target": {"nodeId": "140162530469568"}}, "140162530469568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162480453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192688"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192688": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593475488": {"type": "Function", "typeVars": [".-1.140162593475488"], "argTypes": [{"nodeId": ".-1.140162593475488"}], "returnType": {"nodeId": ".-1.140162593475488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593475488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593475488", "variance": "INVARIANT"}, "140162534540336": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059360"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059808"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060256"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060704"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593059360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593059808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191344"}], "returnType": {"nodeId": "140162509191456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191344": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162509191456": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191568"}], "returnType": {"nodeId": "140162509191680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191568": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509191680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162509191792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191792": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162568705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047200"}, {"nodeId": "140162514048544"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514047200": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162514048544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162534542352": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480864"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481312"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534541680"}, {"nodeId": "140162534542016"}], "isAbstract": false}, "140162593480864": {"type": "Function", "typeVars": [".-1.140162593480864"], "argTypes": [{"nodeId": ".-1.140162593480864"}], "returnType": {"nodeId": ".-1.140162593480864"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593480864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593480864", "variance": "INVARIANT"}, "140162593481312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542352"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534541680": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479072"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593478176": {"type": "Function", "typeVars": [".-1.140162593478176"], "argTypes": [{"nodeId": ".-1.140162593478176"}], "returnType": {"nodeId": ".-1.140162593478176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593478176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593478176", "variance": "INVARIANT"}, "140162593478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534540672": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534540336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061152"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061600"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062048"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062496"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593472800"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473248"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593061152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}], "returnType": {"nodeId": "140162534540336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593061600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509191904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191904": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593062048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593062496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192128": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192240"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534542016": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479520"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480416"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593479520": {"type": "Function", "typeVars": [".-1.140162593479520"], "argTypes": [{"nodeId": ".-1.140162593479520"}], "returnType": {"nodeId": ".-1.140162593479520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593479520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593479520", "variance": "INVARIANT"}, "140162593479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593480416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162509193024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509193024": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162568706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049776"}, {"nodeId": "140162514049888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514049776": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162514049888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514050896"}, {"nodeId": "140162514047648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514050896": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162514047648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048656"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048656": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162568707360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514048208"}, {"nodeId": "140162514050000"}, {"nodeId": "140162514050784"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048208": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568707808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568709152": {"type": "Function", "typeVars": [".-1.140162568709152"], "argTypes": [{"nodeId": ".-1.140162568709152"}], "returnType": {"nodeId": ".-1.140162568709152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568709152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709152", "variance": "INVARIANT"}, "140162568709600": {"type": "Function", "typeVars": [".-1.140162568709600"], "argTypes": [{"nodeId": ".-1.140162568709600"}, {"nodeId": "140162514048880"}], "returnType": {"nodeId": ".-1.140162568709600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568709600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709600", "variance": "INVARIANT"}, "140162514048880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162522189824": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484302368"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301920"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301696"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301472"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301248"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301024"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300800"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538800064"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568553632"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554080"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554528"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799168"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538814848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557216"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557664"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558112"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558560"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559008"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559456"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559904"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538815072"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799392"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568560800"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561248"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561696"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296320"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484297440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568563488"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162484302368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162538800064": {"type": "Function", "typeVars": [".-1.140162538800064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514044848"}], "returnType": {"nodeId": ".-1.140162538800064"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140162514044848": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, ".-1.140162538800064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538800064", "variance": "INVARIANT"}, "140162568553632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568554528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162538799168": {"type": "Function", "typeVars": [".-1.140162538799168"], "argTypes": [{"nodeId": ".-1.140162538799168"}, {"nodeId": "140162514044960"}], "returnType": {"nodeId": ".-1.140162538799168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538799168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799168", "variance": "INVARIANT"}, "140162514044960": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538814848": {"type": "Function", "typeVars": [".-1.140162538814848"], "argTypes": [{"nodeId": ".-1.140162538814848"}, {"nodeId": "140162514045072"}], "returnType": {"nodeId": ".-1.140162538814848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538814848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538814848", "variance": "INVARIANT"}, "140162514045072": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568557216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568557664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162514045184"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140162514045184": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568559904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140162538815072": {"type": "Function", "typeVars": [".-1.140162538815072"], "argTypes": [{"nodeId": ".-1.140162538815072"}, {"nodeId": "140162514045296"}], "returnType": {"nodeId": ".-1.140162538815072"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162538815072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538815072", "variance": "INVARIANT"}, "140162514045296": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538799392": {"type": "Function", "typeVars": [".-1.140162538799392"], "argTypes": [{"nodeId": ".-1.140162538799392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162538799392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140162538799392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799392", "variance": "INVARIANT"}, "140162568560800": {"type": "Function", "typeVars": [".-1.140162568560800"], "argTypes": [{"nodeId": ".-1.140162568560800"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568560800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140162568560800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568560800", "variance": "INVARIANT"}, "140162568561248": {"type": "Function", "typeVars": [".-1.140162568561248"], "argTypes": [{"nodeId": ".-1.140162568561248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568561248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140162568561248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561248", "variance": "INVARIANT"}, "140162568561696": {"type": "Function", "typeVars": [".-1.140162568561696"], "argTypes": [{"nodeId": ".-1.140162568561696"}, {"nodeId": "140162514045408"}], "returnType": {"nodeId": ".-1.140162568561696"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162568561696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561696", "variance": "INVARIANT"}, "140162514045408": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162484296320": {"type": "Function", "typeVars": [".-1.140162484296320"], "argTypes": [{"nodeId": ".-1.140162484296320"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".-1.140162484296320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484296320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484296320", "variance": "INVARIANT"}, "140162484297440": {"type": "Function", "typeVars": [".-1.140162484297440"], "argTypes": [{"nodeId": ".-1.140162484297440"}], "returnType": {"nodeId": ".-1.140162484297440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484297440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484297440", "variance": "INVARIANT"}, "140162568563488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140162568710048": {"type": "Function", "typeVars": [".-1.140162568710048"], "argTypes": [{"nodeId": ".-1.140162568710048"}, {"nodeId": "140162514051568"}], "returnType": {"nodeId": ".-1.140162568710048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568710048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568710048", "variance": "INVARIANT"}, "140162514051568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162568711392": {"type": "Function", "typeVars": [".-1.140162568711392"], "argTypes": [{"nodeId": ".-1.140162568711392"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162568711392"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140162568711392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711392", "variance": "INVARIANT"}, "140162568711840": {"type": "Function", "typeVars": [".-1.140162568711840"], "argTypes": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568711840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711840", "variance": "INVARIANT"}, "140162568712288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140162514048768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049104": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140162568714080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140162484292736": {"type": "Function", "typeVars": [".-1.140162484292736"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484292736"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484292736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484292736", "variance": "INVARIANT"}, "140162568715424": {"type": "Function", "typeVars": [".-1.140162568715424"], "argTypes": [{"nodeId": ".-1.140162568715424"}], "returnType": {"nodeId": ".-1.140162568715424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715424", "variance": "INVARIANT"}, "140162568715872": {"type": "Function", "typeVars": [".-1.140162568715872"], "argTypes": [{"nodeId": ".-1.140162568715872"}], "returnType": {"nodeId": ".-1.140162568715872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715872", "variance": "INVARIANT"}, "140162563588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563588832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514051680"}, {"nodeId": "140162514047536"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162514051680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514047536": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563589280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047984"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140162514047984": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162563589728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162514048096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162563590176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514048992"}, {"nodeId": "140162514049216"}, {"nodeId": "140162514049328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140162514048992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049216": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563591072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049440": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162606554176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346784"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509346784": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162606554624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346896"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509346896": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162534546720": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475996352"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995904"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343872"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995232"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994560"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475995456"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994336"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994112"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993888"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993664"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162475996352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509345664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509345664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162509345776"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509345776": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534546720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140162509343872": {"type": "Overloaded", "items": [{"nodeId": "140162577087872"}, {"nodeId": "140162606547008"}]}, "140162577087872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140162606547008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140162509346000"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140162509346000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509346224"}], "returnType": {"nodeId": "140162534547056"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140162509346224": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534544032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544032": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568138848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476099392"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140162568138848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568139296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568139744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568140192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568140640": {"type": "Function", "typeVars": [".-1.140162568140640"], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568140640"}], "returnType": {"nodeId": "140162509343312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568140640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568140640", "variance": "INVARIANT"}, "140162509343312": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140162568140640"}]}, "140162476099392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162509343424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343424": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162475995456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545712": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080704"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577081152"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476017472"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476019488"}}], "typeVars": [], "bases": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162530668192"}]}], "isAbstract": false}, "140162577080704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162509344544"}], "returnType": {"nodeId": "140162509345328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509344544": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162509345328": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162522108464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162577081152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162476017472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530668192": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162475994336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346336": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162522192176"}]}, {"nodeId": "N"}]}, "140162522192176": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577084736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085184"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085632"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522108240"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110256"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534546720"}}], "typeVars": [], "bases": [{"nodeId": "140162522190160"}], "isAbstract": false}, "140162577084736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162577085184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577085632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522108240": {"type": "Union", "items": [{"nodeId": "140162534546384"}, {"nodeId": "N"}]}, "140162534546384": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577086080"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162577086080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546384"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162522110256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522190160": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162475993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346448": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162475993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351488"}, {"nodeId": "140162509351600"}], "returnType": {"nodeId": "140162509351712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351488": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351600": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351712": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476368032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351824"}], "returnType": {"nodeId": "140162509351936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509351824": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351936": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162521922384": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605984768"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476367360"}}], "typeVars": [], "bases": [{"nodeId": "140162534550416"}], "isAbstract": false}, "140162605984768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922384"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140162509352160": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162476367360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509352384"}], "returnType": {"nodeId": "140162509209888"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140162509352384": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162509209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534550416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534550416": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505216"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505664"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506112"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506560"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601505216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354288": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601505664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354624": {"type": "Tuple", "items": [{"nodeId": "140162509354400"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}]}, "140162509354400": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601506112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601506560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509354736"}], "returnType": {"nodeId": "140162509354848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140162509354736": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354848": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521922720": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605985664"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162605985664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922720"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352496"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140162509352496": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162534550752": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507456"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507904"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601508352"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601507008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162601507456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601507904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509354960"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509354960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601508352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509355072"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509355072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534548736": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440960"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162476440960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548736"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162534549408": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476438496"}}], "typeVars": [], "bases": [{"nodeId": "140162534549072"}], "isAbstract": true}, "140162476438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549408"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162534549744": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502080"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502528"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502976"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503424"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601502080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601502528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140162601502976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601503424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162521923056": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162522185792": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986112"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986560"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987008"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987456"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987904"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988352"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988800"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162534549408"}], "isAbstract": false}, "140162605986112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140162605986560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162509352608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509352608": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162605987008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605987456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162605987904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162605988352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605988800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525833456": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849440"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850336"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850784"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851232"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851680"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605848992"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605852128"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781504"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605853920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605854368"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782176"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "isAbstract": false}, ".1.140162525833456": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, ".2.140162525833456": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, "140162509781392": {"type": "Overloaded", "items": [{"nodeId": "140162605846304"}, {"nodeId": "140162551900736"}, {"nodeId": "140162605847200"}, {"nodeId": "140162605846752"}, {"nodeId": "140162605848096"}, {"nodeId": "140162605847648"}, {"nodeId": "140162605848544"}]}, "140162605846304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551900736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605847200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605846752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605848096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509782400": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162605847648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782624"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162509782624": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, "140162605848544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605849440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605849888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": ".2.140162525833456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605850336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162605850784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605851232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605851680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605848992": {"type": "Function", "typeVars": [".-1.140162605848992"], "argTypes": [{"nodeId": ".-1.140162605848992"}], "returnType": {"nodeId": ".-1.140162605848992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605848992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605848992", "variance": "INVARIANT"}, "140162605852128": {"type": "Function", "typeVars": [".-1.140162605852128"], "argTypes": [{"nodeId": ".-1.140162605852128"}], "returnType": {"nodeId": ".-1.140162605852128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605852128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852128", "variance": "INVARIANT"}, "140162509781504": {"type": "Overloaded", "items": [{"nodeId": "140162605853024"}, {"nodeId": "140162605853472"}]}, "140162605853024": {"type": "Function", "typeVars": [".-1.140162605853024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853024"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853024"}, {"nodeId": "140162510028864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853024", "variance": "INVARIANT"}, "140162510028864": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162605853472": {"type": "Function", "typeVars": [".-1.140162605853472", ".-2.140162605853472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853472"}]}, {"nodeId": ".-2.140162605853472"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853472"}, {"nodeId": ".-2.140162605853472"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, ".-2.140162605853472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, "140162605853920": {"type": "Function", "typeVars": [".-1.140162605853920", ".-2.140162605853920"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510028976"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029088"}, {"nodeId": "140162510029200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510028976": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}]}, ".-1.140162605853920": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, ".-2.140162605853920": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, "140162510029088": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605853920"}]}, "140162510029200": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605853920"}]}, "140162605854368": {"type": "Function", "typeVars": [".-1.140162605854368", ".-2.140162605854368"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510029312"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029424"}, {"nodeId": "140162510029536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510029312": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}]}, ".-1.140162605854368": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, ".-2.140162605854368": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, "140162510029424": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605854368"}]}, "140162510029536": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605854368"}]}, "140162509782176": {"type": "Overloaded", "items": [{"nodeId": "140162605852576"}, {"nodeId": "140162605854816"}]}, "140162605852576": {"type": "Function", "typeVars": [".-1.140162605852576"], "argTypes": [{"nodeId": ".-1.140162605852576"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": ".-1.140162605852576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605852576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852576", "variance": "INVARIANT"}, "140162605854816": {"type": "Function", "typeVars": [".-1.140162605854816"], "argTypes": [{"nodeId": ".-1.140162605854816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510029872"}]}], "returnType": {"nodeId": ".-1.140162605854816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605854816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854816", "variance": "INVARIANT"}, "140162510029872": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162525833792": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605856608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857952"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605858400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812704"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029648"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029984"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601814944"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601813600"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816288"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816736"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817184"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818080"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818528"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818976"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819424"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817632"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601820768"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601821216"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030544"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601822560"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140162525833792"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525833792"}]}], "isAbstract": false}, ".1.140162525833792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833792", "variance": "INVARIANT"}, "140162509782736": {"type": "Overloaded", "items": [{"nodeId": "140162605855712"}, {"nodeId": "140162605856160"}]}, "140162605855712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140162605856160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140162605856608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030096"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030096": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030208"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030208": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030320"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030320": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030432": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510029648": {"type": "Overloaded", "items": [{"nodeId": "140162601813152"}, {"nodeId": "140162605855264"}]}, "140162601813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605855264": {"type": "Function", "typeVars": [".-1.140162605855264"], "argTypes": [{"nodeId": ".-1.140162605855264"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": ".-1.140162605855264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605855264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605855264", "variance": "INVARIANT"}, "140162510029984": {"type": "Overloaded", "items": [{"nodeId": "140162601814048"}, {"nodeId": "140162601814496"}]}, "140162601814048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030768": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601813600": {"type": "Function", "typeVars": [".-1.140162601813600"], "argTypes": [{"nodeId": ".-1.140162601813600"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601813600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601813600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601813600", "variance": "INVARIANT"}, "140162601815392": {"type": "Function", "typeVars": [".-1.140162601815392"], "argTypes": [{"nodeId": ".-1.140162601815392"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815392", "variance": "INVARIANT"}, "140162601815840": {"type": "Function", "typeVars": [".-1.140162601815840"], "argTypes": [{"nodeId": ".-1.140162601815840"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815840", "variance": "INVARIANT"}, "140162601816288": {"type": "Function", "typeVars": [".-1.140162601816288"], "argTypes": [{"nodeId": ".-1.140162601816288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816288", "variance": "INVARIANT"}, "140162601816736": {"type": "Function", "typeVars": [".-1.140162601816736"], "argTypes": [{"nodeId": ".-1.140162601816736"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816736", "variance": "INVARIANT"}, "140162601817184": {"type": "Function", "typeVars": [".-1.140162601817184"], "argTypes": [{"nodeId": ".-1.140162601817184"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601817184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601817184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817184", "variance": "INVARIANT"}, "140162601818080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601818528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140162601818976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140162601819424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601817632": {"type": "Function", "typeVars": [".-1.140162601817632"], "argTypes": [{"nodeId": ".-1.140162601817632"}], "returnType": {"nodeId": ".-1.140162601817632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601817632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817632", "variance": "INVARIANT"}, "140162601819872": {"type": "Function", "typeVars": [".-1.140162601819872"], "argTypes": [{"nodeId": ".-1.140162601819872"}], "returnType": {"nodeId": ".-1.140162601819872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601819872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601819872", "variance": "INVARIANT"}, "140162601820768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601821216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140162510030544": {"type": "Overloaded", "items": [{"nodeId": "140162601820320"}, {"nodeId": "140162601822112"}]}, "140162601820320": {"type": "Function", "typeVars": [".-1.140162601820320"], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".-1.140162601820320"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162601820320": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162601820320", "variance": "INVARIANT"}, "140162601822112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162509900704"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162509900704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162510031216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510031216": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162601822560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162525834128": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823456"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823904"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824352"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824800"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895072"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895520"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895968"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896416"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896864"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897312"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897760"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601898656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899104"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899552"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900000"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900448"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901344"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901792"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902688"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903136"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904032"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904928"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905376"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905824"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906720"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907168"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907616"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908064"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908512"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908960"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909408"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909856"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025696"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030656"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027040"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030624"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031072"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031520"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602035104"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162525834128"}]}], "isAbstract": false}, "140162601823008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601823456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601823904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162510031328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510031328": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162601825248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601825696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031552"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031664"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031776"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601827040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601894176": {"type": "Function", "typeVars": [".-1.140162601894176"], "argTypes": [{"nodeId": ".-1.140162601894176"}, {"nodeId": "140162510031888"}], "returnType": {"nodeId": ".-1.140162601894176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601894176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894176", "variance": "INVARIANT"}, "140162510031888": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601894624": {"type": "Function", "typeVars": [".-1.140162601894624"], "argTypes": [{"nodeId": ".-1.140162601894624"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601894624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601894624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894624", "variance": "INVARIANT"}, "140162601895072": {"type": "Function", "typeVars": [".-1.140162601895072"], "argTypes": [{"nodeId": ".-1.140162601895072"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601895072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601895072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895072", "variance": "INVARIANT"}, "140162601895520": {"type": "Function", "typeVars": [".-1.140162601895520"], "argTypes": [{"nodeId": ".-1.140162601895520"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895520", "variance": "INVARIANT"}, "140162601895968": {"type": "Function", "typeVars": [".-1.140162601895968"], "argTypes": [{"nodeId": ".-1.140162601895968"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895968", "variance": "INVARIANT"}, "140162601896416": {"type": "Function", "typeVars": [".-1.140162601896416"], "argTypes": [{"nodeId": ".-1.140162601896416"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896416", "variance": "INVARIANT"}, "140162601896864": {"type": "Function", "typeVars": [".-1.140162601896864"], "argTypes": [{"nodeId": ".-1.140162601896864"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896864", "variance": "INVARIANT"}, "140162601897312": {"type": "Function", "typeVars": [".-1.140162601897312"], "argTypes": [{"nodeId": ".-1.140162601897312"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601897312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897312", "variance": "INVARIANT"}, "140162601897760": {"type": "Function", "typeVars": [".-1.140162601897760"], "argTypes": [{"nodeId": ".-1.140162601897760"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601897760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897760", "variance": "INVARIANT"}, "140162601898656": {"type": "Function", "typeVars": [".-1.140162601898656"], "argTypes": [{"nodeId": ".-1.140162601898656"}], "returnType": {"nodeId": ".-1.140162601898656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601898656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601898656", "variance": "INVARIANT"}, "140162601899104": {"type": "Function", "typeVars": [".-1.140162601899104"], "argTypes": [{"nodeId": ".-1.140162601899104"}], "returnType": {"nodeId": ".-1.140162601899104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601899104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899104", "variance": "INVARIANT"}, "140162601899552": {"type": "Function", "typeVars": [".-1.140162601899552"], "argTypes": [{"nodeId": ".-1.140162601899552"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601899552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601899552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899552", "variance": "INVARIANT"}, "140162601900000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032224"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032224": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601900448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032336"}, {"nodeId": "140162510032448"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162510032336": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510032448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601901344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032560"}, {"nodeId": "140162510032672"}, {"nodeId": "140162510032784"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140162510032560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510032672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510032784": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162601901792": {"type": "Function", "typeVars": [".-1.140162601901792"], "argTypes": [{"nodeId": ".-1.140162601901792"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601901792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140162601901792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601901792", "variance": "INVARIANT"}, "140162601902240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032896"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601902688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162601903136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162601903584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162601904032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601909408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601909856": {"type": "Function", "typeVars": [".-1.140162601909856"], "argTypes": [{"nodeId": ".-1.140162601909856"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601909856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601909856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601909856", "variance": "INVARIANT"}, "140162602025248": {"type": "Function", "typeVars": [".-1.140162602025248"], "argTypes": [{"nodeId": ".-1.140162602025248"}], "returnType": {"nodeId": ".-1.140162602025248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602025248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025248", "variance": "INVARIANT"}, "140162602025696": {"type": "Function", "typeVars": [".-1.140162602025696"], "argTypes": [{"nodeId": ".-1.140162602025696"}, {"nodeId": "140162510033456"}], "returnType": {"nodeId": ".-1.140162602025696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602025696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025696", "variance": "INVARIANT"}, "140162510033456": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510030656": {"type": "Overloaded", "items": [{"nodeId": "140162602026144"}, {"nodeId": "140162602026592"}]}, "140162602026144": {"type": "Function", "typeVars": [".-1.140162602026144"], "argTypes": [{"nodeId": "140162510033792"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140162510033792": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162510033680"}, {"nodeId": ".-1.140162602026144"}]}]}, ".-1.140162602026144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602026144", "variance": "INVARIANT"}, "140162510033680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162602026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162510033904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140162510033904": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602027040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510034128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510034128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602027488": {"type": "Function", "typeVars": [".-1.140162602027488"], "argTypes": [{"nodeId": ".-1.140162602027488"}, {"nodeId": "140162510034240"}], "returnType": {"nodeId": ".-1.140162602027488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027488", "variance": "INVARIANT"}, "140162510034240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602027936": {"type": "Function", "typeVars": [".-1.140162602027936"], "argTypes": [{"nodeId": ".-1.140162602027936"}, {"nodeId": "140162510034352"}], "returnType": {"nodeId": ".-1.140162602027936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027936", "variance": "INVARIANT"}, "140162510034352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028384": {"type": "Function", "typeVars": [".-1.140162602028384"], "argTypes": [{"nodeId": ".-1.140162602028384"}, {"nodeId": "140162510034464"}, {"nodeId": "140162510034576"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602028384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140162602028384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602028384", "variance": "INVARIANT"}, "140162510034464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162510034576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034688": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034800"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034800": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029728": {"type": "Function", "typeVars": [".-1.140162602029728"], "argTypes": [{"nodeId": ".-1.140162602029728"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602029728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162602029728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602029728", "variance": "INVARIANT"}, "140162602030176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510035136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510035136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602030624": {"type": "Function", "typeVars": [".-1.140162602030624"], "argTypes": [{"nodeId": ".-1.140162602030624"}, {"nodeId": "140162510035248"}], "returnType": {"nodeId": ".-1.140162602030624"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602030624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602030624", "variance": "INVARIANT"}, "140162510035248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035360": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035472"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162602032416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035584"}, {"nodeId": "140162510035696"}, {"nodeId": "140162510035808"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140162510035584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510035696": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510035808": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602032864": {"type": "Function", "typeVars": [".-1.140162602032864"], "argTypes": [{"nodeId": ".-1.140162602032864"}, {"nodeId": "140162510035920"}], "returnType": {"nodeId": ".-1.140162602032864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602032864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602032864", "variance": "INVARIANT"}, "140162510035920": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602033312": {"type": "Function", "typeVars": [".-1.140162602033312"], "argTypes": [{"nodeId": ".-1.140162602033312"}], "returnType": {"nodeId": ".-1.140162602033312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033312", "variance": "INVARIANT"}, "140162602033760": {"type": "Function", "typeVars": [".-1.140162602033760"], "argTypes": [{"nodeId": ".-1.140162602033760"}], "returnType": {"nodeId": ".-1.140162602033760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033760", "variance": "INVARIANT"}, "140162602034208": {"type": "Function", "typeVars": [".-1.140162602034208"], "argTypes": [{"nodeId": ".-1.140162602034208"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602034208"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140162602034208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034208", "variance": "INVARIANT"}, "140162602034656": {"type": "Function", "typeVars": [".-1.140162602034656"], "argTypes": [{"nodeId": ".-1.140162602034656"}], "returnType": {"nodeId": ".-1.140162602034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602034656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034656", "variance": "INVARIANT"}, "140162602035104": {"type": "Function", "typeVars": [".-1.140162602035104"], "argTypes": [{"nodeId": ".-1.140162602035104"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602035104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140162602035104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602035104", "variance": "INVARIANT"}, "140162525834464": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467964384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030880"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602036896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037344"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039136"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039584"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040480"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040928"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156320"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156768"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157216"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157664"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158112"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158560"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159008"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159456"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159904"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160352"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160800"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161248"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162144"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162592"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163040"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163488"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163936"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525834464"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525834464"}]}], "isAbstract": false}, "140162467964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162510036144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525834464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834464", "variance": "INVARIANT"}, "140162510036144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510030880": {"type": "Overloaded", "items": [{"nodeId": "140162602036000"}, {"nodeId": "140162602036448"}]}, "140162602036000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140162510036368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140162510036480": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037792": {"type": "Function", "typeVars": [".-1.140162602037792"], "argTypes": [{"nodeId": ".-1.140162602037792"}], "returnType": {"nodeId": ".-1.140162602037792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602037792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602037792", "variance": "INVARIANT"}, "140162602038240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162602040032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162602040480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602040928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602156320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602157216": {"type": "Function", "typeVars": [".-1.140162602157216"], "argTypes": [{"nodeId": ".-1.140162602157216"}], "returnType": {"nodeId": ".-1.140162602157216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602157216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602157216", "variance": "INVARIANT"}, "140162602157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602158112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602158560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162602159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159904": {"type": "Function", "typeVars": [".-1.140162602159904"], "argTypes": [{"nodeId": ".-1.140162602159904"}], "returnType": {"nodeId": "140162510036928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602159904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602159904", "variance": "INVARIANT"}, "140162510036928": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162510036704"}, {"nodeId": "N"}, {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834464"}]}]}, "140162510036704": {"type": "Tuple", "items": []}, "140162602160352": {"type": "Function", "typeVars": [".-1.140162602160352"], "argTypes": [{"nodeId": ".-1.140162602160352"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".-1.140162602160352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160352", "variance": "INVARIANT"}, "140162602160800": {"type": "Function", "typeVars": [".-1.140162602160800"], "argTypes": [{"nodeId": ".-1.140162602160800"}, {"nodeId": ".-1.140162602160800"}], "returnType": {"nodeId": ".-1.140162602160800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160800", "variance": "INVARIANT"}, "140162602161248": {"type": "Function", "typeVars": [".-1.140162602161248"], "argTypes": [{"nodeId": ".-1.140162602161248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161248", "variance": "INVARIANT"}, "140162602161696": {"type": "Function", "typeVars": [".-1.140162602161696"], "argTypes": [{"nodeId": ".-1.140162602161696"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161696", "variance": "INVARIANT"}, "140162602162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602162592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162539191456": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510033568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166176"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166624"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602167072"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162462917888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510036256"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037152"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602170656"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171104"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602172000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320160"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320608"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321056"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321952"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322400"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322848"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323296"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323744"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324192"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324640"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325088"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325536"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325984"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326432"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162539191456"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162510033568": {"type": "Overloaded", "items": [{"nodeId": "140162602164384"}, {"nodeId": "140162602164832"}, {"nodeId": "140162602165280"}, {"nodeId": "140162602165728"}]}, "140162602164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162539191456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191456", "variance": "INVARIANT"}, "140162602164832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602166176": {"type": "Function", "typeVars": [".-1.140162602166176"], "argTypes": [{"nodeId": ".-1.140162602166176"}], "returnType": {"nodeId": ".-1.140162602166176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602166176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602166176", "variance": "INVARIANT"}, "140162602166624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602167072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162510037264"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162510037488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162510037264": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510037488": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, "140162462917888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140162510037712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140162510037712": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510036256": {"type": "Overloaded", "items": [{"nodeId": "140162602167968"}, {"nodeId": "140162602168416"}, {"nodeId": "140162602168864"}]}, "140162602167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510037152": {"type": "Overloaded", "items": [{"nodeId": "140162602169312"}, {"nodeId": "140162602169760"}, {"nodeId": "140162602170208"}]}, "140162602169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": ".1.140162539191456"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162602171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602171552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602172000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602320160": {"type": "Function", "typeVars": [".-1.140162602320160"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602320160"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602320160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602320160", "variance": "INVARIANT"}, "140162510038048": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602320160"}]}, "140162602320608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321504": {"type": "Function", "typeVars": [".-1.140162602321504"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602321504"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602321504": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602321504", "variance": "INVARIANT"}, "140162510038160": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602321504"}]}, "140162602321952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322848": {"type": "Function", "typeVars": [".-1.140162602322848"], "argTypes": [{"nodeId": ".-1.140162602322848"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602322848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602322848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602322848", "variance": "INVARIANT"}, "140162602323296": {"type": "Function", "typeVars": [".-1.140162602323296"], "argTypes": [{"nodeId": ".-1.140162602323296"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323296", "variance": "INVARIANT"}, "140162602323744": {"type": "Function", "typeVars": [".-1.140162602323744"], "argTypes": [{"nodeId": ".-1.140162602323744"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323744", "variance": "INVARIANT"}, "140162602324192": {"type": "Function", "typeVars": [".-1.140162602324192"], "argTypes": [{"nodeId": ".-1.140162602324192"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602324192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602324192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602324192", "variance": "INVARIANT"}, "140162602324640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602325088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602326432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526740544": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326880"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740544"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526740544"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526740544"}]}], "isAbstract": false}, "140162602326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740544", "args": [{"nodeId": ".1.140162526740544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526740544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740544": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740544", "variance": "COVARIANT"}, "140162526740880": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327328"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535239216"}]}], "isAbstract": false}, "140162602327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740880", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510038832"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740880": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, ".2.140162526740880": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, "140162510038832": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162535239216": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162526741216": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327776"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526741216"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162526741216"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526741216"}]}], "isAbstract": false}, "140162602327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741216", "args": [{"nodeId": ".1.140162526741216"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526741216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526741216": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526741216", "variance": "COVARIANT"}, "140162525834800": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328224"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}], "bases": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525834800"}]}], "isAbstract": false}, "140162602328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525834800": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, ".2.140162525834800": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, "140162525835136": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328672"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}], "bases": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535236976"}]}], "isAbstract": false}, "140162602328672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510039056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, ".2.140162525835136": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, "140162510039056": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162535236976": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162525835472": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329120"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}], "bases": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".2.140162525835472"}]}], "isAbstract": false}, "140162602329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".2.140162525835472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, ".2.140162525835472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, "140162525835808": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329568"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330016"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330912"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331360"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602332256"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037824"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037936"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525835808"}]}], "isAbstract": false}, "140162602329568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162510039280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140162525835808": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, ".2.140162525835808": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, "140162510039280": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "140162602330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140162602330464": {"type": "Function", "typeVars": [".-1.140162602330464"], "argTypes": [{"nodeId": ".-1.140162602330464"}], "returnType": {"nodeId": ".-1.140162602330464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602330464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602330464", "variance": "INVARIANT"}, "140162602330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602331360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510037824": {"type": "Overloaded", "items": [{"nodeId": "140162602332704"}, {"nodeId": "140162602333152"}]}, "140162602332704": {"type": "Function", "typeVars": [".-1.140162602332704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602332704"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602332704"}, {"nodeId": "140162510039616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602332704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602332704", "variance": "INVARIANT"}, "140162510039616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162602333152": {"type": "Function", "typeVars": [".-1.140162602333152", ".-2.140162602333152"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602333152"}]}, {"nodeId": ".-2.140162602333152"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602333152"}, {"nodeId": ".-2.140162602333152"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602333152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, ".-2.140162602333152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, "140162510037936": {"type": "Overloaded", "items": [{"nodeId": "140162602333600"}, {"nodeId": "140162602334048"}]}, "140162602333600": {"type": "Function", "typeVars": [".-1.140162602333600"], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": "140162510039840"}]}, {"nodeId": ".1.140162525835808"}], "returnType": {"nodeId": "140162510039952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162510039840": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, ".-1.140162602333600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333600", "variance": "INVARIANT"}, "140162510039952": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, "140162602334048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "returnType": {"nodeId": ".2.140162525835808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140162539191792": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162535234400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597193760"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194208"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194656"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "isAbstract": false}, "140162535234400": {"type": "Union", "items": [{"nodeId": "140162534563104"}, {"nodeId": "N"}]}, "140162534563104": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, ".2.140162539191792": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162510039392": {"type": "Overloaded", "items": [{"nodeId": "140162602334496"}, {"nodeId": "140162602334944"}, {"nodeId": "140162602335392"}, {"nodeId": "140162602335840"}, {"nodeId": "140162597191968"}, {"nodeId": "140162597192416"}, {"nodeId": "140162597192864"}, {"nodeId": "140162597193312"}]}, "140162602334496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539191792": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162602334944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162602335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510040176": {"type": "Union", "items": [{"nodeId": "140162509901152"}, {"nodeId": "N"}]}, "140162509901152": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162602335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040288"}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162510040288": {"type": "Union", "items": [{"nodeId": "140162509901376"}, {"nodeId": "N"}]}, "140162509901376": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597191968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040400"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040400": {"type": "Union", "items": [{"nodeId": "140162509901600"}, {"nodeId": "N"}]}, "140162509901600": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040512"}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040512": {"type": "Union", "items": [{"nodeId": "140162509901824"}, {"nodeId": "N"}]}, "140162509901824": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040624"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510040848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040624": {"type": "Union", "items": [{"nodeId": "140162509902048"}, {"nodeId": "N"}]}, "140162509902048": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510040848": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, "140162597193312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040960"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510041184"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040960": {"type": "Union", "items": [{"nodeId": "140162509902272"}, {"nodeId": "N"}]}, "140162509902272": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510041184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, "140162597193760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".1.140162539191792"}], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597194208": {"type": "Function", "typeVars": [".-1.140162597194208"], "argTypes": [{"nodeId": ".-1.140162597194208"}], "returnType": {"nodeId": ".-1.140162597194208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194208", "variance": "INVARIANT"}, "140162597194656": {"type": "Function", "typeVars": [".-1.140162597194656"], "argTypes": [{"nodeId": ".-1.140162597194656"}], "returnType": {"nodeId": ".-1.140162597194656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194656", "variance": "INVARIANT"}, "140162525836144": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195552"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463222464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196448"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196896"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197344"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197792"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198688"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199136"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199584"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597200032"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039728"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597201376"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463224928"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510040064"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597202720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597203168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510041408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "isAbstract": false}, ".1.140162525836144": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, ".2.140162525836144": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, "140162597195104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140162597195552": {"type": "Function", "typeVars": [".-1.140162597195552"], "argTypes": [{"nodeId": ".-1.140162597195552"}, {"nodeId": "140162510041296"}], "returnType": {"nodeId": ".-1.140162597195552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140162597195552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597195552", "variance": "INVARIANT"}, "140162510041296": {"type": "Union", "items": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "N"}]}, "140162463222464": {"type": "Function", "typeVars": [".-1.140162463222464"], "argTypes": [{"nodeId": ".-1.140162463222464"}], "returnType": {"nodeId": ".-1.140162463222464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463222464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463222464", "variance": "INVARIANT"}, "140162597196448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162597196896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525836144"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597199136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597199584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597200032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510039728": {"type": "Overloaded", "items": [{"nodeId": "140162597200480"}, {"nodeId": "140162597200928"}]}, "140162597200480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597200928": {"type": "Function", "typeVars": [".-1.140162597200928"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": "140162510041520"}], "returnType": {"nodeId": "140162510041632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510041520": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, ".-1.140162597200928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597200928", "variance": "INVARIANT"}, "140162510041632": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, "140162597201376": {"type": "Function", "typeVars": [".-1.140162597201376"], "argTypes": [{"nodeId": ".-1.140162597201376"}], "returnType": {"nodeId": ".-1.140162597201376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597201376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201376", "variance": "INVARIANT"}, "140162463224928": {"type": "Function", "typeVars": [".-1.140162463224928"], "argTypes": [{"nodeId": ".-1.140162463224928"}], "returnType": {"nodeId": ".-1.140162463224928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463224928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463224928", "variance": "INVARIANT"}, "140162510040064": {"type": "Overloaded", "items": [{"nodeId": "140162597201824"}, {"nodeId": "140162597202272"}]}, "140162597201824": {"type": "Function", "typeVars": [".-1.140162597201824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597201824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597201824"}, {"nodeId": "140162510041968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140162597201824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201824", "variance": "INVARIANT"}, "140162510041968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162597202272": {"type": "Function", "typeVars": [".-1.140162597202272", ".-2.140162597202272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597202272"}]}, {"nodeId": ".-2.140162597202272"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597202272"}, {"nodeId": ".-2.140162597202272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162597202272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, ".-2.140162597202272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, "140162597202720": {"type": "Function", "typeVars": [".-1.140162597202720", ".-2.140162597202720"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597202720"}, {"nodeId": ".-2.140162597202720"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042080"}, {"nodeId": "140162510042192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597202720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, ".-2.140162597202720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, "140162510042080": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597202720"}]}, "140162510042192": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597202720"}]}, "140162597203168": {"type": "Function", "typeVars": [".-1.140162597203168", ".-2.140162597203168"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597203168"}, {"nodeId": ".-2.140162597203168"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042304"}, {"nodeId": "140162510042416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, ".-2.140162597203168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, "140162510042304": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597203168"}]}, "140162510042416": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597203168"}]}, "140162510041408": {"type": "Overloaded", "items": [{"nodeId": "140162597203616"}, {"nodeId": "140162597204064"}]}, "140162597203616": {"type": "Function", "typeVars": [".-1.140162597203616"], "argTypes": [{"nodeId": ".-1.140162597203616"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": ".-1.140162597203616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203616", "variance": "INVARIANT"}, "140162597204064": {"type": "Function", "typeVars": [".-1.140162597204064"], "argTypes": [{"nodeId": ".-1.140162597204064"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510042752"}]}], "returnType": {"nodeId": ".-1.140162597204064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597204064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597204064", "variance": "INVARIANT"}, "140162510042752": {"type": "Tuple", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, "140162618234848": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247520"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247968"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446248640"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580474880"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446247520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162505895584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505895584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162525838832": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589243008"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589243008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838832"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162526497584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162446247968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446248640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580474880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}, {"nodeId": "140162505895920"}, {"nodeId": "140162505896032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162505895920": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162505896032": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162618244256": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773760"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357568"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606358464"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140162618244256"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509905856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244256": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244256", "variance": "COVARIANT"}, "140162509905856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450773536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "140162509905408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509905408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606357568": {"type": "Function", "typeVars": [".-1.140162606357568"], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": ".-1.140162606357568"}, {"nodeId": "140162505386112"}], "returnType": {"nodeId": "140162509911232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606357568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606357568", "variance": "INVARIANT"}, "140162505386112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509911232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509911008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606358464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162618244592": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772416"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606359808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606360256"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771296"}}], "typeVars": [{"nodeId": ".1.140162618244592"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244592": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244592", "variance": "COVARIANT"}, "140162509911680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606359808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": "140162509911456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606360256": {"type": "Function", "typeVars": [".-1.140162606360256"], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": ".-1.140162606360256"}, {"nodeId": "140162505386896"}], "returnType": {"nodeId": "140162509912128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606360256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606360256", "variance": "INVARIANT"}, "140162505386896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509912128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539258256": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387456": {"type": "Overloaded", "items": [{"nodeId": "140162597720064"}, {"nodeId": "140162597720512"}, {"nodeId": "140162597720960"}]}, "140162597720064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597720512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597720960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525831440": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505899840"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580879552"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880000"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880448"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880896"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881344"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881792"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882240"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882688"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883136"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883584"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884480"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884928"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885376"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885824"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886272"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887168"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888064"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831440"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "isAbstract": false}, "140162505899840": {"type": "Overloaded", "items": [{"nodeId": "140162580878656"}, {"nodeId": "140162580879104"}]}, "140162580878656": {"type": "Function", "typeVars": [".-1.140162580878656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162580878656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162580878656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580878656", "variance": "INVARIANT"}, "140162580879104": {"type": "Function", "typeVars": [".-1.140162580879104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": ".-1.140162580879104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140162525831440": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831440", "variance": "COVARIANT"}, ".-1.140162580879104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580879104", "variance": "INVARIANT"}, "140162580879552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580880000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882688": {"type": "Function", "typeVars": [".-1.140162580882688"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580882688"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888384"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580882688": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580882688", "variance": "INVARIANT"}, "140162500888384": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580882688"}]}, "140162580883136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580883584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580884480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884928": {"type": "Function", "typeVars": [".-1.140162580884928"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580884928"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580884928": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580884928", "variance": "INVARIANT"}, "140162500888496": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580884928"}]}, "140162580885376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580885824": {"type": "Function", "typeVars": [".-1.140162580885824"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580885824"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580885824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580885824", "variance": "INVARIANT"}, "140162500888608": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580885824"}]}, "140162580886272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580886720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580888064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162525831776": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581020736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581021184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831776"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526498368"}]}], "isAbstract": false}, "140162580888512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140162525831776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831776", "variance": "INVARIANT"}, "140162580888960": {"type": "Function", "typeVars": [".-1.140162580888960"], "argTypes": [{"nodeId": ".-1.140162580888960"}], "returnType": {"nodeId": ".-1.140162580888960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162580888960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580888960", "variance": "INVARIANT"}, "140162581020736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}], "returnType": {"nodeId": "140162500888944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500888944": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162581021184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526498368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162539262288": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446641632"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642080"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642304"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500886816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581023872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025216"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025664"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500888272"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027008"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162446641632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500886816": {"type": "Overloaded", "items": [{"nodeId": "140162581022976"}, {"nodeId": "140162581023424"}]}, "140162581022976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581023424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162581023872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581025216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581025664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500888272": {"type": "Overloaded", "items": [{"nodeId": "140162581026112"}, {"nodeId": "140162581026560"}]}, "140162581026112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581026560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539262288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581027008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162539262624": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526506320"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507216"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508000"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027456"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027904"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028352"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028800"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029248"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029696"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581030144"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526506320": {"type": "Union", "items": [{"nodeId": "140162534569824"}, {"nodeId": "N"}]}, "140162534569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526507216": {"type": "Union", "items": [{"nodeId": "140162534570048"}, {"nodeId": "N"}]}, "140162534570048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526508000": {"type": "Union", "items": [{"nodeId": "140162534561536"}, {"nodeId": "N"}]}, "140162534561536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162500889392"}, {"nodeId": "140162500889728"}, {"nodeId": "140162500890064"}, {"nodeId": "140162500890288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140162500889392": {"type": "Union", "items": [{"nodeId": "140162505797952"}, {"nodeId": "N"}]}, "140162505797952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500889728": {"type": "Union", "items": [{"nodeId": "140162505798400"}, {"nodeId": "N"}]}, "140162505798400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500890064": {"type": "Union", "items": [{"nodeId": "140162505798624"}, {"nodeId": "N"}]}, "140162505798624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500890288": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162581027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798176"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505797728"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505797728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798848"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581029248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "140162500891072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162500891072": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162581029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162581030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539262960": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521913648": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581034176"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140162521913648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162581034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913648", "args": [{"nodeId": ".1.140162521913648"}]}], "returnType": {"nodeId": ".1.140162521913648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913648": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913648", "variance": "COVARIANT"}, "140162539263296": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581035072"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162539263296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162581035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263296", "args": [{"nodeId": ".1.140162539263296"}]}], "returnType": {"nodeId": ".1.140162539263296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539263296": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "def": "140162539263296", "variance": "COVARIANT"}, "140162618239552": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496491392"}}], "typeVars": [{"nodeId": ".1.140162618239552"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__await__"]}, "140162496491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618239552"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140162618239552"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239552", "variance": "COVARIANT"}, "140162525832112": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500892304"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581141696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581142144"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832112"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832112"}]}], "isAbstract": false}, "140162500892304": {"type": "Overloaded", "items": [{"nodeId": "140162581140352"}, {"nodeId": "140162581140800"}, {"nodeId": "140162581141248"}]}, "140162581140352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "N"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500894656"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832112", "variance": "INVARIANT"}, "140162500894656": {"type": "Union", "items": [{"nodeId": ".1.140162525832112"}, {"nodeId": "N"}]}, "140162581140800": {"type": "Function", "typeVars": [".-1.140162581140800"], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799744"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581140800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799744": {"type": "Function", "typeVars": [".-1.140162505799744"], "argTypes": [{"nodeId": ".-1.140162505799744"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162505799744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505799744", "variance": "INVARIANT"}, ".-1.140162581140800": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581140800", "variance": "INVARIANT"}, "140162581141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799520"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525832112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581141696": {"type": "Function", "typeVars": [".-1.140162581141696"], "argTypes": [{"nodeId": ".-1.140162581141696"}], "returnType": {"nodeId": ".-1.140162581141696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581141696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581141696", "variance": "INVARIANT"}, "140162581142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": ".1.140162525832112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539263632": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581148864"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162539263632"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162581148864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263632", "args": [{"nodeId": ".1.140162539263632"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539263632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263632", "variance": "COVARIANT"}, "140162525832448": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500894768"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581303744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581304192"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832448"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832448"}]}], "isAbstract": false}, "140162500894768": {"type": "Overloaded", "items": [{"nodeId": "140162581301056"}, {"nodeId": "140162581301504"}, {"nodeId": "140162581301952"}, {"nodeId": "140162581302400"}, {"nodeId": "140162581302848"}, {"nodeId": "140162581303296"}]}, "140162581301056": {"type": "Function", "typeVars": [".-1.140162581301056"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050880"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832448": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832448", "variance": "INVARIANT"}, "140162501050880": {"type": "Function", "typeVars": [".-1.140162501050880"], "argTypes": [{"nodeId": ".-1.140162501050880"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162501050880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050880", "variance": "INVARIANT"}, ".-1.140162581301056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301056", "variance": "INVARIANT"}, "140162581301504": {"type": "Function", "typeVars": [".-1.140162581301504", ".-2.140162581301504"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050656"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301504"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162501050656": {"type": "Function", "typeVars": [".-1.140162501050656", ".-2.140162501050656"], "argTypes": [{"nodeId": ".-1.140162501050656"}, {"nodeId": ".-2.140162501050656"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162501050656": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-2.140162501050656": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-1.140162581301504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, ".-2.140162581301504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, "140162581301952": {"type": "Function", "typeVars": [".-1.140162581301952", ".-2.140162581301952", ".-3.140162581301952"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050432"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581301952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162501050432": {"type": "Function", "typeVars": [".-1.140162501050432", ".-2.140162501050432", ".-3.140162501050432"], "argTypes": [{"nodeId": ".-1.140162501050432"}, {"nodeId": ".-2.140162501050432"}, {"nodeId": ".-3.140162501050432"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140162501050432": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-2.140162501050432": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-3.140162501050432": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-1.140162581301952": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-2.140162581301952": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-3.140162581301952": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, "140162581302400": {"type": "Function", "typeVars": [".-1.140162581302400", ".-2.140162581302400", ".-3.140162581302400", ".-4.140162581302400"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051104"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501051104": {"type": "Function", "typeVars": [".-1.140162501051104", ".-2.140162501051104", ".-3.140162501051104", ".-4.140162501051104"], "argTypes": [{"nodeId": ".-1.140162501051104"}, {"nodeId": ".-2.140162501051104"}, {"nodeId": ".-3.140162501051104"}, {"nodeId": ".-4.140162501051104"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140162501051104": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-2.140162501051104": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-3.140162501051104": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-4.140162501051104": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-1.140162581302400": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-2.140162581302400": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-3.140162581302400": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-4.140162581302400": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, "140162581302848": {"type": "Function", "typeVars": [".-1.140162581302848", ".-2.140162581302848", ".-3.140162581302848", ".-4.140162581302848", ".-5.140162581302848"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051328"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162581302848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140162501051328": {"type": "Function", "typeVars": [".-1.140162501051328", ".-2.140162501051328", ".-3.140162501051328", ".-4.140162501051328", ".-5.140162501051328"], "argTypes": [{"nodeId": ".-1.140162501051328"}, {"nodeId": ".-2.140162501051328"}, {"nodeId": ".-3.140162501051328"}, {"nodeId": ".-4.140162501051328"}, {"nodeId": ".-5.140162501051328"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140162501051328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-2.140162501051328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-3.140162501051328": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-4.140162501051328": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-5.140162501051328": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-1.140162581302848": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-2.140162581302848": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-3.140162581302848": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-4.140162581302848": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-5.140162581302848": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, "140162581303296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051552"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140162501051552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162581303744": {"type": "Function", "typeVars": [".-1.140162581303744"], "argTypes": [{"nodeId": ".-1.140162581303744"}], "returnType": {"nodeId": ".-1.140162581303744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581303744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581303744", "variance": "INVARIANT"}, "140162581304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162521913984": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581314944"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140162521913984"}], "bases": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162521913984"}]}], "protocolMembers": ["flush", "write"]}, "140162581314944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913984", "args": [{"nodeId": ".1.140162521913984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913984": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913984", "variance": "CONTRAVARIANT"}, "140162539263968": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576253888"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576253888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263968", "args": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}]}, {"nodeId": ".1.140162539263968"}], "returnType": {"nodeId": ".2.140162539263968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263968": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "CONTRAVARIANT"}, ".2.140162539263968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "COVARIANT"}, "140162539264304": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254336"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264304", "args": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}]}, {"nodeId": ".1.140162539264304"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140162539264304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140162539264304": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "CONTRAVARIANT"}, ".2.140162539264304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "COVARIANT"}, "140162539264640": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254784"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264640", "args": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}]}, {"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}], "returnType": {"nodeId": ".3.140162539264640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162539264640": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".2.140162539264640": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".3.140162539264640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "COVARIANT"}, "140162525832784": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501136048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576451392"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140162525832784"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832784"}]}], "isAbstract": false}, "140162501136048": {"type": "Overloaded", "items": [{"nodeId": "140162576449600"}, {"nodeId": "140162576450048"}]}, "140162576449600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162525832784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832784", "variance": "INVARIANT"}, "140162576450048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526751296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122656"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526751296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "__len__"]}, "140162593122208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526751296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751296", "variance": "COVARIANT"}, "140162593122656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526751296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576450496": {"type": "Function", "typeVars": [".-1.140162576450496"], "argTypes": [{"nodeId": ".-1.140162576450496"}], "returnType": {"nodeId": ".-1.140162576450496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576450496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576450496", "variance": "INVARIANT"}, "140162576450944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": ".1.140162525832784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576451392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539264976": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452288"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539264976"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264976", "args": [{"nodeId": ".1.140162539264976"}]}], "returnType": {"nodeId": ".1.140162539264976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539264976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264976", "variance": "COVARIANT"}, "140162539265312": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452736"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539265312"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265312", "args": [{"nodeId": ".1.140162539265312"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539265312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162539265312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539265312", "variance": "COVARIANT"}, "140162521914320": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526748608", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140162526748944", "args": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140162526748608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__add__"]}, "140162593118624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748608", "args": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}]}, {"nodeId": ".1.140162526748608"}], "returnType": {"nodeId": ".2.140162526748608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "CONTRAVARIANT"}, ".2.140162526748608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "COVARIANT"}, "140162526748944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__radd__"]}, "140162593119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748944", "args": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}]}, {"nodeId": ".1.140162526748944"}], "returnType": {"nodeId": ".2.140162526748944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748944": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "CONTRAVARIANT"}, ".2.140162526748944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "COVARIANT"}, "140162525833120": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501138176"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576463936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576464384"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525833120"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833120"}]}], "isAbstract": false}, "140162501138176": {"type": "Overloaded", "items": [{"nodeId": "140162576458560"}, {"nodeId": "140162576459008"}, {"nodeId": "140162576459456"}, {"nodeId": "140162576459904"}, {"nodeId": "140162576460352"}, {"nodeId": "140162576460800"}]}, "140162576458560": {"type": "Function", "typeVars": [".-1.140162576458560"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576458560"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140162576458560": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576458560", "variance": "INVARIANT"}, "140162501140304": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576458560"}]}, "140162576459008": {"type": "Function", "typeVars": [".-1.140162576459008", ".-2.140162576459008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459008"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459008"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140162576459008": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, ".-2.140162576459008": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, "140162501140528": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459008"}, {"nodeId": ".-2.140162576459008"}]}, "140162576459456": {"type": "Function", "typeVars": [".-1.140162576459456", ".-2.140162576459456", ".-3.140162576459456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459456"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140162576459456": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-2.140162576459456": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-3.140162576459456": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, "140162501140752": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459456"}, {"nodeId": ".-2.140162576459456"}, {"nodeId": ".-3.140162576459456"}]}, "140162576459904": {"type": "Function", "typeVars": [".-1.140162576459904", ".-2.140162576459904", ".-3.140162576459904", ".-4.140162576459904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576459904"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140976"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140162576459904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-2.140162576459904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-3.140162576459904": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-4.140162576459904": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, "140162501140976": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459904"}, {"nodeId": ".-2.140162576459904"}, {"nodeId": ".-3.140162576459904"}, {"nodeId": ".-4.140162576459904"}]}, "140162576460352": {"type": "Function", "typeVars": [".-1.140162576460352", ".-2.140162576460352", ".-3.140162576460352", ".-4.140162576460352", ".-5.140162576460352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162576460352"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501141200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140162576460352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-2.140162576460352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-3.140162576460352": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-4.140162576460352": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-5.140162576460352": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, "140162501141200": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576460352"}, {"nodeId": ".-2.140162576460352"}, {"nodeId": ".-3.140162576460352"}, {"nodeId": ".-4.140162576460352"}, {"nodeId": ".-5.140162576460352"}]}, "140162576460800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140162576463936": {"type": "Function", "typeVars": [".-1.140162576463936"], "argTypes": [{"nodeId": ".-1.140162576463936"}], "returnType": {"nodeId": ".-1.140162576463936"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576463936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576463936", "variance": "INVARIANT"}, "140162576464384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833120", "args": [{"nodeId": ".1.140162525833120"}]}], "returnType": {"nodeId": ".1.140162525833120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525833120": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833120", "variance": "COVARIANT"}, "140162539265648": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539266320": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266656": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266992": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509904"}}], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162526509904": {"type": "TypeAlias", "target": {"nodeId": "140162526136128"}}, "140162526136128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539267328": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539267664": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268000": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268336": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268672": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269008": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234176"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539269008"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143440"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140162501143440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539269344": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269680": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270016": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648448"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509792"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539270016"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143552"}, {"nodeId": "140162501143664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140162501143552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501143664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509792": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539270352": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270688": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271024": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271360": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271696": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272032": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272368": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539120320"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510016"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508112"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510128"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508448"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111472"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539120320": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526510016": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526508112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526510128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526508448": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539111472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539272704": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273040": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273376": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273712": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176000": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176336": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176672": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270016"}], "isAbstract": false}, "140162539177008": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177344": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177680": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271024"}], "isAbstract": false}, "140162539178016": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178352": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178688": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539179024": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179360": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179696": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180032": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180368": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539180704": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181040": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181376": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181712": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182048": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182384": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182720": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539183056": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183392": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183728": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539272368"}], "isAbstract": false}, "140162539184064": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539183728"}], "isAbstract": false}, "140162539184400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162539184736": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648896"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576648896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539184736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162501143776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501143776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539185072": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649344"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162539185408": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649792"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185408"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162539185744": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539186080": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186416": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186752": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187088": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187424": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187760": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188096": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188432": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188768": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189104": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189440": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162534551088": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434464"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434016"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476433344"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162476434464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476434016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162476434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534551424": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432448"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432000"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431776"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509352720"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476431552"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430880"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430656"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430432"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140162476432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534551424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140162509352720": {"type": "Overloaded", "items": [{"nodeId": "140162601513280"}, {"nodeId": "140162601513728"}, {"nodeId": "140162601514176"}, {"nodeId": "140162601514624"}, {"nodeId": "140162601515072"}, {"nodeId": "140162601515520"}, {"nodeId": "140162601515968"}]}, "140162601513280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509355408"}, {"nodeId": "140162509355520"}, {"nodeId": "140162509355632"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355296": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162509355408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601513728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355184"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355184": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601514176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355968"}, {"nodeId": "140162509356304"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355968": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162509356304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601514624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356416"}, {"nodeId": "140162509356752"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356416": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162509356752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356864"}, {"nodeId": "140162509555184"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356864": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162509555184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509553952"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509553952": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601515968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509554176"}, {"nodeId": "140162509555296"}, {"nodeId": "140162509555520"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509554176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162476430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509554400"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162509554400": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534551760": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476429312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577073984"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074432"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074880"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577075328"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140162534551088"}], "isAbstract": true}, "140162476429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577073984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162577075328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476027776"}}], "typeVars": [], "bases": [{"nodeId": "140162539176672"}], "isAbstract": false}, "140162476027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544704"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545376": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577078464"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023968"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023296"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023744"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530668080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080256"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140162534545040"}], "isAbstract": false}, "140162526130720": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354176"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354624"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355520"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513808160"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513809392"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810176"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810624"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811072"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811520"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812192"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812640"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563829856"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830304"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830752"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130720"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488354176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130720": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130720", "variance": "INVARIANT"}, "140162488354624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": ".1.140162526130720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808160": {"type": "Overloaded", "items": [{"nodeId": "140162563822688"}, {"nodeId": "140162538806784"}]}, "140162563822688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810288": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162526130384": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488411616"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488409600"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408704"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408032"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488407360"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513767888"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513805584"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806368"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806592"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135392"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135840"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563817760"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513807712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563819552"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820000"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820448"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130384"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488411616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130384": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130384", "variance": "INVARIANT"}, "140162488409600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488408704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488408032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162488407360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488406688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513767888": {"type": "Overloaded", "items": [{"nodeId": "140162551131360"}, {"nodeId": "140162538801856"}]}, "140162551131360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162538801856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513806480"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162513806480": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513805584": {"type": "Overloaded", "items": [{"nodeId": "140162551132256"}, {"nodeId": "140162551132704"}, {"nodeId": "140162551133152"}]}, "140162551132256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551132704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513806816"}], "returnType": {"nodeId": "140162513807040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162513806816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807040": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551133152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513807152"}, {"nodeId": "140162513807264"}, {"nodeId": "140162513807376"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807600"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140162513807152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807600": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162513806368": {"type": "Overloaded", "items": [{"nodeId": "140162551133600"}, {"nodeId": "140162551134048"}]}, "140162551133600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513807936": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134048": {"type": "Function", "typeVars": [".-1.140162551134048"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134048"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513808048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134048", "variance": "INVARIANT"}, "140162513808048": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134048"}]}, "140162513806592": {"type": "Overloaded", "items": [{"nodeId": "140162551134496"}, {"nodeId": "140162551134944"}]}, "140162551134496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808384": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134944": {"type": "Function", "typeVars": [".-1.140162551134944"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134944"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134944", "variance": "INVARIANT"}, "140162513808496": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134944"}]}, "140162551135392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808608": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162551135840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808720": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162563817760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808832"}], "returnType": {"nodeId": "140162513809056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808832": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809056": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162488406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513809280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513809280": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162513807712": {"type": "Overloaded", "items": [{"nodeId": "140162563818656"}, {"nodeId": "140162563819104"}]}, "140162563818656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563819104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513809616"}], "returnType": {"nodeId": "140162513809840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513809616": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809840": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162563819552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563820000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563820448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162538806784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810400"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810512": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513809392": {"type": "Overloaded", "items": [{"nodeId": "140162563823584"}, {"nodeId": "140162538812160"}]}, "140162563823584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810736"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810736": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538812160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810848"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810848": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810960": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810176": {"type": "Overloaded", "items": [{"nodeId": "140162563824480"}, {"nodeId": "140162538809024"}]}, "140162563824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811184": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538809024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811408": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810624": {"type": "Overloaded", "items": [{"nodeId": "140162563825376"}, {"nodeId": "140162538812608"}]}, "140162563825376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513811744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162538812608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811856"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513812080"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812080": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "A"}]}, "140162513811072": {"type": "Overloaded", "items": [{"nodeId": "140162563826272"}, {"nodeId": "140162538813952"}]}, "140162563826272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538813952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811520": {"type": "Overloaded", "items": [{"nodeId": "140162563827168"}, {"nodeId": "140162538802528"}]}, "140162563827168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538802528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812752"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812192": {"type": "Overloaded", "items": [{"nodeId": "140162563828064"}, {"nodeId": "140162538811040"}]}, "140162563828064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513812976"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513812976": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538814624"}]}, "140162538814624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162538811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513813200"}, {"nodeId": "140162513928256"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513813200": {"type": "Union", "items": [{"nodeId": "140162513813088"}, {"nodeId": "140162538811488"}]}, "140162513813088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538811488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513813312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513813312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513928256": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812640": {"type": "Overloaded", "items": [{"nodeId": "140162563828960"}, {"nodeId": "140162538809696"}]}, "140162563828960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513928480"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513928704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538813504"}]}, "140162538813504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513928704": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162538809696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513928928"}, {"nodeId": "140162513929152"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513929376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928928": {"type": "Union", "items": [{"nodeId": "140162513928816"}, {"nodeId": "140162538814400"}]}, "140162513928816": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538814400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513929040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513929040": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929376": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162563829856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563830304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563830752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162577078464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344656": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344880"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345104"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509345104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530668080": {"type": "Union", "items": [{"nodeId": "140162534546720"}, {"nodeId": "N"}]}, "140162577080256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345216"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162509345216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162534545040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530667072"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530669312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530468448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530469120"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530467552"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530467776"}}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162530667072": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530669312": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162530468448": {"type": "Function", "typeVars": [".-1.140162530468448"], "argTypes": [{"nodeId": ".-1.140162530468448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530468448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140162530468448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530468448", "variance": "INVARIANT"}, "140162530669536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530469120": {"type": "Function", "typeVars": [".-1.140162530469120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530469120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140162530469120": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530469120", "variance": "INVARIANT"}, "140162530467552": {"type": "Function", "typeVars": [".-1.140162530467552"], "argTypes": [{"nodeId": ".-1.140162530467552"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140162530467552": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467552", "variance": "INVARIANT"}, "140162530467776": {"type": "Function", "typeVars": [".-1.140162530467776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530467776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140162530467776": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467776", "variance": "INVARIANT"}, "140162534546048": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476016352"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476015904"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475998368"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343984"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534545712"}]}], "isAbstract": false}, "140162476016352": {"type": "Function", "typeVars": [".-1.140162476016352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509345440"}]}], "returnType": {"nodeId": ".-1.140162476016352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140162509345440": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, ".-1.140162476016352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162476016352", "variance": "INVARIANT"}, "140162476015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343984": {"type": "Overloaded", "items": [{"nodeId": "140162577083840"}, {"nodeId": "140162577084288"}]}, "140162577083840": {"type": "Function", "typeVars": [".-1.140162577083840"], "argTypes": [{"nodeId": ".-1.140162577083840"}], "returnType": {"nodeId": ".-1.140162577083840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162577083840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162577083840", "variance": "INVARIANT"}, "140162577084288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162521920368": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140162521920704"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475992992"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": true}, "140162475992992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920368"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140162521921040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475990752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553280"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140162521920368"}], "isAbstract": false}, "140162475990752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140162606553280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521921040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140162526125680": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606560672"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["find_spec"]}, "140162606560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513459952"}, {"nodeId": "140162513460064"}], "returnType": {"nodeId": "140162513460176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162513459952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162513460064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162513460176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521914656": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492641376"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642272"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642496"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642720"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642944"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643168"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643392"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643616"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643840"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644064"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644288"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644512"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644736"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644960"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492694592"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492695264"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460400"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460400": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460512"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460512": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460624": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460736"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460848"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460848": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460960"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460960": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461072": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461184"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461184": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461296": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461408": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461520"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461520": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461744"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461744": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461856"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461856": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492694592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461968"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461968": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162526754992": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589443232"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140162526754992"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589443232": {"type": "Function", "typeVars": [".-1.140162589443232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526754992"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162589443232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140162526754992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754992", "variance": "COVARIANT"}, ".-1.140162589443232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589443232", "variance": "INVARIANT"}, "140162521914992": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696384"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696832"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697056"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697280"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697504"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697728"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697952"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698176"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698400"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698624"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698848"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492696384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462192"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462192": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492696832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462304"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462416"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462416": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462528"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462528": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462640"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462640": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462752"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462864"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462976"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462976": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463088"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463088": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463200"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463200": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463312": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521915328": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700192"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700416"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700640"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701088"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701312"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701536"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701760"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701984"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162521993552"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463424"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463424": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463536"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463536": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463760"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463760": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463872"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463872": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463984": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464096": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464208"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464208": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464320"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464320": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521993552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, "140162526126016": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521992320"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162588866848"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521992320": {"type": "TypeAlias", "target": {"nodeId": "140162522321120"}}, "140162522321120": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162588866848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126016"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521915664": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704000"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704224"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704448"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704672"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492704000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464544"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464544": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464656": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464768": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464880"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521916000": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704896"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706016"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706240"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706464"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492704896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464992"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464992": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465216": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465328"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465328": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465440": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526126352": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522324144"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998032"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998256"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526139040"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522324144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162521998032": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162521998256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526139040": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162521916336": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492709600"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492710048"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162526139264"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162522108688"}]}], "isAbstract": false}, "140162492709600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468016"}], "returnType": {"nodeId": "140162513468128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468016": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162521990640": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526140272": {"type": "Union", "items": [{"nodeId": "140162542940480"}, {"nodeId": "N"}]}, "140162542940480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618240896": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255744"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496567264"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442752"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572257536"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496566816"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568160"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568384"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568608"}}], "typeVars": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}], "bases": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240896"}]}], "isAbstract": true}, "140162572255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240896": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "COVARIANT"}, ".2.140162618240896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "CONTRAVARIANT"}, "140162496567264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": ".2.140162618240896"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442752": {"type": "Overloaded", "items": [{"nodeId": "140162572256640"}, {"nodeId": "140162572257088"}]}, "140162572256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "0"}, {"nodeId": "140162522444544"}, {"nodeId": "140162522444656"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444544": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444656": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444768"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444768": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496566816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240560": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496565024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255296"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162618240560"}], "bases": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240560"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140162496565024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240560": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240560", "variance": "COVARIANT"}, "140162572255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240224": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496562336"}}], "typeVars": [{"nodeId": ".1.140162618240224"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162496562336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240224"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240224"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240224": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240224", "variance": "COVARIANT"}, "140162521995008": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162513468128": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162492710048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468240"}], "returnType": {"nodeId": "140162513468352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468240": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162513468352": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526139264": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162522108688": {"type": "Union", "items": [{"nodeId": "140162501057600"}, {"nodeId": "N"}]}, "140162501057600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526117952": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501652576"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510240"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497061472"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753088"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589244800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597584960"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667200"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162501652576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162522669664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522669664": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162526510240": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497061472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496753088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589244800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162526118288"}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "140162522670112"}, {"nodeId": "140162522670224"}, {"nodeId": "140162522670336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140162522670112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522670224": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "N"}]}, "140162522670336": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162597584960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522667200": {"type": "Overloaded", "items": [{"nodeId": "140162597585408"}, {"nodeId": "140162597585856"}]}, "140162597585408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "N"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162597585856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162618234176"}, {"nodeId": "140162522670896"}], "returnType": {"nodeId": "140162526121312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162522670896": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162526121312": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459392"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459840"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460064"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460288"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460512"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597326848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597327296"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497459392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676160": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162497459840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676384": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162526120976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526120976": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597323712"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597323712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120976"}, {"nodeId": "140162522675936"}, {"nodeId": "140162522676048"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162522675936": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162522676048": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162497460288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597326848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "140162534558624"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162534558624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162597327296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526118960": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556224"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556672"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557120"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597555776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162597556224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597556672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597557120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526119968": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497448864"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560256"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560704"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597561152"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667872"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}], "bases": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "isAbstract": false}, "140162497448864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162522672800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526119968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, ".2.140162526119968": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "CONTRAVARIANT"}, ".3.140162526119968": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, "140162522672800": {"type": "Union", "items": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597560256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597560704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597561152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": ".2.140162526119968"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522667872": {"type": "Overloaded", "items": [{"nodeId": "140162597561600"}, {"nodeId": "140162597562048"}]}, "140162597561600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "0"}, {"nodeId": "140162522673024"}, {"nodeId": "140162522673136"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522673136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597562048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522673248"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673248": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526120304": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497452672"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597562944"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563392"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563840"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522670784"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565184"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565632"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}], "bases": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "isAbstract": false}, "140162497452672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162522673472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "COVARIANT"}, ".2.140162526120304": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "CONTRAVARIANT"}, "140162522673472": {"type": "Union", "items": [{"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597562944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618239888": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496493856"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494080"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494304"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494528"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442640"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494976"}}], "typeVars": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162618239888"}]}], "isAbstract": true}, "140162496493856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162522443872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, ".2.140162618239888": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "CONTRAVARIANT"}, ".3.140162618239888": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, "140162522443872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162496494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": ".2.140162618239888"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442640": {"type": "Overloaded", "items": [{"nodeId": "140162572105344"}, {"nodeId": "140162572105792"}]}, "140162572105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "0"}, {"nodeId": "140162522444096"}, {"nodeId": "140162522444208"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444096": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444208": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572105792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444320"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444320": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162496494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": ".2.140162526120304"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522670784": {"type": "Overloaded", "items": [{"nodeId": "140162534560416"}, {"nodeId": "140162597564288"}]}, "140162534560416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "0"}, {"nodeId": "140162522674144"}, {"nodeId": "140162522674256"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522674256": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597564288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522674480"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674480": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597565184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597565632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526120640": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497456032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597566976"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567424"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567872"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522674368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}], "bases": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "isAbstract": false}, "140162497456032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162522675264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, ".2.140162526120640": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "CONTRAVARIANT"}, ".3.140162526120640": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, "140162522675264": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162522675152"}]}, {"nodeId": "N"}]}, "140162522675152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162597566976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140162526120640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": ".2.140162526120640"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522674368": {"type": "Overloaded", "items": [{"nodeId": "140162597322816"}, {"nodeId": "140162597323264"}]}, "140162597322816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "0"}, {"nodeId": "140162522675600"}, {"nodeId": "140162522675712"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522675712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597323264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522675824"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675824": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526121648": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497461408"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350752"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597329088"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497461408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162522677056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522677056": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "140162526119632"}]}, "140162492350752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597329088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526121984": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352096"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352768"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597330880"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597331328"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492352096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597330880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597331328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162526122320": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354112"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354784"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492355008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597333568"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334016"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334464"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492354112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492355008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597333568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597334016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597334464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526122656": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357024"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357472"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336256"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336704"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492357024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597336256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597336704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526122992": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492358816"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359264"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597338496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593259584"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492358816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597338496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162593259584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526124000": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365312"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365536"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593266752"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267200"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267648"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593266752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593267200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593267648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526124336": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492432672"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433120"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269440"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269888"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593270336"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492432672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526125008": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113024"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593113024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745920": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162593115488": {"type": "Function", "typeVars": [".-1.140162593115488"], "argTypes": [{"nodeId": "140162526745920"}, {"nodeId": ".-1.140162593115488"}], "returnType": {"nodeId": ".-1.140162593115488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162593115488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593115488", "variance": "INVARIANT"}, "140162526746256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162526746256"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__next__"]}, "140162593115936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746256", "args": [{"nodeId": ".1.140162526746256"}]}], "returnType": {"nodeId": ".1.140162526746256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746256", "variance": "COVARIANT"}, "140162526746592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162526746592"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162593116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746592", "args": [{"nodeId": ".1.140162526746592"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162526746592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746592", "variance": "COVARIANT"}, "140162526747600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140162526747600"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__le__"]}, "140162593117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747600", "args": [{"nodeId": ".1.140162526747600"}]}, {"nodeId": ".1.140162526747600"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747600", "variance": "CONTRAVARIANT"}, "140162526747936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140162526747936"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__ge__"]}, "140162593118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747936", "args": [{"nodeId": ".1.140162526747936"}]}, {"nodeId": ".1.140162526747936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747936", "variance": "CONTRAVARIANT"}, "140162526748272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747600", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747936", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140162526749280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__sub__"]}, "140162593119520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749280", "args": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}]}, {"nodeId": ".1.140162526749280"}], "returnType": {"nodeId": ".2.140162526749280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749280": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "CONTRAVARIANT"}, ".2.140162526749280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "COVARIANT"}, "140162526749616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rsub__"]}, "140162593119968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749616", "args": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}]}, {"nodeId": ".1.140162526749616"}], "returnType": {"nodeId": ".2.140162526749616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749616": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "CONTRAVARIANT"}, ".2.140162526749616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "COVARIANT"}, "140162526749952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120416"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__divmod__"]}, "140162593120416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749952", "args": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}]}, {"nodeId": ".1.140162526749952"}], "returnType": {"nodeId": ".2.140162526749952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "CONTRAVARIANT"}, ".2.140162526749952": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "COVARIANT"}, "140162526750288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120864"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rdivmod__"]}, "140162593120864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750288", "args": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}]}, {"nodeId": ".1.140162526750288"}], "returnType": {"nodeId": ".2.140162526750288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526750288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "CONTRAVARIANT"}, ".2.140162526750288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "COVARIANT"}, "140162526750624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121312"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162526750624"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162593121312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750624", "args": [{"nodeId": ".1.140162526750624"}]}], "returnType": {"nodeId": ".1.140162526750624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526750624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750624", "variance": "COVARIANT"}, "140162526750960": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121760"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162526750960"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162593121760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750960", "args": [{"nodeId": ".1.140162526750960"}]}], "returnType": {"nodeId": ".1.140162526750960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526750960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750960", "variance": "COVARIANT"}, "140162526751968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123552"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["items"]}, "140162593123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751968", "args": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162505155616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526751968": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, ".2.140162526751968": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, "140162505155616": {"type": "Tuple", "items": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}, "140162526752640": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125344"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140162593124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526752640": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "CONTRAVARIANT"}, ".2.140162526752640": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "COVARIANT"}, "140162593125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": ".1.140162526752640"}], "returnType": {"nodeId": ".2.140162526752640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526752976": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125792"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126240"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "bases": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140162593125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162526752976": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "CONTRAVARIANT"}, ".2.140162526752976": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "INVARIANT"}, "140162593126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526753312": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126688"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["fileno"]}, "140162593126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526753984": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127584"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526753984"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593127584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753984", "args": [{"nodeId": ".1.140162526753984"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753984", "variance": "COVARIANT"}, "140162526754320": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593128032"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526754320"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593128032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754320", "args": [{"nodeId": ".1.140162526754320"}]}], "returnType": {"nodeId": ".1.140162526754320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526754320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754320", "variance": "COVARIANT"}, "140162525838160": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125360"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606480096"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501369792"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501370912"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162539125584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162606480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434688"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140162522434688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140162539260272"}]}, "140162522433568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501369792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235856": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589450624"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162618236528": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121216"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451520"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640480"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589453760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539121216": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522432448"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140162522432448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162501640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162501640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618236192": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236192"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162589453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618235520": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589446592"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447040"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447488"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235856"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162501370912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235184": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111920"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589444800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445248"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445696"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539111920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522433456"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140162522433456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618236864": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455104"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455552"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589456000"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539257920"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140162589455104": {"type": "Function", "typeVars": [".-1.140162589455104"], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": ".-1.140162589455104"}], "returnType": {"nodeId": ".-1.140162589455104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140162589455104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589455104", "variance": "INVARIANT"}, "140162589455552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589456000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618237200": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589457792"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589457792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237200"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525823040": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162539189776": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568133696"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134144"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134592"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135040"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135488"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162568133696": {"type": "Function", "typeVars": [".-1.140162568133696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162568133696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140162568133696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568133696", "variance": "INVARIANT"}, "140162568134144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140162568134592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162568135040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162505155168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140162505155168": {"type": "Union", "items": [{"nodeId": "140162526754656", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568135488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162525824720": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501649888"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501649888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618237536": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501651232"}}], "typeVars": [{"nodeId": ".1.140162618237536"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__abs__"]}, "140162501651232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237536", "args": [{"nodeId": ".1.140162618237536"}]}], "returnType": {"nodeId": ".1.140162618237536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618237536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237536", "variance": "COVARIANT"}, "140162618237872": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264320"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162618237872"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162522264320": {"type": "Overloaded", "items": [{"nodeId": "140162572094592"}, {"nodeId": "140162572095040"}]}, "140162572094592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618237872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237872", "variance": "COVARIANT"}, "140162572095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618237872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162525825392": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496480192"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__hash__"]}, "140162496480192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825392"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525825728": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}, {"nodeId": ".4.140162525825728"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162525825728"}]}, {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}]}], "isAbstract": true}, ".1.140162525825728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".2.140162525825728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "CONTRAVARIANT"}, ".3.140162525825728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".4.140162525825728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "INVARIANT"}, "140162525828752": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162497054976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572780480"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781376"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522664960": {"type": "Overloaded", "items": [{"nodeId": "140162572647808"}, {"nodeId": "140162572779584"}]}, "140162572647808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522668208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522668208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162572779584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162497054976": {"type": "Function", "typeVars": [".-1.140162497054976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162497054976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162497054976": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162497054976", "variance": "INVARIANT"}, "140162572780480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572781376": {"type": "Function", "typeVars": [".-1.140162572781376"], "argTypes": [{"nodeId": ".-1.140162572781376"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162572781376"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162572781376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781376", "variance": "INVARIANT"}, "140162525829088": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781824"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782272"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782720"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783168"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784064"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784512"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784960"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785408"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785856"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162572781824": {"type": "Function", "typeVars": [".-1.140162572781824"], "argTypes": [{"nodeId": ".-1.140162572781824"}], "returnType": {"nodeId": ".-1.140162572781824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162572781824": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781824", "variance": "INVARIANT"}, "140162572782272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162572782720": {"type": "Function", "typeVars": [".-1.140162572782720"], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": ".-1.140162572782720"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162572782720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572782720", "variance": "INVARIANT"}, "140162572783168": {"type": "Function", "typeVars": [".-1.140162572783168"], "argTypes": [{"nodeId": ".-1.140162572783168"}, {"nodeId": ".-1.140162572783168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162572783168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572783168", "variance": "INVARIANT"}, "140162572783616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572785408": {"type": "Function", "typeVars": [".-1.140162572785408"], "argTypes": [{"nodeId": ".-1.140162572785408"}, {"nodeId": ".-1.140162572785408"}], "returnType": {"nodeId": ".-1.140162572785408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785408": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785408", "variance": "INVARIANT"}, "140162572785856": {"type": "Function", "typeVars": [".-1.140162572785856"], "argTypes": [{"nodeId": ".-1.140162572785856"}, {"nodeId": ".-1.140162572785856"}], "returnType": {"nodeId": ".-1.140162572785856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785856", "variance": "INVARIANT"}, "140162618243920": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510576"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572786304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572787200"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572788096"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526510576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162526508336": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572786304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522668880"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140162522668880": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572787200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162522669104"}, {"nodeId": "140162522669328"}, {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162522669552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140162522669104": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669328": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572788096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572794144"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162572793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836816": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465312"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465760"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466208"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467104"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468896"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606469344"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162606465312": {"type": "Function", "typeVars": [".-1.140162606465312"], "argTypes": [{"nodeId": ".-1.140162606465312"}], "returnType": {"nodeId": ".-1.140162606465312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162606465312": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606465312", "variance": "INVARIANT"}, "140162606465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162606466208": {"type": "Function", "typeVars": [".-1.140162606466208"], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": ".-1.140162606466208"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162606466208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466208", "variance": "INVARIANT"}, "140162606466656": {"type": "Function", "typeVars": [".-1.140162606466656"], "argTypes": [{"nodeId": ".-1.140162606466656"}, {"nodeId": ".-1.140162606466656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162606466656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466656", "variance": "INVARIANT"}, "140162606467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606468896": {"type": "Function", "typeVars": [".-1.140162606468896"], "argTypes": [{"nodeId": ".-1.140162606468896"}, {"nodeId": ".-1.140162606468896"}], "returnType": {"nodeId": ".-1.140162606468896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606468896": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606468896", "variance": "INVARIANT"}, "140162606469344": {"type": "Function", "typeVars": [".-1.140162606469344"], "argTypes": [{"nodeId": ".-1.140162606469344"}, {"nodeId": ".-1.140162606469344"}], "returnType": {"nodeId": ".-1.140162606469344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606469344": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606469344", "variance": "INVARIANT"}, "140162525837488": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264992"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501367552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606476960"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606477856"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522264992": {"type": "Overloaded", "items": [{"nodeId": "140162606475616"}, {"nodeId": "140162606476064"}]}, "140162606475616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522441520"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522441520": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162606476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162501367552": {"type": "Function", "typeVars": [".-1.140162501367552"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162501367552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162501367552": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501367552", "variance": "INVARIANT"}, "140162606476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606477856": {"type": "Function", "typeVars": [".-1.140162606477856"], "argTypes": [{"nodeId": ".-1.140162606477856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162606477856"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162606477856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606477856", "variance": "INVARIANT"}, "140162525837824": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539124240"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606479200"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539124240": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162539125024": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522434352"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433792"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140162522434352": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162522433792": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525838496": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593047264"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140162522434576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526755664": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454674608"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593048832"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522320112"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543169184"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543164480"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162454674608": {"type": "Tuple", "items": []}, "140162593048832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755664"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522320112": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543169184": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543164480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526756000": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162526756336": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521710656": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454679088"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162526756336"}], "isAbstract": false}, "140162454679088": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521710992": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454680096"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454680096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521721072": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711328": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454681104"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521710656"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454681104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521712336": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711664": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454682448"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454682448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712000": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454683344"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454683344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454849344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522317872"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454849344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908272": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455285408"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576325696"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162597249296"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319776"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455285408": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908608": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455286640"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319888"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455286640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319888": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576325696": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162597249296": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319776": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162522317872": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713008": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454850800"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318768"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454850800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318768": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713344": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852032"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852032": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908944": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455287536"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606002496"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455287536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606002496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521713680": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318880"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852480": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318880": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521714016": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454853376"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454853376": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521714352": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454854720"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454854720": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521714688": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454855840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454855840": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318992": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162521828032": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455277792"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455277792": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829040": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521826688": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455141312"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455141312": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827360": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455275888"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455275888": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521831392": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521715024": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454857184"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319104"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319216"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454857184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319104": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162522319216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521715360": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454858640"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454858640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521715696": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454859984"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454859984": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716032": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454860880"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454860880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716368": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454862000"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454862000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716704": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454863120"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454863120": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521909616": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455289552"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610621216"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455289552": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162610621216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717040": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454995456"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454995456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521717376": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454996352"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319328"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319440"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454996352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319328": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319440": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717712": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454997808"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907936"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454997808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907936": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455283392"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326816"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326704"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521907600"}], "isAbstract": false}, "140162455283392": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576326816": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576326704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521907600": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521718048": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999152"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319552"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319552": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521718384": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999936"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521909280": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455288544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606003728"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455288544": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606003728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521718720": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001280"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001280": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521719056": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001952"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001952": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719392": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455002848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455002848": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719728": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455003744"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455003744": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521720064": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720400": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720736": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521721408": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455004864"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521830384"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455004864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521830384": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521721744": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006096"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722080": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521836096"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521836096": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521722416": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455008000"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455008000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722752": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455009232"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455009232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521723088": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010128"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162547218160"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547218160": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521723424": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010912"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521723760": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455126864"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455126864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907264": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455282384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455282384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724096": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455127872"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455127872": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724432": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455129104"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455129104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724768": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130000"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521725104": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521725440": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455131680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318432"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455131680": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318432": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521725776": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455132576"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455132576": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521726112": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455133920"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521837776"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455133920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521837776": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521726448": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455135040"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455135040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521825344": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136160"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212784"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212784": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521825680": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136832"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136832": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521826016": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455138512"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212896"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162588949328"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455138512": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162588949328": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539259264"}]}, "140162521826352": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455140080"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521828032"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455140080": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827024": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455274208"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983184"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983072"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576833824"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455274208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576983184": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576983072": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576833824": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521827696": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455276784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455276784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828368": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455278800"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455278800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828704": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455279808"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455279808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829376": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521829712": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830048": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830720": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831056": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831728": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832064": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832400": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832736": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833072": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833408": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833744": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834080": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834416": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834752": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835088": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835424": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835760": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521836432": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521836768": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837104": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837440": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521838112": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838448": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838784": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839120": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839456": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839792": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840128": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840464": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840800": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521841136": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521909952": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455536464"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910624"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455536464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910624": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537136"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521910288"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610618752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455537136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910288": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162610618752": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521910960": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537248"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537248": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911296": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497472"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537584": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526497472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162521911632": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537920"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911968": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455538256"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496128"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455538256": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526496128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912304": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539040"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526498032"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526498032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912640": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539824"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521912976": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540048"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496688"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496912"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526496688": {"type": "Union", "items": [{"nodeId": "140162521910288"}, {"nodeId": "N"}]}, "140162526496912": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521913312": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540272"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162534539664": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}, {"nodeId": "140162539273376"}], "isAbstract": false}, "140162534541344": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475936"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476832"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477280"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477728"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140162509192800": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593476384": {"type": "Function", "typeVars": [".-1.140162593476384"], "argTypes": [{"nodeId": ".-1.140162593476384"}], "returnType": {"nodeId": ".-1.140162593476384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593476384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593476384", "variance": "INVARIANT"}, "140162593476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192912"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192912": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534542688": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482208"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}], "isAbstract": false}, "140162593481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162534540336"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140162593482208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534543696": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129888"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130336"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162568129888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}, {"nodeId": "140162509341744"}, {"nodeId": "140162509341856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140162509341744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522191840": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568131232"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475827136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568132128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": false}, "140162568130784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509341968"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140162509341968": {"type": "Union", "items": [{"nodeId": "140162526744912"}, {"nodeId": "N"}]}, "140162526744912": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041888"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463508160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547042784"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043232"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043680"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162547041888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463508160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149120"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505149120": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162547042784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547043232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "140162505149344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505149344": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162547043680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149568": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162568131232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342192"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162509342192": {"type": "Union", "items": [{"nodeId": "140162509342080"}, {"nodeId": "140162539260272"}]}, "140162509342080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162475827136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}], "returnType": {"nodeId": "140162509342304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509342304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568132128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509342528": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162539190112": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136384"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190112"}], "bases": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162539190112"}]}], "isAbstract": false}, "140162568136384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190112", "args": [{"nodeId": ".1.140162539190112"}]}, {"nodeId": "140162509904960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190112": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190112", "variance": "COVARIANT"}, "140162509904960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190112"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190448": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136832"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190448"}], "bases": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162539190448"}]}], "isAbstract": false}, "140162568136832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190448", "args": [{"nodeId": ".1.140162539190448"}]}, {"nodeId": "140162509904288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190448": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190448", "variance": "COVARIANT"}, "140162509904288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190784": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162539262624"}], "isAbstract": false}, "140162539191120": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534544368": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568142432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568208672"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140162568141536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568141984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568142432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568208672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534555120": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534554112"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331872"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522114512"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539408400"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568209792"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210240"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210688"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211136"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211584"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212032"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212480"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212928"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214720"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215168"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216960"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217408"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217856"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218304"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218752"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568224128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509556416"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568356800"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357248"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357696"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358144"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358592"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359040"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359488"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360384"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360832"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534554112": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662144"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547316800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317248"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317696"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547318144"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547368000"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471868256"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867808"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866688"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867136"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162530662144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530662368": {"type": "Union", "items": [{"nodeId": "140162534565344"}, {"nodeId": "N"}]}, "140162534565344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162509559440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509559552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140162509559440": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509559552": {"type": "Union", "items": [{"nodeId": "140162509210784"}, {"nodeId": "N"}]}, "140162509210784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534554112"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140162547317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162539408400": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162547315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539408400"}, {"nodeId": "140162509767280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140162509767280": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547318144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162547368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509559776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162509559776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162471868256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471867808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560224": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471866688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471867136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471866240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162522331872": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522114512": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140162568210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509561568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509561568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534555120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140162568211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561680"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140162509561680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162568212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561904"}, {"nodeId": "140162509562016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140162509561904": {"type": "TypeAlias", "target": {"nodeId": "140162530663712"}}, "140162530663712": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162534555120"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162509562016": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162522114288": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539415456": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660240"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307616"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308064"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308512"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308960"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309408"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309856"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547310304"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162530660240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547307168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140162547307616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547308064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162509768848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509768848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547308512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547308960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140162547309408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547309856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547310304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509562128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140162509562128": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509562240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562240": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509562352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509562352": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509562464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509562464": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568216064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568216512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568216960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562912"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509562688"}]}, "140162509562688": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217408": {"type": "Function", "typeVars": [".-1.140162568217408"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217408"}], "returnType": {"nodeId": "140162509563136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217408", "variance": "INVARIANT"}, "140162509563136": {"type": "Union", "items": [{"nodeId": "140162509563024"}, {"nodeId": ".-1.140162568217408"}]}, "140162509563024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217856": {"type": "Function", "typeVars": [".-1.140162568217856"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217856"}], "returnType": {"nodeId": "140162509563360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217856", "variance": "INVARIANT"}, "140162509563360": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563248"}]}, {"nodeId": ".-1.140162568217856"}]}, "140162509563248": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568218304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140162509563472": {"type": "TypeAlias", "target": {"nodeId": "140162530658560"}}, "140162530658560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "140162530660352"}]}, "140162530660352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530657776"}, {"nodeId": "140162539260272"}]}, "140162530657776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568218752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140162509563584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568219200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568219648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140162568221440": {"type": "Function", "typeVars": [".-1.140162568221440"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568221440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509563920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140162568221440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221440", "variance": "INVARIANT"}, "140162509563920": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563808"}]}, {"nodeId": ".-1.140162568221440"}]}, "140162509563808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162568221888": {"type": "Function", "typeVars": [".-1.140162568221888"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568221888"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509564144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140162568221888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221888", "variance": "INVARIANT"}, "140162509564144": {"type": "Union", "items": [{"nodeId": ".-1.140162568221888"}, {"nodeId": "140162509564032"}]}, "140162509564032": {"type": "TypeAlias", "target": {"nodeId": "140162530658000"}}, "140162530658000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530661136"}]}, "140162530661136": {"type": "Tuple", "items": [{"nodeId": "140162530661248"}, {"nodeId": "140162530659904"}, {"nodeId": "140162539260272"}]}, "140162530661248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530659904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568222336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140162568222784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140162568223232": {"type": "Function", "typeVars": [".-1.140162568223232"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223232"}], "returnType": {"nodeId": "140162509564368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223232", "variance": "INVARIANT"}, "140162509564368": {"type": "Union", "items": [{"nodeId": ".-1.140162568223232"}, {"nodeId": "140162539260272"}]}, "140162568223680": {"type": "Function", "typeVars": [".-1.140162568223680"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223680"}], "returnType": {"nodeId": "140162509563696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223680", "variance": "INVARIANT"}, "140162509563696": {"type": "Union", "items": [{"nodeId": ".-1.140162568223680"}, {"nodeId": "140162539260272"}]}, "140162568224128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140162509556416": {"type": "Overloaded", "items": [{"nodeId": "140162568355904"}, {"nodeId": "140162568356352"}]}, "140162568355904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568356352": {"type": "Function", "typeVars": [".-1.140162568356352"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356352"}], "returnType": {"nodeId": "140162509564704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140162568356352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356352", "variance": "INVARIANT"}, "140162509564704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568356352"}]}, "140162568356800": {"type": "Function", "typeVars": [".-1.140162568356800"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356800"}], "returnType": {"nodeId": "140162509564816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568356800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356800", "variance": "INVARIANT"}, "140162509564816": {"type": "Union", "items": [{"nodeId": ".-1.140162568356800"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162568357248": {"type": "Function", "typeVars": [".-1.140162568357248"], "argTypes": [{"nodeId": ".-1.140162568357248"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568357248"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568357248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568357248", "variance": "INVARIANT"}, "140162568357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568358144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509565040"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509565040": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568358592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140162509565152": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568359040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565264"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140162509565264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568359936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534554112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162568360384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509565376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509565376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568360832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162509565712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509565712": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509565488"}]}, "140162509565488": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162539405376": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361728"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362176"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362624"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363072"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363520"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363968"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364416"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364864"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365312"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365760"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366208"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366656"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367104"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367552"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568368000"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140162534555120"}], "isAbstract": false}, "140162568361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509565824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162509565824": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568361728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509565936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140162509565936": {"type": "Union", "items": [{"nodeId": "140162534555120"}, {"nodeId": "N"}]}, "140162568362176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568362624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566160": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162539415120": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547312768"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313216"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313664"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547314112"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162547312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140162547313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140162547313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509218624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140162509218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162547314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539257920"}, {"nodeId": "140162509218400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140162509218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162568363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566608": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566832": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566944": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509567056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509567056": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567280"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567280": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567616"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567616": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567952"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567952": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509568176"}, {"nodeId": "140162509568288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509568176": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568288": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539405712": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539405376"}], "isAbstract": false}, "140162522190496": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162522191168": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190160"}], "isAbstract": false}, "140162522191504": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190496"}], "isAbstract": false}, "140162526133408": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563592640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593536"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593984"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595328"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596224"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596672"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563597120"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513942144"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162526133408"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "isAbstract": false}, "140162563592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140162526133408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133408", "variance": "INVARIANT"}, "140162563593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140162563593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596672": {"type": "Function", "typeVars": [".-1.140162563596672", ".-2.140162563596672"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563596672"}, {"nodeId": ".-2.140162563596672"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050448"}, {"nodeId": "140162514050560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563596672": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, ".-2.140162563596672": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, "140162514050448": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563596672"}]}, "140162514050560": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563596672"}]}, "140162563597120": {"type": "Function", "typeVars": [".-1.140162563597120", ".-2.140162563597120"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563597120"}, {"nodeId": ".-2.140162563597120"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050672"}, {"nodeId": "140162514051008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597120": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, ".-2.140162563597120": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, "140162514050672": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563597120"}]}, "140162514051008": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563597120"}]}, "140162513942144": {"type": "Overloaded", "items": [{"nodeId": "140162563597568"}, {"nodeId": "140162563598016"}]}, "140162563597568": {"type": "Function", "typeVars": [".-1.140162563597568"], "argTypes": [{"nodeId": ".-1.140162563597568"}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": ".-1.140162563597568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597568", "variance": "INVARIANT"}, "140162563598016": {"type": "Function", "typeVars": [".-1.140162563598016"], "argTypes": [{"nodeId": ".-1.140162563598016"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162514051344"}]}], "returnType": {"nodeId": ".-1.140162563598016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563598016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563598016", "variance": "INVARIANT"}, "140162514051344": {"type": "Tuple", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "140162521917008": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484890400"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484649344"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646208"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647552"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647104"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647328"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646656"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646880"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645760"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645984"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646432"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645536"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645312"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643296"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645088"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643968"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484644416"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162484890400": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051792": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051904": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052016": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052128": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052240"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052240": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052352"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052352": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052464": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052576"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052688"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052688": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052800"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052912"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052912": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053024": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053136"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053136": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053248": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053360"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053360": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053472": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162526133744": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639712"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091136"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091584"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092032"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092480"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092928"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093376"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093824"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526133744"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162484639712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526133744": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133744", "variance": "INVARIANT"}, "140162484639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555092928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514053920"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514053920": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162555093376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555093824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162521917680": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479851776"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484600192"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599296"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599072"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598848"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598624"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598400"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598176"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597952"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597728"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597504"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597280"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479851776": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054256"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054256": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054368"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054480": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054592": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054704": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054816"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054816": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054928": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055040": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055152": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055264"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055264": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918016": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479853456"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484596608"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484595040"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484594368"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593920"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593472"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162479853456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484595040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056048"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056160"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056384"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521918352": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479856928"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484589888"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484587872"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479856928": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484589888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509067920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509067920": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484587872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509068032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509068032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918688": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555634944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635392"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635840"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140162521918688"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}]}, {"nodeId": "140162526603504", "args": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}]}], "isAbstract": false}, "140162555634944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521918688": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521918688", "variance": "INVARIANT"}, "140162555635392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162555635840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526603504": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551601344"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467402400"}}], "typeVars": [{"nodeId": ".1.140162526603504"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__enter__", "__exit__"]}, "140162551601344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}], "returnType": {"nodeId": ".1.140162526603504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526603504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603504", "variance": "COVARIANT"}, "140162467402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}, {"nodeId": "140162509776240"}, {"nodeId": "140162509776352"}, {"nodeId": "140162509776464"}], "returnType": {"nodeId": "140162509776576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509776240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776352": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509776464": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509776576": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162521919024": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782848"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162555782400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}, {"nodeId": "140162534543360"}, {"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140162526128032": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522325824"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522323920"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000496"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142176"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142288"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513469136"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530470688"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471136"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471584"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472032"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472480"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472928"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473376"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530474272"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526128032"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325824": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162521989744": {"type": "Union", "items": [{"nodeId": "140162521991984"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162521992096"}]}]}, "140162521991984": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521992096": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162522323920": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, ".1.140162526128032": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526128032", "variance": "INVARIANT"}, "140162522000496": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142176": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142288": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162513469136": {"type": "Overloaded", "items": [{"nodeId": "140162542939360"}, {"nodeId": "140162530463072"}, {"nodeId": "140162530463520"}, {"nodeId": "140162530463968"}, {"nodeId": "140162530464416"}, {"nodeId": "140162530464864"}]}, "140162542939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513768000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513768224"}, {"nodeId": "140162513768448"}, {"nodeId": "140162513768672"}, {"nodeId": "140162513768896"}, {"nodeId": "140162513769008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513769344"}, {"nodeId": "140162513769568"}, {"nodeId": "140162513769680"}, {"nodeId": "140162513769904"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513770016"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513770128"}, {"nodeId": "140162513770240"}, {"nodeId": "140162513770352"}, {"nodeId": "140162513770576"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513768000": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513768224": {"type": "Union", "items": [{"nodeId": "140162513768112"}, {"nodeId": "N"}]}, "140162513768112": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513768448": {"type": "Union", "items": [{"nodeId": "140162513768336"}, {"nodeId": "N"}]}, "140162513768336": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162526140832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}]}, "140162513768672": {"type": "Union", "items": [{"nodeId": "140162513768560"}, {"nodeId": "N"}]}, "140162513768560": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513768896": {"type": "Union", "items": [{"nodeId": "140162513768784"}, {"nodeId": "N"}]}, "140162513768784": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513769008": {"type": "Union", "items": [{"nodeId": "140162538809472"}, {"nodeId": "N"}]}, "140162538809472": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513769344": {"type": "Union", "items": [{"nodeId": "140162513769232"}, {"nodeId": "N"}]}, "140162513769232": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769568": {"type": "Union", "items": [{"nodeId": "140162513769456"}, {"nodeId": "N"}]}, "140162513769456": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162522000832": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162525830432"}, {"nodeId": "140162522000384"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162521995792"}]}]}, "140162522000384": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521995792": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769680": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513769904": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513770016": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513770128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513770240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770576": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513770464"}]}, {"nodeId": "N"}]}, "140162513770464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513770688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513770912"}, {"nodeId": "140162513771136"}, {"nodeId": "140162513771360"}, {"nodeId": "140162513771584"}, {"nodeId": "140162513771696"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513772032"}, {"nodeId": "140162513772256"}, {"nodeId": "140162513772368"}, {"nodeId": "140162513772592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513772704"}, {"nodeId": "140162513772816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513772928"}, {"nodeId": "140162513773040"}, {"nodeId": "140162513773264"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513770688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513770912": {"type": "Union", "items": [{"nodeId": "140162513770800"}, {"nodeId": "N"}]}, "140162513770800": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513771136": {"type": "Union", "items": [{"nodeId": "140162513771024"}, {"nodeId": "N"}]}, "140162513771024": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771360": {"type": "Union", "items": [{"nodeId": "140162513771248"}, {"nodeId": "N"}]}, "140162513771248": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771584": {"type": "Union", "items": [{"nodeId": "140162513771472"}, {"nodeId": "N"}]}, "140162513771472": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771696": {"type": "Union", "items": [{"nodeId": "140162538809920"}, {"nodeId": "N"}]}, "140162538809920": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513772032": {"type": "Union", "items": [{"nodeId": "140162513771920"}, {"nodeId": "N"}]}, "140162513771920": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513772256": {"type": "Union", "items": [{"nodeId": "140162513772144"}, {"nodeId": "N"}]}, "140162513772144": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513772368": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772592": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513772704": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513772928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773040": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773264": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513773152"}]}, {"nodeId": "N"}]}, "140162513773152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513773376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513773600"}, {"nodeId": "140162513773824"}, {"nodeId": "140162513774048"}, {"nodeId": "140162513774272"}, {"nodeId": "140162513774384"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513774720"}, {"nodeId": "140162513774944"}, {"nodeId": "0"}, {"nodeId": "140162513775280"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513775392"}, {"nodeId": "140162513775504"}, {"nodeId": "140162513775616"}, {"nodeId": "140162513775728"}, {"nodeId": "140162513775840"}, {"nodeId": "140162513776064"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513773376": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513773600": {"type": "Union", "items": [{"nodeId": "140162513773488"}, {"nodeId": "N"}]}, "140162513773488": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513773824": {"type": "Union", "items": [{"nodeId": "140162513773712"}, {"nodeId": "N"}]}, "140162513773712": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774048": {"type": "Union", "items": [{"nodeId": "140162513773936"}, {"nodeId": "N"}]}, "140162513773936": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774272": {"type": "Union", "items": [{"nodeId": "140162513774160"}, {"nodeId": "N"}]}, "140162513774160": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774384": {"type": "Union", "items": [{"nodeId": "140162538804992"}, {"nodeId": "N"}]}, "140162538804992": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513774720": {"type": "Union", "items": [{"nodeId": "140162513774608"}, {"nodeId": "N"}]}, "140162513774608": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513774944": {"type": "Union", "items": [{"nodeId": "140162513774832"}, {"nodeId": "N"}]}, "140162513774832": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513775280": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513775392": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513775504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775616": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513775840": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513776064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513775952"}]}, {"nodeId": "N"}]}, "140162513775952": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513776176"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513776400"}, {"nodeId": "140162513776624"}, {"nodeId": "140162513776848"}, {"nodeId": "140162513777072"}, {"nodeId": "140162513777184"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513777520"}, {"nodeId": "140162513777744"}, {"nodeId": "140162513777856"}, {"nodeId": "140162513778080"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "0"}, {"nodeId": "140162513778304"}, {"nodeId": "140162513778416"}, {"nodeId": "140162513778528"}, {"nodeId": "140162513778640"}, {"nodeId": "140162513778864"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513776176": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513776400": {"type": "Union", "items": [{"nodeId": "140162513776288"}, {"nodeId": "N"}]}, "140162513776288": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513776624": {"type": "Union", "items": [{"nodeId": "140162513776512"}, {"nodeId": "N"}]}, "140162513776512": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513776848": {"type": "Union", "items": [{"nodeId": "140162513776736"}, {"nodeId": "N"}]}, "140162513776736": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777072": {"type": "Union", "items": [{"nodeId": "140162513776960"}, {"nodeId": "N"}]}, "140162513776960": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777184": {"type": "Union", "items": [{"nodeId": "140162538799840"}, {"nodeId": "N"}]}, "140162538799840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513777520": {"type": "Union", "items": [{"nodeId": "140162513777408"}, {"nodeId": "N"}]}, "140162513777408": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513777744": {"type": "Union", "items": [{"nodeId": "140162513777632"}, {"nodeId": "N"}]}, "140162513777632": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513777856": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513778080": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513778304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778416": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778864": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513778752"}]}, {"nodeId": "N"}]}, "140162513778752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513778976"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513779200"}, {"nodeId": "140162513779424"}, {"nodeId": "140162513779648"}, {"nodeId": "140162513779872"}, {"nodeId": "140162513779984"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513780320"}, {"nodeId": "140162513780544"}, {"nodeId": "140162513797296"}, {"nodeId": "140162513797520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513797744"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140162513797856"}, {"nodeId": "140162513797968"}, {"nodeId": "140162513798192"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513778976": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513779200": {"type": "Union", "items": [{"nodeId": "140162513779088"}, {"nodeId": "N"}]}, "140162513779088": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513779424": {"type": "Union", "items": [{"nodeId": "140162513779312"}, {"nodeId": "N"}]}, "140162513779312": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779648": {"type": "Union", "items": [{"nodeId": "140162513779536"}, {"nodeId": "N"}]}, "140162513779536": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779872": {"type": "Union", "items": [{"nodeId": "140162513779760"}, {"nodeId": "N"}]}, "140162513779760": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779984": {"type": "Union", "items": [{"nodeId": "140162538804320"}, {"nodeId": "N"}]}, "140162538804320": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513780320": {"type": "Union", "items": [{"nodeId": "140162513780208"}, {"nodeId": "N"}]}, "140162513780208": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513780544": {"type": "Union", "items": [{"nodeId": "140162513780432"}, {"nodeId": "N"}]}, "140162513780432": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513797296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513797520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513797744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140162513797856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513797968": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513798192": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513798080"}]}, {"nodeId": "N"}]}, "140162513798080": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "A"}]}, {"nodeId": "140162513798416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513798640"}, {"nodeId": "140162513798864"}, {"nodeId": "140162513799088"}, {"nodeId": "140162513799312"}, {"nodeId": "140162513799424"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513799760"}, {"nodeId": "140162513799984"}, {"nodeId": "140162513800096"}, {"nodeId": "140162513800320"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513800432"}, {"nodeId": "140162513800544"}, {"nodeId": "140162513800656"}, {"nodeId": "140162513800768"}, {"nodeId": "140162513800880"}, {"nodeId": "140162513801104"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513798416": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513798640": {"type": "Union", "items": [{"nodeId": "140162513798528"}, {"nodeId": "N"}]}, "140162513798528": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513798864": {"type": "Union", "items": [{"nodeId": "140162513798752"}, {"nodeId": "N"}]}, "140162513798752": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799088": {"type": "Union", "items": [{"nodeId": "140162513798976"}, {"nodeId": "N"}]}, "140162513798976": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799312": {"type": "Union", "items": [{"nodeId": "140162513799200"}, {"nodeId": "N"}]}, "140162513799200": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799424": {"type": "Union", "items": [{"nodeId": "140162538811712"}, {"nodeId": "N"}]}, "140162538811712": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513799760": {"type": "Union", "items": [{"nodeId": "140162513799648"}, {"nodeId": "N"}]}, "140162513799648": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513799984": {"type": "Union", "items": [{"nodeId": "140162513799872"}, {"nodeId": "N"}]}, "140162513799872": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513800096": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513800432": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800544": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513800880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513801104": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513800992"}]}, {"nodeId": "N"}]}, "140162513800992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "140162513801216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513801216": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140162513801328": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162530471584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801440"}, {"nodeId": "140162513801552"}], "returnType": {"nodeId": "140162513801776"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140162513801440": {"type": "Union", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": "N"}]}, "140162513801552": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162513801776": {"type": "Tuple", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": ".1.140162526128032"}]}, "140162530472032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140162530472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530473376": {"type": "Function", "typeVars": [".-1.140162530473376"], "argTypes": [{"nodeId": ".-1.140162530473376"}], "returnType": {"nodeId": ".-1.140162530473376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530473376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530473376", "variance": "INVARIANT"}, "140162530473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801888"}, {"nodeId": "140162513802000"}, {"nodeId": "140162513802112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162513801888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513802000": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162513802112": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162555782848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}], "returnType": {"nodeId": "140162509179920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509179920": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162521919360": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480096976"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577984"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484576864"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577088"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484303712"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296992"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162480096976": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484577984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181488"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181488": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509180928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509180928": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484577088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181264": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484303712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181600"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181600": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484296992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181712": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162521919696": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480099216"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484803552"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804672"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804896"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805120"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805344"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480099216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183168": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183504"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183504": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183840"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183952"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183952": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509184064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509184064": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521920032": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480101008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555915712"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484806688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480101008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162555915712": {"type": "Function", "typeVars": [".-1.140162555915712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162555915712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140162555915712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162555915712", "variance": "INVARIANT"}, "140162484806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509187648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509187648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162521916672": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162534553776": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547737632"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738528"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738976"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471759872"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471760768"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471761664"}}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534553440"}], "isAbstract": false}, "140162547737632": {"type": "Function", "typeVars": [".-1.140162547737632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547737632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547737632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547737632", "variance": "INVARIANT"}, "140162547738080": {"type": "Function", "typeVars": [".-1.140162547738080"], "argTypes": [{"nodeId": ".-1.140162547738080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738080", "variance": "INVARIANT"}, "140162547738528": {"type": "Function", "typeVars": [".-1.140162547738528"], "argTypes": [{"nodeId": ".-1.140162547738528"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738528", "variance": "INVARIANT"}, "140162547738976": {"type": "Function", "typeVars": [".-1.140162547738976"], "argTypes": [{"nodeId": ".-1.140162547738976"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738976", "variance": "INVARIANT"}, "140162471759872": {"type": "Function", "typeVars": [".-1.140162471759872"], "argTypes": [{"nodeId": ".-1.140162471759872"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471759872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471759872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471759872", "variance": "INVARIANT"}, "140162471760768": {"type": "Function", "typeVars": [".-1.140162471760768"], "argTypes": [{"nodeId": ".-1.140162471760768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471760768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471760768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471760768", "variance": "INVARIANT"}, "140162471761664": {"type": "Function", "typeVars": [".-1.140162471761664"], "argTypes": [{"nodeId": ".-1.140162471761664"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471761664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471761664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471761664", "variance": "INVARIANT"}, "140162534553440": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530663264"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471622272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471623168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732704"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733600"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734048"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734496"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140162534552768"}], "isAbstract": false}, "140162530663264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471622272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162509559328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509559328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471623168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547732256": {"type": "Function", "typeVars": [".-1.140162547732256"], "argTypes": [{"nodeId": ".-1.140162547732256"}, {"nodeId": ".-1.140162547732256"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547732256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547732256", "variance": "INVARIANT"}, "140162547732704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547733152": {"type": "Function", "typeVars": [".-1.140162547733152"], "argTypes": [{"nodeId": ".-1.140162547733152"}, {"nodeId": ".-1.140162547733152"}], "returnType": {"nodeId": ".-1.140162547733152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733152", "variance": "INVARIANT"}, "140162547733600": {"type": "Function", "typeVars": [".-1.140162547733600"], "argTypes": [{"nodeId": ".-1.140162547733600"}, {"nodeId": ".-1.140162547733600"}], "returnType": {"nodeId": ".-1.140162547733600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733600", "variance": "INVARIANT"}, "140162547734048": {"type": "Function", "typeVars": [".-1.140162547734048"], "argTypes": [{"nodeId": ".-1.140162547734048"}, {"nodeId": ".-1.140162547734048"}], "returnType": {"nodeId": ".-1.140162547734048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547734048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734048", "variance": "INVARIANT"}, "140162547734496": {"type": "Function", "typeVars": [".-1.140162547734496"], "argTypes": [{"nodeId": ".-1.140162547734496"}], "returnType": {"nodeId": ".-1.140162547734496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547734496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734496", "variance": "INVARIANT"}, "140162534552768": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471617568"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471618240"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530661696"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618464"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530982624"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983072"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983520"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547728672"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162471617568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162471618240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530661696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162471618464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140162471618688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140162530982624": {"type": "Function", "typeVars": [".-1.140162530982624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162530982624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162530982624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530982624", "variance": "INVARIANT"}, "140162530983072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140162547728672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140162539416128": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539415792"}], "isAbstract": false}, "140162522186464": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946336"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946784"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947232"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947680"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522186464"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563945888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140162522186464": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140162539415792"}, "def": "140162522186464", "variance": "INVARIANT"}, "140162563946336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563946784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563947232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162563947680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162539416464": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563948128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564522272"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162563948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564522272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418480": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539419488": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419824": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303520"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": false}, "140162551303520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419824"}, {"nodeId": "140162509773776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162539420160": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303968"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115408"}]}], "isAbstract": false}, "140162551303968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539420160"}, {"nodeId": "140162509773888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522115408": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162539420496": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539420832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539421168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162526593424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526593760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597792": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598128": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598464": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598800": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599136": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599472": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522116304"}]}], "isAbstract": false}, "140162522116304": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526599808": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162526600144": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304416"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115632"}]}], "isAbstract": false}, "140162551304416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600144"}, {"nodeId": "140162509774000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509774000": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522115632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526600480": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304864"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162618234512"}]}], "isAbstract": false}, "140162551304864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600480"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162526600816": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140162526600816"}], "bases": [{"nodeId": "140162539417136"}, {"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162526600816"}]}], "isAbstract": false}, ".1.140162526600816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526600816", "variance": "INVARIANT"}, "140162526601152": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526601488": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162530231344"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416464"}], "isAbstract": false}, "140162530231344": {"type": "Union", "items": [{"nodeId": "140162530231008"}, {"nodeId": "140162530231232"}]}, "140162530231008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}]}, "140162530231232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}, {"nodeId": "140162539258592"}]}, "140162551305312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526601152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526601824": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306208"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306656"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162551305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140162551306208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551306656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526602160": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602496": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602832": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162526603168": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162522187136": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772880"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173024"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772992"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173472"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551308896"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774672"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551312032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522187136"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": true}, "140162509772880": {"type": "Overloaded", "items": [{"nodeId": "140162551307104"}]}, "140162551307104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162522187136": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522187136", "variance": "INVARIANT"}, "140162467173024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509772992": {"type": "Overloaded", "items": [{"nodeId": "140162551308000"}]}, "140162551308000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162467173472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162509774560": {"type": "Overloaded", "items": [{"nodeId": "140162551309344"}, {"nodeId": "140162551309792"}]}, "140162551309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509774672": {"type": "Overloaded", "items": [{"nodeId": "140162551310240"}, {"nodeId": "140162551310688"}]}, "140162551310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551312032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526131056": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335520"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335968"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read", "readline"]}, "140162564335520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564335968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526131728": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526132064": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132400": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132736": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162538808128"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162534567360"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564341344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551595296"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596192"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596640"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597088"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140162526496240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526496240": {"type": "TypeAlias", "target": {"nodeId": "140162526502176"}}, "140162526502176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162526499376"}, {"nodeId": "140162526500048"}, {"nodeId": "140162526500944"}, {"nodeId": "140162526502064"}]}, "140162526499376": {"type": "Tuple", "items": [{"nodeId": "140162538810368"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162538810368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500048": {"type": "Tuple", "items": [{"nodeId": "140162538805216"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140162538805216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500944": {"type": "Tuple", "items": [{"nodeId": "140162538807680"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526500832"}]}, "140162538807680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500832": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526502064": {"type": "Tuple", "items": [{"nodeId": "140162538806112"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526501728"}, {"nodeId": "140162526501952"}]}, "140162538806112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526501728": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526501952": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162534567360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526133072": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162538808576"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598432"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598880"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551599328"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551597536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162526131056"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514044064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140162514044064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162551598432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551598880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551599328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140162564341344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162514043168"}, {"nodeId": "140162618234512"}, {"nodeId": "140162514043280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140162514043168": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162514043280": {"type": "TypeAlias", "target": {"nodeId": "140162526146768"}}, "140162526146768": {"type": "Union", "items": [{"nodeId": "140162542943392"}, {"nodeId": "N"}]}, "140162542943392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551595296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162551596192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551596640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551597088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162526603840": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509225120"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467399936"}}], "typeVars": [{"nodeId": ".1.140162526603840"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140162509225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526603840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526603840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603840", "variance": "COVARIANT"}, "140162467399936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}, {"nodeId": "140162509776800"}, {"nodeId": "140162509776912"}, {"nodeId": "140162509777024"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509777136"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509776800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776912": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777024": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509777136": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604176": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603136"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551603136": {"type": "Function", "typeVars": [".-1.140162551603136"], "argTypes": [{"nodeId": "140162526604176"}, {"nodeId": ".-1.140162551603136"}], "returnType": {"nodeId": ".-1.140162551603136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551603136": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140162534561760"}, "def": "140162551603136", "variance": "INVARIANT"}, "140162534561760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526604512": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603584"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563328"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604032"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526604512"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162526604176"}], "isAbstract": false}, "140162551603584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509897792"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526604512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526604512", "variance": "COVARIANT"}, "140162509897792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526604512"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162534563328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551604032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509777696"}, {"nodeId": "140162509777808"}, {"nodeId": "140162509777920"}], "returnType": {"nodeId": "140162509778032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509777696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509777808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778032": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604848": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604928"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551604928": {"type": "Function", "typeVars": [".-1.140162551604928"], "argTypes": [{"nodeId": "140162526604848"}, {"nodeId": ".-1.140162551604928"}], "returnType": {"nodeId": ".-1.140162551604928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551604928": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140162534562880"}, "def": "140162551604928", "variance": "INVARIANT"}, "140162534562880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526605184": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605376"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530023168"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551602688"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526605184"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162526604848"}], "isAbstract": false}, "140162551605376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509898912"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526605184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526605184", "variance": "COVARIANT"}, "140162509898912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162526605184"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162530023168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551602688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509778480"}, {"nodeId": "140162509778592"}, {"nodeId": "140162509778704"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509778816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140162509778480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509778592": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509778704": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778816": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526605520": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551607616"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close"]}, "140162551607616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605520"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526605856": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608512"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526605856"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526605856"}]}], "isAbstract": false}, "140162551608064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": ".1.140162526605856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526605856": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140162526605520"}, "def": "140162526605856", "variance": "INVARIANT"}, "140162551608512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162526606192": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608960"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["aclose"]}, "140162551608960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606192"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526606528": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605824"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526606528"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526606528"}]}], "isAbstract": false}, "140162551609408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": ".1.140162526606528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526606528": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140162526606192"}, "def": "140162526606528", "variance": "INVARIANT"}, "140162551605824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140162526606864": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610752"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140162551610304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140162551610752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "140162509779152"}, {"nodeId": "140162509779264"}, {"nodeId": "140162509779376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779264": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779376": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607200": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551889984"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890432"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526607200"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526607200"}]}], "isAbstract": false}, "140162551889984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": ".1.140162526607200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140162526607200": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607200", "variance": "INVARIANT"}, "140162530657552": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162551890432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": "140162509779488"}, {"nodeId": "140162509779600"}, {"nodeId": "140162509779712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779488": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607536": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140162526607536"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607536"}]}], "isAbstract": false}, ".1.140162526607536": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607536", "variance": "INVARIANT"}, "140162526607872": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140162526607872"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607872"}]}], "isAbstract": false}, ".1.140162526607872": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607872", "variance": "INVARIANT"}, "140162526608208": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890880"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891328"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891776"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609856"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892672"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892224"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893568"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551890880": {"type": "Function", "typeVars": [".-1.140162551890880"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551890880"}]}], "returnType": {"nodeId": ".-1.140162551890880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551890880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551890880", "variance": "INVARIANT"}, "140162551891328": {"type": "Function", "typeVars": [".-1.140162551891328"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": ".-1.140162551891328"}], "returnType": {"nodeId": ".-1.140162551891328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551891328": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551891328", "variance": "INVARIANT"}, "140162522116864": {"type": "Union", "items": [{"nodeId": "140162526603504", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522116640"}]}, "140162522116640": {"type": "TypeAlias", "target": {"nodeId": "140162530467328"}}, "140162530467328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530230560"}, {"nodeId": "140162530231680"}, {"nodeId": "140162530230784"}], "returnType": {"nodeId": "140162530230336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530230560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162530231680": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162530230784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530230336": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551891776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509899808"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899808": {"type": "Function", "typeVars": [".-2.140162509899808"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899808"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899808", "variance": "INVARIANT"}, "140162509900032": {"type": "Function", "typeVars": [".-2.140162509900032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900032"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900032", "variance": "INVARIANT"}, "140162551609856": {"type": "Function", "typeVars": [".-1.140162551609856"], "argTypes": [{"nodeId": ".-1.140162551609856"}], "returnType": {"nodeId": ".-1.140162551609856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551609856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551609856", "variance": "INVARIANT"}, "140162551892672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551892224": {"type": "Function", "typeVars": [".-1.140162551892224"], "argTypes": [{"nodeId": ".-1.140162551892224"}], "returnType": {"nodeId": ".-1.140162551892224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162551892224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551892224", "variance": "INVARIANT"}, "140162551893568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509779040"}, {"nodeId": "140162509779936"}, {"nodeId": "140162509780048"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779936": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509780048": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608544": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894016"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893120"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894912"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895360"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895808"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896256"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894464"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896704"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897600"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897152"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551894016": {"type": "Function", "typeVars": [".-1.140162551894016"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551894016"}]}], "returnType": {"nodeId": ".-1.140162551894016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551894016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894016", "variance": "INVARIANT"}, "140162551893120": {"type": "Function", "typeVars": [".-1.140162551893120"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603840", "args": [{"nodeId": ".-1.140162551893120"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551893120"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551893120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551893120", "variance": "INVARIANT"}, "140162551894912": {"type": "Function", "typeVars": [".-1.140162551894912"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551894912"}], "returnType": {"nodeId": ".-1.140162551894912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551894912": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551894912", "variance": "INVARIANT"}, "140162551895360": {"type": "Function", "typeVars": [".-1.140162551895360"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551895360"}], "returnType": {"nodeId": ".-1.140162551895360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551895360": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140162522117872"}, "def": "140162551895360", "variance": "INVARIANT"}, "140162522117872": {"type": "Union", "items": [{"nodeId": "140162526603840", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522118208"}]}, "140162522118208": {"type": "TypeAlias", "target": {"nodeId": "140162530466432"}}, "140162530466432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162535238768"}, {"nodeId": "140162535242576"}, {"nodeId": "140162535241232"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162535240000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162535238768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162535242576": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162535241232": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162535240000": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551895808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509899584"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899584": {"type": "Function", "typeVars": [".-2.140162509899584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899584", "variance": "INVARIANT"}, "140162509900480": {"type": "Function", "typeVars": [".-2.140162509900480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900480"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900480", "variance": "INVARIANT"}, "140162551896256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509900256"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509900256": {"type": "Function", "typeVars": [".-2.140162509900256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900256", "variance": "INVARIANT"}, "140162509900928": {"type": "Function", "typeVars": [".-2.140162509900928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900928", "variance": "INVARIANT"}, "140162551894464": {"type": "Function", "typeVars": [".-1.140162551894464"], "argTypes": [{"nodeId": ".-1.140162551894464"}], "returnType": {"nodeId": ".-1.140162551894464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551894464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894464", "variance": "INVARIANT"}, "140162551896704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551897600": {"type": "Function", "typeVars": [".-1.140162551897600"], "argTypes": [{"nodeId": ".-1.140162551897600"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551897600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551897600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551897600", "variance": "INVARIANT"}, "140162551897152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509780608"}, {"nodeId": "140162509780944"}, {"nodeId": "140162509781056"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162618234512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509780608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509780944": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509781056": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608880": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526608880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509780496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899392"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899840"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551898944"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551900288"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526608880"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526608880"}]}], "isAbstract": false}, ".1.140162526608880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526608880", "variance": "INVARIANT"}, "140162509780496": {"type": "Overloaded", "items": [{"nodeId": "140162551898048"}, {"nodeId": "140162551898496"}]}, "140162551898048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140162551898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": ".1.140162526608880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140162551899392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": ".1.140162526608880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551899840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162551898944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526608880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551900288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140162526741552": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551904992"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905440"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905888"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "seek", "write"]}, "140162551904992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551905440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551905888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526741888": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909920"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910368"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "read", "seek"]}, "140162546909472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162546909920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162546910368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522187472": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526741552"}, {"nodeId": "140162526741888"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140162526742224": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910816"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546910816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742224"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043200": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162526742560": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742560"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043424": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526742896": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742896"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522189152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522189152": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741888"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050400"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050848"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051296"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051744"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052640"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053536"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053984"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547049952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140162547050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150688"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140162505150688": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150800"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140162505150800": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547052192": {"type": "Function", "typeVars": [".-1.140162547052192"], "argTypes": [{"nodeId": ".-1.140162547052192"}], "returnType": {"nodeId": ".-1.140162547052192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547052192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547052192", "variance": "INVARIANT"}, "140162547052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150912"}, {"nodeId": "140162505151024"}, {"nodeId": "140162505151136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547053088": {"type": "Function", "typeVars": [".-1.140162547053088"], "argTypes": [{"nodeId": ".-1.140162547053088"}], "returnType": {"nodeId": ".-1.140162547053088"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547053088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547053088", "variance": "INVARIANT"}, "140162547053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509903168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509903168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526744240": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546923808"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924256"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162546923808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148560": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162546924256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526743232": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743232"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522188816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522188816": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741552"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047712"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048160"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048608"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049056"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049504"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140162547047712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547048160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547048608": {"type": "Function", "typeVars": [".-1.140162547048608"], "argTypes": [{"nodeId": ".-1.140162547048608"}], "returnType": {"nodeId": ".-1.140162547048608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547048608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547048608", "variance": "INVARIANT"}, "140162547049056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162505150128"}, {"nodeId": "140162505150240"}, {"nodeId": "140162505150352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505150240": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505150352": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547049504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509902496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526743568": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743568"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162526744576": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924704"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463509056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040544"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040992"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041440"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162546924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463509056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162547040544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547040992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "140162505148896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505148896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162547041440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162505149008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149008": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162526743904": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546913056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546913056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743904"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162522187808": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463540256"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538688"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463536448"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538016"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531072"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546916192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162463540256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043648"}], "returnType": {"nodeId": "140162526742224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043648": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043760"}], "returnType": {"nodeId": "140162526742560"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043760": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463536448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043872"}], "returnType": {"nodeId": "140162526742896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043872": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043984"}], "returnType": {"nodeId": "140162526743232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043984": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044096"}], "returnType": {"nodeId": "140162526743568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044096": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044208"}], "returnType": {"nodeId": "140162526743904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044208": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162546916192": {"type": "Function", "typeVars": [".-1.140162546916192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162510043536"}, {"nodeId": "140162510044320"}, {"nodeId": "140162510044432"}, {"nodeId": "140162510044544"}, {"nodeId": "140162510044656"}, {"nodeId": "140162510044768"}], "returnType": {"nodeId": ".-1.140162546916192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140162510043536": {"type": "Union", "items": [{"nodeId": "140162526742896"}, {"nodeId": "N"}]}, "140162510044320": {"type": "Union", "items": [{"nodeId": "140162526743232"}, {"nodeId": "N"}]}, "140162510044432": {"type": "Union", "items": [{"nodeId": "140162526743568"}, {"nodeId": "N"}]}, "140162510044544": {"type": "Union", "items": [{"nodeId": "140162526743904"}, {"nodeId": "N"}]}, "140162510044656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510044768": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, ".-1.140162546916192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162546916192", "variance": "INVARIANT"}, "140162522188144": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547044128"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463507264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045024"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140162526744576"}], "isAbstract": true}, "140162547044128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463507264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162547045024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162522188480": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045472"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463506144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046368"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": true}, "140162547045472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463506144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505149680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505149904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162505149680": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505149904": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162547046368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505150016"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505150016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162522189488": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522187472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054880"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055328"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055776"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547056224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188448"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188896"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189344"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189792"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190688"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191136"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191584"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192032"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192480"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192928"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193376"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193824"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194272"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194720"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195168"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525828080"}], "isAbstract": false}, "140162547054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140162547054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151472"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505151472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151584"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505151584": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547188000": {"type": "Function", "typeVars": [".-1.140162547188000"], "argTypes": [{"nodeId": ".-1.140162547188000"}], "returnType": {"nodeId": ".-1.140162547188000"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547188000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547188000", "variance": "INVARIANT"}, "140162547188448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547188896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547189344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547189792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547190240": {"type": "Function", "typeVars": [".-1.140162547190240"], "argTypes": [{"nodeId": ".-1.140162547190240"}], "returnType": {"nodeId": ".-1.140162547190240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547190240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547190240", "variance": "INVARIANT"}, "140162547190688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151696"}, {"nodeId": "140162505151808"}, {"nodeId": "140162505151920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505151696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547191136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547191584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505152144"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547194272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547194720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547195168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745248": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196064"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196512"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196960"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197408"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197856"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198304"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198752"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199200"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199648"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200096"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200992"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201440"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201888"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202336"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202784"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203232"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203680"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547302688"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303136"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303584"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525827744"}], "isAbstract": false}, "140162547195616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140162547196064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547196512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152256"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547196960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152368"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505152368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547197408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547197856": {"type": "Function", "typeVars": [".-1.140162547197856"], "argTypes": [{"nodeId": ".-1.140162547197856"}], "returnType": {"nodeId": ".-1.140162547197856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547197856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547197856", "variance": "INVARIANT"}, "140162547198304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547198752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547199200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547199648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547200096": {"type": "Function", "typeVars": [".-1.140162547200096"], "argTypes": [{"nodeId": ".-1.140162547200096"}], "returnType": {"nodeId": ".-1.140162547200096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547200096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547200096", "variance": "INVARIANT"}, "140162547200544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152592"}, {"nodeId": "140162505152704"}, {"nodeId": "140162505152816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505152592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505152704": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505152816": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547200992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547201440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547201888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152928": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547302688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539406384": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539406720": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539407056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407392": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407728": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}, {"nodeId": "140162539273040"}], "isAbstract": false}, "140162539408064": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539408736": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409072": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409408": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409744": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410080": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410416": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410752": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411088": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411424": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411760": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412096": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412432": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412768": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539413104": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413440": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413776": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162547315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539413776"}, {"nodeId": "140162509767392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140162509767392": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539414112": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414448": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414784": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162534554448": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547370688"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371136"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371584"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372032"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372480"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162547370688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560672": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539406048"}]}, "140162539406048": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482272"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483168"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543484064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162543482272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568400"}, {"nodeId": "140162509568512"}, {"nodeId": "140162509568624"}, {"nodeId": "140162509568736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140162509568400": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568512": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568624": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568736": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543482720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568848"}, {"nodeId": "140162509568960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140162509568848": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}]}, "140162509568960": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543483168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509569072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140162509569072": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543483616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162543484064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547372480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162534554784": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534566688"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539415120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373376"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373824"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374272"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374720"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547375168"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162534566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162509560896"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509561008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509219520"}, {"nodeId": "140162539415120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140162509560896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509561008": {"type": "Union", "items": [{"nodeId": "140162509219296"}, {"nodeId": "N"}]}, "140162509219296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162509219520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547373376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509561232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509561232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547373824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509561456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509561456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547374272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547374720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547375168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526126688": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377184"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377632"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547378080"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526126688"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, ".1.140162526126688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526126688", "variance": "INVARIANT"}, "140162547377184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}, {"nodeId": "140162513468688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513468800"}, {"nodeId": "140162513468912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140162513468688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513468800": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162513468912": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162547377632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547378080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526127024": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526127360": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023392"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258928"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522322128"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000608"}}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127360"}, {"nodeId": "140162513767216"}, {"nodeId": "140162539258928"}, {"nodeId": "140162513767328"}, {"nodeId": "140162513767440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140162513767216": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522322128": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522000608": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526127696": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127696"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513767552"}, {"nodeId": "140162513767664"}, {"nodeId": "140162513767776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140162513767552": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162534552096": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971872"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "isAbstract": false}, "140162530971424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530971872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162534552432": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530973664"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471612864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975904"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976352"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976800"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471613088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530977696"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978144"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978592"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509355856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534552768"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "A"}, {"nodeId": "140162534552768"}]}}], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162530973664": {"type": "Function", "typeVars": [".-1.140162530973664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162534552096"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530973664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140162530973664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530973664", "variance": "INVARIANT"}, "140162471612864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534552096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140162530975456": {"type": "Function", "typeVars": [".-1.140162530975456"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975456": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975456", "variance": "INVARIANT"}, "140162530975904": {"type": "Function", "typeVars": [".-1.140162530975904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975904": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975904", "variance": "INVARIANT"}, "140162530976352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162530976800": {"type": "Function", "typeVars": [".-1.140162530976800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530976800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162530976800": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530976800", "variance": "INVARIANT"}, "140162471613088": {"type": "Function", "typeVars": [".-1.140162471613088"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162471613088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162471613088": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471613088", "variance": "INVARIANT"}, "140162530977696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530978144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530978592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509355856": {"type": "Overloaded", "items": [{"nodeId": "140162530979040"}, {"nodeId": "140162530979936"}]}, "140162530979040": {"type": "Function", "typeVars": [".-1.140162530979040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140162530979040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140162530979040": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530979040", "variance": "INVARIANT"}, "140162530979936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509558208"}, {"nodeId": "140162509558320"}, {"nodeId": "140162509558432"}, {"nodeId": "140162509558544"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140162509558208": {"type": "TypeAlias", "target": {"nodeId": "140162530661584"}}, "140162530661584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162530663376"}]}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}]}, "140162530663376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162509558320": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558432": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558544": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162534553104": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471620704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547729568"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534552768"}], "isAbstract": false}, "140162471620704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547729568": {"type": "Function", "typeVars": [".-1.140162547729568"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547729568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547729568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547729568", "variance": "INVARIANT"}, "140162522186128": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471621376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547730912"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162471621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547730912": {"type": "Function", "typeVars": [".-1.140162547730912"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162547730912"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162547730912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547730912", "variance": "INVARIANT"}, "140162526129712": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526143296"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526145760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245312"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526143296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526145760": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534245312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513805696"}, {"nodeId": "140162513805360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140162513805696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513805360": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526130048": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245760"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162534245760": {"type": "Function", "typeVars": [".-1.140162534245760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162534245760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140162534245760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162534245760", "variance": "INVARIANT"}, "140162526755328": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534248448"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534248448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526128368": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526128704": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526141056"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522321568"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488186720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832544"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832992"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833440"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833888"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526141056": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522321568": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488186720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542832544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162513802896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162513802896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542832992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140162526129040": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162522325712"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522266672"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526128704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542834336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835232"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837024"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837920"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838368"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325712": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162522323360": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162522322352"}]}, "140162522322352": {"type": "TypeAlias", "target": {"nodeId": "140162522322912"}}, "140162522322912": {"type": "Union", "items": [{"nodeId": "140162522324928"}, {"nodeId": "140162522325488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162526129040"}]}, {"nodeId": "140162522322688"}, {"nodeId": "140162522322800"}]}, "140162522324928": {"type": "TypeAlias", "target": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526142848"}]}}, "140162526142848": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162539258592"}]}, "140162522325488": {"type": "TypeAlias", "target": {"nodeId": "140162522001952"}}, "140162522001952": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162526129040"}]}]}, "140162522322688": {"type": "TypeAlias", "target": {"nodeId": "140162522001840"}}, "140162522001840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}, {"nodeId": "140162526129040"}]}, "140162522322800": {"type": "TypeAlias", "target": {"nodeId": "140162522327392"}}, "140162522327392": {"type": "Tuple", "items": [{"nodeId": "140162526141504"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}]}, "140162526141504": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522266672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162542834336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162526128704"}, {"nodeId": "140162513803120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140162513803120": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162513803008"}]}, {"nodeId": "N"}]}, "140162513803008": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542835232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140162542835680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542836128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803344": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162542836576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803680"}], "returnType": {"nodeId": "140162513803456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513803456": {"type": "Union", "items": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803232"}]}, "140162513803232": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803792"}, {"nodeId": "140162513804128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162513803792": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513804128": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513803904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140162513803904": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140162513803568": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542838368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162513804576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162542833440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140162542833888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140162526129376": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522262864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839264"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839712"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840160"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840608"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488182016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542841952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842400"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842848"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522262864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542838816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162542839264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140162542839712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162513804016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804016": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542840160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140162542840608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140162488182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542841952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542842400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140162542842848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526129712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}}, "types": {}, "definitions": {"import_test": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140162522192512"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140162534547392"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921376"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921712"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922048"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534547728"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922384"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521922720"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521923056"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522185792"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140162525833456"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140162525833792"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140162525834128"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140162525834464"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140162539191456"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140162526740544"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162526740880"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162526741216"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525834800"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525835136"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525835472"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525835808"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140162539191792"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140162525836144"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140162618234176"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140162618234512"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140162618234848"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244256"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244592"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140162539257920"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140162539258256"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140162539258592"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140162539258928"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140162539259264"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140162539259600"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140162539259936"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140162539260272"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140162525830432"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140162525830768"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140162539260608"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140162539260944"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140162539261280"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140162539261616"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140162539261952"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140162525831104"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140162525831440"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140162525831776"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140162539262288"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140162539262624"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140162539262960"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521913648"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140162539263296"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140162525832112"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140162539263632"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140162525832448"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140162521913984"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140162539263968"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140162539264304"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140162539264640"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140162525832784"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140162539264976"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140162539265312"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140162521914320"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140162525833120"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140162539265648"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140162539265984"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266320"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140162539266656"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266992"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140162539267328"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539267664"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140162539268000"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140162539268336"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140162539268672"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140162539269008"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140162539269344"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140162539269680"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140162539270016"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539270352"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539270688"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140162539271024"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140162539271360"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140162539271696"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539272032"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140162539272368"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140162539272704"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140162539273040"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140162539273376"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140162539273712"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140162539176000"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140162539176336"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539176672"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140162539177008"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140162539177344"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140162539177680"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140162539178016"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162539178352"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140162539178688"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140162539179024"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179360"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179696"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140162539180032"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140162539180368"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539180704"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140162539181040"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181376"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181712"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140162539182048"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539182384"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140162539182720"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140162539183056"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140162539183392"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140162539183728"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140162539184064"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184400"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184736"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539185072"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140162539185408"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140162539185744"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186080"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186416"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186752"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187088"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187424"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187760"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188096"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188432"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188768"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189104"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189440"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140162534548064"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534548736"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549072"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549408"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549744"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550080"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550416"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534550752"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140162534551088"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140162534551424"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140162534551760"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162534544704"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140162534545376"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140162534545712"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140162534546048"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140162522192176"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140162534546384"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140162534546720"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521920368"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521921040"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140162534547056"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162526125680"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140162521914656"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140162521914992"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915328"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140162526126016"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915664"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140162521916000"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140162526126352"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140162521916336"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140162525838832"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526117952"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140162526118288"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140162526118624"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140162526118960"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140162526119296"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140162526119632"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526119968"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526120304"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140162526120640"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526120976"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140162526121312"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526121648"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526121984"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140162526122320"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122656"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122992"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140162526123328"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140162526123664"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124000"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124336"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140162526124672"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140162526125008"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140162526125344"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140162526745920"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140162526746256"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140162526746592"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140162526746928"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140162526747264"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140162526747600"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140162526747936"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140162526748272"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748608"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748944"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749280"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749616"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526749952"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526750288"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140162526750624"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140162526750960"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526751296"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140162526751632"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140162526751968"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752304"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752640"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140162526752976"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140162526753312"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140162526753648"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526753984"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526754320"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140162526754656"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140162526754992"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162618235184"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162618235520"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140162618235856"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140162618236192"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162618236528"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140162618236864"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140162618237200"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140162525823040"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140162525823376"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140162525823712"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140162525824048"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140162525824384"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525824720"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140162618237536"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140162618237872"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140162525825056"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140162525825392"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140162618238208"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140162618238544"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140162618238880"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140162618239216"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140162618239552"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140162618239888"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162525825728"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140162618240224"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140162618240560"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162618240896"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140162618241232"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140162618241568"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140162618241904"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140162618242240"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242576"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242912"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140162525826064"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162525826400"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140162525826736"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162525827072"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243248"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243584"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140162525827408"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140162525827744"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140162525828080"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140162525828416"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525828752"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525829088"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140162618243920"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525829424"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525829760"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525830096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162525836480"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525836816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525837152"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525837488"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162525837824"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525838496"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140162526755664"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140162526756000"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140162526756336"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140162521710656"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162521710992"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140162521711328"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140162521711664"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140162521712000"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140162521712336"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521712672"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713008"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713344"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140162521713680"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140162521714016"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140162521714352"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521714688"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521715024"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140162521715360"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140162521715696"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140162521716032"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140162521716368"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140162521716704"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140162521717040"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140162521717376"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140162521717712"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140162521718048"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140162521718384"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521718720"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140162521719056"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140162521719392"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140162521719728"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140162521720064"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140162521720400"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140162521720736"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140162521721072"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721408"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721744"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140162521722080"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140162521722416"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140162521722752"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140162521723088"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140162521723424"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140162521723760"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724096"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724432"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140162521724768"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140162521725104"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140162521725440"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521725776"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140162521726112"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140162521726448"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140162521825344"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140162521825680"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140162521826016"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140162521826352"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140162521826688"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140162521827024"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140162521827360"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140162521827696"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140162521828032"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140162521828368"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140162521828704"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140162521829040"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140162521829376"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140162521829712"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140162521830048"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140162521830384"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140162521830720"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140162521831056"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140162521831392"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140162521831728"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140162521832064"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140162521832400"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140162521832736"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140162521833072"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140162521833408"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140162521833744"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140162521834080"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140162521834416"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140162521834752"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140162521835088"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140162521835424"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140162521835760"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140162521836096"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140162521836432"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140162521836768"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140162521837104"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140162521837440"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140162521837776"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140162521838112"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140162521838448"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140162521838784"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140162521839120"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140162521839456"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140162521839792"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140162521840128"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140162521840464"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140162521840800"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140162521841136"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140162521907264"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907600"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907936"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140162521908272"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140162521908608"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140162521908944"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140162521909280"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140162521909616"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140162521909952"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140162521910288"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140162521910624"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140162521910960"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140162521911296"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140162521911632"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140162521911968"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140162521912304"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140162521912640"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140162521912976"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140162521913312"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140162534539664"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540000"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540336"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540672"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541008"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541344"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140162534541680"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140162534542016"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140162534542352"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140162534542688"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534543024"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140162534543360"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140162534543696"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522191840"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539189776"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190112"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190448"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140162539190784"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140162539191120"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140162534544368"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140162539405376"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140162539405712"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140162522189824"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190160"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190496"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140162522190832"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191168"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191504"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140162526133408"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917008"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521917344"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140162526133744"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917680"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140162521918016"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140162521918352"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140162521918688"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140162521919024"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919360"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919696"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140162521920032"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140162526130384"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140162526130720"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140162521916672"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140162526745584"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539415792"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539416128"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522186464"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539416464"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140162539416800"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140162539417136"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140162539417472"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539417808"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539418144"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140162539418480"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140162539418816"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140162522186800"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140162539419152"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140162539419488"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140162539419824"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140162539420160"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140162539420496"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140162539420832"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140162539421168"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140162526593088"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140162526593424"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140162526593760"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140162526594096"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140162526594432"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140162526594768"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140162526595104"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140162526595440"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140162526595776"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140162526596112"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140162526596448"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140162526596784"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140162526597120"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140162526597456"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140162526597792"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140162526598128"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140162526598464"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140162526598800"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140162526599136"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140162526599472"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140162526599808"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140162526600144"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140162526600480"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140162526600816"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140162526601152"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140162526601488"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140162526601824"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140162526602160"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140162526602496"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526602832"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526603168"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140162522187136"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140162534539328"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140162526131056"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140162526131392"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140162526131728"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132064"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132400"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140162526132736"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140162526133072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603504"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603840"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604176"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526604512"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604848"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526605184"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140162526605520"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140162526605856"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140162526606192"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140162526606528"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140162526606864"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140162526607200"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140162526607536"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140162526607872"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608208"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608544"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140162526608880"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741552"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741888"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140162522187472"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742224"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742560"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162526742896"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162526743232"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743568"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743904"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140162522187808"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140162526744240"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744576"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744912"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188144"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188480"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522188816"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162522189152"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522189488"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526745248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140162539415456"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140162539415120"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140162539406384"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539406720"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539407056"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140162539407392"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140162539407728"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140162539408064"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408400"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408736"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409072"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409408"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409744"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410080"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410416"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410752"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411088"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411424"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411760"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412096"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412432"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412768"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413104"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140162539413440"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413776"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414112"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414448"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414784"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140162534554448"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140162534554784"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140162526126688"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127024"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140162526127360"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127696"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140162526128032"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140162534552096"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140162534552432"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140162534552768"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140162534553104"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140162522186128"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140162534553440"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140162534553776"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140162526129712"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140162526130048"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140162526755328"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140162539406048"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140162526128368"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140162526128704"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140162526129040"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140162526129376"}}}}, "names": {"import_test": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "im", "kind": "Module", "fullname": "importlib.machinery"}, {"name": "c", "kind": "Module", "fullname": "collections"}, {"name": "deque", "kind": "ImportedType", "fullname": "collections.deque"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "A", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}]}} \ No newline at end of file diff --git a/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json b/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json deleted file mode 100644 index e7d009b631..0000000000 --- a/usvm-python/utbot-python-types/src/test/resources/subtypes_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140042577367376": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105712"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712020832"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021280"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021728"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022176"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022624"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139360"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139808"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140256"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141600"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142048"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142496"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142944"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143392"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143840"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144288"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144736"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145184"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145632"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146080"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146528"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146976"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147424"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147872"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148320"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148768"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150112"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150560"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151008"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151456"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151904"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152352"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152800"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153248"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153696"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712252704"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253152"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253600"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254048"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254496"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254944"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105824"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256288"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256736"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257184"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257632"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258080"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259424"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259872"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261216"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261664"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262112"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262560"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042552105712": {"type": "Overloaded", "items": [{"nodeId": "140042712019936"}, {"nodeId": "140042552084512"}]}, "140042712019936": {"type": "Function", "typeVars": [".-1.140042712019936"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042712019936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140042782775936": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418560"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556832816"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511004416"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719782816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783264"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783712"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784160"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784608"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785056"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785504"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785952"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786400"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787296"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787744"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788640"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674208"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674656"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140042569418560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140042577369056": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707886688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887136"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887584"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888032"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888480"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559648"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559984"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552560768"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707891616"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892064"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892512"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892960"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893408"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893856"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009248"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708010144"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561104"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "isAbstract": false}, "140042552559424": {"type": "Overloaded", "items": [{"nodeId": "140042707883552"}, {"nodeId": "140042707884000"}, {"nodeId": "140042707884448"}, {"nodeId": "140042707884896"}, {"nodeId": "140042707885344"}, {"nodeId": "140042707885792"}, {"nodeId": "140042707886240"}]}, "140042707883552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577369056": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, ".2.140042577369056": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, "140042707884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042707884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568807952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710112"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "keys"]}, "140042749710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568807952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "INVARIANT"}, ".2.140042568807952": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "COVARIANT"}, "140042782780640": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548302048"}}], "typeVars": [{"nodeId": ".1.140042782780640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042548302048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780640"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782780640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780640", "variance": "COVARIANT"}, "140042782780976": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548304960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753674592"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042782780976"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780976"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140042548304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": ".1.140042782780976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780976", "variance": "COVARIANT"}, "140042753674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140042749710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}, {"nodeId": ".1.140042568807952"}], "returnType": {"nodeId": ".2.140042568807952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042707885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552560208": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042707885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560432"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042552560432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, "140042707886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577368720": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552393536"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755168"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755616"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756064"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756512"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756960"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757408"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757856"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707758304"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552557632"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707759648"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707760096"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558864"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558976"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707762336"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559200"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707878624"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879520"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879968"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880416"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880864"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882208"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707883104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368720"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577368720"}]}], "isAbstract": false}, "140042552393536": {"type": "Overloaded", "items": [{"nodeId": "140042707754272"}, {"nodeId": "140042707754720"}]}, "140042707754272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577368720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368720", "variance": "INVARIANT"}, "140042707754720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707755616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042578051136": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547893344"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042547893344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365696": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099552"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720053280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510994112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510995008"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993888"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720056416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720057760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510992768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720058656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552100672"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711793952"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794400"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794848"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795744"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796192"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796640"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797088"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797536"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797984"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798432"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798880"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799328"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799776"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800224"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800672"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801120"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801568"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803360"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803808"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804256"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804704"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805152"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805600"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806048"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806496"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806944"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099552": {"type": "Overloaded", "items": [{"nodeId": "140042556323904"}, {"nodeId": "140042556325024"}]}, "140042556323904": {"type": "Function", "typeVars": [".-1.140042556323904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101344"}], "returnType": {"nodeId": ".-1.140042556323904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552101344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042552101232"}, {"nodeId": "140042577725808"}, {"nodeId": "140042578051136"}, {"nodeId": "140042568807280"}]}, "140042552101232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569012208": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042569012096"}]}, "140042577732864": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106944"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264352"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264800"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265696"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266144"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266592"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267488"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267936"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157280"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157728"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158176"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158624"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159072"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159520"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159968"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160416"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160864"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161312"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161760"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162208"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162656"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163104"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163552"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164000"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164448"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164896"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165344"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165792"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166240"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166688"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167136"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167584"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168032"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168480"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168928"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169376"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169824"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170272"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170720"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707171168"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506026592"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506158592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552110416"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240544"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240992"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241440"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241888"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242336"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242784"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243680"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244128"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244576"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707245024"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577730848"}], "isAbstract": false}, "140042552106944": {"type": "Overloaded", "items": [{"nodeId": "140042552084960"}, {"nodeId": "140042712263456"}, {"nodeId": "140042712263904"}]}, "140042552084960": {"type": "Function", "typeVars": [".-1.140042552084960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552111648"}], "returnType": {"nodeId": ".-1.140042552084960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042552111648": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042577726816"}, {"nodeId": "140042552111536"}]}, "140042577726816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548193408"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__bytes__"]}, "140042548193408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111536": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084960", "variance": "INVARIANT"}, "140042712263456": {"type": "Function", "typeVars": [".-1.140042712263456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042712263456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140042712263456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263456", "variance": "INVARIANT"}, "140042712263904": {"type": "Function", "typeVars": [".-1.140042712263904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042712263904"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712263904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263904", "variance": "INVARIANT"}, "140042712264352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552111872"}, {"nodeId": "140042552111984"}, {"nodeId": "140042552112096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552111872": {"type": "Union", "items": [{"nodeId": "140042552111760"}, {"nodeId": "140042578051136"}]}, "140042552111760": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552111984": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112096": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712265696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712266144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112432"}, {"nodeId": "140042552112544"}, {"nodeId": "140042552112656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112432": {"type": "Union", "items": [{"nodeId": "140042552112208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552112320"}]}]}, "140042552112208": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577368384": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707647200"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392080"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747104"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748896"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392752"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750240"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751136"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707752032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368384"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042577368384"}]}], "isAbstract": false}, "140042707646304": {"type": "Function", "typeVars": [".-1.140042707646304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": ".-1.140042707646304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140042577368384": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368384", "variance": "COVARIANT"}, ".-1.140042707646304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707646304", "variance": "INVARIANT"}, "140042707646752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707647200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782776944": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707637344"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390624"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390736"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391520"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391632"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391744"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391856"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707643168"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042707637344": {"type": "Function", "typeVars": [".-1.140042707637344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042707637344"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140042707637344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707637344", "variance": "INVARIANT"}, "140042552390624": {"type": "Overloaded", "items": [{"nodeId": "140042707637792"}, {"nodeId": "140042707638240"}]}, "140042707637792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707638240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552390736": {"type": "Overloaded", "items": [{"nodeId": "140042707638688"}, {"nodeId": "140042707639136"}]}, "140042707638688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707639136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391520": {"type": "Overloaded", "items": [{"nodeId": "140042707639584"}, {"nodeId": "140042707640032"}]}, "140042707639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391632": {"type": "Overloaded", "items": [{"nodeId": "140042707640480"}, {"nodeId": "140042707640928"}]}, "140042707640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391744": {"type": "Overloaded", "items": [{"nodeId": "140042707641376"}, {"nodeId": "140042707641824"}]}, "140042707641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707641824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391856": {"type": "Overloaded", "items": [{"nodeId": "140042707642272"}, {"nodeId": "140042707642720"}]}, "140042707642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042552392304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552392304": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042552392080": {"type": "Overloaded", "items": [{"nodeId": "140042707647648"}, {"nodeId": "140042707648096"}]}, "140042707647648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707648096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577368048": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506352928"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437120"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391968"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707645856"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506352928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552391968": {"type": "Overloaded", "items": [{"nodeId": "140042707644960"}, {"nodeId": "140042707645408"}]}, "140042707644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707645408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707645856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042552393424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552393424": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042707747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707747552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552392752": {"type": "Overloaded", "items": [{"nodeId": "140042707749344"}, {"nodeId": "140042707749792"}]}, "140042707749344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707749792": {"type": "Function", "typeVars": [".-1.140042707749792"], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".-1.140042707749792"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042552557744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707749792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707749792", "variance": "INVARIANT"}, "140042552557744": {"type": "Union", "items": [{"nodeId": ".1.140042577368384"}, {"nodeId": ".-1.140042707749792"}]}, "140042707750240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707750688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707751584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707752032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578059872": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305248"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305696"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716216928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716332320"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716333664"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544305248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365024": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999264"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998816"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998592"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998368"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998144"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997920"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997472"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556833264"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042551965648"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749685856"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556324128"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749686752"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687200"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687648"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510997024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688992"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042510999264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053824": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872416"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872864"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645088"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646432"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646880"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647328"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648224"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "isAbstract": false}, "140042715871968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042578053824": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "INVARIANT"}, ".2.140042578053824": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "COVARIANT"}, "140042715872416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": ".1.140042578053824"}], "returnType": {"nodeId": ".2.140042578053824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715872864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729168": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110880"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111776"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112672"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754113120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261280"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577729168"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577729168"}]}], "isAbstract": false}, "140042754108640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577729168"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729168": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729168", "variance": "COVARIANT"}, "140042577363344": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548587520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754264864"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265312"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265760"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754266208"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577363344"}]}], "isAbstract": true}, "140042548587520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": ".2.140042577363344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577363344": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "INVARIANT"}, ".2.140042577363344": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "COVARIANT"}, "140042564815440": {"type": "Overloaded", "items": [{"nodeId": "140042754263968"}, {"nodeId": "140042754264416"}]}, "140042754263968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": "140042564820592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564820592": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": "N"}]}, "140042754264416": {"type": "Function", "typeVars": [".-1.140042754264416"], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}, {"nodeId": "140042564820704"}], "returnType": {"nodeId": "140042564820816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564820704": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, ".-1.140042754264416": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754264416", "variance": "INVARIANT"}, "140042564820816": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, "140042754264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728832": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042577829264"}]}], "isAbstract": false}, "140042754103264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577728832": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, ".2.140042577728832": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, "140042754103712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564817344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577733536": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012384"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012832"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013280"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013728"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014176"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014624"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015072"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015520"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015968"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016416"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016864"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017312"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017760"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018208"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019104"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020448"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020896"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021344"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021792"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022688"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023136"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023584"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024032"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024480"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024928"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173088"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173536"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733536"}], "bases": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577733536"}]}], "isAbstract": false}, "140042552561552": {"type": "Overloaded", "items": [{"nodeId": "140042708011488"}, {"nodeId": "140042708011936"}]}, "140042708011488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577733536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733536", "variance": "INVARIANT"}, "140042708011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708013280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708013728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708014176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708014624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708015968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708018208": {"type": "Function", "typeVars": [".-1.140042708018208"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708018208"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563680"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708018208": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708018208", "variance": "INVARIANT"}, "140042552563680": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708018208"}]}, "140042708018656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708019104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708019552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708020000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708020448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782785008": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548529856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896992"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898784"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899232"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753900128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140042782785008"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782785008"}]}], "isAbstract": true}, "140042548529856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782785008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782785008", "variance": "COVARIANT"}, "140042753896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899680": {"type": "Function", "typeVars": [".-1.140042753899680"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042753899680"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753899680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753899680", "variance": "INVARIANT"}, "140042564816224": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042753899680"}]}, "140042753900128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754097440": {"type": "Function", "typeVars": [".-1.140042754097440"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042754097440"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754097440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754097440", "variance": "INVARIANT"}, "140042564816448": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042754097440"}]}, "140042754097888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042782784000": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548376320"}}], "typeVars": [{"nodeId": ".1.140042782784000"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784000"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782784000"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140042548376320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784000"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782784000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784000", "variance": "COVARIANT"}, "140042782783664": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373632"}}], "typeVars": [{"nodeId": ".1.140042782783664"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__"]}, "140042548373632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782783664"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782783664": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783664", "variance": "COVARIANT"}, "140042708020896": {"type": "Function", "typeVars": [".-1.140042708020896"], "argTypes": [{"nodeId": ".-1.140042708020896"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708020896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708020896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708020896", "variance": "INVARIANT"}, "140042708021344": {"type": "Function", "typeVars": [".-1.140042708021344"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708021344"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021344", "variance": "INVARIANT"}, "140042552563792": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708021344"}]}, "140042708021792": {"type": "Function", "typeVars": [".-1.140042708021792"], "argTypes": [{"nodeId": ".-1.140042708021792"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708021792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021792", "variance": "INVARIANT"}, "140042708022240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042552563904"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552563904": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": "N"}]}, "140042708022688": {"type": "Function", "typeVars": [".-1.140042708022688"], "argTypes": [{"nodeId": ".-1.140042708022688"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708022688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708022688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708022688", "variance": "INVARIANT"}, "140042708023136": {"type": "Function", "typeVars": [".-1.140042708023136"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708023136"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552564016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023136": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023136", "variance": "INVARIANT"}, "140042552564016": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708023136"}]}, "140042708023584": {"type": "Function", "typeVars": [".-1.140042708023584"], "argTypes": [{"nodeId": ".-1.140042708023584"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708023584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023584", "variance": "INVARIANT"}, "140042708024032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042577363008": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548531424"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548539040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140042577363008"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "isAbstract": true}, "140042548531424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140042577363008": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363008", "variance": "INVARIANT"}, "140042548539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754099232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754099680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".1.140042577363008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754100128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754100576": {"type": "Function", "typeVars": [".-1.140042754100576"], "argTypes": [{"nodeId": ".-1.140042754100576"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754100576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754100576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754100576", "variance": "INVARIANT"}, "140042754101024": {"type": "Function", "typeVars": [".-1.140042754101024"], "argTypes": [{"nodeId": ".-1.140042754101024"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101024", "variance": "INVARIANT"}, "140042754101472": {"type": "Function", "typeVars": [".-1.140042754101472"], "argTypes": [{"nodeId": ".-1.140042754101472"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754101472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101472", "variance": "INVARIANT"}, "140042754101920": {"type": "Function", "typeVars": [".-1.140042754101920"], "argTypes": [{"nodeId": ".-1.140042754101920"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101920", "variance": "INVARIANT"}, "140042564817344": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754104160": {"type": "Function", "typeVars": [".-1.140042754104160"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754104160"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754104160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754104160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754104160", "variance": "INVARIANT"}, "140042754104608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754105056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817568": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817792"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817792": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105952": {"type": "Function", "typeVars": [".-1.140042754105952"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754105952"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754105952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754105952", "variance": "INVARIANT"}, "140042564818128": {"type": "Union", "items": [{"nodeId": "140042564818016"}, {"nodeId": ".-1.140042754105952"}]}, "140042564818016": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106400": {"type": "Function", "typeVars": [".-1.140042754106400"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754106400"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754106400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754106400", "variance": "INVARIANT"}, "140042564818464": {"type": "Union", "items": [{"nodeId": "140042564818352"}, {"nodeId": ".-1.140042754106400"}]}, "140042564818352": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564818800": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754107296": {"type": "Function", "typeVars": [".-1.140042754107296"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107296"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754107296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107296", "variance": "INVARIANT"}, "140042754107744": {"type": "Function", "typeVars": [".-1.140042754107744"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107744"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107744", "variance": "INVARIANT"}, "140042564819136": {"type": "Union", "items": [{"nodeId": "140042564819024"}, {"nodeId": ".-1.140042754107744"}]}, "140042564819024": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754108192": {"type": "Function", "typeVars": [".-1.140042754108192"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754108192"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754108192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754108192", "variance": "INVARIANT"}, "140042564819472": {"type": "Union", "items": [{"nodeId": "140042564819360"}, {"nodeId": ".-1.140042754108192"}]}, "140042564819360": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042577728496": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140042577727488"}], "isAbstract": false}, "140042754102368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042754102816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577727488": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__len__"]}, "140042548300032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577829264": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754265312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754265760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729504": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754263072"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577729504"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577729504"}]}], "isAbstract": false}, "140042754261728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729504": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729504", "variance": "COVARIANT"}, "140042754262176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754262624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754266208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109536": {"type": "Function", "typeVars": [".-1.140042754109536"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754109536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754109536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754109536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754109536", "variance": "INVARIANT"}, "140042754109984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754110432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754110880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754111328": {"type": "Function", "typeVars": [".-1.140042754111328"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111328"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111328", "variance": "INVARIANT"}, "140042564819808": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111328"}]}, "140042754111776": {"type": "Function", "typeVars": [".-1.140042754111776"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111776"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111776", "variance": "INVARIANT"}, "140042564819920": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111776"}]}, "140042754112224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754112672": {"type": "Function", "typeVars": [".-1.140042754112672"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754112672"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754112672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754112672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754112672", "variance": "INVARIANT"}, "140042754113120": {"type": "Function", "typeVars": [".-1.140042754113120"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754113120"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754113120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754113120", "variance": "INVARIANT"}, "140042564820144": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754113120"}]}, "140042754261280": {"type": "Function", "typeVars": [".-1.140042754261280"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754261280"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820256"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754261280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754261280", "variance": "INVARIANT"}, "140042564820256": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754261280"}]}, "140042715645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042715647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715647776": {"type": "Function", "typeVars": [".-1.140042715647776", ".-2.140042715647776"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715647776"}, {"nodeId": ".-2.140042715647776"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828432"}, {"nodeId": "140042564828544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715647776": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, ".-2.140042715647776": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, "140042564828432": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715647776"}]}, "140042564828544": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715647776"}]}, "140042715648224": {"type": "Function", "typeVars": [".-1.140042715648224", ".-2.140042715648224"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715648224"}, {"nodeId": ".-2.140042715648224"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828656"}, {"nodeId": "140042564828768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715648224": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, ".-2.140042715648224": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, "140042564828656": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715648224"}]}, "140042564828768": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715648224"}]}, "140042510998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042552099104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552099104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042510997248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556833264": {"type": "Overloaded", "items": [{"nodeId": "140042749684064"}, {"nodeId": "140042749684512"}]}, "140042749684064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749684512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140042551965648": {"type": "Overloaded", "items": [{"nodeId": "140042749684960"}, {"nodeId": "140042556324800"}]}, "140042749684960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042556324800": {"type": "Function", "typeVars": [".-1.140042556324800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042556324800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140042556324800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324800", "variance": "INVARIANT"}, "140042749685856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042556324128": {"type": "Function", "typeVars": [".-1.140042556324128"], "argTypes": [{"nodeId": ".-1.140042556324128"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042556324128"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556324128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324128", "variance": "INVARIANT"}, "140042749686752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749687200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749687648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042510997024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140042749688544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578060544": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544308384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335008"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335456"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544308384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716335008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716335456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749688992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042544305696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544305920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716216928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140042716332320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716333664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782784336": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564813984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888480"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889376"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889824"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042782784336"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782784336"}]}], "isAbstract": true}, "140042564813984": {"type": "Overloaded", "items": [{"nodeId": "140042753887136"}, {"nodeId": "140042753887584"}]}, "140042753887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782784336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784336", "variance": "COVARIANT"}, "140042753887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140042753888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753888928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753889376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042753889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042782781312": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548307200"}}], "typeVars": [{"nodeId": ".1.140042782781312"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782781312"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140042548307200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782781312"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782781312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781312", "variance": "COVARIANT"}, "140042552112320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112544": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112656": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712267488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112880"}, {"nodeId": "140042552112992"}, {"nodeId": "140042552113104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112880": {"type": "Union", "items": [{"nodeId": "140042552112768"}, {"nodeId": "140042578051136"}]}, "140042552112768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113104": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712267936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113216"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552113216": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707157280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113440"}, {"nodeId": "140042552113552"}, {"nodeId": "140042552113664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552113440": {"type": "Union", "items": [{"nodeId": "140042552113328"}, {"nodeId": "140042578051136"}]}, "140042552113328": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552113552": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113664": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707157728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552113776"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552113776": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552113888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552113888": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042577733200": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552111424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247264"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247712"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248160"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248608"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249056"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707250400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251296"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251744"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707252192"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253088"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253984"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254432"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254880"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370272"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370720"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371168"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371616"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372064"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372512"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372960"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373408"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373856"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374304"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374752"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375200"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375648"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376096"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376544"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376992"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377440"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377888"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378336"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378784"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379232"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379680"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380128"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380576"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381024"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381472"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381920"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382368"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382816"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707383264"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506166656"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506165536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707384608"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707385056"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552380544"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552381328"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502240"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502688"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552095040"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707503584"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504032"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504480"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504928"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505824"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506272"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507168"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508064"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508512"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577730848"}], "isAbstract": false}, "140042552111424": {"type": "Overloaded", "items": [{"nodeId": "140042707245920"}, {"nodeId": "140042707246368"}, {"nodeId": "140042707246816"}]}, "140042707245920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707246368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552381552": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042552381440"}]}, "140042552381440": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707246816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140042707247264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707247712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707248160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042707248608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381776"}, {"nodeId": "140042552381888"}, {"nodeId": "140042552382000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552381776": {"type": "Union", "items": [{"nodeId": "140042552381664"}, {"nodeId": "140042578051136"}]}, "140042552381664": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552381888": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382000": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707249056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707249504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042707249952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382336"}, {"nodeId": "140042552382448"}, {"nodeId": "140042552382560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382336": {"type": "Union", "items": [{"nodeId": "140042552382112"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552382224"}]}]}, "140042552382112": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382448": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382560": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707250400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042707251296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707251744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382784"}, {"nodeId": "140042552382896"}, {"nodeId": "140042552383008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382784": {"type": "Union", "items": [{"nodeId": "140042552382672"}, {"nodeId": "140042578051136"}]}, "140042552382672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382896": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383008": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707252192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383120"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552383120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707253088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383344"}, {"nodeId": "140042552383456"}, {"nodeId": "140042552383568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552383344": {"type": "Union", "items": [{"nodeId": "140042552383232"}, {"nodeId": "140042578051136"}]}, "140042552383232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552383456": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383568": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707253536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707253984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552383680"}]}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552383680": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552383792"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552383792": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384016"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552384016": {"type": "Union", "items": [{"nodeId": "140042552383904"}, {"nodeId": "N"}]}, "140042552383904": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384128"}], "returnType": {"nodeId": "140042552384352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384128": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384352": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042707375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707375648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384464"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384576"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384576": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384688"}, {"nodeId": "140042552384800"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552384688": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384800": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385024"}, {"nodeId": "140042552385136"}, {"nodeId": "140042552385248"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385024": {"type": "Union", "items": [{"nodeId": "140042552384912"}, {"nodeId": "140042578051136"}]}, "140042552384912": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385136": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385248": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385472"}, {"nodeId": "140042552385584"}, {"nodeId": "140042552385696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385472": {"type": "Union", "items": [{"nodeId": "140042552385360"}, {"nodeId": "140042578051136"}]}, "140042552385360": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385584": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385696": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552385808"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552385808": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707378336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385920"}], "returnType": {"nodeId": "140042552386144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552385920": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552386144": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707378784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386368"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386368": {"type": "Union", "items": [{"nodeId": "140042552386256"}, {"nodeId": "N"}]}, "140042552386256": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386592"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552386592": {"type": "Union", "items": [{"nodeId": "140042552386480"}, {"nodeId": "N"}]}, "140042552386480": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386816"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386816": {"type": "Union", "items": [{"nodeId": "140042552386704"}, {"nodeId": "N"}]}, "140042552386704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707380128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707380576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387152"}, {"nodeId": "140042552387264"}, {"nodeId": "140042552387376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552387152": {"type": "Union", "items": [{"nodeId": "140042552386928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552387040"}]}]}, "140042552386928": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387040": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387264": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552387376": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707381024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387600"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552387600": {"type": "Union", "items": [{"nodeId": "140042552387488"}, {"nodeId": "N"}]}, "140042552387488": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707381472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707381920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707382368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387824"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552387824": {"type": "Union", "items": [{"nodeId": "140042552387712"}, {"nodeId": "N"}]}, "140042552387712": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707382816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707383264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506166656": {"type": "Function", "typeVars": [".-1.140042506166656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506166656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506166656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506166656", "variance": "INVARIANT"}, "140042506165536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552387936"}, {"nodeId": "140042552388048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552387936": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552388048": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707384608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707385056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552380544": {"type": "Overloaded", "items": [{"nodeId": "140042707385504"}, {"nodeId": "140042707385952"}]}, "140042707385504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707385952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552381328": {"type": "Overloaded", "items": [{"nodeId": "140042707501344"}, {"nodeId": "140042707501792"}]}, "140042707501344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707501792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552388384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552388384": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577732864"}]}, "140042707502240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388496": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042707502688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388608"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388608": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552095040": {"type": "Function", "typeVars": [".-1.140042552095040"], "argTypes": [{"nodeId": ".-1.140042552095040"}, {"nodeId": "140042552388720"}], "returnType": {"nodeId": ".-1.140042552095040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552095040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552095040", "variance": "INVARIANT"}, "140042552388720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707503584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504480": {"type": "Function", "typeVars": [".-1.140042707504480"], "argTypes": [{"nodeId": ".-1.140042707504480"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707504480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707504480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707504480", "variance": "INVARIANT"}, "140042707504928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707505376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389056"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389056": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552388944"}]}, "140042552388944": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707505824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389168"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389168": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389280"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389280": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389392"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389504": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782784672": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548527840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893408"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893856"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894304"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894752"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895200"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895648"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896096"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140042782784672"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784672"}]}], "isAbstract": true}, "140042548527840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140042782784672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784672", "variance": "INVARIANT"}, "140042564814432": {"type": "Overloaded", "items": [{"nodeId": "140042753890720"}, {"nodeId": "140042753891168"}]}, "140042753890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753891168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564814992": {"type": "Overloaded", "items": [{"nodeId": "140042753891616"}, {"nodeId": "140042753892064"}]}, "140042753891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042753892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042564815328": {"type": "Overloaded", "items": [{"nodeId": "140042753892512"}, {"nodeId": "140042753892960"}]}, "140042753892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140042753894752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753895200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140042753895648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753896096": {"type": "Function", "typeVars": [".-1.140042753896096"], "argTypes": [{"nodeId": ".-1.140042753896096"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": ".-1.140042753896096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753896096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753896096", "variance": "INVARIANT"}, "140042577730848": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": true}, "140042707162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114112"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552114112": {"type": "Union", "items": [{"nodeId": "140042552114000"}, {"nodeId": "N"}]}, "140042552114000": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114224"}], "returnType": {"nodeId": "140042552114448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114448": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114560"}, {"nodeId": "140042552114672"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552114560": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114784"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114784": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114896": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377408"}, {"nodeId": "140042552377520"}, {"nodeId": "140042552377632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377408": {"type": "Union", "items": [{"nodeId": "140042552115008"}, {"nodeId": "140042578051136"}]}, "140042552115008": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377520": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552377632": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377856"}, {"nodeId": "140042552377968"}, {"nodeId": "140042552378080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377856": {"type": "Union", "items": [{"nodeId": "140042552377744"}, {"nodeId": "140042578051136"}]}, "140042552377744": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377968": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552378080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552378192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552378192": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707166240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378304"}], "returnType": {"nodeId": "140042552378528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552378304": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552378528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707166688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378752"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552378752": {"type": "Union", "items": [{"nodeId": "140042552378640"}, {"nodeId": "N"}]}, "140042552378640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378976"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552378976": {"type": "Union", "items": [{"nodeId": "140042552378864"}, {"nodeId": "N"}]}, "140042552378864": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552379200": {"type": "Union", "items": [{"nodeId": "140042552379088"}, {"nodeId": "N"}]}, "140042552379088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707168032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707168480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379536"}, {"nodeId": "140042552379648"}, {"nodeId": "140042552379760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552379536": {"type": "Union", "items": [{"nodeId": "140042552379312"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552379424"}]}]}, "140042552379312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379424": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379648": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552379760": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707168928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379984"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552379984": {"type": "Union", "items": [{"nodeId": "140042552379872"}, {"nodeId": "N"}]}, "140042552379872": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707169376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707169824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707170272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380208"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552380208": {"type": "Union", "items": [{"nodeId": "140042552380096"}, {"nodeId": "N"}]}, "140042552380096": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707170720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707171168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506026592": {"type": "Function", "typeVars": [".-1.140042506026592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506026592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506026592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506026592", "variance": "INVARIANT"}, "140042506158592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552380320"}, {"nodeId": "140042552380432"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552380432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707172512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707172960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110416": {"type": "Overloaded", "items": [{"nodeId": "140042707239200"}, {"nodeId": "140042707239648"}]}, "140042707239200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707239648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380656"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380656": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707240544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380992"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552380880"}]}, "140042552380880": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707242336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707242784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707245024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042552381216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552381216": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}]}, "140042569012096": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042569013552": {"type": "Union", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "140042573739200"}, {"nodeId": "140042578066592"}]}, "140042577367712": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339040"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339488"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339712"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339936"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340160"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340384"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340608"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340832"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341056"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341280"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341504"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515232"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515680"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707517024"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632864"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388272"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707634208"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635104"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635552"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636000"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636448"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506339040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389616": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389728": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389840": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389952"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042506341056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707514336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042552390064": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707514784": {"type": "Function", "typeVars": [".-1.140042707514784"], "argTypes": [{"nodeId": ".-1.140042707514784"}], "returnType": {"nodeId": ".-1.140042707514784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042707514784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707514784", "variance": "INVARIANT"}, "140042707515232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390176"}, {"nodeId": "140042552390288"}, {"nodeId": "140042552390400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042552390176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552390288": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577373088": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367232"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577828032"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586362304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646816"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703647264"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586367232": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577828032": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042586362304": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058528": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202592"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833968"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230496"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230944"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544231168"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716202592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}, {"nodeId": "140042565115056"}, {"nodeId": "140042578058864"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140042565115056": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058864": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232288"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232960"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233184"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233408"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233632"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233856"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544234080"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834416"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716207520"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544232288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115168": {"type": "Union", "items": [{"nodeId": "140042578058864"}, {"nodeId": "N"}]}, "140042544232960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053488": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543913600"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914944"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914496"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915168"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915392"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915616"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915840"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916064"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916288"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916512"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916736"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916960"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917184"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917408"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917632"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917856"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543918528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715867040"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715869280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871072"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042543913600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543918528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715867040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564828208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564828208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042564827984"}]}, "140042564827984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042715869280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140042715871072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140042544233408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042544234080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577834416": {"type": "Union", "items": [{"nodeId": "140042586011936"}, {"nodeId": "N"}]}, "140042586011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042716207520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833968": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042544230496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544230944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544231168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703646368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042703646816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042552901104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552901104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042703647264": {"type": "Function", "typeVars": [".-1.140042703647264"], "argTypes": [{"nodeId": ".-1.140042703647264"}, {"nodeId": "140042552901216"}], "returnType": {"nodeId": ".-1.140042703647264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042703647264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703647264", "variance": "INVARIANT"}, "140042552901216": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042552390400": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042707515680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552390512"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140042552390512": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042552388160": {"type": "Overloaded", "items": [{"nodeId": "140042707516128"}, {"nodeId": "140042707516576"}]}, "140042707516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707516576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707517024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707632864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552388272": {"type": "Overloaded", "items": [{"nodeId": "140042707633312"}, {"nodeId": "140042707633760"}]}, "140042707633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552390848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552390848": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391408"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042552391408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042707635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391296"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552391296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042568801232": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519202048"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519203840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556820160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657196608"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197056"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197504"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197952"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198400"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198848"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199296"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199744"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200192"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657201536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593600"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594048"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594496"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594944"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661595392"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661596736"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556829232"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556830576"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661598976"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600320"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600768"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601216"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601664"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602112"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602560"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603008"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603456"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603904"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042568801232"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042568801232"}]}], "isAbstract": false}, "140042519202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801232": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801232", "variance": "INVARIANT"}, "140042577366032": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552084288"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711807840"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808288"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808736"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042505909216"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909440"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711892704"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893152"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893600"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894048"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894496"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894944"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895392"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895840"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552101120"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897632"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898528"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898976"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899424"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899872"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106048"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711901664"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902112"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902560"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711903008"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105040"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904352"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907040"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907488"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907936"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712006944"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007392"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007840"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552084288": {"type": "Function", "typeVars": [".-1.140042552084288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552104480"}], "returnType": {"nodeId": ".-1.140042552084288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552104480": {"type": "Union", "items": [{"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552104368"}]}, "140042577726144": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548190720"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__float__"]}, "140042548190720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726144"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552104368": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084288", "variance": "INVARIANT"}, "140042711807840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042711808288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711808736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909216": {"type": "Function", "typeVars": [".-1.140042505909216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042505909216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042505909216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042505909216", "variance": "INVARIANT"}, "140042505909440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711892704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711893152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711893600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552104928": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552101120": {"type": "Overloaded", "items": [{"nodeId": "140042711896288"}, {"nodeId": "140042711896736"}]}, "140042711896288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711896736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711897184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711897632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105376": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552106048": {"type": "Overloaded", "items": [{"nodeId": "140042711900320"}, {"nodeId": "140042711900768"}, {"nodeId": "140042711901216"}]}, "140042711900320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552105600"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552105600": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042569021168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042711900768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552108848"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552108848": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042569417552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042577366368": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552108064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506013600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506014496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712010976"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011872"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012320"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012768"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013216"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015008"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015904"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016352"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016800"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017248"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017696"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712018144"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552108064": {"type": "Overloaded", "items": [{"nodeId": "140042712008288"}, {"nodeId": "140042712008736"}]}, "140042712008288": {"type": "Function", "typeVars": [".-1.140042712008288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552105936"}, {"nodeId": "140042552106272"}], "returnType": {"nodeId": ".-1.140042712008288"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140042552105936": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, "140042577726480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548192064"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__complex__"]}, "140042548192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726480"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552106272": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, ".-1.140042712008288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008288", "variance": "INVARIANT"}, "140042712008736": {"type": "Function", "typeVars": [".-1.140042712008736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552106384"}], "returnType": {"nodeId": ".-1.140042712008736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140042552106384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577366368"}]}, ".-1.140042712008736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008736", "variance": "INVARIANT"}, "140042506013600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506014496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712010976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712011424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712011872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712013216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712013664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712015456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712018144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711901216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711901664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105488": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042711902112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711902560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711903008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105040": {"type": "Overloaded", "items": [{"nodeId": "140042711903456"}, {"nodeId": "140042711903904"}]}, "140042711903456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711903904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042711904352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711904800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712006944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829008": {"type": "TypeAlias", "target": {"nodeId": "140042568893936"}}, "140042568893936": {"type": "Union", "items": [{"nodeId": "140042586372272"}, {"nodeId": "140042573823472"}, {"nodeId": "140042568892480"}]}, "140042586372272": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042568893824": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042573823472": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042573823584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042568892480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519203840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820160": {"type": "Overloaded", "items": [{"nodeId": "140042556317632"}, {"nodeId": "140042657194816"}, {"nodeId": "140042657195264"}, {"nodeId": "140042657195712"}, {"nodeId": "140042657196160"}]}, "140042556317632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042556829120"}, {"nodeId": "140042556829344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829120": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042556829344": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}]}, "140042657194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042556830240"}, {"nodeId": "140042556820272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830240": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042556820272": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577366032"}]}]}, "140042657195264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042556830464"}, {"nodeId": "140042556830128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042556830128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042657195712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042657196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042556829568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829568": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042657196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657197056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042657197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556829792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556829792": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042657199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568809296", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042568809296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713248"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042568809296"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042749713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809296", "args": [{"nodeId": ".1.140042568809296"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809296", "variance": "COVARIANT"}, "140042657199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042657201536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042661593152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042661593600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042661594048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661594496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042569039936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714592"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042569039936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042749714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569039936"}]}, {"nodeId": ".1.140042569039936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042569039936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569039936", "variance": "CONTRAVARIANT"}, "140042661594944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661595392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661596736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556829232": {"type": "Overloaded", "items": [{"nodeId": "140042661597184"}, {"nodeId": "140042661597632"}]}, "140042661597184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661597632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830576": {"type": "Overloaded", "items": [{"nodeId": "140042661598080"}, {"nodeId": "140042661598528"}]}, "140042661598080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556830352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830352": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042661599424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661599872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600768": {"type": "Function", "typeVars": [".-1.140042661600768"], "argTypes": [{"nodeId": ".-1.140042661600768"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": ".-1.140042661600768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661600768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661600768", "variance": "INVARIANT"}, "140042661601216": {"type": "Function", "typeVars": [".-1.140042661601216"], "argTypes": [{"nodeId": ".-1.140042661601216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661601216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661601216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661601216", "variance": "INVARIANT"}, "140042661601664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661603904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042573219872": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653525920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526816"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653527712"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528160"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528608"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529056"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529504"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529952"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530400"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530848"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531296"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531744"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626144"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626592"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627488"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560781808"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661628832"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560929264"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631072"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631520"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577727488"}], "isAbstract": false}, "140042653525920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140042653526368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653526816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140042653527712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140042653528160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653528608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653529056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140042653529504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140042653529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140042653531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042653531744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140042661626144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661626592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661627040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029840"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042561029840": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661627488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029952"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140042561029952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560781808": {"type": "Overloaded", "items": [{"nodeId": "140042661627936"}, {"nodeId": "140042661628384"}]}, "140042661627936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561030176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561030176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042560929264": {"type": "Overloaded", "items": [{"nodeId": "140042661629280"}, {"nodeId": "140042661629728"}]}, "140042661629280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661629728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}, {"nodeId": "140042561030400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561030400": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661630176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661630624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042661631072": {"type": "Function", "typeVars": [".-1.140042661631072"], "argTypes": [{"nodeId": ".-1.140042661631072"}], "returnType": {"nodeId": ".-1.140042661631072"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042661631072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661631072", "variance": "INVARIANT"}, "140042661631520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573739200": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572994192"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523180640"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523179968"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523230944"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232064"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232512"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572994192": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042523180640": {"type": "Function", "typeVars": [".-1.140042523180640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523180640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252208": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, ".-1.140042523180640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523180640", "variance": "INVARIANT"}, "140042523179968": {"type": "Function", "typeVars": [".-1.140042523179968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252320"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523179968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042523179968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523179968", "variance": "INVARIANT"}, "140042523230944": {"type": "Function", "typeVars": [".-1.140042523230944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523230944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140042523230944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523230944", "variance": "INVARIANT"}, "140042523232064": {"type": "Function", "typeVars": [".-1.140042523232064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042556252544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042556252544": {"type": "Union", "items": [{"nodeId": ".-1.140042523232064"}, {"nodeId": "140042573741216"}]}, ".-1.140042523232064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232064", "variance": "INVARIANT"}, "140042573741216": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042523232512": {"type": "Function", "typeVars": [".-1.140042523232512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042523232512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140042573738192": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573739200"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661632416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633312"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633760"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042556251760"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556251872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556251984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140042556251760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556251872": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556251984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740544": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042573740208"}], "isAbstract": false}, "140042573740208": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764976"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573811152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249744"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661641376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, "140042569764976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577256608"}, {"nodeId": "N"}]}, "140042577256608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573811152": {"type": "TypeAlias", "target": {"nodeId": "140042577225408"}}, "140042577225408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573249920"}, {"nodeId": "140042573740208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042573739200"}]}], "returnType": {"nodeId": "140042573739200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573249920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556249744": {"type": "Overloaded", "items": [{"nodeId": "140042661639584"}, {"nodeId": "140042661640032"}, {"nodeId": "140042661640480"}, {"nodeId": "140042661640928"}]}, "140042661639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140042661640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556310016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140042556310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042661640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556253216"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140042556253216": {"type": "Tuple", "items": [{"nodeId": "140042556252880"}, {"nodeId": "140042573738192"}]}, "140042556252880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042556253328": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042573812272": {"type": "Union", "items": [{"nodeId": "140042573810144"}, {"nodeId": "140042573811936"}, {"nodeId": "140042573812160"}]}, "140042573810144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573811936": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042573812160": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042661640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253664"}]}, {"nodeId": "140042569632784", "args": [{"nodeId": "140042573908000"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140042556253664": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042569632784": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042569632784"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249856"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556253440"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656933344"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140042569632784"}], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042569632784": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569632784", "variance": "INVARIANT"}, "140042556249856": {"type": "Overloaded", "items": [{"nodeId": "140042656931552"}, {"nodeId": "140042656932000"}]}, "140042656931552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042656932000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": ".1.140042569632784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042556253440": {"type": "Overloaded", "items": [{"nodeId": "140042656932448"}, {"nodeId": "140042656932896"}]}, "140042656932448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656932896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656933344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573739872": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739536"}], "isAbstract": false}, "140042573739536": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042573908000": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573741552": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042573741552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937376"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042573741552"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042573741552": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573741552", "variance": "INVARIANT"}, "140042656937376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573741552"}]}, {"nodeId": ".1.140042573741552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042661641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042661633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042523232512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232512", "variance": "INVARIANT"}, "140042578066592": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325568"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640326016"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640325120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}, {"nodeId": "140042560523840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140042560523840": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042640325568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640326016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577725808": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548189376"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__int__"]}, "140042548189376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725808"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568807280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709216"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042749709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556323904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556323904", "variance": "INVARIANT"}, "140042556325024": {"type": "Function", "typeVars": [".-1.140042556325024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101456"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042556325024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140042552101456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, ".-1.140042556325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556325024", "variance": "INVARIANT"}, "140042720053280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552101792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552101792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042510994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720056416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720057760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552102352"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140042552102352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042510992768": {"type": "Function", "typeVars": [".-1.140042510992768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552102576"}, {"nodeId": "140042552102912"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042510992768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140042552102576": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577726816"}, {"nodeId": "140042552102464"}]}, "140042552102464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552102912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140042510992768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042510992768", "variance": "INVARIANT"}, "140042720058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720061344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552103136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042720061792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552103360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042552100672": {"type": "Overloaded", "items": [{"nodeId": "140042720064928"}, {"nodeId": "140042720065376"}, {"nodeId": "140042720065824"}, {"nodeId": "140042720066272"}, {"nodeId": "140042720066720"}, {"nodeId": "140042720067168"}]}, "140042720064928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720065376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042720065824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552104032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552104032": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042720066272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552106832"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106832": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042720066720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042720067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042711793952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042552106720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042711794400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711794848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711800224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711800672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711802016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552104256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042711802464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711802912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711805152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711806944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707756960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707757408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707757856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707758304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552557632": {"type": "Overloaded", "items": [{"nodeId": "140042707758752"}, {"nodeId": "140042707759200"}]}, "140042707758752": {"type": "Function", "typeVars": [".-1.140042707758752"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707758752"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042707758752": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042707758752", "variance": "INVARIANT"}, "140042569531088": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042568802576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140042568802576"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042749964832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802576", "args": [{"nodeId": ".1.140042568802576"}]}, {"nodeId": ".1.140042568802576"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802576", "variance": "CONTRAVARIANT"}, "140042568802912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042568802912"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042749965280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802912", "args": [{"nodeId": ".1.140042568802912"}]}, {"nodeId": ".1.140042568802912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802912", "variance": "CONTRAVARIANT"}, "140042707759200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552096832"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042552096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042552559312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552559312": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042568896736": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042707759648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707760096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552558864": {"type": "Overloaded", "items": [{"nodeId": "140042707760544"}, {"nodeId": "140042707760992"}]}, "140042707760544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707760992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552558976": {"type": "Overloaded", "items": [{"nodeId": "140042707761440"}, {"nodeId": "140042707761888"}]}, "140042707761440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707761888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707762336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552559536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552559536": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042552559200": {"type": "Overloaded", "items": [{"nodeId": "140042707762784"}, {"nodeId": "140042707878176"}]}, "140042707762784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707878176": {"type": "Function", "typeVars": [".-1.140042707878176"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707878176"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042552559760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878176": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878176", "variance": "INVARIANT"}, "140042552559760": {"type": "Union", "items": [{"nodeId": ".-1.140042707878176"}, {"nodeId": ".1.140042577368720"}]}, "140042707878624": {"type": "Function", "typeVars": [".-1.140042707878624"], "argTypes": [{"nodeId": ".-1.140042707878624"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": ".-1.140042707878624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878624", "variance": "INVARIANT"}, "140042707879072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879968": {"type": "Function", "typeVars": [".-1.140042707879968"], "argTypes": [{"nodeId": ".-1.140042707879968"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707879968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707879968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707879968", "variance": "INVARIANT"}, "140042707880416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707880864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707881312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707881760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707883104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042707886688": {"type": "Function", "typeVars": [".-1.140042707886688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042707886688"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140042707886688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707886688", "variance": "INVARIANT"}, "140042707887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577731856": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514614080"}}], "typeVars": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577731856"}]}], "isAbstract": false}, "140042514614080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577731856": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, ".2.140042577731856": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, "140042707888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732192": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514626176"}}], "typeVars": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577732192"}]}], "isAbstract": false}, "140042514626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, ".2.140042577732192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, "140042707888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732528": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514529664"}}], "typeVars": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "isAbstract": false}, "140042514529664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, ".2.140042577732528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, "140042552559648": {"type": "Overloaded", "items": [{"nodeId": "140042707888928"}, {"nodeId": "140042707889376"}]}, "140042707888928": {"type": "Function", "typeVars": [".-1.140042707888928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707888928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707888928"}, {"nodeId": "140042552560992"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140042707888928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707888928", "variance": "INVARIANT"}, "140042552560992": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042707889376": {"type": "Function", "typeVars": [".-1.140042707889376", ".-2.140042707889376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707889376"}]}, {"nodeId": ".-2.140042707889376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707889376"}, {"nodeId": ".-2.140042707889376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042707889376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, ".-2.140042707889376": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, "140042552559984": {"type": "Overloaded", "items": [{"nodeId": "140042707889824"}, {"nodeId": "140042707890272"}]}, "140042707889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "140042552561216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552561216": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": "N"}]}, "140042707890272": {"type": "Function", "typeVars": [".-1.140042707890272"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561328"}], "returnType": {"nodeId": "140042552561440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561328": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, ".-1.140042707890272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707890272", "variance": "INVARIANT"}, "140042552561440": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, "140042552560768": {"type": "Overloaded", "items": [{"nodeId": "140042707890720"}, {"nodeId": "140042707891168"}]}, "140042707890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707891168": {"type": "Function", "typeVars": [".-1.140042707891168"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561664"}], "returnType": {"nodeId": "140042552561776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561664": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, ".-1.140042707891168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707891168", "variance": "INVARIANT"}, "140042552561776": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, "140042707891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708009248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042708009696": {"type": "Function", "typeVars": [".-1.140042708009696", ".-2.140042708009696"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708009696"}, {"nodeId": ".-2.140042708009696"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562000"}, {"nodeId": "140042552562112"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708009696": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, ".-2.140042708009696": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, "140042552562000": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708009696"}]}, "140042552562112": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708009696"}]}, "140042708010144": {"type": "Function", "typeVars": [".-1.140042708010144", ".-2.140042708010144"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708010144"}, {"nodeId": ".-2.140042708010144"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562224"}, {"nodeId": "140042552562336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010144": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, ".-2.140042708010144": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, "140042552562224": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708010144"}]}, "140042552562336": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708010144"}]}, "140042552561104": {"type": "Overloaded", "items": [{"nodeId": "140042708010592"}, {"nodeId": "140042708011040"}]}, "140042708010592": {"type": "Function", "typeVars": [".-1.140042708010592"], "argTypes": [{"nodeId": ".-1.140042708010592"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": ".-1.140042708010592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010592", "variance": "INVARIANT"}, "140042708011040": {"type": "Function", "typeVars": [".-1.140042708011040"], "argTypes": [{"nodeId": ".-1.140042708011040"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552562672"}]}], "returnType": {"nodeId": ".-1.140042708011040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708011040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708011040", "variance": "INVARIANT"}, "140042552562672": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042577363680": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754267552"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754268896"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820480"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820928"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "isAbstract": true}, "140042548589088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577363680": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, ".2.140042577363680": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, "140042548589536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754267552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564815552": {"type": "Overloaded", "items": [{"nodeId": "140042754268000"}, {"nodeId": "140042754268448"}]}, "140042754268000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042754268448": {"type": "Function", "typeVars": [".-1.140042754268448"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821040"}], "returnType": {"nodeId": "140042564821152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564821040": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, ".-1.140042754268448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754268448", "variance": "INVARIANT"}, "140042564821152": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, "140042754268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "140042564821376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564821376": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042564820480": {"type": "Overloaded", "items": [{"nodeId": "140042754269344"}, {"nodeId": "140042754269792"}]}, "140042754269344": {"type": "Function", "typeVars": [".-1.140042754269344"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821600"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "140042564821712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564821600": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, ".-1.140042754269344": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754269344", "variance": "INVARIANT"}, "140042564821712": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, "140042754269792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042564820928": {"type": "Overloaded", "items": [{"nodeId": "140042754270240"}, {"nodeId": "140042754270688"}, {"nodeId": "140042754271136"}]}, "140042754270240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042754270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564822048"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042564822048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042754271136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042556832816": {"type": "Overloaded", "items": [{"nodeId": "140042719781920"}]}, "140042719781920": {"type": "Function", "typeVars": [".-1.140042719781920"], "argTypes": [{"nodeId": ".-1.140042719781920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719781920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719781920", "variance": "INVARIANT"}, "140042511004416": {"type": "Function", "typeVars": [".-1.140042511004416"], "argTypes": [{"nodeId": ".-1.140042511004416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042511004416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042511004416", "variance": "INVARIANT"}, "140042719782816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719783264": {"type": "Function", "typeVars": [".-1.140042719783264"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042719783264"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042719783264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719783264", "variance": "INVARIANT"}, "140042719783712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042719784160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719784608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719785952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719786400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719786848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042719787296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719787744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719788192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042551966096"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042551966096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042719788640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042551966320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042551966320": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042749674208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749674656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712019936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712019936", "variance": "INVARIANT"}, "140042552084512": {"type": "Function", "typeVars": [".-1.140042552084512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552107056"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042552084512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140042552107056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084512", "variance": "INVARIANT"}, "140042712020832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712022176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107168"}, {"nodeId": "140042552107280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140042552107168": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107280": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712022624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712138016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552107392"}, {"nodeId": "140042552107504"}, {"nodeId": "140042552107616"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552107504": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107616": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712138464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712139360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107728"}, {"nodeId": "140042552107840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107728": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107840": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712139808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042712140256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577366704"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140042577366704": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019040"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366704"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712140704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107952"}, {"nodeId": "140042552108288"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107952": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552108288": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712141152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712141600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712146976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712147424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712147872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552108400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552108400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712148320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552108624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552108624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712148768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042712149216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712149664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712150112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552108960"}, {"nodeId": "140042552109072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552108960": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109072": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712150560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552109184"}, {"nodeId": "140042552109296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109184": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109296": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712151008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712151456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552109520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552109520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712151904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109632"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109744"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552109744": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109856"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712153248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042712153696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109968"}, {"nodeId": "140042552110080"}, {"nodeId": "140042552110192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552110080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552110192": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712252704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110304"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552110304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712253152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712253600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367040"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577367040": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019488"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552106608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552106608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712254496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105824": {"type": "Overloaded", "items": [{"nodeId": "140042712255392"}, {"nodeId": "140042712255840"}]}, "140042712255392": {"type": "Function", "typeVars": [".-1.140042712255392"], "argTypes": [{"nodeId": "140042552110640"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110640": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042552110528"}, {"nodeId": ".-1.140042712255392"}]}]}, ".-1.140042712255392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712255392", "variance": "INVARIANT"}, "140042552110528": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042712255840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552110752"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042552110864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552110752": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042552110864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110976"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552110976": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042712258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712259424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712260320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552111312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111312": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042464396672": {"type": "Protocol", "module": "subtypes", "simpleName": "P", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774503360"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042464397008": {"type": "Concrete", "module": "subtypes", "simpleName": "S", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774507616"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397008"}, {"nodeId": "140042399367904"}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399367904": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042577724800": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556450272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490912"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766491360"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518509408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556452960"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556453856"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766494944"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495840"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496288"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497184"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497632"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498528"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498976"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766499424"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766647584"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648032"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648480"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648928"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649376"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649824"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650272"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650720"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042577724800"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042556450272": {"type": "Overloaded", "items": [{"nodeId": "140042766488672"}, {"nodeId": "140042766489120"}, {"nodeId": "140042766489568"}, {"nodeId": "140042766490016"}]}, "140042766488672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042577724800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577724800", "variance": "INVARIANT"}, "140042766489120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766489568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490464": {"type": "Function", "typeVars": [".-1.140042766490464"], "argTypes": [{"nodeId": ".-1.140042766490464"}], "returnType": {"nodeId": ".-1.140042766490464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766490464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766490464", "variance": "INVARIANT"}, "140042766490912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766491360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042556453968"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042556454192"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042556453968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556454192": {"type": "Tuple", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, "140042518509408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140042556454416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140042556454416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452960": {"type": "Overloaded", "items": [{"nodeId": "140042766492256"}, {"nodeId": "140042766492704"}, {"nodeId": "140042766493152"}]}, "140042766492256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766492704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766493152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556453856": {"type": "Overloaded", "items": [{"nodeId": "140042766493600"}, {"nodeId": "140042766494048"}, {"nodeId": "140042766494496"}]}, "140042766493600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": ".1.140042577724800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766495392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766495840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496736": {"type": "Function", "typeVars": [".-1.140042766496736"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766496736"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454752"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766496736": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766496736", "variance": "INVARIANT"}, "140042556454752": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766496736"}]}, "140042766497184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766497632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766498080": {"type": "Function", "typeVars": [".-1.140042766498080"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766498080"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766498080": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766498080", "variance": "INVARIANT"}, "140042556454864": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766498080"}]}, "140042766498528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766498976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766499424": {"type": "Function", "typeVars": [".-1.140042766499424"], "argTypes": [{"nodeId": ".-1.140042766499424"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766499424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766499424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766499424", "variance": "INVARIANT"}, "140042766647584": {"type": "Function", "typeVars": [".-1.140042766647584"], "argTypes": [{"nodeId": ".-1.140042766647584"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766647584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766647584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766647584", "variance": "INVARIANT"}, "140042766648032": {"type": "Function", "typeVars": [".-1.140042766648032"], "argTypes": [{"nodeId": ".-1.140042766648032"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648032", "variance": "INVARIANT"}, "140042766648480": {"type": "Function", "typeVars": [".-1.140042766648480"], "argTypes": [{"nodeId": ".-1.140042766648480"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648480", "variance": "INVARIANT"}, "140042766648928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464397344": {"type": "Concrete", "module": "subtypes", "simpleName": "S1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508064"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397344"}, {"nodeId": "140042399371264"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399371264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042399573248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042464397680": {"type": "Protocol", "module": "subtypes", "simpleName": "R", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508960"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774508960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "140042464397680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464398016": {"type": "Concrete", "module": "subtypes", "simpleName": "RImpl", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489928544"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489928544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464398016"}], "returnType": {"nodeId": "140042464398016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399825056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042489750112": {"type": "Function", "typeVars": [".-1.140042489750112"], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".-1.140042489750112"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042782779968": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548196320"}}], "typeVars": [{"nodeId": ".1.140042782779968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__abs__"]}, "140042548196320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".1.140042782779968"}]}], "returnType": {"nodeId": ".1.140042782779968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782779968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782779968", "variance": "COVARIANT"}, ".-1.140042489750112": {"type": "TypeVar", "varName": "T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489750112", "variance": "INVARIANT"}, "140042577735888": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444000"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879136"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879584"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880480"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770877792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880928"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444112"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770882720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770883168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444784"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "isAbstract": false}, ".1.140042577735888": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, ".2.140042577735888": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, "140042556444000": {"type": "Overloaded", "items": [{"nodeId": "140042770875104"}, {"nodeId": "140042649315904"}, {"nodeId": "140042770876000"}, {"nodeId": "140042770875552"}, {"nodeId": "140042770876896"}, {"nodeId": "140042770876448"}, {"nodeId": "140042770877344"}]}, "140042770875104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042649315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770875552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556445008": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042770876448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445232"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556445232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, "140042770877344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770878240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770878688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": ".2.140042577735888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770879136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770879584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770880032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735888"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770880480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770877792": {"type": "Function", "typeVars": [".-1.140042770877792"], "argTypes": [{"nodeId": ".-1.140042770877792"}], "returnType": {"nodeId": ".-1.140042770877792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770877792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770877792", "variance": "INVARIANT"}, "140042770880928": {"type": "Function", "typeVars": [".-1.140042770880928"], "argTypes": [{"nodeId": ".-1.140042770880928"}], "returnType": {"nodeId": ".-1.140042770880928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770880928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770880928", "variance": "INVARIANT"}, "140042556444112": {"type": "Overloaded", "items": [{"nodeId": "140042770881824"}, {"nodeId": "140042770882272"}]}, "140042770881824": {"type": "Function", "typeVars": [".-1.140042770881824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770881824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770881824"}, {"nodeId": "140042556445568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770881824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881824", "variance": "INVARIANT"}, "140042556445568": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042770882272": {"type": "Function", "typeVars": [".-1.140042770882272", ".-2.140042770882272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770882272"}]}, {"nodeId": ".-2.140042770882272"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882272"}, {"nodeId": ".-2.140042770882272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770882272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, ".-2.140042770882272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, "140042770882720": {"type": "Function", "typeVars": [".-1.140042770882720", ".-2.140042770882720"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556445680"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556445792"}, {"nodeId": "140042556445904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556445680": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}]}, ".-1.140042770882720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, ".-2.140042770882720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, "140042556445792": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770882720"}]}, "140042556445904": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770882720"}]}, "140042770883168": {"type": "Function", "typeVars": [".-1.140042770883168", ".-2.140042770883168"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556446016"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556446128"}, {"nodeId": "140042556446240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446016": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}]}, ".-1.140042770883168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, ".-2.140042770883168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, "140042556446128": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770883168"}]}, "140042556446240": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770883168"}]}, "140042556444784": {"type": "Overloaded", "items": [{"nodeId": "140042770881376"}, {"nodeId": "140042770883616"}]}, "140042770881376": {"type": "Function", "typeVars": [".-1.140042770881376"], "argTypes": [{"nodeId": ".-1.140042770881376"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": ".-1.140042770881376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770881376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881376", "variance": "INVARIANT"}, "140042770883616": {"type": "Function", "typeVars": [".-1.140042770883616"], "argTypes": [{"nodeId": ".-1.140042770883616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556446576"}]}], "returnType": {"nodeId": ".-1.140042770883616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770883616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883616", "variance": "INVARIANT"}, "140042556446576": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042577736224": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556445344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885408"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885856"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886304"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886752"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887200"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888096"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446688"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770890336"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888992"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766106912"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107360"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107808"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108256"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108704"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110048"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110496"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110944"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109152"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766111392"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112288"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112736"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447248"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114080"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140042577736224"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736224"}]}], "isAbstract": false}, ".1.140042577736224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736224", "variance": "INVARIANT"}, "140042556445344": {"type": "Overloaded", "items": [{"nodeId": "140042770884512"}, {"nodeId": "140042770884960"}]}, "140042770884512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140042770884960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140042770885408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770885856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446912": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447024": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447136": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770887200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770887648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770888096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556446352": {"type": "Overloaded", "items": [{"nodeId": "140042770888544"}, {"nodeId": "140042770884064"}]}, "140042770888544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770884064": {"type": "Function", "typeVars": [".-1.140042770884064"], "argTypes": [{"nodeId": ".-1.140042770884064"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".-1.140042770884064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770884064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770884064", "variance": "INVARIANT"}, "140042556446688": {"type": "Overloaded", "items": [{"nodeId": "140042770889440"}, {"nodeId": "140042770889888"}]}, "140042770889440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770889888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770890336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447472": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042770888992": {"type": "Function", "typeVars": [".-1.140042770888992"], "argTypes": [{"nodeId": ".-1.140042770888992"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042770888992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770888992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770888992", "variance": "INVARIANT"}, "140042766106912": {"type": "Function", "typeVars": [".-1.140042766106912"], "argTypes": [{"nodeId": ".-1.140042766106912"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766106912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766106912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766106912", "variance": "INVARIANT"}, "140042766107360": {"type": "Function", "typeVars": [".-1.140042766107360"], "argTypes": [{"nodeId": ".-1.140042766107360"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766107360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107360", "variance": "INVARIANT"}, "140042766107808": {"type": "Function", "typeVars": [".-1.140042766107808"], "argTypes": [{"nodeId": ".-1.140042766107808"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766107808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107808", "variance": "INVARIANT"}, "140042766108256": {"type": "Function", "typeVars": [".-1.140042766108256"], "argTypes": [{"nodeId": ".-1.140042766108256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108256", "variance": "INVARIANT"}, "140042766108704": {"type": "Function", "typeVars": [".-1.140042766108704"], "argTypes": [{"nodeId": ".-1.140042766108704"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108704", "variance": "INVARIANT"}, "140042766109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766110048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140042766110496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140042766110944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766109152": {"type": "Function", "typeVars": [".-1.140042766109152"], "argTypes": [{"nodeId": ".-1.140042766109152"}], "returnType": {"nodeId": ".-1.140042766109152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766109152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766109152", "variance": "INVARIANT"}, "140042766111392": {"type": "Function", "typeVars": [".-1.140042766111392"], "argTypes": [{"nodeId": ".-1.140042766111392"}], "returnType": {"nodeId": ".-1.140042766111392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766111392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766111392", "variance": "INVARIANT"}, "140042766112288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766112736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140042556447248": {"type": "Overloaded", "items": [{"nodeId": "140042766111840"}, {"nodeId": "140042766113632"}]}, "140042766111840": {"type": "Function", "typeVars": [".-1.140042766111840"], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".-1.140042766111840"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042766111840": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042766111840", "variance": "INVARIANT"}, "140042766113632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556314720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042556314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042556447920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556447920": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042766114080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042577736560": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114528"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114976"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115424"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115872"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116320"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116768"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117216"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118112"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118560"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119456"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119904"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120352"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120800"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121248"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121696"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122144"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122592"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766237984"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766238432"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239328"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239776"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240224"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766241120"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242912"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243360"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243808"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244256"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244704"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245600"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246048"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246496"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246944"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247392"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247840"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248288"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248736"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249184"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249632"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250080"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250528"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250976"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766251424"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447360"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766252768"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369056"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369504"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369952"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370400"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370848"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371296"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371744"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372192"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372640"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373088"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373536"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373984"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374432"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374880"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375328"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375776"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577736560"}]}], "isAbstract": false}, "140042766114528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766114976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766116320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042556448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556448032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042766116768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448144"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448144": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448256"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448480"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766119904": {"type": "Function", "typeVars": [".-1.140042766119904"], "argTypes": [{"nodeId": ".-1.140042766119904"}, {"nodeId": "140042556448592"}], "returnType": {"nodeId": ".-1.140042766119904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766119904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766119904", "variance": "INVARIANT"}, "140042556448592": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042766120352": {"type": "Function", "typeVars": [".-1.140042766120352"], "argTypes": [{"nodeId": ".-1.140042766120352"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120352", "variance": "INVARIANT"}, "140042766120800": {"type": "Function", "typeVars": [".-1.140042766120800"], "argTypes": [{"nodeId": ".-1.140042766120800"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120800", "variance": "INVARIANT"}, "140042766121248": {"type": "Function", "typeVars": [".-1.140042766121248"], "argTypes": [{"nodeId": ".-1.140042766121248"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121248", "variance": "INVARIANT"}, "140042766121696": {"type": "Function", "typeVars": [".-1.140042766121696"], "argTypes": [{"nodeId": ".-1.140042766121696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121696", "variance": "INVARIANT"}, "140042766122144": {"type": "Function", "typeVars": [".-1.140042766122144"], "argTypes": [{"nodeId": ".-1.140042766122144"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122144", "variance": "INVARIANT"}, "140042766122592": {"type": "Function", "typeVars": [".-1.140042766122592"], "argTypes": [{"nodeId": ".-1.140042766122592"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122592", "variance": "INVARIANT"}, "140042766237984": {"type": "Function", "typeVars": [".-1.140042766237984"], "argTypes": [{"nodeId": ".-1.140042766237984"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766237984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766237984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766237984", "variance": "INVARIANT"}, "140042766238432": {"type": "Function", "typeVars": [".-1.140042766238432"], "argTypes": [{"nodeId": ".-1.140042766238432"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766238432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766238432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766238432", "variance": "INVARIANT"}, "140042766239328": {"type": "Function", "typeVars": [".-1.140042766239328"], "argTypes": [{"nodeId": ".-1.140042766239328"}], "returnType": {"nodeId": ".-1.140042766239328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239328", "variance": "INVARIANT"}, "140042766239776": {"type": "Function", "typeVars": [".-1.140042766239776"], "argTypes": [{"nodeId": ".-1.140042766239776"}], "returnType": {"nodeId": ".-1.140042766239776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239776", "variance": "INVARIANT"}, "140042766240224": {"type": "Function", "typeVars": [".-1.140042766240224"], "argTypes": [{"nodeId": ".-1.140042766240224"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766240224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766240224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766240224", "variance": "INVARIANT"}, "140042766240672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556448928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766241120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449040"}, {"nodeId": "140042556449152"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042556449040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556449152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766242016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449264"}, {"nodeId": "140042556449376"}, {"nodeId": "140042556449488"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042556449264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556449376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556449488": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766242464": {"type": "Function", "typeVars": [".-1.140042766242464"], "argTypes": [{"nodeId": ".-1.140042766242464"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766242464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140042766242464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766242464", "variance": "INVARIANT"}, "140042766242912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556449600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766243360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042766243808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042766244256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042766244704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766250080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766250528": {"type": "Function", "typeVars": [".-1.140042766250528"], "argTypes": [{"nodeId": ".-1.140042766250528"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766250528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766250528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250528", "variance": "INVARIANT"}, "140042766250976": {"type": "Function", "typeVars": [".-1.140042766250976"], "argTypes": [{"nodeId": ".-1.140042766250976"}], "returnType": {"nodeId": ".-1.140042766250976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766250976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250976", "variance": "INVARIANT"}, "140042766251424": {"type": "Function", "typeVars": [".-1.140042766251424"], "argTypes": [{"nodeId": ".-1.140042766251424"}, {"nodeId": "140042556450160"}], "returnType": {"nodeId": ".-1.140042766251424"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766251424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251424", "variance": "INVARIANT"}, "140042556450160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556447360": {"type": "Overloaded", "items": [{"nodeId": "140042766251872"}, {"nodeId": "140042766252320"}]}, "140042766251872": {"type": "Function", "typeVars": [".-1.140042766251872"], "argTypes": [{"nodeId": "140042556450496"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042556450496": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042556450384"}, {"nodeId": ".-1.140042766251872"}]}]}, ".-1.140042766251872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251872", "variance": "INVARIANT"}, "140042556450384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042766252320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042556450608"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140042556450608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766252768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556450832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556450832": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766253216": {"type": "Function", "typeVars": [".-1.140042766253216"], "argTypes": [{"nodeId": ".-1.140042766253216"}, {"nodeId": "140042556450944"}], "returnType": {"nodeId": ".-1.140042766253216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253216", "variance": "INVARIANT"}, "140042556450944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766253664": {"type": "Function", "typeVars": [".-1.140042766253664"], "argTypes": [{"nodeId": ".-1.140042766253664"}, {"nodeId": "140042556451056"}], "returnType": {"nodeId": ".-1.140042766253664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253664", "variance": "INVARIANT"}, "140042556451056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369056": {"type": "Function", "typeVars": [".-1.140042766369056"], "argTypes": [{"nodeId": ".-1.140042766369056"}, {"nodeId": "140042556451168"}, {"nodeId": "140042556451280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766369056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140042766369056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766369056", "variance": "INVARIANT"}, "140042556451168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042556451280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451504"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766370400": {"type": "Function", "typeVars": [".-1.140042766370400"], "argTypes": [{"nodeId": ".-1.140042766370400"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766370400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766370400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766370400", "variance": "INVARIANT"}, "140042766370848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556451840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556451840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766371296": {"type": "Function", "typeVars": [".-1.140042766371296"], "argTypes": [{"nodeId": ".-1.140042766371296"}, {"nodeId": "140042556451952"}], "returnType": {"nodeId": ".-1.140042766371296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766371296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766371296", "variance": "INVARIANT"}, "140042556451952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766371744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452064"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452176"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042766373088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452288"}, {"nodeId": "140042556452400"}, {"nodeId": "140042556452512"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042556452288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556452400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766373536": {"type": "Function", "typeVars": [".-1.140042766373536"], "argTypes": [{"nodeId": ".-1.140042766373536"}, {"nodeId": "140042556452624"}], "returnType": {"nodeId": ".-1.140042766373536"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766373536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373536", "variance": "INVARIANT"}, "140042556452624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766373984": {"type": "Function", "typeVars": [".-1.140042766373984"], "argTypes": [{"nodeId": ".-1.140042766373984"}], "returnType": {"nodeId": ".-1.140042766373984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766373984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373984", "variance": "INVARIANT"}, "140042766374432": {"type": "Function", "typeVars": [".-1.140042766374432"], "argTypes": [{"nodeId": ".-1.140042766374432"}], "returnType": {"nodeId": ".-1.140042766374432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766374432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374432", "variance": "INVARIANT"}, "140042766374880": {"type": "Function", "typeVars": [".-1.140042766374880"], "argTypes": [{"nodeId": ".-1.140042766374880"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766374880"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140042766374880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374880", "variance": "INVARIANT"}, "140042766375328": {"type": "Function", "typeVars": [".-1.140042766375328"], "argTypes": [{"nodeId": ".-1.140042766375328"}], "returnType": {"nodeId": ".-1.140042766375328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766375328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375328", "variance": "INVARIANT"}, "140042766375776": {"type": "Function", "typeVars": [".-1.140042766375776"], "argTypes": [{"nodeId": ".-1.140042766375776"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766375776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140042766375776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375776", "variance": "INVARIANT"}, "140042577736896": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518444096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447584"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766377568"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378016"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378912"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379360"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379808"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380256"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381600"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382048"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382496"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382944"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383392"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384736"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766483744"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484640"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485536"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486432"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486880"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487328"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487776"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766488224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577736896"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736896"}]}], "isAbstract": false}, "140042518444096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042556452848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577736896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736896", "variance": "INVARIANT"}, "140042556452848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556447584": {"type": "Overloaded", "items": [{"nodeId": "140042766376672"}, {"nodeId": "140042766377120"}]}, "140042766376672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140042556453072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140042556453184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378464": {"type": "Function", "typeVars": [".-1.140042766378464"], "argTypes": [{"nodeId": ".-1.140042766378464"}], "returnType": {"nodeId": ".-1.140042766378464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766378464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766378464", "variance": "INVARIANT"}, "140042766378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766380256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042766380704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042766381152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766381600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766382048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766382944": {"type": "Function", "typeVars": [".-1.140042766382944"], "argTypes": [{"nodeId": ".-1.140042766382944"}], "returnType": {"nodeId": ".-1.140042766382944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766382944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766382944", "variance": "INVARIANT"}, "140042766383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766383840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766384288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766384736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766483744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766484192": {"type": "Function", "typeVars": [".-1.140042766484192"], "argTypes": [{"nodeId": ".-1.140042766484192"}], "returnType": {"nodeId": "140042556453632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766484192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484192", "variance": "INVARIANT"}, "140042556453632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042556453408"}, {"nodeId": "N"}, {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577736896"}]}]}, "140042556453408": {"type": "Tuple", "items": []}, "140042766484640": {"type": "Function", "typeVars": [".-1.140042766484640"], "argTypes": [{"nodeId": ".-1.140042766484640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".-1.140042766484640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766484640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484640", "variance": "INVARIANT"}, "140042766485088": {"type": "Function", "typeVars": [".-1.140042766485088"], "argTypes": [{"nodeId": ".-1.140042766485088"}, {"nodeId": ".-1.140042766485088"}], "returnType": {"nodeId": ".-1.140042766485088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485088", "variance": "INVARIANT"}, "140042766485536": {"type": "Function", "typeVars": [".-1.140042766485536"], "argTypes": [{"nodeId": ".-1.140042766485536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485536", "variance": "INVARIANT"}, "140042766485984": {"type": "Function", "typeVars": [".-1.140042766485984"], "argTypes": [{"nodeId": ".-1.140042766485984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485984", "variance": "INVARIANT"}, "140042766486432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766486880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766488224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042568796192": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651168"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796192"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042568796192"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796192"}]}], "isAbstract": false}, "140042766651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796192", "args": [{"nodeId": ".1.140042568796192"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796192"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796192", "variance": "COVARIANT"}, "140042568796528": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651616"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573821904"}]}], "isAbstract": false}, "140042766651616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796528", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, ".2.140042568796528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, "140042556455536": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042573821904": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042568796864": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652064"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796864"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042568796864"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796864"}]}], "isAbstract": false}, "140042766652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796864", "args": [{"nodeId": ".1.140042568796864"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796864": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796864", "variance": "COVARIANT"}, "140042577737232": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652512"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}], "bases": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577737232"}]}], "isAbstract": false}, "140042766652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577737232"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, ".2.140042577737232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, "140042577737568": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652960"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}], "bases": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573822128"}]}], "isAbstract": false}, "140042766652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737568": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, ".2.140042577737568": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, "140042556455760": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042573822128": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042577737904": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653408"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}], "bases": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".2.140042577737904"}]}], "isAbstract": false}, "140042766653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".2.140042577737904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737904": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, ".2.140042577737904": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, "140042577738240": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653856"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654304"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654752"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655200"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655648"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656096"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656544"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454528"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454640"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577738240"}]}], "isAbstract": false}, "140042766653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556455984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140042577738240": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, ".2.140042577738240": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, "140042556455984": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "140042766654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140042766654752": {"type": "Function", "typeVars": [".-1.140042766654752"], "argTypes": [{"nodeId": ".-1.140042766654752"}], "returnType": {"nodeId": ".-1.140042766654752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766654752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766654752", "variance": "INVARIANT"}, "140042766655200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556454528": {"type": "Overloaded", "items": [{"nodeId": "140042766656992"}, {"nodeId": "140042766657440"}]}, "140042766656992": {"type": "Function", "typeVars": [".-1.140042766656992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766656992"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766656992"}, {"nodeId": "140042556456320"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766656992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766656992", "variance": "INVARIANT"}, "140042556456320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766657440": {"type": "Function", "typeVars": [".-1.140042766657440", ".-2.140042766657440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766657440"}]}, {"nodeId": ".-2.140042766657440"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766657440"}, {"nodeId": ".-2.140042766657440"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766657440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, ".-2.140042766657440": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, "140042556454640": {"type": "Overloaded", "items": [{"nodeId": "140042766657888"}, {"nodeId": "140042766658336"}]}, "140042766657888": {"type": "Function", "typeVars": [".-1.140042766657888"], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": "140042556456544"}]}, {"nodeId": ".1.140042577738240"}], "returnType": {"nodeId": "140042556456656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042556456544": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, ".-1.140042766657888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657888", "variance": "INVARIANT"}, "140042556456656": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, "140042766658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "returnType": {"nodeId": ".2.140042577738240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140042577725136": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367792"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456096"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662368"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662816"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766663264"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "isAbstract": false}, "140042586367792": {"type": "Union", "items": [{"nodeId": "140042577259744"}, {"nodeId": "N"}]}, "140042577259744": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, ".2.140042577725136": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042556456096": {"type": "Overloaded", "items": [{"nodeId": "140042766658784"}, {"nodeId": "140042766659232"}, {"nodeId": "140042766659680"}, {"nodeId": "140042766660128"}, {"nodeId": "140042766660576"}, {"nodeId": "140042766661024"}, {"nodeId": "140042766661472"}, {"nodeId": "140042766661920"}]}, "140042766658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577725136": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042766659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042766659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556817472": {"type": "Union", "items": [{"nodeId": "140042556315168"}, {"nodeId": "N"}]}, "140042556315168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817584"}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556817584": {"type": "Union", "items": [{"nodeId": "140042556315392"}, {"nodeId": "N"}]}, "140042556315392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817696"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817696": {"type": "Union", "items": [{"nodeId": "140042556315616"}, {"nodeId": "N"}]}, "140042556315616": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817808"}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556817808": {"type": "Union", "items": [{"nodeId": "140042556315840"}, {"nodeId": "N"}]}, "140042556315840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817920"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817920": {"type": "Union", "items": [{"nodeId": "140042556316064"}, {"nodeId": "N"}]}, "140042556316064": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818144": {"type": "Tuple", "items": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, "140042766661920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556818256"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818480"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556818256": {"type": "Union", "items": [{"nodeId": "140042556316288"}, {"nodeId": "N"}]}, "140042556316288": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, "140042766662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".1.140042577725136"}], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766662816": {"type": "Function", "typeVars": [".-1.140042766662816"], "argTypes": [{"nodeId": ".-1.140042766662816"}], "returnType": {"nodeId": ".-1.140042766662816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766662816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766662816", "variance": "INVARIANT"}, "140042766663264": {"type": "Function", "typeVars": [".-1.140042766663264"], "argTypes": [{"nodeId": ".-1.140042766663264"}], "returnType": {"nodeId": ".-1.140042766663264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766663264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766663264", "variance": "INVARIANT"}, "140042577738576": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766778656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766779104"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518617376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780000"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780896"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781344"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782240"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782688"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783136"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783584"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456432"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766784928"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518619840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456768"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786720"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556818704"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "isAbstract": false}, ".1.140042577738576": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, ".2.140042577738576": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, "140042766778656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140042766779104": {"type": "Function", "typeVars": [".-1.140042766779104"], "argTypes": [{"nodeId": ".-1.140042766779104"}, {"nodeId": "140042556818592"}], "returnType": {"nodeId": ".-1.140042766779104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140042766779104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766779104", "variance": "INVARIANT"}, "140042556818592": {"type": "Union", "items": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "N"}]}, "140042518617376": {"type": "Function", "typeVars": [".-1.140042518617376"], "argTypes": [{"nodeId": ".-1.140042518617376"}], "returnType": {"nodeId": ".-1.140042518617376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518617376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518617376", "variance": "INVARIANT"}, "140042766780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556456432": {"type": "Overloaded", "items": [{"nodeId": "140042766784032"}, {"nodeId": "140042766784480"}]}, "140042766784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766784480": {"type": "Function", "typeVars": [".-1.140042766784480"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": "140042556818816"}], "returnType": {"nodeId": "140042556818928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556818816": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, ".-1.140042766784480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784480", "variance": "INVARIANT"}, "140042556818928": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, "140042766784928": {"type": "Function", "typeVars": [".-1.140042766784928"], "argTypes": [{"nodeId": ".-1.140042766784928"}], "returnType": {"nodeId": ".-1.140042766784928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766784928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784928", "variance": "INVARIANT"}, "140042518619840": {"type": "Function", "typeVars": [".-1.140042518619840"], "argTypes": [{"nodeId": ".-1.140042518619840"}], "returnType": {"nodeId": ".-1.140042518619840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518619840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518619840", "variance": "INVARIANT"}, "140042556456768": {"type": "Overloaded", "items": [{"nodeId": "140042766785376"}, {"nodeId": "140042766785824"}]}, "140042766785376": {"type": "Function", "typeVars": [".-1.140042766785376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785376"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785376"}, {"nodeId": "140042556819264"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140042766785376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785376", "variance": "INVARIANT"}, "140042556819264": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766785824": {"type": "Function", "typeVars": [".-1.140042766785824", ".-2.140042766785824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785824"}]}, {"nodeId": ".-2.140042766785824"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785824"}, {"nodeId": ".-2.140042766785824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042766785824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, ".-2.140042766785824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, "140042766786272": {"type": "Function", "typeVars": [".-1.140042766786272", ".-2.140042766786272"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786272"}, {"nodeId": ".-2.140042766786272"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819376"}, {"nodeId": "140042556819488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786272": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, ".-2.140042766786272": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, "140042556819376": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786272"}]}, "140042556819488": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786272"}]}, "140042766786720": {"type": "Function", "typeVars": [".-1.140042766786720", ".-2.140042766786720"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786720"}, {"nodeId": ".-2.140042766786720"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819600"}, {"nodeId": "140042556819712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, ".-2.140042766786720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, "140042556819600": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786720"}]}, "140042556819712": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786720"}]}, "140042556818704": {"type": "Overloaded", "items": [{"nodeId": "140042766787168"}, {"nodeId": "140042766787616"}]}, "140042766787168": {"type": "Function", "typeVars": [".-1.140042766787168"], "argTypes": [{"nodeId": ".-1.140042766787168"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": ".-1.140042766787168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787168", "variance": "INVARIANT"}, "140042766787616": {"type": "Function", "typeVars": [".-1.140042766787616"], "argTypes": [{"nodeId": ".-1.140042766787616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556820048"}]}], "returnType": {"nodeId": ".-1.140042766787616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787616", "variance": "INVARIANT"}, "140042556820048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, "140042498341040": {"type": "Concrete", "module": "numpy._pytesttester", "simpleName": "PytestTester", "members": [{"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "label", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra_argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doctests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coverage", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "durations", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module_name"]}, "140042674193792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042485588128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588240"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588464"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "label", "verbose", "extra_argv", "doctests", "coverage", "durations", "tests"]}, "140042485588128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485588240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042485588464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042472911056": {"type": "Concrete", "module": "numpy.core._internal", "simpleName": "_ctypes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456007504"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430403008"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430410176"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430407264"}}, {"kind": "Variable", "name": "_as_parameter_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430404128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339264"}, "name": "data_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339712"}, "name": "shape_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716340160"}, "name": "strides_as"}], "typeVars": [{"nodeId": ".1.140042472911056"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456007504": {"type": "Overloaded", "items": [{"nodeId": "140042716336576"}, {"nodeId": "140042716337024"}]}, "140042716336576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "array", "ptr"]}, "140042472913744": {"type": "Concrete", "module": "numpy", "simpleName": "ndarray", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126368"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409568"}, "items": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127264"}}, {"kind": "Variable", "name": "real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "real"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456410576"}, "items": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127488"}}, {"kind": "Variable", "name": "imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "imag"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456386688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740841856"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456411136"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089216"}, "name": "__array_ufunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089664"}, "name": "__array_function__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090112"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090560"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741091008"}, "name": "__array_prepare__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456412256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409792"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127712"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284208"}, "items": [{"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128608"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strides"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741095936"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741096384"}, "name": "fill"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456482752"}, "items": [{"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483088"}, "items": [{"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "itemset"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483536"}, "items": [{"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "align", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741099968"}, "name": "setflags"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100416"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100864"}, "name": "swapaxes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483872"}, "items": [{"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "transpose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102208"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102656"}, "name": "diagonal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456484320"}, "items": [{"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268544"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268992"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741269440"}, "name": "put"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456486000"}, "items": [{"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "searchsorted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741270784"}, "name": "setfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741271232"}, "name": "sort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456487792"}, "items": [{"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "trace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489808"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741273920"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274368"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274816"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489584"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492272"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492832"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456494288"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456391168"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393184"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393408"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393632"}, "name": "__index__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741281984"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741353456"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282880"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456495184"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496864"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496976"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456414720"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451372736"}, "items": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__abs__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451374640"}, "items": [{"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__invert__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451375648"}, "items": [{"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pos__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451376880"}, "items": [{"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__neg__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451377664"}, "items": [{"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__matmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451378448"}, "items": [{"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmatmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451382256"}, "items": [{"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456497984"}, "items": [{"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451421552"}, "items": [{"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451424576"}, "items": [{"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451428048"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451431184"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451385952"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451489888"}, "items": [{"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rsub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451494592"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451499296"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451435216"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451541616"}, "items": [{"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rfloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451545312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549008"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451500640"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451605920"}, "items": [{"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rtruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451609840"}, "items": [{"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451613760"}, "items": [{"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rlshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549680"}, "items": [{"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451667536"}, "items": [{"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rrshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451669776"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451672016"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451674144"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451676272"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451678400"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451615440"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451715568"}, "items": [{"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iadd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451717696"}, "items": [{"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__isub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451721168"}, "items": [{"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451723856"}, "items": [{"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__itruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451726544"}, "items": [{"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ifloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451728224"}, "items": [{"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451680528"}, "items": [{"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451831376"}, "items": [{"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ilshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451833056"}, "items": [{"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__irshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451834736"}, "items": [{"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451836080"}, "items": [{"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ixor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451837760"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451702656"}, "name": "__dlpack__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737408192"}, "name": "__dlpack_device__"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426513696"}}], "typeVars": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}], "bases": [{"nodeId": "140042472912400"}], "isAbstract": false}, "140042431126592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456410464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913744": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042472913744", "variance": "INVARIANT"}, ".2.140042472913744": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472913744", "variance": "COVARIANT"}, "140042468653568": {"type": "Concrete", "module": "numpy", "simpleName": "dtype", "members": [{"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464134416"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009296"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762017408"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009856"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022400"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456019600"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762020992"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022784"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762023232"}, "name": "__ne__"}, {"kind": "Variable", "name": "alignment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430771744"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430773984"}}, {"kind": "Variable", "name": "byteorder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774208"}}, {"kind": "Variable", "name": "char", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774432"}}, {"kind": "Variable", "name": "descr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774656"}}, {"kind": "Variable", "name": "fields", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774880"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857280"}}, {"kind": "Variable", "name": "hasobject", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857504"}}, {"kind": "Variable", "name": "isbuiltin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857728"}}, {"kind": "Variable", "name": "isnative", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857952"}}, {"kind": "Variable", "name": "isalignedstruct", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858176"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858400"}}, {"kind": "Variable", "name": "kind", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858624"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858848"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859072"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859296"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859520"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859744"}}, {"kind": "Variable", "name": "subdtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455610336"}, "name": "newbyteorder"}, {"kind": "Variable", "name": "str", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860192"}}, {"kind": "Variable", "name": "type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860416"}}], "typeVars": [{"nodeId": ".1.140042468653568"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042464134416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042456009296": {"type": "Overloaded", "items": [{"nodeId": "140042745921600"}, {"nodeId": "140042745922048"}, {"nodeId": "140042745922496"}, {"nodeId": "140042745922944"}, {"nodeId": "140042745923392"}, {"nodeId": "140042745923840"}, {"nodeId": "140042745924288"}, {"nodeId": "140042745924736"}, {"nodeId": "140042745925184"}, {"nodeId": "140042745925632"}, {"nodeId": "140042745926080"}, {"nodeId": "140042745926528"}, {"nodeId": "140042745926976"}, {"nodeId": "140042745927424"}, {"nodeId": "140042745927872"}, {"nodeId": "140042745928320"}, {"nodeId": "140042745928768"}, {"nodeId": "140042745929216"}, {"nodeId": "140042745929664"}, {"nodeId": "140042745930112"}, {"nodeId": "140042745930560"}, {"nodeId": "140042745931008"}, {"nodeId": "140042745931456"}, {"nodeId": "140042745931904"}, {"nodeId": "140042745932352"}, {"nodeId": "140042745932800"}, {"nodeId": "140042745933248"}, {"nodeId": "140042745933696"}, {"nodeId": "140042745934144"}, {"nodeId": "140042745934592"}, {"nodeId": "140042745935040"}, {"nodeId": "140042745935488"}, {"nodeId": "140042745935936"}, {"nodeId": "140042745936384"}, {"nodeId": "140042745936832"}, {"nodeId": "140042745937280"}, {"nodeId": "140042762010688"}, {"nodeId": "140042762011136"}, {"nodeId": "140042762011584"}, {"nodeId": "140042762012032"}, {"nodeId": "140042762012480"}, {"nodeId": "140042762012928"}, {"nodeId": "140042762013376"}, {"nodeId": "140042762013824"}, {"nodeId": "140042762014272"}, {"nodeId": "140042762014720"}, {"nodeId": "140042762015168"}, {"nodeId": "140042762015616"}, {"nodeId": "140042762016064"}, {"nodeId": "140042762016512"}, {"nodeId": "140042762016960"}]}, "140042745921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, ".1.140042468653568": {"type": "TypeVar", "varName": "_DTypeScalar_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468653568", "variance": "COVARIANT"}, "140042472914080": {"type": "Concrete", "module": "numpy", "simpleName": "generic", "members": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042426513920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451839440"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426514592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598112"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598336"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598560"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737412672"}, "name": "byteswap"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451841120"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451842128"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844368"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737416704"}, "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844480"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704000"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704448"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704672"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451913072"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309184"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309632"}, "name": "transpose"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599232"}}], "typeVars": [], "bases": [{"nodeId": "140042472912400"}], "isAbstract": true}, "140042426513920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042451839440": {"type": "Overloaded", "items": [{"nodeId": "140042451702880"}, {"nodeId": "140042737409984"}]}, "140042451702880": {"type": "Function", "typeVars": [".-1.140042451702880"], "argTypes": [{"nodeId": ".-1.140042451702880"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451702880"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042451702880": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451702880", "variance": "INVARIANT"}, "140042737409984": {"type": "Function", "typeVars": [".-1.140042737409984"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": ".-1.140042737409984"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042737409984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042737409984": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042737409984", "variance": "INVARIANT"}, "140042426514592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451842800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451842800": {"type": "Tuple", "items": []}, "140042426598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451843024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451843024": {"type": "Tuple", "items": []}, "140042737412672": {"type": "Function", "typeVars": [".-1.140042737412672"], "argTypes": [{"nodeId": ".-1.140042737412672"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737412672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042737412672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737412672", "variance": "INVARIANT"}, "140042426599008": {"type": "Function", "typeVars": [".-1.140042426599008"], "argTypes": [{"nodeId": ".-1.140042426599008"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599008"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599008": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599008", "variance": "INVARIANT"}, "140042468653904": {"type": "Concrete", "module": "numpy", "simpleName": "flatiter", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872512"}}, {"kind": "Variable", "name": "coords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872288"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430873184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808064"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808512"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808960"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757809408"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022624"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757810752"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022848"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042468653904"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430872512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468653904": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042468653904", "variance": "INVARIANT"}, "140042430872288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042456273344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456273344": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430873184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808512": {"type": "Function", "typeVars": [".-1.140042757808512"], "argTypes": [{"nodeId": ".-1.140042757808512"}], "returnType": {"nodeId": ".-1.140042757808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042757808512": {"type": "TypeVar", "varName": "_FlatIterSelf", "values": [], "upperBound": {"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}, "def": "140042757808512", "variance": "INVARIANT"}, "140042757808960": {"type": "Function", "typeVars": [".-1.140042757808960"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757808960"}]}]}]}], "returnType": {"nodeId": ".-1.140042757808960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042757808960": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757808960", "variance": "INVARIANT"}, "140042757809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456022624": {"type": "Overloaded", "items": [{"nodeId": "140042757809856"}, {"nodeId": "140042757810304"}]}, "140042757809856": {"type": "Function", "typeVars": [".-1.140042757809856"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757809856"}]}]}]}, {"nodeId": "140042456273456"}], "returnType": {"nodeId": ".-1.140042757809856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757809856": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757809856", "variance": "INVARIANT"}, "140042456273456": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456273232"}]}, "140042468230528": {"type": "Concrete", "module": "numpy", "simpleName": "integer", "members": [{"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426605280"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426612896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451916992"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508480"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508928"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509376"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509824"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510272"}, "name": "__index__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510720"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511168"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511616"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512064"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512512"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512960"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513408"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513856"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514304"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515200"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515648"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516096"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042468230528"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468230528"}]}], "isAbstract": true}, "140042426605280": {"type": "Function", "typeVars": [".-1.140042426605280"], "argTypes": [{"nodeId": ".-1.140042426605280"}], "returnType": {"nodeId": ".-1.140042426605280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426605280": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426605280", "variance": "INVARIANT"}, "140042426612896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468230528": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230528", "variance": "INVARIANT"}, "140042472659584": {"type": "Concrete", "module": "numpy._typing", "simpleName": "NBitBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674194912"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674194912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042451916992": {"type": "Overloaded", "items": [{"nodeId": "140042732507584"}, {"nodeId": "140042732508032"}]}, "140042732507584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732508032": {"type": "Function", "typeVars": [".-1.140042732508032"], "argTypes": [{"nodeId": ".-1.140042732508032"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732508032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732508032": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732508032", "variance": "INVARIANT"}, "140042577727152": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548194976"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042548194976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732508480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451920016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451919568"}, {"nodeId": "140042451919904"}]}, "140042451919568": {"type": "Tuple", "items": []}, "140042451919904": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732508928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509824": {"type": "Function", "typeVars": [".-1.140042732509824"], "argTypes": [{"nodeId": ".-1.140042732509824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042732509824": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732509824", "variance": "INVARIANT"}, "140042732510272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472905344": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_IntTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905344"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841840": {"type": "Overloaded", "items": [{"nodeId": "140042716059616"}, {"nodeId": "140042716060064"}, {"nodeId": "140042716060512"}, {"nodeId": "140042716060960"}, {"nodeId": "140042716061408"}]}, "140042716059616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472905344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905344": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905344", "variance": "INVARIANT"}, "140042468232208": {"type": "Concrete", "module": "numpy", "simpleName": "floating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675456"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675904"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732676352"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712064"}, "name": "hex"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042427077728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732677696"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451711840"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712736"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712960"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713184"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typestr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713408"}, "name": "__getformat__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451918896"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}], "typeVars": [{"nodeId": ".1.140042468232208"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232208"}]}], "isAbstract": false}, "140042732675008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451925728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232208": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232208", "variance": "INVARIANT"}, "140042451925728": {"type": "TypeAlias", "target": {"nodeId": "140042468147712"}}, "140042468147712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110688"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577727152"}]}, "140042473110688": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472737472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042732675456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451926512"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451926512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451926064"}, {"nodeId": "140042451926400"}]}, "140042451926064": {"type": "Tuple", "items": []}, "140042451926400": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732675904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451712064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451926624"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451926624": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472661264": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_64Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660928"}], "isAbstract": false}, "140042472660928": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_80Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660592"}], "isAbstract": false}, "140042472660592": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_96Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660256"}], "isAbstract": false}, "140042472660256": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_128Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659920"}], "isAbstract": false}, "140042472659920": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_256Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659584"}], "isAbstract": false}, "140042427077728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042451926736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451926736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732677696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042452041792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042451711840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452041904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042016": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042128": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042240"}], "returnType": {"nodeId": "140042452042464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042464": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042451713408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042576"}, {"nodeId": "140042452042912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452042576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451918896": {"type": "Overloaded", "items": [{"nodeId": "140042732680384"}, {"nodeId": "140042732680832"}]}, "140042732680384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732680832": {"type": "Function", "typeVars": [".-1.140042732680832"], "argTypes": [{"nodeId": ".-1.140042732680832"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732680832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732680832": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732680832", "variance": "INVARIANT"}, "140042472908368": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921744"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908368"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921744": {"type": "Overloaded", "items": [{"nodeId": "140042716470112"}, {"nodeId": "140042716470560"}, {"nodeId": "140042716471008"}, {"nodeId": "140042716471456"}, {"nodeId": "140042716471904"}]}, "140042716470112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908368": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908368", "variance": "INVARIANT"}, "140042716470560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922416": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922304"}]}, "140042455922304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922640": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922528"}]}, "140042455922528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455922864"}, {"nodeId": "140042455923088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468232544": {"type": "Concrete", "module": "numpy", "simpleName": "complexfloating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681728"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732682176"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427084224"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427085120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732831232"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713632"}, "name": "__getnewargs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}], "typeVars": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232544"}]}], "isAbstract": false}, "140042732681280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232544": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, ".2.140042468232544": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, "140042452043136": {"type": "TypeAlias", "target": {"nodeId": "140042468147936"}}, "140042468147936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110800"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577366368"}]}, "140042473110800": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042732681728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043920"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452043920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452043472"}, {"nodeId": "140042452043808"}]}, "140042452043472": {"type": "Tuple", "items": []}, "140042452043808": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732682176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427084224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427085120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".2.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732831232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452044032"}], "returnType": {"nodeId": "140042452044256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452044032": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042452044256": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042472909376": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComplexOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455923424"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909376"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455923424": {"type": "Overloaded", "items": [{"nodeId": "140042716475936"}, {"nodeId": "140042716476384"}, {"nodeId": "140042716476832"}, {"nodeId": "140042716477280"}]}, "140042716475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".1.140042472909376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909376": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909376", "variance": "INVARIANT"}, "140042716476384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456007728"}, {"nodeId": "140042456007952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007728": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007616"}]}, "140042456007616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456007952": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007840"}]}, "140042456007840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008176"}, {"nodeId": "140042456008400"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008176": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008064"}]}, "140042456008064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456008400": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008288"}]}, "140042456008288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716477280": {"type": "Function", "typeVars": [".-1.140042716477280"], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042456008512"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008624"}, {"nodeId": "140042456008736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008512": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232544", "args": [{"nodeId": ".-1.140042716477280"}, {"nodeId": ".-1.140042716477280"}]}]}, ".-1.140042716477280": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716477280", "variance": "INVARIANT"}, "140042456008624": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042456008736": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042468231872": {"type": "Concrete", "module": "numpy", "simpleName": "inexact", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674560"}, "name": "__getnewargs__"}], "typeVars": [{"nodeId": ".1.140042468231872"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468231872"}]}], "isAbstract": true}, "140042732674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231872", "args": [{"nodeId": "140042472661264"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468231872": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231872", "variance": "INVARIANT"}, "140042472914416": {"type": "Concrete", "module": "numpy", "simpleName": "number", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599904"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426600128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311424"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311872"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312320"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312768"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313216"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313664"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314112"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464144720"}, {"nodeId": "140042464143824"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464140688"}, {"nodeId": "140042464144272"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463983680"}, {"nodeId": "140042463979872"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463976512"}, {"nodeId": "140042463983568"}]}}], "typeVars": [{"nodeId": ".1.140042472914416"}], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042426599904": {"type": "Function", "typeVars": [".-1.140042426599904"], "argTypes": [{"nodeId": ".-1.140042426599904"}], "returnType": {"nodeId": ".-1.140042426599904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599904": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426599904", "variance": "INVARIANT"}, "140042472912400": {"type": "Concrete", "module": "numpy", "simpleName": "_ArrayOrScalarCommon", "members": [{"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923488"}}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923936"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924384"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814336"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814784"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815232"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815680"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029376"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029824"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030272"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030720"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455611232"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758031616"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032064"}, "name": "dumps"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032512"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032960"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758033408"}, "name": "tolist"}, {"kind": "Variable", "name": "__array_interface__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924832"}}, {"kind": "Variable", "name": "__array_priority__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926400"}}, {"kind": "Variable", "name": "__array_struct__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758035200"}, "name": "__setstate__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456272560"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456276704"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456278608"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456279728"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758041024"}, "name": "argsort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456277488"}, "items": [{"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choose"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456281632"}, "items": [{"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "clip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456282304"}, "items": [{"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758045056"}, "name": "conj"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740826176"}, "name": "conjugate"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456283872"}, "items": [{"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumprod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284544"}, "items": [{"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumsum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101952"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456399936"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456401840"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456384896"}, "name": "newbyteorder"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456403632"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456404976"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456406320"}, "items": [{"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "round"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405424"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405312"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456408112"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430923488": {"type": "Function", "typeVars": [".-1.140042430923488"], "argTypes": [{"nodeId": ".-1.140042430923488"}], "returnType": {"nodeId": ".-1.140042430923488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042430923488": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042430923488", "variance": "INVARIANT"}, "140042430923936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042472901648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472901648": {"type": "Concrete", "module": "numpy.core.multiarray", "simpleName": "flagsobj", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writeable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writebackifcopy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "behaved", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736672"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736224"}}, {"kind": "Variable", "name": "carray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434734656"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434735104"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434674048"}}, {"kind": "Variable", "name": "farray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673152"}}, {"kind": "Variable", "name": "fnc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673376"}}, {"kind": "Variable", "name": "forc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434672928"}}, {"kind": "Variable", "name": "fortran", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752384"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434753280"}}, {"kind": "Variable", "name": "owndata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687096960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687097408"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042434736672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434736224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434734656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434735104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042687096960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460680640"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460680640": {"type": "TypeAlias", "target": {"nodeId": "140042473095344"}}, "140042473095344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042687097408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460683216"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042460683216": {"type": "TypeAlias", "target": {"nodeId": "140042472976816"}}, "140042472976816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042430924384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757815232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042757815680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042758029376": {"type": "Function", "typeVars": [".-1.140042758029376"], "argTypes": [{"nodeId": ".-1.140042758029376"}], "returnType": {"nodeId": ".-1.140042758029376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758029376": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029376", "variance": "INVARIANT"}, "140042758029824": {"type": "Function", "typeVars": [".-1.140042758029824"], "argTypes": [{"nodeId": ".-1.140042758029824"}, {"nodeId": "140042456275584"}], "returnType": {"nodeId": ".-1.140042758029824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042758029824": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029824", "variance": "INVARIANT"}, "140042456275584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}]}, "140042758030272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042758030720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455611232": {"type": "Function", "typeVars": [".-1.140042455611232"], "argTypes": [{"nodeId": ".-1.140042455611232"}, {"nodeId": "140042456276144"}], "returnType": {"nodeId": ".-1.140042455611232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042455611232": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042455611232", "variance": "INVARIANT"}, "140042456276144": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042473107104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758031616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456275024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "file"]}, "140042456275024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577732864"}]}]}, "140042569346944": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531385664"}}], "typeVars": [{"nodeId": ".1.140042569346944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042531385664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569346944", "args": [{"nodeId": ".1.140042569346944"}]}], "returnType": {"nodeId": ".1.140042569346944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569346944": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569346944", "variance": "COVARIANT"}, "140042472912064": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766793664"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472912064"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042766793664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912064", "args": [{"nodeId": ".1.140042472912064"}]}, {"nodeId": ".1.140042472912064"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912064": {"type": "TypeVar", "varName": "_AnyStr_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912064", "variance": "CONTRAVARIANT"}, "140042758032064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758032512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456276256": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042758032960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042456276816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911392"}]}, "140042472911392": {"type": "Protocol", "module": "numpy", "simpleName": "_IOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789184"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789632"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790528"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "seek", "tell"]}, "140042766789184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766789632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042758033408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758035200": {"type": "Function", "typeVars": [".-1.140042758035200"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456277376": {"type": "Tuple", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042456276928"}, {"nodeId": ".-1.140042758035200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456277152"}]}, "140042456276928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494215216": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}, ".-1.140042758035200": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042758035200", "variance": "COVARIANT"}, "140042456277152": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}]}, "140042456272560": {"type": "Overloaded", "items": [{"nodeId": "140042758035648"}, {"nodeId": "140042758036096"}, {"nodeId": "140042758036544"}]}, "140042758035648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456277712"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468229184": {"type": "Concrete", "module": "numpy", "simpleName": "bool_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315008"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315456"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426601248"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732316800"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317248"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317696"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318144"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145616"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145504"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464146064"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464144608"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318592"}, "name": "__invert__"}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464145952"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146176"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146288"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146400"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344464"}, {"nodeId": "140042464344240"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344688"}, {"nodeId": "140042464344128"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344912"}, {"nodeId": "140042464344352"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345136"}, {"nodeId": "140042464344576"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042451916880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451916880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451916432"}, {"nodeId": "140042451916768"}]}, "140042451916432": {"type": "Tuple", "items": []}, "140042451916768": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426601248": {"type": "Function", "typeVars": [".-1.140042426601248"], "argTypes": [{"nodeId": ".-1.140042426601248"}], "returnType": {"nodeId": ".-1.140042426601248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426601248": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426601248", "variance": "INVARIANT"}, "140042426602144": {"type": "Function", "typeVars": [".-1.140042426602144"], "argTypes": [{"nodeId": ".-1.140042426602144"}], "returnType": {"nodeId": ".-1.140042426602144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602144", "variance": "INVARIANT"}, "140042732316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732318144": {"type": "Function", "typeVars": [".-1.140042732318144"], "argTypes": [{"nodeId": ".-1.140042732318144"}], "returnType": {"nodeId": ".-1.140042732318144"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732318144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732318144", "variance": "INVARIANT"}, "140042472902992": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838928"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472902992"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838928": {"type": "Overloaded", "items": [{"nodeId": "140042716341280"}, {"nodeId": "140042716341728"}, {"nodeId": "140042716342176"}, {"nodeId": "140042716342624"}, {"nodeId": "140042716343072"}]}, "140042716341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042455839376"}], "returnType": {"nodeId": ".1.140042472902992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472902992": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472902992", "variance": "COVARIANT"}, "140042455839376": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042469020544": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468229184"}]}, "140042716341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840048": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468230864": {"type": "Concrete", "module": "numpy", "simpleName": "signedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516544"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}], "typeVars": [{"nodeId": ".1.140042468230864"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230864"}]}], "isAbstract": false}, "140042732516544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042468230864"}]}, {"nodeId": "140042451922928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468230864": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230864", "variance": "INVARIANT"}, "140042451922928": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042473110912": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042473111136"}, {"nodeId": "140042577727152"}]}, "140042473111136": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472907024": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455916816"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907024"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455916816": {"type": "Overloaded", "items": [{"nodeId": "140042716069472"}, {"nodeId": "140042716463392"}, {"nodeId": "140042716463840"}, {"nodeId": "140042716464288"}, {"nodeId": "140042716464736"}]}, "140042716069472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907024": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907024", "variance": "INVARIANT"}, "140042716463392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455917488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917488": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917376"}]}, "140042455917376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716463840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455917712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917712": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917600"}]}, "140042455917600": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455917936"}, {"nodeId": "140042455918160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917936": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917824"}]}, "140042455917824": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455918160": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455918048"}]}, "140042455918048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464736": {"type": "Function", "typeVars": [".-1.140042716464736"], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716464736"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455918272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716464736": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716464736", "variance": "INVARIANT"}, "140042455918272": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": ".-1.140042716464736"}]}, "140042472907360": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464032496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907360"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464032496": {"type": "Overloaded", "items": [{"nodeId": "140042716465184"}, {"nodeId": "140042716465632"}, {"nodeId": "140042716466080"}]}, "140042716465184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907360"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907360": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907360", "variance": "INVARIANT"}, "140042716465632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919056": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": "140042455918944"}]}, "140042455918944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716466080": {"type": "Function", "typeVars": [".-1.140042716466080"], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716466080"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716466080": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716466080", "variance": "INVARIANT"}, "140042455919392": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": ".-1.140042716466080"}]}, "140042472907696": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455919168"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907696"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455919168": {"type": "Overloaded", "items": [{"nodeId": "140042716466528"}, {"nodeId": "140042716466976"}, {"nodeId": "140042716467424"}, {"nodeId": "140042716467872"}]}, "140042716466528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907696": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907696", "variance": "INVARIANT"}, "140042716466976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919728": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919616"}]}, "140042455919616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455919952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919952": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919840"}]}, "140042455919840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467872": {"type": "Function", "typeVars": [".-1.140042716467872"], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716467872"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455920064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716467872": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716467872", "variance": "INVARIANT"}, "140042455920064": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": ".-1.140042716467872"}]}, "140042472908032": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908032"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042473101840": {"type": "Overloaded", "items": [{"nodeId": "140042716468320"}, {"nodeId": "140042716468768"}, {"nodeId": "140042716469216"}, {"nodeId": "140042716469664"}]}, "140042716468320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908032": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908032", "variance": "INVARIANT"}, "140042716468768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469664": {"type": "Function", "typeVars": [".-1.140042716469664"], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716469664"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716469664": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716469664", "variance": "INVARIANT"}, "140042468148608": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716342176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455840272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840272": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716342624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455840384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716343072": {"type": "Function", "typeVars": [".-1.140042716343072"], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": ".-1.140042716343072"}], "returnType": {"nodeId": ".-1.140042716343072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716343072": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716343072", "variance": "INVARIANT"}, "140042472903664": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolSub", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838480"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838480": {"type": "Overloaded", "items": [{"nodeId": "140042716344864"}, {"nodeId": "140042716345312"}, {"nodeId": "140042716345760"}, {"nodeId": "140042716346208"}, {"nodeId": "140042716346656"}]}, "140042716344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455841056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841056": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716346208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841168": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716346656": {"type": "Function", "typeVars": [".-1.140042716346656"], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": ".-1.140042716346656"}], "returnType": {"nodeId": ".-1.140042716346656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716346656": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716346656", "variance": "INVARIANT"}, "140042464145616": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472662272": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_8Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661936"}], "isAbstract": false}, "140042472661936": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_16Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661600"}], "isAbstract": false}, "140042472661600": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_32Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661264"}], "isAbstract": false}, "140042464145504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464144608": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904000": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839824"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839824": {"type": "Overloaded", "items": [{"nodeId": "140042716347104"}, {"nodeId": "140042716347552"}, {"nodeId": "140042716348000"}]}, "140042716347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042455841504"}], "returnType": {"nodeId": "140042455841616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042455841392"}]}, "140042455841392": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042469021328": {"type": "Union", "items": [{"nodeId": "140042469021104"}, {"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042469021104": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455841616": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841728": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716348000": {"type": "Function", "typeVars": [".-1.140042716348000"], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": ".-1.140042716348000"}], "returnType": {"nodeId": ".-1.140042716348000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716348000": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716348000", "variance": "INVARIANT"}, "140042732318592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472903328": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839264"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472903328"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839264": {"type": "Overloaded", "items": [{"nodeId": "140042716343520"}, {"nodeId": "140042716343968"}, {"nodeId": "140042716344416"}]}, "140042716343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042455840608"}], "returnType": {"nodeId": ".1.140042472903328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472903328": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472903328", "variance": "COVARIANT"}, "140042455840608": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840720": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716344416": {"type": "Function", "typeVars": [".-1.140042716344416"], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": ".-1.140042716344416"}], "returnType": {"nodeId": ".-1.140042716344416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716344416": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716344416", "variance": "INVARIANT"}, "140042464145952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146400": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904336": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840496": {"type": "Overloaded", "items": [{"nodeId": "140042716053792"}, {"nodeId": "140042716054240"}, {"nodeId": "140042716054688"}, {"nodeId": "140042716055136"}, {"nodeId": "140042716055584"}]}, "140042716053792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042455841952"}], "returnType": {"nodeId": "140042455842064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841952": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455842064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042716054240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455842176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716054688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455842288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842288": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716055136": {"type": "Function", "typeVars": [".-1.140042716055136"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055136"}], "returnType": {"nodeId": ".-1.140042716055136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055136": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716055136", "variance": "INVARIANT"}, "140042716055584": {"type": "Function", "typeVars": [".-1.140042716055584"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055584"}], "returnType": {"nodeId": ".-1.140042716055584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055584": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716055584", "variance": "INVARIANT"}, "140042472904672": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840832"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840832": {"type": "Overloaded", "items": [{"nodeId": "140042716056032"}, {"nodeId": "140042716056480"}, {"nodeId": "140042716056928"}, {"nodeId": "140042716057376"}, {"nodeId": "140042716057824"}]}, "140042716056032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042455842512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842512": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716056480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716056928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716057376": {"type": "Function", "typeVars": [".-1.140042716057376"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057376": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716057376", "variance": "INVARIANT"}, "140042716057824": {"type": "Function", "typeVars": [".-1.140042716057824"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057824": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716057824", "variance": "INVARIANT"}, "140042472910720": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComparisonOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455924208"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455924208": {"type": "Overloaded", "items": [{"nodeId": "140042716479072"}, {"nodeId": "140042698850592"}, {"nodeId": "140042698851040"}]}, "140042716479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".1.140042472910720"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472910720": {"type": "TypeVar", "varName": "_T1_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, ".2.140042472910720": {"type": "TypeVar", "varName": "_T2_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, "140042698850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".2.140042472910720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042698851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": "140042456009632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009632": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042456009520"}]}]}, "140042472910048": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478176"}, "name": "__lt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042716478176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472910384": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478624"}, "name": "__gt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042716478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480719504": {"type": "Protocol", "module": "numpy._typing._nested_sequence", "simpleName": "_NestedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640889152"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489292256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891392"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640892288"}, "name": "index"}], "typeVars": [{"nodeId": ".1.140042480719504"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "__reversed__", "count", "index"]}, "140042640889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480719504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480719504", "variance": "COVARIANT"}, "140042489292256": {"type": "Overloaded", "items": [{"nodeId": "140042640889600"}, {"nodeId": "140042640890048"}]}, "140042640889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042489292144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489292144": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292592": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292704"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292704": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009520": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}]}, "140042464344464": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042469022448": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042468229184"}]}, "140042464344240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344912": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345136": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277936"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456277824"}]}, "140042456277824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456278048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036544": {"type": "Function", "typeVars": [".-1.140042758036544"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456278384"}, {"nodeId": ".-1.140042758036544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278496"}], "returnType": {"nodeId": ".-1.140042758036544"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278272"}]}, "140042456278272": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758036544": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758036544", "variance": "INVARIANT"}, "140042456278496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456276704": {"type": "Overloaded", "items": [{"nodeId": "140042758036992"}, {"nodeId": "140042758037440"}, {"nodeId": "140042758037888"}]}, "140042758036992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456278832"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279056"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278944"}]}, "140042456278944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456279168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037888": {"type": "Function", "typeVars": [".-1.140042758037888"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279504"}, {"nodeId": ".-1.140042758037888"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279616"}], "returnType": {"nodeId": ".-1.140042758037888"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456279392"}]}, "140042456279392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758037888": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758037888", "variance": "INVARIANT"}, "140042456279616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456278608": {"type": "Overloaded", "items": [{"nodeId": "140042758038336"}, {"nodeId": "140042758038784"}, {"nodeId": "140042758039232"}]}, "140042758038336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456279952"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456279952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042468148496": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042758038784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758039232": {"type": "Function", "typeVars": [".-1.140042758039232"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280176"}, {"nodeId": ".-1.140042758039232"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758039232"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758039232": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758039232", "variance": "INVARIANT"}, "140042456279728": {"type": "Overloaded", "items": [{"nodeId": "140042758039680"}, {"nodeId": "140042758040128"}, {"nodeId": "140042758040576"}]}, "140042758039680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456280512"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280512": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042758040128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758040576": {"type": "Function", "typeVars": [".-1.140042758040576"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280736"}, {"nodeId": ".-1.140042758040576"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758040576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758040576": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758040576", "variance": "INVARIANT"}, "140042758041024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280848"}, {"nodeId": "140042456281072"}, {"nodeId": "140042456281184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456280848": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456281072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456280960"}]}, "140042456280960": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042473109792": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456281184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456277488": {"type": "Overloaded", "items": [{"nodeId": "140042758041472"}, {"nodeId": "140042758041920"}]}, "140042758041472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280288"}, {"nodeId": "N"}, {"nodeId": "140042456281408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456280288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456281408": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042473109008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758041920": {"type": "Function", "typeVars": [".-1.140042758041920"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281744"}, {"nodeId": ".-1.140042758041920"}, {"nodeId": "140042456282080"}], "returnType": {"nodeId": ".-1.140042758041920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456281744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758041920": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758041920", "variance": "INVARIANT"}, "140042456282080": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456281632": {"type": "Overloaded", "items": [{"nodeId": "140042758042368"}, {"nodeId": "140042758042816"}, {"nodeId": "140042758043264"}, {"nodeId": "140042758043712"}]}, "140042758042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281856"}, {"nodeId": "140042456282416"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456281856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456282416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456281968"}]}, "140042456281968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758042816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456282864"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456282864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758043264": {"type": "Function", "typeVars": [".-1.140042758043264"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283200"}, {"nodeId": "140042456283312"}, {"nodeId": ".-1.140042758043264"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043264"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456282752"}]}, "140042456282752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043264": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043264", "variance": "INVARIANT"}, "140042758043712": {"type": "Function", "typeVars": [".-1.140042758043712"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456283088"}, {"nodeId": ".-1.140042758043712"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043712": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043712", "variance": "INVARIANT"}, "140042456282304": {"type": "Overloaded", "items": [{"nodeId": "140042758044160"}, {"nodeId": "140042758044608"}]}, "140042758044160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283760"}, {"nodeId": "140042456283984"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456283760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042758044608": {"type": "Function", "typeVars": [".-1.140042758044608"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284320"}, {"nodeId": "140042456283648"}, {"nodeId": ".-1.140042758044608"}], "returnType": {"nodeId": ".-1.140042758044608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456284320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758044608": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758044608", "variance": "INVARIANT"}, "140042758045056": {"type": "Function", "typeVars": [".-1.140042758045056"], "argTypes": [{"nodeId": ".-1.140042758045056"}], "returnType": {"nodeId": ".-1.140042758045056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758045056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758045056", "variance": "INVARIANT"}, "140042740826176": {"type": "Function", "typeVars": [".-1.140042740826176"], "argTypes": [{"nodeId": ".-1.140042740826176"}], "returnType": {"nodeId": ".-1.140042740826176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042740826176": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740826176", "variance": "INVARIANT"}, "140042456283872": {"type": "Overloaded", "items": [{"nodeId": "140042740826624"}, {"nodeId": "140042740827072"}]}, "140042740826624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284432"}, {"nodeId": "140042456284656"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042464336736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042472740496"}]}, "140042480729248": {"type": "Protocol", "module": "numpy._typing._dtype_like", "simpleName": "_SupportsDType", "members": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489386080"}}], "typeVars": [{"nodeId": ".1.140042480729248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["dtype"]}, "140042489386080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480729248", "args": [{"nodeId": ".1.140042480729248"}]}], "returnType": {"nodeId": ".1.140042480729248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042480729248": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042480729248", "variance": "COVARIANT"}, "140042472740496": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042472744528": {"type": "Union", "items": [{"nodeId": "140042472743520"}, {"nodeId": "140042472743856"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042472744080"}, {"nodeId": "140042472744416"}]}, "140042472743520": {"type": "Tuple", "items": [{"nodeId": "140042472742064"}, {"nodeId": "140042577365696"}]}, "140042472742064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743856": {"type": "Tuple", "items": [{"nodeId": "140042472743632"}, {"nodeId": "140042472743744"}]}, "140042472743632": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042472744080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042472744416": {"type": "Tuple", "items": [{"nodeId": "140042472744192"}, {"nodeId": "140042472744304"}]}, "140042472744192": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472744304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042740827072": {"type": "Function", "typeVars": [".-1.140042740827072"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284880"}, {"nodeId": "140042456284992"}, {"nodeId": ".-1.140042740827072"}], "returnType": {"nodeId": ".-1.140042740827072"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827072": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827072", "variance": "INVARIANT"}, "140042456284544": {"type": "Overloaded", "items": [{"nodeId": "140042740827520"}, {"nodeId": "140042740827968"}]}, "140042740827520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400720"}, {"nodeId": "140042456400384"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456400384": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042740827968": {"type": "Function", "typeVars": [".-1.140042740827968"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400272"}, {"nodeId": "140042456401168"}, {"nodeId": ".-1.140042740827968"}], "returnType": {"nodeId": ".-1.140042740827968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456401168": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827968", "variance": "INVARIANT"}, "140042473101952": {"type": "Overloaded", "items": [{"nodeId": "140042740828416"}, {"nodeId": "140042740828864"}]}, "140042740828416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400944"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400160"}, {"nodeId": "140042456400832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456400944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401728"}]}, "140042456401728": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456400160": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456400832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740828864": {"type": "Function", "typeVars": [".-1.140042740828864"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401392"}, {"nodeId": ".-1.140042740828864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400608"}, {"nodeId": "140042456401280"}], "returnType": {"nodeId": ".-1.140042740828864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456401392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401952"}]}, "140042456401952": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740828864": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740828864", "variance": "INVARIANT"}, "140042456400608": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456401280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399936": {"type": "Overloaded", "items": [{"nodeId": "140042740829312"}, {"nodeId": "140042740829760"}]}, "140042740829312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401616"}, {"nodeId": "140042456402176"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456401616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456400048"}]}, "140042456400048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402176": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456402064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740829760": {"type": "Function", "typeVars": [".-1.140042740829760"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456402400"}, {"nodeId": "140042456402736"}, {"nodeId": ".-1.140042740829760"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456401504"}], "returnType": {"nodeId": ".-1.140042740829760"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456402400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403296"}]}, "140042456403296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740829760": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740829760", "variance": "INVARIANT"}, "140042456401504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456401840": {"type": "Overloaded", "items": [{"nodeId": "140042740830208"}, {"nodeId": "140042740830656"}]}, "140042740830208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403520"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402512"}, {"nodeId": "140042456402624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403184"}]}, "140042456403184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456402624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740830656": {"type": "Function", "typeVars": [".-1.140042740830656"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403072"}, {"nodeId": ".-1.140042740830656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402848"}, {"nodeId": "140042456403408"}], "returnType": {"nodeId": ".-1.140042740830656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403744"}]}, "140042456403744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740830656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740830656", "variance": "INVARIANT"}, "140042456402848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456403408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456384896": {"type": "Function", "typeVars": [".-1.140042456384896"], "argTypes": [{"nodeId": ".-1.140042456384896"}, {"nodeId": "140042456402960"}], "returnType": {"nodeId": ".-1.140042456384896"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042456384896": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456384896", "variance": "INVARIANT"}, "140042456402960": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042473107888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456403632": {"type": "Overloaded", "items": [{"nodeId": "140042740831552"}, {"nodeId": "140042740832000"}]}, "140042740831552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403968"}, {"nodeId": "140042456404416"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404304"}, {"nodeId": "140042456404528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456403968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403856"}]}, "140042456403856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456404416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456404304": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740832000": {"type": "Function", "typeVars": [".-1.140042740832000"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456404752"}, {"nodeId": "140042456405200"}, {"nodeId": ".-1.140042740832000"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404080"}, {"nodeId": "140042456404864"}], "returnType": {"nodeId": ".-1.140042740832000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456404752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405760"}]}, "140042456405760": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456405200": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740832000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832000", "variance": "INVARIANT"}, "140042456404080": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456404976": {"type": "Overloaded", "items": [{"nodeId": "140042740832448"}, {"nodeId": "140042740832896"}]}, "140042740832448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405088"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456405088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456406208"}]}, "140042456406208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042740832896": {"type": "Function", "typeVars": [".-1.140042740832896"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406768"}, {"nodeId": ".-1.140042740832896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042740832896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456406768": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405648"}]}, "140042456405648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740832896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832896", "variance": "INVARIANT"}, "140042456406320": {"type": "Overloaded", "items": [{"nodeId": "140042740833344"}, {"nodeId": "140042740833792"}]}, "140042740833344": {"type": "Function", "typeVars": [".-1.140042740833344"], "argTypes": [{"nodeId": ".-1.140042740833344"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042740833344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833344": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740833344", "variance": "INVARIANT"}, "140042740833792": {"type": "Function", "typeVars": [".-1.140042740833792"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042740833792"}], "returnType": {"nodeId": ".-1.140042740833792"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833792": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740833792", "variance": "INVARIANT"}, "140042456405424": {"type": "Overloaded", "items": [{"nodeId": "140042740834240"}, {"nodeId": "140042740834688"}]}, "140042740834240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405536"}, {"nodeId": "140042456406656"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456405536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405872"}]}, "140042456405872": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456406432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740834688": {"type": "Function", "typeVars": [".-1.140042740834688"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406992"}, {"nodeId": "140042456407216"}, {"nodeId": ".-1.140042740834688"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406096"}], "returnType": {"nodeId": ".-1.140042740834688"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456406992": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407776"}]}, "140042456407776": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456407216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740834688": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740834688", "variance": "INVARIANT"}, "140042456406096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456405312": {"type": "Overloaded", "items": [{"nodeId": "140042740835136"}, {"nodeId": "140042740835584"}]}, "140042740835136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408000"}, {"nodeId": "140042456406880"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407104"}, {"nodeId": "140042456408672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456408000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407664"}]}, "140042456407664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456407104": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456408672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740835584": {"type": "Function", "typeVars": [".-1.140042740835584"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407552"}, {"nodeId": "140042456408560"}, {"nodeId": ".-1.140042740835584"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407440"}, {"nodeId": "140042456407328"}], "returnType": {"nodeId": ".-1.140042740835584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456407552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409008"}]}, "140042456409008": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408560": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740835584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740835584", "variance": "INVARIANT"}, "140042456407440": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456407328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456408112": {"type": "Overloaded", "items": [{"nodeId": "140042740836032"}, {"nodeId": "140042740836480"}]}, "140042740836032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407888"}, {"nodeId": "140042456409232"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456407888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409456"}]}, "140042456409456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456409232": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456408784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740836480": {"type": "Function", "typeVars": [".-1.140042740836480"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408336"}, {"nodeId": "140042456408896"}, {"nodeId": ".-1.140042740836480"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408448"}], "returnType": {"nodeId": ".-1.140042740836480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456408336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410128"}]}, "140042456410128": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408896": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740836480": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740836480", "variance": "INVARIANT"}, "140042456408448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042426600128": {"type": "Function", "typeVars": [".-1.140042426600128"], "argTypes": [{"nodeId": ".-1.140042426600128"}], "returnType": {"nodeId": ".-1.140042426600128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426600128": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426600128", "variance": "INVARIANT"}, "140042732311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042732311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472914416": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472914416", "variance": "INVARIANT"}, "140042732312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732313216": {"type": "Function", "typeVars": [".-1.140042732313216"], "argTypes": [{"nodeId": ".-1.140042732313216"}], "returnType": {"nodeId": ".-1.140042732313216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313216": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313216", "variance": "INVARIANT"}, "140042732313664": {"type": "Function", "typeVars": [".-1.140042732313664"], "argTypes": [{"nodeId": ".-1.140042732313664"}], "returnType": {"nodeId": ".-1.140042732313664"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313664": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313664", "variance": "INVARIANT"}, "140042732314112": {"type": "Function", "typeVars": [".-1.140042732314112"], "argTypes": [{"nodeId": ".-1.140042732314112"}], "returnType": {"nodeId": ".-1.140042732314112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732314112": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732314112", "variance": "INVARIANT"}, "140042472909712": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_NumberOp", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716477728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042716477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909712"}, {"nodeId": "140042456008848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144720": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464143824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464140688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463983680": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463979872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463976512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463983568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042455922864": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922752"}]}, "140042455922752": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455923088": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922976"}]}, "140042455922976": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471904": {"type": "Function", "typeVars": [".-1.140042716471904"], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042455923200"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923312"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923200": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716471904"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716471904"}]}]}, ".-1.140042716471904": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716471904", "variance": "INVARIANT"}, "140042455923312": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": ".-1.140042716471904"}]}, "140042472908704": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908704"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921856": {"type": "Overloaded", "items": [{"nodeId": "140042716472352"}, {"nodeId": "140042716472800"}, {"nodeId": "140042716473248"}, {"nodeId": "140042716473696"}]}, "140042716472352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908704": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908704", "variance": "INVARIANT"}, "140042716472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923648": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923536"}]}, "140042455923536": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923872": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923760"}]}, "140042455923760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473696": {"type": "Function", "typeVars": [".-1.140042716473696"], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042455923984"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455924096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923984": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716473696"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716473696"}]}]}, ".-1.140042716473696": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716473696", "variance": "INVARIANT"}, "140042455924096": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": ".-1.140042716473696"}]}, "140042472909040": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455922192"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909040"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455922192": {"type": "Overloaded", "items": [{"nodeId": "140042716474144"}, {"nodeId": "140042716474592"}, {"nodeId": "140042716475040"}, {"nodeId": "140042716475488"}]}, "140042716474144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909040": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909040", "variance": "INVARIANT"}, "140042716474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475488": {"type": "Function", "typeVars": [".-1.140042716475488"], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042456007168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007168": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716475488"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716475488"}]}]}, ".-1.140042716475488": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716475488", "variance": "INVARIANT"}, "140042716060064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455909872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909872": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909760"}]}, "140042455909760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910096": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909984"}]}, "140042455909984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455910320"}, {"nodeId": "140042455910544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910320": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910208"}]}, "140042455910208": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455910544": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910432"}]}, "140042455910432": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716061408": {"type": "Function", "typeVars": [".-1.140042716061408"], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716061408"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910656"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716061408": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716061408", "variance": "INVARIANT"}, "140042455910656": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": ".-1.140042716061408"}]}, "140042732510720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920240"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920464"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920464": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511616": {"type": "Function", "typeVars": [".-1.140042732511616"], "argTypes": [{"nodeId": ".-1.140042732511616"}], "returnType": {"nodeId": ".-1.140042732511616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732511616": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042732511616", "variance": "INVARIANT"}, "140042732512064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920688"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920688": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920912"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920912": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921136"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921136": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921360"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921360": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921584"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921584": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921808"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922032"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922032": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922256"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922256": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922480"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732516096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922704"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922704": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456273232": {"type": "Tuple", "items": [{"nodeId": "140042456273008"}]}, "140042456273008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042757810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274128"}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456274128": {"type": "Union", "items": [{"nodeId": "140042456273568"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274016"}]}, "140042456273568": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042464134864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042464034400"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}]}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042464034400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042577372752": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456274016": {"type": "Tuple", "items": [{"nodeId": "140042456273792"}]}, "140042456273792": {"type": "Union", "items": [{"nodeId": "140042456273680"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456273680": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042757810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274800"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456274800": {"type": "Union", "items": [{"nodeId": "140042456274240"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274688"}]}, "140042456274240": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456274688": {"type": "Tuple", "items": [{"nodeId": "140042456274464"}]}, "140042456274464": {"type": "Union", "items": [{"nodeId": "140042456274352"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456274352": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456022848": {"type": "Overloaded", "items": [{"nodeId": "140042757811200"}, {"nodeId": "140042757811648"}]}, "140042757811200": {"type": "Function", "typeVars": [".-1.140042757811200"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042757811200": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811200", "variance": "INVARIANT"}, "140042757811648": {"type": "Function", "typeVars": [".-1.140042757811648"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": ".-1.140042757811648"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757811648": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811648", "variance": "INVARIANT"}, "140042451841120": {"type": "Overloaded", "items": [{"nodeId": "140042737413568"}, {"nodeId": "140042737414016"}]}, "140042737413568": {"type": "Function", "typeVars": [".-1.140042737413568"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042451843584"}, {"nodeId": "140042451843696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451843808"}], "returnType": {"nodeId": ".-1.140042737413568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451843584": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042468147600": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042451843808": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042468234896": {"type": "Concrete", "module": "numpy", "simpleName": "_CopyMode", "members": [{"kind": "Variable", "name": "ALWAYS", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "IF_NEEDED", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "NEVER", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573233312": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544084384"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527659328"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248800"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776256"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527349376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648928992"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929440"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929888"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648930336"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544084384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527659328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573248800": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527776256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140042527349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140042648928992": {"type": "Function", "typeVars": [".-1.140042648928992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042648928992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648928992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648928992", "variance": "INVARIANT"}, "140042648929440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042648930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, ".-1.140042737413568": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737413568", "variance": "INVARIANT"}, "140042737414016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451844256"}, {"nodeId": "140042451843360"}, {"nodeId": "140042451843920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451844032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451844256": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451843360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843920": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042451844032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042451842128": {"type": "Overloaded", "items": [{"nodeId": "140042737414464"}, {"nodeId": "140042737414912"}, {"nodeId": "140042737415360"}]}, "140042737414464": {"type": "Function", "typeVars": [".-1.140042737414464"], "argTypes": [{"nodeId": ".-1.140042737414464"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "type"]}, ".-1.140042737414464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414464", "variance": "INVARIANT"}, "140042737414912": {"type": "Function", "typeVars": [".-1.140042737414912"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, ".-1.140042737414912": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414912", "variance": "INVARIANT"}, "140042737415360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451910944"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042451910944": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451844368": {"type": "Overloaded", "items": [{"nodeId": "140042737415808"}, {"nodeId": "140042737416256"}]}, "140042737415808": {"type": "Function", "typeVars": [".-1.140042737415808"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042737415808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, ".-1.140042737415808": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737415808", "variance": "INVARIANT"}, "140042737416256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451911504"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042451911504": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042737416704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451912848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451912848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451911952"}, {"nodeId": "140042451912512"}]}, "140042451911952": {"type": "Tuple", "items": []}, "140042451912512": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042451844480": {"type": "Overloaded", "items": [{"nodeId": "140042451703552"}, {"nodeId": "140042737417600"}, {"nodeId": "140042732306496"}]}, "140042451703552": {"type": "Function", "typeVars": [".-1.140042451703552"], "argTypes": [{"nodeId": ".-1.140042451703552"}, {"nodeId": "140042451911616"}, {"nodeId": "140042451912736"}, {"nodeId": "N"}, {"nodeId": "140042451911168"}], "returnType": {"nodeId": ".-1.140042451703552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042451703552": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451703552", "variance": "INVARIANT"}, "140042451911616": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042451912736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451911168": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042737417600": {"type": "Function", "typeVars": [".-1.140042737417600"], "argTypes": [{"nodeId": ".-1.140042737417600"}, {"nodeId": "140042451913408"}, {"nodeId": "140042451912960"}, {"nodeId": "N"}, {"nodeId": "140042451913184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042737417600"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042737417600": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737417600", "variance": "INVARIANT"}, "140042451913408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451912960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451913184": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042732306496": {"type": "Function", "typeVars": [".-1.140042732306496"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451913744"}, {"nodeId": "140042451911728"}, {"nodeId": ".-1.140042732306496"}, {"nodeId": "140042451913520"}], "returnType": {"nodeId": ".-1.140042732306496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042451913744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451911728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042732306496": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042732306496", "variance": "INVARIANT"}, "140042451913520": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042451704000": {"type": "Function", "typeVars": [".-1.140042451704000"], "argTypes": [{"nodeId": ".-1.140042451704000"}, {"nodeId": "140042451914080"}, {"nodeId": "140042451913632"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, ".-1.140042451704000": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704000", "variance": "INVARIANT"}, "140042451914080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451913632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451704448": {"type": "Function", "typeVars": [".-1.140042451704448"], "argTypes": [{"nodeId": ".-1.140042451704448"}, {"nodeId": "140042451913968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704448"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704448": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704448", "variance": "INVARIANT"}, "140042451913968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451704672": {"type": "Function", "typeVars": [".-1.140042451704672"], "argTypes": [{"nodeId": ".-1.140042451704672"}, {"nodeId": "140042451914416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704672"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704672", "variance": "INVARIANT"}, "140042451914416": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451913072": {"type": "Overloaded", "items": [{"nodeId": "140042451704896"}, {"nodeId": "140042732308736"}]}, "140042451704896": {"type": "Function", "typeVars": [".-1.140042451704896"], "argTypes": [{"nodeId": ".-1.140042451704896"}, {"nodeId": "140042451914528"}, {"nodeId": "140042451914640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704896"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, ".-1.140042451704896": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704896", "variance": "INVARIANT"}, "140042451914528": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042451914640": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042473108224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042732308736": {"type": "Function", "typeVars": [".-1.140042732308736"], "argTypes": [{"nodeId": ".-1.140042732308736"}, {"nodeId": "140042577727152"}, {"nodeId": "140042451914752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042732308736"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, ".-1.140042732308736": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732308736", "variance": "INVARIANT"}, "140042451914752": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042732309184": {"type": "Function", "typeVars": [".-1.140042732309184"], "argTypes": [{"nodeId": ".-1.140042732309184"}, {"nodeId": "140042451915648"}], "returnType": {"nodeId": ".-1.140042732309184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, ".-1.140042732309184": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309184", "variance": "INVARIANT"}, "140042451915648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042451915424"}]}, "140042451915424": {"type": "Tuple", "items": []}, "140042732309632": {"type": "Function", "typeVars": [".-1.140042732309632"], "argTypes": [{"nodeId": ".-1.140042732309632"}, {"nodeId": "140042451915984"}], "returnType": {"nodeId": ".-1.140042732309632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042732309632": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309632", "variance": "INVARIANT"}, "140042451915984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042451915872"}]}, "140042451915872": {"type": "Tuple", "items": []}, "140042426599232": {"type": "Function", "typeVars": [".-1.140042426599232"], "argTypes": [{"nodeId": ".-1.140042426599232"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599232": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599232", "variance": "INVARIANT"}, "140042745922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042745922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010528": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010640"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042456010752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042468150400": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010864": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042468151296": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152080": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468234224": {"type": "Concrete", "module": "numpy", "simpleName": "str_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839296"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839744"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577367376"}], "isAbstract": false}, "140042452045152": {"type": "Overloaded", "items": [{"nodeId": "140042732838400"}, {"nodeId": "140042732838848"}]}, "140042732838400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732838848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732839296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042452047392"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452047392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452046944"}, {"nodeId": "140042452047280"}]}, "140042452046944": {"type": "Tuple", "items": []}, "140042452047280": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732839744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468233552": {"type": "Concrete", "module": "numpy", "simpleName": "character", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835712"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732836160"}, "name": "__float__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": true}, "140042732835712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732836160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042468232880": {"type": "Concrete", "module": "numpy", "simpleName": "flexible", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042745924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468233888": {"type": "Concrete", "module": "numpy", "simpleName": "bytes_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837504"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837952"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577732864"}], "isAbstract": false}, "140042452046496": {"type": "Overloaded", "items": [{"nodeId": "140042732836608"}, {"nodeId": "140042732837056"}]}, "140042732836608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732837056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732837504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042452046272"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452046272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452045824"}, {"nodeId": "140042452046160"}]}, "140042452045824": {"type": "Tuple", "items": []}, "140042452046160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732837952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042745924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011088"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011088": {"type": "Union", "items": [{"nodeId": "140042456010976"}, {"nodeId": "0"}]}, "140042456010976": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042494220032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011200": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042468231536": {"type": "Concrete", "module": "numpy", "simpleName": "unsignedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674112"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}], "typeVars": [{"nodeId": ".1.140042468231536"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468231536"}]}], "isAbstract": false}, "140042732674112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042468231536"}]}, {"nodeId": "140042451925616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468231536": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231536", "variance": "INVARIANT"}, "140042451925616": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042472905680": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455909312"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905680"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455909312": {"type": "Overloaded", "items": [{"nodeId": "140042716061856"}, {"nodeId": "140042716062304"}, {"nodeId": "140042716062752"}, {"nodeId": "140042716063200"}, {"nodeId": "140042716063648"}]}, "140042716061856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472905680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905680": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905680", "variance": "INVARIANT"}, "140042716062304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042455910992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716062752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455911328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911328": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911216"}]}, "140042455911216": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455911552"}, {"nodeId": "140042455911776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911552": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911440"}]}, "140042455911440": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455911776": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911664"}]}, "140042455911664": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063648": {"type": "Function", "typeVars": [".-1.140042716063648"], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716063648"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455911888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716063648": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716063648", "variance": "INVARIANT"}, "140042455911888": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": ".-1.140042716063648"}]}, "140042472906016": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455842400"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906016"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455842400": {"type": "Overloaded", "items": [{"nodeId": "140042716064096"}, {"nodeId": "140042716064544"}, {"nodeId": "140042716064992"}, {"nodeId": "140042716065440"}]}, "140042716064096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906016": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906016", "variance": "INVARIANT"}, "140042716064544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716064992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716065440": {"type": "Function", "typeVars": [".-1.140042716065440"], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716065440"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455913344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716065440": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716065440", "variance": "INVARIANT"}, "140042455913344": {"type": "Union", "items": [{"nodeId": ".1.140042472906016"}, {"nodeId": ".-1.140042716065440"}]}, "140042472906352": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464023984"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906352"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464023984": {"type": "Overloaded", "items": [{"nodeId": "140042716065888"}, {"nodeId": "140042716066336"}, {"nodeId": "140042716066784"}, {"nodeId": "140042716067232"}]}, "140042716065888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906352": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906352", "variance": "INVARIANT"}, "140042716066336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042455914128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716066784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455914688"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914688": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": "140042455914576"}]}, "140042455914576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716067232": {"type": "Function", "typeVars": [".-1.140042716067232"], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716067232"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455915024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716067232": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716067232", "variance": "INVARIANT"}, "140042455915024": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": ".-1.140042716067232"}]}, "140042472906688": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464031936"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906688"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464031936": {"type": "Overloaded", "items": [{"nodeId": "140042716067680"}, {"nodeId": "140042716068128"}, {"nodeId": "140042716068576"}, {"nodeId": "140042716069024"}]}, "140042716067680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906688": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906688", "variance": "INVARIANT"}, "140042716068128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042455915920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455915920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716068576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716069024": {"type": "Function", "typeVars": [".-1.140042716069024"], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716069024"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716069024": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716069024", "variance": "INVARIANT"}, "140042745925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011312"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010416": {"type": "Union", "items": [{"nodeId": "140042456011760"}, {"nodeId": "0"}]}, "140042456011760": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042494220704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042745925632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011648": {"type": "Union", "items": [{"nodeId": "140042456012096"}, {"nodeId": "0"}]}, "140042456012096": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042494221376": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011424": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042745926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011984"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011536"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011984": {"type": "Union", "items": [{"nodeId": "140042456012432"}, {"nodeId": "0"}]}, "140042456012432": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042494222048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042745926528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012320": {"type": "Union", "items": [{"nodeId": "140042456012768"}, {"nodeId": "0"}]}, "140042456012768": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042484861632": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011872": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468148832"}]}}, "140042468148832": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745926976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012656": {"type": "Union", "items": [{"nodeId": "140042456013104"}, {"nodeId": "0"}]}, "140042456013104": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042484862304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012208": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149056"}]}}, "140042468149056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012992"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012544"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012992": {"type": "Union", "items": [{"nodeId": "140042456013440"}, {"nodeId": "0"}]}, "140042456013440": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042484862976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012544": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149280"}]}}, "140042468149280": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013328"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012880"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013328": {"type": "Union", "items": [{"nodeId": "140042456013776"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013776": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042484863872": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012880": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149392"}]}}, "140042468149392": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013664"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013664": {"type": "Union", "items": [{"nodeId": "140042456014224"}, {"nodeId": "0"}]}, "140042456014224": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042484864656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013216": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042468149504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013552"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014112": {"type": "Union", "items": [{"nodeId": "140042456014560"}, {"nodeId": "0"}]}, "140042456014560": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042484865216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149616"}]}}, "140042468149616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745929216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014448": {"type": "Union", "items": [{"nodeId": "140042456014784"}, {"nodeId": "0"}]}, "140042456014784": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042494222720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042745929664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014672"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014672": {"type": "Union", "items": [{"nodeId": "140042456015120"}, {"nodeId": "0"}]}, "140042456015120": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042494223392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042745930112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014336"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015008": {"type": "Union", "items": [{"nodeId": "140042456015456"}, {"nodeId": "0"}]}, "140042456015456": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042494224064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014336": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042745930560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015344"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015344": {"type": "Union", "items": [{"nodeId": "140042456015792"}, {"nodeId": "0"}]}, "140042456015792": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042494224736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014896": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042745931008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015680"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015680": {"type": "Union", "items": [{"nodeId": "140042456016128"}, {"nodeId": "0"}]}, "140042456016128": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042494228768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015232": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042473111024"}]}}, "140042473111024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016016": {"type": "Union", "items": [{"nodeId": "140042456016464"}, {"nodeId": "0"}]}, "140042456016464": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042494229440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015568": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148048"}]}}, "140042468148048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016352": {"type": "Union", "items": [{"nodeId": "140042456016800"}, {"nodeId": "0"}]}, "140042456016800": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042494230112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015904": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148384"}]}}, "140042468148384": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745932352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016688"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016688": {"type": "Union", "items": [{"nodeId": "140042456017136"}, {"nodeId": "0"}]}, "140042456017136": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042484859504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016240": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042745932800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017024"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016576"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017024": {"type": "Union", "items": [{"nodeId": "140042456017584"}, {"nodeId": "0"}]}, "140042456017584": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042484860512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016576": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745933248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017472": {"type": "Union", "items": [{"nodeId": "140042456018032"}, {"nodeId": "0"}]}, "140042456018032": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042484860960": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016912": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148720"}]}}, "140042468148720": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745933696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018144"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017920"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018144": {"type": "TypeAlias", "target": {"nodeId": "140042494225408"}}, "140042494225408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661936"}]}}, "140042745934144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018368"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017808"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018368": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042494226080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017808": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042745934592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018592"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018256"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018592": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042494226752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018256": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042745935040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018816"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018480"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018816": {"type": "TypeAlias", "target": {"nodeId": "140042484865888"}}, "140042484865888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468149840"}]}}, "140042468149840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018704"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017248"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018704": {"type": "Union", "items": [{"nodeId": "140042456019040"}, {"nodeId": "0"}]}, "140042456019040": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042484866560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017248": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150064"}]}}, "140042468150064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018928"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017360"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018928": {"type": "Union", "items": [{"nodeId": "140042456019376"}, {"nodeId": "0"}]}, "140042456019376": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042484867680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150288"}]}}, "140042468150288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019264"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017696"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019264": {"type": "Union", "items": [{"nodeId": "140042456019936"}, {"nodeId": "0"}]}, "140042456019936": {"type": "TypeAlias", "target": {"nodeId": "140042484868352"}}, "140042484868352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150512"}]}}, "140042468150512": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020160": {"type": "TypeAlias", "target": {"nodeId": "140042494227424"}}, "140042494227424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019824": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661600"}, {"nodeId": "140042472661600"}]}}, "140042745937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020272"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020272": {"type": "TypeAlias", "target": {"nodeId": "140042494228096"}}, "140042494228096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020048": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042762010688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020496": {"type": "TypeAlias", "target": {"nodeId": "140042484869136"}}, "140042484869136": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019712": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468150736"}, {"nodeId": "140042468151408"}]}}, "140042468150736": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151408": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020832": {"type": "TypeAlias", "target": {"nodeId": "140042484870368"}}, "140042484870368": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151184"}, {"nodeId": "140042468151856"}]}}, "140042468151184": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151856": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021280": {"type": "TypeAlias", "target": {"nodeId": "140042484871152"}}, "140042484871152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020720": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151744"}, {"nodeId": "140042468152528"}]}}, "140042468151744": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762012032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021168"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021168": {"type": "Union", "items": [{"nodeId": "140042456021392"}, {"nodeId": "0"}]}, "140042456021392": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042494219584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021616"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021616": {"type": "TypeAlias", "target": {"nodeId": "140042484962736"}}, "140042484962736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468231200": {"type": "Concrete", "module": "numpy", "simpleName": "timedelta64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516992"}, "name": "__init__"}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852384"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732666944"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667392"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668288"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669632"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670080"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670528"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670976"}, "name": "__rmul__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042464147856"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042468148944"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671424"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671872"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672320"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672768"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673664"}, "name": "__rdivmod__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464147632"}, {"nodeId": "140042464147184"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345696"}, {"nodeId": "140042464345920"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345808"}, {"nodeId": "140042464477248"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464477696"}, {"nodeId": "140042464477360"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732516992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451923152"}, {"nodeId": "140042451923824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451923152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451923040"}, {"nodeId": "140042480721520"}, {"nodeId": "140042468231200"}]}, "140042451923040": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042480721520": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648625312"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489670880"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489671776"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489672000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627104"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628448"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628896"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629344"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629792"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630688"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648631136"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489398880"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489400560"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648731936"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732384"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733280"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734176"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734624"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042648625312": {"type": "Function", "typeVars": [".-1.140042648625312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042648625312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140042648625312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648625312", "variance": "INVARIANT"}, "140042489670880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489671776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489672000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648629344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648629792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648631136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489398880": {"type": "Overloaded", "items": [{"nodeId": "140042648631584"}, {"nodeId": "140042648632032"}]}, "140042648631584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489400560": {"type": "Overloaded", "items": [{"nodeId": "140042648632480"}, {"nodeId": "140042648632928"}]}, "140042648632480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648731936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648732384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042489401792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480721520"}]}, "140042648732832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451923824": {"type": "Union", "items": [{"nodeId": "140042451923264"}, {"nodeId": "140042451923712"}]}, "140042451923264": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923712": {"type": "Tuple", "items": [{"nodeId": "140042451923376"}, {"nodeId": "140042451923488"}]}, "140042451923376": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923488": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042426852384": {"type": "Function", "typeVars": [".-1.140042426852384"], "argTypes": [{"nodeId": ".-1.140042426852384"}], "returnType": {"nodeId": ".-1.140042426852384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426852384": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426852384", "variance": "INVARIANT"}, "140042426852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732518336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732518784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732667392": {"type": "Function", "typeVars": [".-1.140042732667392"], "argTypes": [{"nodeId": ".-1.140042732667392"}], "returnType": {"nodeId": ".-1.140042732667392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667392": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667392", "variance": "INVARIANT"}, "140042732667840": {"type": "Function", "typeVars": [".-1.140042732667840"], "argTypes": [{"nodeId": ".-1.140042732667840"}], "returnType": {"nodeId": ".-1.140042732667840"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667840": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667840", "variance": "INVARIANT"}, "140042732668288": {"type": "Function", "typeVars": [".-1.140042732668288"], "argTypes": [{"nodeId": ".-1.140042732668288"}], "returnType": {"nodeId": ".-1.140042732668288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732668288": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732668288", "variance": "INVARIANT"}, "140042732668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924048"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924048": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042469022336": {"type": "Union", "items": [{"nodeId": "140042469022560"}, {"nodeId": "140042468231200"}]}, "140042469022560": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732669184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924160"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924160": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924272"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924272": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924384"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924384": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924496"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924496": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042469021664": {"type": "Union", "items": [{"nodeId": "140042469021440"}, {"nodeId": "140042577366032"}, {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "140042469021440": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732670976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924608"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924608": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042472905008": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_TD64Div", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841280"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905008"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841280": {"type": "Overloaded", "items": [{"nodeId": "140042716058272"}, {"nodeId": "140042716058720"}, {"nodeId": "140042716059168"}]}, "140042716058272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": ".1.140042472905008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905008": {"type": "TypeVar", "varName": "_NumberType_co", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042472905008", "variance": "COVARIANT"}, "140042716058720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909424": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716059168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909536"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909536": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042464147856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468148944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732671424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924720": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732671872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924832": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732672320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732672768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732673216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451925168": {"type": "Tuple", "items": [{"nodeId": "140042451924944"}, {"nodeId": "140042468231200"}]}, "140042451924944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732673664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451925504": {"type": "Tuple", "items": [{"nodeId": "140042451925280"}, {"nodeId": "140042468231200"}]}, "140042451925280": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042464147632": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464147184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464345920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345808": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464477696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021056": {"type": "TypeAlias", "target": {"nodeId": "140042484916720"}}, "140042484916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468230192": {"type": "Concrete", "module": "numpy", "simpleName": "datetime64", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451914976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504448"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504896"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451915536"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732506240"}, "name": "__rsub__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345360"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464344800"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345024"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345248"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042451914976": {"type": "Overloaded", "items": [{"nodeId": "140042732503552"}, {"nodeId": "140042732504000"}]}, "140042732503552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451917216"}, {"nodeId": "140042451917888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451917216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468230192"}, {"nodeId": "140042451917104"}, {"nodeId": "140042468229856"}]}, "140042451917104": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042468229856": {"type": "Protocol", "module": "numpy", "simpleName": "_DatetimeScalar", "members": [{"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603936"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604384"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604608"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["day", "month", "year"]}, "140042426603936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451917888": {"type": "Union", "items": [{"nodeId": "140042451917328"}, {"nodeId": "140042451917776"}]}, "140042451917328": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917776": {"type": "Tuple", "items": [{"nodeId": "140042451917440"}, {"nodeId": "140042451917552"}]}, "140042451917440": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917552": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451918560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042451918560": {"type": "Union", "items": [{"nodeId": "140042451918000"}, {"nodeId": "140042451918448"}]}, "140042451918000": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918448": {"type": "Tuple", "items": [{"nodeId": "140042451918112"}, {"nodeId": "140042451918224"}]}, "140042451918112": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918672"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918672": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732504896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918784"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918784": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042451915536": {"type": "Overloaded", "items": [{"nodeId": "140042732505344"}, {"nodeId": "140042732505792"}]}, "140042732505344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732505792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451919008"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451919008": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732506240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464345360": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042463969792": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}]}]}, "140042472657904": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArray", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722176"}, "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042472657904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array__"]}, "140042631722176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657904", "args": [{"nodeId": ".1.140042472657904"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472657904"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472657904": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472657904", "variance": "COVARIANT"}, "140042464344800": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345024": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345248": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042762013376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019152": {"type": "TypeAlias", "target": {"nodeId": "140042484872496"}}, "140042484872496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762013824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021504": {"type": "Union", "items": [{"nodeId": "140042456022176"}, {"nodeId": "0"}]}, "140042456022176": {"type": "TypeAlias", "target": {"nodeId": "140042484873168"}}, "140042484873168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021952"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021952": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042484873840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468233216": {"type": "Concrete", "module": "numpy", "simpleName": "void", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451919232"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422062656"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422063104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732833920"}, "name": "setfield"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452043024"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835264"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": false}, "140042451919232": {"type": "Overloaded", "items": [{"nodeId": "140042732832128"}, {"nodeId": "140042732832576"}]}, "140042732832128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452044592"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, "dtype"]}, "140042452044592": {"type": "Union", "items": [{"nodeId": "140042452044480"}, {"nodeId": "140042577732864"}]}, "140042452044480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732832576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "A"}, {"nodeId": "140042452044816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, "dtype"]}, "140042452044816": {"type": "TypeAlias", "target": {"nodeId": "140042464339648"}}, "140042464339648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469102352"}, {"nodeId": "140042464339312"}]}, "140042469102352": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042464339312": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042422062656": {"type": "Function", "typeVars": [".-1.140042422062656"], "argTypes": [{"nodeId": ".-1.140042422062656"}], "returnType": {"nodeId": ".-1.140042422062656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422062656": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422062656", "variance": "INVARIANT"}, "140042422063104": {"type": "Function", "typeVars": [".-1.140042422063104"], "argTypes": [{"nodeId": ".-1.140042422063104"}], "returnType": {"nodeId": ".-1.140042422063104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422063104": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422063104", "variance": "INVARIANT"}, "140042732833920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045376"}, {"nodeId": "140042452045040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042452045376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452045040": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452043024": {"type": "Overloaded", "items": [{"nodeId": "140042732834368"}, {"nodeId": "140042732834816"}]}, "140042732834368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452045600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042732834816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468233216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732835264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045264"}, {"nodeId": "140042452044368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452045264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577727152"}]}, "140042452044368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456022064"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456022064": {"type": "Union", "items": [{"nodeId": "140042456021728"}, {"nodeId": "0"}]}, "140042456021728": {"type": "TypeAlias", "target": {"nodeId": "140042484874624"}}, "140042484874624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468229520": {"type": "Concrete", "module": "numpy", "simpleName": "object_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732319040"}, "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602816"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320384"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320832"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732321280"}, "name": "__complex__"}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732319040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042426602816": {"type": "Function", "typeVars": [".-1.140042426602816"], "argTypes": [{"nodeId": ".-1.140042426602816"}], "returnType": {"nodeId": ".-1.140042426602816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602816": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602816", "variance": "INVARIANT"}, "140042426603264": {"type": "Function", "typeVars": [".-1.140042426603264"], "argTypes": [{"nodeId": ".-1.140042426603264"}], "returnType": {"nodeId": ".-1.140042426603264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426603264": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426603264", "variance": "INVARIANT"}, "140042732320384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732320832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732321280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042762015168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762015616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020944": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042762016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456009856": {"type": "Overloaded", "items": [{"nodeId": "140042762017856"}, {"nodeId": "140042762018304"}]}, "140042762017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042456020608"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456020608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042456022400": {"type": "Overloaded", "items": [{"nodeId": "140042762018752"}, {"nodeId": "140042762019200"}, {"nodeId": "140042762019648"}]}, "140042762018752": {"type": "Function", "typeVars": [".-1.140042762018752"], "argTypes": [{"nodeId": ".-1.140042762018752"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042762018752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762018752": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042762018752", "variance": "INVARIANT"}, "140042762019200": {"type": "Function", "typeVars": [".-1.140042762019200"], "argTypes": [{"nodeId": ".-1.140042762019200"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762019200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762019200": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762019200", "variance": "INVARIANT"}, "140042762019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456019600": {"type": "Overloaded", "items": [{"nodeId": "140042762020096"}, {"nodeId": "140042762020544"}]}, "140042762020096": {"type": "Function", "typeVars": [".-1.140042762020096"], "argTypes": [{"nodeId": ".-1.140042762020096"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762020096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762020096": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762020096", "variance": "INVARIANT"}, "140042762020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456268976"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456268976": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270432"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430771744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042456269984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456269984": {"type": "Union", "items": [{"nodeId": "140042456269424"}, {"nodeId": "140042456269872"}]}, "140042456269424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042456269872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042456269088"}]}, "140042456269088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430774880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042456271216"}]}]}, "140042456271216": {"type": "Union", "items": [{"nodeId": "140042456270208"}, {"nodeId": "140042456271104"}]}, "140042456270208": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456271104": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042430857280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042430859072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271664": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430859744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456272224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456272224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456272112"}]}, "140042456272112": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456271888"}]}, "140042456271888": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042455610336": {"type": "Function", "typeVars": [".-1.140042455610336"], "argTypes": [{"nodeId": ".-1.140042455610336"}, {"nodeId": "140042456272336"}], "returnType": {"nodeId": ".-1.140042455610336"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042455610336": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042455610336", "variance": "INVARIANT"}, "140042456272336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042430860192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430860416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456410464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042431126368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042431127040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409568": {"type": "Overloaded", "items": [{"nodeId": "140042456386240"}]}, "140042456386240": {"type": "Function", "typeVars": [".-1.140042456386240"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042456386240"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386240"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913072": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431123680"}}], "typeVars": [{"nodeId": ".1.140042472913072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042431123680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913072", "args": [{"nodeId": ".1.140042472913072"}]}], "returnType": {"nodeId": ".1.140042472913072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913072", "variance": "COVARIANT"}, ".-1.140042456386240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386240", "variance": "INVARIANT"}, "140042431127264": {"type": "Function", "typeVars": [".-1.140042431127264"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042431127264"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127264"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127264": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127264", "variance": "INVARIANT"}, "140042456410576": {"type": "Overloaded", "items": [{"nodeId": "140042456386464"}]}, "140042456386464": {"type": "Function", "typeVars": [".-1.140042456386464"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042456386464"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913408": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431125024"}}], "typeVars": [{"nodeId": ".1.140042472913408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042431125024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913408", "args": [{"nodeId": ".1.140042472913408"}]}], "returnType": {"nodeId": ".1.140042472913408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913408", "variance": "COVARIANT"}, ".-1.140042456386464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386464", "variance": "INVARIANT"}, "140042431127488": {"type": "Function", "typeVars": [".-1.140042431127488"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042431127488"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127488"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127488": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127488", "variance": "INVARIANT"}, "140042456386688": {"type": "Function", "typeVars": [".-1.140042456386688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456409904"}, {"nodeId": "140042456410688"}, {"nodeId": "140042456411024"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456410912"}, {"nodeId": "140042456411360"}], "returnType": {"nodeId": ".-1.140042456386688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "shape", "dtype", "buffer", "offset", "strides", "order"]}, "140042456409904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456410688": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456411024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410352"}]}, "140042456410352": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042464140128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "0"}, {"nodeId": "140042472914080"}]}, "140042456410912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410800"}]}, "140042456410800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456411360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042456386688": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456386688", "variance": "INVARIANT"}, "140042740841856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456411136": {"type": "Overloaded", "items": [{"nodeId": "140042741088320"}, {"nodeId": "140042741088768"}]}, "140042741088320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042741088768": {"type": "Function", "typeVars": [".-1.140042741088768"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": ".-1.140042741088768"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042741088768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741088768": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741088768", "variance": "INVARIANT"}, "140042741089216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042468234560"}, {"nodeId": "140042456412592"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042468234560": {"type": "Concrete", "module": "numpy", "simpleName": "ufunc", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422068256"}}, {"kind": "Variable", "name": "__doc__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069152"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472561728"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069376"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069600"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069824"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070048"}}, {"kind": "Variable", "name": "types", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070272"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070496"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070720"}}, {"kind": "Variable", "name": "reduce", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "accumulate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042422069376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042452047616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452047616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042456412592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042741089664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456385568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042456385568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042741090112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456413712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456413712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042741090560": {"type": "Function", "typeVars": [".-1.140042741090560", ".-2.140042741090560"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, {"nodeId": "140042456414160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741090560": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741090560", "variance": "INVARIANT"}, ".-2.140042741090560": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741090560", "variance": "INVARIANT"}, "140042456414160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414048"}]}, "140042456414048": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042741091008": {"type": "Function", "typeVars": [".-1.140042741091008", ".-2.140042741091008"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, {"nodeId": "140042456414608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741091008": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741091008", "variance": "INVARIANT"}, ".-2.140042741091008": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741091008", "variance": "INVARIANT"}, "140042456414608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414496"}]}, "140042456414496": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456412256": {"type": "Overloaded", "items": [{"nodeId": "140042741091456"}, {"nodeId": "140042741091904"}, {"nodeId": "140042741092352"}, {"nodeId": "140042741092800"}, {"nodeId": "140042741093248"}]}, "140042741091456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456415504"}]}]}, "140042456415504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042741091904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415840": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741092352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456482080"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456482080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456416064"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456481968"}]}]}, "140042456416064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456481968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456481856"}, {"nodeId": "140042577727152"}]}, "140042456481856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741092800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741093248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042431128384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409792": {"type": "Overloaded", "items": [{"nodeId": "140042741094144"}]}, "140042741094144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456482864": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431127712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456284208": {"type": "Overloaded", "items": [{"nodeId": "140042741095040"}]}, "140042741095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456483200": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431128608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741095936": {"type": "Function", "typeVars": [".-1.140042741095936"], "argTypes": [{"nodeId": ".-1.140042741095936"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042741095936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042741095936": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741095936", "variance": "INVARIANT"}, "140042741096384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042431128832": {"type": "Function", "typeVars": [".-1.140042431128832"], "argTypes": [{"nodeId": ".-1.140042431128832"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": ".-1.140042431128832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431128832": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042431128832", "variance": "INVARIANT"}, "140042456482752": {"type": "Overloaded", "items": [{"nodeId": "140042456388032"}, {"nodeId": "140042741097728"}]}, "140042456388032": {"type": "Function", "typeVars": [".-1.140042456388032"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042456388032"}]}]}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042456388032"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042472912736": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740836928"}, "name": "item"}], "typeVars": [{"nodeId": ".1.140042472912736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["item"]}, "140042740836928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912736", "args": [{"nodeId": ".1.140042472912736"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042472912736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912736", "variance": "COVARIANT"}, ".-1.140042456388032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042456388032", "variance": "INVARIANT"}, "140042741097728": {"type": "Function", "typeVars": [".-1.140042741097728"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042741097728"}]}]}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": ".-1.140042741097728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741097728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042741097728", "variance": "INVARIANT"}, "140042456483088": {"type": "Overloaded", "items": [{"nodeId": "140042741098176"}, {"nodeId": "140042741098624"}]}, "140042741098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741098624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484096"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456484096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456483536": {"type": "Overloaded", "items": [{"nodeId": "140042741099072"}, {"nodeId": "140042741099520"}]}, "140042741099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484432"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "refcheck"]}, "140042456484432": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "new_shape", "refcheck"]}, "140042741099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "write", "align", "uic"]}, "140042741100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042456484544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741100864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "axis1", "axis2"]}, "140042456483872": {"type": "Overloaded", "items": [{"nodeId": "140042456388480"}, {"nodeId": "140042741101760"}]}, "140042456388480": {"type": "Function", "typeVars": [".-1.140042456388480"], "argTypes": [{"nodeId": ".-1.140042456388480"}, {"nodeId": "140042456485104"}], "returnType": {"nodeId": ".-1.140042456388480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042456388480": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456388480", "variance": "INVARIANT"}, "140042456485104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456484992"}]}, "140042456484992": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741101760": {"type": "Function", "typeVars": [".-1.140042741101760"], "argTypes": [{"nodeId": ".-1.140042741101760"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042741101760"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "axes"]}, ".-1.140042741101760": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741101760", "variance": "INVARIANT"}, "140042741102208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485216"}, {"nodeId": "140042456485328"}, {"nodeId": "140042456485440"}, {"nodeId": "140042456485552"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456485776"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456485216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456485440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456485776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2"]}, "140042456484320": {"type": "Overloaded", "items": [{"nodeId": "140042741103104"}, {"nodeId": "140042741103552"}, {"nodeId": "140042741104000"}]}, "140042741103104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485888"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456485888": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042469021776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042472914080"}]}, "140042741103552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486336"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456486336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741104000": {"type": "Function", "typeVars": [".-1.140042741104000"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486672"}, {"nodeId": ".-1.140042741104000"}], "returnType": {"nodeId": ".-1.140042741104000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "b", "out"]}, "140042456486672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042741104000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741104000", "variance": "INVARIANT"}, "140042741268544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456484880"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456484880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741268992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486896"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456487008"}, {"nodeId": "140042456487120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456486896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042741269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487456"}, {"nodeId": "140042456486784"}, {"nodeId": "140042456487232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ind", "v", "mode"]}, "140042456487456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456486784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487232": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456486000": {"type": "Overloaded", "items": [{"nodeId": "140042741269888"}, {"nodeId": "140042741270336"}]}, "140042741269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487344"}, {"nodeId": "140042456487680"}, {"nodeId": "140042456488016"}], "returnType": {"nodeId": "140042456488128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487344": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042456487680": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042473109904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042456488016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456487904"}]}, "140042456487904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488128": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487568"}, {"nodeId": "140042456488464"}, {"nodeId": "140042456488576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456488800"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488464": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042456488576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456488352"}]}, "140042456488352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488800": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456488912"}, {"nodeId": "140042456489024"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042456488912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489024": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741271232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456489248"}, {"nodeId": "140042456489136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456489248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456489920"}]}, "140042456489920": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042456489136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456487792": {"type": "Overloaded", "items": [{"nodeId": "140042741271680"}, {"nodeId": "140042741272128"}]}, "140042741271680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490480"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490480": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741272128": {"type": "Function", "typeVars": [".-1.140042741272128"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490592"}, {"nodeId": ".-1.140042741272128"}], "returnType": {"nodeId": ".-1.140042741272128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741272128": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741272128", "variance": "INVARIANT"}, "140042456489808": {"type": "Overloaded", "items": [{"nodeId": "140042456390496"}, {"nodeId": "140042741273024"}, {"nodeId": "140042741273472"}]}, "140042456390496": {"type": "Function", "typeVars": [".-1.140042456390496"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456390496"}]}]}, {"nodeId": "140042456488240"}, {"nodeId": "140042456489360"}, {"nodeId": "N"}, {"nodeId": "140042456490256"}], "returnType": {"nodeId": ".-1.140042456390496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042456390496": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456390496", "variance": "INVARIANT"}, "140042456488240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456489360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456490256": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490144"}, {"nodeId": "140042456490368"}, {"nodeId": "N"}, {"nodeId": "140042456491264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456490368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456491264": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273472": {"type": "Function", "typeVars": [".-1.140042741273472"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490928"}, {"nodeId": "140042456491040"}, {"nodeId": ".-1.140042741273472"}, {"nodeId": "140042456490816"}], "returnType": {"nodeId": ".-1.140042741273472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456491040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042741273472": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741273472", "variance": "INVARIANT"}, "140042456490816": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491376"}, {"nodeId": "140042456489472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, "140042456491376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042741274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456491824": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042741274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456492160": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456489584": {"type": "Overloaded", "items": [{"nodeId": "140042741275264"}, {"nodeId": "140042741275712"}]}, "140042741275264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492048"}, {"nodeId": "140042456491600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, "140042456492048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456491600": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042741275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456492720"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, "140042456492720": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042456492272": {"type": "Overloaded", "items": [{"nodeId": "140042741276160"}, {"nodeId": "140042741276608"}]}, "140042741276160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042456492496"}, {"nodeId": "140042456493056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456492496": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493056": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493168": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042741276608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493728"}, {"nodeId": "140042456492944"}, {"nodeId": "140042456493392"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456493728": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456492944": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493392": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042456492832": {"type": "Overloaded", "items": [{"nodeId": "140042741277056"}, {"nodeId": "140042741277504"}, {"nodeId": "140042741277952"}, {"nodeId": "140042741278400"}, {"nodeId": "140042741278848"}]}, "140042741277056": {"type": "Function", "typeVars": [".-1.140042741277056"], "argTypes": [{"nodeId": ".-1.140042741277056"}], "returnType": {"nodeId": ".-1.140042741277056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042741277056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741277056", "variance": "INVARIANT"}, "140042741277504": {"type": "Function", "typeVars": [".-1.140042741277504"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741277504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "type"]}, ".-1.140042741277504": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741277504", "variance": "INVARIANT"}, "140042741277952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042741278400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042456493840": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741278848": {"type": "Function", "typeVars": [".-1.140042741278848"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456495520"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741278848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dtype", "type"]}, "140042456495520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741278848": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741278848", "variance": "INVARIANT"}, "140042456494288": {"type": "Overloaded", "items": [{"nodeId": "140042741279296"}, {"nodeId": "140042741279744"}]}, "140042741279296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042741279744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456494960"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042456494960": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456391168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577725808"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726144"}]}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726480"}]}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577727152"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741281984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741353456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042741282432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741282880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495184": {"type": "Overloaded", "items": [{"nodeId": "140042456393856"}, {"nodeId": "140042741283776"}, {"nodeId": "140042741284224"}, {"nodeId": "140042741416000"}, {"nodeId": "140042741416448"}]}, "140042456393856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456496640"}, {"nodeId": "140042456495072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456495072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741283776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456495744"}, {"nodeId": "140042456496304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456496304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741284224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456496528"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496528": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741416000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741416448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456497760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456497760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042463970240": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}]}]}, "140042456496864": {"type": "Overloaded", "items": [{"nodeId": "140042456392736"}, {"nodeId": "140042741417344"}, {"nodeId": "140042741417792"}, {"nodeId": "140042741418240"}, {"nodeId": "140042741418688"}]}, "140042456392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370048"}, {"nodeId": "140042451370160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370496"}, {"nodeId": "140042451370608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451370944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370944": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741418240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741418688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451371616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371616": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456496976": {"type": "Overloaded", "items": [{"nodeId": "140042456394080"}, {"nodeId": "140042741419584"}, {"nodeId": "140042741420032"}, {"nodeId": "140042741420480"}, {"nodeId": "140042741420928"}]}, "140042456394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451371952"}, {"nodeId": "140042451372064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451372064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741419584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451372512"}, {"nodeId": "140042451371840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451371840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741420032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451372400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372400": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741420480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451373520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373520": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456414720": {"type": "Overloaded", "items": [{"nodeId": "140042456394304"}, {"nodeId": "140042741421824"}, {"nodeId": "140042741422272"}, {"nodeId": "140042741422720"}, {"nodeId": "140042741423168"}]}, "140042456394304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451373856"}, {"nodeId": "140042451373968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741421824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451374416"}, {"nodeId": "140042451373744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451374304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374304": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741422720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741423168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451375424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451375424": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451372736": {"type": "Overloaded", "items": [{"nodeId": "140042456394528"}, {"nodeId": "140042741424064"}, {"nodeId": "140042741424512"}, {"nodeId": "140042741424960"}, {"nodeId": "140042741425408"}]}, "140042456394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741425408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451374640": {"type": "Overloaded", "items": [{"nodeId": "140042456394752"}, {"nodeId": "140042741426304"}, {"nodeId": "140042741426752"}]}, "140042456394752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451375648": {"type": "Overloaded", "items": [{"nodeId": "140042456392960"}, {"nodeId": "140042741427648"}, {"nodeId": "140042741428096"}]}, "140042456392960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741427648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451376880": {"type": "Overloaded", "items": [{"nodeId": "140042456395200"}, {"nodeId": "140042741428992"}, {"nodeId": "140042741429440"}]}, "140042456395200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741429440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451377664": {"type": "Overloaded", "items": [{"nodeId": "140042456395424"}, {"nodeId": "140042741430336"}, {"nodeId": "140042741430784"}, {"nodeId": "140042741431232"}, {"nodeId": "140042741431680"}, {"nodeId": "140042741563456"}, {"nodeId": "140042741563904"}, {"nodeId": "140042741564352"}]}, "140042456395424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451379456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451379680"}, {"nodeId": "140042451379792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380240"}, {"nodeId": "140042451379232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380800"}, {"nodeId": "140042451380128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451381248"}, {"nodeId": "140042451380688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451381584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741564352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451382704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451382704": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451378448": {"type": "Overloaded", "items": [{"nodeId": "140042456394976"}, {"nodeId": "140042741565248"}, {"nodeId": "140042741565696"}, {"nodeId": "140042741566144"}, {"nodeId": "140042741566592"}, {"nodeId": "140042741567040"}, {"nodeId": "140042741567488"}, {"nodeId": "140042741567936"}]}, "140042456394976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451383152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383376"}, {"nodeId": "140042451383488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383936"}, {"nodeId": "140042451382928"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451382928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384496"}, {"nodeId": "140042451383824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384944"}, {"nodeId": "140042451384384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451384384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451385280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451385280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741567936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419312": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451382256": {"type": "Overloaded", "items": [{"nodeId": "140042456395872"}, {"nodeId": "140042741568832"}, {"nodeId": "140042741569280"}, {"nodeId": "140042741569728"}, {"nodeId": "140042741570176"}, {"nodeId": "140042741570624"}, {"nodeId": "140042741571072"}]}, "140042456395872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741568832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420096"}, {"nodeId": "140042451420208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420656"}, {"nodeId": "140042451419536"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451419536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421216"}, {"nodeId": "140042451420544"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741570176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421664"}, {"nodeId": "140042451421104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451421104": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741570624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741571072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456497984": {"type": "Overloaded", "items": [{"nodeId": "140042456396320"}, {"nodeId": "140042741571968"}, {"nodeId": "140042741572416"}, {"nodeId": "140042741572864"}, {"nodeId": "140042741573312"}, {"nodeId": "140042741573760"}, {"nodeId": "140042741574208"}]}, "140042456396320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423120"}, {"nodeId": "140042451423232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423680"}, {"nodeId": "140042451422560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451422560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424240"}, {"nodeId": "140042451423568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741573312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424688"}, {"nodeId": "140042451424128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451424128": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741573760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741574208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425360": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451421552": {"type": "Overloaded", "items": [{"nodeId": "140042456396544"}, {"nodeId": "140042741575104"}, {"nodeId": "140042741575552"}, {"nodeId": "140042741576000"}, {"nodeId": "140042741576448"}]}, "140042456396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426256"}, {"nodeId": "140042451426368"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426928"}, {"nodeId": "140042451425584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451425584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451427600"}, {"nodeId": "140042451426816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451427600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451428160"}, {"nodeId": "140042451427488"}], "returnType": {"nodeId": "140042451428608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451428160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451427488": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451428608": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451424576": {"type": "Overloaded", "items": [{"nodeId": "140042456396096"}, {"nodeId": "140042741577344"}, {"nodeId": "140042741577792"}, {"nodeId": "140042741578240"}, {"nodeId": "140042741578688"}]}, "140042456396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451428944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451428944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451429392"}, {"nodeId": "140042451429504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451429392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430064"}, {"nodeId": "140042451428720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451428720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430736"}, {"nodeId": "140042451429952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451431296"}, {"nodeId": "140042451430624"}], "returnType": {"nodeId": "140042451431744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451431296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451430624": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451431744": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451428048": {"type": "Overloaded", "items": [{"nodeId": "140042456396768"}, {"nodeId": "140042741710912"}, {"nodeId": "140042741711360"}, {"nodeId": "140042741711808"}, {"nodeId": "140042741712256"}, {"nodeId": "140042741712704"}, {"nodeId": "140042741713152"}, {"nodeId": "140042741713600"}, {"nodeId": "140042741714048"}, {"nodeId": "140042741714496"}, {"nodeId": "140042741714944"}]}, "140042456396768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451432080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741710912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432304"}, {"nodeId": "140042451432416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432864"}, {"nodeId": "140042451431856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451431856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433424"}, {"nodeId": "140042451432752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433872"}, {"nodeId": "140042451433312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451433312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451434208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451434992"}, {"nodeId": "140042451434320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451435328"}, {"nodeId": "140042451434880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451435328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741714048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451484848"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451484848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741714496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741714944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451485632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451485632": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451431184": {"type": "Overloaded", "items": [{"nodeId": "140042456396992"}, {"nodeId": "140042741715840"}, {"nodeId": "140042741716288"}, {"nodeId": "140042741716736"}, {"nodeId": "140042741717184"}, {"nodeId": "140042741717632"}, {"nodeId": "140042741718080"}, {"nodeId": "140042741718528"}, {"nodeId": "140042741718976"}, {"nodeId": "140042741719424"}, {"nodeId": "140042741719872"}]}, "140042456396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451486080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741715840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486304"}, {"nodeId": "140042451486416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486864"}, {"nodeId": "140042451485856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451485856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487424"}, {"nodeId": "140042451486752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487872"}, {"nodeId": "140042451487312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451487312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451488208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451488992"}, {"nodeId": "140042451488320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451489328"}, {"nodeId": "140042451488880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741718976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451489552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741719424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741719872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451385952": {"type": "Overloaded", "items": [{"nodeId": "140042456397216"}, {"nodeId": "140042741720768"}, {"nodeId": "140042741721216"}, {"nodeId": "140042741721664"}, {"nodeId": "140042741722112"}, {"nodeId": "140042741722560"}, {"nodeId": "140042741723008"}, {"nodeId": "140042741723456"}, {"nodeId": "140042741723904"}, {"nodeId": "140042741724352"}, {"nodeId": "140042741724800"}, {"nodeId": "140042741725248"}]}, "140042456397216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741720768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451491232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491344"}, {"nodeId": "140042451491456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491904"}, {"nodeId": "140042451490560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451490560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492464"}, {"nodeId": "140042451491792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492912"}, {"nodeId": "140042451492352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451492352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451494032"}, {"nodeId": "140042451493360"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494032": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451493360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741724352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451494256"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494256": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741724800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495376": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451489888": {"type": "Overloaded", "items": [{"nodeId": "140042456395648"}, {"nodeId": "140042741726144"}, {"nodeId": "140042741726592"}, {"nodeId": "140042736631872"}, {"nodeId": "140042736632320"}, {"nodeId": "140042736632768"}, {"nodeId": "140042736633216"}, {"nodeId": "140042736633664"}, {"nodeId": "140042736634112"}, {"nodeId": "140042736634560"}, {"nodeId": "140042736635008"}, {"nodeId": "140042736635456"}]}, "140042456395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451496272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496384"}, {"nodeId": "140042451496496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736631872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496944"}, {"nodeId": "140042451495600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451495600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497504"}, {"nodeId": "140042451496832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497952"}, {"nodeId": "140042451497392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451497392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451498288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451498288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499072"}, {"nodeId": "140042451498400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736634112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499408"}, {"nodeId": "140042451498960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498960": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736634560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451499632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499632": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736635008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736635456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500416"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500416": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451494592": {"type": "Overloaded", "items": [{"nodeId": "140042456397664"}, {"nodeId": "140042736636352"}, {"nodeId": "140042736636800"}, {"nodeId": "140042736637248"}, {"nodeId": "140042736637696"}, {"nodeId": "140042736638144"}, {"nodeId": "140042736638592"}, {"nodeId": "140042736639040"}, {"nodeId": "140042736639488"}, {"nodeId": "140042736639936"}]}, "140042456397664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534000"}, {"nodeId": "140042451534112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534448"}, {"nodeId": "140042451534560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535008"}, {"nodeId": "140042451535120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535456"}, {"nodeId": "140042451535568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451535904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536576"}, {"nodeId": "140042451536688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451536688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536912"}, {"nodeId": "140042451537024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451537696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451537696": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451499296": {"type": "Overloaded", "items": [{"nodeId": "140042456398112"}, {"nodeId": "140042736640832"}, {"nodeId": "140042736641280"}, {"nodeId": "140042736641728"}, {"nodeId": "140042736642176"}, {"nodeId": "140042736642624"}, {"nodeId": "140042736643072"}, {"nodeId": "140042736643520"}, {"nodeId": "140042736643968"}, {"nodeId": "140042736644416"}]}, "140042456398112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451538144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736640832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538368"}, {"nodeId": "140042451538480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538928"}, {"nodeId": "140042451537920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539488"}, {"nodeId": "140042451538816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539936"}, {"nodeId": "140042451539376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451539376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451540272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451540272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541056"}, {"nodeId": "140042451540384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541392"}, {"nodeId": "140042451540944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542064": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451435216": {"type": "Overloaded", "items": [{"nodeId": "140042456398336"}, {"nodeId": "140042736645312"}, {"nodeId": "140042736645760"}, {"nodeId": "140042736646208"}, {"nodeId": "140042736646656"}, {"nodeId": "140042736647104"}, {"nodeId": "140042736647552"}, {"nodeId": "140042736746560"}, {"nodeId": "140042736747008"}]}, "140042456398336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451542848"}, {"nodeId": "140042451542960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543408"}, {"nodeId": "140042451542288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543968"}, {"nodeId": "140042451543296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451543296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451543856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543856": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736747008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451545760"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451545760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451541616": {"type": "Overloaded", "items": [{"nodeId": "140042456397888"}, {"nodeId": "140042736747904"}, {"nodeId": "140042736748352"}, {"nodeId": "140042736748800"}, {"nodeId": "140042736749248"}, {"nodeId": "140042736749696"}, {"nodeId": "140042736750144"}, {"nodeId": "140042736750592"}, {"nodeId": "140042736751040"}]}, "140042456397888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451546208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451546544"}, {"nodeId": "140042451546656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547104"}, {"nodeId": "140042451545984"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451545984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547664"}, {"nodeId": "140042451546992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451547552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547552": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451548448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451548784"}, {"nodeId": "140042451548000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451548000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549456": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451545312": {"type": "Overloaded", "items": [{"nodeId": "140042456398560"}, {"nodeId": "140042736751936"}, {"nodeId": "140042736752384"}, {"nodeId": "140042736752832"}, {"nodeId": "140042736753280"}, {"nodeId": "140042736753728"}, {"nodeId": "140042736754176"}, {"nodeId": "140042736754624"}]}, "140042456398560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599536"}, {"nodeId": "140042451599648"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451599648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599984"}, {"nodeId": "140042451600096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600544"}, {"nodeId": "140042451600656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600992"}, {"nodeId": "140042451601104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451601104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451601440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451601440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736754624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451602560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451602560": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549008": {"type": "Overloaded", "items": [{"nodeId": "140042456397440"}, {"nodeId": "140042736755520"}, {"nodeId": "140042736755968"}, {"nodeId": "140042736756416"}, {"nodeId": "140042736756864"}, {"nodeId": "140042736757312"}, {"nodeId": "140042736757760"}, {"nodeId": "140042736758208"}]}, "140042456397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451603008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603344"}, {"nodeId": "140042451603456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603904"}, {"nodeId": "140042451602784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451602784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604464"}, {"nodeId": "140042451603792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604912"}, {"nodeId": "140042451604352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451604352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451605248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451605248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736758208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451606368"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606368": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451500640": {"type": "Overloaded", "items": [{"nodeId": "140042456399008"}, {"nodeId": "140042736759104"}, {"nodeId": "140042736759552"}, {"nodeId": "140042736760000"}, {"nodeId": "140042736760448"}, {"nodeId": "140042736760896"}, {"nodeId": "140042736761344"}, {"nodeId": "140042736761792"}, {"nodeId": "140042736762240"}]}, "140042456399008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451606704"}, {"nodeId": "140042451606816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607152"}, {"nodeId": "140042451607264"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451607264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607824"}, {"nodeId": "140042451606592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608272": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736760896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736762240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451610288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610288": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451605920": {"type": "Overloaded", "items": [{"nodeId": "140042456398784"}, {"nodeId": "140042456399456"}, {"nodeId": "140042736910848"}, {"nodeId": "140042736911296"}, {"nodeId": "140042736911744"}, {"nodeId": "140042736912192"}, {"nodeId": "140042736912640"}, {"nodeId": "140042736913088"}, {"nodeId": "140042736913536"}]}, "140042456398784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451610624"}, {"nodeId": "140042451610736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611072"}, {"nodeId": "140042451611184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451611184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736910848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611744"}, {"nodeId": "140042451610512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612192": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736912192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451613200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736912640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451613536"}, {"nodeId": "140042451612752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451612752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736913088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736913536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614208": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451609840": {"type": "Overloaded", "items": [{"nodeId": "140042736913984"}, {"nodeId": "140042456399232"}, {"nodeId": "140042736914880"}, {"nodeId": "140042736915328"}, {"nodeId": "140042736915776"}]}, "140042736913984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451614992"}, {"nodeId": "140042451615104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451615104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736914880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451615552"}, {"nodeId": "140042451614432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451615552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451614432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736915328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736915776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451665744"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451665744": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451613760": {"type": "Overloaded", "items": [{"nodeId": "140042736916224"}, {"nodeId": "140042736917120"}, {"nodeId": "140042736917568"}, {"nodeId": "140042736918016"}, {"nodeId": "140042736918464"}]}, "140042736916224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451666192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451666528"}, {"nodeId": "140042451666640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451666640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451667088"}, {"nodeId": "140042451665968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451665968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736918016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736918464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451667984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667984": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549680": {"type": "Overloaded", "items": [{"nodeId": "140042451697952"}, {"nodeId": "140042736919360"}, {"nodeId": "140042736919808"}, {"nodeId": "140042736920256"}, {"nodeId": "140042736920704"}]}, "140042451697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451668432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451668768"}, {"nodeId": "140042451668880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451669328"}, {"nodeId": "140042451668208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451669328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736920256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670224": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451667536": {"type": "Overloaded", "items": [{"nodeId": "140042451698176"}, {"nodeId": "140042736921600"}, {"nodeId": "140042736922048"}, {"nodeId": "140042736922496"}, {"nodeId": "140042736922944"}]}, "140042451698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671008"}, {"nodeId": "140042451671120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451671120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671568"}, {"nodeId": "140042451670448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451670448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672464": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451669776": {"type": "Overloaded", "items": [{"nodeId": "140042451698400"}, {"nodeId": "140042736923840"}, {"nodeId": "140042736924288"}, {"nodeId": "140042736924736"}, {"nodeId": "140042736925184"}]}, "140042451698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673136"}, {"nodeId": "140042451673248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451673248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673696"}, {"nodeId": "140042451672688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451672688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451674592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451674592": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451672016": {"type": "Overloaded", "items": [{"nodeId": "140042451698624"}, {"nodeId": "140042736926080"}, {"nodeId": "140042737057856"}, {"nodeId": "140042737058304"}, {"nodeId": "140042737058752"}]}, "140042451698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451675040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675264"}, {"nodeId": "140042451675376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451675376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737057856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675824"}, {"nodeId": "140042451674816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451674816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737058304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737058752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451676720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451676720": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451674144": {"type": "Overloaded", "items": [{"nodeId": "140042451698848"}, {"nodeId": "140042737059648"}, {"nodeId": "140042737060096"}, {"nodeId": "140042737060544"}, {"nodeId": "140042737060992"}]}, "140042451698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451677168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737059648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677392"}, {"nodeId": "140042451677504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451677504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677952"}, {"nodeId": "140042451676944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451676944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737060992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451678848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451678848": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451676272": {"type": "Overloaded", "items": [{"nodeId": "140042451699072"}, {"nodeId": "140042737061888"}, {"nodeId": "140042737062336"}, {"nodeId": "140042737062784"}, {"nodeId": "140042737063232"}]}, "140042451699072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451679296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737061888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451679520"}, {"nodeId": "140042451679632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451680080"}, {"nodeId": "140042451679072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737063232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451680976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680976": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451678400": {"type": "Overloaded", "items": [{"nodeId": "140042451699296"}, {"nodeId": "140042737064128"}, {"nodeId": "140042737064576"}, {"nodeId": "140042737065024"}, {"nodeId": "140042737065472"}]}, "140042451699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451714336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451714560"}, {"nodeId": "140042451714672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451715120"}, {"nodeId": "140042451714112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451715120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737065024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737065472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716016": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451615440": {"type": "Overloaded", "items": [{"nodeId": "140042451699520"}, {"nodeId": "140042737066368"}, {"nodeId": "140042737066816"}, {"nodeId": "140042737067264"}, {"nodeId": "140042737067712"}]}, "140042451699520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451716688"}, {"nodeId": "140042451716800"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451717248"}, {"nodeId": "140042451716240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737067264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737067712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718144": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451715568": {"type": "Overloaded", "items": [{"nodeId": "140042451699744"}, {"nodeId": "140042737068608"}, {"nodeId": "140042737069056"}, {"nodeId": "140042737069504"}, {"nodeId": "140042737069952"}, {"nodeId": "140042737070400"}, {"nodeId": "140042737070848"}, {"nodeId": "140042737071296"}]}, "140042451699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737068608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719152": {"type": "Union", "items": [{"nodeId": "140042451718928"}, {"nodeId": "140042451719040"}]}, "140042451718928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451719040": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737069056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720048"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737071296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717696": {"type": "Overloaded", "items": [{"nodeId": "140042451699968"}, {"nodeId": "140042737072192"}, {"nodeId": "140042737072640"}, {"nodeId": "140042737073088"}, {"nodeId": "140042737073536"}, {"nodeId": "140042737221696"}, {"nodeId": "140042737222144"}]}, "140042451699968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451721840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721840": {"type": "Union", "items": [{"nodeId": "140042451721616"}, {"nodeId": "140042451721728"}]}, "140042451721616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451721728": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737072192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737072640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737221696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737222144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721168": {"type": "Overloaded", "items": [{"nodeId": "140042451700416"}, {"nodeId": "140042737223040"}, {"nodeId": "140042737223488"}, {"nodeId": "140042737223936"}, {"nodeId": "140042737224384"}, {"nodeId": "140042737224832"}, {"nodeId": "140042737225280"}]}, "140042451700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724864": {"type": "Union", "items": [{"nodeId": "140042451724640"}, {"nodeId": "140042451724752"}]}, "140042451724640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451724752": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737223488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737225280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723856": {"type": "Overloaded", "items": [{"nodeId": "140042451700640"}, {"nodeId": "140042737226176"}, {"nodeId": "140042737226624"}, {"nodeId": "140042737227072"}, {"nodeId": "140042737227520"}]}, "140042451700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727216"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727888"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726544": {"type": "Overloaded", "items": [{"nodeId": "140042451700192"}, {"nodeId": "140042737228416"}, {"nodeId": "140042737228864"}, {"nodeId": "140042737229312"}, {"nodeId": "140042737229760"}, {"nodeId": "140042737230208"}, {"nodeId": "140042737230656"}]}, "140042451700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451728896"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728896": {"type": "Union", "items": [{"nodeId": "140042451728672"}, {"nodeId": "140042451728784"}]}, "140042451728672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451728784": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737228416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737228864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451730240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451828912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451828912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728224": {"type": "Overloaded", "items": [{"nodeId": "140042451701088"}, {"nodeId": "140042737231552"}, {"nodeId": "140042737232000"}, {"nodeId": "140042737232448"}, {"nodeId": "140042737232896"}]}, "140042451701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451829920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451829920": {"type": "Union", "items": [{"nodeId": "140042451829696"}, {"nodeId": "140042451829808"}]}, "140042451829696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451829808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737231552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680528": {"type": "Overloaded", "items": [{"nodeId": "140042451697728"}, {"nodeId": "140042737233792"}, {"nodeId": "140042737234240"}, {"nodeId": "140042737234688"}, {"nodeId": "140042737235136"}]}, "140042451697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451831936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831936": {"type": "Union", "items": [{"nodeId": "140042451831712"}, {"nodeId": "140042451831824"}]}, "140042451831712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451831824": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737233792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832832": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042737235136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831376": {"type": "Overloaded", "items": [{"nodeId": "140042451701312"}, {"nodeId": "140042737236032"}, {"nodeId": "140042737236480"}]}, "140042451701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451833952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833952": {"type": "Union", "items": [{"nodeId": "140042451833728"}, {"nodeId": "140042451833840"}]}, "140042451833728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451833840": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451834176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737236480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833056": {"type": "Overloaded", "items": [{"nodeId": "140042451700864"}, {"nodeId": "140042737237376"}, {"nodeId": "140042737401920"}]}, "140042451700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835296": {"type": "Union", "items": [{"nodeId": "140042451835072"}, {"nodeId": "140042451835184"}]}, "140042451835072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451835184": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737237376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737401920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834736": {"type": "Overloaded", "items": [{"nodeId": "140042451701760"}, {"nodeId": "140042737402816"}, {"nodeId": "140042737403264"}, {"nodeId": "140042737403712"}]}, "140042451701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836976": {"type": "Union", "items": [{"nodeId": "140042451836752"}, {"nodeId": "140042451836864"}]}, "140042451836752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451836864": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737403264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451837200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737403712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836080": {"type": "Overloaded", "items": [{"nodeId": "140042451702208"}, {"nodeId": "140042737404608"}, {"nodeId": "140042737405056"}, {"nodeId": "140042737405504"}]}, "140042451702208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737404608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838656": {"type": "Union", "items": [{"nodeId": "140042451838432"}, {"nodeId": "140042451838544"}]}, "140042451838432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451838544": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737405056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737405504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837760": {"type": "Overloaded", "items": [{"nodeId": "140042451702432"}, {"nodeId": "140042737406400"}, {"nodeId": "140042737406848"}, {"nodeId": "140042737407296"}]}, "140042451702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451839776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451839776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737406400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840336": {"type": "Union", "items": [{"nodeId": "140042451840112"}, {"nodeId": "140042451840224"}]}, "140042451840112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451840224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737406848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737407296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451702656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042451841456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, "140042451841456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042737408192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042451841792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451841792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042426513696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": ".2.140042472913744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716337024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": ".1.140042472911056"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "array", "ptr"]}, ".1.140042472911056": {"type": "TypeVar", "varName": "_PT", "values": [], "upperBound": {"nodeId": "140042473101280"}, "def": "140042472911056", "variance": "INVARIANT"}, "140042473101280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042430403008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": ".1.140042472911056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430410176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633120": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255120"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523239680"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255232"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523240128"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657189216"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256800"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256912"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191904"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657192352"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569633120"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": true}, "140042556255120": {"type": "Overloaded", "items": [{"nodeId": "140042657187424"}]}, "140042657187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569633120": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569633120", "variance": "INVARIANT"}, "140042523239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556255232": {"type": "Overloaded", "items": [{"nodeId": "140042657188320"}]}, "140042657188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042523240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042556256800": {"type": "Overloaded", "items": [{"nodeId": "140042657189664"}, {"nodeId": "140042657190112"}]}, "140042657189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556256912": {"type": "Overloaded", "items": [{"nodeId": "140042657190560"}, {"nodeId": "140042657191008"}]}, "140042657190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573909344": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042430407264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430404128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042573914384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573914384": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569662528"}]}], "isAbstract": false}, "140042569662528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042716339264": {"type": "Function", "typeVars": [".-1.140042716339264"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042716339264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339264": {"type": "TypeVar", "varName": "_CastT", "values": [], "upperBound": {"nodeId": "140042573739536"}, "def": "140042716339264", "variance": "INVARIANT"}, "140042716339712": {"type": "Function", "typeVars": [".-1.140042716339712"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716339712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339712": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716339712", "variance": "INVARIANT"}, "140042716340160": {"type": "Function", "typeVars": [".-1.140042716340160"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716340160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716340160": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716340160", "variance": "INVARIANT"}, "140042472658576": {"type": "Concrete", "module": "numpy._typing._array_like", "simpleName": "_UnknownType", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468648864": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399236384"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399243776"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399244448"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399246016"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245120"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245344"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240192"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240640"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241088"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240864"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514331152"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632074784"}, "name": "at"}], "typeVars": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399236384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".1.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468648864": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468648864", "variance": "INVARIANT"}, ".2.140042468648864": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468648864", "variance": "INVARIANT"}, ".3.140042468648864": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468648864", "variance": "INVARIANT"}, "140042399243776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".2.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399244448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".3.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399246016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514331152": {"type": "Overloaded", "items": [{"nodeId": "140042632073440"}, {"nodeId": "140042632073888"}, {"nodeId": "140042632074336"}]}, "140042632073440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514324768"}, {"nodeId": "N"}, {"nodeId": "140042514323872"}, {"nodeId": "140042514323760"}, {"nodeId": "140042514323424"}, {"nodeId": "140042514323648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514322864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514324768": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042514323872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514324880"}]}, "140042514324880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514323760": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514323424": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514323648": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514322864": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632073888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514321296"}, {"nodeId": "140042514322640"}, {"nodeId": "140042514321744"}, {"nodeId": "140042514320848"}, {"nodeId": "140042514321408"}, {"nodeId": "140042514320736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514319168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514321296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514322640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514321072"}]}, "140042514321072": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042514321744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514321856"}]}, "140042514321856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514320848": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514321408": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514320736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514319168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042514317712"}, {"nodeId": "140042519396048"}, {"nodeId": "140042519396160"}, {"nodeId": "140042519395936"}, {"nodeId": "140042519392128"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519394928"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042468648528": {"type": "Protocol", "module": "numpy._typing._ufunc", "simpleName": "_SupportsArrayUFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489935488"}, "name": "__array_ufunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_ufunc__"]}, "140042489935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648528"}, {"nodeId": "140042468234560"}, {"nodeId": "140042514325776"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042514325776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514317712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514318160"}]}, "140042514318160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519396048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519395152"}]}, "140042519395152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519396160": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519395936": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519392128": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519394928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042519390560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042519390560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468649200": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399239968"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935392"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933152"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933376"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169696"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399166560"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514329584"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079264"}, "name": "at"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "where", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079712"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080160"}, "name": "accumulate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080608"}, "name": "reduceat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469017632"}, "items": [{"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "outer"}], "typeVars": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399239968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".1.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649200": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649200", "variance": "INVARIANT"}, ".2.140042468649200": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649200", "variance": "INVARIANT"}, ".3.140042468649200": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649200", "variance": "INVARIANT"}, "140042398935392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".2.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".3.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398935616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514329584": {"type": "Overloaded", "items": [{"nodeId": "140042632078368"}, {"nodeId": "140042632078816"}]}, "140042632078368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519394032"}, {"nodeId": "140042519390784"}, {"nodeId": "N"}, {"nodeId": "140042519393584"}, {"nodeId": "140042519393696"}, {"nodeId": "140042519390896"}, {"nodeId": "140042519393472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519390448"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519394032": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519390784": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519393584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519393360"}]}, "140042519393360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519393696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519390896": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519393472": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519390448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632078816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519389104"}, {"nodeId": "140042519389888"}, {"nodeId": "140042519389552"}, {"nodeId": "140042519387872"}, {"nodeId": "140042519388880"}, {"nodeId": "140042519388432"}, {"nodeId": "140042519388096"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519386416"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519389104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042519390000"}]}, "140042519390000": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519387872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519389328"}]}, "140042519389328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519388880": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519388432": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519388096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519386416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632079264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "0"}, {"nodeId": "140042519069408"}, {"nodeId": "140042519071424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042519069408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519071424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632079712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519080608"}, {"nodeId": "140042519069744"}, {"nodeId": "140042519070192"}, {"nodeId": "140042519069968"}, {"nodeId": "140042782776944"}, {"nodeId": "A"}, {"nodeId": "140042519069632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042519080608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519069744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519070416"}]}, "140042519070416": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042519070192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519069968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042519069632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632080160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519068960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042519068848"}, {"nodeId": "140042523130816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out"]}, "140042519068960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519068848": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523130816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042632080608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128800"}, {"nodeId": "140042523129920"}, {"nodeId": "140042577727152"}, {"nodeId": "140042523130592"}, {"nodeId": "140042523129696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "indices", "axis", "dtype", "out"]}, "140042523128800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523130592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523129696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042469017632": {"type": "Overloaded", "items": [{"nodeId": "140042632081056"}, {"nodeId": "140042632081504"}]}, "140042632081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128128"}, {"nodeId": "140042523130256"}, {"nodeId": "N"}, {"nodeId": "140042523128352"}, {"nodeId": "140042523129808"}, {"nodeId": "140042523127344"}, {"nodeId": "140042523131152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523127568"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523128128": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523130256": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523128352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523127904"}]}, "140042523127904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129808": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523127344": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523131152": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523127568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523124880"}, {"nodeId": "140042523126560"}, {"nodeId": "140042523126112"}, {"nodeId": "140042523125216"}, {"nodeId": "140042523125664"}, {"nodeId": "140042523124768"}, {"nodeId": "140042523124432"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523123984"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523124880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042523126672"}]}, "140042523126672": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042523125216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523125888"}]}, "140042523125888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523125664": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523124768": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523124432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523123984": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649536": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167232"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167680"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167904"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168128"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168352"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168800"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169024"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168576"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269376"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269600"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269824"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018528"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".1.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649536": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649536", "variance": "INVARIANT"}, ".2.140042468649536": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649536", "variance": "INVARIANT"}, ".3.140042468649536": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649536", "variance": "INVARIANT"}, "140042399167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".2.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".3.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399270048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018528": {"type": "Overloaded", "items": [{"nodeId": "140042632382496"}, {"nodeId": "140042632382944"}, {"nodeId": "140042632383392"}]}, "140042632382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042523122864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042523121296"}, {"nodeId": "140042523124208"}, {"nodeId": "140042523122640"}, {"nodeId": "140042523122416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523121072"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523122864": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523121296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523123088"}]}, "140042523123088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523124208": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523122640": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523122416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523121072": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632382944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042586311808"}, {"nodeId": "140042523120176"}, {"nodeId": "140042523119728"}, {"nodeId": "0"}, {"nodeId": "140042611572096"}, {"nodeId": "140042611565488"}, {"nodeId": "140042611565040"}, {"nodeId": "140042611566048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567616"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042586311808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523120176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042523119728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611572096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611565152"}]}, "140042611565152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611565488": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611565040": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611566048": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042611568736"}, {"nodeId": "140042611566272"}, {"nodeId": "0"}, {"nodeId": "140042611569296"}, {"nodeId": "140042611568960"}, {"nodeId": "140042611568400"}, {"nodeId": "140042611570080"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567728"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611568736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611566272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611569296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611569184"}]}, "140042611569184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611568960": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611568400": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611570080": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649872": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270720"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271168"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271392"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271840"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272064"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272288"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272512"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272736"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272960"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273184"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018976"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399270720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".1.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649872": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649872", "variance": "INVARIANT"}, ".2.140042468649872": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649872", "variance": "INVARIANT"}, ".3.140042468649872": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649872", "variance": "INVARIANT"}, "140042399271168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".2.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".3.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018976": {"type": "Overloaded", "items": [{"nodeId": "140042632389216"}, {"nodeId": "140042632389664"}]}, "140042632389216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042611569408"}, {"nodeId": "140042611570192"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042611569632"}, {"nodeId": "140042611569744"}, {"nodeId": "140042611569968"}, {"nodeId": "140042611572320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611571760"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611569408": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611570192": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611569632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611571536"}]}, "140042611571536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611569744": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611569968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611572320": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611571760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632389664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042569667904"}, {"nodeId": "140042611570864"}, {"nodeId": "140042603004304"}, {"nodeId": "140042603004528"}, {"nodeId": "0"}, {"nodeId": "140042603004416"}, {"nodeId": "140042603005872"}, {"nodeId": "140042603005760"}, {"nodeId": "140042603003968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603005648"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042569667904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611570864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603004304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042603004640"}]}, "140042603004640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603005872": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603005760": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603003968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603005648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468650208": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_GUFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274080"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274528"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274752"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274976"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275200"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275424"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275648"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275872"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276096"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276320"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276544"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276768"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469020096"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399274080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".1.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650208": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468650208", "variance": "INVARIANT"}, ".2.140042468650208": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468650208", "variance": "INVARIANT"}, ".3.140042468650208": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650208", "variance": "INVARIANT"}, "140042399274528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".2.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".3.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469020096": {"type": "Overloaded", "items": [{"nodeId": "140042632395488"}, {"nodeId": "140042632395936"}]}, "140042632395488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603008112"}, {"nodeId": "140042603006880"}, {"nodeId": "N"}, {"nodeId": "140042603006432"}, {"nodeId": "140042603006656"}, {"nodeId": "140042603006768"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603007776"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603008112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006432": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603006656": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603006768": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603007776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632395936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603010688"}, {"nodeId": "140042603009008"}, {"nodeId": "140042603010464"}, {"nodeId": "140042603008672"}, {"nodeId": "140042603010240"}, {"nodeId": "140042603010016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603009792"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603010688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603009008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603010464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042603008784"}]}, "140042603008784": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042603008672": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603010240": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603010016": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603009792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468652224": {"type": "Concrete", "module": "numpy.lib.arrayterator", "simpleName": "Arrayterator", "members": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472448272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110976"}}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682557472"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042460026624"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682558816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682559264"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "isAbstract": false}, ".1.140042468652224": {"type": "TypeVar", "varName": "_Shape", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468652224", "variance": "INVARIANT"}, ".2.140042468652224": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468652224", "variance": "INVARIANT"}, "140042472448272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042439110976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042439110752": {"type": "Function", "typeVars": [".-1.140042439110752"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042439110752"}]}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042439110752"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042439110752": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042439110752", "variance": "INVARIANT"}, "140042782781648": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753675488"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548309888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564614992"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677280"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677728"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310112"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310560"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311232"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311456"}}], "typeVars": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781648"}]}], "isAbstract": true}, "140042753675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, ".2.140042782781648": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "CONTRAVARIANT"}, ".3.140042782781648": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, "140042548309888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": ".2.140042782781648"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564614992": {"type": "Overloaded", "items": [{"nodeId": "140042753676384"}, {"nodeId": "140042753676832"}]}, "140042753676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "0"}, {"nodeId": "140042564812864"}, {"nodeId": "140042564812976"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564812864": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564812976": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753676832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564813088"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564813088": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753677280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753677728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548310112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548310560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042564813536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564813536": {"type": "Union", "items": [{"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042682557472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460026736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "var", "buf_size"]}, "140042460026736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042460026624": {"type": "Overloaded", "items": [{"nodeId": "140042682557920"}, {"nodeId": "140042682558368"}]}, "140042682557920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype"]}, "140042682558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460027968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042460027968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042682558816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460029088"}], "returnType": {"nodeId": "140042468652224", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460029088": {"type": "TypeAlias", "target": {"nodeId": "140042472452864"}}, "140042472452864": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042472452528"}]}]}, "140042472452528": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042682559264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472911728": {"type": "Protocol", "module": "numpy", "simpleName": "_MemMapIOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790976"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791424"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791872"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792320"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792768"}, "name": "write"}, {"kind": "Variable", "name": "read", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430674560"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "read", "seek", "tell", "write"]}, "140042766790976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766792320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766792768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468235232": {"type": "Concrete", "module": "numpy", "simpleName": "ModuleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653968"}], "isAbstract": false}, "140042577653968": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577653296": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577374432": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042468235568": {"type": "Concrete", "module": "numpy", "simpleName": "VisibleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042577653632": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468235904": {"type": "Concrete", "module": "numpy", "simpleName": "ComplexWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654640"}], "isAbstract": false}, "140042577654640": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468236240": {"type": "Concrete", "module": "numpy", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042468236576": {"type": "Concrete", "module": "numpy", "simpleName": "TooHardError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577378800": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468236912": {"type": "Concrete", "module": "numpy", "simpleName": "AxisError", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464231712"}}, {"kind": "Variable", "name": "ndim", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045712"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}, {"nodeId": "140042577644560"}], "isAbstract": false}, "140042464231712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042464271200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042452045712": {"type": "Overloaded", "items": [{"nodeId": "140042732844224"}, {"nodeId": "140042732844672"}]}, "140042732844224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042732844672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452047840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042452047840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577642880": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577644560": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577377456": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468237248": {"type": "Concrete", "module": "numpy", "simpleName": "errstate", "members": [{"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468237248"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468156784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "divide", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "over", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "under", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "invalid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845568"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732846016"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042468237248"}], "bases": [{"nodeId": "140042573919088"}], "isAbstract": false}, ".1.140042468237248": {"type": "TypeVar", "varName": "_CallType", "values": [], "upperBound": {"nodeId": "140042468156560"}, "def": "140042468237248", "variance": "INVARIANT"}, "140042468156560": {"type": "Union", "items": [{"nodeId": "140042468156448"}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577367376"}]}]}, "140042468156448": {"type": "TypeAlias", "target": {"nodeId": "140042489934368"}}, "140042489934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468156784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042732845120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": ".1.140042468237248"}, {"nodeId": "140042452048064"}, {"nodeId": "140042452048288"}, {"nodeId": "140042452048512"}, {"nodeId": "140042452048736"}, {"nodeId": "140042452048960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "call", "all", "divide", "over", "under", "invalid"]}, "140042452048064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452047952"}]}, "140042452047952": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042473098928": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452048288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048176"}]}, "140042452048176": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048400"}]}, "140042452048400": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048624"}]}, "140042452048624": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048848"}]}, "140042452048848": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042732845568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732846016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": "140042452049632"}, {"nodeId": "140042452047728"}, {"nodeId": "140042452049072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452049632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452047728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452049072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042573919088": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649116608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649116608": {"type": "Function", "typeVars": [".-1.140042649116608"], "argTypes": [{"nodeId": "140042573919088"}, {"nodeId": ".-1.140042649116608"}], "returnType": {"nodeId": ".-1.140042649116608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649116608": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140042577261088"}, "def": "140042649116608", "variance": "INVARIANT"}, "140042577261088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042468654240": {"type": "Concrete", "module": "numpy", "simpleName": "ndenumerate", "members": [{"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653904", "args": [{"nodeId": "0"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046608"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452075904"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733195712"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468654240"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452046608": {"type": "Overloaded", "items": [{"nodeId": "140042733192128"}, {"nodeId": "140042733192576"}, {"nodeId": "140042733193024"}, {"nodeId": "140042733193472"}, {"nodeId": "140042733193920"}, {"nodeId": "140042733194368"}, {"nodeId": "140042733194816"}]}, "140042733192128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, ".1.140042468654240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468654240", "variance": "INVARIANT"}, "140042733192576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049408"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049408": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577367376"}]}]}, "140042733193024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049744"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577732864"}]}]}, "140042733193472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049856"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049856": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042782776944"}]}]}, "140042733193920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049968"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050080"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577365696"}]}]}, "140042452050080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733194368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050192"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050192": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366032"}]}]}, "140042452050304": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050416"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050416": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366368"}]}]}, "140042452050528": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042452075904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}], "returnType": {"nodeId": "140042452050864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050864": {"type": "Tuple", "items": [{"nodeId": "140042452050640"}, {"nodeId": ".1.140042468654240"}]}, "140042452050640": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042733195712": {"type": "Function", "typeVars": [".-1.140042733195712"], "argTypes": [{"nodeId": ".-1.140042733195712"}], "returnType": {"nodeId": ".-1.140042733195712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733195712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733195712", "variance": "INVARIANT"}, "140042468237584": {"type": "Concrete", "module": "numpy", "simpleName": "ndindex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049520"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197504"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452049520": {"type": "Overloaded", "items": [{"nodeId": "140042733196160"}, {"nodeId": "140042733196608"}]}, "140042733196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "shape"]}, "140042733197056": {"type": "Function", "typeVars": [".-1.140042733197056"], "argTypes": [{"nodeId": ".-1.140042733197056"}], "returnType": {"nodeId": ".-1.140042733197056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733197056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733197056", "variance": "INVARIANT"}, "140042733197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}], "returnType": {"nodeId": "140042452051088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452051088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042468237920": {"type": "Concrete", "module": "numpy", "simpleName": "DataSource", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "destpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198400"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198848"}, "name": "abspath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199296"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199744"}, "name": "open"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042452051200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "destpath"]}, "140042452051200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042733198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452051312"}, {"nodeId": "140042452051424"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "mode", "encoding", "newline"]}, "140042452051312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452051424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577729840": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548591776"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548740384"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548741056"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548741728"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548742400"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743072"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743744"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548744416"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745088"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745760"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548746432"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747104"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747776"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548748448"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749120"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749792"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548750464"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751136"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751808"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548752704"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548753824"}}], "typeVars": [{"nodeId": ".1.140042577729840"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}], "isAbstract": true}, "140042548590656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577729840": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729840", "variance": "INVARIANT"}, "140042548591776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548740384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548742400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548744416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548745088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548745760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548746432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042548747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548747776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822160"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042564822160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042548749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548749792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": ".1.140042577729840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548751808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548752704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822272"}, {"nodeId": "140042564822384"}, {"nodeId": "140042564822496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042564822272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042564822384": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042564822496": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468238256": {"type": "Concrete", "module": "numpy", "simpleName": "broadcast", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733200192"}, "name": "__new__"}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226048"}}, {"kind": "Variable", "name": "iters", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226720"}}, {"kind": "Variable", "name": "nd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226944"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227168"}}, {"kind": "Variable", "name": "numiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227392"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227616"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733203776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204672"}, "name": "reset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452051648"}], "returnType": {"nodeId": "140042468238256"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042452051648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042422226048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042452050976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050976": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042422227840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733203776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733204224": {"type": "Function", "typeVars": [".-1.140042733204224"], "argTypes": [{"nodeId": ".-1.140042733204224"}], "returnType": {"nodeId": ".-1.140042733204224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733204224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733204224", "variance": "INVARIANT"}, "140042733204672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468238592": {"type": "Concrete", "module": "numpy", "simpleName": "busdaycalendar", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weekmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "holidays", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733205120"}, "name": "__new__"}, {"kind": "Variable", "name": "weekmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422228512"}}, {"kind": "Variable", "name": "holidays", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422229184"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733205120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052096"}, {"nodeId": "140042452052320"}], "returnType": {"nodeId": "140042468238592"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "weekmask", "holidays"]}, "140042452052096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452052320": {"type": "Union", "items": [{"nodeId": "140042452052208"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042480720848"}]}]}, "140042452052208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042480720848": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661609056"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489395488"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396608"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396832"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489659456"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489660128"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489659680"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660576"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660800"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648489760"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648490656"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491104"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491552"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492000"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492448"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492896"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494688"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495136"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495584"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489397872"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648499616"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500064"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500512"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661609056": {"type": "Function", "typeVars": [".-1.140042661609056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661609056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140042661609056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661609056", "variance": "INVARIANT"}, "140042489395488": {"type": "Function", "typeVars": [".-1.140042489395488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489395488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489395488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489395488", "variance": "INVARIANT"}, "140042489396608": {"type": "Function", "typeVars": [".-1.140042489396608"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489396608"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489396608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396608", "variance": "INVARIANT"}, "140042489396832": {"type": "Function", "typeVars": [".-1.140042489396832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489396832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489396832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396832", "variance": "INVARIANT"}, "140042489659456": {"type": "Function", "typeVars": [".-1.140042489659456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489659456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489659456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489659456", "variance": "INVARIANT"}, "140042489660128": {"type": "Function", "typeVars": [".-1.140042489660128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489660128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140042489660128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489660128", "variance": "INVARIANT"}, "140042489659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648489760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648490656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400448": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042493358736": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042648492448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492896": {"type": "Function", "typeVars": [".-1.140042648492896"], "argTypes": [{"nodeId": ".-1.140042648492896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648492896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140042648492896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648492896", "variance": "INVARIANT"}, "140042648493344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648493792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648495136": {"type": "Function", "typeVars": [".-1.140042648495136"], "argTypes": [{"nodeId": ".-1.140042648495136"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495136", "variance": "INVARIANT"}, "140042648495584": {"type": "Function", "typeVars": [".-1.140042648495584"], "argTypes": [{"nodeId": ".-1.140042648495584"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495584", "variance": "INVARIANT"}, "140042489397872": {"type": "Overloaded", "items": [{"nodeId": "140042648496032"}, {"nodeId": "140042648496480"}, {"nodeId": "140042648496928"}]}, "140042648496032": {"type": "Function", "typeVars": [".-1.140042648496032"], "argTypes": [{"nodeId": ".-1.140042648496032"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648496032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648496032", "variance": "INVARIANT"}, "140042648496480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480721856": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489386976"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742048"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742720"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742944"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743168"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743392"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743616"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744288"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744512"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746080"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489745632"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648741792"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742240"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742688"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743136"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743584"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389440"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389664"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648745376"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489747648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746272"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746720"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747168"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747616"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648846624"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847072"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847520"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401456"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140042480720848"}], "isAbstract": false}, "140042489386976": {"type": "Function", "typeVars": [".-1.140042489386976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489386976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489401904": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042480719840": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391456"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391904"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489392128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661606816"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042489391456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489398992"}], "returnType": {"nodeId": "140042489399104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489398992": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489391904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399216"}], "returnType": {"nodeId": "140042489399328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399216": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399328": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489392128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399440"}], "returnType": {"nodeId": "140042489399552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399440": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399552": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042661606816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042489386976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489386976", "variance": "INVARIANT"}, "140042489742048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402016": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489743616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489744288": {"type": "Function", "typeVars": [".-1.140042489744288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042489402128"}], "returnType": {"nodeId": ".-1.140042489744288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140042489402128": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489744288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744288", "variance": "INVARIANT"}, "140042489744512": {"type": "Function", "typeVars": [".-1.140042489744512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489744512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489744512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744512", "variance": "INVARIANT"}, "140042489746080": {"type": "Function", "typeVars": [".-1.140042489746080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489402240"}], "returnType": {"nodeId": ".-1.140042489746080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140042489402240": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489746080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489746080", "variance": "INVARIANT"}, "140042489745632": {"type": "Function", "typeVars": [".-1.140042489745632"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489745632"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489745632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489745632", "variance": "INVARIANT"}, "140042489746304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480721184"}, {"nodeId": "140042489402352"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140042480721184": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489385856"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489663712"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489666624"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667072"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667520"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619936"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620832"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648621280"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489667968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648622624"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623072"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623520"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623968"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648624416"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489387424"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489385856": {"type": "Function", "typeVars": [".-1.140042489385856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489400784"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489385856"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489400784": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489385856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489385856", "variance": "INVARIANT"}, "140042489663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489666624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489400896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400896": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489667744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648619488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648619936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648621280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140042489667968": {"type": "Function", "typeVars": [".-1.140042489667968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489667968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489667968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489667968", "variance": "INVARIANT"}, "140042648622624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401008": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648623968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648624416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401232": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489387424": {"type": "Function", "typeVars": [".-1.140042489387424"], "argTypes": [{"nodeId": ".-1.140042489387424"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489387424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489387424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489387424", "variance": "INVARIANT"}, "140042489401344": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489402352": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648741792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648742240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402464": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042648742688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480720848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489389440": {"type": "Function", "typeVars": [".-1.140042489389440"], "argTypes": [{"nodeId": ".-1.140042489389440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489402576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489389440"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489389440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389440", "variance": "INVARIANT"}, "140042489402576": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489389664": {"type": "Function", "typeVars": [".-1.140042489389664"], "argTypes": [{"nodeId": ".-1.140042489389664"}, {"nodeId": "140042489402688"}], "returnType": {"nodeId": ".-1.140042489389664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140042489389664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389664", "variance": "INVARIANT"}, "140042489402688": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648745376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140042489747648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140042648746272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402800": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648746720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648747168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489403024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489403024": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648747616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648846624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401456": {"type": "Overloaded", "items": [{"nodeId": "140042648847968"}, {"nodeId": "140042648848416"}]}, "140042648847968": {"type": "Function", "typeVars": [".-1.140042648847968"], "argTypes": [{"nodeId": ".-1.140042648847968"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648847968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648847968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648847968", "variance": "INVARIANT"}, "140042648848416": {"type": "Function", "typeVars": [".-1.140042648848416"], "argTypes": [{"nodeId": ".-1.140042648848416"}, {"nodeId": ".-1.140042648848416"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648848416": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648848416", "variance": "INVARIANT"}, "140042648496928": {"type": "Function", "typeVars": [".-1.140042648496928"], "argTypes": [{"nodeId": ".-1.140042648496928"}, {"nodeId": ".-1.140042648496928"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496928": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648496928", "variance": "INVARIANT"}, "140042648499616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400672": {"type": "TypeAlias", "target": {"nodeId": "140042489398096"}}, "140042489398096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042422228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422229184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468654576": {"type": "Concrete", "module": "numpy", "simpleName": "finfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468654576"}]}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "eps", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "epsneg", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "iexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "machep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "maxexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "minexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "negep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nmant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "precision", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_subnormal", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_normal", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230080"}}, {"kind": "Variable", "name": "tiny", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230976"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049184"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468654576"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468654576": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042468654576", "variance": "INVARIANT"}, "140042422230080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422230976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452049184": {"type": "Overloaded", "items": [{"nodeId": "140042733322304"}, {"nodeId": "140042733322752"}, {"nodeId": "140042733323200"}]}, "140042733322304": {"type": "Function", "typeVars": [".-1.140042733322304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052880"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042733322304"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052880": {"type": "Union", "items": [{"nodeId": "140042468231872", "args": [{"nodeId": ".-1.140042733322304"}]}, {"nodeId": "0"}]}, ".-1.140042733322304": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042733322304", "variance": "INVARIANT"}, "140042733322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052992"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042452053104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052992": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366032"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452053104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468238928": {"type": "Concrete", "module": "numpy", "simpleName": "iinfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468238928"}]}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422231648"}}, {"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422232096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052432"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468238928"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468238928": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042468238928", "variance": "INVARIANT"}, "140042422231648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422232096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452052432": {"type": "Overloaded", "items": [{"nodeId": "140042733324544"}, {"nodeId": "140042733324992"}, {"nodeId": "140042733325440"}]}, "140042733324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053552"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053552": {"type": "Union", "items": [{"nodeId": ".1.140042468238928"}, {"nodeId": "0"}]}, "140042733324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053664"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "140042452053776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053664": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042452053776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468239264": {"type": "Concrete", "module": "numpy", "simpleName": "format_parser", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733325888"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239264"}, {"nodeId": "140042452054000"}, {"nodeId": "140042452054112"}, {"nodeId": "140042452054224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452054448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "formats", "names", "titles", "aligned", "byteorder"]}, "140042452054000": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452054112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054336"}]}, "140042452054336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042468239600": {"type": "Concrete", "module": "numpy", "simpleName": "recarray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052656"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327232"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327680"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733328128"}, "name": "__setattr__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452054560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452056688"}, "items": [{"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "field"}], "typeVars": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}], "isAbstract": false}, "140042452052656": {"type": "Overloaded", "items": [{"nodeId": "140042733326336"}, {"nodeId": "140042733326784"}]}, "140042733326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452055232"}, {"nodeId": "N"}, {"nodeId": "140042452053328"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452054896"}, {"nodeId": "140042452055456"}, {"nodeId": "140042452055568"}, {"nodeId": "140042452056128"}, {"nodeId": "140042452054784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452055792"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452055232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452053328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054672"}]}, "140042452054672": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452054896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056016"}]}, "140042452056016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452055568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452056128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452055904"}]}, "140042452055904": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042452055792": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042468239936": {"type": "Concrete", "module": "numpy", "simpleName": "record", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733331712"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332160"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332608"}, "name": "pprint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452057920"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468233216"}], "isAbstract": false}, "140042733331712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733332160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452206864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452206864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733332608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452057920": {"type": "Overloaded", "items": [{"nodeId": "140042733333056"}, {"nodeId": "140042733333504"}]}, "140042733333056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042452207648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452207648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042733333504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452057024"}, {"nodeId": "140042452055008"}, {"nodeId": "140042452056464"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452056800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042452055120"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452057024": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055008": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452056464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056576"}]}, "140042452056576": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452056800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452057248"}]}, "140042452057248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055120": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042733327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468239600": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468239600", "variance": "INVARIANT"}, ".2.140042468239600": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468239600", "variance": "COVARIANT"}, "140042733327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042452057808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452057808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452054560": {"type": "Overloaded", "items": [{"nodeId": "140042733328576"}, {"nodeId": "140042733329024"}, {"nodeId": "140042733329472"}, {"nodeId": "140042733329920"}, {"nodeId": "140042733330368"}]}, "140042733328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452057696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452057696": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452055680"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452056352"}]}]}, "140042452055680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452056352": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452056912"}]}, "140042452056912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, {"nodeId": "140042452205968"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452205968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452205744"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206080"}]}]}, "140042452205744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452205632"}, {"nodeId": "140042577727152"}]}, "140042452205632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452206640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452206640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452206416"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206304"}]}]}, "140042452206416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452206528"}, {"nodeId": "140042577727152"}]}, "140042452206528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733330368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452056688": {"type": "Overloaded", "items": [{"nodeId": "140042733330816"}, {"nodeId": "140042733331264"}]}, "140042733330816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207200"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "attr", "val"]}, "140042452207200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042733331264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207424"}, {"nodeId": "140042452207536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452207424": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452207536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468240272": {"type": "Concrete", "module": "numpy", "simpleName": "nditer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_dtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "casting", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itershape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffersize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733333952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335296"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335744"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336640"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452207872"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733337984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292416"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292864"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293312"}, "name": "debug_print"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293760"}, "name": "enable_external_loop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294208"}, "name": "iternext"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294656"}, "name": "remove_axis"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295104"}, "name": "remove_multi_index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295552"}, "name": "reset"}, {"kind": "Variable", "name": "dtypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422318944"}}, {"kind": "Variable", "name": "finished", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319392"}}, {"kind": "Variable", "name": "has_delayed_bufalloc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319616"}}, {"kind": "Variable", "name": "has_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319840"}}, {"kind": "Variable", "name": "has_multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320064"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320288"}}, {"kind": "Variable", "name": "iterationneedsapi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320512"}}, {"kind": "Variable", "name": "iterindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320736"}}, {"kind": "Variable", "name": "iterrange", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452288"}}, {"kind": "Variable", "name": "itersize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452512"}}, {"kind": "Variable", "name": "itviews", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452736"}}, {"kind": "Variable", "name": "multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452960"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453184"}}, {"kind": "Variable", "name": "nop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453408"}}, {"kind": "Variable", "name": "operands", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453632"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453856"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422454080"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733333952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452208432"}, {"nodeId": "140042452208656"}, {"nodeId": "140042452208880"}, {"nodeId": "140042452209216"}, {"nodeId": "140042452209328"}, {"nodeId": "140042452209440"}, {"nodeId": "140042452209552"}, {"nodeId": "140042452209776"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "op", "flags", "op_flags", "op_dtypes", "order", "casting", "op_axes", "itershape", "buffersize"]}, "140042452208432": {"type": "Union", "items": [{"nodeId": "140042452208208"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208320"}]}]}, "140042452208208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208544"}]}]}, "140042452208544": {"type": "TypeAlias", "target": {"nodeId": "140042468160032"}}, "140042468160032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452208880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042452208768"}]}]}]}, "140042452208768": {"type": "TypeAlias", "target": {"nodeId": "140042468161936"}}, "140042468161936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452209216": {"type": "Union", "items": [{"nodeId": "140042452208992"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452209104"}]}]}, "140042452208992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209104": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209328": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452209440": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042452209552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}]}, "140042452209776": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452209664"}]}, "140042452209664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042733334400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733334848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452207984"}, {"nodeId": "140042452211120"}, {"nodeId": "140042452210560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452207984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452211120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452210560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042733335296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733335744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733336192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733336640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452207872": {"type": "Overloaded", "items": [{"nodeId": "140042733337088"}, {"nodeId": "140042733337536"}]}, "140042733337088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452210112"}, {"nodeId": "140042452211344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452210112": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042577727152"}]}, "140042452211344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728292416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728292864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728295104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728295552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422454080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240608": {"type": "Concrete", "module": "numpy", "simpleName": "memmap", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464276464"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452210224"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728304960"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305408"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "isAbstract": false}, "140042464276464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042452210224": {"type": "Overloaded", "items": [{"nodeId": "140042728303616"}, {"nodeId": "140042728304064"}, {"nodeId": "140042728304512"}]}, "140042728303616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452212128"}, {"nodeId": "0"}, {"nodeId": "140042452212240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212352"}, {"nodeId": "140042452212464"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452212688"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452212128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212240": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042468162160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452212352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212464": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452212688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042728304064": {"type": "Function", "typeVars": [".-1.140042728304064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452213472"}, {"nodeId": "0"}, {"nodeId": "140042452213584"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212016"}, {"nodeId": "140042452212912"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042728304064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452213472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452213584": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452212016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212912": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042728304064": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042728304064", "variance": "INVARIANT"}, "140042728304512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452214256"}, {"nodeId": "140042452212800"}, {"nodeId": "140042452213248"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452213360"}, {"nodeId": "140042452213808"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452214256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212800": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452213248": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452213360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452213808": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468240608": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468240608", "variance": "INVARIANT"}, ".2.140042468240608": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468240608", "variance": "COVARIANT"}, "140042728305408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042452213696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "array", "context"]}, "140042452213696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452214368"}]}, "140042452214368": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042728305856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240944": {"type": "Concrete", "module": "numpy", "simpleName": "vectorize", "members": [{"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472563744"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271872"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271984"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042468157680"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468157344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472563744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042464271872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464271984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042468157680": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042468157344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "140042452081056"}, {"nodeId": "140042452215264"}, {"nodeId": "140042452214144"}, {"nodeId": "140042452215488"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452215040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pyfunc", "otypes", "doc", "excluded", "cache", "signature"]}, "140042452081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042452215264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452214592"}]}]}, "140042452214592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452214144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452215488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452215376"}]}]}, "140042452215376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452215040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042468241280": {"type": "Concrete", "module": "numpy", "simpleName": "poly1d", "members": [{"kind": "Variable", "name": "variable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458112"}}, {"kind": "Variable", "name": "order", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458560"}}, {"kind": "Variable", "name": "o", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458784"}}, {"kind": "Variable", "name": "roots", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459008"}}, {"kind": "Variable", "name": "r", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459232"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452211008"}, "items": [{"kind": "Variable", "name": "coeffs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459456"}}, {"kind": "Variable", "name": "coeffs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coeffs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217056"}, "items": [{"kind": "Variable", "name": "c", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459680"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "c"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452215936"}, "items": [{"kind": "Variable", "name": "coef", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459904"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coef"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452216944"}, "items": [{"kind": "Variable", "name": "coefficients", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422460128"}}, {"kind": "Variable", "name": "coefficients", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coefficients"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217616"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218176"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c_or_r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "variable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430656"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431104"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432896"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433344"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433792"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434688"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435136"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435584"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436032"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436480"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438272"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438720"}, "name": "integ"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422458112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452211008": {"type": "Overloaded", "items": [{"nodeId": "140042728424384"}]}, "140042728424384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217056": {"type": "Overloaded", "items": [{"nodeId": "140042728425280"}]}, "140042728425280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452215936": {"type": "Overloaded", "items": [{"nodeId": "140042728426176"}]}, "140042728426176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452216944": {"type": "Overloaded", "items": [{"nodeId": "140042728427072"}]}, "140042728427072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422460128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217616": {"type": "Overloaded", "items": [{"nodeId": "140042728427968"}, {"nodeId": "140042728428416"}]}, "140042728427968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "t"]}, "140042728428416": {"type": "Function", "typeVars": [".-1.140042728428416"], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": ".-1.140042728428416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042728428416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "t"]}, ".-1.140042728428416": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042728428416", "variance": "INVARIANT"}, "140042452218176": {"type": "Overloaded", "items": [{"nodeId": "140042728428864"}, {"nodeId": "140042728429312"}, {"nodeId": "140042728429760"}]}, "140042728428864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219296": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042728429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042728429760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728430208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452219184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "c_or_r", "r", "variable"]}, "140042452219968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452219184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220192"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220304"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220416"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220528"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220640"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220640": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042728434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219856"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452219856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728434688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220864"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220976"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042452220976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221088"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221200"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221312"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042728437824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728438272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221648"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042452221648": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042728438720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221760"}, {"nodeId": "140042452304160"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k"]}, "140042452221760": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042452304160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452303936"}, {"nodeId": "140042452304048"}]}, "140042452303936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304048": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042468241616": {"type": "Concrete", "module": "numpy", "simpleName": "matrix", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "subtype", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728439168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728554560"}, "name": "__array_finalize__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218736"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728556800"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558144"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558592"}, "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452220080"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452306736"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452308976"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452309872"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452310992"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312112"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452313232"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312896"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314576"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314464"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315024"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315696"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772032"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452090464"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772928"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728773376"}, "name": "flatten"}, {"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418555360"}}, {"kind": "Variable", "name": "I", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418566560"}}, {"kind": "Variable", "name": "A", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567456"}}, {"kind": "Variable", "name": "A1", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567680"}}, {"kind": "Variable", "name": "H", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776064"}, "name": "getT"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776512"}, "name": "getI"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776960"}, "name": "getA"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777408"}, "name": "getA1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777856"}, "name": "getH"}], "typeVars": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "isAbstract": false}, "140042728439168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452304384"}, {"nodeId": "140042452304496"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "data", "dtype", "copy"]}, "140042452304384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304496": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728554560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241616": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241616", "variance": "INVARIANT"}, ".2.140042468241616": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468241616", "variance": "COVARIANT"}, "140042452218736": {"type": "Overloaded", "items": [{"nodeId": "140042728555008"}, {"nodeId": "140042728555456"}, {"nodeId": "140042728555904"}, {"nodeId": "140042728556352"}]}, "140042728555008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452305056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452305056": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452305504"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305392"}]}]}, "140042452305504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305392": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452304720"}]}, "140042452304720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452304832"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452304832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452305168"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305840"}]}]}, "140042452305168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452306064"}, {"nodeId": "140042577727152"}]}, "140042452306064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306400"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306848"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307184"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307296"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307632"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452220080": {"type": "Overloaded", "items": [{"nodeId": "140042728559040"}, {"nodeId": "140042728559488"}, {"nodeId": "140042728559936"}]}, "140042728559040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452307520"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452307520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452308752"}, {"nodeId": "140042452308640"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308640": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559936": {"type": "Function", "typeVars": [".-1.140042728559936"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309088"}, {"nodeId": "140042452308192"}, {"nodeId": ".-1.140042728559936"}], "returnType": {"nodeId": ".-1.140042728559936"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452309200"}]}, "140042452309200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728559936": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728559936", "variance": "INVARIANT"}, "140042452306736": {"type": "Overloaded", "items": [{"nodeId": "140042728560384"}, {"nodeId": "140042728560832"}, {"nodeId": "140042728561280"}]}, "140042728560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308304"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308304": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309984"}, {"nodeId": "140042452308416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309984": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728561280": {"type": "Function", "typeVars": [".-1.140042728561280"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452310320"}, {"nodeId": "140042452310096"}, {"nodeId": ".-1.140042728561280"}], "returnType": {"nodeId": ".-1.140042728561280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452310208"}]}, "140042452310208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728561280": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728561280", "variance": "INVARIANT"}, "140042452308976": {"type": "Overloaded", "items": [{"nodeId": "140042728561728"}, {"nodeId": "140042728562176"}, {"nodeId": "140042728562624"}]}, "140042728561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308528"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452308528": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311104"}, {"nodeId": "140042452309424"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311104": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452309424": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562624": {"type": "Function", "typeVars": [".-1.140042728562624"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311440"}, {"nodeId": "140042452311216"}, {"nodeId": ".-1.140042728562624"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728562624"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452311328"}]}, "140042452311328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728562624": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728562624", "variance": "INVARIANT"}, "140042452309872": {"type": "Overloaded", "items": [{"nodeId": "140042728563072"}, {"nodeId": "140042728563520"}, {"nodeId": "140042728563968"}]}, "140042728563072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452309760"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452309760": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312224"}, {"nodeId": "140042452310544"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312224": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563968": {"type": "Function", "typeVars": [".-1.140042728563968"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312560"}, {"nodeId": "140042452312336"}, {"nodeId": ".-1.140042728563968"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728563968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452312448"}]}, "140042452312448": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452312336": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728563968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728563968", "variance": "INVARIANT"}, "140042452310992": {"type": "Overloaded", "items": [{"nodeId": "140042728564416"}, {"nodeId": "140042728564864"}, {"nodeId": "140042728565312"}]}, "140042728564416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452310880"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728564864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313344"}, {"nodeId": "140042452311664"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311664": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728565312": {"type": "Function", "typeVars": [".-1.140042728565312"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313680"}, {"nodeId": "140042452313456"}, {"nodeId": ".-1.140042728565312"}], "returnType": {"nodeId": ".-1.140042728565312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452313568"}]}, "140042452313568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452313456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728565312": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728565312", "variance": "INVARIANT"}, "140042452312112": {"type": "Overloaded", "items": [{"nodeId": "140042728565760"}, {"nodeId": "140042728566208"}, {"nodeId": "140042728566656"}]}, "140042728565760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728566208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312000"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312000": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728566656": {"type": "Function", "typeVars": [".-1.140042728566656"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313008"}, {"nodeId": ".-1.140042728566656"}], "returnType": {"nodeId": ".-1.140042728566656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313008": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314016"}]}, "140042452314016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728566656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728566656", "variance": "INVARIANT"}, "140042452313232": {"type": "Overloaded", "items": [{"nodeId": "140042728567104"}, {"nodeId": "140042728567552"}, {"nodeId": "140042728568000"}]}, "140042728567104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728567552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313120"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313120": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728568000": {"type": "Function", "typeVars": [".-1.140042728568000"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312784"}, {"nodeId": ".-1.140042728568000"}], "returnType": {"nodeId": ".-1.140042728568000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314240"}]}, "140042452314240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728568000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728568000", "variance": "INVARIANT"}, "140042452312896": {"type": "Overloaded", "items": [{"nodeId": "140042452088672"}, {"nodeId": "140042728568896"}, {"nodeId": "140042728569344"}]}, "140042452088672": {"type": "Function", "typeVars": [".-1.140042452088672"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452088672"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452088672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452088672", "variance": "INVARIANT"}, "140042728568896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314352"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728569344": {"type": "Function", "typeVars": [".-1.140042728569344"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314912"}, {"nodeId": ".-1.140042728569344"}], "returnType": {"nodeId": ".-1.140042728569344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314688"}]}, "140042452314688": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728569344": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728569344", "variance": "INVARIANT"}, "140042452314576": {"type": "Overloaded", "items": [{"nodeId": "140042452089120"}, {"nodeId": "140042728570240"}, {"nodeId": "140042728767552"}]}, "140042452089120": {"type": "Function", "typeVars": [".-1.140042452089120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452089120"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452089120": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452089120", "variance": "INVARIANT"}, "140042728570240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315248"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728767552": {"type": "Function", "typeVars": [".-1.140042728767552"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315584"}, {"nodeId": ".-1.140042728767552"}], "returnType": {"nodeId": ".-1.140042728767552"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452315472"}]}, "140042452315472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728767552": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728767552", "variance": "INVARIANT"}, "140042452314464": {"type": "Overloaded", "items": [{"nodeId": "140042452089568"}, {"nodeId": "140042728768448"}, {"nodeId": "140042728768896"}]}, "140042452089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452315920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315920": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452316256"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316032": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452316256": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768896": {"type": "Function", "typeVars": [".-1.140042728768896"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316480"}, {"nodeId": ".-1.140042728768896"}], "returnType": {"nodeId": ".-1.140042728768896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452316368"}]}, "140042452316368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728768896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728768896", "variance": "INVARIANT"}, "140042452315024": {"type": "Overloaded", "items": [{"nodeId": "140042452089792"}, {"nodeId": "140042728769792"}, {"nodeId": "140042728770240"}]}, "140042452089792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452316816"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316816": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452317152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452317152": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728770240": {"type": "Function", "typeVars": [".-1.140042728770240"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317376"}, {"nodeId": ".-1.140042728770240"}], "returnType": {"nodeId": ".-1.140042728770240"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317376": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317264"}]}, "140042452317264": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728770240": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728770240", "variance": "INVARIANT"}, "140042452315696": {"type": "Overloaded", "items": [{"nodeId": "140042452090016"}, {"nodeId": "140042728771136"}, {"nodeId": "140042728771584"}]}, "140042452090016": {"type": "Function", "typeVars": [".-1.140042452090016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452090016"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452090016": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452090016", "variance": "INVARIANT"}, "140042728771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317712"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728771584": {"type": "Function", "typeVars": [".-1.140042728771584"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318048"}, {"nodeId": ".-1.140042728771584"}], "returnType": {"nodeId": ".-1.140042728771584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452318048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317936"}]}, "140042452317936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728771584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728771584", "variance": "INVARIANT"}, "140042728772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318272"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042452318272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452318160"}]}, "140042452318160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452090464": {"type": "Function", "typeVars": [".-1.140042452090464"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042452090464"}]}]}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042452090464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042452090464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042452090464", "variance": "INVARIANT"}, "140042728772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318608"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452318608": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728773376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452319168"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452319168": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042418555360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418566560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468241952": {"type": "Concrete", "module": "numpy", "simpleName": "chararray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452316592"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779200"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779648"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780544"}, "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451730016"}, "items": [{"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__eq__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210752"}, "items": [{"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ne__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210192"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447211648"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447212432"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447213216"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214000"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214784"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447215568"}, "items": [{"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "center"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447216352"}, "items": [{"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447178880"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447179328"}, "name": "encode"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447217136"}, "items": [{"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728923072"}, "name": "expandtabs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447219936"}, "items": [{"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "find"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447222512"}, "items": [{"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224192"}, "items": [{"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "join"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452319280"}, "items": [{"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ljust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275168"}, "items": [{"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275840"}, "items": [{"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "partition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447276960"}, "items": [{"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "replace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447277856"}, "items": [{"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rfind"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447280208"}, "items": [{"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rindex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447281888"}, "items": [{"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rjust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283568"}, "items": [{"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rpartition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283456"}, "items": [{"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rsplit"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447284576"}, "items": [{"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286816"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729116544"}, "name": "splitlines"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286704"}, "items": [{"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "startswith"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447289280"}, "items": [{"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224080"}, "items": [{"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729119680"}, "name": "zfill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120128"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120576"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121472"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121920"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122368"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122816"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123264"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123712"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124160"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124608"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125056"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125504"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125952"}, "name": "isdecimal"}], "typeVars": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "isAbstract": false}, "140042452316592": {"type": "Overloaded", "items": [{"nodeId": "140042728778304"}, {"nodeId": "140042728778752"}]}, "140042728778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447208624"}, {"nodeId": "140042447208736"}, {"nodeId": "0"}, {"nodeId": "140042447208960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209072"}, {"nodeId": "140042447209184"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447208624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447208736": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447208960": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209184": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447209744"}, {"nodeId": "140042447209856"}, {"nodeId": "0"}, {"nodeId": "140042447209520"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209632"}, {"nodeId": "140042447209968"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447209744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209856": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447209520": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241952": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241952", "variance": "INVARIANT"}, ".2.140042468241952": {"type": "TypeVar", "varName": "_CharDType", "values": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468241952", "variance": "INVARIANT"}, "140042728779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210528"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210416"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730016": {"type": "Overloaded", "items": [{"nodeId": "140042447176416"}, {"nodeId": "140042728781440"}]}, "140042447176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210752": {"type": "Overloaded", "items": [{"nodeId": "140042447176864"}, {"nodeId": "140042728782336"}]}, "140042447176864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210192": {"type": "Overloaded", "items": [{"nodeId": "140042447177088"}, {"nodeId": "140042728783232"}]}, "140042447177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447211648": {"type": "Overloaded", "items": [{"nodeId": "140042447177312"}, {"nodeId": "140042728915456"}]}, "140042447177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728915456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447212432": {"type": "Overloaded", "items": [{"nodeId": "140042447177536"}, {"nodeId": "140042728916352"}]}, "140042447177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728916352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447213216": {"type": "Overloaded", "items": [{"nodeId": "140042447177760"}, {"nodeId": "140042728917248"}]}, "140042447177760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728917248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215344"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214000": {"type": "Overloaded", "items": [{"nodeId": "140042447177984"}, {"nodeId": "140042728918144"}]}, "140042447177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728918144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214784": {"type": "Overloaded", "items": [{"nodeId": "140042447178208"}, {"nodeId": "140042728919040"}]}, "140042447178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216576"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447215568": {"type": "Overloaded", "items": [{"nodeId": "140042447178432"}, {"nodeId": "140042728919936"}]}, "140042447178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217360"}, {"nodeId": "140042447217472"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217920"}, {"nodeId": "140042447217696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447216352": {"type": "Overloaded", "items": [{"nodeId": "140042447178656"}, {"nodeId": "140042728920832"}]}, "140042447178656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447218144"}, {"nodeId": "140042447218480"}, {"nodeId": "140042447218704"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447218144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447218592"}]}, "140042447218592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728920832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447219264"}, {"nodeId": "140042447218256"}, {"nodeId": "140042447219488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447219264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447219376"}]}, "140042447219376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220048"}, {"nodeId": "140042447219152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447219152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220384"}, {"nodeId": "140042447220496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447220496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447217136": {"type": "Overloaded", "items": [{"nodeId": "140042447179552"}, {"nodeId": "140042728922624"}]}, "140042447179552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220944"}, {"nodeId": "140042447221056"}, {"nodeId": "140042447221280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447220944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221168"}]}, "140042447221168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728922624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221728"}, {"nodeId": "140042447220720"}, {"nodeId": "140042447221952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447221728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447220720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221840"}]}, "140042447221840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447222176"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042447222176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219936": {"type": "Overloaded", "items": [{"nodeId": "140042447180000"}, {"nodeId": "140042728923968"}]}, "140042447180000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221616"}, {"nodeId": "140042447222736"}, {"nodeId": "140042447222960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447221616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447222848"}]}, "140042447222848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223520"}, {"nodeId": "140042447222624"}, {"nodeId": "140042447223744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447223744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447223632"}]}, "140042447223632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222512": {"type": "Overloaded", "items": [{"nodeId": "140042447175968"}, {"nodeId": "140042728924864"}]}, "140042447175968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223408"}, {"nodeId": "140042447224416"}, {"nodeId": "140042447224640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447224528"}]}, "140042447224528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728924864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447274496"}, {"nodeId": "140042447274272"}, {"nodeId": "140042447274720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447274496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447274608"}]}, "140042447274608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224192": {"type": "Overloaded", "items": [{"nodeId": "140042447180224"}, {"nodeId": "140042728925760"}]}, "140042447180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275056"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728925760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452319280": {"type": "Overloaded", "items": [{"nodeId": "140042447180448"}, {"nodeId": "140042728926656"}]}, "140042447180448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276064"}, {"nodeId": "140042447276176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728926656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276624"}, {"nodeId": "140042447276400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275168": {"type": "Overloaded", "items": [{"nodeId": "140042447180672"}, {"nodeId": "140042728927552"}]}, "140042447180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447276848"}]}, "140042447276848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728927552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447277520"}]}, "140042447277520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275840": {"type": "Overloaded", "items": [{"nodeId": "140042447180896"}, {"nodeId": "140042728928448"}]}, "140042447180896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728928448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276960": {"type": "Overloaded", "items": [{"nodeId": "140042447181120"}, {"nodeId": "140042728929344"}]}, "140042447181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278864"}, {"nodeId": "140042447278976"}, {"nodeId": "140042447279200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447278864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279088"}]}, "140042447279088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728929344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279648"}, {"nodeId": "140042447278640"}, {"nodeId": "140042447279872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447279648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279760"}]}, "140042447279760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447277856": {"type": "Overloaded", "items": [{"nodeId": "140042447181344"}, {"nodeId": "140042728930240"}]}, "140042447181344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279536"}, {"nodeId": "140042447280432"}, {"nodeId": "140042447280656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447279536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447280544"}]}, "140042447280544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728930240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281216"}, {"nodeId": "140042447280096"}, {"nodeId": "140042447281440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447281328"}]}, "140042447281328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280208": {"type": "Overloaded", "items": [{"nodeId": "140042447181568"}, {"nodeId": "140042729111616"}]}, "140042447181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281104"}, {"nodeId": "140042447282112"}, {"nodeId": "140042447282336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447282224"}]}, "140042447282224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729111616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282896"}, {"nodeId": "140042447281776"}, {"nodeId": "140042447283120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447282896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447283008"}]}, "140042447283008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281888": {"type": "Overloaded", "items": [{"nodeId": "140042447181792"}, {"nodeId": "140042729112512"}]}, "140042447181792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282784"}, {"nodeId": "140042447283792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447282784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729112512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284240"}, {"nodeId": "140042447284016"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447284240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283568": {"type": "Overloaded", "items": [{"nodeId": "140042447182016"}, {"nodeId": "140042729113408"}]}, "140042447182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447284464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729113408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447285024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283456": {"type": "Overloaded", "items": [{"nodeId": "140042447182240"}, {"nodeId": "140042729114304"}]}, "140042447182240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285584"}, {"nodeId": "140042447285808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285472"}]}, "140042447285472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447285808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285696"}]}, "140042447285696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729114304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285248"}, {"nodeId": "140042447286480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286256"}]}, "140042447286256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286368"}]}, "140042447286368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284576": {"type": "Overloaded", "items": [{"nodeId": "140042447182464"}, {"nodeId": "140042729115200"}]}, "140042447182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286144"}]}, "140042447286144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729115200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287376"}]}, "140042447287376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286816": {"type": "Overloaded", "items": [{"nodeId": "140042447182688"}, {"nodeId": "140042729116096"}]}, "140042447182688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447288048"}, {"nodeId": "140042447288272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447288048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287936"}]}, "140042447287936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288160"}]}, "140042447288160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287712"}, {"nodeId": "140042447288944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447287712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288720"}]}, "140042447288720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288832"}]}, "140042447288832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447289392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042447289392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289168"}]}, "140042447289168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286704": {"type": "Overloaded", "items": [{"nodeId": "140042447183360"}, {"nodeId": "140042729117440"}]}, "140042447183360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447289728"}, {"nodeId": "140042447289840"}, {"nodeId": "140042447290064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447289728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447290064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289952"}]}, "140042447289952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729117440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356080"}, {"nodeId": "140042447356192"}, {"nodeId": "140042447356416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447356080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356304"}]}, "140042447356304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289280": {"type": "Overloaded", "items": [{"nodeId": "140042447179776"}, {"nodeId": "140042729118336"}]}, "140042447179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447356976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356640"}]}, "140042447356640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729118336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447357424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357312"}]}, "140042447357312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224080": {"type": "Overloaded", "items": [{"nodeId": "140042447183584"}, {"nodeId": "140042729119232"}]}, "140042447183584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357872"}, {"nodeId": "140042447358096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447357872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357984"}]}, "140042447357984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447358432"}, {"nodeId": "140042447358656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447358432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447358544"}]}, "140042447358544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447358880"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, "140042447358880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729120128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729120576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468242288": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsDLPack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729126400"}, "name": "__dlpack__"}], "typeVars": [{"nodeId": ".1.140042468242288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__dlpack__"]}, "140042729126400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468242288", "args": [{"nodeId": ".1.140042468242288"}]}, {"nodeId": "140042447359328"}], "returnType": {"nodeId": "140042447357648"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, ".1.140042468242288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468242288", "variance": "CONTRAVARIANT"}, "140042447359328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": ".1.140042468242288"}]}, "140042447357648": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042578052144": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831952"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720423360"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547898496"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547899616"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577831952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042577832176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042720423360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564604464"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564604128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140042564604464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}]}, "140042564604128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778288": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499360"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042782778960": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577827808"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749500256"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548185568"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548186016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502496"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502944"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577827808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749500256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564605808"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140042564605808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548185568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548186016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778624": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499808"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749499808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778624"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042749502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777952": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749496224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749495328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749499360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778288"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042547899616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782777616": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370816"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749494432"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586370816": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564605920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140042564605920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749494432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779296": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503392"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503840"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504288"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504736"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140042749503840": {"type": "Function", "typeVars": [".-1.140042749503840"], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": ".-1.140042749503840"}], "returnType": {"nodeId": ".-1.140042749503840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140042749503840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749503840", "variance": "INVARIANT"}, "140042749504288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749504736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779632": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749506528"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749506528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779632"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577725472": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042577657328": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649109664"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110112"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110560"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111008"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111456"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042577733872": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562448"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708174880"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175328"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175776"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176224"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176672"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177120"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177568"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178016"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178464"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178912"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179808"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180256"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180704"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181600"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182496"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733872"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "isAbstract": false}, "140042552562448": {"type": "Overloaded", "items": [{"nodeId": "140042708173984"}, {"nodeId": "140042708174432"}]}, "140042708173984": {"type": "Function", "typeVars": [".-1.140042708173984"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042708173984"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042708173984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708173984", "variance": "INVARIANT"}, "140042708174432": {"type": "Function", "typeVars": [".-1.140042708174432"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": ".-1.140042708174432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140042577733872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733872", "variance": "COVARIANT"}, ".-1.140042708174432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708174432", "variance": "INVARIANT"}, "140042708174880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708175328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708175776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708176224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708176672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708178016": {"type": "Function", "typeVars": [".-1.140042708178016"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708178016"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564352"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708178016": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708178016", "variance": "INVARIANT"}, "140042552564352": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708178016"}]}, "140042708178464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708178912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708179360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708179808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708180256": {"type": "Function", "typeVars": [".-1.140042708180256"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708180256"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708180256": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708180256", "variance": "INVARIANT"}, "140042552564464": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708180256"}]}, "140042708180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708181152": {"type": "Function", "typeVars": [".-1.140042708181152"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708181152"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708181152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708181152", "variance": "INVARIANT"}, "140042552564576": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708181152"}]}, "140042708181600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708183392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042649109664": {"type": "Function", "typeVars": [".-1.140042649109664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042649109664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140042649109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649109664", "variance": "INVARIANT"}, "140042649110112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140042649110560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042649111008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042556831136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140042556831136": {"type": "Union", "items": [{"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649111456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042782780304": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569763744"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042782780304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042569763744": {"type": "Overloaded", "items": [{"nodeId": "140042753671904"}, {"nodeId": "140042753672352"}]}, "140042753671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780304", "variance": "COVARIANT"}, "140042753672352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782780304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577727824": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__hash__"]}, "140042548300480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782781984": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548312128"}}], "typeVars": [{"nodeId": ".1.140042782781984"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__await__"]}, "140042548312128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782781984"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140042782781984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781984", "variance": "COVARIANT"}, "140042782782320": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364000"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364224"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364448"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364672"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548364896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564615888"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548365120"}}], "typeVars": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042782782320"}]}], "isAbstract": true}, "140042548364000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042564813872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, ".2.140042782782320": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "CONTRAVARIANT"}, ".3.140042782782320": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, "140042564813872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548364224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": ".2.140042782782320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564615888": {"type": "Overloaded", "items": [{"nodeId": "140042753682656"}, {"nodeId": "140042753683104"}]}, "140042753682656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "0"}, {"nodeId": "140042564814096"}, {"nodeId": "140042564814208"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814096": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814208": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753683104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042548365120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728160": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}, {"nodeId": ".4.140042577728160"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042577728160"}]}, {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}]}], "isAbstract": true}, ".1.140042577728160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".2.140042577728160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "CONTRAVARIANT"}, ".3.140042577728160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".4.140042577728160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "INVARIANT"}, "140042782782656": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548366240"}}], "typeVars": [{"nodeId": ".1.140042782782656"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042548366240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782656"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782656"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782656": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782656", "variance": "COVARIANT"}, "140042782782992": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548369376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753684896"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042782782992"}], "bases": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782992"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140042548369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782992", "variance": "COVARIANT"}, "140042753684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782783328": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753685344"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371616"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564616000"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753687136"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548371168"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372512"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372736"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372960"}}], "typeVars": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}], "bases": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782783328"}]}], "isAbstract": true}, "140042753685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782783328": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "COVARIANT"}, ".2.140042782783328": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "CONTRAVARIANT"}, "140042548371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": ".2.140042782783328"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564616000": {"type": "Overloaded", "items": [{"nodeId": "140042753686240"}, {"nodeId": "140042753686688"}]}, "140042753686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "0"}, {"nodeId": "140042564814544"}, {"nodeId": "140042564814656"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814768"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814768": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753687136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577730176": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548755168"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": true}, "140042548755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730176"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577730512": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543677952"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678400"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678624"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678848"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543679072"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543679296"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": true}, "140042543677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042564822608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564822608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042543678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577731184": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564821824"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543681984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719639840"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719640736"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042564821824": {"type": "Overloaded", "items": [{"nodeId": "140042719638496"}, {"nodeId": "140042719638944"}]}, "140042719638496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564825072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564825072": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042719638944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042543681984": {"type": "Function", "typeVars": [".-1.140042543681984"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042543681984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042543681984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042543681984", "variance": "INVARIANT"}, "140042719639840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719640736": {"type": "Function", "typeVars": [".-1.140042719640736"], "argTypes": [{"nodeId": ".-1.140042719640736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042719640736"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042719640736": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719640736", "variance": "INVARIANT"}, "140042577731520": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719641184"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719772960"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773408"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773856"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774304"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774752"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775200"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775648"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776544"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042719641184": {"type": "Function", "typeVars": [".-1.140042719641184"], "argTypes": [{"nodeId": ".-1.140042719641184"}], "returnType": {"nodeId": ".-1.140042719641184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719641184": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719641184", "variance": "INVARIANT"}, "140042719772960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042719773408": {"type": "Function", "typeVars": [".-1.140042719773408"], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": ".-1.140042719773408"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042719773408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773408", "variance": "INVARIANT"}, "140042719773856": {"type": "Function", "typeVars": [".-1.140042719773856"], "argTypes": [{"nodeId": ".-1.140042719773856"}, {"nodeId": ".-1.140042719773856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042719773856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773856", "variance": "INVARIANT"}, "140042719774304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719774752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719776096": {"type": "Function", "typeVars": [".-1.140042719776096"], "argTypes": [{"nodeId": ".-1.140042719776096"}, {"nodeId": ".-1.140042719776096"}], "returnType": {"nodeId": ".-1.140042719776096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776096", "variance": "INVARIANT"}, "140042719776544": {"type": "Function", "typeVars": [".-1.140042719776544"], "argTypes": [{"nodeId": ".-1.140042719776544"}, {"nodeId": ".-1.140042719776544"}], "returnType": {"nodeId": ".-1.140042719776544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776544": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776544", "variance": "INVARIANT"}, "140042577364016": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586365328"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586364768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719777888"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719778784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586365328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042586364768": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719776992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564825744"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140042564825744": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719777888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042564825968"}, {"nodeId": "140042564826192"}, {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042564826416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140042564825968": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826192": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719778784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777280": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506442944"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009632"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506443392"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506444064"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707753824"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506442944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042552558192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552558192": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042578052816": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720426720"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042720426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052816"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042569009632": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042506443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506444064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}, {"nodeId": "140042552558528"}, {"nodeId": "140042552558640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042552558528": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042552558640": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042577364352": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511002176"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676448"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749677344"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042577364352"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511002176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042556319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364352": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364352", "variance": "COVARIANT"}, "140042556319872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749676000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "140042556319424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749676448": {"type": "Function", "typeVars": [".-1.140042749676448"], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": ".-1.140042749676448"}, {"nodeId": "140042551966656"}], "returnType": {"nodeId": "140042556325248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749676448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749676448", "variance": "INVARIANT"}, "140042551966656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042552082496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552082496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749677344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042577364688": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000832"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556325472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749679136"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999712"}}], "typeVars": [{"nodeId": ".1.140042577364688"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511000832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552082720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364688": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364688", "variance": "COVARIANT"}, "140042552082720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511000384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": "140042552082944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552082944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749679136": {"type": "Function", "typeVars": [".-1.140042749679136"], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": ".-1.140042749679136"}, {"nodeId": "140042551967440"}], "returnType": {"nodeId": "140042552083168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749679136": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749679136", "variance": "INVARIANT"}, "140042551967440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552083168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042510999712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552083392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552083392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577365360": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099216"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099216": {"type": "Overloaded", "items": [{"nodeId": "140042749689440"}, {"nodeId": "140042720051488"}, {"nodeId": "140042720051936"}]}, "140042749689440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042720051488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042720051936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577734208": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708185184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577734208"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042569010640"}]}], "isAbstract": false}, "140042708183840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140042577734208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734208", "variance": "INVARIANT"}, "140042708184288": {"type": "Function", "typeVars": [".-1.140042708184288"], "argTypes": [{"nodeId": ".-1.140042708184288"}], "returnType": {"nodeId": ".-1.140042708184288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042708184288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708184288", "variance": "INVARIANT"}, "140042708184736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}], "returnType": {"nodeId": "140042552564912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552564912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042708185184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042569010640": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042577369392": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506820672"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821120"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562784"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708187872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552564240"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030304"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506820672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552562784": {"type": "Overloaded", "items": [{"nodeId": "140042708186976"}, {"nodeId": "140042708187424"}]}, "140042708186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042708187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703028512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703028960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552564240": {"type": "Overloaded", "items": [{"nodeId": "140042703029408"}, {"nodeId": "140042703029856"}]}, "140042703029408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703029856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577369392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703030304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577369728": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569429536"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569432112"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569431664"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031200"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031648"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032096"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032544"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032992"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703033440"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569429536": {"type": "Union", "items": [{"nodeId": "140042586000064"}, {"nodeId": "N"}]}, "140042586000064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569432112": {"type": "Union", "items": [{"nodeId": "140042586009920"}, {"nodeId": "N"}]}, "140042586009920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569431664": {"type": "Union", "items": [{"nodeId": "140042577258400"}, {"nodeId": "N"}]}, "140042577258400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703030752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552565360"}, {"nodeId": "140042552565696"}, {"nodeId": "140042552566032"}, {"nodeId": "140042552566256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140042552565360": {"type": "Union", "items": [{"nodeId": "140042552097280"}, {"nodeId": "N"}]}, "140042552097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552565696": {"type": "Union", "items": [{"nodeId": "140042552097728"}, {"nodeId": "N"}]}, "140042552097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552566032": {"type": "Union", "items": [{"nodeId": "140042552097952"}, {"nodeId": "N"}]}, "140042552097952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552566256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042703031200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097504"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703031648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097056"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703032096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552770624"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703032544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "140042552567040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552567040": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042703032992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042703033440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577370064": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569343248": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703037472"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140042569343248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042703037472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343248", "args": [{"nodeId": ".1.140042569343248"}]}], "returnType": {"nodeId": ".1.140042569343248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343248": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343248", "variance": "COVARIANT"}, "140042577370400": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703038368"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042577370400"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042703038368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370400", "args": [{"nodeId": ".1.140042577370400"}]}], "returnType": {"nodeId": ".1.140042577370400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577370400": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "def": "140042577370400", "variance": "COVARIANT"}, "140042577734544": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552568272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703177760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703178208"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734544"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734544"}]}], "isAbstract": false}, "140042552568272": {"type": "Overloaded", "items": [{"nodeId": "140042703176416"}, {"nodeId": "140042703176864"}, {"nodeId": "140042703177312"}]}, "140042703176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552570624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734544", "variance": "INVARIANT"}, "140042552570624": {"type": "Union", "items": [{"nodeId": ".1.140042577734544"}, {"nodeId": "N"}]}, "140042703176864": {"type": "Function", "typeVars": [".-1.140042703176864"], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552771072"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703176864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552771072": {"type": "Function", "typeVars": [".-1.140042552771072"], "argTypes": [{"nodeId": ".-1.140042552771072"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552771072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552771072", "variance": "INVARIANT"}, ".-1.140042703176864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703176864", "variance": "INVARIANT"}, "140042703177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552770848"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577734544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703177760": {"type": "Function", "typeVars": [".-1.140042703177760"], "argTypes": [{"nodeId": ".-1.140042703177760"}], "returnType": {"nodeId": ".-1.140042703177760"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703177760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703177760", "variance": "INVARIANT"}, "140042703178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": ".1.140042577734544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577370736": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703184928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042577370736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042703184928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370736", "args": [{"nodeId": ".1.140042577370736"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577370736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577370736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577370736", "variance": "COVARIANT"}, "140042577734880": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552570736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703290656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703291104"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734880"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734880"}]}], "isAbstract": false}, "140042552570736": {"type": "Overloaded", "items": [{"nodeId": "140042703189408"}, {"nodeId": "140042703189856"}, {"nodeId": "140042703190304"}, {"nodeId": "140042703190752"}, {"nodeId": "140042703191200"}, {"nodeId": "140042703191648"}]}, "140042703189408": {"type": "Function", "typeVars": [".-1.140042703189408"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773312"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734880", "variance": "INVARIANT"}, "140042552773312": {"type": "Function", "typeVars": [".-1.140042552773312"], "argTypes": [{"nodeId": ".-1.140042552773312"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552773312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773312", "variance": "INVARIANT"}, ".-1.140042703189408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189408", "variance": "INVARIANT"}, "140042703189856": {"type": "Function", "typeVars": [".-1.140042703189856", ".-2.140042703189856"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189856"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703189856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042552772640": {"type": "Function", "typeVars": [".-1.140042552772640", ".-2.140042552772640"], "argTypes": [{"nodeId": ".-1.140042552772640"}, {"nodeId": ".-2.140042552772640"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552772640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-2.140042552772640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-1.140042703189856": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, ".-2.140042703189856": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, "140042703190304": {"type": "Function", "typeVars": [".-1.140042703190304", ".-2.140042703190304", ".-3.140042703190304"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772864"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190304"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042552772864": {"type": "Function", "typeVars": [".-1.140042552772864", ".-2.140042552772864", ".-3.140042552772864"], "argTypes": [{"nodeId": ".-1.140042552772864"}, {"nodeId": ".-2.140042552772864"}, {"nodeId": ".-3.140042552772864"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140042552772864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-2.140042552772864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-3.140042552772864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-1.140042703190304": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-2.140042703190304": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-3.140042703190304": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, "140042703190752": {"type": "Function", "typeVars": [".-1.140042703190752", ".-2.140042703190752", ".-3.140042703190752", ".-4.140042703190752"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773536"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703190752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042552773536": {"type": "Function", "typeVars": [".-1.140042552773536", ".-2.140042552773536", ".-3.140042552773536", ".-4.140042552773536"], "argTypes": [{"nodeId": ".-1.140042552773536"}, {"nodeId": ".-2.140042552773536"}, {"nodeId": ".-3.140042552773536"}, {"nodeId": ".-4.140042552773536"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140042552773536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-2.140042552773536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-3.140042552773536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-4.140042552773536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-1.140042703190752": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-2.140042703190752": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-3.140042703190752": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-4.140042703190752": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, "140042703191200": {"type": "Function", "typeVars": [".-1.140042703191200", ".-2.140042703191200", ".-3.140042703191200", ".-4.140042703191200", ".-5.140042703191200"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773760"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703191200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140042552773760": {"type": "Function", "typeVars": [".-1.140042552773760", ".-2.140042552773760", ".-3.140042552773760", ".-4.140042552773760", ".-5.140042552773760"], "argTypes": [{"nodeId": ".-1.140042552773760"}, {"nodeId": ".-2.140042552773760"}, {"nodeId": ".-3.140042552773760"}, {"nodeId": ".-4.140042552773760"}, {"nodeId": ".-5.140042552773760"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140042552773760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-2.140042552773760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-3.140042552773760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-4.140042552773760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-5.140042552773760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-1.140042703191200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-2.140042703191200": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-3.140042703191200": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-4.140042703191200": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-5.140042703191200": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, "140042703191648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773984"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140042552773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042703290656": {"type": "Function", "typeVars": [".-1.140042703290656"], "argTypes": [{"nodeId": ".-1.140042703290656"}], "returnType": {"nodeId": ".-1.140042703290656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703290656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703290656", "variance": "INVARIANT"}, "140042703291104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569343584": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703301856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042569343584"}], "bases": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569343584"}]}], "protocolMembers": ["flush", "write"]}, "140042703301856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343584", "args": [{"nodeId": ".1.140042569343584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343584", "variance": "CONTRAVARIANT"}, "140042577371072": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303200"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371072", "args": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}]}, {"nodeId": ".1.140042577371072"}], "returnType": {"nodeId": ".2.140042577371072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577371072": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "CONTRAVARIANT"}, ".2.140042577371072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "COVARIANT"}, "140042577371408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303648"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371408", "args": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}]}, {"nodeId": ".1.140042577371408"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140042577371408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140042577371408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "CONTRAVARIANT"}, ".2.140042577371408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "COVARIANT"}, "140042577371744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703304096"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371744", "args": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}]}, {"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}], "returnType": {"nodeId": ".3.140042577371744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577371744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".2.140042577371744": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".3.140042577371744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "COVARIANT"}, "140042577735216": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552893936"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516640"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517088"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140042577735216"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735216"}]}], "isAbstract": false}, "140042552893936": {"type": "Overloaded", "items": [{"nodeId": "140042703515296"}, {"nodeId": "140042703515744"}]}, "140042703515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577735216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735216", "variance": "INVARIANT"}, "140042703515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568806944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708768"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568806944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042749708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806944", "variance": "COVARIANT"}, "140042749708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568806944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703516192": {"type": "Function", "typeVars": [".-1.140042703516192"], "argTypes": [{"nodeId": ".-1.140042703516192"}], "returnType": {"nodeId": ".-1.140042703516192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703516192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703516192", "variance": "INVARIANT"}, "140042703516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": ".1.140042577735216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577372080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517984"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372080"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372080", "args": [{"nodeId": ".1.140042577372080"}]}], "returnType": {"nodeId": ".1.140042577372080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577372080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372080", "variance": "COVARIANT"}, "140042577372416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703518432"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372416", "args": [{"nodeId": ".1.140042577372416"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577372416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577372416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372416", "variance": "COVARIANT"}, "140042569343920": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568804256", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042568804592", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140042568804256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__add__"]}, "140042749966624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804256", "args": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}]}, {"nodeId": ".1.140042568804256"}], "returnType": {"nodeId": ".2.140042568804256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804256": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "CONTRAVARIANT"}, ".2.140042568804256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "COVARIANT"}, "140042568804592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__radd__"]}, "140042749967072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804592", "args": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}]}, {"nodeId": ".1.140042568804592"}], "returnType": {"nodeId": ".2.140042568804592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804592": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "CONTRAVARIANT"}, ".2.140042568804592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "COVARIANT"}, "140042577735552": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552896064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703644576"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703645024"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577735552"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735552"}]}], "isAbstract": false}, "140042552896064": {"type": "Overloaded", "items": [{"nodeId": "140042703639200"}, {"nodeId": "140042703639648"}, {"nodeId": "140042703640096"}, {"nodeId": "140042703640544"}, {"nodeId": "140042703640992"}, {"nodeId": "140042703641440"}]}, "140042703639200": {"type": "Function", "typeVars": [".-1.140042703639200"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639200"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140042703639200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639200", "variance": "INVARIANT"}, "140042552898192": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639200"}]}, "140042703639648": {"type": "Function", "typeVars": [".-1.140042703639648", ".-2.140042703639648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639648"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703639648"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140042703639648": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, ".-2.140042703639648": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, "140042552898416": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639648"}, {"nodeId": ".-2.140042703639648"}]}, "140042703640096": {"type": "Function", "typeVars": [".-1.140042703640096", ".-2.140042703640096", ".-3.140042703640096"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640096"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140042703640096": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-2.140042703640096": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-3.140042703640096": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, "140042552898640": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640096"}, {"nodeId": ".-2.140042703640096"}, {"nodeId": ".-3.140042703640096"}]}, "140042703640544": {"type": "Function", "typeVars": [".-1.140042703640544", ".-2.140042703640544", ".-3.140042703640544", ".-4.140042703640544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640544"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140042703640544": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-2.140042703640544": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-3.140042703640544": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-4.140042703640544": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, "140042552898864": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640544"}, {"nodeId": ".-2.140042703640544"}, {"nodeId": ".-3.140042703640544"}, {"nodeId": ".-4.140042703640544"}]}, "140042703640992": {"type": "Function", "typeVars": [".-1.140042703640992", ".-2.140042703640992", ".-3.140042703640992", ".-4.140042703640992", ".-5.140042703640992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703640992"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552899088"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140042703640992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-2.140042703640992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-3.140042703640992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-4.140042703640992": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-5.140042703640992": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, "140042552899088": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640992"}, {"nodeId": ".-2.140042703640992"}, {"nodeId": ".-3.140042703640992"}, {"nodeId": ".-4.140042703640992"}, {"nodeId": ".-5.140042703640992"}]}, "140042703641440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140042703644576": {"type": "Function", "typeVars": [".-1.140042703644576"], "argTypes": [{"nodeId": ".-1.140042703644576"}], "returnType": {"nodeId": ".-1.140042703644576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703644576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703644576", "variance": "INVARIANT"}, "140042703645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735552", "args": [{"nodeId": ".1.140042577735552"}]}], "returnType": {"nodeId": ".1.140042577735552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577735552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735552", "variance": "COVARIANT"}, "140042577373424": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577373760": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577374096": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418336"}}], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042569418336": {"type": "TypeAlias", "target": {"nodeId": "140042577835088"}}, "140042577835088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577374768": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375104": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375440": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375776": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376112": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648160"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782775936"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577376112"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901328"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140042552901328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577376448": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376784": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577377120": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367904"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367680"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577377120"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901440"}, {"nodeId": "140042547806272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140042552901440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547806272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577377792": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378128": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378464": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641536": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641872": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577826912"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586368128"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369024"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586366112"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369136"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370368"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577826912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586368128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586369024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586366112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586369136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586370368": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577642208": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577642544": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577643216": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643552": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643888": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577644224": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377120"}], "isAbstract": false}, "140042577644896": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577645232": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378128"}], "isAbstract": false}, "140042577645568": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577645904": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646240": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646576": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577646912": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647248": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647584": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647920": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648256": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648592": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648928": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649264": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649600": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649936": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650272": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650608": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577650944": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577651280": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577641872"}], "isAbstract": false}, "140042577651616": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577651280"}], "isAbstract": false}, "140042577651952": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042577652288": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042547806384"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042547806384": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577652624": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649504"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042577652960": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649952"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042577654304": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577654976": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655312": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655648": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655984": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656320": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656656": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656992": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042578060880": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703954752"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["find_spec"]}, "140042703954752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060880"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565119536"}, {"nodeId": "140042565119648"}], "returnType": {"nodeId": "140042565119760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042565119536": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565119648": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042578054832": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833296"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544074752"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833856"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834080"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784672", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651808"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577833296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042544074752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833856": {"type": "Union", "items": [{"nodeId": "140042578054496"}, {"nodeId": "N"}]}, "140042578054496": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650464"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["load_module"]}, "140042715650464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042577834080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577834192": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573227936": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640205728"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527728"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527952"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245552"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245664"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523059680"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640206624"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041376"}, {"nodeId": "140042561041488"}, {"nodeId": "A"}, {"nodeId": "140042561041712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140042561041376": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042573228944": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640115968"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116416"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116864"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640117312"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561258432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042561258432": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042640117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042561041488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561041712": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569527728": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569527952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573245552": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042573245664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042523059680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561041824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561041824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640206624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715651360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565108000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140042565108000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042715651808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565119760": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042569344256": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544494880"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544495776"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496000"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496224"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578624"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578848"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579072"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579296"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579520"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579744"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579968"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580192"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580416"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580640"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580864"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544581536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544494880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565119984"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565119984": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120208"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120320"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120320": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120432"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120544": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120880": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120992"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120992": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121104": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121216"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121216": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121328"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121328": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121440": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121552": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544581536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121664": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569040272": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749715488"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042569040272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749715488": {"type": "Function", "typeVars": [".-1.140042749715488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042569040272"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042749715488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140042569040272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569040272", "variance": "COVARIANT"}, ".-1.140042749715488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749715488", "variance": "INVARIANT"}, "140042569344592": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544582656"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583104"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583328"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583552"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583776"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584000"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584224"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584448"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584672"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584896"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544585120"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544582656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121776"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121776": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121888"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121888": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122000": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122112"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122112": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122224": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122336": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122448": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122560": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122672"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122672": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122784": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544585120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122896": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569344928": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586464"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586688"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586912"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587136"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587360"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587584"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587808"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588032"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588256"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042569426064"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544586464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123120"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123120": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123232": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123792"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123904": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569426064": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042578061216": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569424832"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711606976"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569424832": {"type": "TypeAlias", "target": {"nodeId": "140042569770016"}}, "140042569770016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042711606976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569345264": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590272"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590496"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590720"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590944"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544590272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288112": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288224": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288336": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288448": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569345600": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544591168"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592288"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592512"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592736"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592960"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544591168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288560": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288784": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288896"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288896": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565289008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565289008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042578061552": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569773040"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430544"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430768"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572988480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569773040": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042569430544": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569430768": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042572988480": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042569345936": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435168"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435616"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042572988704"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042569524816"}]}], "isAbstract": false}, "140042539435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291584"}], "returnType": {"nodeId": "140042565291696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291584": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042569420128": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572989712": {"type": "Union", "items": [{"nodeId": "140042577221152"}, {"nodeId": "N"}]}, "140042577221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569427520": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042565291696": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042539435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291808"}], "returnType": {"nodeId": "140042565291920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291808": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042565291920": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572988704": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042569524816": {"type": "Union", "items": [{"nodeId": "140042552780032"}, {"nodeId": "N"}]}, "140042552780032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568801568": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042749963488": {"type": "Function", "typeVars": [".-1.140042749963488"], "argTypes": [{"nodeId": "140042568801568"}, {"nodeId": ".-1.140042749963488"}], "returnType": {"nodeId": ".-1.140042749963488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749963488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749963488", "variance": "INVARIANT"}, "140042568801904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042568801904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__next__"]}, "140042749963936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801904", "args": [{"nodeId": ".1.140042568801904"}]}], "returnType": {"nodeId": ".1.140042568801904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801904", "variance": "COVARIANT"}, "140042568802240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042568802240"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042749964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802240", "args": [{"nodeId": ".1.140042568802240"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042568802240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568802240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802240", "variance": "COVARIANT"}, "140042568803248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140042568803248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__le__"]}, "140042749965728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803248", "args": [{"nodeId": ".1.140042568803248"}]}, {"nodeId": ".1.140042568803248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803248", "variance": "CONTRAVARIANT"}, "140042568803584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140042568803584"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ge__"]}, "140042749966176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803584", "args": [{"nodeId": ".1.140042568803584"}]}, {"nodeId": ".1.140042568803584"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803584", "variance": "CONTRAVARIANT"}, "140042568803920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803248", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140042568804928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__sub__"]}, "140042749967520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804928", "args": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}]}, {"nodeId": ".1.140042568804928"}], "returnType": {"nodeId": ".2.140042568804928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "CONTRAVARIANT"}, ".2.140042568804928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "COVARIANT"}, "140042568805264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rsub__"]}, "140042749967968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805264", "args": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}]}, {"nodeId": ".1.140042568805264"}], "returnType": {"nodeId": ".2.140042568805264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "CONTRAVARIANT"}, ".2.140042568805264": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "COVARIANT"}, "140042568805600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706528"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__divmod__"]}, "140042749706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805600", "args": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}]}, {"nodeId": ".1.140042568805600"}], "returnType": {"nodeId": ".2.140042568805600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "CONTRAVARIANT"}, ".2.140042568805600": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "COVARIANT"}, "140042568805936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706976"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rdivmod__"]}, "140042749706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805936", "args": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}]}, {"nodeId": ".1.140042568805936"}], "returnType": {"nodeId": ".2.140042568805936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042568805936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "CONTRAVARIANT"}, ".2.140042568805936": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "COVARIANT"}, "140042568806272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707424"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042568806272"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042749707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806272", "args": [{"nodeId": ".1.140042568806272"}]}], "returnType": {"nodeId": ".1.140042568806272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806272", "variance": "COVARIANT"}, "140042568806608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707872"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042568806608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042749707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806608", "args": [{"nodeId": ".1.140042568806608"}]}], "returnType": {"nodeId": ".1.140042568806608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568806608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806608", "variance": "COVARIANT"}, "140042568807616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709664"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["items"]}, "140042749709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807616", "args": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042556831584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807616": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, ".2.140042568807616": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, "140042556831584": {"type": "Tuple", "items": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}, "140042568808288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140042749711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568808288": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "CONTRAVARIANT"}, ".2.140042568808288": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "COVARIANT"}, "140042749711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": ".1.140042568808288"}], "returnType": {"nodeId": ".2.140042568808288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712352"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "bases": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140042749711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042568808624": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "CONTRAVARIANT"}, ".2.140042568808624": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "INVARIANT"}, "140042749712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808960": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712800"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno"]}, "140042749712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808960"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568809632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713696"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809632", "args": [{"nodeId": ".1.140042568809632"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809632", "variance": "COVARIANT"}, "140042568809968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714144"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809968", "args": [{"nodeId": ".1.140042568809968"}]}], "returnType": {"nodeId": ".1.140042568809968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568809968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809968", "variance": "COVARIANT"}, "140042577738912": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749716608"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717504"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749716608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577739248": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719296"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719744"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720192"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721088"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720411712"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412160"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412608"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042749719296": {"type": "Function", "typeVars": [".-1.140042749719296"], "argTypes": [{"nodeId": ".-1.140042749719296"}], "returnType": {"nodeId": ".-1.140042749719296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042749719296": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749719296", "variance": "INVARIANT"}, "140042749719744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042749720192": {"type": "Function", "typeVars": [".-1.140042749720192"], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": ".-1.140042749720192"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042749720192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720192", "variance": "INVARIANT"}, "140042749720640": {"type": "Function", "typeVars": [".-1.140042749720640"], "argTypes": [{"nodeId": ".-1.140042749720640"}, {"nodeId": ".-1.140042749720640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749720640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720640", "variance": "INVARIANT"}, "140042749721088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720412160": {"type": "Function", "typeVars": [".-1.140042720412160"], "argTypes": [{"nodeId": ".-1.140042720412160"}, {"nodeId": ".-1.140042720412160"}], "returnType": {"nodeId": ".-1.140042720412160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412160": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412160", "variance": "INVARIANT"}, "140042720412608": {"type": "Function", "typeVars": [".-1.140042720412608"], "argTypes": [{"nodeId": ".-1.140042720412608"}, {"nodeId": ".-1.140042720412608"}], "returnType": {"nodeId": ".-1.140042720412608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412608": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412608", "variance": "INVARIANT"}, "140042578051472": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569767328"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547896256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720420224"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421120"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042569767328": {"type": "Overloaded", "items": [{"nodeId": "140042720418880"}, {"nodeId": "140042720419328"}]}, "140042720418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564615328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564615328": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042720419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042547896256": {"type": "Function", "typeVars": [".-1.140042547896256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042547896256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042547896256": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042547896256", "variance": "INVARIANT"}, "140042720420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720421120": {"type": "Function", "typeVars": [".-1.140042720421120"], "argTypes": [{"nodeId": ".-1.140042720421120"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042720421120"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042720421120": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720421120", "variance": "INVARIANT"}, "140042578051808": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577830832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831616"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577830832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042577831616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564607040"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564611184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140042564607040": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042564611184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720422016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720422464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578052480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832400"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720424704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720425152"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577832400": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564611968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140042564611968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720425152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042578053152": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548303840"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586373056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543688480"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715857632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715858080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824064"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042548303840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042564826528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564826528": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042586373056": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042543688480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548590208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715857632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042578053488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042564826976"}, {"nodeId": "140042564827088"}, {"nodeId": "140042564827200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140042564826976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042564827088": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042564827200": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042715858080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042564824064": {"type": "Overloaded", "items": [{"nodeId": "140042715858528"}, {"nodeId": "140042715858976"}]}, "140042715858528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "N"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042715858976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042782775936"}, {"nodeId": "140042564827760"}], "returnType": {"nodeId": "140042578056512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042564827760": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042578056512": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544086400"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218176"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218400"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218624"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218848"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544219072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091936"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111696": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042544218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111920": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042544218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042578056176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578056176": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716088352"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056176"}, {"nodeId": "140042565111472"}, {"nodeId": "140042565111584"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042565111472": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042565111584": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042544218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544219072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716091488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "140042577251680"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042577251680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042716091936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578054160": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649120"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650016"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042715648672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042715649120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715649568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042715650016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578055168": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544075872"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715654048"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824736"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}], "bases": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "isAbstract": false}, "140042544075872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042565108336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, ".2.140042578055168": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "CONTRAVARIANT"}, ".3.140042578055168": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, "140042565108336": {"type": "Union", "items": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715653152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715653600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715654048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": ".2.140042578055168"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564824736": {"type": "Overloaded", "items": [{"nodeId": "140042715654496"}, {"nodeId": "140042715654944"}]}, "140042715654496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "0"}, {"nodeId": "140042565108560"}, {"nodeId": "140042565108672"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108560": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565108672": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715654944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565108784"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578055504": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544079680"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715655840"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656288"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656736"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564827648"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658080"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658528"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}], "bases": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "isAbstract": false}, "140042544079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042565109008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "COVARIANT"}, ".2.140042578055504": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "CONTRAVARIANT"}, "140042565109008": {"type": "Union", "items": [{"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715655840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": ".2.140042578055504"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564827648": {"type": "Overloaded", "items": [{"nodeId": "140042577251232"}, {"nodeId": "140042715657184"}]}, "140042577251232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "0"}, {"nodeId": "140042565109680"}, {"nodeId": "140042565109792"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565109680": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565109792": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715657184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565110016"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565110016": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715658080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715658528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578055840": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544083040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715659872"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716086560"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716087008"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565109904"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}], "bases": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "isAbstract": false}, "140042544083040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042565110800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, ".2.140042578055840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "CONTRAVARIANT"}, ".3.140042578055840": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, "140042565110800": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042565110688"}]}, {"nodeId": "N"}]}, "140042565110688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042715659872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716086560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140042578055840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716087008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": ".2.140042578055840"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565109904": {"type": "Overloaded", "items": [{"nodeId": "140042716087456"}, {"nodeId": "140042716087904"}]}, "140042716087456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "0"}, {"nodeId": "140042565111136"}, {"nodeId": "140042565111248"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111136": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565111248": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042716087904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565111360"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578056848": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220192"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716093728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042565112592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565112592": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042578054832"}]}, "140042544220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716093728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578057184": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544221984"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222656"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095520"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095968"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716095520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716095968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042578057520": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224000"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224448"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224672"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098208"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716099104"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544224000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716098208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716098656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716099104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578057856": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544226912"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227360"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716100896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716101344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716100896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716101344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578058192": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544228704"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229152"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716201696"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202144"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544228704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716201696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716202144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578059200": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544300992"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301216"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209312"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209760"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716210208"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544300992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716209312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716209760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716210208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578059536": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544302560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303008"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212000"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212448"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212896"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544302560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716212000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716212448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716212896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578060208": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716334112"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716334112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643152": {"type": "Protocol", "module": "numpy.core.records", "simpleName": "_SupportsReadInto", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699305728"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306176"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306624"}, "name": "readinto"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readinto", "seek", "tell"]}, "140042699305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042699306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042699306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472901312": {"type": "Protocol", "module": "numpy.core.multiarray", "simpleName": "_SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367488"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042690367040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472901312": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "CONTRAVARIANT"}, ".2.140042472901312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "COVARIANT"}, "140042690367488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}, {"nodeId": ".1.140042472901312"}], "returnType": {"nodeId": ".2.140042472901312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472900640": {"type": "Protocol", "module": "numpy.core.numerictypes", "simpleName": "_CastFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208480"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042682208480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900640"}, {"nodeId": "140042460204496"}, {"nodeId": "140042460203600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "k"]}, "140042460204496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042460203600": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042468652560": {"type": "Concrete", "module": "numpy.core.numerictypes", "simpleName": "_typedict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042468652560"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "0"}, {"nodeId": ".1.140042468652560"}]}], "isAbstract": false}, "140042682208928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652560", "args": [{"nodeId": ".1.140042468652560"}]}, {"nodeId": "140042460205056"}], "returnType": {"nodeId": ".1.140042468652560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042468652560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468652560", "variance": "INVARIANT"}, "140042460205056": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042472900304": {"type": "Protocol", "module": "numpy.lib.arraypad", "simpleName": "_ModeFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vector", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis_pad_width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042686225024"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042686225024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900304"}, {"nodeId": "0"}, {"nodeId": "140042460158704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, "140042460158704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042472899632": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_TrimZerosSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560384"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560832"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042472899632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__iter__", "__len__"]}, "140042682560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472899632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899632", "variance": "COVARIANT"}, "140042682560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".1.140042472899632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472899968": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_SupportsWriteFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561728"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682562176"}, "name": "flush"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["flush", "write"]}, "140042682561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667648": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "nd_grid", "members": [{"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472667648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678103488"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798480"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472667648"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472667648": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472667648", "variance": "INVARIANT"}, "140042678103488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": ".1.140042472667648"}]}, {"nodeId": ".1.140042472667648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sparse"]}, "140042459798480": {"type": "Overloaded", "items": [{"nodeId": "140042464833632"}, {"nodeId": "140042678104384"}]}, "140042464833632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459800832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459800832": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042678104384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459801280"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459801280": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042472667984": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "MGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678104832"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678104832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668320": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "OGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678105280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668656": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "AxisConcatenator", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105728"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798368"}, "items": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "concatenate"}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042438864096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678107520"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042678105728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "matrix", "ndmin", "trans1d"]}, "140042459798368": {"type": "Overloaded", "items": [{"nodeId": "140042464832064"}, {"nodeId": "140042678106624"}]}, "140042464832064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801952"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459801952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042678106624": {"type": "Function", "typeVars": [".-1.140042678106624"], "argTypes": [{"nodeId": "140042459802512"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042678106624"}], "returnType": {"nodeId": ".-1.140042678106624"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459802512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042678106624": {"type": "TypeVar", "varName": "_ArrayType", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042678106624", "variance": "INVARIANT"}, "140042438864096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801840"}, {"nodeId": "140042459802624"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["data", "dtype", "copy"]}, "140042459801840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042459802624": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042678107520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472898624": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "RClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630208"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472898960": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "CClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630656"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472899296": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "IndexExpression", "members": [{"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472899296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682631104"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042472448720"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472899296"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472899296": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899296", "variance": "INVARIANT"}, "140042682631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".1.140042472899296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "maketuple"]}, "140042472448720": {"type": "Overloaded", "items": [{"nodeId": "140042682631552"}, {"nodeId": "140042682632000"}, {"nodeId": "140042682632448"}]}, "140042682631552": {"type": "Function", "typeVars": [".-1.140042682631552"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".-1.140042682631552"}], "returnType": {"nodeId": ".-1.140042682631552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682631552": {"type": "TypeVar", "varName": "_TupType", "values": [], "upperBound": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "def": "140042682631552", "variance": "INVARIANT"}, "140042682632000": {"type": "Function", "typeVars": [".-1.140042682632000"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632000"}], "returnType": {"nodeId": "140042459802736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632000": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632000", "variance": "INVARIANT"}, "140042459802736": {"type": "Tuple", "items": [{"nodeId": ".-1.140042682632000"}]}, "140042682632448": {"type": "Function", "typeVars": [".-1.140042682632448"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632448"}], "returnType": {"nodeId": ".-1.140042682632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632448", "variance": "INVARIANT"}, "140042472665632": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682635584"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042682635584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665632", "args": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}]}, {"nodeId": ".1.140042472665632"}], "returnType": {"nodeId": ".2.140042472665632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472665632": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "CONTRAVARIANT"}, ".2.140042472665632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "COVARIANT"}, "140042472665968": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636032"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042472665968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042682636032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665968", "args": [{"nodeId": ".1.140042472665968"}]}], "returnType": {"nodeId": ".1.140042472665968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472665968": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665968", "variance": "COVARIANT"}, "140042472666304": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsReadSeek", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636480"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636928"}, "name": "seek"}], "typeVars": [{"nodeId": ".1.140042472666304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek"]}, "140042682636480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042472666304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666304": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666304", "variance": "COVARIANT"}, "140042682636928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042472666640": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637376"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472666640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042682637376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666640", "args": [{"nodeId": ".1.140042472666640"}]}, {"nodeId": ".1.140042472666640"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666640": {"type": "TypeVar", "varName": "_CharType_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666640", "variance": "CONTRAVARIANT"}, "140042472666976": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "BagObj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638272"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638720"}, "name": "__dir__"}], "typeVars": [{"nodeId": ".1.140042472666976"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042682637824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042472665632", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042472666976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666976", "variance": "COVARIANT"}, "140042682638272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042472666976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682638720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667312": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "NpzFile", "members": [{"kind": "Variable", "name": "zip", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498339024"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472446144"}}, {"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472445920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459708240"}, "items": [{"kind": "Variable", "name": "f", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443838784"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "own_fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641856"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642304"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682643200"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}], "isAbstract": false}, "140042498339024": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipFile", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115904"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "filelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "fp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117024"}}, {"kind": "Variable", "name": "NameToInfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117136"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117248"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict_timestamps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636071136"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631715680"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072928"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073376"}, "name": "getinfo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073824"}, "name": "infolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074272"}, "name": "namelist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074720"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075168"}, "name": "extract"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "members", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075616"}, "name": "extractall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076064"}, "name": "printdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076512"}, "name": "setpassword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076960"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077408"}, "name": "testzip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077856"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zinfo_or_arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636078304"}, "name": "writestr"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485115904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498339696": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipInfo", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117808"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "create_system", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "create_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "extract_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reserved", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "flag_bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "volume", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "internal_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "external_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "header_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "CRC", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compress_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "orig_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636080096"}, "name": "__init__"}, {"kind": "Variable", "name": "from_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485361888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081440"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081888"}, "name": "FileHeader"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485117808": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485108288": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042636080096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "date_time"]}, "140042485616640": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485361888": {"type": "Function", "typeVars": [".-1.140042485361888"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042485616304"}, {"nodeId": "140042485616752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042485361888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "filename", "arcname", "strict_timestamps"]}, "140042485616304": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042568894160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042485616752": {"type": "Union", "items": [{"nodeId": "140042485616416"}, {"nodeId": "N"}]}, "140042485616416": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042485361888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042485361888", "variance": "INVARIANT"}, "140042636081440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636081888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042485616864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "zip64"]}, "140042485616864": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042485117024": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485117136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485117248": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485116912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485117472": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636071136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485120832"}, {"nodeId": "140042485612608"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485612720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "compresslevel", "strict_timestamps"]}, "140042485120832": {"type": "Union", "items": [{"nodeId": "140042485120720"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485120720": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485612608": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485612720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042631715680": {"type": "Function", "typeVars": [".-1.140042631715680"], "argTypes": [{"nodeId": ".-1.140042631715680"}], "returnType": {"nodeId": ".-1.140042631715680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042631715680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042631715680", "variance": "INVARIANT"}, "140042636072480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613056"}, {"nodeId": "140042485613168"}, {"nodeId": "140042485612832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042485613056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485613168": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042485612832": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042636072928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636073376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498339696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042636073824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485612944"}, {"nodeId": "140042485613280"}, {"nodeId": "140042485613392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "mode", "pwd", "force_zip64"]}, "140042485612944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613280": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485613392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613504"}, {"nodeId": "140042485613728"}, {"nodeId": "140042485613840"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "member", "path", "pwd"]}, "140042485613504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613728": {"type": "Union", "items": [{"nodeId": "140042485613616"}, {"nodeId": "N"}]}, "140042485613616": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485613840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614064"}, {"nodeId": "140042485614288"}, {"nodeId": "140042485614400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "members", "pwd"]}, "140042485614064": {"type": "Union", "items": [{"nodeId": "140042485613952"}, {"nodeId": "N"}]}, "140042485613952": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485614288": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042485614176"}]}, {"nodeId": "N"}]}, "140042485614176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614400": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636076064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "file"]}, "140042485614512": {"type": "Union", "items": [{"nodeId": "140042498338688"}, {"nodeId": "N"}]}, "140042498338688": {"type": "Protocol", "module": "zipfile", "simpleName": "_Writer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069792"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042636069792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338688"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042636076512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pwd"]}, "140042636076960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614624"}, {"nodeId": "140042485614736"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "pwd"]}, "140042485614624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614736": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636077408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042485614848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485614848": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636077856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614960"}, {"nodeId": "140042485615184"}, {"nodeId": "140042485615296"}, {"nodeId": "140042485615408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "arcname", "compress_type", "compresslevel"]}, "140042485614960": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615184": {"type": "Union", "items": [{"nodeId": "140042485615072"}, {"nodeId": "N"}]}, "140042485615072": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636078304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485615520"}, {"nodeId": "140042485615744"}, {"nodeId": "140042485615856"}, {"nodeId": "140042485615968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "zinfo_or_arcname", "data", "compress_type", "compresslevel"]}, "140042485615520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485615744": {"type": "Union", "items": [{"nodeId": "140042485615632"}, {"nodeId": "140042577367376"}]}, "140042485615632": {"type": "TypeAlias", "target": {"nodeId": "140042569011312"}}, "140042569011312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042485615856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042472446144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}]}, "140042472445920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042459708240": {"type": "Overloaded", "items": [{"nodeId": "140042682639168"}]}, "140042682639168": {"type": "Function", "typeVars": [".-1.140042682639168"], "argTypes": [{"nodeId": ".-1.140042682639168"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042682639168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042682639168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682639168", "variance": "INVARIANT"}, "140042443838784": {"type": "Function", "typeVars": [".-1.140042443838784"], "argTypes": [{"nodeId": ".-1.140042443838784"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042443838784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042443838784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042443838784", "variance": "INVARIANT"}, "140042682640064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042459728016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "own_fid", "allow_pickle", "pickle_kwargs"]}, "140042459728016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042682640512": {"type": "Function", "typeVars": [".-1.140042682640512"], "argTypes": [{"nodeId": ".-1.140042682640512"}], "returnType": {"nodeId": ".-1.140042682640512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042682640512": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682640512", "variance": "INVARIANT"}, "140042682640960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042459728128"}, {"nodeId": "140042459728240"}, {"nodeId": "140042459728352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042459728128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042459728240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042459728352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042682641408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042682641856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682643200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472664288": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayWrap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678641920"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678641920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664288"}, {"nodeId": "0"}, {"nodeId": "140042464814560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464814560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464814448"}]}, "140042464814448": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664624": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayPrepare", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678642368"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678642368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664624"}, {"nodeId": "0"}, {"nodeId": "140042464815344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464815344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464815232"}]}, "140042464815232": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664960": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayWrap", "members": [{"kind": "Variable", "name": "__array_wrap__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443617696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_wrap__"]}, "140042443617696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664960"}], "returnType": {"nodeId": "140042472664288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472665296": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayPrepare", "members": [{"kind": "Variable", "name": "__array_prepare__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443640384"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_prepare__"]}, "140042443640384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665296"}], "returnType": {"nodeId": "140042472664624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472663952": {"type": "Concrete", "module": "numpy.lib.stride_tricks", "simpleName": "DummyArray", "members": [{"kind": "Variable", "name": "__array_interface__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463973936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interface", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678774560"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042463973936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042678774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663952"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042464809968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "interface", "base"]}, "140042464809968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042472663280": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443461504"}}], "typeVars": [{"nodeId": ".1.140042472663280"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042443461504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663280", "args": [{"nodeId": ".1.140042472663280"}]}], "returnType": {"nodeId": ".1.140042472663280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663280", "variance": "COVARIANT"}, "140042472663616": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443459936"}}], "typeVars": [{"nodeId": ".1.140042472663616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042443459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663616", "args": [{"nodeId": ".1.140042472663616"}]}], "returnType": {"nodeId": ".1.140042472663616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663616", "variance": "COVARIANT"}, "140042472662608": {"type": "Protocol", "module": "numpy.lib.utils", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071456"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472662608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042674071456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662608", "args": [{"nodeId": ".1.140042472662608"}]}, {"nodeId": ".1.140042472662608"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472662608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472662608", "variance": "CONTRAVARIANT"}, "140042472662944": {"type": "Concrete", "module": "numpy.lib.utils", "simpleName": "_Deprecate", "members": [{"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472444016"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441104"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674072352"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472444016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674071904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": "140042464606720"}, {"nodeId": "140042464606832"}, {"nodeId": "140042464606944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "old_name", "new_name", "message"]}, "140042464606720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674072352": {"type": "Function", "typeVars": [".-1.140042674072352"], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": ".-1.140042674072352"}], "returnType": {"nodeId": ".-1.140042674072352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042674072352": {"type": "TypeVar", "varName": "_FuncType", "values": [], "upperBound": {"nodeId": "140042472582368"}, "def": "140042674072352", "variance": "INVARIANT"}, "140042472582368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042472658240": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArrayFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722624"}, "name": "__array_function__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_function__"]}, "140042631722624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472658240"}, {"nodeId": "140042472554784"}, {"nodeId": "140042782784000", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042472554784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042480728240": {"type": "Concrete", "module": "numpy._typing._generic_alias", "simpleName": "_GenericAlias", "members": [{"kind": "Variable", "name": "__slots__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598967872"}}, {"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504256"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481503360"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504704"}}, {"kind": "Variable", "name": "__unpacked__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481516128"}}, {"kind": "Variable", "name": "__typing_unpacked_tuple_args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481515904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640636640"}, "name": "__init__"}, {"kind": "Variable", "name": "__call__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481513216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640637536"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884000"}, "name": "__mro_entries__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884448"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884896"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886240"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887136"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887584"}, "name": "__iter__"}, {"kind": "Variable", "name": "_ATTR_EXCEPTIONS", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640888032"}, "name": "__getattribute__"}, {"kind": "Variable", "name": "_origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}, {"kind": "Variable", "name": "_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598969888"}}, {"kind": "Variable", "name": "_parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}}, {"kind": "Variable", "name": "_starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042598967872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042481504256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481504704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481515904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042464499792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464499792": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042640636640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}, {"nodeId": "140042464499904"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "origin", "args", "starred"]}, "140042464499904": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042481513216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640637536": {"type": "Function", "typeVars": [".-1.140042640637536"], "argTypes": [{"nodeId": ".-1.140042640637536"}], "returnType": {"nodeId": "140042464501024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042640637536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640637536", "variance": "INVARIANT"}, "140042464501024": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042464500800"}]}, "140042464500800": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782776944"}]}, "140042640884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042464501360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bases"]}, "140042464501360": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042640884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042640886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640886688": {"type": "Function", "typeVars": [".-1.140042640886688"], "argTypes": [{"nodeId": ".-1.140042640886688"}, {"nodeId": "140042464501584"}], "returnType": {"nodeId": ".-1.140042640886688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042640886688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640886688", "variance": "INVARIANT"}, "140042464501584": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042640887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640887584": {"type": "Function", "typeVars": [".-1.140042640887584"], "argTypes": [{"nodeId": ".-1.140042640887584"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042640887584"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042640887584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640887584", "variance": "INVARIANT"}, "140042640888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042598969888": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042472658912": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472658912"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "_ndim_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463974160"}}, {"kind": "Variable", "name": "_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463977072"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464507408"}, "items": [{"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "from_param"}], "typeVars": [{"nodeId": ".1.140042472658912"}], "bases": [{"nodeId": "140042573914384"}], "isAbstract": false}, ".1.140042472658912": {"type": "TypeVar", "varName": "_DTypeOptional", "values": [], "upperBound": {"nodeId": "140042463970576"}, "def": "140042472658912", "variance": "INVARIANT"}, "140042463970576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "140042463974160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042463977072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042472440656"}]}]}, "140042472440656": {"type": "TypeAlias", "target": {"nodeId": "140042472443568"}}, "140042472443568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042464507408": {"type": "Overloaded", "items": [{"nodeId": "140042674196032"}, {"nodeId": "140042674196480"}]}, "140042674196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042674196480": {"type": "Function", "typeVars": [".-1.140042674196480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042674196480"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, ".-1.140042674196480": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042674196480", "variance": "INVARIANT"}, "140042472659248": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_concrete_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472659248"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "contents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506162624"}}], "typeVars": [{"nodeId": ".1.140042472659248"}], "bases": [{"nodeId": "140042472658912", "args": [{"nodeId": ".1.140042472659248"}]}], "isAbstract": false}, ".1.140042472659248": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472659248", "variance": "INVARIANT"}, "140042506162624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472659248", "args": [{"nodeId": ".1.140042472659248"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472659248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498331296": {"type": "Concrete", "module": "numpy.lib._version", "simpleName": "NumpyVersion", "members": [{"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "major", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "minor", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "bugfix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pre_release", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "is_devversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627584896"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585344"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585792"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586688"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587136"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587584"}, "name": "__ge__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042627584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "vstring"]}, "140042627585344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493989872"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493989872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627585792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995360"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995360": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042468642816": {"type": "Concrete", "module": "numpy.linalg", "simpleName": "LinAlgError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472652864": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MAError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472653200": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472652864"}], "isAbstract": false}, "140042468650544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArray", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632784"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633056"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633328"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633600"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633872"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623634144"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504720"}, "items": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108704"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dtype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464503488"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109376"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623635504"}, "name": "__setmask__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504272"}, "items": [{"kind": "Variable", "name": "mask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109600"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mask"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504048"}, "items": [{"kind": "Variable", "name": "recordmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108032"}}, {"kind": "Variable", "name": "recordmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "recordmask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623636864"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637136"}, "name": "soften_mask"}, {"kind": "Variable", "name": "hardmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493516640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637680"}, "name": "unshare_mask"}, {"kind": "Variable", "name": "sharedmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494106912"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623638224"}, "name": "shrink_mask"}, {"kind": "Variable", "name": "baseclass", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042472562400"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504832"}, "items": [{"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042640633056"}}, {"kind": "Variable", "name": "flat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "flat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464505056"}, "items": [{"kind": "Variable", "name": "fill_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493519552"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fill_value"}, {"kind": "Variable", "name": "get_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623639856"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640128"}, "name": "compressed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "condition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640400"}, "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640672"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640944"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641488"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641760"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642032"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642304"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642576"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642848"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643120"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643392"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643664"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643936"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644208"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644480"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644752"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645024"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645296"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645568"}, "name": "__idiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645840"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646112"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646384"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646656"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646928"}, "name": "__int__"}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506823360"}}, {"kind": "Variable", "name": "get_imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493513056"}}, {"kind": "Variable", "name": "get_real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795264"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795536"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795808"}, "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796080"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796352"}, "name": "put"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796624"}, "name": "ids"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796896"}, "name": "iscontiguous"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797168"}, "name": "all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797440"}, "name": "any"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797712"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797984"}, "name": "trace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798256"}, "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798528"}, "name": "sum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798800"}, "name": "cumsum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799072"}, "name": "prod"}, {"kind": "Variable", "name": "product", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799344"}, "name": "cumprod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799616"}, "name": "mean"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799888"}, "name": "anom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800160"}, "name": "var"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800432"}, "name": "std"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decimals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800704"}, "name": "round"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800976"}, "name": "argsort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801248"}, "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801520"}, "name": "argmax"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801792"}, "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802064"}, "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802336"}, "name": "max"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802608"}, "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802880"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803152"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803424"}, "name": "take"}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "diagonal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flatten", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "squeeze", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "swapaxes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803696"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803968"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804240"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804512"}, "name": "toflex"}, {"kind": "Variable", "name": "torecords", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804784"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805056"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "isAbstract": false}, "140042623632784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "data", "mask", "dtype", "copy", "subok", "ndmin", "fill_value", "keep_mask", "hard_mask", "shrink", "order"]}, "140042623633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623633328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623633600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type", "fill_value"]}, "140042623633872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623634144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042464504720": {"type": "Overloaded", "items": [{"nodeId": "140042472562624"}]}, "140042472562624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650544": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650544", "variance": "INVARIANT"}, ".2.140042468650544": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650544", "variance": "COVARIANT"}, "140042494108704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464503488": {"type": "Overloaded", "items": [{"nodeId": "140042472561280"}]}, "140042472561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623635504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mask", "copy"]}, "140042464504272": {"type": "Overloaded", "items": [{"nodeId": "140042472555904"}]}, "140042472555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504048": {"type": "Overloaded", "items": [{"nodeId": "140042472555456"}]}, "140042472555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494106912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623638224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472562400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504832": {"type": "Overloaded", "items": [{"nodeId": "140042472558592"}]}, "140042472558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464505056": {"type": "Overloaded", "items": [{"nodeId": "140042472555232"}]}, "140042472555232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493519552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623639856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623640128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623640400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "condition", "axis", "out"]}, "140042623640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623640944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623643120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623646928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506823360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623795264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "keepdims"]}, "140042623795536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042623795808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "s", "kwargs"]}, "140042623796080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "newshape", "refcheck", "order"]}, "140042623796352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "indices", "values", "mode"]}, "140042623796624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623796896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042623798256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "b", "out", "strict"]}, "140042623798528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623798800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype"]}, "140042623800160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, "140042623800976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623801248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623802064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042623803696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623803968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fill_value", "order"]}, "140042623804240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042623804512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623804784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623805056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "memo"]}, "140042468650880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "mvoid", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hardmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805328"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805872"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806144"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806416"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806688"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806960"}, "name": "tolist"}], "typeVars": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}]}], "isAbstract": false}, "140042623805328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "mask", "dtype", "fill_value", "hardmask", "copy", "subok"]}, "140042623805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623805872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623806144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623806960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650880": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650880", "variance": "INVARIANT"}, ".2.140042468650880": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650880", "variance": "COVARIANT"}, "140042468642144": {"type": "Concrete", "module": "numpy.polynomial.chebyshev", "simpleName": "Chebyshev", "members": [{"kind": "Variable", "name": "interpolate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042400962976"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042400962976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "func", "deg", "domain", "args"]}, "140042498326928": {"type": "Concrete", "module": "numpy.polynomial._polybase", "simpleName": "ABCPolyBase", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "maxpower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477536"}}, {"kind": "Variable", "name": "domain", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497476416"}}, {"kind": "Variable", "name": "window", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477088"}}, {"kind": "Variable", "name": "basis_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042606537952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607216832"}, "name": "has_samecoef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217104"}, "name": "has_samedomain"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217376"}, "name": "has_samewindow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217648"}, "name": "has_sametype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606531232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt_str", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218192"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218464"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219280"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219824"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220096"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220368"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220640"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220912"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221456"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221728"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222272"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222544"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222816"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223088"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223360"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223632"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223904"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224176"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224720"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224992"}, "name": "degree"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "deg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225264"}, "name": "cutdeg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225536"}, "name": "trim"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225808"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226080"}, "name": "convert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226352"}, "name": "mapparms"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lbnd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226624"}, "name": "integ"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226896"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227168"}, "name": "roots"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227440"}, "name": "linspace"}, {"kind": "Variable", "name": "fit", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585717920"}}, {"kind": "Variable", "name": "fromroots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373856"}}, {"kind": "Variable", "name": "identity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497482016"}}, {"kind": "Variable", "name": "basis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497480000"}}, {"kind": "Variable", "name": "cast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497479776"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042497477536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497476416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497477088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606537952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607216832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042606531232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "coef", "domain", "window", "symbol"]}, "140042607218192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt_str"]}, "140042607218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042607218736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607224176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607224992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607225264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "deg"]}, "140042607225536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tol"]}, "140042607225808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "size"]}, "140042607226080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "domain", "kind", "window"]}, "140042607226352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k", "lbnd"]}, "140042607226896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042607227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607227440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "n", "domain"]}, "140042585717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "x", "y", "deg", "domain", "rcond", "full", "w", "window"]}, "140042548373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "roots", "domain", "window"]}, "140042497482016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "domain", "window"]}, "140042497480000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "deg", "domain", "window"]}, "140042497479776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "series", "domain", "window"]}, "140042577724464": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468641808": {"type": "Concrete", "module": "numpy.polynomial.hermite", "simpleName": "Hermite", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641472": {"type": "Concrete", "module": "numpy.polynomial.hermite_e", "simpleName": "HermiteE", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641136": {"type": "Concrete", "module": "numpy.polynomial.laguerre", "simpleName": "Laguerre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640800": {"type": "Concrete", "module": "numpy.polynomial.legendre", "simpleName": "Legendre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640464": {"type": "Concrete", "module": "numpy.polynomial.polynomial", "simpleName": "Polynomial", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468648192": {"type": "Concrete", "module": "numpy.random._generator", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370624"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371072"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371520"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371968"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623372416"}, "name": "__reduce__"}, {"kind": "Variable", "name": "bit_generator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398932480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623373312"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506481760"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506482096"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506472912"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363488"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363376"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468767808"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506222640"}, "items": [{"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506221408"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506355536"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506208752"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506076560"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505952096"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950640"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950416"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505948848"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468768816"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945712"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505946384"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769488"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890736"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890064"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945376"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510887936"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510888160"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510886592"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878640"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510879536"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878752"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769600"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878864"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042515069664"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514676672"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514672640"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514670960"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469016736"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514665920"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077440"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077888"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "colors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "nsample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078336"}, "name": "multivariate_hypergeometric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078784"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079232"}, "name": "permuted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079680"}, "name": "shuffle"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623370176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042468640128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bit_generator"]}, "140042468640128": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "BitGenerator", "members": [{"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569642528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162208"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624163104"}, "name": "__reduce__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468603072"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401019968"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468602960"}, "items": [{"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cnt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624165792"}, "name": "_benchmark"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020192"}}, {"kind": "Variable", "name": "cffi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020864"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042569642528": {"type": "Concrete", "module": "threading", "simpleName": "Lock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152032"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152928"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153376"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153824"}, "name": "locked"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607152032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607152480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042497588944"}, {"nodeId": "140042497589056"}, {"nodeId": "140042497900608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497588944": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497589056": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900608": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607152928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607153376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607153824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447463120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042447463120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447461104"}, {"nodeId": "140042468639792"}]}, "140042447461104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468639792": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedSequence", "members": [{"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468601056"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pool", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468601952"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159520"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159968"}, "name": "__repr__"}, {"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401017952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624160864"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161312"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042468601056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}]}, "140042468601952": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042624159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042447462000"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "entropy", "spawn_key", "pool_size", "n_children_spawned"]}, "140042447462000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042447460992"}]}, "140042447460992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042401017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042447460768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447460768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447462112"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447461664"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447462112": {"type": "Union", "items": [{"nodeId": "140042447461776"}, {"nodeId": "140042447460880"}]}, "140042447461776": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042464276688": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468589856"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590192"}]}]}, {"nodeId": "0"}, {"nodeId": "140042464277136"}]}, "140042468589856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042468590192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042464277136": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042447460880": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042464276912": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590304"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468594112"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468594448"}]}, "140042468590304": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594112": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594448": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042447461664": {"type": "Union", "items": [{"nodeId": "140042447462224"}, {"nodeId": "140042447461552"}]}, "140042447462224": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042468639792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, "140042468639120": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISpawnableSeedSequence", "members": [{"kind": "Variable", "name": "spawn", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401014368"}}], "typeVars": [], "bases": [{"nodeId": "140042468638784"}], "isAbstract": true}, "140042401014368": {"type": "Function", "typeVars": [".-1.140042401014368"], "argTypes": [{"nodeId": ".-1.140042401014368"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042401014368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042401014368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042401014368", "variance": "INVARIANT"}, "140042468638784": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISeedSequence", "members": [{"kind": "Variable", "name": "generate_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401013696"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042401013696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468638784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447459760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460208"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447459760": {"type": "Union", "items": [{"nodeId": "140042447459536"}, {"nodeId": "140042447459648"}]}, "140042447459536": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447459648": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460208": {"type": "Union", "items": [{"nodeId": "140042447459984"}, {"nodeId": "140042447460096"}]}, "140042447459984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447460096": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447463008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447463008": {"type": "Tuple", "items": [{"nodeId": "140042447190528"}, {"nodeId": "140042447463232"}, {"nodeId": "140042447462672"}]}, "140042447190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447463232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042447462672": {"type": "Tuple", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042468603072": {"type": "Overloaded", "items": [{"nodeId": "140042624163552"}]}, "140042624163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042401019968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468602960": {"type": "Overloaded", "items": [{"nodeId": "140042624164448"}, {"nodeId": "140042624164896"}, {"nodeId": "140042624165344"}]}, "140042624164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042624164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447464464"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447464800"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447464464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447464800": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447465248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447465248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447465136"}]}, "140042447465136": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042624165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cnt", "method"]}, "140042401020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465472": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042468597920": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "140042401020864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465584": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042623370624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623371968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042623372416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042506478736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506478736": {"type": "Tuple", "items": [{"nodeId": "140042477003136"}, {"nodeId": "140042506480864"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042477003136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468648192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506480864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042398932480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623373312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042506481760": {"type": "Overloaded", "items": [{"nodeId": "140042623373760"}, {"nodeId": "140042623374208"}, {"nodeId": "140042623374656"}, {"nodeId": "140042623375104"}, {"nodeId": "140042623375552"}]}, "140042623373760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506478176"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506478176": {"type": "Union", "items": [{"nodeId": "140042506478624"}, {"nodeId": "140042506478512"}]}, "140042506478624": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042468760976": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468766688"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762992"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468758960"}, {"nodeId": "140042468761088"}]}, "140042468766688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468762992": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468758960": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042468761088": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042506478512": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042468760528": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468767360"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762880"}]}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042468767248"}, {"nodeId": "140042468767136"}]}, "140042468767360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468762880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767248": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042468767136": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042623374208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478960"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506477280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506478960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623374656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506476832"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478400"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506476832": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506478400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623375104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477056"}, {"nodeId": "140042506476608"}, {"nodeId": "140042506475264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475488"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506477056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506476608": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506475264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475600"}]}]}]}, "140042506475600": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506475488": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623375552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472576"}, {"nodeId": "140042506477392"}, {"nodeId": "140042506473472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474368"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506472576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506477392": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506473472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506473696"}]}]}]}, "140042506473696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506474368": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506482096": {"type": "Overloaded", "items": [{"nodeId": "140042623376000"}, {"nodeId": "140042623376448"}]}, "140042623376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474144"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506474144": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042623376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506472352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506472912": {"type": "Overloaded", "items": [{"nodeId": "140042623376896"}, {"nodeId": "140042623377344"}, {"nodeId": "140042623377792"}, {"nodeId": "140042623378240"}, {"nodeId": "140042623378688"}, {"nodeId": "140042623379136"}]}, "140042623376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506364384"}, {"nodeId": "140042506370208"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506364384": {"type": "Union", "items": [{"nodeId": "140042506471232"}, {"nodeId": "140042506470336"}]}, "140042506471232": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506470336": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506370208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042623377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506365840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506368752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506368416"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506369648"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506368416": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506369648": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368864"}, {"nodeId": "140042506367184"}, {"nodeId": "140042506366960"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506366736"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "method", "out"]}, "140042506368864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506367184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506366960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506367072"}]}]}]}, "140042506367072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506366736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506366400"}, {"nodeId": "140042506366176"}, {"nodeId": "140042506364608"}, {"nodeId": "140042506356208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506366400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506366176": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506364608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506356208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363824"}]}]}]}, "140042506363824": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506363936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506363712"}, {"nodeId": "140042506365952"}, {"nodeId": "140042506362592"}, {"nodeId": "140042506363040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506361920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506363712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365952": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506362592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506363040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363264"}]}]}]}, "140042506363264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506361920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363488": {"type": "Overloaded", "items": [{"nodeId": "140042623379584"}, {"nodeId": "140042623380032"}, {"nodeId": "140042623380480"}, {"nodeId": "140042623380928"}, {"nodeId": "140042623381376"}]}, "140042623379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506361696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506361696": {"type": "Union", "items": [{"nodeId": "140042506361808"}, {"nodeId": "140042506362032"}]}, "140042506361808": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506362032": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042623380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360800"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360352"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506360800": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506361472"}, {"nodeId": "140042506359232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360688"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "out"]}, "140042506361472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359904"}]}]}]}, "140042506359904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506360464"}, {"nodeId": "140042506359008"}, {"nodeId": "140042506359680"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506358560"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506360464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359008": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506359680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360576"}]}]}]}, "140042506360576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506358560": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506356320"}, {"nodeId": "140042506355312"}, {"nodeId": "140042506354752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506354976"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506356320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506355312": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506354752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359456"}]}]}]}, "140042506359456": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506354976": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363376": {"type": "Overloaded", "items": [{"nodeId": "140042623381824"}, {"nodeId": "140042623382272"}]}, "140042623381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042623382272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506222976"}, {"nodeId": "140042506223088"}, {"nodeId": "140042506221968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042506222976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506223088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506221968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506223200"}]}, "140042506223200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767808": {"type": "Overloaded", "items": [{"nodeId": "140042623382720"}, {"nodeId": "140042623383168"}]}, "140042623382720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042623383168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220736"}, {"nodeId": "140042506222528"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221520"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042506220736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506222528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506222304"}]}, "140042506222304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506222640": {"type": "Overloaded", "items": [{"nodeId": "140042623383616"}, {"nodeId": "140042623384064"}, {"nodeId": "140042623384512"}, {"nodeId": "140042623384960"}, {"nodeId": "140042619633728"}, {"nodeId": "140042619634176"}, {"nodeId": "140042619634624"}, {"nodeId": "140042619635072"}, {"nodeId": "140042619635520"}, {"nodeId": "140042619635968"}, {"nodeId": "140042619636416"}, {"nodeId": "140042619636864"}, {"nodeId": "140042619637312"}, {"nodeId": "140042619637760"}, {"nodeId": "140042619638208"}]}, "140042623383616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506222864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042506222864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042623384064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506221744"}, {"nodeId": "N"}, {"nodeId": "140042506221072"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506221744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506221072": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042469026816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469026928"}]}, "140042469026928": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042623384512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506219952"}, {"nodeId": "N"}, {"nodeId": "140042506219616"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506219952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506219616": {"type": "Union", "items": [{"nodeId": "140042506221184"}, {"nodeId": "140042506221296"}]}, "140042506221184": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042464338752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469024800"}, {"nodeId": "140042469023680"}, {"nodeId": "140042469023792"}, {"nodeId": "140042469027040"}, {"nodeId": "140042469024352"}, {"nodeId": "140042469027264"}, {"nodeId": "140042469025920"}, {"nodeId": "140042464338416"}, {"nodeId": "140042464338528"}, {"nodeId": "140042464338640"}]}, "140042469024800": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042469023680": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042469023792": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042469027040": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042469024352": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042469027264": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042469025920": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042464338416": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042464338528": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042464338640": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042506221296": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042464338304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042464335952"}, {"nodeId": "140042464335728"}, {"nodeId": "140042464335840"}, {"nodeId": "140042464336176"}, {"nodeId": "140042464336624"}, {"nodeId": "140042464336288"}, {"nodeId": "140042464336400"}, {"nodeId": "140042464337968"}, {"nodeId": "140042464338080"}, {"nodeId": "140042464338192"}]}, "140042464335952": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042464335728": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042464335840": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042464336176": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042464336624": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042464336288": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042464336400": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042464337968": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042464338080": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042464338192": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042623384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506219168"}, {"nodeId": "140042506220288"}, {"nodeId": "140042506219504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506219728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042506219168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506217712"}]}, "140042506217712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506219504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506216928"}]}, "140042506216928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506219728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619633728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220512"}, {"nodeId": "140042506220624"}, {"nodeId": "140042506216704"}, {"nodeId": "140042506220400"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506220512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506219840"}]}, "140042506219840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214016"}]}, "140042506214016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506220400": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042619634176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506218608"}, {"nodeId": "140042506216480"}, {"nodeId": "140042506216256"}, {"nodeId": "140042506217152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506215360"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506218608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506215248"}]}, "140042506215248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214352"}]}, "140042506214352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506217152": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506218272"}]}, {"nodeId": "0"}, {"nodeId": "140042506218048"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506217488"}]}]}]}, "140042506218272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506218048": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042506217488": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506215360": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042619634624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506215584"}, {"nodeId": "140042506215808"}, {"nodeId": "140042506216032"}, {"nodeId": "140042506212896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506210880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506215584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506215808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214128"}]}, "140042506214128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506218720"}]}, "140042506218720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506212896": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211776"}]}, {"nodeId": "0"}, {"nodeId": "140042506208192"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211888"}]}]}]}, "140042506211776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506208192": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042506211888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506210880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042619635072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506210992"}, {"nodeId": "140042506210432"}, {"nodeId": "140042506210544"}, {"nodeId": "140042506209760"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506209312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506210992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210320"}]}, "140042506210320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506213792"}]}, "140042506213792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506209760": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209984"}]}, {"nodeId": "0"}, {"nodeId": "140042506209872"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209536"}]}]}]}, "140042506209984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209872": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042506209536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209312": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042619635520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506208976"}, {"nodeId": "140042506208864"}, {"nodeId": "140042506209200"}, {"nodeId": "140042506207968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506207856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506208976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506208864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506208528"}]}, "140042506208528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506209200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210096"}]}, "140042506210096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506207968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506208640"}]}, {"nodeId": "0"}, {"nodeId": "140042506207408"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506208080"}]}]}]}, "140042506208640": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207408": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042506208080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207856": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619635968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506207296"}, {"nodeId": "140042506092352"}, {"nodeId": "140042506092016"}, {"nodeId": "140042506090448"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506091120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506207296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506092240"}]}, "140042506092240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506091792"}]}, "140042506091792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506090448": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506092128"}]}, {"nodeId": "0"}, {"nodeId": "140042506091568"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506091904"}]}]}]}, "140042506092128": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091568": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042506091904": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091120": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042619636416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506090672"}, {"nodeId": "140042506088096"}, {"nodeId": "140042506090336"}, {"nodeId": "140042506086752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506087312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506090672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506088096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087872"}]}, "140042506087872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506090336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506090896"}]}, "140042506090896": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506086752": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087984"}]}, {"nodeId": "0"}, {"nodeId": "140042506089552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087536"}]}]}]}, "140042506087984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506089552": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042506087536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506087312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042619636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506086640"}, {"nodeId": "140042506086528"}, {"nodeId": "140042506087200"}, {"nodeId": "140042506085968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506085856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506086640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506086528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087088"}]}, "140042506087088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506087200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085408"}]}, "140042506085408": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506085968": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086192"}]}, {"nodeId": "0"}, {"nodeId": "140042506086416"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086080"}]}]}]}, "140042506086192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506086416": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042506086080": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506085856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042619637312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506084960"}, {"nodeId": "140042506085072"}, {"nodeId": "140042506085296"}, {"nodeId": "140042506084288"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506084064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506084960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506084736"}]}, "140042506084736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085184"}]}, "140042506085184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506084288": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084624"}]}, {"nodeId": "0"}, {"nodeId": "140042506083392"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084512"}]}]}]}, "140042506084624": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506083392": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042506084512": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506084064": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042619637760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506083168"}, {"nodeId": "140042506082944"}, {"nodeId": "140042506083728"}, {"nodeId": "140042506082048"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506079248"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506083168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506082944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083840"}]}, "140042506083840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506083728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083280"}]}, "140042506083280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506082048": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506083056"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042506081936"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506082272"}]}]}]}, "140042506083056": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506081936": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042506082272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506079248": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042619638208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506078688"}, {"nodeId": "140042506078576"}, {"nodeId": "140042506079136"}, {"nodeId": "140042506078464"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506077792"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506078688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506078576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506080144"}]}, "140042506080144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506079136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506081152"}]}, "140042506081152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506078464": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506080256"}]}, {"nodeId": "0"}, {"nodeId": "140042506079360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506078352"}]}]}]}, "140042506080256": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506079360": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042506078352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506077792": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506221408": {"type": "Overloaded", "items": [{"nodeId": "140042619638656"}, {"nodeId": "140042619639104"}, {"nodeId": "140042619639552"}, {"nodeId": "140042619640000"}]}, "140042619638656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077456"}]}, "140042506077456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619639104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506077232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506077344"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506076672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506077232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506077344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077120"}]}, "140042506077120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619639552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506076224"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076336"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077680"}]}, "140042506077680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619640000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505961280"}, {"nodeId": "140042505960944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042505960832"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042505961280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505960944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505960832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505961168"}]}, "140042505961168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506355536": {"type": "Overloaded", "items": [{"nodeId": "140042619640448"}, {"nodeId": "140042619640896"}]}, "140042619640448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042619640896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960048"}, {"nodeId": "140042505955904"}, {"nodeId": "140042505956688"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505958928"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042505960048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505956688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505956240"}]}, "140042505956240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505958928": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506208752": {"type": "Overloaded", "items": [{"nodeId": "140042619641344"}, {"nodeId": "140042619641792"}]}, "140042619641344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619641792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960384"}, {"nodeId": "140042505958592"}, {"nodeId": "140042505958032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505957920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042505960384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505958368"}]}, "140042505958368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505957920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506076560": {"type": "Overloaded", "items": [{"nodeId": "140042619642240"}, {"nodeId": "140042619642688"}, {"nodeId": "140042619643136"}, {"nodeId": "140042619643584"}, {"nodeId": "140042619644032"}]}, "140042619642240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}, {"nodeId": "140042505957024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505957024": {"type": "Union", "items": [{"nodeId": "140042505957360"}, {"nodeId": "140042505957248"}]}, "140042505957360": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505957248": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042619642688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505953664"}, {"nodeId": "140042505957808"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505953888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042505953664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505957808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505955232"}]}, "140042505955232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505955568"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505955680"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505954784"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "out"]}, "140042505955568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505954784": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505956464"}, {"nodeId": "140042505959264"}, {"nodeId": "140042505953328"}, {"nodeId": "140042505953104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952656"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505956464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505959264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505959152"}]}, "140042505959152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953328": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505953104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952880"}]}]}]}, "140042505952880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042505952656": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042619644032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505954896"}, {"nodeId": "140042505951648"}, {"nodeId": "140042505951536"}, {"nodeId": "140042505951760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951088"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505954896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505951648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505952320"}]}, "140042505952320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505951536": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042505951760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951424"}]}]}]}, "140042505951424": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505951088": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505952096": {"type": "Overloaded", "items": [{"nodeId": "140042619644480"}, {"nodeId": "140042619644928"}]}, "140042619644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042619644928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950528"}, {"nodeId": "140042505952544"}, {"nodeId": "140042505949744"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505949520"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042505950528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505952544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950976"}]}, "140042505950976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505949520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950640": {"type": "Overloaded", "items": [{"nodeId": "140042619645376"}, {"nodeId": "140042619645824"}]}, "140042619645376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042619645824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950864"}, {"nodeId": "140042505949632"}, {"nodeId": "140042505949856"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505948960"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042505950864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950304"}]}, "140042505950304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505948960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950416": {"type": "Overloaded", "items": [{"nodeId": "140042619646272"}, {"nodeId": "140042619646720"}]}, "140042619646272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042619646720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950080"}, {"nodeId": "140042505949296"}, {"nodeId": "140042505948400"}, {"nodeId": "140042505948288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947840"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042505950080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948624"}]}, "140042505948624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505948848": {"type": "Overloaded", "items": [{"nodeId": "140042619647168"}, {"nodeId": "140042619647616"}]}, "140042619647168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619647616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505948736"}, {"nodeId": "140042505947280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042505948736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505947280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948064"}]}, "140042505948064": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468768816": {"type": "Overloaded", "items": [{"nodeId": "140042619648064"}, {"nodeId": "140042619648512"}]}, "140042619648064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042619648512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505946272"}, {"nodeId": "140042505946048"}, {"nodeId": "140042505945600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505945152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042505946272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505946048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505945600": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505946160"}]}, "140042505946160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505945152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945712": {"type": "Overloaded", "items": [{"nodeId": "140042619648960"}, {"nodeId": "140042619649408"}, {"nodeId": "140042619879488"}]}, "140042619648960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619649408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510878416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892752"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510878416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892640"}, {"nodeId": "140042510892304"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510892640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510892192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505946384": {"type": "Overloaded", "items": [{"nodeId": "140042619879936"}, {"nodeId": "140042619880384"}]}, "140042619879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042619880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510891744"}, {"nodeId": "140042510891856"}, {"nodeId": "140042510891296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510891184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042510891744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891632"}]}, "140042510891632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510891184": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769488": {"type": "Overloaded", "items": [{"nodeId": "140042619880832"}, {"nodeId": "140042619881280"}]}, "140042619880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892080"}, {"nodeId": "140042510890624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510890176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510892080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510890624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891072"}]}, "140042510891072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510890176": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890736": {"type": "Overloaded", "items": [{"nodeId": "140042619881728"}, {"nodeId": "140042619882176"}]}, "140042619881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510890960"}, {"nodeId": "140042510889616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510889504"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510890960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510889616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510890400"}]}, "140042510890400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510889504": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890064": {"type": "Overloaded", "items": [{"nodeId": "140042619882624"}, {"nodeId": "140042619883072"}]}, "140042619882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510889952"}, {"nodeId": "140042510888944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510888496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510889952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510888944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510889392"}]}, "140042510889392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510888496": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945376": {"type": "Overloaded", "items": [{"nodeId": "140042619883520"}, {"nodeId": "140042619883968"}]}, "140042619883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042619883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510887376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042510887824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510887376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510887936": {"type": "Overloaded", "items": [{"nodeId": "140042619884416"}, {"nodeId": "140042619884864"}]}, "140042619884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887264"}, {"nodeId": "140042510887152"}, {"nodeId": "140042510887040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510886704"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510886928"}]}, "140042510886928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510886704": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510888160": {"type": "Overloaded", "items": [{"nodeId": "140042619885312"}, {"nodeId": "140042619885760"}]}, "140042619885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887600"}, {"nodeId": "140042510886480"}, {"nodeId": "140042510884016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510883568"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510886480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510884016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510883680"}]}, "140042510883680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510883568": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510886592": {"type": "Overloaded", "items": [{"nodeId": "140042619886208"}, {"nodeId": "140042619886656"}]}, "140042619886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510886256"}, {"nodeId": "140042510880768"}, {"nodeId": "140042510880208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879872"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510886256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510880320"}]}, "140042510880320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879872": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878640": {"type": "Overloaded", "items": [{"nodeId": "140042619887104"}, {"nodeId": "140042619887552"}]}, "140042619887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042619887552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510880432"}, {"nodeId": "140042510879760"}, {"nodeId": "140042510879312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879200"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042510880432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510879424"}]}, "140042510879424": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510879536": {"type": "Overloaded", "items": [{"nodeId": "140042619888000"}, {"nodeId": "140042619888448"}]}, "140042619888000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042619888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510879648"}, {"nodeId": "140042515054656"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042515055888"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042510879648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042515054656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510878976"}]}, "140042510878976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042515055888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878752": {"type": "Overloaded", "items": [{"nodeId": "140042619888896"}, {"nodeId": "140042619889344"}]}, "140042619888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042619889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514841408"}, {"nodeId": "140042514840848"}, {"nodeId": "140042514841072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514841296"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042514841408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514840848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514841072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514840960"}]}, "140042514840960": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514841296": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769600": {"type": "Overloaded", "items": [{"nodeId": "140042619889792"}, {"nodeId": "140042619890240"}]}, "140042619889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042619890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829984"}, {"nodeId": "140042514828752"}, {"nodeId": "140042514833456"}, {"nodeId": "140042514833904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514833680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042514829984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514833568"}]}, "140042514833568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514833680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878864": {"type": "Overloaded", "items": [{"nodeId": "140042619890688"}, {"nodeId": "140042619891136"}]}, "140042619890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829872"}, {"nodeId": "140042514828528"}, {"nodeId": "140042514828976"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514828080"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514829872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514828864"}]}, "140042514828864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514828080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042515069664": {"type": "Overloaded", "items": [{"nodeId": "140042619891584"}, {"nodeId": "140042619892032"}]}, "140042619891584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514675888"}, {"nodeId": "140042514674768"}, {"nodeId": "140042514670400"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514672864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514675888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514674768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514673312"}]}, "140042514673312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514672864": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514676672": {"type": "Overloaded", "items": [{"nodeId": "140042619892480"}, {"nodeId": "140042619892928"}]}, "140042619892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042619892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514676224"}, {"nodeId": "140042514672192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514671408"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042514676224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514672192": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514670176"}]}, "140042514670176": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514671408": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514672640": {"type": "Overloaded", "items": [{"nodeId": "140042619893376"}, {"nodeId": "140042619893824"}]}, "140042619893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514672416"}, {"nodeId": "140042514670512"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514669728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042514672416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514671184"}]}, "140042514671184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514669728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514670960": {"type": "Overloaded", "items": [{"nodeId": "140042619894272"}, {"nodeId": "140042619894720"}]}, "140042619894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042619894720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514670736"}, {"nodeId": "140042514668496"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514667936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514670736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514668496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514669168"}]}, "140042514669168": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514667936": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042469016736": {"type": "Overloaded", "items": [{"nodeId": "140042619895168"}, {"nodeId": "140042620076096"}]}, "140042619895168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042620076096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514665808"}, {"nodeId": "140042514664464"}, {"nodeId": "140042514664016"}, {"nodeId": "140042514663456"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514662672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042514665808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514663456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514663680"}]}, "140042514663680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514662672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514665920": {"type": "Overloaded", "items": [{"nodeId": "140042620076544"}, {"nodeId": "140042620076992"}]}, "140042620076544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042620076992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514666704"}, {"nodeId": "140042514661888"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514497344"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514666704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514661888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514662336"}]}, "140042514662336": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514497344": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620077440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514496560"}, {"nodeId": "140042514496000"}, {"nodeId": "140042514495440"}, {"nodeId": "140042514494656"}, {"nodeId": "140042577366032"}, {"nodeId": "140042514493312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514492192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol", "method"]}, "140042514496560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514496000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514495440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514496784"}]}, "140042514496784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514494656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514493312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514492192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620077888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514491744"}, {"nodeId": "140042514491632"}, {"nodeId": "140042514491408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514490848"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042514491744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491408": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514491856"}]}, "140042514491856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514490848": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514488272"}, {"nodeId": "140042577365696"}, {"nodeId": "140042514490064"}, {"nodeId": "140042514488608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514488496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "colors", "nsample", "size", "method"]}, "140042514488272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514490064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514490288"}]}, "140042514490288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514488608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042514488496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514486816"}, {"nodeId": "140042514487040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514487152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042514486816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514487040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514487488"}]}, "140042514487488": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514487152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620079232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514485808"}, {"nodeId": "140042514485584"}, {"nodeId": "140042514486144"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "x", "axis", "out"]}, "140042514485808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514485584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042514486144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042620079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514484576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042514484576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468647856": {"type": "Concrete", "module": "numpy.random._mt19937", "simpleName": "MT19937", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081696"}, "name": "_legacy_seeding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620082144"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506650224"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398890272"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620081248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506485456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506649776"}, {"nodeId": "140042468639792"}]}, "140042506649776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620081696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seed"]}, "140042506485120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620082144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468647856"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506650224": {"type": "Overloaded", "items": [{"nodeId": "140042620082592"}]}, "140042620082592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506483328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042398890272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468646512": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084608"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506653360"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400944352"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620085952"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042506653136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506653136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506652016"}, {"nodeId": "140042468639792"}]}, "140042506652016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506653360": {"type": "Overloaded", "items": [{"nodeId": "140042620085056"}]}, "140042620085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506652912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400944352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468646848": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64DXSM", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086848"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506651344"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400941888"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620088192"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042506650672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506650672": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506650896"}, {"nodeId": "140042468639792"}]}, "140042506650896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506651344": {"type": "Overloaded", "items": [{"nodeId": "140042620087296"}]}, "140042620087296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506651120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400941888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620088192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468645504": {"type": "Concrete", "module": "numpy.random._philox", "simpleName": "Philox", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "counter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620089312"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506655040"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400790592"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620090656"}, "name": "jumped"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620091104"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620089312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042506655152"}, {"nodeId": "140042506653920"}, {"nodeId": "140042506653472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seed", "counter", "key"]}, "140042506655152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654704"}, {"nodeId": "140042468639792"}]}, "140042506654704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654256"}]}, "140042506654256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506653808"}]}, "140042506653808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506655040": {"type": "Overloaded", "items": [{"nodeId": "140042620089760"}]}, "140042620089760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506654480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400790592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620090656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042620091104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468644496": {"type": "Concrete", "module": "numpy.random._sfc64", "simpleName": "SFC64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624155712"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506658288"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400949504"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042624155712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}, {"nodeId": "140042506656832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506656832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506655712"}, {"nodeId": "140042468639792"}]}, "140042506655712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506658288": {"type": "Overloaded", "items": [{"nodeId": "140042624156160"}]}, "140042624156160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506655376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400949504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643488": {"type": "Concrete", "module": "numpy.random.mtrand", "simpleName": "RandomState", "members": [{"kind": "Variable", "name": "_bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468640128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624167808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168256"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168704"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169152"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169600"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170496"}, "name": "seed"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698608"}, "items": [{"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615259200"}, "name": "set_state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695360"}, "items": [{"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_sample"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698720"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489407392"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489412656"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695248"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401568"}, "items": [{"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "tomaxint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759296"}, "items": [{"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615271744"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042484968224"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489403136"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493997264"}, "items": [{"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985504"}, "items": [{"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randn"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493995696"}, "items": [{"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489297408"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985728"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493787856"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493554000"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493354592"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493548288"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498239040"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493309024"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498236464"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233552"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759744"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497911024"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497905760"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233664"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497576736"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497575616"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497903968"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497577856"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502306752"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498440016"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501834112"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502302048"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501833328"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506850640"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506848512"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506846832"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468760864"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506663664"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631296"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631744"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632192"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632640"}, "name": "shuffle"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506662544"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042624167808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489697936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489697936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489698048"}, {"nodeId": "140042468640128"}]}, "140042489698048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624168256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624168704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624169152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624169600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624170048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042489695920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489695920": {"type": "Tuple", "items": [{"nodeId": "140042472558368"}, {"nodeId": "140042489697264"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042472558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468643488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489697264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042624170496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489695472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489695472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489695808"}]}, "140042489695808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489698608": {"type": "Overloaded", "items": [{"nodeId": "140042624170944"}, {"nodeId": "140042624171392"}]}, "140042624170944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042624171392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042489694016"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042489694016": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489694352"}]}, "140042489694352": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489694688"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489694688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615259200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489413104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042489413104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489413216"}]}, "140042489413216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489693008"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489693008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042489695360": {"type": "Overloaded", "items": [{"nodeId": "140042615259648"}, {"nodeId": "140042615260096"}]}, "140042615259648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489409296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412768"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489409296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412768": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489698720": {"type": "Overloaded", "items": [{"nodeId": "140042615260544"}, {"nodeId": "140042615260992"}]}, "140042615260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412208"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489412320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412208": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489407392": {"type": "Overloaded", "items": [{"nodeId": "140042615261440"}, {"nodeId": "140042615261888"}]}, "140042615261440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042615261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489411760"}, {"nodeId": "140042489411984"}, {"nodeId": "140042489411536"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489411200"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042489411760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489411648"}]}, "140042489411648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489411200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489412656": {"type": "Overloaded", "items": [{"nodeId": "140042615262336"}, {"nodeId": "140042615262784"}]}, "140042615262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412096"}, {"nodeId": "140042489409520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489407168"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042489412096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489409520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489410976"}]}, "140042489410976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489407168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489695248": {"type": "Overloaded", "items": [{"nodeId": "140042615263232"}, {"nodeId": "140042615263680"}]}, "140042615263232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615263680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489403248"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489293264"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489403248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489293264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489401568": {"type": "Overloaded", "items": [{"nodeId": "140042615264128"}, {"nodeId": "140042615264576"}]}, "140042615264128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615264576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489297184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489295840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489297184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489295840": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468759296": {"type": "Overloaded", "items": [{"nodeId": "140042615265024"}, {"nodeId": "140042615265472"}, {"nodeId": "140042615265920"}, {"nodeId": "140042615266368"}, {"nodeId": "140042615266816"}, {"nodeId": "140042615267264"}, {"nodeId": "140042615267712"}, {"nodeId": "140042615268160"}, {"nodeId": "140042615268608"}, {"nodeId": "140042615269056"}, {"nodeId": "140042615269504"}, {"nodeId": "140042615269952"}, {"nodeId": "140042615270400"}, {"nodeId": "140042615270848"}, {"nodeId": "140042615271296"}]}, "140042615265024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296624"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042489296624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296400"}, {"nodeId": "N"}, {"nodeId": "140042489296176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489296400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489296176": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615265920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489294384"}, {"nodeId": "N"}, {"nodeId": "140042489290800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489294384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489290800": {"type": "Union", "items": [{"nodeId": "140042489294272"}, {"nodeId": "140042489295952"}]}, "140042489294272": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042489295952": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042615266368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489292480"}, {"nodeId": "140042489143904"}, {"nodeId": "140042489142448"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489136288"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042489292480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489143904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489293040"}]}, "140042489293040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489142448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143680"}]}, "140042489143680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489136288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615266816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489137072"}, {"nodeId": "140042489141216"}, {"nodeId": "140042489145808"}, {"nodeId": "140042489141664"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489137072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489145136"}]}, "140042489145136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489145808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489141552"}]}, "140042489141552": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489141664": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489143792"}, {"nodeId": "140042489141328"}, {"nodeId": "140042489137632"}, {"nodeId": "140042481640480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481645072"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489143792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489136400"}]}, "140042489136400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489137632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143344"}]}, "140042489143344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640480": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639584"}]}, {"nodeId": "0"}, {"nodeId": "140042481644512"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481633648"}]}]}]}, "140042481639584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481644512": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042481633648": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481645072": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042615267712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481642832"}, {"nodeId": "140042481643168"}, {"nodeId": "140042481644624"}, {"nodeId": "140042481640368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481634432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481642832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481643168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481642720"}]}, "140042481642720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481644624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481643280"}]}, "140042481643280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640368": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639472"}]}, {"nodeId": "0"}, {"nodeId": "140042481639360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639808"}]}]}]}, "140042481639472": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481639360": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042481639808": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481634432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042615268160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481144256"}, {"nodeId": "140042481143920"}, {"nodeId": "140042481151760"}, {"nodeId": "140042481143360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481143584"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481144256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481143920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481155456"}]}, "140042481155456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481151760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481154672"}]}, "140042481154672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481143360": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481144480"}]}, {"nodeId": "0"}, {"nodeId": "140042481144592"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481151536"}]}]}]}, "140042481144480": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481144592": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042481151536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481143584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042615268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481143696"}, {"nodeId": "140042481019344"}, {"nodeId": "140042481019568"}, {"nodeId": "140042480827104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042480827440"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481143696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481143808"}]}, "140042481143808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481019456"}]}, "140042481019456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042480827104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481019680"}]}, {"nodeId": "0"}, {"nodeId": "140042480826096"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042480827328"}]}]}]}, "140042481019680": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480826096": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042480827328": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480827440": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042615269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042480825984"}, {"nodeId": "140042485588912"}, {"nodeId": "140042485595856"}, {"nodeId": "140042485586672"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485587008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042480825984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485588912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587680"}]}, "140042485587680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485595856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587344"}]}, "140042485587344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485586672": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485587456"}]}, {"nodeId": "0"}, {"nodeId": "140042485587792"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485588576"}]}]}]}, "140042485587456": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587792": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042485588576": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042615269504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583424"}, {"nodeId": "140042485586224"}, {"nodeId": "140042485587232"}, {"nodeId": "140042485582192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485582416"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485586224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587120"}]}, "140042485587120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485587232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485586112"}]}, "140042485586112": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485582192": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485586336"}]}, {"nodeId": "0"}, {"nodeId": "140042485586448"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485581856"}]}]}]}, "140042485586336": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485586448": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042485581856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485582416": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042615269952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583200"}, {"nodeId": "140042485623024"}, {"nodeId": "140042485623136"}, {"nodeId": "140042485622128"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485622352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622912"}]}, "140042485622912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622800"}]}, "140042485622800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485622128": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622688"}]}, {"nodeId": "0"}, {"nodeId": "140042485622576"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622016"}]}]}]}, "140042485622688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622576": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042485622016": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615270400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489290912"}, {"nodeId": "140042485622240"}, {"nodeId": "140042485110080"}, {"nodeId": "140042485107504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042484911008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489290912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485622240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485618656"}]}, "140042485618656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485110080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485118256"}]}, "140042485118256": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485107504": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485117696"}]}, {"nodeId": "0"}, {"nodeId": "140042485120496"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485109072"}]}]}]}, "140042485117696": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042485120496": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042485109072": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042484911008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042615270848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042484910784"}, {"nodeId": "140042484910896"}, {"nodeId": "140042484910560"}, {"nodeId": "140042494217120"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494214432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042484910784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484919632"}]}, "140042484919632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484910672"}]}, "140042484910672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494217120": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217456"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042494215552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217008"}]}]}]}, "140042494217456": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494215552": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042494217008": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494214432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615271296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042494214992"}, {"nodeId": "140042494214656"}, {"nodeId": "140042494214208"}, {"nodeId": "140042494000624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494000176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042494214992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214544"}]}, "140042494214544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214320"}]}, "140042494214320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494000624": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042493995808"}]}, {"nodeId": "0"}, {"nodeId": "140042494000400"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494000736"}]}]}]}, "140042493995808": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000400": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042494000736": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000176": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042615271744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042484968224": {"type": "Overloaded", "items": [{"nodeId": "140042615272192"}, {"nodeId": "140042615272640"}, {"nodeId": "140042615273088"}, {"nodeId": "140042615273536"}]}, "140042615272192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999056"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493999056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999952"}]}, "140042493999952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493998720"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999840"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493999168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493999840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999280"}]}, "140042493999280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493999168": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493998608"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493998944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494000064"}]}, "140042494000064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996368"}, {"nodeId": "140042493998048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493997824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493996368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493997824": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493998160"}]}, "140042493998160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489403136": {"type": "Overloaded", "items": [{"nodeId": "140042615273984"}, {"nodeId": "140042615274432"}]}, "140042615273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042615274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996816"}, {"nodeId": "140042493997040"}, {"nodeId": "140042493996480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493994240"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493996816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493997040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493996480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493996704"}]}, "140042493996704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493994240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493997264": {"type": "Overloaded", "items": [{"nodeId": "140042615274880"}, {"nodeId": "140042615439424"}]}, "140042615274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615439424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493989760"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493989760": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985504": {"type": "Overloaded", "items": [{"nodeId": "140042615439872"}, {"nodeId": "140042615440320"}]}, "140042615439872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615440320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493985392"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493985392": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493995696": {"type": "Overloaded", "items": [{"nodeId": "140042615440768"}, {"nodeId": "140042615441216"}]}, "140042615440768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493780016"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493780016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615441216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493772512"}, {"nodeId": "140042493786400"}, {"nodeId": "140042493776096"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493354928"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493772512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493786400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493782816"}]}, "140042493782816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493776096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493787968"}]}, "140042493787968": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493354928": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042489297408": {"type": "Overloaded", "items": [{"nodeId": "140042615441664"}, {"nodeId": "140042615442112"}]}, "140042615441664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615442112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493351904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548400"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042493351904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985728": {"type": "Overloaded", "items": [{"nodeId": "140042615442560"}, {"nodeId": "140042615443008"}]}, "140042615442560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615443008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493552992"}, {"nodeId": "140042493551536"}, {"nodeId": "140042493543360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548064"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042493552992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493551536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493543360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493546496"}]}, "140042493546496": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548064": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493787856": {"type": "Overloaded", "items": [{"nodeId": "140042615443456"}, {"nodeId": "140042615443904"}]}, "140042615443456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042615443904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493543136"}, {"nodeId": "140042493299168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493307680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042493543136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493299168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493300288"}]}, "140042493300288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493307680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493554000": {"type": "Overloaded", "items": [{"nodeId": "140042615444352"}, {"nodeId": "140042615444800"}]}, "140042615444352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042615444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498241392"}, {"nodeId": "140042498241280"}, {"nodeId": "140042498241168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498240608"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042498241392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498241056"}]}, "140042498241056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498240608": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493354592": {"type": "Overloaded", "items": [{"nodeId": "140042615445248"}, {"nodeId": "140042615445696"}]}, "140042615445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042615445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240048"}, {"nodeId": "140042498240384"}, {"nodeId": "140042498239712"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498239376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042498240048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498240384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498239936"}]}, "140042498239936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498239376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493548288": {"type": "Overloaded", "items": [{"nodeId": "140042615446144"}, {"nodeId": "140042615446592"}]}, "140042615446144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042615446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240496"}, {"nodeId": "140042498239264"}, {"nodeId": "140042498238704"}, {"nodeId": "140042498238368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498238032"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042498240496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498238592"}]}, "140042498238592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498238032": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498239040": {"type": "Overloaded", "items": [{"nodeId": "140042615447040"}, {"nodeId": "140042615447488"}]}, "140042615447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498239152"}, {"nodeId": "140042498237360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498237024"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498239152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498237360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498237920"}]}, "140042498237920": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498237024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493309024": {"type": "Overloaded", "items": [{"nodeId": "140042615447936"}, {"nodeId": "140042615448384"}]}, "140042615447936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042615448384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236240"}, {"nodeId": "140042498236128"}, {"nodeId": "140042498236016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498233104"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042498236240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498235904"}]}, "140042498235904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498233104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498236464": {"type": "Overloaded", "items": [{"nodeId": "140042615448832"}, {"nodeId": "140042615449280"}, {"nodeId": "140042615449728"}]}, "140042615448832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615449280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236576"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497903632"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498236576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903632": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615449728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497913152"}, {"nodeId": "140042497910240"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497909120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042497913152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497910240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497909120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233552": {"type": "Overloaded", "items": [{"nodeId": "140042615450176"}, {"nodeId": "140042615450624"}]}, "140042615450176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042615450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912928"}, {"nodeId": "140042497913040"}, {"nodeId": "140042497912816"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497912480"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042497912928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497913040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497912816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912704"}]}, "140042497912704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497912480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468759744": {"type": "Overloaded", "items": [{"nodeId": "140042615451072"}, {"nodeId": "140042615451520"}]}, "140042615451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912592"}, {"nodeId": "140042497903520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497904192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497912592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912368"}]}, "140042497912368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497904192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497911024": {"type": "Overloaded", "items": [{"nodeId": "140042615451968"}, {"nodeId": "140042615452416"}]}, "140042615451968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615452416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497904864"}, {"nodeId": "140042497903296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497583120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497904864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497904976"}]}, "140042497904976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497583120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497905760": {"type": "Overloaded", "items": [{"nodeId": "140042615452864"}, {"nodeId": "140042615453312"}]}, "140042615452864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615453312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580432"}, {"nodeId": "140042497580320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497580880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497580432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497580320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497583792"}]}, "140042497583792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497580880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233664": {"type": "Overloaded", "items": [{"nodeId": "140042615453760"}, {"nodeId": "140042615454208"}]}, "140042615453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497584016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497577072"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042497584016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497577072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497576736": {"type": "Overloaded", "items": [{"nodeId": "140042615454656"}, {"nodeId": "140042615455104"}]}, "140042615454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615455104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580208"}, {"nodeId": "140042497575504"}, {"nodeId": "140042498440576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498434752"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042497580208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497575504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498440576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440800"}]}, "140042498440800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498434752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497575616": {"type": "Overloaded", "items": [{"nodeId": "140042615619648"}, {"nodeId": "140042615620096"}]}, "140042615619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498437552"}, {"nodeId": "140042498429712"}, {"nodeId": "140042498433072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502306864"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042498437552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498429712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498433072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440464"}]}, "140042498440464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502306864": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497903968": {"type": "Overloaded", "items": [{"nodeId": "140042615620544"}, {"nodeId": "140042615620992"}]}, "140042615620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502303952"}, {"nodeId": "140042502304960"}, {"nodeId": "140042502299696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502301376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042502303952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502304960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502299696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042502307312"}]}, "140042502307312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502301376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497577856": {"type": "Overloaded", "items": [{"nodeId": "140042615621440"}, {"nodeId": "140042615621888"}]}, "140042615621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042615621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502296672"}, {"nodeId": "140042501841952"}, {"nodeId": "140042501841280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501839936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042502296672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501841504"}]}, "140042501841504": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501839936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502306752": {"type": "Overloaded", "items": [{"nodeId": "140042615622336"}, {"nodeId": "140042615622784"}]}, "140042615622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501836352"}, {"nodeId": "140042501834896"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501835120"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042501836352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501836576"}]}, "140042501836576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501835120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498440016": {"type": "Overloaded", "items": [{"nodeId": "140042615623232"}, {"nodeId": "140042615623680"}]}, "140042615623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042615623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501835232"}, {"nodeId": "140042501834336"}, {"nodeId": "140042506862064"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506861280"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042501835232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506862064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501833216"}]}, "140042501833216": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506861280": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042501834112": {"type": "Overloaded", "items": [{"nodeId": "140042615624128"}, {"nodeId": "140042615624576"}]}, "140042615624128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042615624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506859824"}, {"nodeId": "140042506860720"}, {"nodeId": "140042506858816"}, {"nodeId": "140042506857472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506856352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042506859824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506860720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506858816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506857472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506858592"}]}, "140042506858592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506856352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502302048": {"type": "Overloaded", "items": [{"nodeId": "140042615625024"}, {"nodeId": "140042615625472"}]}, "140042615625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506860160"}, {"nodeId": "140042506856240"}, {"nodeId": "140042506852880"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506851984"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506860160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506856240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506852880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506854560"}]}, "140042506854560": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506851984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042501833328": {"type": "Overloaded", "items": [{"nodeId": "140042615625920"}, {"nodeId": "140042615626368"}]}, "140042615625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615626368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506849744"}, {"nodeId": "140042506849520"}, {"nodeId": "140042506849072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506848736"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506849744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506849296"}]}, "140042506849296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506848736": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506850640": {"type": "Overloaded", "items": [{"nodeId": "140042615626816"}, {"nodeId": "140042615627264"}]}, "140042615626816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042615627264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506850528"}, {"nodeId": "140042506848288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506847504"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042506850528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506848288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506848624"}]}, "140042506848624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506847504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506848512": {"type": "Overloaded", "items": [{"nodeId": "140042615627712"}, {"nodeId": "140042615628160"}]}, "140042615627712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615628160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506848400"}, {"nodeId": "140042506665232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664112"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042506848400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506665232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506847616"}]}, "140042506847616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664112": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506846832": {"type": "Overloaded", "items": [{"nodeId": "140042615628608"}, {"nodeId": "140042615629056"}]}, "140042615628608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615629056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664448"}, {"nodeId": "140042506664560"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506664448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506664560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506664784"}]}, "140042506664784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468760864": {"type": "Overloaded", "items": [{"nodeId": "140042615629504"}, {"nodeId": "140042615629952"}]}, "140042615629504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042615629952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664672"}, {"nodeId": "140042506663888"}, {"nodeId": "140042506662656"}, {"nodeId": "140042506663216"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506662992"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042506664672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506663328"}]}, "140042506663328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506662992": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506663664": {"type": "Overloaded", "items": [{"nodeId": "140042615630400"}, {"nodeId": "140042615630848"}]}, "140042615630400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615630848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506663776"}, {"nodeId": "140042506662320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506661760"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506663776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506662208"}]}, "140042506662208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506661760": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615631296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506661088"}, {"nodeId": "140042506662432"}, {"nodeId": "140042506660640"}, {"nodeId": "140042506658736"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506658400"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol"]}, "140042506661088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506660640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506661312"}]}, "140042506661312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506658736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042506658400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615631744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506658176"}, {"nodeId": "140042506661648"}, {"nodeId": "140042506657952"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656944"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042506658176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506661648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657616"}]}, "140042506657616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615632192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506657504"}, {"nodeId": "140042506657168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042506657504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657392"}]}, "140042506657392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656048": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615632640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506656272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662544": {"type": "Overloaded", "items": [{"nodeId": "140042615633088"}, {"nodeId": "140042615633536"}]}, "140042615633088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615633536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506655600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506655600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468242960": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "IgnoreException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468243296": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "clear_and_catch_warnings", "members": [{"kind": "Variable", "name": "class_modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "Variable", "name": "modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447361344"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619126944"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127392"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042480718832", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042447361344": {"type": "Overloaded", "items": [{"nodeId": "140042615635552"}, {"nodeId": "140042619126048"}, {"nodeId": "140042619126496"}]}, "140042615635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243968": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_without_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128288"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619128288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042619126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243632": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_with_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127840"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243632"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480718496": {"type": "Concrete", "module": "warnings", "simpleName": "WarningMessage", "members": [{"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154896"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481153328"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154336"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154448"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607445824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481154896": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481153328": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481154336": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481154448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042607445824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718496"}, {"nodeId": "140042481632192"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481632528"}, {"nodeId": "140042481632416"}, {"nodeId": "140042481631968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "message", "category", "filename", "lineno", "file", "line", "source"]}, "140042481632192": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481632528": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481632416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481631968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042619126496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042619126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}], "returnType": {"nodeId": "140042447362576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447362576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, "140042619127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}, {"nodeId": "140042447362688"}, {"nodeId": "140042447362800"}, {"nodeId": "140042447362912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447362688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447362800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447362912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042480718832": {"type": "Concrete", "module": "warnings", "simpleName": "catch_warnings", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042481155568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607448960"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607449408"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480718832"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481155568": {"type": "Overloaded", "items": [{"nodeId": "140042607447616"}, {"nodeId": "140042607448064"}, {"nodeId": "140042607448512"}]}, "140042607447616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "N"}]}, {"nodeId": "0"}, {"nodeId": "140042481632752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632752": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, {"nodeId": "0"}, {"nodeId": "140042481632976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632976": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042481633088"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042481633200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481633088": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042481633200": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}], "returnType": {"nodeId": ".1.140042480718832"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480718832": {"type": "TypeVar", "varName": "_W", "values": [], "upperBound": {"nodeId": "140042481154784"}, "def": "140042480718832", "variance": "INVARIANT"}, "140042481154784": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042607449408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}, {"nodeId": "140042481633312"}, {"nodeId": "140042481633424"}, {"nodeId": "140042481633536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042481633312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042481633424": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042481633536": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468242624": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "KnownFailureException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468244304": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "suppress_warnings", "members": [{"kind": "Variable", "name": "log", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "forwarding_rule", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129184"}, "name": "filter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129632"}, "name": "record"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130080"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130528"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130976"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042619128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447363696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "forwarding_rule"]}, "140042447363696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042619129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619129632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363920"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619130080": {"type": "Function", "typeVars": [".-1.140042619130080"], "argTypes": [{"nodeId": ".-1.140042619130080"}], "returnType": {"nodeId": ".-1.140042619130080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042619130080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619130080", "variance": "INVARIANT"}, "140042619130528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447364032"}, {"nodeId": "140042447364144"}, {"nodeId": "140042447364256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447364032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447364144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447364256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042619130976": {"type": "Function", "typeVars": [".-1.140042619130976"], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": ".-1.140042619130976"}], "returnType": {"nodeId": ".-1.140042619130976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042619130976": {"type": "TypeVar", "varName": "_FT", "values": [], "upperBound": {"nodeId": "140042472561504"}, "def": "140042619130976", "variance": "INVARIANT"}, "140042472561504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573219200": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670101600"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102496"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102944"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105184"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105632"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670106080"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522832"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042573219200"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "isAbstract": false}, "140042670101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140042573219200": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219200", "variance": "INVARIANT"}, "140042670102496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140042670102944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042670103392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670103840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670104288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042670104736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105632": {"type": "Function", "typeVars": [".-1.140042670105632", ".-2.140042670105632"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670105632"}, {"nodeId": ".-2.140042670105632"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532688"}, {"nodeId": "140042560532800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670105632": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, ".-2.140042670105632": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, "140042560532688": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670105632"}]}, "140042560532800": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670105632"}]}, "140042670106080": {"type": "Function", "typeVars": [".-1.140042670106080", ".-2.140042670106080"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670106080"}, {"nodeId": ".-2.140042670106080"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532912"}, {"nodeId": "140042560533248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106080": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, ".-2.140042670106080": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, "140042560532912": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670106080"}]}, "140042560533248": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670106080"}]}, "140042560522832": {"type": "Overloaded", "items": [{"nodeId": "140042670106528"}, {"nodeId": "140042670106976"}]}, "140042670106528": {"type": "Function", "typeVars": [".-1.140042670106528"], "argTypes": [{"nodeId": ".-1.140042670106528"}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": ".-1.140042670106528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106528", "variance": "INVARIANT"}, "140042670106976": {"type": "Function", "typeVars": [".-1.140042670106976"], "argTypes": [{"nodeId": ".-1.140042670106976"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042560533584"}]}], "returnType": {"nodeId": ".-1.140042670106976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106976", "variance": "INVARIANT"}, "140042560533584": {"type": "Tuple", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "140042569346608": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531585632"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531407456"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531406336"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531405888"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387680"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388576"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388800"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388128"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388352"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387232"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387456"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387904"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387008"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386784"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386112"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386560"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042531585632": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534032": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534144"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534368"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534368": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534480"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534480": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534592"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534592": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534704"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534816"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534928"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534928": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535040"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535040": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535152": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535264"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535376": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535488": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535600"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535600": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535712": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042573219536": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381856"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657749856"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750304"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750752"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751200"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751648"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752096"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042573219536"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042531381856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573219536": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219536", "variance": "INVARIANT"}, "140042531381184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657749856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657750304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657750752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657751200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657751648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560536160"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560536160": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042564600432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042657752096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657752544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569347280": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531757120"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531375360"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531374016"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373792"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373568"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373344"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373120"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339872"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339648"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339424"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339200"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531338976"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531757120": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766128": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766240": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766352"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766352": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766464"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766464": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766576": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766688"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766688": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766800": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767024": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531338976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569347616": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531758800"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531337408"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531332480"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531336512"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335840"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335392"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531758800": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767920"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767920": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768144"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569347952": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531762272"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531331584"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531330016"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531762272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531331584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569348288": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067168"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067616"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653068064"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140042569348288"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}]}, {"nodeId": "140042573918416", "args": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}]}], "isAbstract": false}, "140042653067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569348288": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569348288", "variance": "INVARIANT"}, "140042653067616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042653068064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573918416": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649114816"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523387136"}}], "typeVars": [{"nodeId": ".1.140042573918416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__enter__", "__exit__"]}, "140042649114816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}], "returnType": {"nodeId": ".1.140042573918416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042573918416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918416", "variance": "COVARIANT"}, "140042523387136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}, {"nodeId": "140042556258480"}, {"nodeId": "140042556258592"}, {"nodeId": "140042556258704"}], "returnType": {"nodeId": "140042556258816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556258480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556258592": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556258704": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556258816": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569348624": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231456"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042653231008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}, {"nodeId": "140042573223904"}, {"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140042573223904": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644661280"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666944"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666272"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668512"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573223568"}, {"nodeId": "140042577730512"}], "isAbstract": false}, "140042644661280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042561033200"}, {"nodeId": "140042561033312"}, {"nodeId": "140042561033424"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033424": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644663520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042561033536"}, {"nodeId": "140042561033648"}, {"nodeId": "140042561033760"}, {"nodeId": "140042561033872"}, {"nodeId": "140042561033984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033872": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042561033984": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042644663968": {"type": "Function", "typeVars": [".-1.140042644663968"], "argTypes": [{"nodeId": ".-1.140042644663968"}], "returnType": {"nodeId": ".-1.140042644663968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644663968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644663968", "variance": "INVARIANT"}, "140042644664416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644664864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644665312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644665760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223568": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603344"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658144"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658592"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659040"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659488"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659936"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660384"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660832"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042564603344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569526160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042644657696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644658144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644658592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644659040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042561033088"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561033088": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573220544": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701472"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701920"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702816"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703712"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704160"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577259296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704608"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705056"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705504"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706400"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706848"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577219584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707296"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707744"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644708192"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527247040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709088"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042644487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644701472": {"type": "Function", "typeVars": [".-1.140042644701472"], "argTypes": [{"nodeId": ".-1.140042644701472"}], "returnType": {"nodeId": ".-1.140042644701472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644701472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644701472", "variance": "INVARIANT"}, "140042644701920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030512"}, {"nodeId": "140042561030624"}, {"nodeId": "140042561030736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042561030512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042561030624": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042561030736": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042644702368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644702816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644704160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577259296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644705056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042644705504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644705952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644706400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561030848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644706848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577219584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644707296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561030960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561030960": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644707744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031072"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042527247040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042561031184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042578063232": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569774720"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569772816"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515072"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991616"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991728"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565292704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598742976"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598743424"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025536"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025984"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026432"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026880"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027328"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027776"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594028224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578063232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774720": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042569418896": {"type": "Union", "items": [{"nodeId": "140042569424496"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042569424608"}]}]}, "140042569424496": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042568896624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}]}, "140042569424608": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569772816": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, ".1.140042578063232": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578063232", "variance": "INVARIANT"}, "140042569515072": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991616": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991728": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042565292704": {"type": "Overloaded", "items": [{"nodeId": "140042565342080"}, {"nodeId": "140042598735360"}, {"nodeId": "140042598735808"}, {"nodeId": "140042598736256"}, {"nodeId": "140042598736704"}, {"nodeId": "140042598737152"}]}, "140042565342080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565460352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565460576"}, {"nodeId": "140042565460800"}, {"nodeId": "140042565461024"}, {"nodeId": "140042565461248"}, {"nodeId": "140042565461360"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565461696"}, {"nodeId": "140042565461920"}, {"nodeId": "140042565462032"}, {"nodeId": "140042565462256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565462368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565462480"}, {"nodeId": "140042565462592"}, {"nodeId": "140042565462704"}, {"nodeId": "140042565462928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565460352": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460576": {"type": "Union", "items": [{"nodeId": "140042565460464"}, {"nodeId": "N"}]}, "140042565460464": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565460800": {"type": "Union", "items": [{"nodeId": "140042565460688"}, {"nodeId": "N"}]}, "140042565460688": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042572990272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}]}, "140042565461024": {"type": "Union", "items": [{"nodeId": "140042565460912"}, {"nodeId": "N"}]}, "140042565460912": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461248": {"type": "Union", "items": [{"nodeId": "140042565461136"}, {"nodeId": "N"}]}, "140042565461136": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461360": {"type": "Union", "items": [{"nodeId": "140042565341632"}, {"nodeId": "N"}]}, "140042565341632": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565461696": {"type": "Union", "items": [{"nodeId": "140042565461584"}, {"nodeId": "N"}]}, "140042565461584": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565461920": {"type": "Union", "items": [{"nodeId": "140042565461808"}, {"nodeId": "N"}]}, "140042565461808": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042569515408": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577732864"}, {"nodeId": "140042569432896"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042569428304"}]}]}, "140042569432896": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569428304": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565462032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462256": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565462368": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565462592": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462928": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565462816"}]}, {"nodeId": "N"}]}, "140042565462816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565463040"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565463264"}, {"nodeId": "140042565463488"}, {"nodeId": "140042565463712"}, {"nodeId": "140042565463936"}, {"nodeId": "140042565464048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565464384"}, {"nodeId": "140042565464608"}, {"nodeId": "140042565464720"}, {"nodeId": "140042565464944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565465056"}, {"nodeId": "140042565465168"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565465280"}, {"nodeId": "140042565465392"}, {"nodeId": "140042565465616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565463040": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565463264": {"type": "Union", "items": [{"nodeId": "140042565463152"}, {"nodeId": "N"}]}, "140042565463152": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565463488": {"type": "Union", "items": [{"nodeId": "140042565463376"}, {"nodeId": "N"}]}, "140042565463376": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463712": {"type": "Union", "items": [{"nodeId": "140042565463600"}, {"nodeId": "N"}]}, "140042565463600": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463936": {"type": "Union", "items": [{"nodeId": "140042565463824"}, {"nodeId": "N"}]}, "140042565463824": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565464048": {"type": "Union", "items": [{"nodeId": "140042565340960"}, {"nodeId": "N"}]}, "140042565340960": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565464384": {"type": "Union", "items": [{"nodeId": "140042565464272"}, {"nodeId": "N"}]}, "140042565464272": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565464608": {"type": "Union", "items": [{"nodeId": "140042565464496"}, {"nodeId": "N"}]}, "140042565464496": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565464720": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565464944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565465056": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565465168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565465280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465616": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565465504"}]}, {"nodeId": "N"}]}, "140042565465504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565465728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565465952"}, {"nodeId": "140042565466176"}, {"nodeId": "140042565466400"}, {"nodeId": "140042565466624"}, {"nodeId": "140042565466736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565467072"}, {"nodeId": "140042565467296"}, {"nodeId": "0"}, {"nodeId": "140042565467632"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565467744"}, {"nodeId": "140042565467856"}, {"nodeId": "140042565467968"}, {"nodeId": "140042565517376"}, {"nodeId": "140042565517488"}, {"nodeId": "140042565517712"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565465728": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565465952": {"type": "Union", "items": [{"nodeId": "140042565465840"}, {"nodeId": "N"}]}, "140042565465840": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565466176": {"type": "Union", "items": [{"nodeId": "140042565466064"}, {"nodeId": "N"}]}, "140042565466064": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466400": {"type": "Union", "items": [{"nodeId": "140042565466288"}, {"nodeId": "N"}]}, "140042565466288": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466624": {"type": "Union", "items": [{"nodeId": "140042565466512"}, {"nodeId": "N"}]}, "140042565466512": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466736": {"type": "Union", "items": [{"nodeId": "140042565342304"}, {"nodeId": "N"}]}, "140042565342304": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565467072": {"type": "Union", "items": [{"nodeId": "140042565466960"}, {"nodeId": "N"}]}, "140042565466960": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565467296": {"type": "Union", "items": [{"nodeId": "140042565467184"}, {"nodeId": "N"}]}, "140042565467184": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565467632": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565467744": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565467856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565467968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565517376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517712": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565517600"}]}, {"nodeId": "N"}]}, "140042565517600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565517824"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565518048"}, {"nodeId": "140042565518272"}, {"nodeId": "140042565518496"}, {"nodeId": "140042565518720"}, {"nodeId": "140042565518832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565519168"}, {"nodeId": "140042565519392"}, {"nodeId": "140042565519504"}, {"nodeId": "140042565519728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "0"}, {"nodeId": "140042565519952"}, {"nodeId": "140042565520064"}, {"nodeId": "140042565520176"}, {"nodeId": "140042565520288"}, {"nodeId": "140042565520512"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565517824": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565518048": {"type": "Union", "items": [{"nodeId": "140042565517936"}, {"nodeId": "N"}]}, "140042565517936": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565518272": {"type": "Union", "items": [{"nodeId": "140042565518160"}, {"nodeId": "N"}]}, "140042565518160": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518496": {"type": "Union", "items": [{"nodeId": "140042565518384"}, {"nodeId": "N"}]}, "140042565518384": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518720": {"type": "Union", "items": [{"nodeId": "140042565518608"}, {"nodeId": "N"}]}, "140042565518608": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518832": {"type": "Union", "items": [{"nodeId": "140042565342528"}, {"nodeId": "N"}]}, "140042565342528": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565519168": {"type": "Union", "items": [{"nodeId": "140042565519056"}, {"nodeId": "N"}]}, "140042565519056": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565519392": {"type": "Union", "items": [{"nodeId": "140042565519280"}, {"nodeId": "N"}]}, "140042565519280": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565519504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565519728": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565519952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520512": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565520400"}]}, {"nodeId": "N"}]}, "140042565520400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565520624"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565520848"}, {"nodeId": "140042565521072"}, {"nodeId": "140042565521296"}, {"nodeId": "140042565521520"}, {"nodeId": "140042565521632"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565521968"}, {"nodeId": "140042565522192"}, {"nodeId": "140042565522416"}, {"nodeId": "140042565522640"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565522864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042565522976"}, {"nodeId": "140042565523088"}, {"nodeId": "140042565523312"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565520624": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565520848": {"type": "Union", "items": [{"nodeId": "140042565520736"}, {"nodeId": "N"}]}, "140042565520736": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565521072": {"type": "Union", "items": [{"nodeId": "140042565520960"}, {"nodeId": "N"}]}, "140042565520960": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521296": {"type": "Union", "items": [{"nodeId": "140042565521184"}, {"nodeId": "N"}]}, "140042565521184": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521520": {"type": "Union", "items": [{"nodeId": "140042565521408"}, {"nodeId": "N"}]}, "140042565521408": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521632": {"type": "Union", "items": [{"nodeId": "140042565342752"}, {"nodeId": "N"}]}, "140042565342752": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565521968": {"type": "Union", "items": [{"nodeId": "140042565521856"}, {"nodeId": "N"}]}, "140042565521856": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565522192": {"type": "Union", "items": [{"nodeId": "140042565522080"}, {"nodeId": "N"}]}, "140042565522080": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565522416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565522640": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565522864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042565522976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523312": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565523200"}]}, {"nodeId": "N"}]}, "140042565523200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598737152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042565523536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565523760"}, {"nodeId": "140042565523984"}, {"nodeId": "140042565524208"}, {"nodeId": "140042565524432"}, {"nodeId": "140042565524544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565524880"}, {"nodeId": "140042565525104"}, {"nodeId": "140042565525216"}, {"nodeId": "140042565525440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565525552"}, {"nodeId": "140042565525664"}, {"nodeId": "140042565525776"}, {"nodeId": "140042565525888"}, {"nodeId": "140042565526000"}, {"nodeId": "140042565526224"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565523536": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565523760": {"type": "Union", "items": [{"nodeId": "140042565523648"}, {"nodeId": "N"}]}, "140042565523648": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565523984": {"type": "Union", "items": [{"nodeId": "140042565523872"}, {"nodeId": "N"}]}, "140042565523872": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524208": {"type": "Union", "items": [{"nodeId": "140042565524096"}, {"nodeId": "N"}]}, "140042565524096": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524432": {"type": "Union", "items": [{"nodeId": "140042565524320"}, {"nodeId": "N"}]}, "140042565524320": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524544": {"type": "Union", "items": [{"nodeId": "140042565342976"}, {"nodeId": "N"}]}, "140042565342976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565524880": {"type": "Union", "items": [{"nodeId": "140042565524768"}, {"nodeId": "N"}]}, "140042565524768": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565525104": {"type": "Union", "items": [{"nodeId": "140042565524992"}, {"nodeId": "N"}]}, "140042565524992": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565525216": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525440": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565525552": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525888": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526224": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565526112"}]}, {"nodeId": "N"}]}, "140042565526112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "140042565526336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565526336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042598743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042565526448": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042594025536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526560"}, {"nodeId": "140042565526672"}], "returnType": {"nodeId": "140042565526896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140042565526560": {"type": "Union", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": "N"}]}, "140042565526672": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042565526896": {"type": "Tuple", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": ".1.140042578063232"}]}, "140042594025984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140042594026432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594026880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594027328": {"type": "Function", "typeVars": [".-1.140042594027328"], "argTypes": [{"nodeId": ".-1.140042594027328"}], "returnType": {"nodeId": ".-1.140042594027328"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042594027328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594027328", "variance": "INVARIANT"}, "140042594027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565527008"}, {"nodeId": "140042565527120"}, {"nodeId": "140042565527232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042565527008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565527120": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042565527232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594028224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042653231456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}], "returnType": {"nodeId": "140042560920752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560920752": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569348960": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526792208"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531319680"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318784"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318112"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318560"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055072"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042526792208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531319680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922544"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922544": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922432"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922432": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922768"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922768": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923104"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923104": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531055072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923216"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923216": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042569349296": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526794448"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531528640"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529760"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529984"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530208"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530432"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526794448": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531528640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560924672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560924672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569349632": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526796240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653364320"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531531776"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526796240": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042653364320": {"type": "Function", "typeVars": [".-1.140042653364320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042653364320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140042653364320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042653364320", "variance": "INVARIANT"}, "140042531531776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560928816"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560928816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573738528": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573738192"}], "isAbstract": false}, "140042569632448": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634656"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635104"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635552"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636000"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569632448"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140042569632448": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140042573738192"}, "def": "140042569632448", "variance": "INVARIANT"}, "140042661634656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042661636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573738864": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560957888"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636448"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042560957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740880": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573905984": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573906320": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": false}, "140042656937824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906320"}, {"nodeId": "140042556256016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256016": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042573906656": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938272"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663648"}]}], "isAbstract": false}, "140042656938272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906656"}, {"nodeId": "140042556256128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569663648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573906992": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907328": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907664": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573908336": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573908672": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909008": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909680": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910016": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910352": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910688": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911024": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911360": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911696": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912032": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912368": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912704": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913040": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913376": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913712": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914048": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914720": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573915056": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938720"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663536"}]}], "isAbstract": false}, "140042656938720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915056"}, {"nodeId": "140042556256240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256240": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569663536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573915392": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939168"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042782776944"}]}], "isAbstract": false}, "140042656939168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042573915728": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140042573915728"}], "bases": [{"nodeId": "140042573739536"}, {"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573915728"}]}], "isAbstract": false}, ".1.140042573915728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573915728", "variance": "INVARIANT"}, "140042573916064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573916400": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042573816752"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939616"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573738864"}], "isAbstract": false}, "140042573816752": {"type": "Union", "items": [{"nodeId": "140042573816416"}, {"nodeId": "140042573816640"}]}, "140042573816416": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042573816640": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}, {"nodeId": "140042577365696"}]}, "140042656939616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916400"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573916064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573916736": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186528"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186976"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042657186080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140042657186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573917072": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917408": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917744": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042573918080": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042480720176": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607712"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608160"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608608"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140042480719840"}], "isAbstract": false}, "140042661607264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042480721520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140042661607712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399664"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399664": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399776"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399776": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399888": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042573232640": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852448"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "isAbstract": false}, "140042648852000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648852448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573232976": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648854240"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548579008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856480"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648857376"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544073408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858272"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858720"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648859168"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262688"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573233312"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "140042573233312"}]}}], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042648854240": {"type": "Function", "typeVars": [".-1.140042648854240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042573232640"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042648854240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140042648854240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648854240", "variance": "INVARIANT"}, "140042548579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573232640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140042648856032": {"type": "Function", "typeVars": [".-1.140042648856032"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856032": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856032", "variance": "INVARIANT"}, "140042648856480": {"type": "Function", "typeVars": [".-1.140042648856480"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856480"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856480": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856480", "variance": "INVARIANT"}, "140042648856928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648857376": {"type": "Function", "typeVars": [".-1.140042648857376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042648857376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648857376": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648857376", "variance": "INVARIANT"}, "140042544073408": {"type": "Function", "typeVars": [".-1.140042544073408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042544073408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042544073408": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042544073408", "variance": "INVARIANT"}, "140042648858272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648858720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648859168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561262688": {"type": "Overloaded", "items": [{"nodeId": "140042648859616"}, {"nodeId": "140042648860512"}]}, "140042648859616": {"type": "Function", "typeVars": [".-1.140042648859616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042648859616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140042648859616": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648859616", "variance": "INVARIANT"}, "140042648860512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561266944"}, {"nodeId": "140042561267056"}, {"nodeId": "140042561267168"}, {"nodeId": "140042561267280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140042561266944": {"type": "TypeAlias", "target": {"nodeId": "140042573248688"}}, "140042573248688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042573246896"}]}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042573246896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042561267056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267280": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042573233648": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527347584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648931232"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573233312"}], "isAbstract": false}, "140042527347584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648931232": {"type": "Function", "typeVars": [".-1.140042648931232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648931232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648931232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648931232", "variance": "INVARIANT"}, "140042569632112": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648932576"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042527101152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648932576": {"type": "Function", "typeVars": [".-1.140042648932576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042648932576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042648932576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648932576", "variance": "INVARIANT"}, "140042573726096": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939296"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939744"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940192"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940640"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548367584"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548378560"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371840"}}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573725760"}], "isAbstract": false}, "140042648939296": {"type": "Function", "typeVars": [".-1.140042648939296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648939296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939296", "variance": "INVARIANT"}, "140042648939744": {"type": "Function", "typeVars": [".-1.140042648939744"], "argTypes": [{"nodeId": ".-1.140042648939744"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648939744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939744", "variance": "INVARIANT"}, "140042648940192": {"type": "Function", "typeVars": [".-1.140042648940192"], "argTypes": [{"nodeId": ".-1.140042648940192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940192", "variance": "INVARIANT"}, "140042648940640": {"type": "Function", "typeVars": [".-1.140042648940640"], "argTypes": [{"nodeId": ".-1.140042648940640"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940640", "variance": "INVARIANT"}, "140042548367584": {"type": "Function", "typeVars": [".-1.140042548367584"], "argTypes": [{"nodeId": ".-1.140042548367584"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548367584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548367584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548367584", "variance": "INVARIANT"}, "140042548378560": {"type": "Function", "typeVars": [".-1.140042548378560"], "argTypes": [{"nodeId": ".-1.140042548378560"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548378560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548378560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548378560", "variance": "INVARIANT"}, "140042548371840": {"type": "Function", "typeVars": [".-1.140042548371840"], "argTypes": [{"nodeId": ".-1.140042548371840"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548371840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548371840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548371840", "variance": "INVARIANT"}, "140042573725760": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248464"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101600"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527106304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648933920"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934368"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935712"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648936160"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573248464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042561268064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561268064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527106304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648933920": {"type": "Function", "typeVars": [".-1.140042648933920"], "argTypes": [{"nodeId": ".-1.140042648933920"}, {"nodeId": ".-1.140042648933920"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648933920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648933920", "variance": "INVARIANT"}, "140042648934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648934816": {"type": "Function", "typeVars": [".-1.140042648934816"], "argTypes": [{"nodeId": ".-1.140042648934816"}, {"nodeId": ".-1.140042648934816"}], "returnType": {"nodeId": ".-1.140042648934816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648934816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648934816", "variance": "INVARIANT"}, "140042648935264": {"type": "Function", "typeVars": [".-1.140042648935264"], "argTypes": [{"nodeId": ".-1.140042648935264"}, {"nodeId": ".-1.140042648935264"}], "returnType": {"nodeId": ".-1.140042648935264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935264", "variance": "INVARIANT"}, "140042648935712": {"type": "Function", "typeVars": [".-1.140042648935712"], "argTypes": [{"nodeId": ".-1.140042648935712"}, {"nodeId": ".-1.140042648935712"}], "returnType": {"nodeId": ".-1.140042648935712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935712", "variance": "INVARIANT"}, "140042648936160": {"type": "Function", "typeVars": [".-1.140042648936160"], "argTypes": [{"nodeId": ".-1.140042648936160"}], "returnType": {"nodeId": ".-1.140042648936160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648936160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648936160", "variance": "INVARIANT"}, "140042577723456": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112352"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723456"}], "bases": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577723456"}]}], "isAbstract": false}, "140042649112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723456", "args": [{"nodeId": ".1.140042577723456"}]}, {"nodeId": "140042556318976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723456": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723456", "variance": "COVARIANT"}, "140042556318976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723456"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577723792": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112800"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723792"}], "bases": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577723792"}]}], "isAbstract": false}, "140042649112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723792", "args": [{"nodeId": ".1.140042577723792"}]}, {"nodeId": "140042556318304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723792": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723792", "variance": "COVARIANT"}, "140042556318304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577724128": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042577369728"}], "isAbstract": false}, "140042573918752": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556311360"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523384672"}}], "typeVars": [{"nodeId": ".1.140042573918752"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140042556311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042573918752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573918752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918752", "variance": "COVARIANT"}, "140042523384672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}, {"nodeId": "140042556259040"}, {"nodeId": "140042556259152"}, {"nodeId": "140042556259264"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556259376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556259040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556259152": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556259264": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556259376": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919424": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117056"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577260192"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117504"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573919424"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042573919088"}], "isAbstract": false}, "140042649117056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556311136"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573919424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573919424", "variance": "COVARIANT"}, "140042556311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573919424"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577260192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042649117504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556259936"}, {"nodeId": "140042556260048"}, {"nodeId": "140042556260160"}], "returnType": {"nodeId": "140042556440640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556259936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556260048": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556260160": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556440640": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919760": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118400"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649118400": {"type": "Function", "typeVars": [".-1.140042649118400"], "argTypes": [{"nodeId": "140042573919760"}, {"nodeId": ".-1.140042649118400"}], "returnType": {"nodeId": ".-1.140042649118400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649118400": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140042577260640"}, "def": "140042649118400", "variance": "INVARIANT"}, "140042577260640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573920096": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118848"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585998496"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556312704"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573920096"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042573919760"}], "isAbstract": false}, "140042649118848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556312928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573920096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573920096", "variance": "COVARIANT"}, "140042556312928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042573920096"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042556312704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556441088"}, {"nodeId": "140042556441200"}, {"nodeId": "140042556441312"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556441424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140042556441088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441200": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556441424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573920432": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121088"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close"]}, "140042649121088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920432"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573920768": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121984"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573920768"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573920768"}]}], "isAbstract": false}, "140042649121536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": ".1.140042573920768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573920768": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140042573920432"}, "def": "140042573920768", "variance": "INVARIANT"}, "140042649121984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573921104": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122432"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["aclose"]}, "140042649122432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921104"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573921440": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556313600"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573921440"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573921440"}]}], "isAbstract": false}, "140042649122880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": ".1.140042573921440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573921440": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140042573921104"}, "def": "140042573921440", "variance": "INVARIANT"}, "140042556313600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140042573921776": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649123776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649124224"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140042649123776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140042649124224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "140042556441760"}, {"nodeId": "140042556441872"}, {"nodeId": "140042556441984"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441760": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441872": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441984": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305152"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305600"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042568794176"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568794176"}]}], "isAbstract": false}, "140042649305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": ".1.140042568794176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140042568794176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794176", "variance": "INVARIANT"}, "140042573812496": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": "140042556442096"}, {"nodeId": "140042556442208"}, {"nodeId": "140042556442320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556442096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140042568794512"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794512"}]}], "isAbstract": false}, ".1.140042568794512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794512", "variance": "INVARIANT"}, "140042568794848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140042568794848"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794848"}]}], "isAbstract": false}, ".1.140042568794848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794848", "variance": "INVARIANT"}, "140042568795184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306048"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306496"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306944"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307392"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307840"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308288"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308736"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649306048": {"type": "Function", "typeVars": [".-1.140042649306048"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649306048"}]}], "returnType": {"nodeId": ".-1.140042649306048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649306048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649306048", "variance": "INVARIANT"}, "140042649306496": {"type": "Function", "typeVars": [".-1.140042649306496"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": ".-1.140042649306496"}], "returnType": {"nodeId": ".-1.140042649306496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649306496": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649306496", "variance": "INVARIANT"}, "140042569664208": {"type": "Union", "items": [{"nodeId": "140042573918416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569663984"}]}, "140042569663984": {"type": "TypeAlias", "target": {"nodeId": "140042577223616"}}, "140042577223616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573817648"}, {"nodeId": "140042573817088"}, {"nodeId": "140042573817312"}], "returnType": {"nodeId": "140042573817424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573817648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573817088": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573817312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573817424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556313824"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556313824": {"type": "Function", "typeVars": [".-2.140042556313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556313824"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556313824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556313824", "variance": "INVARIANT"}, "140042556314048": {"type": "Function", "typeVars": [".-2.140042556314048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314048"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314048", "variance": "INVARIANT"}, "140042649307392": {"type": "Function", "typeVars": [".-1.140042649307392"], "argTypes": [{"nodeId": ".-1.140042649307392"}], "returnType": {"nodeId": ".-1.140042649307392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649307392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649307392", "variance": "INVARIANT"}, "140042649307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649308288": {"type": "Function", "typeVars": [".-1.140042649308288"], "argTypes": [{"nodeId": ".-1.140042649308288"}], "returnType": {"nodeId": ".-1.140042649308288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042649308288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649308288", "variance": "INVARIANT"}, "140042649308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556441648"}, {"nodeId": "140042556442544"}, {"nodeId": "140042556442656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309184"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556314272"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310528"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310976"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311424"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309632"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311872"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312768"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312320"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649309184": {"type": "Function", "typeVars": [".-1.140042649309184"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649309184"}]}], "returnType": {"nodeId": ".-1.140042649309184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649309184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309184", "variance": "INVARIANT"}, "140042556314272": {"type": "Function", "typeVars": [".-1.140042556314272"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918752", "args": [{"nodeId": ".-1.140042556314272"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042556314272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042556314272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314272", "variance": "INVARIANT"}, "140042649310080": {"type": "Function", "typeVars": [".-1.140042649310080"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310080"}], "returnType": {"nodeId": ".-1.140042649310080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649310080", "variance": "INVARIANT"}, "140042649310528": {"type": "Function", "typeVars": [".-1.140042649310528"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310528"}], "returnType": {"nodeId": ".-1.140042649310528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310528": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140042569665216"}, "def": "140042649310528", "variance": "INVARIANT"}, "140042569665216": {"type": "Union", "items": [{"nodeId": "140042573918752", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569665552"}]}, "140042569665552": {"type": "TypeAlias", "target": {"nodeId": "140042585998720"}}, "140042585998720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573821568"}, {"nodeId": "140042573819216"}, {"nodeId": "140042573821232"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042573821344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573821568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573819216": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573821232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573821344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649310976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310688"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310688": {"type": "Function", "typeVars": [".-2.140042556310688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556310688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310688", "variance": "INVARIANT"}, "140042556314496": {"type": "Function", "typeVars": [".-2.140042556314496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314496"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314496", "variance": "INVARIANT"}, "140042649311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310240"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310240": {"type": "Function", "typeVars": [".-2.140042556310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556310240"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310240", "variance": "INVARIANT"}, "140042556314944": {"type": "Function", "typeVars": [".-2.140042556314944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556314944"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314944", "variance": "INVARIANT"}, "140042649309632": {"type": "Function", "typeVars": [".-1.140042649309632"], "argTypes": [{"nodeId": ".-1.140042649309632"}], "returnType": {"nodeId": ".-1.140042649309632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649309632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309632", "variance": "INVARIANT"}, "140042649311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649312768": {"type": "Function", "typeVars": [".-1.140042649312768"], "argTypes": [{"nodeId": ".-1.140042649312768"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042649312768"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649312768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649312768", "variance": "INVARIANT"}, "140042649312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556443216"}, {"nodeId": "140042556443552"}, {"nodeId": "140042556443664"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556443552": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556443664": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042568795856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556443104"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315008"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314112"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315456"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042568795856"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042568795856"}]}], "isAbstract": false}, ".1.140042568795856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568795856", "variance": "INVARIANT"}, "140042556443104": {"type": "Overloaded", "items": [{"nodeId": "140042649313216"}, {"nodeId": "140042649313664"}]}, "140042649313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042649313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": ".1.140042568795856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140042649314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": ".1.140042568795856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042649315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042649314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042568795856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140042578065584": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540412352"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540410336"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540409440"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408768"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408096"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540407424"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565460240"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565530704"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531488"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531712"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330016"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330464"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330912"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540406752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565532832"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644332704"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333152"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333600"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065584"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065584": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065584", "variance": "INVARIANT"}, "140042540410336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540409440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540408768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042540408096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540407424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578065920": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540303744"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540304192"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305088"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305760"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565533280"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560373696"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374480"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374928"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375376"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375824"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376496"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376944"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644475232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065920"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540303744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065920": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065920", "variance": "INVARIANT"}, "140042540304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": ".1.140042578065920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533280": {"type": "Overloaded", "items": [{"nodeId": "140042644335840"}, {"nodeId": "140042565345888"}]}, "140042644335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374592": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560374704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560374816": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560373696": {"type": "Overloaded", "items": [{"nodeId": "140042644336736"}, {"nodeId": "140042565343200"}]}, "140042644336736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375040": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565343200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375152": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375264": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374480": {"type": "Overloaded", "items": [{"nodeId": "140042644337632"}, {"nodeId": "140042565346112"}]}, "140042644337632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375488": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565346112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375712": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374928": {"type": "Overloaded", "items": [{"nodeId": "140042644338528"}, {"nodeId": "140042565346336"}]}, "140042644338528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042565346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376160"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376160": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376384": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "A"}]}, "140042560375376": {"type": "Overloaded", "items": [{"nodeId": "140042644339424"}, {"nodeId": "140042565346560"}]}, "140042644339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376720"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560376720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375824": {"type": "Overloaded", "items": [{"nodeId": "140042644340320"}, {"nodeId": "140042565346784"}]}, "140042644340320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377056"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560377056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376496": {"type": "Overloaded", "items": [{"nodeId": "140042644472544"}, {"nodeId": "140042565347456"}]}, "140042644472544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377280"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347008"}]}, "140042565347008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042565347456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377504"}, {"nodeId": "140042560377728"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377504": {"type": "Union", "items": [{"nodeId": "140042560377392"}, {"nodeId": "140042565345216"}]}, "140042560377392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565345216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560377616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560377616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560377728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376944": {"type": "Overloaded", "items": [{"nodeId": "140042644473440"}, {"nodeId": "140042565348128"}]}, "140042644473440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377952"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347232"}]}, "140042565347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378176": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560378400"}, {"nodeId": "140042560378624"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560378400": {"type": "Union", "items": [{"nodeId": "140042560378288"}, {"nodeId": "140042565347680"}]}, "140042560378288": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560378512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378512": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378624": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378848": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042644474336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644474784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644475232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042565460240": {"type": "Overloaded", "items": [{"nodeId": "140042644325984"}, {"nodeId": "140042565339392"}]}, "140042644325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565339392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565531600"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565531600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565530704": {"type": "Overloaded", "items": [{"nodeId": "140042644326880"}, {"nodeId": "140042644327328"}, {"nodeId": "140042644327776"}]}, "140042644326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565531936"}], "returnType": {"nodeId": "140042565532160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565531936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532160": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565532272"}, {"nodeId": "140042565532384"}, {"nodeId": "140042565532496"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565532720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140042565532272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532496": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532720": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042565531488": {"type": "Overloaded", "items": [{"nodeId": "140042644328224"}, {"nodeId": "140042644328672"}]}, "140042644328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533056": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644328672": {"type": "Function", "typeVars": [".-1.140042644328672"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644328672"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644328672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644328672", "variance": "INVARIANT"}, "140042565533168": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644328672"}]}, "140042565531712": {"type": "Overloaded", "items": [{"nodeId": "140042644329120"}, {"nodeId": "140042644329568"}]}, "140042644329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042565533504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533504": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644329568": {"type": "Function", "typeVars": [".-1.140042644329568"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644329568"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042560372800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644329568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644329568", "variance": "INVARIANT"}, "140042560372800": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644329568"}]}, "140042644330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560372912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560372912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373024": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373136"}], "returnType": {"nodeId": "140042560373360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560373360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042540406752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042560373584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560373584": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042565532832": {"type": "Overloaded", "items": [{"nodeId": "140042644331808"}, {"nodeId": "140042644332256"}]}, "140042644331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042644332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373920"}], "returnType": {"nodeId": "140042560374144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560373920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560374144": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644332704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644333152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644333600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569346272": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042569040944": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515054768"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644485760"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569762064"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009744"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009856"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042515054768": {"type": "Tuple", "items": []}, "140042644485760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042569762064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009744": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569041280": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041616": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041952": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515059248"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569041616"}], "isAbstract": false}, "140042515059248": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569042288": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515060256"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515060256": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569052368": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042624": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515061264"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569041952"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515061264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569043632": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042960": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515062608"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515062608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043296": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515063504"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515063504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043968": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515065520"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569769456"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515065520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337872": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510373536"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016576"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569016800"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761728"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510373536": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338208": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510374768"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761840"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510374768": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761840": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016576": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569016800": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761728": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569769456": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044304": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515066976"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764416"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515066976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764416": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044640": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068208"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338544": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510375664"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016912"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510375664": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569044976": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764864"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569764864": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569045312": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515069552"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515069552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569045648": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515169344"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515169344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569045984": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515170464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569760944"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515170464": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569760944": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569224864": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510251088"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510251088": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225872": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569223520": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510245824"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510245824": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569224192": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510249184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510249184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569228224": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569046320": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515171808"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764192"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761056"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515171808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764192": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569761056": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569046656": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515173264"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515173264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569046992": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515174608"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515174608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047328": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515175504"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515175504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047664": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515176624"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515176624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048000": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515177744"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515177744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339216": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510377680"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017024"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510377680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017024": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569048336": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515178864"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515178864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048672": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515179760"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761168"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761392"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515179760": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761168": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761392": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049008": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515181216"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569337536"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515181216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337536": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510371520"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016352"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016464"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569337200"}], "isAbstract": false}, "140042510371520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016352": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569337200": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569049344": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515182560"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761504"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515182560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761504": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049680": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515183344"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515183344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569338880": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510376672"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016688"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510376672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050016": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515184688"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761616"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515184688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050352": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515185360"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515185360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569050688": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510074592"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510074592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051024": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510075488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510075488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051360": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569051696": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052032": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052704": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510076608"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569227216"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510076608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569227216": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053040": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510077840"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510077840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569053376": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510078736"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569232928"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510078736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569232928": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053712": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510079744"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510079744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054048": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510080976"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510080976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054384": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510081872"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569010528"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510081872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010528": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569054720": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510082656"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510082656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569055056": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510083776"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510083776": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569336864": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510370512"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510370512": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055392": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510084784"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510084784": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055728": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086016"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086016": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220160": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086912"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086912": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220496": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510087696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510087696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569220832": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510088592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569765648"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510088592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569765648": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569221168": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510089488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510089488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569221504": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510238432"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569234608"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510238432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569234608": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569221840": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510239552"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510239552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569222176": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510240672"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010304"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510240672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010304": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569222512": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510241344"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510241344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569222848": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510243024"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010080"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569015792"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510243024": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569015792": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042569223184": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510244592"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569224864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510244592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569223856": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510247504"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016016"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016128"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016240"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510247504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016016": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016128": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016240": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569224528": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510250080"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510250080": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225200": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510252096"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510252096": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225536": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510253104"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510253104": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569226208": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226544": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226880": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569227552": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569227888": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569228560": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569228896": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229232": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229568": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229904": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230240": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230576": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230912": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231248": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231584": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231920": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232256": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232592": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569233264": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233600": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233936": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234272": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234944": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235280": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235616": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235952": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569334848": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335184": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335520": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335856": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336192": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336528": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569339552": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510378688"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569340224"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510378688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569340224": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379360"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569339888"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017136"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510379360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339888": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569017136": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569340560": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379472"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379472": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569340896": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379808"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017248"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042569341232": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380144"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569341568": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380480"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017584"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569341904": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510381264"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017696"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510381264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342240": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382048"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382048": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569342576": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017808"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017920"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017808": {"type": "Union", "items": [{"nodeId": "140042569339888"}, {"nodeId": "N"}]}, "140042569017920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342912": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382496"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382496": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042573220208": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}, {"nodeId": "140042577642880"}], "isAbstract": false}, "140042573220880": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709536"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709984"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710432"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710880"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644709536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031296"}], "returnType": {"nodeId": "140042561031408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031296": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042561031408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031520"}], "returnType": {"nodeId": "140042561031632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031520": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042561031632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042561031744"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573221216": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573220880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711328"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711776"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712224"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712672"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713120"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713568"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644711328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}], "returnType": {"nodeId": "140042573220880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644711776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031856": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644712224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031968": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032080": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644713120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573221552": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714016"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527174080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714912"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715360"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715808"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042573220880"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042569526496": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042568907040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042568906816"}]}, "140042568906816": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042644714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032304"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561032528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140042561032304": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042561032528": {"type": "Union", "items": [{"nodeId": "140042561032416"}, {"nodeId": "N"}]}, "140042561032416": {"type": "TypeAlias", "target": {"nodeId": "140042586011040"}}, "140042586011040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042527174080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032640"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644715360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644715808": {"type": "Function", "typeVars": [".-1.140042644715808"], "argTypes": [{"nodeId": ".-1.140042644715808"}], "returnType": {"nodeId": ".-1.140042644715808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644715808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644715808", "variance": "INVARIANT"}, "140042573221888": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716256"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716704"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644717152"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652320"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652768"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644716256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140042561032752": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644716704": {"type": "Function", "typeVars": [".-1.140042644716704"], "argTypes": [{"nodeId": ".-1.140042644716704"}], "returnType": {"nodeId": ".-1.140042644716704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644716704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644716704", "variance": "INVARIANT"}, "140042644717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573222224": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653216"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654112"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644653216": {"type": "Function", "typeVars": [".-1.140042644653216"], "argTypes": [{"nodeId": ".-1.140042644653216"}], "returnType": {"nodeId": ".-1.140042644653216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644653216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644653216", "variance": "INVARIANT"}, "140042644653664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644654112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573222560": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655456"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644654560": {"type": "Function", "typeVars": [".-1.140042644654560"], "argTypes": [{"nodeId": ".-1.140042644654560"}], "returnType": {"nodeId": ".-1.140042644654560"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644654560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644654560", "variance": "INVARIANT"}, "140042644655008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644655456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042561032976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032976": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573222896": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655904"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656352"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573222224"}, {"nodeId": "140042573222560"}], "isAbstract": false}, "140042644655904": {"type": "Function", "typeVars": [".-1.140042644655904"], "argTypes": [{"nodeId": ".-1.140042644655904"}], "returnType": {"nodeId": ".-1.140042644655904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644655904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644655904", "variance": "INVARIANT"}, "140042644656352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223232": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657248"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042644656800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042573220880"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140042644657248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573224240": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042644667104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}, {"nodeId": "140042561034096"}, {"nodeId": "140042561034208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140042561034096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561034208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042644667552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569637824": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644668000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640113952"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527778720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640114848"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": false}, "140042644668000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140042561034320": {"type": "Union", "items": [{"nodeId": "140042568800560"}, {"nodeId": "N"}]}, "140042568800560": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611212576"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518854368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213472"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213920"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214368"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042611212576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518854368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042611213472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611213920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "140042556825312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556825312": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042611214368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556825536": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042640113952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034544"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042561034544": {"type": "Union", "items": [{"nodeId": "140042561034432"}, {"nodeId": "140042577367376"}]}, "140042561034432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042527778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}], "returnType": {"nodeId": "140042561034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561034656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042640114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561034880": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042573228608": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573229280": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531331136"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042531331136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229280"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573229616": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118208"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118656"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531377376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640119552"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531380736"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042640118208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640118656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258544": {"type": "Union", "items": [{"nodeId": "140042578053488"}, {"nodeId": "N"}]}, "140042531377376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640119552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042531380736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561258880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140042561258880": {"type": "Union", "items": [{"nodeId": "140042561258768"}, {"nodeId": "140042577367376"}]}, "140042561258768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573229952": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531374464"}}], "typeVars": [], "bases": [{"nodeId": "140042573229616"}], "isAbstract": true}, "140042531374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042573230288": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640120896"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121344"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121792"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122240"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640120896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640121344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140042640121792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640122240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573230624": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122688"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123136"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123584"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640122688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259216"}], "returnType": {"nodeId": "140042561259328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042561259216": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259328": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640123136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640123584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259440"}, {"nodeId": "140042561259552"}], "returnType": {"nodeId": "140042561259664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042561259440": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259552": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561259664": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573230960": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124032"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124480"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124928"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125376"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640124032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561259776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561259776": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561260112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561260112": {"type": "Tuple", "items": [{"nodeId": "140042561259888"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042561259888": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640125376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561260224"}], "returnType": {"nodeId": "140042561260336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140042561260224": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561260336": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573231296": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126272"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126720"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640127168"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640125824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042640126272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640126720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260448"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640127168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260560"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573231632": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531417312"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531416416"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531415744"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531414400"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042531417312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531416416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531415744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042531414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573231968": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531413504"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531406784"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531319232"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531321248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561258208"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531320128"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531529312"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531532224"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531531328"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140042531413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531319232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573231968"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140042561258208": {"type": "Overloaded", "items": [{"nodeId": "140042640197888"}, {"nodeId": "140042640198336"}, {"nodeId": "140042640198784"}, {"nodeId": "140042640199232"}, {"nodeId": "140042640199680"}, {"nodeId": "140042640200128"}, {"nodeId": "140042640200576"}]}, "140042640197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561260784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561260896"}, {"nodeId": "140042561261008"}, {"nodeId": "140042561261120"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561260784": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042568901776": {"type": "Union", "items": [{"nodeId": "140042568903680"}, {"nodeId": "140042568903792"}, {"nodeId": "140042568901664"}]}, "140042568903680": {"type": "TypeAlias", "target": {"nodeId": "140042568901216"}}, "140042568901216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568903792": {"type": "TypeAlias", "target": {"nodeId": "140042568903344"}}, "140042568903344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568901664": {"type": "TypeAlias", "target": {"nodeId": "140042568905360"}}, "140042568905360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042561260896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640198336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261344"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261344": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042569008288": {"type": "Union", "items": [{"nodeId": "140042568906592"}, {"nodeId": "140042568906704"}, {"nodeId": "140042569007280"}]}, "140042568906592": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042568905584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568906704": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042569008400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042569007280": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042569008176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042640198784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261456"}, {"nodeId": "140042561262800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261456": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042561262800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561264032"}, {"nodeId": "140042561264144"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561264032": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042561264144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561265152"}, {"nodeId": "140042561261904"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561265152": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042561261904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640200128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561262912"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262912": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042640200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561262464"}, {"nodeId": "140042561264256"}, {"nodeId": "140042561265040"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561264256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561265040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042531320128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531529312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042531532224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531531328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561263136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042561263136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573232304": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527175648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203264"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203712"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204160"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204608"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140042573231632"}], "isAbstract": true}, "140042527175648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640203264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640203712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640204160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640204608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569629760": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057440"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057888"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056992"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056544"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056096"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779616"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779168"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527777376"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776928"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042523057440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041936"}], "returnType": {"nodeId": "140042561042048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561041936": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042048": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042523057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042160"}, {"nodeId": "140042561042272"}], "returnType": {"nodeId": "140042561042384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042160": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042272": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561042384": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042523056992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042527777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561042496"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561042496": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527776928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630096": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527775584"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772224"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774464"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771104"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772448"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527773792"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774016"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771776"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769312"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042527775584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042608"}], "returnType": {"nodeId": "140042561042720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561042608": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042720": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527772224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042832"}, {"nodeId": "140042561042944"}], "returnType": {"nodeId": "140042561043056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042832": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042944": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043056": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527774464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527771104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527772448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527773792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527774016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140042527771776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561043168"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561043168": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527769312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630432": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769536"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527768640"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": false}, "140042527769536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043280"}], "returnType": {"nodeId": "140042561043392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561043280": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043392": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527768640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043504"}, {"nodeId": "140042561043616"}], "returnType": {"nodeId": "140042561043728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043504": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043616": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043728": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573228272": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527667168"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668288"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668736"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527666048"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042527667168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042527668288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140042569350304": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611674464"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522734240"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042564603680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042611674464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}, {"nodeId": "140042561038912"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140042561038912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522734240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573227600": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677152"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677600"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140042573227264"}], "isAbstract": false}, "140042611676704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042569636816": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585572736"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585573184"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531116576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574080"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574528"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585575872"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576320"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576768"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577216"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577664"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578112"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578560"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579008"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579456"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579904"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580352"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580800"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585581248"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522272"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585584832"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585280"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585728"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586176"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586624"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585587072"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703360"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703808"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704256"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704704"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705152"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705600"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585706048"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531119040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707392"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707840"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708288"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709184"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709632"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710080"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710976"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042560555712": {"type": "Function", "typeVars": [".-1.140042560555712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527872"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042560555712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140042560527872": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560555712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555712", "variance": "INVARIANT"}, "140042585572736": {"type": "Function", "typeVars": [".-1.140042585572736"], "argTypes": [{"nodeId": ".-1.140042585572736"}], "returnType": {"nodeId": ".-1.140042585572736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042585572736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585572736", "variance": "INVARIANT"}, "140042585573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528096"}, {"nodeId": "140042560528208"}, {"nodeId": "140042560528320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042560528096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042560528208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042560528320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042531116576": {"type": "Function", "typeVars": [".-1.140042531116576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531116576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531116576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531116576", "variance": "INVARIANT"}, "140042585574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560528432"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560528432": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585574528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140042585575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585576320": {"type": "Function", "typeVars": [".-1.140042585576320"], "argTypes": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585576320", "variance": "INVARIANT"}, "140042585576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579904": {"type": "Function", "typeVars": [".-1.140042585579904"], "argTypes": [{"nodeId": ".-1.140042585579904"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585579904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585579904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585579904", "variance": "INVARIANT"}, "140042585580352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140042585580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042560528544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560528544": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140042560522272": {"type": "Overloaded", "items": [{"nodeId": "140042585581696"}, {"nodeId": "140042585582144"}, {"nodeId": "140042585582592"}, {"nodeId": "140042585583040"}, {"nodeId": "140042585583488"}, {"nodeId": "140042585583936"}, {"nodeId": "140042585584384"}]}, "140042585581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528768"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560528880"}, {"nodeId": "140042560528992"}, {"nodeId": "140042560529104"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560528768": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042560528880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560528992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529328"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529328": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585582592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529440"}, {"nodeId": "140042560530784"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529440": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042560530784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560532016"}, {"nodeId": "140042560532128"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560532016": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042560532128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533136"}, {"nodeId": "140042560529888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560533136": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042560529888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530896"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530896": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585584384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560530448"}, {"nodeId": "140042560532240"}, {"nodeId": "140042560533024"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560532240": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560533024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585584832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585586176": {"type": "Function", "typeVars": [".-1.140042585586176"], "argTypes": [{"nodeId": ".-1.140042585586176"}], "returnType": {"nodeId": ".-1.140042585586176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585586176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586176", "variance": "INVARIANT"}, "140042585586624": {"type": "Function", "typeVars": [".-1.140042585586624"], "argTypes": [{"nodeId": ".-1.140042585586624"}, {"nodeId": "140042560531120"}], "returnType": {"nodeId": ".-1.140042585586624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585586624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586624", "variance": "INVARIANT"}, "140042560531120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042569635808": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060448"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060000"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060224"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059552"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059328"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059104"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058880"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560553920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608448"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590610240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554592"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554816"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590611584"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612032"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612480"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612928"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613376"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613824"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590614272"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554368"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615168"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615616"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590616064"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555488"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531053280"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585571840"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560553920": {"type": "Function", "typeVars": [".-1.140042560553920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527088"}], "returnType": {"nodeId": ".-1.140042560553920"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042560527088": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560553920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560553920", "variance": "INVARIANT"}, "140042590608000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590608448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590608896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590610240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560554592": {"type": "Function", "typeVars": [".-1.140042560554592"], "argTypes": [{"nodeId": ".-1.140042560554592"}, {"nodeId": "140042560527200"}], "returnType": {"nodeId": ".-1.140042560554592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554592", "variance": "INVARIANT"}, "140042560527200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042560554816": {"type": "Function", "typeVars": [".-1.140042560554816"], "argTypes": [{"nodeId": ".-1.140042560554816"}, {"nodeId": "140042560527312"}], "returnType": {"nodeId": ".-1.140042560554816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554816", "variance": "INVARIANT"}, "140042560527312": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042560527424"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042560527424": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140042560554368": {"type": "Function", "typeVars": [".-1.140042560554368"], "argTypes": [{"nodeId": ".-1.140042560554368"}, {"nodeId": "140042560527536"}], "returnType": {"nodeId": ".-1.140042560554368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560554368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554368", "variance": "INVARIANT"}, "140042560527536": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590615168": {"type": "Function", "typeVars": [".-1.140042590615168"], "argTypes": [{"nodeId": ".-1.140042590615168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140042590615168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615168", "variance": "INVARIANT"}, "140042590615616": {"type": "Function", "typeVars": [".-1.140042590615616"], "argTypes": [{"nodeId": ".-1.140042590615616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140042590615616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615616", "variance": "INVARIANT"}, "140042590616064": {"type": "Function", "typeVars": [".-1.140042590616064"], "argTypes": [{"nodeId": ".-1.140042590616064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042590616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590616064", "variance": "INVARIANT"}, "140042560555488": {"type": "Function", "typeVars": [".-1.140042560555488"], "argTypes": [{"nodeId": ".-1.140042560555488"}, {"nodeId": "140042560527648"}], "returnType": {"nodeId": ".-1.140042560555488"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560555488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555488", "variance": "INVARIANT"}, "140042560527648": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042531053280": {"type": "Function", "typeVars": [".-1.140042531053280"], "argTypes": [{"nodeId": ".-1.140042531053280"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".-1.140042531053280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531053280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531053280", "variance": "INVARIANT"}, "140042531055520": {"type": "Function", "typeVars": [".-1.140042531055520"], "argTypes": [{"nodeId": ".-1.140042531055520"}], "returnType": {"nodeId": ".-1.140042531055520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531055520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531055520", "variance": "INVARIANT"}, "140042585571840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140042585587072": {"type": "Function", "typeVars": [".-1.140042585587072"], "argTypes": [{"nodeId": ".-1.140042585587072"}, {"nodeId": "140042560533808"}], "returnType": {"nodeId": ".-1.140042585587072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585587072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585587072", "variance": "INVARIANT"}, "140042560533808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042585703360": {"type": "Function", "typeVars": [".-1.140042585703360"], "argTypes": [{"nodeId": ".-1.140042585703360"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042585703360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140042585703360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703360", "variance": "INVARIANT"}, "140042585703808": {"type": "Function", "typeVars": [".-1.140042585703808"], "argTypes": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585703808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703808", "variance": "INVARIANT"}, "140042585704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531008"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140042560531008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140042585706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140042531119040": {"type": "Function", "typeVars": [".-1.140042531119040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531119040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531119040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531119040", "variance": "INVARIANT"}, "140042585707392": {"type": "Function", "typeVars": [".-1.140042585707392"], "argTypes": [{"nodeId": ".-1.140042585707392"}], "returnType": {"nodeId": ".-1.140042585707392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707392", "variance": "INVARIANT"}, "140042585707840": {"type": "Function", "typeVars": [".-1.140042585707840"], "argTypes": [{"nodeId": ".-1.140042585707840"}], "returnType": {"nodeId": ".-1.140042585707840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707840", "variance": "INVARIANT"}, "140042585708288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585708736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533920"}, {"nodeId": "140042560529776"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042560533920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585709184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530224"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140042560530224": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042585709632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042560530336": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042585710080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560531232"}, {"nodeId": "140042560531456"}, {"nodeId": "140042560531568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140042560531232": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585710976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531680": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042611677152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561039136": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042611677600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039248"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561039248": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042573227264": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737824"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737376"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036224"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736704"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736032"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736928"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735808"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735584"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735360"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735136"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042522737824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561038016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561038016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522737376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042561038128"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561038128": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573227264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140042561036224": {"type": "Overloaded", "items": [{"nodeId": "140042611718432"}, {"nodeId": "140042611718880"}]}, "140042611718432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140042611718880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140042561038352"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140042561038352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561038576"}], "returnType": {"nodeId": "140042573227600"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140042561038576": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573224576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224576": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590422848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522824480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140042590422848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590423744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590424192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590424640": {"type": "Function", "typeVars": [".-1.140042590424640"], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590424640"}], "returnType": {"nodeId": "140042561035664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590424640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590424640", "variance": "INVARIANT"}, "140042561035664": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140042590424640"}]}, "140042522824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042561035776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561035776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042522736928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573226256": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711264"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711712"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522758944"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522760960"}}], "typeVars": [], "bases": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573244768"}]}], "isAbstract": false}, "140042611711264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042561036896"}], "returnType": {"nodeId": "140042561037680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561036896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042561037680": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042569524592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611711712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042522758944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522760960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573244768": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042522735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522735584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038688": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042569638160"}]}, {"nodeId": "N"}]}, "140042569638160": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715296"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715744"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716192"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569524368"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526384"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573227264"}}], "typeVars": [], "bases": [{"nodeId": "140042569636144"}], "isAbstract": false}, "140042611715296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042611715744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611716192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569524368": {"type": "Union", "items": [{"nodeId": "140042573226928"}, {"nodeId": "N"}]}, "140042573226928": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716640"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042611716640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226928"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042569526384": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569636144": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042522735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042522735136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043840"}, {"nodeId": "140042561043952"}], "returnType": {"nodeId": "140042561044064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043840": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561044064": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561044176"}], "returnType": {"nodeId": "140042561044288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561044176": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561044288": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569630768": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319072"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527664704"}}], "typeVars": [], "bases": [{"nodeId": "140042573230960"}], "isAbstract": false}, "140042640319072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569630768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140042561257648": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042561257872"}], "returnType": {"nodeId": "140042560946912"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140042561257872": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042560946912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573230960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569631104": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319968"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042640319968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140042561257984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569631440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042569631776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320864"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321312"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321760"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322208"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322656"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640323104"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042573229952"}], "isAbstract": false}, "140042640320416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140042640320864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042561258096"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561258096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640321312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640321760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042640322208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640322656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640323104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578066256": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324672"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "readline"]}, "140042640324224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578066928": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573217856": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218192": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218528": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586009696"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586003424"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625664"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640626560"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627008"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627456"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586009696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140042573001472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573001472": {"type": "TypeAlias", "target": {"nodeId": "140042573236928"}}, "140042573236928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573004608"}, {"nodeId": "140042573234800"}, {"nodeId": "140042573235696"}, {"nodeId": "140042573236816"}]}, "140042573004608": {"type": "Tuple", "items": [{"nodeId": "140042577222944"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042577222944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573234800": {"type": "Tuple", "items": [{"nodeId": "140042577223392"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140042577223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235696": {"type": "Tuple", "items": [{"nodeId": "140042586011712"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573235584"}]}, "140042586011712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235584": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236816": {"type": "Tuple", "items": [{"nodeId": "140042586011264"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573236480"}, {"nodeId": "140042573236704"}]}, "140042586011264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573236480": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236704": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042586003424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573218864": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042586008128"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640628800"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629248"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629696"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586008128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640627904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042578066256"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560526304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140042560526304": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042640628800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640629248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640629696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140042640625216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560525408"}, {"nodeId": "140042782776944"}, {"nodeId": "140042560525520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140042560525408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042560525520": {"type": "TypeAlias", "target": {"nodeId": "140042572996208"}}, "140042572996208": {"type": "Union", "items": [{"nodeId": "140042577225184"}, {"nodeId": "N"}]}, "140042577225184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640625664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640626560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640627008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640627456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042498340704": {"type": "Concrete", "module": "__future__", "simpleName": "_Feature", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optionalRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mandatoryRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893856"}, "name": "getOptionalRelease"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640894304"}, "name": "getMandatoryRelease"}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}, {"nodeId": "140042485582528"}, {"nodeId": "140042485582752"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "optionalRelease", "mandatoryRelease", "compiler_flag"]}, "140042485582528": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042485581744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042485582752": {"type": "Union", "items": [{"nodeId": "140042485582640"}, {"nodeId": "N"}]}, "140042485582640": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485582864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485582864": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485583088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485583088": {"type": "Union", "items": [{"nodeId": "140042485582976"}, {"nodeId": "N"}]}, "140042485582976": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042464395328": {"type": "Concrete", "module": "numpy.ma.mrecords", "simpleName": "MaskedRecords", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "options", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640922256"}, "name": "__new__"}, {"kind": "Variable", "name": "_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228512"}}, {"kind": "Variable", "name": "_fieldmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923072"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923344"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923616"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923888"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924160"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924432"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924704"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924976"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925248"}, "name": "soften_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925792"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640926064"}, "name": "__reduce__"}], "typeVars": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "isAbstract": false}, "140042640922256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["cls", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "mask", "hard_mask", "fill_value", "keep_mask", "copy", "options"]}, "140042519228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042464395328": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042464395328", "variance": "INVARIANT"}, ".2.140042464395328": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042464395328", "variance": "COVARIANT"}, "140042519228960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640923344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640923616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640923888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042640924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640924432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042640924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042640924976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042640926064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498336672": {"type": "Concrete", "module": "zipfile", "simpleName": "BadZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337008": {"type": "Concrete", "module": "zipfile", "simpleName": "LargeZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337344": {"type": "Protocol", "module": "zipfile", "simpleName": "_ZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640896992"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042640896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498337680": {"type": "Protocol", "module": "zipfile", "simpleName": "_SupportsReadSeekTell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897440"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897888"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898336"}, "name": "tell"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek", "tell"]}, "140042640897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042640897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338016": {"type": "Protocol", "module": "zipfile", "simpleName": "_ClosableZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898784"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042498337344"}], "protocolMembers": ["close", "read"]}, "140042640898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338016"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338352": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipExtFile", "members": [{"kind": "Variable", "name": "MAX_N", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MIN_READ_SIZE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MAX_SEEK_READ", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485118480"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485119040"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636067552"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "limit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068000"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068448"}, "name": "peek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068896"}, "name": "read1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069344"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042485118480": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485115344": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119040": {"type": "Overloaded", "items": [{"nodeId": "140042640899232"}, {"nodeId": "140042640899680"}, {"nodeId": "140042636067104"}]}, "140042640899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119712"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485115120"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119712": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115120": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042640899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119936"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119600"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119936": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119600": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498337344"}, {"nodeId": "140042485120272"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119824"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485120272": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119824": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120608"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042485120608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636068000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "limit"]}, "140042636068448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042636068896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n"]}, "140042485120160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636069344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042498339360": {"type": "Concrete", "module": "zipfile", "simpleName": "PyZipFile", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optimize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filterfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079648"}, "name": "writepy"}], "typeVars": [], "bases": [{"nodeId": "140042498339024"}], "isAbstract": false}, "140042636079200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042485616080"}, {"nodeId": "140042485616192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "optimize"]}, "140042485616080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485616192": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042636079648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pathname", "basename", "filterfunc"]}, "140042485616528": {"type": "Union", "items": [{"nodeId": "140042485457952"}, {"nodeId": "N"}]}, "140042485457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498340032": {"type": "Protocol", "module": "zipfile", "simpleName": "_PathOpenProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636082336"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042636082336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340032"}, {"nodeId": "140042485616976"}, {"nodeId": "140042485617088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "pwd", "force_zip64"]}, "140042485616976": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485617088": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498340368": {"type": "Concrete", "module": "zipfile", "simpleName": "Path", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360544"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360096"}}, {"kind": "Variable", "name": "filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485359424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636265952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636266400"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267296"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267744"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268640"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269088"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269536"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269984"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636270880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485360544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485359424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636265952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "root", "at"]}, "140042485617312": {"type": "Union", "items": [{"nodeId": "140042498339024"}, {"nodeId": "140042485617200"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485617200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636266400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617424"}, {"nodeId": "A"}, {"nodeId": "140042485617648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "mode", "args", "pwd", "kwargs"]}, "140042485617424": {"type": "TypeAlias", "target": {"nodeId": "140042485116352"}}, "140042485116352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485617648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636267296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042498340368"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636267744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618096"}, {"nodeId": "140042485618208"}, {"nodeId": "140042485617872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042485618096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485618208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485617872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636269536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617984"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042485617984": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636270880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618320"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042485618320": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042498331632": {"type": "Concrete", "module": "ast", "simpleName": "_ABC", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272224"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042636272224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331632"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042498331968": {"type": "Concrete", "module": "ast", "simpleName": "Num", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042484919408"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042484919408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042498332304": {"type": "Concrete", "module": "ast", "simpleName": "Str", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332640": {"type": "Concrete", "module": "ast", "simpleName": "Bytes", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332976": {"type": "Concrete", "module": "ast", "simpleName": "NameConstant", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333312": {"type": "Concrete", "module": "ast", "simpleName": "Ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333648": {"type": "Concrete", "module": "ast", "simpleName": "slice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042498333984": {"type": "Concrete", "module": "ast", "simpleName": "ExtSlice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334320": {"type": "Concrete", "module": "ast", "simpleName": "Index", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334656": {"type": "Concrete", "module": "ast", "simpleName": "Suite", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042498334992": {"type": "Concrete", "module": "ast", "simpleName": "AugLoad", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335328": {"type": "Concrete", "module": "ast", "simpleName": "AugStore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335664": {"type": "Concrete", "module": "ast", "simpleName": "Param", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498336000": {"type": "Concrete", "module": "ast", "simpleName": "NodeVisitor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272672"}, "name": "visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273120"}, "name": "generic_visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273568"}, "name": "visit_Module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274016"}, "name": "visit_Interactive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274464"}, "name": "visit_Expression"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274912"}, "name": "visit_FunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275360"}, "name": "visit_AsyncFunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275808"}, "name": "visit_ClassDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276256"}, "name": "visit_Return"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276704"}, "name": "visit_Delete"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277152"}, "name": "visit_Assign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277600"}, "name": "visit_AugAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278048"}, "name": "visit_AnnAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278496"}, "name": "visit_For"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278944"}, "name": "visit_AsyncFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636279392"}, "name": "visit_While"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636607776"}, "name": "visit_If"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608224"}, "name": "visit_With"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608672"}, "name": "visit_AsyncWith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609120"}, "name": "visit_Raise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609568"}, "name": "visit_Try"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610016"}, "name": "visit_Assert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610464"}, "name": "visit_Import"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610912"}, "name": "visit_ImportFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611360"}, "name": "visit_Global"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611808"}, "name": "visit_Nonlocal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612256"}, "name": "visit_Expr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612704"}, "name": "visit_Pass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613152"}, "name": "visit_Break"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613600"}, "name": "visit_Continue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614048"}, "name": "visit_Slice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614496"}, "name": "visit_BoolOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614944"}, "name": "visit_BinOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615392"}, "name": "visit_UnaryOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615840"}, "name": "visit_Lambda"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616288"}, "name": "visit_IfExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616736"}, "name": "visit_Dict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617184"}, "name": "visit_Set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617632"}, "name": "visit_ListComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618080"}, "name": "visit_SetComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618528"}, "name": "visit_DictComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618976"}, "name": "visit_GeneratorExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619424"}, "name": "visit_Await"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619872"}, "name": "visit_Yield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620320"}, "name": "visit_YieldFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620768"}, "name": "visit_Compare"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621216"}, "name": "visit_Call"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621664"}, "name": "visit_FormattedValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622112"}, "name": "visit_JoinedStr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622560"}, "name": "visit_Constant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623008"}, "name": "visit_NamedExpr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623456"}, "name": "visit_TypeIgnore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706080"}, "name": "visit_Attribute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706528"}, "name": "visit_Subscript"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706976"}, "name": "visit_Starred"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707424"}, "name": "visit_Name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707872"}, "name": "visit_List"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708320"}, "name": "visit_Tuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708768"}, "name": "visit_Del"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709216"}, "name": "visit_Load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709664"}, "name": "visit_Store"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710112"}, "name": "visit_And"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710560"}, "name": "visit_Or"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711008"}, "name": "visit_Add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711456"}, "name": "visit_BitAnd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711904"}, "name": "visit_BitOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712352"}, "name": "visit_BitXor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712800"}, "name": "visit_Div"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713248"}, "name": "visit_FloorDiv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713696"}, "name": "visit_LShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714144"}, "name": "visit_Mod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714592"}, "name": "visit_Mult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715040"}, "name": "visit_MatMult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715488"}, "name": "visit_Pow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715936"}, "name": "visit_RShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716384"}, "name": "visit_Sub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716832"}, "name": "visit_Invert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717280"}, "name": "visit_Not"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717728"}, "name": "visit_UAdd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718176"}, "name": "visit_USub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718624"}, "name": "visit_Eq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719072"}, "name": "visit_Gt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719520"}, "name": "visit_GtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719968"}, "name": "visit_In"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720416"}, "name": "visit_Is"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720864"}, "name": "visit_IsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721312"}, "name": "visit_Lt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721760"}, "name": "visit_LtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837152"}, "name": "visit_NotEq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837600"}, "name": "visit_NotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838048"}, "name": "visit_comprehension"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838496"}, "name": "visit_ExceptHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838944"}, "name": "visit_arguments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839392"}, "name": "visit_arg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839840"}, "name": "visit_keyword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840288"}, "name": "visit_alias"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840736"}, "name": "visit_withitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841184"}, "name": "visit_Match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841632"}, "name": "visit_MatchValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842080"}, "name": "visit_MatchSequence"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842528"}, "name": "visit_MatchStar"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842976"}, "name": "visit_MatchMapping"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843424"}, "name": "visit_MatchClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843872"}, "name": "visit_MatchAs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636844320"}, "name": "visit_MatchOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845216"}, "name": "visit_ExtSlice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845664"}, "name": "visit_Index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846112"}, "name": "visit_Suite"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846560"}, "name": "visit_AugLoad"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847008"}, "name": "visit_AugStore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847456"}, "name": "visit_Param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847904"}, "name": "visit_Num"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848352"}, "name": "visit_Str"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848800"}, "name": "visit_Bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849248"}, "name": "visit_NameConstant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849696"}, "name": "visit_Ellipsis"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042636272672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636279392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636607776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048000"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050352"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050688"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569041952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225200"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228896"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231584"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232256"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233264"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235616"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569334848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569340560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636844320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498331968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042498336336": {"type": "Concrete", "module": "ast", "simpleName": "NodeTransformer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636850144"}, "name": "generic_visit"}], "typeVars": [], "bases": [{"nodeId": "140042498336000"}], "isAbstract": false}, "140042636850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336336"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "140042569040944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042468642480": {"type": "Concrete", "module": "numpy.lib.mixins", "simpleName": "NDArrayOperatorsMixin", "members": [{"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042405942144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632065792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066240"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067136"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593472"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594368"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594816"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595264"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596608"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597056"}, "name": "__matmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597504"}, "name": "__rmatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597952"}, "name": "__imatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598400"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599296"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599744"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600192"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600640"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601088"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601536"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601984"}, "name": "__imod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602432"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602880"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603328"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603776"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604224"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604672"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605120"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605568"}, "name": "__ilshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606016"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606464"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606912"}, "name": "__irshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607360"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607808"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608256"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608704"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632609152"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675392"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676288"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676736"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677184"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677632"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678080"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678528"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042405942144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "140042468234560"}, {"nodeId": "140042447564896"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042447564896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042632065792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042632603328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632603776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632609152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632677184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632677632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498330288": {"type": "Protocol", "module": "math", "simpleName": "_SupportsCeil", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627592288"}, "name": "__ceil__"}], "typeVars": [{"nodeId": ".1.140042498330288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ceil__"]}, "140042627592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330288", "args": [{"nodeId": ".1.140042498330288"}]}], "returnType": {"nodeId": ".1.140042498330288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330288", "variance": "COVARIANT"}, "140042498330624": {"type": "Protocol", "module": "math", "simpleName": "_SupportsFloor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627813152"}, "name": "__floor__"}], "typeVars": [{"nodeId": ".1.140042498330624"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__floor__"]}, "140042627813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330624", "args": [{"nodeId": ".1.140042498330624"}]}], "returnType": {"nodeId": ".1.140042498330624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330624", "variance": "COVARIANT"}, "140042498330960": {"type": "Protocol", "module": "math", "simpleName": "_SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627911456"}, "name": "__trunc__"}], "typeVars": [{"nodeId": ".1.140042498330960"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042627911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330960", "args": [{"nodeId": ".1.140042498330960"}]}], "returnType": {"nodeId": ".1.140042498330960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330960", "variance": "COVARIANT"}, "140042472656560": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065712"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065984"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628065440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "funcname"]}, "140042628065712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628065984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042472656896": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_single", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066256"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656896"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657232": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_seq", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066528"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657232"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657568": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_allargs", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066800"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468651552": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "MAxisConcatenator", "members": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042519193952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628203920"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042519193952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042628203920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651552"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468651888": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "mr_class", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628204192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042468651552"}], "isAbstract": false}, "140042628204192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480729584": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArrayFutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654976"}], "isAbstract": false}, "140042472653536": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUFunc", "members": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209088"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653536"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc"]}, "140042472653872": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUnaryOperation", "members": [{"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mufunc", "fill", "domain"]}, "140042628209632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "kwargs"]}, "140042472654208": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedBinaryOperation", "members": [{"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210176"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210448"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210720"}, "name": "outer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210992"}, "name": "accumulate"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mbfunc", "fillx", "filly"]}, "140042628210176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042628210448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "target", "axis", "dtype"]}, "140042628210720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042628210992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042472654544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_DomainedBinaryOperation", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211536"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628211264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dbfunc", "domain", "fillx", "filly"]}, "140042628211536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042472654880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedPrintOption", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "display", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217520"}, "name": "display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217792"}, "name": "set_display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218064"}, "name": "enabled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218336"}, "name": "enable"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628217248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "display"]}, "140042628217520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628217792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "s"]}, "140042628218064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628218336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "shrink"]}, "140042472655216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedIterator", "members": [{"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dataiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maskiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631968"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632240"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632512"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623631424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ma"]}, "140042623631696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623631968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623632240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468651216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedConstant", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807504"}, "name": "__new__"}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807776"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808048"}, "name": "__array_prepare__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808320"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808592"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808864"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809136"}, "name": "__iop__"}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809408"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809680"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809952"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623810224"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042469103024"}]}]}], "isAbstract": false}, "140042623807504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042623807776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623808048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042623808864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623809680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "memo"]}, "140042623810224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "value"]}, "140042469103024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472655552": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_extrema_operation", "members": [{"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value_func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811040"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811312"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926336"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926608"}, "name": "outer"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042623811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc", "compare", "fill_value"]}, "140042623811312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042623926336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042623926608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042472655888": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_frommethod", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927696"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927968"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623928240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623927696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "methodname", "reversed"]}, "140042623927968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623928240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "params"]}, "140042472656224": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_convert2ma", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936672"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936944"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623936400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "funcname", "params"]}, "140042623936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623936944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468639456": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedlessSeedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624158624"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159072"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042624158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639456"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447460544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460320"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447460544": {"type": "Union", "items": [{"nodeId": "140042447458976"}, {"nodeId": "140042447461216"}]}, "140042447458976": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447461216": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460320": {"type": "Union", "items": [{"nodeId": "140042447460432"}, {"nodeId": "140042447461328"}]}, "140042447460432": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461328": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624159072": {"type": "Function", "typeVars": [".-1.140042624159072"], "argTypes": [{"nodeId": ".-1.140042624159072"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042624159072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042624159072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042624159072", "variance": "INVARIANT"}, "140042480724208": {"type": "Concrete", "module": "unittest.case", "simpleName": "FunctionTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testFunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setUp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tearDown", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "description", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545760"}, "name": "runTest"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594545312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}, {"nodeId": "140042489954592"}, {"nodeId": "140042476498144"}, {"nodeId": "140042476498480"}, {"nodeId": "140042476498704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "testFunc", "setUp", "tearDown", "description"]}, "140042489954592": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498144": {"type": "Union", "items": [{"nodeId": "140042489954368"}, {"nodeId": "N"}]}, "140042489954368": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498480": {"type": "Union", "items": [{"nodeId": "140042489937504"}, {"nodeId": "N"}]}, "140042489937504": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594545760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480723872": {"type": "Concrete", "module": "unittest.case", "simpleName": "TestCase", "members": [{"kind": "Variable", "name": "failureException", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "longMessage", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "maxDiff", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489861440"}}, {"kind": "Variable", "name": "_testMethodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_testMethodDoc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503712"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504160"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504608"}, "name": "setUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607505056"}, "name": "tearDown"}, {"kind": "Variable", "name": "setUpClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489999232"}}, {"kind": "Variable", "name": "tearDownClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490001696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506400"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506848"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507296"}, "name": "skipTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507744"}, "name": "subTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508192"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508640"}, "name": "_addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607509088"}, "name": "assertEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337056"}, "name": "assertNotEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337504"}, "name": "assertTrue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337952"}, "name": "assertFalse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338400"}, "name": "assertIs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338848"}, "name": "assertIsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339296"}, "name": "assertIsNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339744"}, "name": "assertIsNotNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340192"}, "name": "assertIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340640"}, "name": "assertNotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341088"}, "name": "assertIsInstance"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341536"}, "name": "assertNotIsInstance"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489861664"}, "items": [{"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreater"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489868608"}, "items": [{"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreaterEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487168"}, "items": [{"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLess"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487504"}, "items": [{"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLessEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487840"}, "items": [{"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488176"}, "items": [{"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaisesRegex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488512"}, "items": [{"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarns"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476489408"}, "items": [{"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarnsRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349152"}, "name": "assertLogs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349600"}, "name": "assertNoLogs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476490528"}, "items": [{"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertAlmostEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476491088"}, "items": [{"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertNotAlmostEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534112"}, "name": "assertRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unexpected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534560"}, "name": "assertNotRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535008"}, "name": "assertCountEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535456"}, "name": "addTypeEqualityFunc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535904"}, "name": "assertMultiLineEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536352"}, "name": "assertSequenceEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536800"}, "name": "assertListEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537248"}, "name": "assertTupleEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537696"}, "name": "assertSetEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538144"}, "name": "assertDictEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538592"}, "name": "fail"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539040"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539488"}, "name": "defaultTestResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539936"}, "name": "id"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540384"}, "name": "shortDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540832"}, "name": "addCleanup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594542176"}, "name": "doCleanups"}, {"kind": "Variable", "name": "addClassCleanup", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490002592"}}, {"kind": "Variable", "name": "doClassCleanups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476995520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standardMsg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594543968"}, "name": "_formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544416"}, "name": "_getAssertEqualityFunc"}, {"kind": "Variable", "name": "failUnlessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996192"}}, {"kind": "Variable", "name": "assertEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996864"}}, {"kind": "Variable", "name": "failIfEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997312"}}, {"kind": "Variable", "name": "assertNotEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997760"}}, {"kind": "Variable", "name": "failUnless", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998208"}}, {"kind": "Variable", "name": "assert_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998656"}}, {"kind": "Variable", "name": "failIf", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999104"}}, {"kind": "Variable", "name": "failUnlessRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476823136"}}, {"kind": "Variable", "name": "failUnlessAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029072"}}, {"kind": "Variable", "name": "assertAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029408"}}, {"kind": "Variable", "name": "failIfAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029744"}}, {"kind": "Variable", "name": "assertNotAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030080"}}, {"kind": "Variable", "name": "assertRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999776"}}, {"kind": "Variable", "name": "assertNotRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477000896"}}, {"kind": "Variable", "name": "assertRaisesRegexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dictionary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544864"}, "name": "assertDictContainsSubset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489861440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607503712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "methodName"]}, "140042607504160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607504608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607505056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042490001696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042607506400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489868720"}], "returnType": {"nodeId": "140042489868944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489868720": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042480722192": {"type": "Concrete", "module": "unittest.result", "simpleName": "TestResult", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489864912"}]}}, {"kind": "Variable", "name": "failures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865136"}]}}, {"kind": "Variable", "name": "skipped", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865360"}]}}, {"kind": "Variable", "name": "expectedFailures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865584"}]}}, {"kind": "Variable", "name": "unexpectedSuccesses", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "shouldStop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "testsRun", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459936"}, "name": "printErrors"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681120"}, "name": "wasSuccessful"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681568"}, "name": "stop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682016"}, "name": "startTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682464"}, "name": "stopTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682912"}, "name": "startTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683360"}, "name": "stopTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683808"}, "name": "addError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684256"}, "name": "addFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684704"}, "name": "addSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685152"}, "name": "addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685600"}, "name": "addExpectedFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686048"}, "name": "addUnexpectedSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686496"}, "name": "addSubTest"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489864912": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865136": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865360": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865584": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042607459488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042489866816"}, {"nodeId": "140042489863344"}, {"nodeId": "140042489867040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042489866816": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042489863344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489867040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594682016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867152": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042569013440": {"type": "Union", "items": [{"nodeId": "140042569012432"}, {"nodeId": "140042569013328"}]}, "140042569012432": {"type": "TypeAlias", "target": {"nodeId": "140042569012544"}}, "140042569012544": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}]}, "140042569013328": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042594684256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867264": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594684704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594685152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "reason"]}, "140042594685600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867376": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594686048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594686496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "subtest", "err"]}, "140042489867600": {"type": "Union", "items": [{"nodeId": "140042489867488"}, {"nodeId": "N"}]}, "140042489867488": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042489868944": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607506848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489869056"}], "returnType": {"nodeId": "140042489869168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489869056": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042489869168": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607507296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042607507744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "params"]}, "140042607508192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607508640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "result", "test_case", "reason"]}, "140042607509088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594337952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594338400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594338848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594339744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489871520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489871520": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489872080"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489872080": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486720"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486720": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489862000": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042489861552"}]}]}, "140042489861552": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042594341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486944": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489861664": {"type": "Overloaded", "items": [{"nodeId": "140042594341984"}, {"nodeId": "140042594342432"}]}, "140042594341984": {"type": "Function", "typeVars": [".-1.140042594341984"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594341984"}]}, {"nodeId": ".-1.140042594341984"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594341984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594341984", "variance": "INVARIANT"}, "140042594342432": {"type": "Function", "typeVars": [".-1.140042594342432"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594342432"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594342432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342432", "variance": "INVARIANT"}, "140042489868608": {"type": "Overloaded", "items": [{"nodeId": "140042594342880"}, {"nodeId": "140042594343328"}]}, "140042594342880": {"type": "Function", "typeVars": [".-1.140042594342880"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568803584", "args": [{"nodeId": ".-1.140042594342880"}]}, {"nodeId": ".-1.140042594342880"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342880", "variance": "INVARIANT"}, "140042594343328": {"type": "Function", "typeVars": [".-1.140042594343328"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594343328"}, {"nodeId": "140042568803248", "args": [{"nodeId": ".-1.140042594343328"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343328", "variance": "INVARIANT"}, "140042476487168": {"type": "Overloaded", "items": [{"nodeId": "140042594343776"}, {"nodeId": "140042594344224"}]}, "140042594343776": {"type": "Function", "typeVars": [".-1.140042594343776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594343776"}]}, {"nodeId": ".-1.140042594343776"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343776", "variance": "INVARIANT"}, "140042594344224": {"type": "Function", "typeVars": [".-1.140042594344224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594344224"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594344224"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344224", "variance": "INVARIANT"}, "140042476487504": {"type": "Overloaded", "items": [{"nodeId": "140042594344672"}, {"nodeId": "140042594345120"}]}, "140042594344672": {"type": "Function", "typeVars": [".-1.140042594344672"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594344672"}]}, {"nodeId": ".-1.140042594344672"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344672", "variance": "INVARIANT"}, "140042594345120": {"type": "Function", "typeVars": [".-1.140042594345120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594345120"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594345120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594345120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594345120", "variance": "INVARIANT"}, "140042476487840": {"type": "Overloaded", "items": [{"nodeId": "140042594345568"}, {"nodeId": "140042594346016"}]}, "140042594345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476488624"}, {"nodeId": "140042489963104"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476488624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489963104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346016": {"type": "Function", "typeVars": [".-1.140042594346016"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346016"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476489184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724544": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertRaisesContext", "members": [{"kind": "Variable", "name": "exception", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480724544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489965120"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594546656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042480724544"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480724544": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042480724544", "variance": "INVARIANT"}, "140042489965120": {"type": "Function", "typeVars": [".-1.140042489965120"], "argTypes": [{"nodeId": ".-1.140042489965120"}], "returnType": {"nodeId": ".-1.140042489965120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489965120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489965120", "variance": "INVARIANT"}, "140042594546656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724544", "args": [{"nodeId": ".1.140042480724544"}]}, {"nodeId": "140042476498816"}, {"nodeId": "140042476498928"}, {"nodeId": "140042476499040"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476498816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476498928": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499040": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594547104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, ".-1.140042594346016": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346016", "variance": "INVARIANT"}, "140042476488176": {"type": "Overloaded", "items": [{"nodeId": "140042594346464"}, {"nodeId": "140042594346912"}]}, "140042594346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489520"}, {"nodeId": "140042476489632"}, {"nodeId": "140042489955040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042476489520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476489632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346912": {"type": "Function", "typeVars": [".-1.140042594346912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490192"}, {"nodeId": "140042476490304"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042476490192": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476490304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042594346912": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346912", "variance": "INVARIANT"}, "140042476488512": {"type": "Overloaded", "items": [{"nodeId": "140042594347360"}, {"nodeId": "140042594347808"}]}, "140042594347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490640"}, {"nodeId": "140042489959520"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "callable", "args", "kwargs"]}, "140042476490640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489959520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594347808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490752"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "msg"]}, "140042476490752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724880": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertWarnsContext", "members": [{"kind": "Variable", "name": "warning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480718496"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489957056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594548000"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489957056": {"type": "Function", "typeVars": [".-1.140042489957056"], "argTypes": [{"nodeId": ".-1.140042489957056"}], "returnType": {"nodeId": ".-1.140042489957056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489957056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489957056", "variance": "INVARIANT"}, "140042594548000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724880"}, {"nodeId": "140042476499264"}, {"nodeId": "140042476499376"}, {"nodeId": "140042476499488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476499264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476499376": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499488": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042476489408": {"type": "Overloaded", "items": [{"nodeId": "140042594348256"}, {"nodeId": "140042594348704"}]}, "140042594348256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491200"}, {"nodeId": "140042476491312"}, {"nodeId": "140042489955264"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "expected_regex", "callable", "args", "kwargs"]}, "140042476491200": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491424"}, {"nodeId": "140042476491648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "expected_regex", "msg"]}, "140042476491424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042594349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491872"}, {"nodeId": "140042476491984"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "140042476492096"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476491872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342048": {"type": "Concrete", "module": "logging", "simpleName": "Logger", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "parent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595072"}}, {"kind": "Variable", "name": "propagate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498342384"}]}}, {"kind": "Variable", "name": "disabled", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828128"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828576"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829024"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829472"}, "name": "getChild"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829920"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830368"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830816"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831264"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831712"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832160"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832608"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585833056"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581377312"}, "name": "_log"}, {"kind": "Variable", "name": "fatal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485369312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581381792"}, "name": "addHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382240"}, "name": "removeHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382688"}, "name": "findCaller"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581383584"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384032"}, "name": "makeRecord"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384480"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384928"}, "name": "callHandlers"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485595072": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342384": {"type": "Concrete", "module": "logging", "simpleName": "Handler", "members": [{"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "formatter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485594736"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591824"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385824"}, "name": "get_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386272"}, "name": "set_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386720"}, "name": "createLock"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387168"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387616"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388064"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388512"}, "name": "setFormatter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389856"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390304"}, "name": "handleError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390752"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391200"}, "name": "emit"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485594736": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042480713792": {"type": "Concrete", "module": "logging", "simpleName": "Formatter", "members": [{"kind": "Variable", "name": "converter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485519232"}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591376"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592048"}}, {"kind": "Variable", "name": "_style", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716816"}}, {"kind": "Variable", "name": "default_time_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "default_msec_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "style", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "validate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581392992"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557536"}, "name": "formatTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ei", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557984"}, "name": "formatException"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558432"}, "name": "formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558880"}, "name": "formatStack"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559328"}, "name": "usesTime"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485519232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480812432"}], "returnType": {"nodeId": "140042485592160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480812432": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042485592160": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042485591376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480716816": {"type": "Concrete", "module": "logging", "simpleName": "PercentStyle", "members": [{"kind": "Variable", "name": "default_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_search", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "validation_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988448"}, "name": "usesTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988896"}, "name": "validate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581989344"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581987552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "defaults"]}, "140042480826880": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581988448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581988896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581989344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042485591936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581391648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817696"}, {"nodeId": "140042480817808"}, {"nodeId": "140042480817920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480818144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "datefmt", "style", "validate", "defaults"]}, "140042480817696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817920": {"type": "TypeAlias", "target": {"nodeId": "140042485590704"}}, "140042485590704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042480818144": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581392992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480714800": {"type": "Concrete", "module": "logging", "simpleName": "LogRecord", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592272"}}, {"kind": "Variable", "name": "asctime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "created", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592384"}}, {"kind": "Variable", "name": "exc_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "funcName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msecs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "process", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592832"}}, {"kind": "Variable", "name": "processName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593280"}}, {"kind": "Variable", "name": "relativeCreated", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593056"}}, {"kind": "Variable", "name": "thread", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592944"}}, {"kind": "Variable", "name": "threadName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562912"}, "name": "getMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563360"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485592272": {"type": "Union", "items": [{"nodeId": "140042485592496"}, {"nodeId": "N"}]}, "140042485592496": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042485591040": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}]}, "140042485592384": {"type": "Union", "items": [{"nodeId": "140042485592720"}, {"nodeId": "N"}]}, "140042485592720": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042485590480": {"type": "Union", "items": [{"nodeId": "140042485589136"}, {"nodeId": "140042485590368"}]}, "140042485589136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042485589584"}]}, "140042485589584": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042485590368": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042485591712": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485593056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592944": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480818368"}, {"nodeId": "140042480818928"}, {"nodeId": "140042480819040"}, {"nodeId": "140042480819152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "pathname", "lineno", "msg", "args", "exc_info", "func", "sinfo"]}, "140042480818368": {"type": "Union", "items": [{"nodeId": "140042480818704"}, {"nodeId": "N"}]}, "140042480818704": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480818928": {"type": "Union", "items": [{"nodeId": "140042480818816"}, {"nodeId": "N"}]}, "140042480818816": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480819040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480819152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042581557536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}, {"nodeId": "140042480818480"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "record", "datefmt"]}, "140042480818480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581557984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ei"]}, "140042480817472": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042581558432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581558880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stack_info"]}, "140042581559328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485591824": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "N"}]}, "140042480812544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581385376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042480817360": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042485591152": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581385824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581386272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042581386720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581388064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480817584": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581388512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480812768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt"]}, "140042480812768": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581388960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581391200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042498341376": {"type": "Concrete", "module": "logging", "simpleName": "Filterer", "members": [{"kind": "Variable", "name": "filters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480714464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824544"}, "name": "addFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824992"}, "name": "removeFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825440"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042480714464": {"type": "Concrete", "module": "logging", "simpleName": "Filter", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "nlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562016"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581561568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042581562016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042585824544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480813328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480813328": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042485595744": {"type": "Union", "items": [{"nodeId": "140042480714464"}, {"nodeId": "140042485843104"}]}, "140042485843104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585824992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480812096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480812096": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042585825440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480716480": {"type": "Concrete", "module": "logging", "simpleName": "RootLogger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987104"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042498342048"}], "isAbstract": false}, "140042581987104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716480"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042498341712": {"type": "Concrete", "module": "logging", "simpleName": "Manager", "members": [{"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "disable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "emittedNoHandlerWarning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "loggerDict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042485595968"}]}}, {"kind": "Variable", "name": "loggerClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595296"}}, {"kind": "Variable", "name": "logRecordFactory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rootnode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826336"}, "name": "getLogger"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "klass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826784"}, "name": "setLoggerClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827232"}, "name": "setLogRecordFactory"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485595968": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480716144"}]}, "140042480716144": {"type": "Concrete", "module": "logging", "simpleName": "PlaceHolder", "members": [{"kind": "Variable", "name": "loggerMap", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986656"}, "name": "append"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581986208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042581986656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042485595296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485595184": {"type": "Union", "items": [{"nodeId": "140042485516320"}, {"nodeId": "N"}]}, "140042485516320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585825888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042480716480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "rootnode"]}, "140042585826336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498342048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042585826784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "klass"]}, "140042585827232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042485529984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "factory"]}, "140042485529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585827680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480813776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "level"]}, "140042480813776": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480813664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480813664": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042585829024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585829472": {"type": "Function", "typeVars": [".-1.140042585829472"], "argTypes": [{"nodeId": ".-1.140042585829472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042585829472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042585829472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585829472", "variance": "INVARIANT"}, "140042585829920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814112": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042485590144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485589920"}, {"nodeId": "140042577373088"}]}, "140042485589920": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480814224": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814336"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814336": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814672": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814560"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814560": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814896": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814448": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815120": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814784": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815344": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815008": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815568": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815232": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815792": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585833056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815456"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815456": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816016": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581377312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815680"}, {"nodeId": "140042480815904"}, {"nodeId": "140042480816352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info", "stacklevel"]}, "140042480815680": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480815904": {"type": "Union", "items": [{"nodeId": "140042480816240"}, {"nodeId": "N"}]}, "140042480816240": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816352": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485369312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481016096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042481016096": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581381792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480816576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stack_info", "stacklevel"]}, "140042480816576": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480816128"}]}, "140042480816128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581383584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581384032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480816800"}, {"nodeId": "140042480816912"}, {"nodeId": "140042480817024"}, {"nodeId": "140042480817136"}, {"nodeId": "140042480817248"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "fn", "lno", "msg", "args", "exc_info", "func", "extra", "sinfo"]}, "140042480816800": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480816912": {"type": "Union", "items": [{"nodeId": "140042480816464"}, {"nodeId": "N"}]}, "140042480816464": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480817024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817136": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042480817248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581384480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581384928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042476491984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480727232": {"type": "Concrete", "module": "unittest._log", "simpleName": "_AssertLogsContext", "members": [{"kind": "Variable", "name": "LOGGING_FORMAT", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480723872"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585821632"}, "name": "__init__"}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822528"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822976"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480727232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585821632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test_case", "logger_name", "level", "no_logs"]}, ".1.140042480727232": {"type": "TypeVar", "varName": "_L", "values": [{"nodeId": "N"}, {"nodeId": "140042489857856"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480727232", "variance": "INVARIANT"}, "140042489857856": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042489858752": {"type": "Tuple", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480714800"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042585822528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}], "returnType": {"nodeId": ".1.140042480727232"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585822976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042489868160"}, {"nodeId": "140042489868272"}, {"nodeId": "140042489868384"}], "returnType": {"nodeId": "140042489868496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042489868160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042489868272": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042489868384": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042489868496": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476492096": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042594349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476492208"}, {"nodeId": "140042476492320"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476492208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042476492320": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042476490528": {"type": "Overloaded", "items": [{"nodeId": "140042594350048"}, {"nodeId": "140042594350496"}, {"nodeId": "140042594350944"}, {"nodeId": "140042594351392"}]}, "140042594350048": {"type": "Function", "typeVars": [".-1.140042594350048"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350048", "variance": "INVARIANT"}, "140042480723536": {"type": "Protocol", "module": "unittest.case", "simpleName": "_SupportsAbsAndDunderGE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782779968", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__abs__", "__ge__"]}, "140042594350496": {"type": "Function", "typeVars": [".-1.140042594350496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350496", "variance": "INVARIANT"}, "140042594350944": {"type": "Function", "typeVars": [".-1.140042594350944"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594350944"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594350944"}, {"nodeId": "140042476492768"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594350944", "variance": "INVARIANT"}, "140042476492768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594351392": {"type": "Function", "typeVars": [".-1.140042594351392"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351392"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594351392"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476492992"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594351392", "variance": "INVARIANT"}, "140042476492992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476491088": {"type": "Overloaded", "items": [{"nodeId": "140042594351840"}, {"nodeId": "140042594352288"}, {"nodeId": "140042594352736"}, {"nodeId": "140042594533664"}]}, "140042594351840": {"type": "Function", "typeVars": [".-1.140042594351840"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594351840", "variance": "INVARIANT"}, "140042594352288": {"type": "Function", "typeVars": [".-1.140042594352288"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352288": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594352288", "variance": "INVARIANT"}, "140042594352736": {"type": "Function", "typeVars": [".-1.140042594352736"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594352736"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594352736"}, {"nodeId": "140042476493552"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594352736", "variance": "INVARIANT"}, "140042476493552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594533664": {"type": "Function", "typeVars": [".-1.140042594533664"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594533664"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594533664"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476493776"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594533664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594533664", "variance": "INVARIANT"}, "140042476493776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594534112": {"type": "Function", "typeVars": [".-1.140042594534112"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534112"}, {"nodeId": "140042476494000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042594534112": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534112", "variance": "INVARIANT"}, "140042476494000": {"type": "Union", "items": [{"nodeId": ".-1.140042594534112"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534112"}]}]}, "140042594534560": {"type": "Function", "typeVars": [".-1.140042594534560"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534560"}, {"nodeId": "140042476494224"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042594534560": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534560", "variance": "INVARIANT"}, "140042476494224": {"type": "Union", "items": [{"nodeId": ".-1.140042594534560"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534560"}]}]}, "140042594535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "0"}, {"nodeId": "140042489963776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typeobj", "function"]}, "140042489963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042476495568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seq1", "seq2", "msg", "seq_type"]}, "140042476495568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "list1", "list2", "msg"]}, "140042594537248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "tuple1", "tuple2", "msg"]}, "140042594537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "set1", "set2", "msg"]}, "140042594538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "d1", "d2", "msg"]}, "140042594538592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042594539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594540384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042476496912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042476496912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594540832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489964000"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594542176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042490002592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489962208"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042489962208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042594543968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476497024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "standardMsg"]}, "140042476497024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594544416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042489960192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second"]}, "140042489960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476996192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476996864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476998656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476999104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476823136": {"type": "Overloaded", "items": [{"nodeId": "140042477000000"}, {"nodeId": "140042477000224"}]}, "140042477000000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476828848"}, {"nodeId": "140042476996416"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476828848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476996416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477000224": {"type": "Function", "typeVars": [".-1.140042477000224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476826160"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477000224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476826160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, ".-1.140042477000224": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477000224", "variance": "INVARIANT"}, "140042477029072": {"type": "Overloaded", "items": [{"nodeId": "140042477001120"}, {"nodeId": "140042477001344"}, {"nodeId": "140042477001568"}, {"nodeId": "140042477001792"}]}, "140042477001120": {"type": "Function", "typeVars": [".-1.140042477001120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001120", "variance": "INVARIANT"}, "140042477001344": {"type": "Function", "typeVars": [".-1.140042477001344"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001344", "variance": "INVARIANT"}, "140042477001568": {"type": "Function", "typeVars": [".-1.140042477001568"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477001568"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477001568"}, {"nodeId": "140042476826272"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001568", "variance": "INVARIANT"}, "140042476826272": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477001792": {"type": "Function", "typeVars": [".-1.140042477001792"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001792"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477001792"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477028848"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001792", "variance": "INVARIANT"}, "140042477028848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029408": {"type": "Overloaded", "items": [{"nodeId": "140042477002240"}, {"nodeId": "140042477002464"}, {"nodeId": "140042477002688"}, {"nodeId": "140042477002912"}]}, "140042477002240": {"type": "Function", "typeVars": [".-1.140042477002240"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002240": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002240", "variance": "INVARIANT"}, "140042477002464": {"type": "Function", "typeVars": [".-1.140042477002464"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002464": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002464", "variance": "INVARIANT"}, "140042477002688": {"type": "Function", "typeVars": [".-1.140042477002688"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477002688"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477002688"}, {"nodeId": "140042477028960"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002688", "variance": "INVARIANT"}, "140042477028960": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477002912": {"type": "Function", "typeVars": [".-1.140042477002912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002912"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477002912"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029184"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002912", "variance": "INVARIANT"}, "140042477029184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029744": {"type": "Overloaded", "items": [{"nodeId": "140042477003360"}, {"nodeId": "140042477003584"}, {"nodeId": "140042477003808"}, {"nodeId": "140042477004032"}]}, "140042477003360": {"type": "Function", "typeVars": [".-1.140042477003360"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003360": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003360", "variance": "INVARIANT"}, "140042477003584": {"type": "Function", "typeVars": [".-1.140042477003584"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003584", "variance": "INVARIANT"}, "140042477003808": {"type": "Function", "typeVars": [".-1.140042477003808"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477003808"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477003808"}, {"nodeId": "140042477029296"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477003808", "variance": "INVARIANT"}, "140042477029296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477004032": {"type": "Function", "typeVars": [".-1.140042477004032"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004032"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477004032"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029520"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004032", "variance": "INVARIANT"}, "140042477029520": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477030080": {"type": "Overloaded", "items": [{"nodeId": "140042477004480"}, {"nodeId": "140042477004704"}, {"nodeId": "140042477004928"}, {"nodeId": "140042477005152"}]}, "140042477004480": {"type": "Function", "typeVars": [".-1.140042477004480"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004480": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004480", "variance": "INVARIANT"}, "140042477004704": {"type": "Function", "typeVars": [".-1.140042477004704"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004704", "variance": "INVARIANT"}, "140042477004928": {"type": "Function", "typeVars": [".-1.140042477004928"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477004928"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477004928"}, {"nodeId": "140042477029632"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004928", "variance": "INVARIANT"}, "140042477029632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477005152": {"type": "Function", "typeVars": [".-1.140042477005152"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477005152"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477005152"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029856"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477005152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477005152", "variance": "INVARIANT"}, "140042477029856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476999776": {"type": "Function", "typeVars": [".-1.140042476999776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042476999776"}, {"nodeId": "140042477029968"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042476999776": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042476999776", "variance": "INVARIANT"}, "140042477029968": {"type": "Union", "items": [{"nodeId": ".-1.140042476999776"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042476999776"}]}]}, "140042477000896": {"type": "Function", "typeVars": [".-1.140042477000896"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477000896"}, {"nodeId": "140042477030192"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042477000896": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477000896", "variance": "INVARIANT"}, "140042477030192": {"type": "Union", "items": [{"nodeId": ".-1.140042477000896"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042477000896"}]}]}, "140042477030864": {"type": "Overloaded", "items": [{"nodeId": "140042477006272"}, {"nodeId": "140042477006496"}]}, "140042477006272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030304"}, {"nodeId": "140042477030416"}, {"nodeId": "140042476999552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042477030304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042476999552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477006496": {"type": "Function", "typeVars": [".-1.140042477006496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030528"}, {"nodeId": "140042477030640"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477006496"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042477030528": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042477006496": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477006496", "variance": "INVARIANT"}, "140042594544864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "subset", "dictionary", "msg"]}, "140042480723200": {"type": "Concrete", "module": "unittest.case", "simpleName": "SkipTest", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503264"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042607503264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042480726224": {"type": "Concrete", "module": "unittest.loader", "simpleName": "TestLoader", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "testMethodPrefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sortTestMethodsUsing", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863456"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489860992"}}, {"kind": "Variable", "name": "suiteClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450528"}, "name": "loadTestsFromTestCase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450976"}, "name": "loadTestsFromModule"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451424"}, "name": "loadTestsFromName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451872"}, "name": "loadTestsFromNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452320"}, "name": "getTestCaseNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "top_level_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452768"}, "name": "discover"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "full_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607453216"}, "name": "_match_path"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863456": {"type": "TypeAlias", "target": {"nodeId": "140042548197216"}}, "140042548197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489860992": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042489863568": {"type": "TypeAlias", "target": {"nodeId": "140042493447968"}}, "140042493447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480727904": {"type": "Concrete", "module": "unittest.suite", "simpleName": "TestSuite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594780096"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042480727568"}], "isAbstract": false}, "140042594780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727904"}, {"nodeId": "140042480722192"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "result", "debug"]}, "140042480727568": {"type": "Concrete", "module": "unittest.suite", "simpleName": "BaseTestSuite", "members": [{"kind": "Variable", "name": "_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "_removed_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594693888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694336"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694784"}, "name": "addTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695232"}, "name": "addTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695680"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696128"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696576"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779648"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042489861216"}]}], "isAbstract": false}, "140042594693888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tests"]}, "140042476500160": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042489866256": {"type": "Union", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042480727904"}]}, "140042594694336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594694784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042476500272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476500272": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "tests"]}, "140042476500384": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594696128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594696576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042476500496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042476500496": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489861216": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042607450528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607450976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042578054832"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "module", "args", "pattern"]}, "140042607451424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476501840"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "module"]}, "140042476501840": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607451872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042476501952"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "names", "module"]}, "140042476501952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607452320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607452768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476502064"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "start_dir", "pattern", "top_level_dir"]}, "140042476502064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607453216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "full_path", "pattern"]}, "140042480726896": {"type": "Concrete", "module": "unittest.main", "simpleName": "TestProgram", "members": [{"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480722192"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863904"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864016"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864128"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864240"}}, {"kind": "Variable", "name": "progName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864352"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864464"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaultTest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testRunner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testLoader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456576"}, "name": "usageExit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457024"}, "name": "parseArgs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_discovery", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457472"}, "name": "createTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457920"}, "name": "runTests"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042489864016": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864128": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864240": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864576": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042607456128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042476500608"}, {"nodeId": "140042476814512"}, {"nodeId": "140042476814624"}, {"nodeId": "140042476814736"}, {"nodeId": "140042480726224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042476814848"}, {"nodeId": "140042476814960"}, {"nodeId": "140042476815072"}, {"nodeId": "140042476815184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "module", "defaultTest", "argv", "testRunner", "testLoader", "exit", "verbosity", "failfast", "catchbreak", "buffer", "warnings", "tb_locals"]}, "140042476500608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042476814512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814624": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042480726560"}, {"nodeId": "N"}]}, "140042480726560": {"type": "Protocol", "module": "unittest.main", "simpleName": "_TestRunner", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607455680"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["run"]}, "140042607455680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726560"}, {"nodeId": "140042476502848"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476502848": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042476814848": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476814960": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815072": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607456576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042607457024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "argv"]}, "140042607457472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476814400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "from_discovery", "Loader"]}, "140042476814400": {"type": "Union", "items": [{"nodeId": "140042480726224"}, {"nodeId": "N"}]}, "140042607457920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480725552": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestResult", "members": [{"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "separator1", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "separator2", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "showAll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577730512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594687616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688064"}, "name": "getDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flavour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688512"}, "name": "printErrorList"}], "typeVars": [], "bases": [{"nodeId": "140042480722192"}], "isAbstract": false}, "140042594687616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042594688064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594688512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "flavour", "errors"]}, "140042476500832": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042480725888": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestRunner", "members": [{"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689408"}, "name": "_makeResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689856"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863008": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042548197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042594688960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476500944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476501168"}, {"nodeId": "140042476501280"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity", "failfast", "buffer", "resultclass", "warnings", "tb_locals"]}, "140042476500944": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042476501168": {"type": "Union", "items": [{"nodeId": "140042476501056"}, {"nodeId": "N"}]}, "140042476501056": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042476501280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594689408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594689856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476501392"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476501392": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042480725216": {"type": "Concrete", "module": "unittest.async_case", "simpleName": "IsolatedAsyncioTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547552"}, "name": "asyncSetUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594781216"}, "name": "asyncTearDown"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594782112"}, "name": "addAsyncCleanup"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594547552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594781216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594782112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}, {"nodeId": "140042489937280"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042578061888": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648860064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614994560"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614995008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578061888"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042578061888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578061888", "variance": "INVARIANT"}, "140042648860064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}, {"nodeId": "140042565292256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565292368"}, {"nodeId": "140042565292480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140042565292256": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565292368": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042565292480": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042614994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042614995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042578062224": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578062560": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598164608"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569771024"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515184"}}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598164608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062560"}, {"nodeId": "140042565459568"}, {"nodeId": "140042577366032"}, {"nodeId": "140042565459680"}, {"nodeId": "140042565459792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140042565459568": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565459680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565459792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569771024": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569515184": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042578062896": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598165056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598165056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565459904"}, {"nodeId": "140042565460016"}, {"nodeId": "140042565460128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140042565459904": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565460128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498329616": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493779680"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493498016"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493444832"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445056"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445280"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445504"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445728"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445952"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446176"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446400"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446624"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446848"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042493358512"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042493779680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042493498016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359072": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359184": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359296": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359408"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359408": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359520": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359632": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359744"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359856": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359968": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360080"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360080": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360192"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360192": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493358512": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042498329952": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140042578064912": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572992736"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572995200"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042572992736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042572995200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042619187072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064912"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565530816"}, {"nodeId": "140042565530480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140042565530816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565530480": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042578065248": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187520"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042619187520": {"type": "Function", "typeVars": [".-1.140042619187520"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042619187520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140042619187520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619187520", "variance": "INVARIANT"}, "140042568797200": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619188640"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189088"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189536"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "seek", "write"]}, "140042619188640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042619189088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619189536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568797536": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189984"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190432"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190880"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "read", "seek"]}, "140042619189984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042619190432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619190880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633456": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568797200"}, {"nodeId": "140042568797536"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140042568797872": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332448"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820496": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042568798208": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798208"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820720": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798544": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333344"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798544"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569635136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569635136": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797536"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221088"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221536"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221984"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222432"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222880"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223328"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224672"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611221088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140042611221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826656"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140042556826656": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826768"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140042556826768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611222432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611222880": {"type": "Function", "typeVars": [".-1.140042611222880"], "argTypes": [{"nodeId": ".-1.140042611222880"}], "returnType": {"nodeId": ".-1.140042611222880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611222880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611222880", "variance": "INVARIANT"}, "140042611223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826880"}, {"nodeId": "140042556826992"}, {"nodeId": "140042556827104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826992": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827104": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611223776": {"type": "Function", "typeVars": [".-1.140042611223776"], "argTypes": [{"nodeId": ".-1.140042611223776"}], "returnType": {"nodeId": ".-1.140042611223776"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611223776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611223776", "variance": "INVARIANT"}, "140042611224224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556317184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556317184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799888": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345440"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345888"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042602345440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042602345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824752"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824752": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798880": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798880"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569634800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569634800": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797200"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217952"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218400"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220192"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611217504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611217952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140042611218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611219296": {"type": "Function", "typeVars": [".-1.140042611219296"], "argTypes": [{"nodeId": ".-1.140042611219296"}], "returnType": {"nodeId": ".-1.140042611219296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611219296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611219296", "variance": "INVARIANT"}, "140042611219744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042556826096"}, {"nodeId": "140042556826208"}, {"nodeId": "140042556826320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556826320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556316512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556316512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799216": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042568800224": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602346336"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518855040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602348128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042602346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518855040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042602347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042602347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "140042556824864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556824864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042602348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042556824976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556824976": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042568799552": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334688"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799552"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800560"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042569633792": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518871424"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869632"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869856"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518868064"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518865824"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518867392"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602337824"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042518871424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556820944"}], "returnType": {"nodeId": "140042568797872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820944": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821056"}], "returnType": {"nodeId": "140042568798208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821056": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821168"}], "returnType": {"nodeId": "140042568798544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821168": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518868064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821280"}], "returnType": {"nodeId": "140042568798880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821280": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518865824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821392"}], "returnType": {"nodeId": "140042568799216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821392": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518867392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821504"}], "returnType": {"nodeId": "140042568799552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821504": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042602337824": {"type": "Function", "typeVars": [".-1.140042602337824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042556820832"}, {"nodeId": "140042556821616"}, {"nodeId": "140042556821728"}, {"nodeId": "140042556821840"}, {"nodeId": "140042556821952"}, {"nodeId": "140042556822064"}], "returnType": {"nodeId": ".-1.140042602337824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140042556820832": {"type": "Union", "items": [{"nodeId": "140042568798544"}, {"nodeId": "N"}]}, "140042556821616": {"type": "Union", "items": [{"nodeId": "140042568798880"}, {"nodeId": "N"}]}, "140042556821728": {"type": "Union", "items": [{"nodeId": "140042568799216"}, {"nodeId": "N"}]}, "140042556821840": {"type": "Union", "items": [{"nodeId": "140042568799552"}, {"nodeId": "N"}]}, "140042556821952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556822064": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, ".-1.140042602337824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042602337824", "variance": "INVARIANT"}, "140042569634128": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214816"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518853472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611215712"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140042568800224"}], "isAbstract": true}, "140042611214816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518853472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042611215712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042569634464": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611216160"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518852352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217056"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": true}, "140042611216160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518852352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825648"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556825872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042556825648": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042556825872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042611217056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825984"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569635472": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569633456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611228256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081504"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083296"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083744"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084192"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084640"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085088"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085536"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085984"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086432"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086880"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087328"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730512"}], "isAbstract": false}, "140042611225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140042611225568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611226016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556827440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827552"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556827552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611227360": {"type": "Function", "typeVars": [".-1.140042611227360"], "argTypes": [{"nodeId": ".-1.140042611227360"}], "returnType": {"nodeId": ".-1.140042611227360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611227360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611227360", "variance": "INVARIANT"}, "140042611227808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611228256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611081952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611082400": {"type": "Function", "typeVars": [".-1.140042611082400"], "argTypes": [{"nodeId": ".-1.140042611082400"}], "returnType": {"nodeId": ".-1.140042611082400"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611082400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611082400", "variance": "INVARIANT"}, "140042611082848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827664"}, {"nodeId": "140042556827776"}, {"nodeId": "140042556827888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556827664": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556827776": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827888": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611083296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611083744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556828112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828112": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611086432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611086880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611087328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568800896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088672"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089120"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089568"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090464"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090912"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091360"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091808"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093152"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093600"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094048"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094496"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094944"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095392"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095840"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096288"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096736"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611097184"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730176"}], "isAbstract": false}, "140042611087776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140042611088224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611088672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828224"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828224": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828336"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556828336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611090016": {"type": "Function", "typeVars": [".-1.140042611090016"], "argTypes": [{"nodeId": ".-1.140042611090016"}], "returnType": {"nodeId": ".-1.140042611090016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611090016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611090016", "variance": "INVARIANT"}, "140042611090464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611090912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611091360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611091808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611092256": {"type": "Function", "typeVars": [".-1.140042611092256"], "argTypes": [{"nodeId": ".-1.140042611092256"}], "returnType": {"nodeId": ".-1.140042611092256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611092256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611092256", "variance": "INVARIANT"}, "140042611092704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828560"}, {"nodeId": "140042556828672"}, {"nodeId": "140042556828784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556828560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556828672": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556828784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611093152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611093600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611096288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611096736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611097184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225248": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522769248"}}], "typeVars": [], "bases": [{"nodeId": "140042577644224"}], "isAbstract": false}, "140042522769248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573225248"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611709024"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765440"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522764768"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765216"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573244656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611710816"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140042573225584"}], "isAbstract": false}, "140042611709024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037008": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037232"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522764768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037344"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037456"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573244656": {"type": "Union", "items": [{"nodeId": "140042573227264"}, {"nodeId": "N"}]}, "140042611710816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037568"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042561037568": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573225584": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586007456"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586010144"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586009472"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586010368"}}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573243648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573243200": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042586007456": {"type": "Function", "typeVars": [".-1.140042586007456"], "argTypes": [{"nodeId": ".-1.140042586007456"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586007456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140042586007456": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586007456", "variance": "INVARIANT"}, "140042573243424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042586010144": {"type": "Function", "typeVars": [".-1.140042586010144"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586010144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140042586010144": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010144", "variance": "INVARIANT"}, "140042586009472": {"type": "Function", "typeVars": [".-1.140042586009472"], "argTypes": [{"nodeId": ".-1.140042586009472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140042586009472": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586009472", "variance": "INVARIANT"}, "140042586010368": {"type": "Function", "typeVars": [".-1.140042586010368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042586010368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140042586010368": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010368", "variance": "INVARIANT"}, "140042573226592": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522757824"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522757152"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522756480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036336"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573226256"}]}], "isAbstract": false}, "140042522757824": {"type": "Function", "typeVars": [".-1.140042522757824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561037792"}]}], "returnType": {"nodeId": ".-1.140042522757824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140042561037792": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, ".-1.140042522757824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042522757824", "variance": "INVARIANT"}, "140042522757152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522756480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561036336": {"type": "Overloaded", "items": [{"nodeId": "140042611714400"}, {"nodeId": "140042611714848"}]}, "140042611714400": {"type": "Function", "typeVars": [".-1.140042611714400"], "argTypes": [{"nodeId": ".-1.140042611714400"}], "returnType": {"nodeId": ".-1.140042611714400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042611714400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611714400", "variance": "INVARIANT"}, "140042611714848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042569349968": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140042569350304"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522734464"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": true}, "140042522734464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569349968"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140042569350640": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522732224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676256"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140042569349968"}], "isAbstract": false}, "140042522732224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140042611676256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042498327600": {"type": "Concrete", "module": "functools", "simpleName": "_lru_cache_wrapper", "members": [{"kind": "Variable", "name": "__wrapped__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497669632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611686560"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611687008"}, "name": "cache_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607001888"}, "name": "cache_clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002784"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042498327600"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498327600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327600", "variance": "INVARIANT"}, "140042611686560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "140042577727824"}, {"nodeId": "140042577727824"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042611687008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042493301520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493301520": {"type": "TypeAlias", "target": {"nodeId": "140042493297264"}}, "140042493297264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042607001888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498327936": {"type": "Concrete", "module": "functools", "simpleName": "partial", "members": [{"kind": "Variable", "name": "func", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497962080"}}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497479328"}}, {"kind": "Variable", "name": "keywords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497478656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607007712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008160"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008608"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498327936"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497962080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042497666048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498327936": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327936", "variance": "INVARIANT"}, "140042497666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497479328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497478656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607007712": {"type": "Function", "typeVars": [".-1.140042607007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042497665824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042607007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042497665824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-1.140042607007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607007712", "variance": "INVARIANT"}, "140042607008160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042607008608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328272": {"type": "Concrete", "module": "functools", "simpleName": "partialmethod", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493299616"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493300960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607009952"}, "name": "__get__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498180704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011296"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498328272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042493299616": {"type": "Union", "items": [{"nodeId": "140042497669408"}, {"nodeId": "140042493299504"}]}, "140042497669408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328272", "variance": "INVARIANT"}, "140042493299504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042493300960": {"type": "Overloaded", "items": [{"nodeId": "140042607009056"}, {"nodeId": "140042607009504"}]}, "140042607009056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042497665600"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042497665600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607009504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042493303872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042493303872": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042607009952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "A"}, {"nodeId": "140042493304432"}], "returnType": {"nodeId": "140042497666272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, "140042493304432": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607011296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328608": {"type": "Concrete", "module": "functools", "simpleName": "_SingleDispatchCallable", "members": [{"kind": "Variable", "name": "registry", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053824", "args": [{"nodeId": "A"}, {"nodeId": "140042497668960"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011744"}, "name": "dispatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493301744"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013536"}, "name": "_clear_cache"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013984"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042498328608"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328608", "variance": "INVARIANT"}, "140042607011744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042497664928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042497664928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042493301744": {"type": "Overloaded", "items": [{"nodeId": "140042607012192"}, {"nodeId": "140042607012640"}, {"nodeId": "140042607013088"}]}, "140042607012192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497667392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497667392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497664480"}], "returnType": {"nodeId": "140042497664256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497664480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497664256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607012640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "140042497665152"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497665152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "140042497664704"}], "returnType": {"nodeId": "140042497663360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "func"]}, "140042497664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607013984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042498328944": {"type": "Concrete", "module": "functools", "simpleName": "singledispatchmethod", "members": [{"kind": "Variable", "name": "dispatcher", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328944"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607014880"}, "name": "__init__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498182048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493303424"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017120"}, "name": "__get__"}], "typeVars": [{"nodeId": ".1.140042498328944"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042498328944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328944", "variance": "INVARIANT"}, "140042497668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607014880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042497662912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497662912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493303424": {"type": "Overloaded", "items": [{"nodeId": "140042607015776"}, {"nodeId": "140042607016224"}, {"nodeId": "140042607016672"}]}, "140042607015776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042497663136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497661792"}], "returnType": {"nodeId": "140042497662240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497661792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497662240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042498441952"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042498442176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042498441952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498442176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "140042497662688"}], "returnType": {"nodeId": "140042497959168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "method"]}, "140042497662688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497959168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607017120": {"type": "Function", "typeVars": [".-1.140042607017120"], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": ".-1.140042607017120"}, {"nodeId": "140042493307456"}], "returnType": {"nodeId": "140042497957824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, ".-1.140042607017120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607017120", "variance": "INVARIANT"}, "140042493307456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497957824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498329280": {"type": "Concrete", "module": "functools", "simpleName": "cached_property", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668512"}}, {"kind": "Variable", "name": "attrname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493300512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017568"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493304992"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "owner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606527648"}, "name": "__set_name__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606528096"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498329280"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042498329280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498329280", "variance": "INVARIANT"}, "140042493300512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607017568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042497958496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042493304992": {"type": "Overloaded", "items": [{"nodeId": "140042606526752"}, {"nodeId": "140042606527200"}]}, "140042606526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "N"}, {"nodeId": "140042493308016"}], "returnType": {"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042493308240"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "owner", "name"]}, "140042606528096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498326592": {"type": "Concrete", "module": "numpy.polynomial.polyutils", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042569641184": {"type": "Concrete", "module": "threading", "simpleName": "ThreadError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569641520": {"type": "Concrete", "module": "threading", "simpleName": "local", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606539296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042606538400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042606538848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042606539296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569641856": {"type": "Concrete", "module": "threading", "simpleName": "Thread", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ident", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886464"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540640"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541088"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541536"}, "name": "join"}, {"kind": "Variable", "name": "native_id", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606542432"}, "name": "is_alive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607149792"}, "name": "getName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150240"}, "name": "setName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150688"}, "name": "isDaemon"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151136"}, "name": "setDaemon"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497886464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497587824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497587824": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606540192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "N"}, {"nodeId": "140042497588048"}, {"nodeId": "140042497588160"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042497588496"}, {"nodeId": "140042497588608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "group", "target", "name", "args", "kwargs", "daemon"]}, "140042497588048": {"type": "Union", "items": [{"nodeId": "140042548375200"}, {"nodeId": "N"}]}, "140042548375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497588160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042497588496": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497588608": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042606540640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042497588720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497588720": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042497886016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497588832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497588832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606542432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607149792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607150240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042607150688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607151136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "daemonic"]}, "140042569642192": {"type": "Concrete", "module": "threading", "simpleName": "_DummyThread", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151584"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042607151584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569642864": {"type": "Concrete", "module": "threading", "simpleName": "_RLock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154272"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154720"}, "name": "release"}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497893856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155168"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607154272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607154720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607155168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042497900720"}, {"nodeId": "140042497900832"}, {"nodeId": "140042497900944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497900720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497900832": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900944": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569643200": {"type": "Concrete", "module": "threading", "simpleName": "Condition", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156064"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156512"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156960"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157408"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157856"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "predicate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158304"}, "name": "wait_for"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158752"}, "name": "notify"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159200"}, "name": "notify_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159648"}, "name": "notifyAll"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607155616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "lock"]}, "140042497901056": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "140042569642864"}, {"nodeId": "N"}]}, "140042607156064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607156512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901168"}, {"nodeId": "140042497901280"}, {"nodeId": "140042497901392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901280": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901392": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607156960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607157408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607157856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497901504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607158304": {"type": "Function", "typeVars": [".-1.140042607158304"], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042548370944"}, {"nodeId": "140042497901616"}], "returnType": {"nodeId": ".-1.140042607158304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "predicate", "timeout"]}, "140042548370944": {"type": "Function", "typeVars": [".-1.140042548370944"], "argTypes": [], "returnType": {"nodeId": ".-1.140042548370944"}, "argKinds": [], "argNames": []}, ".-1.140042548370944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548370944", "variance": "INVARIANT"}, "140042497901616": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, ".-1.140042607158304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607158304", "variance": "INVARIANT"}, "140042607158752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042607159200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607159648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569643536": {"type": "Concrete", "module": "threading", "simpleName": "Semaphore", "members": [{"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160992"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161440"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161888"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607160096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042607160544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042497901728"}, {"nodeId": "140042497901840"}, {"nodeId": "140042497901952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901728": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901840": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901952": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607160992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902064"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042497902064": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042497902176": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042569643872": {"type": "Concrete", "module": "threading", "simpleName": "BoundedSemaphore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569643536"}], "isAbstract": false}, "140042569644208": {"type": "Concrete", "module": "threading", "simpleName": "Event", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607162784"}, "name": "is_set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163232"}, "name": "isSet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163680"}, "name": "set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164128"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164576"}, "name": "wait"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607162784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}, {"nodeId": "140042497902288"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497902288": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042569644544": {"type": "Concrete", "module": "threading", "simpleName": "Timer", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "finished", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569644208"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548308768"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607165024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607493408"}, "name": "cancel"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042548308768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607165024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}, {"nodeId": "140042577366032"}, {"nodeId": "140042548376096"}, {"nodeId": "140042497902624"}, {"nodeId": "140042497902848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "interval", "function", "args", "kwargs"]}, "140042548376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497902624": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497902848": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042607493408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569644880": {"type": "Concrete", "module": "threading", "simpleName": "Barrier", "members": [{"kind": "Variable", "name": "parties", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899232"}}, {"kind": "Variable", "name": "n_waiting", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899680"}}, {"kind": "Variable", "name": "broken", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parties", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "action", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495648"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496096"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496544"}, "name": "abort"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607495200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042577365696"}, {"nodeId": "140042497902960"}, {"nodeId": "140042497903072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "parties", "action", "timeout"]}, "140042497902960": {"type": "Union", "items": [{"nodeId": "140042548377664"}, {"nodeId": "N"}]}, "140042548377664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042497903072": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607495648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042497903184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497903184": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607496096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607496544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569645216": {"type": "Concrete", "module": "threading", "simpleName": "BrokenBarrierError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042480722864": {"type": "Concrete", "module": "unittest.case", "simpleName": "_BaseTestCaseContext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607498336"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607498336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722864"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test_case"]}, "140042480718160": {"type": "Concrete", "module": "warnings", "simpleName": "_OptionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569640176": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecodeError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581992928"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042581992928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "doc", "pos"]}, "140042569640512": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecoder", "members": [{"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042544078784"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502600320"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571104"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571776"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497569984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_w", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993824"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "idx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581994272"}, "name": "raw_decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042502600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497569984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497573040"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573040": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042497573264"}, {"nodeId": "140042497573600"}, {"nodeId": "140042497573824"}, {"nodeId": "140042497574048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497574272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "object_hook", "parse_float", "parse_int", "parse_constant", "strict", "object_pairs_hook"]}, "140042497573264": {"type": "Union", "items": [{"nodeId": "140042497740576"}, {"nodeId": "N"}]}, "140042497740576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573600": {"type": "Union", "items": [{"nodeId": "140042497740352"}, {"nodeId": "N"}]}, "140042497740352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573824": {"type": "Union", "items": [{"nodeId": "140042497741024"}, {"nodeId": "N"}]}, "140042497741024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574048": {"type": "Union", "items": [{"nodeId": "140042497741248"}, {"nodeId": "N"}]}, "140042497741248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574272": {"type": "Union", "items": [{"nodeId": "140042497741920"}, {"nodeId": "N"}]}, "140042497741920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497574608"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042497741696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "_w"]}, "140042497741696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581994272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042497575392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "idx"]}, "140042497575392": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042569639840": {"type": "Concrete", "module": "json.encoder", "simpleName": "JSONEncoder", "members": [{"kind": "Variable", "name": "item_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "key_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498439232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "separators", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996736"}, "name": "default"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997184"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_one_shot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997632"}, "name": "iterencode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042498439232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581996288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042498434192"}, {"nodeId": "140042498438672"}, {"nodeId": "140042498438448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "skipkeys", "ensure_ascii", "check_circular", "allow_nan", "sort_keys", "indent", "separators", "default"]}, "140042498434192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498438672": {"type": "Union", "items": [{"nodeId": "140042498438560"}, {"nodeId": "N"}]}, "140042498438560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042498438448": {"type": "Union", "items": [{"nodeId": "140042497572000"}, {"nodeId": "N"}]}, "140042497572000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581996736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "o", "_one_shot"]}, "140042578063568": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578063904": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572990496"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569770464"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540207456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791040"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791488"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791936"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792384"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572990496": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569770464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540207456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589791040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042565528016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042565528016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589791488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140042578064240": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569774608"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764528"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578063904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589793728"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794176"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794624"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796416"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796864"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774608": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042569772256": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042569771248"}]}, "140042569771248": {"type": "TypeAlias", "target": {"nodeId": "140042569771808"}}, "140042569771808": {"type": "Union", "items": [{"nodeId": "140042569773824"}, {"nodeId": "140042569774384"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578064240"}]}, {"nodeId": "140042569771584"}, {"nodeId": "140042569771696"}]}, "140042569773824": {"type": "TypeAlias", "target": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572992288"}]}}, "140042572992288": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042577365696"}]}, "140042569774384": {"type": "TypeAlias", "target": {"nodeId": "140042569516528"}}, "140042569516528": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042578064240"}]}]}, "140042569771584": {"type": "TypeAlias", "target": {"nodeId": "140042569516416"}}, "140042569516416": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}, {"nodeId": "140042578064240"}]}, "140042569771696": {"type": "TypeAlias", "target": {"nodeId": "140042569776288"}}, "140042569776288": {"type": "Tuple", "items": [{"nodeId": "140042569419008"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}]}, "140042569419008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569764528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042589792832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042578063904"}, {"nodeId": "140042565528240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140042565528240": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042565528128"}]}, {"nodeId": "N"}]}, "140042565528128": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589793728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042589794176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042589794624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528352": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042589795072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528576"}], "returnType": {"nodeId": "140042565528464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528576": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565528464": {"type": "Union", "items": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528688"}]}, "140042565528688": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528800"}, {"nodeId": "140042565529024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042565528800": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565529024": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565529136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140042565529136": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565529248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140042565529248": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042565529360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042589791936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140042589792384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140042578064576": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569776736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797760"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540202496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589998208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569776736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042589797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140042589995072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042565529472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140042589995968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140042540202496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140042589998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042578064912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140042569040608": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590003360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042590003360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040608"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224912": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140042590425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573727440": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573726432"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603568"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569530640"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042573730800"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428000"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428448"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428896"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429344"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429792"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430240"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430688"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431136"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432032"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434272"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434720"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435168"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435616"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436064"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436512"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436960"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590508128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262352"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509472"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509920"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510368"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510816"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511264"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511712"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512160"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512608"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513056"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513504"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573726432": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249248"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248576"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249024"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249472"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249920"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024704"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025152"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025824"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024480"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611027392"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042573249248": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573249472": {"type": "Union", "items": [{"nodeId": "140042586005440"}, {"nodeId": "N"}]}, "140042586005440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042561268176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561268288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140042561268176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561268288": {"type": "Union", "items": [{"nodeId": "140042560953632"}, {"nodeId": "N"}]}, "140042560953632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573726432"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140042582249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042573730800": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582246784"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042582246784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573730800"}, {"nodeId": "140042556249520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140042556249520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042582249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042561268512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561268736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561268960": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042564603568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569530640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590428000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590428448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140042590428896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590429344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573727440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140042590429792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270416"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140042561270416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042590430240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270640"}, {"nodeId": "140042561270752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140042561270640": {"type": "TypeAlias", "target": {"nodeId": "140042573247232"}}, "140042573247232": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573727440"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042561270752": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042569530416": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573737856": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808352"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582123552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124000"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124448"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124896"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125344"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125792"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126688"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573808352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808576": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140042582124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042582124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042556251088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556251088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140042582125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590430688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140042561270864": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270976": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590432480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561271088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561271088": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561271200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561271200": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590434272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590434720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271312": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271648"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042561271424"}]}, "140042561271424": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435616": {"type": "Function", "typeVars": [".-1.140042590435616"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590435616"}], "returnType": {"nodeId": "140042561271872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590435616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590435616", "variance": "INVARIANT"}, "140042561271872": {"type": "Union", "items": [{"nodeId": "140042561271760"}, {"nodeId": ".-1.140042590435616"}]}, "140042561271760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436064": {"type": "Function", "typeVars": [".-1.140042590436064"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590436064"}], "returnType": {"nodeId": "140042561272096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590436064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590436064", "variance": "INVARIANT"}, "140042561272096": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561271984"}]}, {"nodeId": ".-1.140042590436064"}]}, "140042561271984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140042561272208": {"type": "TypeAlias", "target": {"nodeId": "140042573810368"}}, "140042573810368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "140042573809360"}]}, "140042573809360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809584"}, {"nodeId": "140042577367376"}]}, "140042573809584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140042561272320": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590503200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590503648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140042590505440": {"type": "Function", "typeVars": [".-1.140042590505440"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590505440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140042590505440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505440", "variance": "INVARIANT"}, "140042561272656": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561272544"}]}, {"nodeId": ".-1.140042590505440"}]}, "140042561272544": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042590505888": {"type": "Function", "typeVars": [".-1.140042590505888"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590505888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140042590505888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505888", "variance": "INVARIANT"}, "140042561272880": {"type": "Union", "items": [{"nodeId": ".-1.140042590505888"}, {"nodeId": "140042561272768"}]}, "140042561272768": {"type": "TypeAlias", "target": {"nodeId": "140042573809808"}}, "140042573809808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809024"}]}, "140042573809024": {"type": "Tuple", "items": [{"nodeId": "140042573809136"}, {"nodeId": "140042573808016"}, {"nodeId": "140042577367376"}]}, "140042573809136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590506336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140042590506784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140042590507232": {"type": "Function", "typeVars": [".-1.140042590507232"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507232"}], "returnType": {"nodeId": "140042561273104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507232", "variance": "INVARIANT"}, "140042561273104": {"type": "Union", "items": [{"nodeId": ".-1.140042590507232"}, {"nodeId": "140042577367376"}]}, "140042590507680": {"type": "Function", "typeVars": [".-1.140042590507680"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507680"}], "returnType": {"nodeId": "140042561272432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507680", "variance": "INVARIANT"}, "140042561272432": {"type": "Union", "items": [{"nodeId": ".-1.140042590507680"}, {"nodeId": "140042577367376"}]}, "140042590508128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140042561262352": {"type": "Overloaded", "items": [{"nodeId": "140042590508576"}, {"nodeId": "140042590509024"}]}, "140042590508576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590509024": {"type": "Function", "typeVars": [".-1.140042590509024"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509024"}], "returnType": {"nodeId": "140042561273440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140042590509024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509024", "variance": "INVARIANT"}, "140042561273440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590509024"}]}, "140042590509472": {"type": "Function", "typeVars": [".-1.140042590509472"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509472"}], "returnType": {"nodeId": "140042561273552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590509472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509472", "variance": "INVARIANT"}, "140042561273552": {"type": "Union", "items": [{"nodeId": ".-1.140042590509472"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042590509920": {"type": "Function", "typeVars": [".-1.140042590509920"], "argTypes": [{"nodeId": ".-1.140042590509920"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042590509920"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042590509920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509920", "variance": "INVARIANT"}, "140042590510368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590510816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556244032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556244032": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244144"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140042556244144": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590512160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140042556244256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590512608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573726432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042590513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556244368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042556244368": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590513504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556244704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556244704": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042556244480"}]}, "140042556244480": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042573727776": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514400"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514848"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515296"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515744"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516192"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516640"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517088"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517536"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517984"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518432"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518880"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601504"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601952"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602400"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602848"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140042573727440"}], "isAbstract": false}, "140042590513952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556244816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042556244816": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590514400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042556244928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140042556244928": {"type": "Union", "items": [{"nodeId": "140042573727440"}, {"nodeId": "N"}]}, "140042590514848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245152"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245152": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042573737520": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129152"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129600"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582130048"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582245440"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582129152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140042582129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140042582130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560957440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140042560957440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042582245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577365024"}, {"nodeId": "140042560957216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140042560957216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042590516192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245600"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245600": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556246048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556246048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246272": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246608": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246944": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590601504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590601952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590602400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556247168"}, {"nodeId": "140042556247280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556247168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247280": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590602848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573728112": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573727776"}], "isAbstract": false}, "140042569636480": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042569637152": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636144"}], "isAbstract": false}, "140042569637488": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636480"}], "isAbstract": false}, "140042569639504": {"type": "Concrete", "module": "numpy.compat.py3k", "simpleName": "contextlib_nullcontext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209888"}, "name": "__exit__"}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042582209616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042569640848": {"type": "Concrete", "module": "_thread", "simpleName": "LockType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715232"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715680"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716128"}, "name": "locked"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716576"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585717024"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585715232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042585715680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585717024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042497583904"}, {"nodeId": "140042497584240"}, {"nodeId": "140042497584352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497583904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497584240": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584352": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569645552": {"type": "Concrete", "module": "_thread", "simpleName": "_ExceptHookArgs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497906432"}}, {"kind": "Variable", "name": "exc_type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497724192"}}, {"kind": "Variable", "name": "exc_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725088"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725312"}}, {"kind": "Variable", "name": "thread", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042506367408"}]}], "isAbstract": false}, "140042497906432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042497724192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585136"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497584800"}, {"nodeId": "140042497584912"}, {"nodeId": "140042497585024"}]}, "140042497584800": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584912": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585024": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497725088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585584"}], "returnType": {"nodeId": "140042497585696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585584": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585248"}, {"nodeId": "140042497585360"}, {"nodeId": "140042497585472"}]}, "140042497585248": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585472": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497585696": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497725312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586144"}], "returnType": {"nodeId": "140042497586256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586144": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585808"}, {"nodeId": "140042497585920"}, {"nodeId": "140042497586032"}]}, "140042497585808": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585920": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586032": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586256": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497725536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586704"}], "returnType": {"nodeId": "140042497586816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586704": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497586368"}, {"nodeId": "140042497586480"}, {"nodeId": "140042497586592"}]}, "140042497586368": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497586480": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586592": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586816": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042506367408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}, {"nodeId": "140042569641856"}]}, "140042480714128": {"type": "Concrete", "module": "logging", "simpleName": "BufferingFormatter", "members": [{"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480713792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560224"}, "name": "formatHeader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560672"}, "name": "formatFooter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561120"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581559776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042480818256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "linefmt"]}, "140042480818256": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581560224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581561120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042480717824": {"type": "Concrete", "module": "logging", "simpleName": "LoggerAdapter", "members": [{"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480717824"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581564704"}, "name": "process"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565152"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565600"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566048"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566496"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566944"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567392"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567840"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581568288"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572320"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572768"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581573216"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770528"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770976"}, "name": "_log"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485868672"}}], "typeVars": [{"nodeId": ".1.140042480717824"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480717824": {"type": "TypeVar", "varName": "_L", "values": [], "upperBound": {"nodeId": "140042480812656"}, "def": "140042480717824", "variance": "INVARIANT"}, "140042480812656": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480717824", "args": [{"nodeId": "A"}]}]}, "140042485593504": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": ".1.140042480717824"}, {"nodeId": "140042480819488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "logger", "extra"]}, "140042480819488": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581564704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042480820048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "kwargs"]}, "140042480820048": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042581565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820272"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820160": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820272": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820384"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820720"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820384": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820720": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820608"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820944"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820608": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820944": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821168"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820496": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821168": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820832": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821392": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821616"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821056": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821616": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821840"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821280": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821840": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480822064"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821504": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822064": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042581572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042480821728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480821728": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581770528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581770976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480822288"}, {"nodeId": "140042480822400"}, {"nodeId": "140042480822176"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info"]}, "140042480822288": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480822400": {"type": "Union", "items": [{"nodeId": "140042480821952"}, {"nodeId": "N"}]}, "140042480821952": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822176": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485868672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715136": {"type": "Concrete", "module": "logging", "simpleName": "StreamHandler", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480715136"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485593728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581983968"}, "name": "setStream"}], "typeVars": [{"nodeId": ".1.140042480715136"}], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, ".1.140042480715136": {"type": "TypeVar", "varName": "_StreamT", "values": [], "upperBound": {"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, "def": "140042480715136", "variance": "INVARIANT"}, "140042485593728": {"type": "Overloaded", "items": [{"nodeId": "140042581786208"}, {"nodeId": "140042581983520"}]}, "140042581786208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042577730512"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "stream"]}, "140042581983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042581983968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "140042480826320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042480826320": {"type": "Union", "items": [{"nodeId": ".1.140042480715136"}, {"nodeId": "N"}]}, "140042480715472": {"type": "Concrete", "module": "logging", "simpleName": "FileHandler", "members": [{"kind": "Variable", "name": "baseFilename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812992"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480813104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581984864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581985760"}, "name": "_open"}], "typeVars": [], "bases": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042573223904"}]}], "isAbstract": false}, "140042480812992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480813104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581984864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}, {"nodeId": "140042480826432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480826656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "mode", "encoding", "delay", "errors"]}, "140042480826432": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042480826544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480826656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581985760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715808": {"type": "Concrete", "module": "logging", "simpleName": "NullHandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, "140042480717152": {"type": "Concrete", "module": "logging", "simpleName": "StrFormatStyle", "members": [{"kind": "Variable", "name": "fmt_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "field_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042480717488": {"type": "Concrete", "module": "logging", "simpleName": "StringTemplateStyle", "members": [{"kind": "Variable", "name": "_tpl", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569638496"}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042569638496": {"type": "Concrete", "module": "string", "simpleName": "Template", "members": [{"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "delimiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "idpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "braceidpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569427296"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569346272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586231904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232352"}, "name": "substitute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232800"}, "name": "safe_substitute"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569427296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586231904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042586232352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042586232800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042573728784": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573729120": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573729456": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573729792": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573730128": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}, {"nodeId": "140042577642544"}], "isAbstract": false}, "140042573730464": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573731136": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731472": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731808": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732144": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732480": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732816": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733152": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733488": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733824": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734160": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734496": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734832": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735168": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735504": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573735840": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736176": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582247232"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042582247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573736176"}, {"nodeId": "140042556249632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140042556249632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573736512": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736848": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573737184": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573726768": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582252608"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253056"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253504"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253952"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254400"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042582252608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269408": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573728448"}]}, "140042573728448": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586239744"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240192"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240640"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241088"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241536"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586239744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247392"}, {"nodeId": "140042556247504"}, {"nodeId": "140042556247616"}, {"nodeId": "140042556247728"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140042556247392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247504": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247840"}, {"nodeId": "140042556247952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140042556247840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}]}, "140042556247952": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556248064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140042556248064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042586241536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582253952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582254400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573727104": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586005664"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573737520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255296"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255744"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256192"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256640"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582257088"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042586005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582254848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042561269632"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561269744"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560958336"}, {"nodeId": "140042573737520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140042561269632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561269744": {"type": "Union", "items": [{"nodeId": "140042560958112"}, {"nodeId": "N"}]}, "140042560958112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269968": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561270192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561270192": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582256192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042569639168": {"type": "Concrete", "module": "textwrap", "simpleName": "TextWrapper", "members": [{"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502303280"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sentence_end_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_simple_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "unicode_whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "uspace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259552"}, "name": "_munge_whitespace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260000"}, "name": "_split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260448"}, "name": "_fix_sentence_endings"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed_chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260896"}, "name": "_handle_long_word"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582261344"}, "name": "_wrap_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586226976"}, "name": "_split_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227424"}, "name": "wrap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227872"}, "name": "fill"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042502303280": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042502303168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "width", "initial_indent", "subsequent_indent", "expand_tabs", "replace_whitespace", "fix_sentence_endings", "break_long_words", "drop_whitespace", "break_on_hyphens", "tabsize", "max_lines", "placeholder"]}, "140042502303168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042582260896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "reversed_chunks", "cur_line", "cur_len", "width"]}, "140042582261344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042586226976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042569638832": {"type": "Concrete", "module": "string", "simpleName": "Formatter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569430208"}, "items": [{"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "format"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569428192"}, "items": [{"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursion_depth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "auto_arg_index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586235936"}, "name": "_vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236384"}, "name": "parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236832"}, "name": "get_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237280"}, "name": "get_value"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237728"}, "name": "check_unused_args"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238176"}, "name": "format_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238624"}, "name": "convert_field"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569430208": {"type": "Overloaded", "items": [{"nodeId": "140042586234144"}, {"nodeId": "140042586234592"}]}, "140042586234144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042586234592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042569428192": {"type": "Overloaded", "items": [{"nodeId": "140042586235040"}, {"nodeId": "140042586235488"}]}, "140042586235040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502297232"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042502297456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format_string", "args", "kwargs", "used_args", "recursion_depth", "auto_arg_index"]}, "140042502297232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042502297456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042586236384": {"type": "Function", "typeVars": [".-1.140042586236384"], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": ".-1.140042586236384"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042502298016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_string"]}, ".-1.140042586236384": {"type": "TypeVar", "varName": "StrOrLiteralStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042586236384", "variance": "INVARIANT"}, "140042502298016": {"type": "Tuple", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "140042502297568"}, {"nodeId": "140042502297680"}, {"nodeId": "140042502297792"}]}, "140042502297568": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297680": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297792": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042586236832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "field_name", "args", "kwargs"]}, "140042586237280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042502298464"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "args", "kwargs"]}, "140042502298464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586237728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502298912"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "used_args", "args", "kwargs"]}, "140042502298912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586238176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "format_spec"]}, "140042586238624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "conversion"]}}, "types": {}, "definitions": {"subtypes": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, "P": {"kind": "ClassDef", "type": {"nodeId": "140042464396672"}}, "S": {"kind": "ClassDef", "type": {"nodeId": "140042464397008"}}, "S1": {"kind": "ClassDef", "type": {"nodeId": "140042464397344"}}, "func_for_P": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399573248"}, "name": "func_for_P"}, "R": {"kind": "ClassDef", "type": {"nodeId": "140042464397680"}}, "RImpl": {"kind": "ClassDef", "type": {"nodeId": "140042464398016"}}, "func_for_R": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399825056"}, "name": "func_for_R"}, "a": {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, "func_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489750112"}, "name": "func_abs"}, "b": {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140042577735888"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140042577736224"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140042577736560"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140042577736896"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140042577724800"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140042568796192"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042568796528"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042568796864"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577737232"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577737568"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577737904"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577738240"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140042577725136"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140042577738576"}}}, "numpy": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}, "_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}, "_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}, "_IOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911392"}}, "_MemMapIOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911728"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472912064"}}, "dtype": {"kind": "ClassDef", "type": {"nodeId": "140042468653568"}}, "flatiter": {"kind": "ClassDef", "type": {"nodeId": "140042468653904"}}, "_ArrayOrScalarCommon": {"kind": "ClassDef", "type": {"nodeId": "140042472912400"}}, "_SupportsItem": {"kind": "ClassDef", "type": {"nodeId": "140042472912736"}}, "_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472913072"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472913408"}}, "ndarray": {"kind": "ClassDef", "type": {"nodeId": "140042472913744"}}, "generic": {"kind": "ClassDef", "type": {"nodeId": "140042472914080"}}, "number": {"kind": "ClassDef", "type": {"nodeId": "140042472914416"}}, "bool_": {"kind": "ClassDef", "type": {"nodeId": "140042468229184"}}, "object_": {"kind": "ClassDef", "type": {"nodeId": "140042468229520"}}, "_DatetimeScalar": {"kind": "ClassDef", "type": {"nodeId": "140042468229856"}}, "datetime64": {"kind": "ClassDef", "type": {"nodeId": "140042468230192"}}, "integer": {"kind": "ClassDef", "type": {"nodeId": "140042468230528"}}, "signedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468230864"}}, "timedelta64": {"kind": "ClassDef", "type": {"nodeId": "140042468231200"}}, "unsignedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468231536"}}, "inexact": {"kind": "ClassDef", "type": {"nodeId": "140042468231872"}}, "floating": {"kind": "ClassDef", "type": {"nodeId": "140042468232208"}}, "complexfloating": {"kind": "ClassDef", "type": {"nodeId": "140042468232544"}}, "flexible": {"kind": "ClassDef", "type": {"nodeId": "140042468232880"}}, "void": {"kind": "ClassDef", "type": {"nodeId": "140042468233216"}}, "character": {"kind": "ClassDef", "type": {"nodeId": "140042468233552"}}, "bytes_": {"kind": "ClassDef", "type": {"nodeId": "140042468233888"}}, "str_": {"kind": "ClassDef", "type": {"nodeId": "140042468234224"}}, "ufunc": {"kind": "ClassDef", "type": {"nodeId": "140042468234560"}}, "_CopyMode": {"kind": "ClassDef", "type": {"nodeId": "140042468234896"}}, "ModuleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235232"}}, "VisibleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235568"}}, "ComplexWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235904"}}, "RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468236240"}}, "TooHardError": {"kind": "ClassDef", "type": {"nodeId": "140042468236576"}}, "AxisError": {"kind": "ClassDef", "type": {"nodeId": "140042468236912"}}, "errstate": {"kind": "ClassDef", "type": {"nodeId": "140042468237248"}}, "ndenumerate": {"kind": "ClassDef", "type": {"nodeId": "140042468654240"}}, "ndindex": {"kind": "ClassDef", "type": {"nodeId": "140042468237584"}}, "DataSource": {"kind": "ClassDef", "type": {"nodeId": "140042468237920"}}, "broadcast": {"kind": "ClassDef", "type": {"nodeId": "140042468238256"}}, "busdaycalendar": {"kind": "ClassDef", "type": {"nodeId": "140042468238592"}}, "finfo": {"kind": "ClassDef", "type": {"nodeId": "140042468654576"}}, "iinfo": {"kind": "ClassDef", "type": {"nodeId": "140042468238928"}}, "format_parser": {"kind": "ClassDef", "type": {"nodeId": "140042468239264"}}, "recarray": {"kind": "ClassDef", "type": {"nodeId": "140042468239600"}}, "record": {"kind": "ClassDef", "type": {"nodeId": "140042468239936"}}, "nditer": {"kind": "ClassDef", "type": {"nodeId": "140042468240272"}}, "memmap": {"kind": "ClassDef", "type": {"nodeId": "140042468240608"}}, "vectorize": {"kind": "ClassDef", "type": {"nodeId": "140042468240944"}}, "poly1d": {"kind": "ClassDef", "type": {"nodeId": "140042468241280"}}, "matrix": {"kind": "ClassDef", "type": {"nodeId": "140042468241616"}}, "chararray": {"kind": "ClassDef", "type": {"nodeId": "140042468241952"}}, "_SupportsDLPack": {"kind": "ClassDef", "type": {"nodeId": "140042468242288"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042782777616"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042782777952"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140042782778288"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140042782778624"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042782778960"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140042782779296"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140042782779632"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577725472"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140042577725808"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140042577726144"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140042577726480"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140042577726816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042577727152"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140042782779968"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140042782780304"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140042577727488"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140042577727824"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140042782780640"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140042782780976"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140042782781312"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140042782781648"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140042782781984"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140042782782320"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042577728160"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140042782782656"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140042782782992"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042782783328"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140042782783664"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140042782784000"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784336"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784672"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140042782785008"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140042577363008"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140042577728496"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042577728832"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140042577729168"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042577729504"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363344"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363680"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140042577729840"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730176"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730512"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140042577730848"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042577731184"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577731520"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140042577364016"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140042782775936"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140042782776944"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140042782777280"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364352"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364688"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140042577365024"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140042577365360"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140042577365696"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140042577366032"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140042577366368"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577366704"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140042577367040"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140042577367376"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140042577732864"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140042577733200"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140042577367712"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042577368048"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140042577368384"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140042577368720"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140042577369056"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140042577733536"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140042577733872"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140042577734208"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140042577369392"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140042577369728"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140042577370064"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569343248"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140042577370400"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140042577734544"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140042577370736"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140042577734880"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140042569343584"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140042577371072"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140042577371408"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140042577371744"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140042577735216"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140042577372080"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140042577372416"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140042569343920"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140042577735552"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042577372752"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140042577373088"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140042577373424"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140042577373760"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140042577374096"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140042577374432"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577374768"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140042577375104"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140042577375440"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140042577375776"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140042577376112"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140042577376448"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140042577376784"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140042577377120"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577377456"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577377792"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140042577378128"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140042577378464"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140042577378800"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577641536"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140042577641872"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140042577642208"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140042577642544"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140042577642880"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140042577643216"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140042577643552"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140042577643888"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577644224"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140042577644560"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140042577644896"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140042577645232"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140042577645568"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042577645904"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140042577646240"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140042577646576"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140042577646912"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140042577647248"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140042577647584"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140042577647920"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577648256"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140042577648592"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577648928"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577649264"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140042577649600"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577649936"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140042577650272"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140042577650608"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140042577650944"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140042577651280"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140042577651616"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577651952"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652288"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652624"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140042577652960"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140042577653296"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653632"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653968"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654304"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654640"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654976"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655312"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655648"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655984"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656320"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656656"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656992"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042578060880"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140042569344256"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344592"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344928"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140042578061216"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345264"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345600"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042578061552"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140042569345936"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577731856"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577732192"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577732528"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140042568801568"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140042568801904"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140042568802240"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140042568802576"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140042568802912"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140042568803248"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042568803584"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140042568803920"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804256"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804592"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140042568804928"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140042568805264"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805600"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805936"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140042568806272"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140042568806608"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568806944"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042568807280"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140042568807616"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568807952"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568808288"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140042568808624"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140042568808960"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042568809296"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809632"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809968"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042569039936"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140042569040272"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042577738912"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577739248"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042578051136"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578051472"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042578051808"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578052480"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140042578052816"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578053152"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140042578053488"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140042578053824"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140042578054160"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042578054496"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140042578054832"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055168"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055504"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140042578055840"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056176"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140042578056512"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056848"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057184"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140042578057520"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057856"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578058192"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140042578058528"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140042578058864"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059200"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059536"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042578059872"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140042578060208"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140042578060544"}}}, "numpy.core._internal": {"_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}}, "numpy._typing._callable": {"_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_SupportsLT": {"kind": "ClassDef", "type": {"nodeId": "140042472910048"}}, "_SupportsGT": {"kind": "ClassDef", "type": {"nodeId": "140042472910384"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}}, "numpy.core.records": {"_SupportsReadInto": {"kind": "ClassDef", "type": {"nodeId": "140042468643152"}}}, "numpy.core.multiarray": {"_SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472901312"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}}, "numpy.core.numerictypes": {"_CastFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900640"}}, "_typedict": {"kind": "ClassDef", "type": {"nodeId": "140042468652560"}}}, "numpy.lib.arraypad": {"_ModeFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900304"}}}, "numpy.lib.arrayterator": {"Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.lib.function_base": {"_TrimZerosSequence": {"kind": "ClassDef", "type": {"nodeId": "140042472899632"}}, "_SupportsWriteFlush": {"kind": "ClassDef", "type": {"nodeId": "140042472899968"}}}, "numpy.lib.index_tricks": {"nd_grid": {"kind": "ClassDef", "type": {"nodeId": "140042472667648"}}, "MGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472667984"}}, "OGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472668320"}}, "AxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042472668656"}}, "RClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898624"}}, "CClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898960"}}, "IndexExpression": {"kind": "ClassDef", "type": {"nodeId": "140042472899296"}}}, "numpy.lib.npyio": {"_SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472665632"}}, "_SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042472665968"}}, "_SupportsReadSeek": {"kind": "ClassDef", "type": {"nodeId": "140042472666304"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472666640"}}, "BagObj": {"kind": "ClassDef", "type": {"nodeId": "140042472666976"}}, "NpzFile": {"kind": "ClassDef", "type": {"nodeId": "140042472667312"}}}, "numpy.lib.shape_base": {"_ArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664288"}}, "_ArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472664624"}}, "_SupportsArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664960"}}, "_SupportsArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472665296"}}}, "numpy.lib.stride_tricks": {"DummyArray": {"kind": "ClassDef", "type": {"nodeId": "140042472663952"}}}, "numpy.lib.type_check": {"_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472663280"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472663616"}}}, "numpy.lib.utils": {"_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472662608"}}, "_Deprecate": {"kind": "ClassDef", "type": {"nodeId": "140042472662944"}}}, "numpy._pytesttester": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}}, "numpy._typing": {"NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.ctypeslib": {"_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472658912"}}, "_concrete_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472659248"}}}, "numpy.lib": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.linalg": {"LinAlgError": {"kind": "ClassDef", "type": {"nodeId": "140042468642816"}}}, "numpy.ma": {"MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}}, "numpy.polynomial": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}, "Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}, "HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}, "Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}, "Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}, "Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}, "MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}, "PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}, "Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}, "SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing": {"IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140042573219200"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140042569346608"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569346944"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140042573219536"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347280"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347616"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140042569347952"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140042569348288"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140042569348624"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140042569348960"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140042569349296"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140042569349632"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140042573219872"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738192"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738528"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569632448"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573738864"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140042573739200"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140042573739536"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140042573739872"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740208"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740544"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140042573740880"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140042573741216"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140042569632784"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140042573741552"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140042573905984"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140042573906320"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140042573906656"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140042573906992"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140042573907328"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140042573907664"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140042573908000"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140042573908336"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140042573908672"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140042573909008"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140042573909344"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140042573909680"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140042573910016"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140042573910352"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140042573910688"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140042573911024"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140042573911360"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140042573911696"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140042573912032"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140042573912368"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140042573912704"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140042573913040"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140042573913376"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140042573913712"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140042573914048"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140042573914384"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140042573914720"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140042573915056"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140042573915392"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140042573915728"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140042573916064"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573916400"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140042573916736"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140042573917072"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140042573917408"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573917744"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573918080"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140042569633120"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140042568801232"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140042480719840"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140042480720176"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140042480720848"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140042480721184"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140042480721520"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140042480721856"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140042573232640"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573232976"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140042573233312"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140042573233648"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140042569632112"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140042573725760"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140042573726096"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577657328"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723456"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723792"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140042577724128"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140042577724464"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918416"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918752"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919088"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573919424"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919760"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573920096"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140042573920432"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140042573920768"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140042573921104"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140042573921440"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140042573921776"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140042568794176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140042568794512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140042568794848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042568795856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140042578065584"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140042578065920"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140042569346272"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140042569040944"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140042569041280"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140042569041616"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140042569041952"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042569042288"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140042569042624"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140042569042960"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140042569043296"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140042569043632"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569043968"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044304"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044640"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140042569044976"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140042569045312"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140042569045648"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569045984"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569046320"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140042569046656"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140042569046992"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140042569047328"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140042569047664"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140042569048000"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140042569048336"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140042569048672"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140042569049008"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140042569049344"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140042569049680"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569050016"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140042569050352"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140042569050688"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140042569051024"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140042569051360"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140042569051696"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140042569052032"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140042569052368"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042569052704"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053040"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053376"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140042569053712"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140042569054048"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140042569054384"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140042569054720"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055056"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055392"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055728"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140042569220160"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140042569220496"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140042569220832"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569221168"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140042569221504"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140042569221840"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140042569222176"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140042569222512"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140042569222848"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140042569223184"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140042569223520"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140042569223856"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140042569224192"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140042569224528"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140042569224864"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140042569225200"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140042569225536"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140042569225872"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140042569226208"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140042569226544"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140042569226880"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140042569227216"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140042569227552"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140042569227888"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140042569228224"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140042569228560"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140042569228896"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140042569229232"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140042569229568"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140042569229904"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140042569230240"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140042569230576"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140042569230912"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140042569231248"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140042569231584"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140042569231920"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140042569232256"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140042569232592"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140042569232928"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140042569233264"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140042569233600"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140042569233936"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140042569234272"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140042569234608"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140042569234944"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140042569235280"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140042569235616"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140042569235952"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140042569334848"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140042569335184"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140042569335520"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140042569335856"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140042569336192"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140042569336528"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140042569336864"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337200"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337536"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140042569337872"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140042569338208"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140042569338544"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140042569338880"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140042569339216"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140042569339552"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140042569339888"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140042569340224"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140042569340560"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140042569340896"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140042569341232"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140042569341568"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140042569341904"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140042569342240"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140042569342576"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140042569342912"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140042573220208"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220544"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220880"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573221216"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221552"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221888"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140042573222224"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140042573222560"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140042573222896"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140042573223232"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573223568"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042573223904"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140042573224240"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569637824"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140042573228608"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229280"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229616"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229952"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573230288"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230624"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230960"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573231296"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140042573231632"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140042573231968"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140042573232304"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140042573227936"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569629760"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569630096"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630432"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573228272"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630768"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631104"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631440"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631776"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140042578066256"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140042578066592"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140042578066928"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573217856"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573218192"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218528"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218864"}}}, "numpy._typing._generic_alias": {"_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}}, "numpy._typing._nested_sequence": {"_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}}, "__future__": {"_Feature": {"kind": "ClassDef", "type": {"nodeId": "140042498340704"}}}, "numpy.ma.mrecords": {"MaskedRecords": {"kind": "ClassDef", "type": {"nodeId": "140042464395328"}}}, "zipfile": {"BadZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498336672"}}, "LargeZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498337008"}}, "_ZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498337344"}}, "_SupportsReadSeekTell": {"kind": "ClassDef", "type": {"nodeId": "140042498337680"}}, "_ClosableZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498338016"}}, "ZipExtFile": {"kind": "ClassDef", "type": {"nodeId": "140042498338352"}}, "_Writer": {"kind": "ClassDef", "type": {"nodeId": "140042498338688"}}, "ZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339024"}}, "PyZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339360"}}, "ZipInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498339696"}}, "_PathOpenProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042498340032"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042498340368"}}}, "ast": {"_ABC": {"kind": "ClassDef", "type": {"nodeId": "140042498331632"}}, "Num": {"kind": "ClassDef", "type": {"nodeId": "140042498331968"}}, "Str": {"kind": "ClassDef", "type": {"nodeId": "140042498332304"}}, "Bytes": {"kind": "ClassDef", "type": {"nodeId": "140042498332640"}}, "NameConstant": {"kind": "ClassDef", "type": {"nodeId": "140042498332976"}}, "Ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042498333312"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042498333648"}}, "ExtSlice": {"kind": "ClassDef", "type": {"nodeId": "140042498333984"}}, "Index": {"kind": "ClassDef", "type": {"nodeId": "140042498334320"}}, "Suite": {"kind": "ClassDef", "type": {"nodeId": "140042498334656"}}, "AugLoad": {"kind": "ClassDef", "type": {"nodeId": "140042498334992"}}, "AugStore": {"kind": "ClassDef", "type": {"nodeId": "140042498335328"}}, "Param": {"kind": "ClassDef", "type": {"nodeId": "140042498335664"}}, "NodeVisitor": {"kind": "ClassDef", "type": {"nodeId": "140042498336000"}}, "NodeTransformer": {"kind": "ClassDef", "type": {"nodeId": "140042498336336"}}}, "numpy._typing._dtype_like": {"_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}}, "numpy._typing._array_like": {"_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}}, "numpy._typing._ufunc": {"_SupportsArrayUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042468648528"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.lib.mixins": {"NDArrayOperatorsMixin": {"kind": "ClassDef", "type": {"nodeId": "140042468642480"}}}, "numpy.lib._version": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}}, "math": {"_SupportsCeil": {"kind": "ClassDef", "type": {"nodeId": "140042498330288"}}, "_SupportsFloor": {"kind": "ClassDef", "type": {"nodeId": "140042498330624"}}, "_SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042498330960"}}}, "numpy.ma.extras": {"_fromnxfunction": {"kind": "ClassDef", "type": {"nodeId": "140042472656560"}}, "_fromnxfunction_single": {"kind": "ClassDef", "type": {"nodeId": "140042472656896"}}, "_fromnxfunction_seq": {"kind": "ClassDef", "type": {"nodeId": "140042472657232"}}, "_fromnxfunction_allargs": {"kind": "ClassDef", "type": {"nodeId": "140042472657568"}}, "MAxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042468651552"}}, "mr_class": {"kind": "ClassDef", "type": {"nodeId": "140042468651888"}}}, "numpy.ma.core": {"MaskedArrayFutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042480729584"}}, "MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "_MaskedUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472653536"}}, "_MaskedUnaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472653872"}}, "_MaskedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654208"}}, "_DomainedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654544"}}, "_MaskedPrintOption": {"kind": "ClassDef", "type": {"nodeId": "140042472654880"}}, "MaskedIterator": {"kind": "ClassDef", "type": {"nodeId": "140042472655216"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}, "MaskedConstant": {"kind": "ClassDef", "type": {"nodeId": "140042468651216"}}, "_extrema_operation": {"kind": "ClassDef", "type": {"nodeId": "140042472655552"}}, "_frommethod": {"kind": "ClassDef", "type": {"nodeId": "140042472655888"}}, "_convert2ma": {"kind": "ClassDef", "type": {"nodeId": "140042472656224"}}}, "numpy.polynomial.chebyshev": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}}, "numpy.polynomial.hermite": {"Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}}, "numpy.polynomial.hermite_e": {"HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}}, "numpy.polynomial.laguerre": {"Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}}, "numpy.polynomial.legendre": {"Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}}, "numpy.polynomial.polynomial": {"Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random._generator": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}}, "numpy.random._mt19937": {"MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}}, "numpy.random._pcg64": {"PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}}, "numpy.random._philox": {"Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}}, "numpy.random._sfc64": {"SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}}, "numpy.random.bit_generator": {"ISeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468638784"}}, "ISpawnableSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639120"}}, "SeedlessSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639456"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}}, "numpy.random.mtrand": {"RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing._private.utils": {"KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "_clear_and_catch_warnings_with_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243632"}}, "_clear_and_catch_warnings_without_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243968"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "unittest": {"FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}, "TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}, "TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}, "BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}, "IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140042578061888"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062224"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140042578062560"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062896"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140042578063232"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140042498329616"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498329952"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140042578064912"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140042578065248"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797200"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797536"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140042569633456"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140042568797872"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140042568798208"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042568798544"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042568798880"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799216"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799552"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140042569633792"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140042568799888"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800224"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800560"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634128"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634464"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569634800"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042569635136"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569635472"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800896"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042573225248"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140042573225920"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140042573226256"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140042573226592"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140042569638160"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140042573226928"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227264"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569349968"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569350640"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227600"}}}, "functools": {"_lru_cache_wrapper": {"kind": "ClassDef", "type": {"nodeId": "140042498327600"}}, "partial": {"kind": "ClassDef", "type": {"nodeId": "140042498327936"}}, "partialmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328272"}}, "_SingleDispatchCallable": {"kind": "ClassDef", "type": {"nodeId": "140042498328608"}}, "singledispatchmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328944"}}, "cached_property": {"kind": "ClassDef", "type": {"nodeId": "140042498329280"}}}, "numpy.polynomial._polybase": {"ABCPolyBase": {"kind": "ClassDef", "type": {"nodeId": "140042498326928"}}}, "numpy.polynomial.polyutils": {"RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042498326592"}}}, "threading": {"ThreadError": {"kind": "ClassDef", "type": {"nodeId": "140042569641184"}}, "local": {"kind": "ClassDef", "type": {"nodeId": "140042569641520"}}, "Thread": {"kind": "ClassDef", "type": {"nodeId": "140042569641856"}}, "_DummyThread": {"kind": "ClassDef", "type": {"nodeId": "140042569642192"}}, "Lock": {"kind": "ClassDef", "type": {"nodeId": "140042569642528"}}, "_RLock": {"kind": "ClassDef", "type": {"nodeId": "140042569642864"}}, "Condition": {"kind": "ClassDef", "type": {"nodeId": "140042569643200"}}, "Semaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643536"}}, "BoundedSemaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643872"}}, "Event": {"kind": "ClassDef", "type": {"nodeId": "140042569644208"}}, "Timer": {"kind": "ClassDef", "type": {"nodeId": "140042569644544"}}, "Barrier": {"kind": "ClassDef", "type": {"nodeId": "140042569644880"}}, "BrokenBarrierError": {"kind": "ClassDef", "type": {"nodeId": "140042569645216"}}}, "unittest.case": {"_BaseTestCaseContext": {"kind": "ClassDef", "type": {"nodeId": "140042480722864"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "_SupportsAbsAndDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042480723536"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "_AssertRaisesContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724544"}}, "_AssertWarnsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724880"}}}, "warnings": {"_OptionError": {"kind": "ClassDef", "type": {"nodeId": "140042480718160"}}, "WarningMessage": {"kind": "ClassDef", "type": {"nodeId": "140042480718496"}}, "catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042480718832"}}}, "unittest.loader": {"TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}}, "unittest.main": {"_TestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480726560"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}}, "unittest.result": {"TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}}, "unittest.runner": {"TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}}, "unittest.suite": {"BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}}, "unittest.async_case": {"IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "json": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}, "JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140042578063568"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140042578063904"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140042578064240"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140042578064576"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140042569040608"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140042573224912"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140042573727776"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140042573728112"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140042569635808"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636144"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636480"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042569636816"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637152"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637488"}}}, "numpy.compat": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "_thread": {"LockType": {"kind": "ClassDef", "type": {"nodeId": "140042569640848"}}, "_ExceptHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042569645552"}}}, "unittest._log": {"_AssertLogsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480727232"}}}, "logging": {"Filterer": {"kind": "ClassDef", "type": {"nodeId": "140042498341376"}}, "Manager": {"kind": "ClassDef", "type": {"nodeId": "140042498341712"}}, "Logger": {"kind": "ClassDef", "type": {"nodeId": "140042498342048"}}, "Handler": {"kind": "ClassDef", "type": {"nodeId": "140042498342384"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042480713792"}}, "BufferingFormatter": {"kind": "ClassDef", "type": {"nodeId": "140042480714128"}}, "Filter": {"kind": "ClassDef", "type": {"nodeId": "140042480714464"}}, "LogRecord": {"kind": "ClassDef", "type": {"nodeId": "140042480714800"}}, "LoggerAdapter": {"kind": "ClassDef", "type": {"nodeId": "140042480717824"}}, "StreamHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715136"}}, "FileHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715472"}}, "NullHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715808"}}, "PlaceHolder": {"kind": "ClassDef", "type": {"nodeId": "140042480716144"}}, "RootLogger": {"kind": "ClassDef", "type": {"nodeId": "140042480716480"}}, "PercentStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480716816"}}, "StrFormatStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717152"}}, "StringTemplateStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717488"}}}, "json.decoder": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}}, "json.encoder": {"JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140042573737856"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140042573737520"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140042573728784"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729120"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729456"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140042573729792"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140042573730128"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140042573730464"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573730800"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731136"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731472"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731808"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732144"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732480"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732816"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733152"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733488"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733824"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734160"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734496"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734832"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735168"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735504"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140042573735840"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736176"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736512"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736848"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573737184"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140042573726768"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140042573727104"}}}, "numpy.compat.py3k": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "textwrap": {"TextWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042569639168"}}}, "string": {"Template": {"kind": "ClassDef", "type": {"nodeId": "140042569638496"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042569638832"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140042573728448"}}}}, "names": {"subtypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "numpy", "kind": "Module", "fullname": "numpy"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "P", "kind": "LocalType"}, {"name": "S", "kind": "LocalType"}, {"name": "S1", "kind": "LocalType"}, {"name": "func_for_P", "kind": "Other"}, {"name": "R", "kind": "LocalType"}, {"name": "RImpl", "kind": "LocalType"}, {"name": "func_for_R", "kind": "Other"}, {"name": "a", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "func_abs", "kind": "Other"}, {"name": "b", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "numpy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "_array", "kind": "Module", "fullname": "array"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "ContextDecorator", "kind": "ImportedType", "fullname": "contextlib.ContextDecorator"}, {"name": "contextmanager", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "PytestTester", "kind": "LocalType"}, {"name": "_ctypes", "kind": "LocalType"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ctypeslib", "kind": "Module", "fullname": "numpy.ctypeslib"}, {"name": "fft", "kind": "Module", "fullname": "numpy.fft"}, {"name": "lib", "kind": "Module", "fullname": "numpy.lib"}, {"name": "linalg", "kind": "Module", "fullname": "numpy.linalg"}, {"name": "ma", "kind": "Module", "fullname": "numpy.ma"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial"}, {"name": "random", "kind": "Module", "fullname": "numpy.random"}, {"name": "testing", "kind": "Module", "fullname": "numpy.testing"}, {"name": "version", "kind": "Module", "fullname": "numpy.version"}, {"name": "defchararray", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "records", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "char", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "rec", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "require", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "nested_iters", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "block", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "_AnyStr_contra", "kind": "Other"}, {"name": "_IOProtocol", "kind": "LocalType"}, {"name": "_MemMapIOProtocol", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "__git_version__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "cumproduct", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "show_config", "kind": "Other"}, {"name": "_NdArraySubClass", "kind": "Other"}, {"name": "_DTypeScalar_co", "kind": "Other"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "dtype", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_FlatIterSelf", "kind": "Other"}, {"name": "flatiter", "kind": "LocalType"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "_ArraySelf", "kind": "Other"}, {"name": "_ArrayOrScalarCommon", "kind": "LocalType"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_FlexDType", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_ShapeType2", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ArrayUInt_co", "kind": "Other"}, {"name": "_ArrayInt_co", "kind": "Other"}, {"name": "_ArrayFloat_co", "kind": "Other"}, {"name": "_ArrayComplex_co", "kind": "Other"}, {"name": "_ArrayNumber_co", "kind": "Other"}, {"name": "_ArrayTD64_co", "kind": "Other"}, {"name": "_dtype", "kind": "Other"}, {"name": "_PyCapsule", "kind": "Other"}, {"name": "_SupportsItem", "kind": "LocalType"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "ndarray", "kind": "LocalType"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "generic", "kind": "LocalType"}, {"name": "number", "kind": "LocalType"}, {"name": "bool_", "kind": "LocalType"}, {"name": "object_", "kind": "LocalType"}, {"name": "_DatetimeScalar", "kind": "LocalType"}, {"name": "datetime64", "kind": "LocalType"}, {"name": "_IntValue", "kind": "Other"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "_ComplexValue", "kind": "Other"}, {"name": "integer", "kind": "LocalType"}, {"name": "signedinteger", "kind": "LocalType"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "timedelta64", "kind": "LocalType"}, {"name": "unsignedinteger", "kind": "LocalType"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uintp", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "inexact", "kind": "LocalType"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "floating", "kind": "LocalType"}, {"name": "float16", "kind": "Other"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "longfloat", "kind": "Other"}, {"name": "complexfloating", "kind": "LocalType"}, {"name": "complex64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "singlecomplex", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "cfloat", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "clongfloat", "kind": "Other"}, {"name": "longcomplex", "kind": "Other"}, {"name": "flexible", "kind": "LocalType"}, {"name": "void", "kind": "LocalType"}, {"name": "character", "kind": "LocalType"}, {"name": "bytes_", "kind": "LocalType"}, {"name": "string_", "kind": "Other"}, {"name": "str_", "kind": "LocalType"}, {"name": "unicode_", "kind": "Other"}, {"name": "Inf", "kind": "Other"}, {"name": "Infinity", "kind": "Other"}, {"name": "NAN", "kind": "Other"}, {"name": "NINF", "kind": "Other"}, {"name": "NZERO", "kind": "Other"}, {"name": "NaN", "kind": "Other"}, {"name": "PINF", "kind": "Other"}, {"name": "PZERO", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "euler_gamma", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "infty", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "ERR_IGNORE", "kind": "Other"}, {"name": "ERR_WARN", "kind": "Other"}, {"name": "ERR_RAISE", "kind": "Other"}, {"name": "ERR_CALL", "kind": "Other"}, {"name": "ERR_PRINT", "kind": "Other"}, {"name": "ERR_LOG", "kind": "Other"}, {"name": "ERR_DEFAULT", "kind": "Other"}, {"name": "SHIFT_DIVIDEBYZERO", "kind": "Other"}, {"name": "SHIFT_OVERFLOW", "kind": "Other"}, {"name": "SHIFT_UNDERFLOW", "kind": "Other"}, {"name": "SHIFT_INVALID", "kind": "Other"}, {"name": "FPE_DIVIDEBYZERO", "kind": "Other"}, {"name": "FPE_OVERFLOW", "kind": "Other"}, {"name": "FPE_UNDERFLOW", "kind": "Other"}, {"name": "FPE_INVALID", "kind": "Other"}, {"name": "FLOATING_POINT_SUPPORT", "kind": "Other"}, {"name": "UFUNC_BUFSIZE_DEFAULT", "kind": "Other"}, {"name": "little_endian", "kind": "Other"}, {"name": "True_", "kind": "Other"}, {"name": "False_", "kind": "Other"}, {"name": "UFUNC_PYVALS_NAME", "kind": "Other"}, {"name": "newaxis", "kind": "Other"}, {"name": "ufunc", "kind": "LocalType"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_not", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "cbrt", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "conj", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "deg2rad", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp2", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "float_power", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmax", "kind": "Other"}, {"name": "fmin", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "heaviside", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "invert", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isnat", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "logaddexp2", "kind": "Other"}, {"name": "logaddexp", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "matmul", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "positive", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rad2deg", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "reciprocal", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "rint", "kind": "Other"}, {"name": "sign", "kind": "Other"}, {"name": "signbit", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "spacing", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "square", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "trunc", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "_CopyMode", "kind": "LocalType"}, {"name": "ModuleDeprecationWarning", "kind": "LocalType"}, {"name": "VisibleDeprecationWarning", "kind": "LocalType"}, {"name": "ComplexWarning", "kind": "LocalType"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "TooHardError", "kind": "LocalType"}, {"name": "AxisError", "kind": "LocalType"}, {"name": "_CallType", "kind": "Other"}, {"name": "errstate", "kind": "LocalType"}, {"name": "_no_nep50_warning", "kind": "Other"}, {"name": "_get_promotion_state", "kind": "Other"}, {"name": "_set_promotion_state", "kind": "Other"}, {"name": "ndenumerate", "kind": "LocalType"}, {"name": "ndindex", "kind": "LocalType"}, {"name": "DataSource", "kind": "LocalType"}, {"name": "broadcast", "kind": "LocalType"}, {"name": "busdaycalendar", "kind": "LocalType"}, {"name": "finfo", "kind": "LocalType"}, {"name": "iinfo", "kind": "LocalType"}, {"name": "format_parser", "kind": "LocalType"}, {"name": "recarray", "kind": "LocalType"}, {"name": "record", "kind": "LocalType"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "nditer", "kind": "LocalType"}, {"name": "_MemMapModeKind", "kind": "Other"}, {"name": "memmap", "kind": "LocalType"}, {"name": "vectorize", "kind": "LocalType"}, {"name": "poly1d", "kind": "LocalType"}, {"name": "matrix", "kind": "LocalType"}, {"name": "_CharType", "kind": "Other"}, {"name": "_CharDType", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "chararray", "kind": "LocalType"}, {"name": "_SupportsDLPack", "kind": "LocalType"}, {"name": "from_dlpack", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "numpy.core._internal": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "c_intp", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "_PT", "kind": "Other"}, {"name": "_ctypes", "kind": "LocalType"}], "numpy._typing._callable": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "int8", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "complex128", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T1_contra", "kind": "Other"}, {"name": "_T2_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_NumberType_co", "kind": "Other"}, {"name": "_GenericType_co", "kind": "Other"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_SupportsLT", "kind": "LocalType"}, {"name": "_SupportsGT", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}], "numpy._typing._extended_precision": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_80Bit", "kind": "ImportedType", "fullname": "numpy._typing._80Bit"}, {"name": "_96Bit", "kind": "ImportedType", "fullname": "numpy._typing._96Bit"}, {"name": "_128Bit", "kind": "ImportedType", "fullname": "numpy._typing._128Bit"}, {"name": "_256Bit", "kind": "ImportedType", "fullname": "numpy._typing._256Bit"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}], "numpy.core.defchararray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "chararray", "kind": "ImportedType", "fullname": "numpy.chararray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "int_", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "U_co", "kind": "Other"}, {"name": "S_co", "kind": "Other"}, {"name": "i_co", "kind": "Other"}, {"name": "b_co", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "capitalize", "kind": "Other"}, {"name": "center", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "expandtabs", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "ljust", "kind": "Other"}, {"name": "lower", "kind": "Other"}, {"name": "lstrip", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rjust", "kind": "Other"}, {"name": "rpartition", "kind": "Other"}, {"name": "rsplit", "kind": "Other"}, {"name": "rstrip", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitlines", "kind": "Other"}, {"name": "strip", "kind": "Other"}, {"name": "swapcase", "kind": "Other"}, {"name": "title", "kind": "Other"}, {"name": "translate", "kind": "Other"}, {"name": "upper", "kind": "Other"}, {"name": "zfill", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "endswith", "kind": "Other"}, {"name": "find", "kind": "Other"}, {"name": "index", "kind": "Other"}, {"name": "isalpha", "kind": "Other"}, {"name": "isalnum", "kind": "Other"}, {"name": "isdecimal", "kind": "Other"}, {"name": "isdigit", "kind": "Other"}, {"name": "islower", "kind": "Other"}, {"name": "isnumeric", "kind": "Other"}, {"name": "isspace", "kind": "Other"}, {"name": "istitle", "kind": "Other"}, {"name": "isupper", "kind": "Other"}, {"name": "rfind", "kind": "Other"}, {"name": "rindex", "kind": "Other"}, {"name": "startswith", "kind": "Other"}, {"name": "str_len", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asarray", "kind": "Other"}], "numpy.core.records": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "format_parser", "kind": "ImportedType", "fullname": "numpy.format_parser"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_SCT", "kind": "Other"}, {"name": "_RecArray", "kind": "Other"}, {"name": "_SupportsReadInto", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "array", "kind": "Other"}], "numpy.core.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}], "numpy.core.fromnumeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Union", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "uint64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float16", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_SCT_uifcO", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}], "numpy.core._asarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_Requirements", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_RequirementsWithE", "kind": "Other"}, {"name": "require", "kind": "Other"}], "numpy.core._type_aliases": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_SCTypes", "kind": "LocalType"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}], "numpy.core._ufunc_config": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "ImportedType", "fullname": "numpy._SupportsWrite"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDict", "kind": "LocalType"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}], "numpy.core.arrayprint": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_GeneratorContextManager", "kind": "ImportedType", "fullname": "contextlib._GeneratorContextManager"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "longdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_FloatMode", "kind": "Other"}, {"name": "_FormatDict", "kind": "LocalType"}, {"name": "_FormatOptions", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}], "numpy.core.einsumfunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_OptimizeKind", "kind": "Other"}, {"name": "_CastingSafe", "kind": "Other"}, {"name": "_CastingUnsafe", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}], "numpy.core.multiarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "busdaycalendar", "kind": "ImportedType", "fullname": "numpy.busdaycalendar"}, {"name": "broadcast", "kind": "ImportedType", "fullname": "numpy.broadcast"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "nditer", "kind": "ImportedType", "fullname": "numpy.nditer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "uint8", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_IOProtocol", "kind": "ImportedType", "fullname": "numpy._IOProtocol"}, {"name": "_CopyMode", "kind": "ImportedType", "fullname": "numpy._CopyMode"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_UnitKind", "kind": "Other"}, {"name": "_RollKind", "kind": "Other"}, {"name": "_SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "_GetItemKeys", "kind": "Other"}, {"name": "_SetItemKeys", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "nested_iters", "kind": "Other"}], "numpy.core.numeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "ComplexWarning", "kind": "ImportedType", "fullname": "numpy.ComplexWarning"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_CorrelateMode", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}], "numpy.core.numerictypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CastFunc", "kind": "LocalType"}, {"name": "_TypeCodes", "kind": "LocalType"}, {"name": "_typedict", "kind": "LocalType"}, {"name": "_TypeTuple", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}], "numpy.core.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "block", "kind": "Other"}], "numpy.lib.arraypad": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ModeFunc", "kind": "LocalType"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "pad", "kind": "Other"}], "numpy.lib.arraysetops": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ushort", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SCTNoCast", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}], "numpy.lib.arrayterator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_Index", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}], "numpy.lib.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_TrimZerosSequence", "kind": "LocalType"}, {"name": "_SupportsWriteFlush", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "select", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "_MethodKind", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "digitize", "kind": "Other"}], "numpy.lib.histograms": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_BinKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}], "numpy.lib.index_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_BoolType", "kind": "Other"}, {"name": "_TupType", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "nd_grid", "kind": "LocalType"}, {"name": "MGridClass", "kind": "LocalType"}, {"name": "mgrid", "kind": "Other"}, {"name": "OGridClass", "kind": "LocalType"}, {"name": "ogrid", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "LocalType"}, {"name": "RClass", "kind": "LocalType"}, {"name": "r_", "kind": "Other"}, {"name": "CClass", "kind": "LocalType"}, {"name": "c_", "kind": "Other"}, {"name": "IndexExpression", "kind": "LocalType"}, {"name": "index_exp", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}], "numpy.lib.nanfunctions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}], "numpy.lib.npyio": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "zipfile", "kind": "Module", "fullname": "zipfile"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "float64", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "MaskedRecords", "kind": "ImportedType", "fullname": "numpy.ma.mrecords.MaskedRecords"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharType_co", "kind": "Other"}, {"name": "_CharType_contra", "kind": "Other"}, {"name": "_SupportsGetItem", "kind": "LocalType"}, {"name": "_SupportsRead", "kind": "LocalType"}, {"name": "_SupportsReadSeek", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "BagObj", "kind": "LocalType"}, {"name": "NpzFile", "kind": "LocalType"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}], "numpy.lib.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "NoReturn", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tup", "kind": "Other"}, {"name": "_5Tup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}], "numpy.lib.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayWrap", "kind": "LocalType"}, {"name": "_ArrayPrepare", "kind": "LocalType"}, {"name": "_SupportsArrayWrap", "kind": "LocalType"}, {"name": "_SupportsArrayPrepare", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "get_array_prepare", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}], "numpy.lib.stride_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DummyArray", "kind": "LocalType"}, {"name": "as_strided", "kind": "Other"}, {"name": "sliding_window_view", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}], "numpy.lib.twodim_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_MaskFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}], "numpy.lib.type_check": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_64Bit", "kind": "ImportedType", "fullname": "numpy._typing._64Bit"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}], "numpy.lib.ufunclike": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "NDArray", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}], "numpy.lib.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_FuncType", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "_Deprecate", "kind": "LocalType"}, {"name": "get_include", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}], "numpy._pytesttester": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PytestTester", "kind": "LocalType"}], "numpy._typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "set_module", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.ctypeslib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_c_intp", "kind": "ImportedType", "fullname": "ctypes.c_int64"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ctypes", "kind": "ImportedType", "fullname": "numpy.core._internal._ctypes"}, {"name": "flagsobj", "kind": "ImportedType", "fullname": "numpy.core.multiarray.flagsobj"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DTypeOptional", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_FlagsKind", "kind": "Other"}, {"name": "_ndptr", "kind": "LocalType"}, {"name": "_concrete_ndptr", "kind": "LocalType"}, {"name": "load_library", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "c_intp", "kind": "Other"}, {"name": "ndpointer", "kind": "Other"}, {"name": "as_ctypes_type", "kind": "Other"}, {"name": "as_array", "kind": "Other"}, {"name": "as_ctypes", "kind": "Other"}], "numpy.fft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.lib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "math", "kind": "Module", "fullname": "math"}, {"name": "Any", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "version", "kind": "Other"}, {"name": "format", "kind": "Module", "fullname": "numpy.lib.format"}, {"name": "mixins", "kind": "Module", "fullname": "numpy.lib.mixins"}, {"name": "scimath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "stride_tricks", "kind": "Module", "fullname": "numpy.lib.stride_tricks"}, {"name": "NumpyVersion", "kind": "LocalType"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}], "numpy.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "LinAlgError", "kind": "LocalType"}], "numpy.ma": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "extras", "kind": "Module", "fullname": "numpy.ma.extras"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "MaskType", "kind": "Other"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ceil", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "masked", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "ndim", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "chebyshev", "kind": "Module", "fullname": "numpy.polynomial.chebyshev"}, {"name": "hermite", "kind": "Module", "fullname": "numpy.polynomial.hermite"}, {"name": "hermite_e", "kind": "Module", "fullname": "numpy.polynomial.hermite_e"}, {"name": "laguerre", "kind": "Module", "fullname": "numpy.polynomial.laguerre"}, {"name": "legendre", "kind": "Module", "fullname": "numpy.polynomial.legendre"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial.polynomial"}, {"name": "Chebyshev", "kind": "LocalType"}, {"name": "Hermite", "kind": "LocalType"}, {"name": "HermiteE", "kind": "LocalType"}, {"name": "Laguerre", "kind": "LocalType"}, {"name": "Legendre", "kind": "LocalType"}, {"name": "Polynomial", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "set_default_printstyle", "kind": "Other"}], "numpy.random": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}, {"name": "MT19937", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.testing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "verbose", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "temppath", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "run_module_suite", "kind": "Other"}], "numpy.version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}, {"name": "__ALL__", "kind": "Other"}, {"name": "vinfo", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "full_version", "kind": "Other"}, {"name": "git_revision", "kind": "Other"}, {"name": "release", "kind": "Other"}, {"name": "short_version", "kind": "Other"}], "numpy.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "numpy.matrixlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "bmat", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "numpy._typing._nbit": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}], "numpy._typing._scalars": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}], "numpy._typing._generic_alias": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_to_str", "kind": "Other"}, {"name": "_parse_parameters", "kind": "Other"}, {"name": "_reconstruct_alias", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_GENERIC_ALIAS_TYPE", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}], "numpy._typing._nested_sequence": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "LocalType"}], "__future__": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_VersionInfo", "kind": "Other"}, {"name": "_Feature", "kind": "LocalType"}, {"name": "absolute_import", "kind": "Other"}, {"name": "division", "kind": "Other"}, {"name": "generators", "kind": "Other"}, {"name": "nested_scopes", "kind": "Other"}, {"name": "print_function", "kind": "Other"}, {"name": "unicode_literals", "kind": "Other"}, {"name": "with_statement", "kind": "Other"}, {"name": "barry_as_FLUFL", "kind": "Other"}, {"name": "generator_stop", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "all_feature_names", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.core.umath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_multiarray_umath", "kind": "Other"}, {"name": "_UFUNC_API", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_ones_like", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.ma.mrecords": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "MaskedArray", "kind": "ImportedType", "fullname": "numpy.ma.core.MaskedArray"}, {"name": "__all__", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "MaskedRecords", "kind": "LocalType"}, {"name": "mrecarray", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromtextfile", "kind": "Other"}, {"name": "addfield", "kind": "Other"}], "zipfile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_DateTuple", "kind": "Other"}, {"name": "_ReadWriteMode", "kind": "Other"}, {"name": "_ReadWriteBinaryMode", "kind": "Other"}, {"name": "_ZipFileMode", "kind": "Other"}, {"name": "BadZipFile", "kind": "LocalType"}, {"name": "BadZipfile", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "LargeZipFile", "kind": "LocalType"}, {"name": "_ZipStream", "kind": "LocalType"}, {"name": "_SupportsReadSeekTell", "kind": "LocalType"}, {"name": "_ClosableZipStream", "kind": "LocalType"}, {"name": "ZipExtFile", "kind": "LocalType"}, {"name": "_Writer", "kind": "LocalType"}, {"name": "ZipFile", "kind": "LocalType"}, {"name": "PyZipFile", "kind": "LocalType"}, {"name": "ZipInfo", "kind": "LocalType"}, {"name": "_PathOpenProtocol", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "is_zipfile", "kind": "Other"}, {"name": "ZIP_STORED", "kind": "Other"}, {"name": "ZIP_DEFLATED", "kind": "Other"}, {"name": "ZIP64_LIMIT", "kind": "Other"}, {"name": "ZIP_FILECOUNT_LIMIT", "kind": "Other"}, {"name": "ZIP_MAX_COMMENT", "kind": "Other"}, {"name": "ZIP_BZIP2", "kind": "Other"}, {"name": "ZIP_LZMA", "kind": "Other"}], "ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "mod", "kind": "ImportedType", "fullname": "_ast.mod"}, {"name": "type_ignore", "kind": "ImportedType", "fullname": "_ast.type_ignore"}, {"name": "TypeIgnore", "kind": "ImportedType", "fullname": "_ast.TypeIgnore"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "_ast.FunctionType"}, {"name": "Module", "kind": "ImportedType", "fullname": "_ast.Module"}, {"name": "Interactive", "kind": "ImportedType", "fullname": "_ast.Interactive"}, {"name": "Expression", "kind": "ImportedType", "fullname": "_ast.Expression"}, {"name": "stmt", "kind": "ImportedType", "fullname": "_ast.stmt"}, {"name": "FunctionDef", "kind": "ImportedType", "fullname": "_ast.FunctionDef"}, {"name": "AsyncFunctionDef", "kind": "ImportedType", "fullname": "_ast.AsyncFunctionDef"}, {"name": "ClassDef", "kind": "ImportedType", "fullname": "_ast.ClassDef"}, {"name": "Return", "kind": "ImportedType", "fullname": "_ast.Return"}, {"name": "Delete", "kind": "ImportedType", "fullname": "_ast.Delete"}, {"name": "Assign", "kind": "ImportedType", "fullname": "_ast.Assign"}, {"name": "AugAssign", "kind": "ImportedType", "fullname": "_ast.AugAssign"}, {"name": "AnnAssign", "kind": "ImportedType", "fullname": "_ast.AnnAssign"}, {"name": "For", "kind": "ImportedType", "fullname": "_ast.For"}, {"name": "AsyncFor", "kind": "ImportedType", "fullname": "_ast.AsyncFor"}, {"name": "While", "kind": "ImportedType", "fullname": "_ast.While"}, {"name": "If", "kind": "ImportedType", "fullname": "_ast.If"}, {"name": "With", "kind": "ImportedType", "fullname": "_ast.With"}, {"name": "AsyncWith", "kind": "ImportedType", "fullname": "_ast.AsyncWith"}, {"name": "Raise", "kind": "ImportedType", "fullname": "_ast.Raise"}, {"name": "Try", "kind": "ImportedType", "fullname": "_ast.Try"}, {"name": "Assert", "kind": "ImportedType", "fullname": "_ast.Assert"}, {"name": "Import", "kind": "ImportedType", "fullname": "_ast.Import"}, {"name": "ImportFrom", "kind": "ImportedType", "fullname": "_ast.ImportFrom"}, {"name": "Global", "kind": "ImportedType", "fullname": "_ast.Global"}, {"name": "Nonlocal", "kind": "ImportedType", "fullname": "_ast.Nonlocal"}, {"name": "Expr", "kind": "ImportedType", "fullname": "_ast.Expr"}, {"name": "Pass", "kind": "ImportedType", "fullname": "_ast.Pass"}, {"name": "Break", "kind": "ImportedType", "fullname": "_ast.Break"}, {"name": "Continue", "kind": "ImportedType", "fullname": "_ast.Continue"}, {"name": "expr", "kind": "ImportedType", "fullname": "_ast.expr"}, {"name": "BoolOp", "kind": "ImportedType", "fullname": "_ast.BoolOp"}, {"name": "BinOp", "kind": "ImportedType", "fullname": "_ast.BinOp"}, {"name": "UnaryOp", "kind": "ImportedType", "fullname": "_ast.UnaryOp"}, {"name": "Lambda", "kind": "ImportedType", "fullname": "_ast.Lambda"}, {"name": "IfExp", "kind": "ImportedType", "fullname": "_ast.IfExp"}, {"name": "Dict", "kind": "ImportedType", "fullname": "_ast.Dict"}, {"name": "Set", "kind": "ImportedType", "fullname": "_ast.Set"}, {"name": "ListComp", "kind": "ImportedType", "fullname": "_ast.ListComp"}, {"name": "SetComp", "kind": "ImportedType", "fullname": "_ast.SetComp"}, {"name": "DictComp", "kind": "ImportedType", "fullname": "_ast.DictComp"}, {"name": "GeneratorExp", "kind": "ImportedType", "fullname": "_ast.GeneratorExp"}, {"name": "Await", "kind": "ImportedType", "fullname": "_ast.Await"}, {"name": "Yield", "kind": "ImportedType", "fullname": "_ast.Yield"}, {"name": "YieldFrom", "kind": "ImportedType", "fullname": "_ast.YieldFrom"}, {"name": "Compare", "kind": "ImportedType", "fullname": "_ast.Compare"}, {"name": "Call", "kind": "ImportedType", "fullname": "_ast.Call"}, {"name": "FormattedValue", "kind": "ImportedType", "fullname": "_ast.FormattedValue"}, {"name": "JoinedStr", "kind": "ImportedType", "fullname": "_ast.JoinedStr"}, {"name": "Constant", "kind": "ImportedType", "fullname": "_ast.Constant"}, {"name": "NamedExpr", "kind": "ImportedType", "fullname": "_ast.NamedExpr"}, {"name": "Attribute", "kind": "ImportedType", "fullname": "_ast.Attribute"}, {"name": "Slice", "kind": "ImportedType", "fullname": "_ast.Slice"}, {"name": "Subscript", "kind": "ImportedType", "fullname": "_ast.Subscript"}, {"name": "Starred", "kind": "ImportedType", "fullname": "_ast.Starred"}, {"name": "Name", "kind": "ImportedType", "fullname": "_ast.Name"}, {"name": "List", "kind": "ImportedType", "fullname": "_ast.List"}, {"name": "Tuple", "kind": "ImportedType", "fullname": "_ast.Tuple"}, {"name": "expr_context", "kind": "ImportedType", "fullname": "_ast.expr_context"}, {"name": "Del", "kind": "ImportedType", "fullname": "_ast.Del"}, {"name": "Load", "kind": "ImportedType", "fullname": "_ast.Load"}, {"name": "Store", "kind": "ImportedType", "fullname": "_ast.Store"}, {"name": "boolop", "kind": "ImportedType", "fullname": "_ast.boolop"}, {"name": "And", "kind": "ImportedType", "fullname": "_ast.And"}, {"name": "Or", "kind": "ImportedType", "fullname": "_ast.Or"}, {"name": "operator", "kind": "ImportedType", "fullname": "_ast.operator"}, {"name": "Add", "kind": "ImportedType", "fullname": "_ast.Add"}, {"name": "BitAnd", "kind": "ImportedType", "fullname": "_ast.BitAnd"}, {"name": "BitOr", "kind": "ImportedType", "fullname": "_ast.BitOr"}, {"name": "BitXor", "kind": "ImportedType", "fullname": "_ast.BitXor"}, {"name": "Div", "kind": "ImportedType", "fullname": "_ast.Div"}, {"name": "FloorDiv", "kind": "ImportedType", "fullname": "_ast.FloorDiv"}, {"name": "LShift", "kind": "ImportedType", "fullname": "_ast.LShift"}, {"name": "Mod", "kind": "ImportedType", "fullname": "_ast.Mod"}, {"name": "Mult", "kind": "ImportedType", "fullname": "_ast.Mult"}, {"name": "MatMult", "kind": "ImportedType", "fullname": "_ast.MatMult"}, {"name": "Pow", "kind": "ImportedType", "fullname": "_ast.Pow"}, {"name": "RShift", "kind": "ImportedType", "fullname": "_ast.RShift"}, {"name": "Sub", "kind": "ImportedType", "fullname": "_ast.Sub"}, {"name": "unaryop", "kind": "ImportedType", "fullname": "_ast.unaryop"}, {"name": "Invert", "kind": "ImportedType", "fullname": "_ast.Invert"}, {"name": "Not", "kind": "ImportedType", "fullname": "_ast.Not"}, {"name": "UAdd", "kind": "ImportedType", "fullname": "_ast.UAdd"}, {"name": "USub", "kind": "ImportedType", "fullname": "_ast.USub"}, {"name": "cmpop", "kind": "ImportedType", "fullname": "_ast.cmpop"}, {"name": "Eq", "kind": "ImportedType", "fullname": "_ast.Eq"}, {"name": "Gt", "kind": "ImportedType", "fullname": "_ast.Gt"}, {"name": "GtE", "kind": "ImportedType", "fullname": "_ast.GtE"}, {"name": "In", "kind": "ImportedType", "fullname": "_ast.In"}, {"name": "Is", "kind": "ImportedType", "fullname": "_ast.Is"}, {"name": "IsNot", "kind": "ImportedType", "fullname": "_ast.IsNot"}, {"name": "Lt", "kind": "ImportedType", "fullname": "_ast.Lt"}, {"name": "LtE", "kind": "ImportedType", "fullname": "_ast.LtE"}, {"name": "NotEq", "kind": "ImportedType", "fullname": "_ast.NotEq"}, {"name": "NotIn", "kind": "ImportedType", "fullname": "_ast.NotIn"}, {"name": "comprehension", "kind": "ImportedType", "fullname": "_ast.comprehension"}, {"name": "excepthandler", "kind": "ImportedType", "fullname": "_ast.excepthandler"}, {"name": "ExceptHandler", "kind": "ImportedType", "fullname": "_ast.ExceptHandler"}, {"name": "arguments", "kind": "ImportedType", "fullname": "_ast.arguments"}, {"name": "arg", "kind": "ImportedType", "fullname": "_ast.arg"}, {"name": "keyword", "kind": "ImportedType", "fullname": "_ast.keyword"}, {"name": "alias", "kind": "ImportedType", "fullname": "_ast.alias"}, {"name": "withitem", "kind": "ImportedType", "fullname": "_ast.withitem"}, {"name": "Match", "kind": "ImportedType", "fullname": "_ast.Match"}, {"name": "pattern", "kind": "ImportedType", "fullname": "_ast.pattern"}, {"name": "match_case", "kind": "ImportedType", "fullname": "_ast.match_case"}, {"name": "MatchValue", "kind": "ImportedType", "fullname": "_ast.MatchValue"}, {"name": "MatchSingleton", "kind": "ImportedType", "fullname": "_ast.MatchSingleton"}, {"name": "MatchSequence", "kind": "ImportedType", "fullname": "_ast.MatchSequence"}, {"name": "MatchStar", "kind": "ImportedType", "fullname": "_ast.MatchStar"}, {"name": "MatchMapping", "kind": "ImportedType", "fullname": "_ast.MatchMapping"}, {"name": "MatchClass", "kind": "ImportedType", "fullname": "_ast.MatchClass"}, {"name": "MatchAs", "kind": "ImportedType", "fullname": "_ast.MatchAs"}, {"name": "MatchOr", "kind": "ImportedType", "fullname": "_ast.MatchOr"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_ABC", "kind": "LocalType"}, {"name": "Num", "kind": "LocalType"}, {"name": "Str", "kind": "LocalType"}, {"name": "Bytes", "kind": "LocalType"}, {"name": "NameConstant", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "ExtSlice", "kind": "LocalType"}, {"name": "Index", "kind": "LocalType"}, {"name": "Suite", "kind": "LocalType"}, {"name": "AugLoad", "kind": "LocalType"}, {"name": "AugStore", "kind": "LocalType"}, {"name": "Param", "kind": "LocalType"}, {"name": "NodeVisitor", "kind": "LocalType"}, {"name": "NodeTransformer", "kind": "LocalType"}, {"name": "_T", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "unparse", "kind": "Other"}, {"name": "copy_location", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "fix_missing_locations", "kind": "Other"}, {"name": "get_docstring", "kind": "Other"}, {"name": "increment_lineno", "kind": "Other"}, {"name": "iter_child_nodes", "kind": "Other"}, {"name": "iter_fields", "kind": "Other"}, {"name": "literal_eval", "kind": "Other"}, {"name": "get_source_segment", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "main", "kind": "Other"}], "numpy.core.overrides": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "functools", "kind": "Module", "fullname": "functools"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "add_docstring", "kind": "Other"}, {"name": "implement_array_function", "kind": "Other"}, {"name": "_get_implementing_args", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "ARRAY_FUNCTION_ENABLED", "kind": "Other"}, {"name": "array_function_like_doc", "kind": "Other"}, {"name": "set_array_function_like_doc", "kind": "Other"}, {"name": "ArgSpec", "kind": "LocalType"}, {"name": "verify_matching_signatures", "kind": "Other"}, {"name": "set_module", "kind": "Other"}, {"name": "array_function_dispatch", "kind": "Other"}, {"name": "array_function_from_dispatcher", "kind": "Other"}], "numpy._typing._char_codes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}], "numpy._typing._shape": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}], "numpy._typing._dtype_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DType", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_DTypeLikeNested", "kind": "Other"}, {"name": "_DTypeDictBase", "kind": "LocalType"}, {"name": "_DTypeDict", "kind": "LocalType"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}], "numpy._typing._array_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Protocol", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DualArrayLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}], "numpy._typing._ufunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_3Tuple", "kind": "Other"}, {"name": "_4Tuple", "kind": "Other"}, {"name": "_NTypes", "kind": "Other"}, {"name": "_IDType", "kind": "Other"}, {"name": "_NameType", "kind": "Other"}, {"name": "_SupportsArrayUFunc", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.fft._pocketfft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_NormKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}], "numpy.fft.helper": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}], "numpy.lib.format": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "EXPECTED_KEYS", "kind": "Other"}, {"name": "MAGIC_PREFIX", "kind": "Other"}, {"name": "MAGIC_LEN", "kind": "Other"}, {"name": "ARRAY_ALIGN", "kind": "Other"}, {"name": "BUFFER_SIZE", "kind": "Other"}, {"name": "magic", "kind": "Other"}, {"name": "read_magic", "kind": "Other"}, {"name": "dtype_to_descr", "kind": "Other"}, {"name": "descr_to_dtype", "kind": "Other"}, {"name": "header_data_from_array_1_0", "kind": "Other"}, {"name": "write_array_header_1_0", "kind": "Other"}, {"name": "write_array_header_2_0", "kind": "Other"}, {"name": "read_array_header_1_0", "kind": "Other"}, {"name": "read_array_header_2_0", "kind": "Other"}, {"name": "write_array", "kind": "Other"}, {"name": "read_array", "kind": "Other"}, {"name": "open_memmap", "kind": "Other"}], "numpy.lib.mixins": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "__all__", "kind": "Other"}, {"name": "NDArrayOperatorsMixin", "kind": "LocalType"}], "numpy.lib.scimath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logn", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}], "numpy.lib._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "NumpyVersion", "kind": "LocalType"}], "math": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SupportsFloatOrIndex", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "tau", "kind": "Other"}, {"name": "acos", "kind": "Other"}, {"name": "acosh", "kind": "Other"}, {"name": "asin", "kind": "Other"}, {"name": "asinh", "kind": "Other"}, {"name": "atan", "kind": "Other"}, {"name": "atan2", "kind": "Other"}, {"name": "atanh", "kind": "Other"}, {"name": "_SupportsCeil", "kind": "LocalType"}, {"name": "ceil", "kind": "Other"}, {"name": "comb", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "dist", "kind": "Other"}, {"name": "erf", "kind": "Other"}, {"name": "erfc", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "factorial", "kind": "Other"}, {"name": "_SupportsFloor", "kind": "LocalType"}, {"name": "floor", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "fsum", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isqrt", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "lgamma", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "perm", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "_SupportsTrunc", "kind": "LocalType"}, {"name": "trunc", "kind": "Other"}, {"name": "ulp", "kind": "Other"}], "numpy.linalg.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "int32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "LinAlgError", "kind": "ImportedType", "fullname": "numpy.linalg.LinAlgError"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}], "numpy.ma.extras": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "ImportedType", "fullname": "numpy.lib.index_tricks.AxisConcatenator"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "_fromnxfunction", "kind": "LocalType"}, {"name": "_fromnxfunction_single", "kind": "LocalType"}, {"name": "_fromnxfunction_seq", "kind": "LocalType"}, {"name": "_fromnxfunction_allargs", "kind": "LocalType"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "MAxisConcatenator", "kind": "LocalType"}, {"name": "mr_class", "kind": "LocalType"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}], "numpy.ma.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float64", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "expand_dims", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "MaskType", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "MaskedArrayFutureWarning", "kind": "LocalType"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "get_data", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "_MaskedUFunc", "kind": "LocalType"}, {"name": "_MaskedUnaryOperation", "kind": "LocalType"}, {"name": "_MaskedBinaryOperation", "kind": "LocalType"}, {"name": "_DomainedBinaryOperation", "kind": "LocalType"}, {"name": "exp", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "get_mask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "_MaskedPrintOption", "kind": "LocalType"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "MaskedIterator", "kind": "LocalType"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "MaskedConstant", "kind": "LocalType"}, {"name": "masked", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "_extrema_operation", "kind": "LocalType"}, {"name": "min", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "_frommethod", "kind": "LocalType"}, {"name": "all", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "_convert2ma", "kind": "LocalType"}, {"name": "arange", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}], "numpy.polynomial.chebyshev": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "chebtrim", "kind": "Other"}, {"name": "poly2cheb", "kind": "Other"}, {"name": "cheb2poly", "kind": "Other"}, {"name": "chebdomain", "kind": "Other"}, {"name": "chebzero", "kind": "Other"}, {"name": "chebone", "kind": "Other"}, {"name": "chebx", "kind": "Other"}, {"name": "chebline", "kind": "Other"}, {"name": "chebfromroots", "kind": "Other"}, {"name": "chebadd", "kind": "Other"}, {"name": "chebsub", "kind": "Other"}, {"name": "chebmulx", "kind": "Other"}, {"name": "chebmul", "kind": "Other"}, {"name": "chebdiv", "kind": "Other"}, {"name": "chebpow", "kind": "Other"}, {"name": "chebder", "kind": "Other"}, {"name": "chebint", "kind": "Other"}, {"name": "chebval", "kind": "Other"}, {"name": "chebval2d", "kind": "Other"}, {"name": "chebgrid2d", "kind": "Other"}, {"name": "chebval3d", "kind": "Other"}, {"name": "chebgrid3d", "kind": "Other"}, {"name": "chebvander", "kind": "Other"}, {"name": "chebvander2d", "kind": "Other"}, {"name": "chebvander3d", "kind": "Other"}, {"name": "chebfit", "kind": "Other"}, {"name": "chebcompanion", "kind": "Other"}, {"name": "chebroots", "kind": "Other"}, {"name": "chebinterpolate", "kind": "Other"}, {"name": "chebgauss", "kind": "Other"}, {"name": "chebweight", "kind": "Other"}, {"name": "chebpts1", "kind": "Other"}, {"name": "chebpts2", "kind": "Other"}, {"name": "Chebyshev", "kind": "LocalType"}], "numpy.polynomial.hermite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermtrim", "kind": "Other"}, {"name": "poly2herm", "kind": "Other"}, {"name": "herm2poly", "kind": "Other"}, {"name": "hermdomain", "kind": "Other"}, {"name": "hermzero", "kind": "Other"}, {"name": "hermone", "kind": "Other"}, {"name": "hermx", "kind": "Other"}, {"name": "hermline", "kind": "Other"}, {"name": "hermfromroots", "kind": "Other"}, {"name": "hermadd", "kind": "Other"}, {"name": "hermsub", "kind": "Other"}, {"name": "hermmulx", "kind": "Other"}, {"name": "hermmul", "kind": "Other"}, {"name": "hermdiv", "kind": "Other"}, {"name": "hermpow", "kind": "Other"}, {"name": "hermder", "kind": "Other"}, {"name": "hermint", "kind": "Other"}, {"name": "hermval", "kind": "Other"}, {"name": "hermval2d", "kind": "Other"}, {"name": "hermgrid2d", "kind": "Other"}, {"name": "hermval3d", "kind": "Other"}, {"name": "hermgrid3d", "kind": "Other"}, {"name": "hermvander", "kind": "Other"}, {"name": "hermvander2d", "kind": "Other"}, {"name": "hermvander3d", "kind": "Other"}, {"name": "hermfit", "kind": "Other"}, {"name": "hermcompanion", "kind": "Other"}, {"name": "hermroots", "kind": "Other"}, {"name": "hermgauss", "kind": "Other"}, {"name": "hermweight", "kind": "Other"}, {"name": "Hermite", "kind": "LocalType"}], "numpy.polynomial.hermite_e": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermetrim", "kind": "Other"}, {"name": "poly2herme", "kind": "Other"}, {"name": "herme2poly", "kind": "Other"}, {"name": "hermedomain", "kind": "Other"}, {"name": "hermezero", "kind": "Other"}, {"name": "hermeone", "kind": "Other"}, {"name": "hermex", "kind": "Other"}, {"name": "hermeline", "kind": "Other"}, {"name": "hermefromroots", "kind": "Other"}, {"name": "hermeadd", "kind": "Other"}, {"name": "hermesub", "kind": "Other"}, {"name": "hermemulx", "kind": "Other"}, {"name": "hermemul", "kind": "Other"}, {"name": "hermediv", "kind": "Other"}, {"name": "hermepow", "kind": "Other"}, {"name": "hermeder", "kind": "Other"}, {"name": "hermeint", "kind": "Other"}, {"name": "hermeval", "kind": "Other"}, {"name": "hermeval2d", "kind": "Other"}, {"name": "hermegrid2d", "kind": "Other"}, {"name": "hermeval3d", "kind": "Other"}, {"name": "hermegrid3d", "kind": "Other"}, {"name": "hermevander", "kind": "Other"}, {"name": "hermevander2d", "kind": "Other"}, {"name": "hermevander3d", "kind": "Other"}, {"name": "hermefit", "kind": "Other"}, {"name": "hermecompanion", "kind": "Other"}, {"name": "hermeroots", "kind": "Other"}, {"name": "hermegauss", "kind": "Other"}, {"name": "hermeweight", "kind": "Other"}, {"name": "HermiteE", "kind": "LocalType"}], "numpy.polynomial.laguerre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "lagtrim", "kind": "Other"}, {"name": "poly2lag", "kind": "Other"}, {"name": "lag2poly", "kind": "Other"}, {"name": "lagdomain", "kind": "Other"}, {"name": "lagzero", "kind": "Other"}, {"name": "lagone", "kind": "Other"}, {"name": "lagx", "kind": "Other"}, {"name": "lagline", "kind": "Other"}, {"name": "lagfromroots", "kind": "Other"}, {"name": "lagadd", "kind": "Other"}, {"name": "lagsub", "kind": "Other"}, {"name": "lagmulx", "kind": "Other"}, {"name": "lagmul", "kind": "Other"}, {"name": "lagdiv", "kind": "Other"}, {"name": "lagpow", "kind": "Other"}, {"name": "lagder", "kind": "Other"}, {"name": "lagint", "kind": "Other"}, {"name": "lagval", "kind": "Other"}, {"name": "lagval2d", "kind": "Other"}, {"name": "laggrid2d", "kind": "Other"}, {"name": "lagval3d", "kind": "Other"}, {"name": "laggrid3d", "kind": "Other"}, {"name": "lagvander", "kind": "Other"}, {"name": "lagvander2d", "kind": "Other"}, {"name": "lagvander3d", "kind": "Other"}, {"name": "lagfit", "kind": "Other"}, {"name": "lagcompanion", "kind": "Other"}, {"name": "lagroots", "kind": "Other"}, {"name": "laggauss", "kind": "Other"}, {"name": "lagweight", "kind": "Other"}, {"name": "Laguerre", "kind": "LocalType"}], "numpy.polynomial.legendre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "legtrim", "kind": "Other"}, {"name": "poly2leg", "kind": "Other"}, {"name": "leg2poly", "kind": "Other"}, {"name": "legdomain", "kind": "Other"}, {"name": "legzero", "kind": "Other"}, {"name": "legone", "kind": "Other"}, {"name": "legx", "kind": "Other"}, {"name": "legline", "kind": "Other"}, {"name": "legfromroots", "kind": "Other"}, {"name": "legadd", "kind": "Other"}, {"name": "legsub", "kind": "Other"}, {"name": "legmulx", "kind": "Other"}, {"name": "legmul", "kind": "Other"}, {"name": "legdiv", "kind": "Other"}, {"name": "legpow", "kind": "Other"}, {"name": "legder", "kind": "Other"}, {"name": "legint", "kind": "Other"}, {"name": "legval", "kind": "Other"}, {"name": "legval2d", "kind": "Other"}, {"name": "leggrid2d", "kind": "Other"}, {"name": "legval3d", "kind": "Other"}, {"name": "leggrid3d", "kind": "Other"}, {"name": "legvander", "kind": "Other"}, {"name": "legvander2d", "kind": "Other"}, {"name": "legvander3d", "kind": "Other"}, {"name": "legfit", "kind": "Other"}, {"name": "legcompanion", "kind": "Other"}, {"name": "legroots", "kind": "Other"}, {"name": "leggauss", "kind": "Other"}, {"name": "legweight", "kind": "Other"}, {"name": "Legendre", "kind": "LocalType"}], "numpy.polynomial.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "polytrim", "kind": "Other"}, {"name": "polydomain", "kind": "Other"}, {"name": "polyzero", "kind": "Other"}, {"name": "polyone", "kind": "Other"}, {"name": "polyx", "kind": "Other"}, {"name": "polyline", "kind": "Other"}, {"name": "polyfromroots", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymulx", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polypow", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyvalfromroots", "kind": "Other"}, {"name": "polyval2d", "kind": "Other"}, {"name": "polygrid2d", "kind": "Other"}, {"name": "polyval3d", "kind": "Other"}, {"name": "polygrid3d", "kind": "Other"}, {"name": "polyvander", "kind": "Other"}, {"name": "polyvander2d", "kind": "Other"}, {"name": "polyvander3d", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyroots", "kind": "Other"}, {"name": "Polynomial", "kind": "LocalType"}], "numpy.random._generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}], "numpy.random._mt19937": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_MT19937Internal", "kind": "LocalType"}, {"name": "_MT19937State", "kind": "LocalType"}, {"name": "MT19937", "kind": "LocalType"}], "numpy.random._pcg64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PCG64Internal", "kind": "LocalType"}, {"name": "_PCG64State", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}], "numpy.random._philox": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PhiloxInternal", "kind": "LocalType"}, {"name": "_PhiloxState", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}], "numpy.random._sfc64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_SFC64Internal", "kind": "LocalType"}, {"name": "_SFC64State", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}], "numpy.random.bit_generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Lock", "kind": "ImportedType", "fullname": "threading.Lock"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypedDict", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DTypeLikeUint32", "kind": "Other"}, {"name": "_DTypeLikeUint64", "kind": "Other"}, {"name": "_SeedSeqState", "kind": "LocalType"}, {"name": "_Interface", "kind": "LocalType"}, {"name": "ISeedSequence", "kind": "LocalType"}, {"name": "ISpawnableSeedSequence", "kind": "LocalType"}, {"name": "SeedlessSeedSequence", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}], "numpy.random.mtrand": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "_rand", "kind": "Other"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}], "numpy.testing._private.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ast", "kind": "Module", "fullname": "ast"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "warnings", "kind": "Module", "fullname": "warnings"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "contextlib", "kind": "Module", "fullname": "contextlib"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ET", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_ComparisonFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_with_records", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_without_records", "kind": "LocalType"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "verbose", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "assert_equal", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "temppath", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}], "unittest": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "load_tests", "kind": "Other"}, {"name": "__dir__", "kind": "Other"}], "numpy._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "json", "kind": "Module", "fullname": "json"}, {"name": "version_json", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}], "numpy.matrixlib.defmatrix": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "numpy.compat._inspect": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "__all__", "kind": "Other"}, {"name": "ismethod", "kind": "Other"}, {"name": "isfunction", "kind": "Other"}, {"name": "iscode", "kind": "Other"}, {"name": "CO_OPTIMIZED", "kind": "Other"}, {"name": "CO_NEWLOCALS", "kind": "Other"}, {"name": "CO_VARARGS", "kind": "Other"}, {"name": "CO_VARKEYWORDS", "kind": "Other"}, {"name": "getargs", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "getargvalues", "kind": "Other"}, {"name": "joinseq", "kind": "Other"}, {"name": "strseq", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "formatargvalues", "kind": "Other"}], "functools": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsAllComparisons", "kind": "ImportedType", "fullname": "_typeshed.SupportsAllComparisons"}, {"name": "SupportsItems", "kind": "ImportedType", "fullname": "_typeshed.SupportsItems"}, {"name": "Callable", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_AnyCallable", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "reduce", "kind": "Other"}, {"name": "_CacheInfo", "kind": "LocalType"}, {"name": "_lru_cache_wrapper", "kind": "LocalType"}, {"name": "lru_cache", "kind": "Other"}, {"name": "WRAPPER_ASSIGNMENTS", "kind": "Other"}, {"name": "WRAPPER_UPDATES", "kind": "Other"}, {"name": "update_wrapper", "kind": "Other"}, {"name": "wraps", "kind": "Other"}, {"name": "total_ordering", "kind": "Other"}, {"name": "cmp_to_key", "kind": "Other"}, {"name": "partial", "kind": "LocalType"}, {"name": "_Descriptor", "kind": "Other"}, {"name": "partialmethod", "kind": "LocalType"}, {"name": "_SingleDispatchCallable", "kind": "LocalType"}, {"name": "singledispatch", "kind": "Other"}, {"name": "singledispatchmethod", "kind": "LocalType"}, {"name": "cached_property", "kind": "LocalType"}, {"name": "cache", "kind": "Other"}, {"name": "_make_key", "kind": "Other"}], "numpy.typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "test", "kind": "Other"}], "numpy.polynomial._polybase": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "LocalType"}], "numpy.polynomial.polyutils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "trimseq", "kind": "Other"}, {"name": "as_series", "kind": "Other"}, {"name": "trimcoef", "kind": "Other"}, {"name": "getdomain", "kind": "Other"}, {"name": "mapparms", "kind": "Other"}, {"name": "mapdomain", "kind": "Other"}, {"name": "format_float", "kind": "Other"}], "threading": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_profile_hook", "kind": "Other"}, {"name": "active_count", "kind": "Other"}, {"name": "activeCount", "kind": "Other"}, {"name": "current_thread", "kind": "Other"}, {"name": "currentThread", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "enumerate", "kind": "Other"}, {"name": "main_thread", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "ThreadError", "kind": "LocalType"}, {"name": "local", "kind": "LocalType"}, {"name": "Thread", "kind": "LocalType"}, {"name": "_DummyThread", "kind": "LocalType"}, {"name": "Lock", "kind": "LocalType"}, {"name": "_RLock", "kind": "LocalType"}, {"name": "RLock", "kind": "Other"}, {"name": "Condition", "kind": "LocalType"}, {"name": "Semaphore", "kind": "LocalType"}, {"name": "BoundedSemaphore", "kind": "LocalType"}, {"name": "Event", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "ImportedType", "fullname": "_thread._ExceptHookArgs"}, {"name": "excepthook", "kind": "Other"}, {"name": "ExceptHookArgs", "kind": "Other"}, {"name": "Timer", "kind": "LocalType"}, {"name": "Barrier", "kind": "LocalType"}, {"name": "BrokenBarrierError", "kind": "LocalType"}], "numpy.testing._private": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "unittest.case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsDunderGE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGE"}, {"name": "SupportsDunderGT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGT"}, {"name": "SupportsDunderLE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLE"}, {"name": "SupportsDunderLT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLT"}, {"name": "SupportsRSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsRSub"}, {"name": "SupportsSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsSub"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "WarningMessage", "kind": "ImportedType", "fullname": "warnings.WarningMessage"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "UnionType", "kind": "ImportedType", "fullname": "types.UnionType"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "DIFF_OMITTED", "kind": "Other"}, {"name": "_BaseTestCaseContext", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "ImportedType", "fullname": "unittest._log._AssertLogsContext"}, {"name": "_LoggingWatcher", "kind": "ImportedType", "fullname": "unittest._log._LoggingWatcher"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "doModuleCleanups", "kind": "Other"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "_SupportsAbsAndDunderGE", "kind": "LocalType"}, {"name": "_IsInstanceClassInfo", "kind": "Other"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "_AssertRaisesContext", "kind": "LocalType"}, {"name": "_AssertWarnsContext", "kind": "LocalType"}], "warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_W", "kind": "Other"}, {"name": "_ActionKind", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "showwarning", "kind": "Other"}, {"name": "formatwarning", "kind": "Other"}, {"name": "filterwarnings", "kind": "Other"}, {"name": "simplefilter", "kind": "Other"}, {"name": "resetwarnings", "kind": "Other"}, {"name": "_OptionError", "kind": "LocalType"}, {"name": "WarningMessage", "kind": "LocalType"}, {"name": "catch_warnings", "kind": "LocalType"}], "unittest.loader": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_SortComparisonMethod", "kind": "Other"}, {"name": "_SuiteClass", "kind": "Other"}, {"name": "VALID_MODULE_NAME", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}], "unittest.main": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "MAIN_EXAMPLES", "kind": "Other"}, {"name": "MODULE_EXAMPLES", "kind": "Other"}, {"name": "_TestRunner", "kind": "LocalType"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}], "unittest.result": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_F", "kind": "Other"}, {"name": "STDOUT_LINE", "kind": "Other"}, {"name": "STDERR_LINE", "kind": "Other"}, {"name": "failfast", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}], "unittest.runner": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ResultClassType", "kind": "Other"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}], "unittest.signals": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}], "unittest.suite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_TestType", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}], "unittest.async_case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_T", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}], "json": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}, {"name": "JSONEncoder", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "detect_encoding", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "numpy.compat": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_inspect", "kind": "Module", "fullname": "numpy.compat._inspect"}, {"name": "py3k", "kind": "Module", "fullname": "numpy.compat.py3k"}, {"name": "getargspec", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy._typing._add_docstring": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "re", "kind": "Module", "fullname": "re"}, {"name": "textwrap", "kind": "Module", "fullname": "textwrap"}, {"name": "NDArray", "kind": "Other"}, {"name": "_docstrings_list", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "_parse_docstrings", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}], "_thread": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Callable", "kind": "Other"}, {"name": "Thread", "kind": "ImportedType", "fullname": "threading.Thread"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "_count", "kind": "Other"}, {"name": "LockType", "kind": "LocalType"}, {"name": "start_new_thread", "kind": "Other"}, {"name": "interrupt_main", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "allocate_lock", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}], "unittest._log": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_L", "kind": "Other"}, {"name": "_LoggingWatcher", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "LocalType"}], "logging": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "threading", "kind": "Module", "fullname": "threading"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Template", "kind": "ImportedType", "fullname": "string.Template"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_SysExcInfoType", "kind": "Other"}, {"name": "_ExcInfoType", "kind": "Other"}, {"name": "_ArgsType", "kind": "Other"}, {"name": "_FilterType", "kind": "Other"}, {"name": "_Level", "kind": "Other"}, {"name": "_FormatStyle", "kind": "Other"}, {"name": "raiseExceptions", "kind": "Other"}, {"name": "logThreads", "kind": "Other"}, {"name": "logMultiprocessing", "kind": "Other"}, {"name": "logProcesses", "kind": "Other"}, {"name": "_srcfile", "kind": "Other"}, {"name": "currentframe", "kind": "Other"}, {"name": "_levelToName", "kind": "Other"}, {"name": "_nameToLevel", "kind": "Other"}, {"name": "Filterer", "kind": "LocalType"}, {"name": "Manager", "kind": "LocalType"}, {"name": "Logger", "kind": "LocalType"}, {"name": "CRITICAL", "kind": "Other"}, {"name": "FATAL", "kind": "Other"}, {"name": "ERROR", "kind": "Other"}, {"name": "WARNING", "kind": "Other"}, {"name": "WARN", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "NOTSET", "kind": "Other"}, {"name": "Handler", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}, {"name": "BufferingFormatter", "kind": "LocalType"}, {"name": "Filter", "kind": "LocalType"}, {"name": "LogRecord", "kind": "LocalType"}, {"name": "_L", "kind": "Other"}, {"name": "LoggerAdapter", "kind": "LocalType"}, {"name": "getLogger", "kind": "Other"}, {"name": "getLoggerClass", "kind": "Other"}, {"name": "getLogRecordFactory", "kind": "Other"}, {"name": "debug", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "warning", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "critical", "kind": "Other"}, {"name": "exception", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "fatal", "kind": "Other"}, {"name": "disable", "kind": "Other"}, {"name": "addLevelName", "kind": "Other"}, {"name": "getLevelName", "kind": "Other"}, {"name": "makeLogRecord", "kind": "Other"}, {"name": "basicConfig", "kind": "Other"}, {"name": "shutdown", "kind": "Other"}, {"name": "setLoggerClass", "kind": "Other"}, {"name": "captureWarnings", "kind": "Other"}, {"name": "setLogRecordFactory", "kind": "Other"}, {"name": "lastResort", "kind": "Other"}, {"name": "_StreamT", "kind": "Other"}, {"name": "StreamHandler", "kind": "LocalType"}, {"name": "FileHandler", "kind": "LocalType"}, {"name": "NullHandler", "kind": "LocalType"}, {"name": "PlaceHolder", "kind": "LocalType"}, {"name": "RootLogger", "kind": "LocalType"}, {"name": "root", "kind": "Other"}, {"name": "PercentStyle", "kind": "LocalType"}, {"name": "StrFormatStyle", "kind": "LocalType"}, {"name": "StringTemplateStyle", "kind": "LocalType"}, {"name": "_STYLES", "kind": "Other"}, {"name": "BASIC_FORMAT", "kind": "Other"}], "_warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "_defaultaction", "kind": "Other"}, {"name": "_onceregistry", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}], "json.decoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}], "json.encoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ESCAPE", "kind": "Other"}, {"name": "ESCAPE_ASCII", "kind": "Other"}, {"name": "HAS_UTF8", "kind": "Other"}, {"name": "ESCAPE_DCT", "kind": "Other"}, {"name": "INFINITY", "kind": "Other"}, {"name": "py_encode_basestring", "kind": "Other"}, {"name": "py_encode_basestring_ascii", "kind": "Other"}, {"name": "JSONEncoder", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "numpy.compat.py3k": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}], "textwrap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "__all__", "kind": "Other"}, {"name": "TextWrapper", "kind": "LocalType"}, {"name": "wrap", "kind": "Other"}, {"name": "fill", "kind": "Other"}, {"name": "shorten", "kind": "Other"}, {"name": "dedent", "kind": "Other"}, {"name": "indent", "kind": "Other"}], "string": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "RegexFlag", "kind": "ImportedType", "fullname": "re.RegexFlag"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ascii_letters", "kind": "Other"}, {"name": "ascii_lowercase", "kind": "Other"}, {"name": "ascii_uppercase", "kind": "Other"}, {"name": "digits", "kind": "Other"}, {"name": "hexdigits", "kind": "Other"}, {"name": "octdigits", "kind": "Other"}, {"name": "punctuation", "kind": "Other"}, {"name": "printable", "kind": "Other"}, {"name": "whitespace", "kind": "Other"}, {"name": "capwords", "kind": "Other"}, {"name": "_TemplateMetaclass", "kind": "Other"}, {"name": "Template", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file From aa8964ce02b5ef784959759e57c89dca79eaa073 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 16 Aug 2023 18:38:33 +0300 Subject: [PATCH 068/344] Fixed StackOverflow and one path diversion case --- settings.gradle.kts | 1 - usvm-python/build.gradle.kts | 13 +++++++------ usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 4 ++-- .../src/main/json/adapter_method_defs.json | 10 +++++----- .../src/main/json/handler_defs.json | 6 +++--- .../org/usvm/interpreter/CPythonAdapter.java | 6 +++--- .../org/usvm/language/types/TypeSystem.kt | 9 ++++++++- .../usvm/machine/PythonVirtualPathSelector.kt | 16 +++++++++------- .../interpreters/ConcretePythonInterpreter.kt | 7 +++++++ .../machine/interpreters/operations/Common.kt | 5 +++-- .../operations/tracing/PathTracing.kt | 1 + .../symbolicobjects/SymbolicPythonObject.kt | 4 ++++ usvm-python/src/test/kotlin/manualTest.kt | 6 +++--- .../org/usvm/samples/PathDiversionTest.kt | 8 +++----- .../usvm/samples/SimpleCustomClassesTest.kt | 19 ++++++++++++++++++- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../resources/samples/SimpleCustomClasses.py | 9 ++++++++- 18 files changed, 86 insertions(+), 42 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index e77adf598b..71833cab5f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,7 +10,6 @@ include("usvm-jvm-dataflow") include("usvm-python") include("usvm-python:cpythonadapter") findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" -include("usvm-python:utbot-python-types") pluginManagement { resolutionStrategy { diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index ff468ce605..8653ccaddb 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -31,9 +31,10 @@ dependencies { val samplesSourceDir = File(projectDir, "src/test/resources/samples") val samplesBuildDir = File(project.buildDir, "samples_build") -val samplesJVMArgs = listOf( +val commonJVMArgs = listOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", - "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}" + "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", + "-Xss100m" ) // temporary @@ -73,7 +74,7 @@ tasks.register("manualTestDebug") { group = "run" registerCpython(this, debug = true) dependsOn(buildSamples) - jvmArgs = samplesJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } @@ -82,7 +83,7 @@ tasks.register("manualTestDebugNoLogs") { group = "run" registerCpython(this, debug = true) dependsOn(buildSamples) - jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } @@ -91,13 +92,13 @@ tasks.register("manualTestRelease") { group = "run" registerCpython(this, debug = false) dependsOn(buildSamples) - jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } tasks.test { - jvmArgs = samplesJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" dependsOn(":usvm-python:cpythonadapter:linkDebug") dependsOn(buildSamples) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 0da97922ec..0c0b3e2226 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 0da97922eccfb1f0413254088f2d0f228f8df7a3 +Subproject commit 0c0b3e2226ae50d585dfbac93beb1dd37b1e705b diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 11e2bc4e66..c74f64cf05 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -71,9 +71,9 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { Py_RETURN_NOTIMPLEMENTED; SymbolicAdapter *adapter = get_adapter(v); - if (adapter->add_concrete_supertype(adapter->handler_param, get_symbolic_or_none(v), (PyObject *) &PyList_Type)) + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(v))) return 0; - if (adapter->add_concrete_supertype(adapter->handler_param, get_symbolic_or_none(w), (PyObject *) &PyList_Type)) + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(w))) return 0; PyObject *wrapped = 0; if (op == Py_LT) { diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index bfe7f0991f..1d6d7f02f1 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -300,13 +300,13 @@ "default_value": "Py_None" }, { - "c_name": "add_concrete_supertype", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], + "c_name": "fixate_type", + "nargs": 1, + "c_arg_types": ["PyObject *"], "c_return_type": "int", - "java_arg_types": ["jobject", "jlong"], + "java_arg_types": ["jobject"], "java_return_type": "void", - "argument_converters": ["object_converter", "ref_converter"], + "argument_converters": ["object_converter"], "result_converter": "", "fail_value": "-1", "default_value": "0" diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 88c9a33ff3..975c58575d 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -120,9 +120,9 @@ "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)Lorg/usvm/language/SymbolForCPython;" }, { - "c_name": "add_concrete_supertype", - "java_name": "addConcreteSupertype", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)V" + "c_name": "fixate_type", + "java_name": "fixateType", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" }, { "c_name": "function_call", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7c9a6c7148..7e5b755007 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.concurrent.Callable; +import static org.usvm.machine.interpreters.operations.CommonKt.fixateTypeKt; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; @@ -227,9 +228,8 @@ public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, Sym return methodWrapper(context, new IsinstanceCheck(obj, type), () -> org.usvm.machine.interpreters.operations.CommonKt.handlerIsinstanceKt(context, obj.obj, type)); } - public static void addConcreteSupertype(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { - PythonObject type = new PythonObject(typeRef); - org.usvm.machine.interpreters.operations.CommonKt.addConcreteSupertypeKt(context, obj.obj, type); + public static void fixateType(ConcolicRunContext context, SymbolForCPython obj) { + fixateTypeKt(context, obj.obj); } public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 9ee91b4c79..a7eb4ed3fc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -11,7 +11,10 @@ import org.usvm.types.UTypeSystem import org.usvm.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonTypeHintsStorage import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.general.getBoundedParameters import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utbot.python.newtyping.pythonAnyType import org.utbot.python.newtyping.pythonModuleName import org.utbot.python.newtyping.pythonName @@ -120,7 +123,11 @@ class PythonTypeSystemWithMypyInfo( init { withAdditionalPaths(program.additionalPaths, null) { - allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utType -> + allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utTypeRaw -> + val utType = DefaultSubstitutionProvider.substituteAll( + utTypeRaw, + utTypeRaw.getBoundedParameters().map { pythonAnyType } + ) val refGetter = { val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) ConcretePythonInterpreter.eval(namespace, utType.pythonName()) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index a791cea5d9..c71a8436ab 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -33,7 +33,7 @@ class PythonVirtualPathSelector( ): PythonExecutionState? = with(ctx) { if (delayedForkStorage.isEmpty()) return null - val delayedFork = delayedForkStorage.random() + val delayedFork = delayedForkStorage.random(random) val state = delayedFork.delayedFork.state val symbol = delayedFork.delayedFork.symbol val typeRating = delayedFork.typeRating @@ -68,7 +68,7 @@ class PythonVirtualPathSelector( private fun generateStateWithConcretizedTypeWithoutDelayedForks(): PythonExecutionState? { if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) return null - val state = executionsWithVirtualObjectAndWithoutDelayedForks.random() + val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } val typeStreams = objects.map { it.getTypeStream() ?: typeSystem.topTypeStream() } @@ -101,16 +101,18 @@ class PythonVirtualPathSelector( pathSelectorForStatesWithConcretizedTypes.add(listOf(stateWithConcreteType)) return nullablePeek() } - if (!basePathSelector.isEmpty()) { + + val zeroCoin = random.nextDouble() + val firstCoin = random.nextDouble() + val secondCoin = random.nextDouble() + if (!basePathSelector.isEmpty() && (zeroCoin < 0.9 || unservedDelayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty())) { val result = basePathSelector.peek() result.meta.extractedFrom = basePathSelector peekCache = result return result - } - val firstCoin = random.nextDouble() - val secondCoin = random.nextDouble() - if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.5 || pathSelectorForStatesWithDelayedForks.isEmpty())) { + } else if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.7 || pathSelectorForStatesWithDelayedForks.isEmpty())) { + logger.debug("Trying to make delayed fork") val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) newState?.let { add(listOf(it)) } return nullablePeek() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 064aaf6ccf..0a033bdaf3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -184,6 +184,13 @@ object ConcretePythonInterpreter { val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true) + pythonAdapter.concreteRun( + namespace, + """ + sys.setrecursionlimit(1000) + """.trimIndent(), + true + ) initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true)) if (initialSysPath.address == 0L) throw CPythonExecutionException() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index d65e10b327..6ec2bd3a90 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -36,9 +36,10 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho } } -fun addConcreteSupertypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject) { +fun fixateTypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject) { ctx.curState ?: return - val type = ctx.typeSystem.concreteTypeOnAddress(typeRef) ?: return + val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) + val type = interpreted.getConcreteType(ctx) ?: return obj.addSupertype(ctx, type) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 34488e01e6..f635047558 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -21,6 +21,7 @@ fun withTracing( if (context.curState == null) return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) + // logger.debug("Depth: {}", context.curState!!.pathLocation.depth + 1) context.curState!!.pathLocation = context.curState!!.pathLocation.pathLocationFor(eventRecord, context.curState!!) return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 5859b37a11..27b8c721b4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -143,6 +143,7 @@ sealed class InterpretedSymbolicPythonObject( typeSystem: PythonTypeSystem ): SymbolicPythonObject(address, typeSystem) { abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? + abstract fun getFirstType(ctx: ConcolicRunContext): PythonType? abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue } @@ -157,6 +158,7 @@ class InterpretedInputSymbolicPythonObject( } override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = getConcreteType() + override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getFirstType() override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) @@ -200,6 +202,8 @@ class InterpretedAllocatedSymbolicPythonObject( override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = getTypeStream(ctx).first() as? ConcretePythonType + override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getConcreteType(ctx) + override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) @Suppress("unchecked_cast") diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 94aef4fb17..e3c403fc11 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -10,15 +10,15 @@ fun main() { val (program, typeSystem) = constructStructuredProgram() //constructPrimitiveProgramFromStructured("SimpleTypeInference") val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "pickle_path_diversion", - "TrickyExample" + "iterable_of_matmul", + "SimpleCustomClasses" ) val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) val start = System.currentTimeMillis() val iterations = machine.use { activeMachine -> val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 20, allowPathDiversion = true) + val returnValue = activeMachine.analyze(function, results, maxIterations = 25, allowPathDiversion = true) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 54f2390e07..7ce8338be9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -6,10 +6,11 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class AllowPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = true) { +class PathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample") { private val function = constructFunction("pickle_path_diversion", listOf(typeSystem.pythonInt)) @Test fun testAllowPathDiversion() { + allowPathDiversions = true check1WithConcreteRun( function, ignoreNumberOfAnalysisResults, @@ -21,12 +22,9 @@ class AllowPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExampl ) ) } -} - -class ForbidPathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample", allowPathDiversions = false) { - private val function = constructFunction("pickle_path_diversion", listOf(typeSystem.pythonInt)) @Test fun testForbidPathDiversion() { + allowPathDiversions = false assertThrows { check1( function, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 978f70bbe9..b1c716f3e8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -7,7 +7,10 @@ import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses") { +class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram( + "SimpleCustomClasses", + UMachineOptions(stepLimit = 20U) +) { @Test fun testMatmulUsage() { check1WithConcreteRun( @@ -54,4 +57,18 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto ) options = oldOptions } + + @Test + fun testIterableOfMatmul() { + check1WithConcreteRun( + constructFunction("iterable_of_matmul", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 339f6549cc..a8cf63bf2b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -112,7 +112,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn constructFunction("iteration", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, - /* invariants = */ listOf { _, res -> res.selfTypeName == "AssertionError" || res.repr == "None" }, + /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { _, res -> res.selfTypeName == "AssertionError" }, { _, res -> res.repr == "None" } diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py index 534126d2a2..8d04dc6289 100644 --- a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -39,4 +39,11 @@ def matmul_add_and_sub(x): if x: return (x + 10) @ x else: - return (x - 10) @ x \ No newline at end of file + return (x - 10) @ x + + +def iterable_of_matmul(x): + y = ClassWithMatmulAndAdd() + for elem in x: + y += elem @ 1 + assert len(x) >= 3 \ No newline at end of file From ea3ee76bb5ce6053385a50902063ac22343f9385 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 17 Aug 2023 17:45:43 +0300 Subject: [PATCH 069/344] Started work on statistics --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/cpythonadapter/src/main/c/converters.c | 4 ++++ .../cpythonadapter/src/main/c/include/converters.h | 1 + usvm-python/cpythonadapter/src/main/c/utils.c | 3 ++- .../src/main/json/adapter_method_defs.json | 13 +++++++++++++ .../cpythonadapter/src/main/json/handler_defs.json | 5 +++++ .../java/org/usvm/interpreter/CPythonAdapter.java | 5 +++++ .../org/usvm/interpreter/ConcolicRunContext.java | 6 +++++- .../main/kotlin/org/usvm/machine/PythonMachine.kt | 3 +++ .../machine/interpreters/USVMPythonInterpreter.kt | 4 +++- .../usvm/machine/interpreters/operations/Common.kt | 5 +++++ .../usvm/machine/utils/PythonMachineStatistics.kt | 9 +++++++++ usvm-python/src/test/kotlin/manualTest.kt | 6 +++--- .../org/usvm/samples/SimpleCustomClassesTest.kt | 5 +---- 14 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 0c0b3e2226..17c77891f5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 0c0b3e2226ae50d585dfbac93beb1dd37b1e705b +Subproject commit 17c77891f5992975dde91bd59c08e72f87fbb468 diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index 05f7c09677..bb3bc78996 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -46,4 +46,8 @@ jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) } return symbol_array; +} + +jstring string_converter(ConcolicContext *ctx, const char *str, int *fail) { + return (*ctx->env)->NewStringUTF(ctx->env, str); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index d9e05a34ad..1676bcb999 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -14,6 +14,7 @@ jint int_converter(ConcolicContext *ctx, int value, int *fail); jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); PyObject *object_wrapper(ConcolicContext *ctx, jobject value); jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); +jstring string_converter(ConcolicContext *ctx, const char *str, int *fail); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index a675ca8ab3..8df45e74a5 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -1,7 +1,8 @@ +#include + #include "utils.h" #include "virtual_objects.h" #include "approximations.h" -#include "limits.h" static void java_python_object_dealloc(PyObject *op) { diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 1d6d7f02f1..ab997d0566 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -491,4 +491,17 @@ "fail_value": "0", "default_value": "Py_None" } +, + { + "c_name": "lost_symbolic_value", + "nargs": 1, + "c_arg_types": ["const char *"], + "c_return_type": "int", + "java_arg_types": ["jstring"], + "java_return_type": "void", + "argument_converters": ["string_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + } ] \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 975c58575d..7951120715 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -228,5 +228,10 @@ "c_name": "list_get_size", "java_name": "handlerListGetSize", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "lost_symbolic_value", + "java_name": "lostSymbolicValue", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Ljava/lang/String;)V" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7e5b755007..7301e9acbb 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -13,6 +13,7 @@ import java.util.concurrent.Callable; import static org.usvm.machine.interpreters.operations.CommonKt.fixateTypeKt; +import static org.usvm.machine.interpreters.operations.CommonKt.lostSymbolicValueKt; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; @@ -305,4 +306,8 @@ public static long virtualCall(ConcolicRunContext context, int owner) { } return virtualCallKt(context).getAddress(); } + + public static void lostSymbolicValue(ConcolicRunContext context, String description) { + lostSymbolicValueKt(context, description); + } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index b1ecb2e8dc..70e2bee455 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -12,6 +12,7 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; import org.usvm.machine.symbolicobjects.ConverterToPythonObject; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; +import org.usvm.machine.utils.PythonMachineStatistics; import java.util.ArrayList; import java.util.HashSet; @@ -30,13 +31,15 @@ public class ConcolicRunContext { public ConverterToPythonObject converter; public Set delayedNonNullObjects = new HashSet<>(); public PythonTypeSystem typeSystem; + public PythonMachineStatistics statistics; public ConcolicRunContext( @NotNull PythonExecutionState curState, UPythonContext ctx, PyModelHolder modelHolder, PythonTypeSystem typeSystem, - boolean allowPathDiversion + boolean allowPathDiversion, + PythonMachineStatistics statistics ) { this.curState = curState; this.ctx = ctx; @@ -44,6 +47,7 @@ public ConcolicRunContext( this.allowPathDiversion = allowPathDiversion; this.typeSystem = typeSystem; this.pathPrefix = curState.buildPathAsList(); + this.statistics = statistics; if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index ad261174b7..bd1d285bd1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -9,6 +9,7 @@ import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult @@ -24,6 +25,7 @@ class PythonMachine( private val ctx = UPythonContext(typeSystem) private val solver = ctx.solver() private val iterationCounter = IterationCounter() + val statistics = PythonMachineStatistics() private fun getInterpreter( target: PythonUnpinnedCallable, @@ -38,6 +40,7 @@ class PythonMachine( pinnedTarget, iterationCounter, printErrorMsg, + statistics, allowPathDiversion, serializer ) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 4e942cc0f2..7ed8a00e4a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -13,6 +13,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.operations.myAssertOnState import org.usvm.machine.utils.PyModelHolder +import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.utils.PythonObjectSerializer class USVMPythonInterpreter( @@ -22,6 +23,7 @@ class USVMPythonInterpreter( private val pinnedCallable: PythonPinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, + private val statistics: PythonMachineStatistics, private val allowPathDiversion: Boolean = true, private val serializer: PythonObjectSerializer, private val saveRunResult: (PythonAnalysisResult) -> Unit @@ -61,7 +63,7 @@ class USVMPythonInterpreter( else PyModelHolder(state.pyModel) val concolicRunContext = - ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion) + ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics) state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 6ec2bd3a90..89fedad29e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -6,6 +6,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation +import org.usvm.machine.utils.MethodDescription fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null @@ -51,4 +52,8 @@ fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObjec val leftValue = left.getBoolContent(ctx) val rightValue = right.getBoolContent(ctx) return constructBool(ctx, mkAnd(leftValue, rightValue)) +} + +fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { + ctx.statistics.lostSymbolicValues.add(MethodDescription(description)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt new file mode 100644 index 0000000000..ab3c5f8ed8 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -0,0 +1,9 @@ +package org.usvm.machine.utils + +class PythonMachineStatistics { + val lostSymbolicValues = mutableListOf() +} + +data class MethodDescription( + val description: String +) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index e3c403fc11..8f8d8be382 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -9,9 +9,9 @@ import org.usvm.utils.ReprObjectSerializer fun main() { val (program, typeSystem) = constructStructuredProgram() //constructPrimitiveProgramFromStructured("SimpleTypeInference") val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "iterable_of_matmul", - "SimpleCustomClasses" + listOf(typeSystem.pythonInt), + "pickle_path_diversion", + "TrickyExample" ) val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index b1c716f3e8..4935bd4d7c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -7,10 +7,7 @@ import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram( - "SimpleCustomClasses", - UMachineOptions(stepLimit = 20U) -) { +class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses", UMachineOptions(stepLimit = 20U)) { @Test fun testMatmulUsage() { check1WithConcreteRun( From baebe14dbe4a9c881d2ac8b29ac0e9e28560dc91 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 18 Aug 2023 18:19:29 +0300 Subject: [PATCH 070/344] First attempt to run on real project --- usvm-python/build.gradle.kts | 2 +- usvm-python/cpythonadapter/cpython | 2 +- .../cpython_check/sample_handler.c | 42 ++++- .../org/usvm/interpreter/CPythonAdapter.java | 2 + .../usvm/interpreter/ConcolicRunContext.java | 11 +- .../kotlin/org/usvm/language/Callables.kt | 5 +- .../main/kotlin/org/usvm/language/Program.kt | 12 +- .../org/usvm/language/types/TypeSystem.kt | 1 + .../org/usvm/machine/PythonExecutionState.kt | 2 + .../kotlin/org/usvm/machine/PythonMachine.kt | 28 +++- .../interpreters/USVMPythonInterpreter.kt | 14 +- .../interpreters/operations/Constants.kt | 14 ++ .../operations/tracing/PathTracing.kt | 7 +- .../SymbolicObjectConstruction.kt | 7 + .../machine/utils/PythonMachineStatistics.kt | 38 +++++ usvm-python/src/test/kotlin/manualTest.kt | 149 +++++++++++++++--- .../kotlin/org/usvm/runner/BuildSamples.kt | 19 +-- .../org/usvm/runner/PythonTestRunner.kt | 4 + .../org/usvm/samples/SimpleExampleTest.kt | 11 ++ .../test/kotlin/org/usvm/utils/PathUtils.kt | 23 +++ .../test/resources/samples/SimpleExample.py | 8 +- 21 files changed, 331 insertions(+), 70 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 8653ccaddb..72c92ad090 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -34,7 +34,7 @@ val samplesBuildDir = File(project.buildDir, "samples_build") val commonJVMArgs = listOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", - "-Xss100m" + "-Xss10m" ) // temporary diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 17c77891f5..98785835a4 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 17c77891f5992975dde91bd59c08e72f87fbb468 +Subproject commit 98785835a457816d561ad0ef5a53e97024368513 diff --git a/usvm-python/cpythonadapter/cpython_check/sample_handler.c b/usvm-python/cpythonadapter/cpython_check/sample_handler.c index a3efbc7304..90c24cd594 100644 --- a/usvm-python/cpythonadapter/cpython_check/sample_handler.c +++ b/usvm-python/cpythonadapter/cpython_check/sample_handler.c @@ -1,23 +1,53 @@ #include "Python.h" #include "symbolicadapter.h" +#define PROGRAM \ + "def longest_subsequence(array: list[int]) -> list[int]: # This function is recursive\n"\ + " array_length = len(array)\n"\ + " if array_length <= 1:\n"\ + " return array\n"\ + " pivot = array[0]\n"\ + " isFound = False\n"\ + " i = 1\n"\ + " longest_subseq = []\n"\ + " while not isFound and i < array_length:\n"\ + " if array[i] < pivot:\n"\ + " isFound = True\n"\ + " temp_array = [element for element in array[i:] if element >= array[i]]\n"\ + " temp_array = longest_subsequence(temp_array)\n"\ + " if len(temp_array) > len(longest_subseq):\n"\ + " longest_subseq = temp_array\n"\ + " else:\n"\ + " i += 1\n"\ + " temp_array = [element for element in array[1:] if element >= pivot]\n"\ + " temp_array = [pivot] + longest_subsequence(temp_array)\n"\ + " if len(temp_array) > len(longest_subseq):\n"\ + " return temp_array\n"\ + " else:\n"\ + " return longest_subseq\n"\ + -PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) { - return 0; -} int main() { Py_Initialize(); PyObject *dict = PyDict_New(); - PyObject *function = PyRun_StringFlags("lambda x: (x*2 if x > 0 else -x*2)", Py_eval_input, dict, dict, 0); - PyObject *arg = PyLong_FromLong(0); + PyRun_StringFlags(PROGRAM, Py_file_input, dict, dict, 0); + + if (PyErr_Occurred()) { + PyErr_Print(); + return 1; + } + + PyObject *function = PyRun_StringFlags("longest_subsequence", Py_eval_input, dict, dict, 0); + printf("Function: %p\n", function); fflush(stdout); + PyObject *arg = PyTuple_Pack(2, PyLong_FromLong(0), PyLong_FromLong(0)); PyObject *arg_packed = PyTuple_New(2); PyTuple_SetItem(arg_packed, 0, arg); PyTuple_SetItem(arg_packed, 1, Py_None); PyObject *args[] = {arg_packed}; - SymbolicAdapter *adapter = create_new_adapter(handler, 0); + SymbolicAdapter *adapter = create_new_adapter(0); PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, 1, args); if (result == NULL) { diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7301e9acbb..3b2737a7c0 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -74,6 +74,8 @@ public class CPythonAdapter { public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); + // System.out.println("Instruction " + instruction); + // System.out.flush(); long functionRef = getFunctionFromFrame(frameRef); PythonPinnedCallable function = new PythonPinnedCallable(new PythonObject(functionRef)); withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 70e2bee455..1ac14a8d89 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,7 +2,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.PathsTrieNode; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent; @@ -12,7 +11,7 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; import org.usvm.machine.symbolicobjects.ConverterToPythonObject; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; -import org.usvm.machine.utils.PythonMachineStatistics; +import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; import java.util.ArrayList; import java.util.HashSet; @@ -31,7 +30,9 @@ public class ConcolicRunContext { public ConverterToPythonObject converter; public Set delayedNonNullObjects = new HashSet<>(); public PythonTypeSystem typeSystem; - public PythonMachineStatistics statistics; + public PythonMachineStatisticsOnFunction statistics; + public int maxInstructions; + public int instructionCounter = 0; public ConcolicRunContext( @NotNull PythonExecutionState curState, @@ -39,7 +40,8 @@ public ConcolicRunContext( PyModelHolder modelHolder, PythonTypeSystem typeSystem, boolean allowPathDiversion, - PythonMachineStatistics statistics + PythonMachineStatisticsOnFunction statistics, + int maxInstructions ) { this.curState = curState; this.ctx = ctx; @@ -53,6 +55,7 @@ public ConcolicRunContext( } else { this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder); } + this.maxInstructions = maxInstructions; } public void pathDiversion() throws PathDiversionException { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt index 660a0ba87a..6b1b88a892 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt @@ -12,15 +12,16 @@ data class PythonPinnedCallable(val asPythonObject: PythonObject): PythonCallabl class PythonUnpinnedCallable( val signature: List, val module: String?, + val tag: String, val reference: (PythonNamespace) -> /* function reference */ PythonObject ): PythonCallable() { val numberOfArguments: Int = signature.size companion object { fun constructCallableFromName(signature: List, name: String, module: String? = null) = - PythonUnpinnedCallable(signature, module) { globals -> ConcretePythonInterpreter.eval(globals, name) } + PythonUnpinnedCallable(signature, module, "$module.$name") { globals -> ConcretePythonInterpreter.eval(globals, name) } fun constructLambdaFunction(signature: List, expr: String) = - PythonUnpinnedCallable(signature, null) { globals -> ConcretePythonInterpreter.eval(globals, expr) } + PythonUnpinnedCallable(signature, null, "lambda \"$expr\"") { globals -> ConcretePythonInterpreter.eval(globals, expr) } } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 72e52dd9f7..67997be679 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -39,7 +39,7 @@ class PrimitivePythonProgram internal constructor( } } -class StructuredPythonProgram(private val roots: Set): PythonProgram(roots) { +class StructuredPythonProgram(val roots: Set): PythonProgram(roots) { override fun withPinnedCallable( callable: PythonUnpinnedCallable, typeSystem: PythonTypeSystem, @@ -49,13 +49,13 @@ class StructuredPythonProgram(private val roots: Set): PythonProgram(roots val pinned = PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas block(pinned) } else { - val namespace = getNamespaceOfModule(callable.module) + val namespace = getNamespaceOfModule(callable.module) ?: error("Couldn't get namespace of function module") val pinned = PythonPinnedCallable(callable.reference(namespace)) block(pinned) } } - fun getNamespaceOfModule(module: String): PythonNamespace { + fun getNamespaceOfModule(module: String): PythonNamespace? { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, "import sys") module.split(".").fold("") { acc, name -> @@ -64,12 +64,14 @@ class StructuredPythonProgram(private val roots: Set): PythonProgram(roots "$acc$name." } val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") - require(ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) == "dict") + //println(module) + if (ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) != "dict") + return null return PythonNamespace(resultAsObj.address) } fun getPrimitiveProgram(module: String): PrimitivePythonProgram = withAdditionalPaths(roots, null) { - val namespace = getNamespaceOfModule(module) + val namespace = getNamespaceOfModule(module) ?: error("Couldn't get namespace of module") PrimitivePythonProgram(namespace, roots) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index a7eb4ed3fc..9d11b14075 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -130,6 +130,7 @@ class PythonTypeSystemWithMypyInfo( ) val refGetter = { val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) + ?: throw CPythonExecutionException() ConcretePythonInterpreter.eval(namespace, utType.pythonName()) } val ref = try { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index cfbdb609aa..699a263538 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -26,6 +26,7 @@ class PythonExecutionState( memory: UMemoryBase, uModel: UModelBase, val typeSystem: PythonTypeSystem, + val noneObj: UninterpretedSymbolicPythonObject, callStack: UCallStack> = UCallStack(), pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), var delayedForks: PersistentList = persistentListOf(), @@ -43,6 +44,7 @@ class PythonExecutionState( newMemory, pyModel.uModel, typeSystem, + noneObj, callStack, pathLocation, delayedForks, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index bd1d285bd1..6e0d72166b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -1,5 +1,7 @@ package org.usvm.machine +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withTimeout import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.machine.symbolicobjects.ConverterToPythonObject @@ -9,7 +11,9 @@ import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.symbolicobjects.constructNone import org.usvm.machine.utils.PythonMachineStatistics +import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemoryBase import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult @@ -24,14 +28,15 @@ class PythonMachine( ): UMachine() { private val ctx = UPythonContext(typeSystem) private val solver = ctx.solver() - private val iterationCounter = IterationCounter() val statistics = PythonMachineStatistics() private fun getInterpreter( target: PythonUnpinnedCallable, pinnedTarget: PythonPinnedCallable, results: MutableList>, - allowPathDiversion: Boolean + allowPathDiversion: Boolean, + iterationCounter: IterationCounter, + maxInstructions: Int ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, @@ -40,7 +45,8 @@ class PythonMachine( pinnedTarget, iterationCounter, printErrorMsg, - statistics, + PythonMachineStatisticsOnFunction().also { statistics.functionStatistics.add(it) }, + maxInstructions, allowPathDiversion, serializer ) { @@ -68,7 +74,8 @@ class PythonMachine( pathConstraints, memory, solverRes.model, - typeSystem + typeSystem, + constructNone(memory, typeSystem) ).also { it.meta.generatedFrom = "Initial state" } @@ -85,11 +92,20 @@ class PythonMachine( pythonCallable: PythonUnpinnedCallable, results: MutableList>, maxIterations: Int = 300, - allowPathDiversion: Boolean = true + allowPathDiversion: Boolean = true, + maxInstructions: Int = 50000 ): Int = program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> typeSystem.restart() val observer = PythonMachineObserver() - val interpreter = getInterpreter(pythonCallable, pinnedCallable, results, allowPathDiversion) + val iterationCounter = IterationCounter() + val interpreter = getInterpreter( + pythonCallable, + pinnedCallable, + results, + allowPathDiversion, + iterationCounter, + maxInstructions + ) val pathSelector = getPathSelector(pythonCallable) run( interpreter, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 7ed8a00e4a..2b3e732de8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -12,8 +12,9 @@ import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.operations.myAssertOnState +import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.utils.PythonMachineStatistics +import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.utils.PythonObjectSerializer class USVMPythonInterpreter( @@ -23,7 +24,8 @@ class USVMPythonInterpreter( private val pinnedCallable: PythonPinnedCallable, private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, - private val statistics: PythonMachineStatistics, + private val statistics: PythonMachineStatisticsOnFunction, + private val maxInstructions: Int, private val allowPathDiversion: Boolean = true, private val serializer: PythonObjectSerializer, private val saveRunResult: (PythonAnalysisResult) -> Unit @@ -63,7 +65,7 @@ class USVMPythonInterpreter( else PyModelHolder(state.pyModel) val concolicRunContext = - ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics) + ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics, maxInstructions) state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { @@ -166,6 +168,12 @@ class USVMPythonInterpreter( logger.debug("Step result: Unregistrered virtual operation") return StepResult(emptySequence(), false) + } catch (_: InstructionLimitExceededException) { + + iterationCounter.iterations += 1 + logger.debug("Step result: InstructionLimitExceededException") + return StepResult(emptySequence(), false) + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 4b228fbf30..2d8cddd00d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -5,11 +5,14 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.SymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { "int" -> handlerLoadConstLongKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) + "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) + "NoneType" -> context.curState?.noneObj "tuple" -> { val elements = ConcretePythonInterpreter.getIterableElements(value) val symbolicElements = elements.map { @@ -20,12 +23,23 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte else -> null } + fun handlerLoadConstLongKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null return constructInt(context, context.ctx.mkIntNum(value)) } +fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + return when (value) { + "True" -> constructBool(context, context.ctx.trueExpr) + "False" -> constructBool(context, context.ctx.falseExpr) + else -> error("Not reachable") + } +} + fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index f635047558..85e81c93cd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -14,6 +14,9 @@ fun withTracing( newEventParameters: SymbolicHandlerEventParameters, resultSupplier: Callable ): T? { + context.instructionCounter += 1; + if (context.instructionCounter > context.maxInstructions) + throw InstructionLimitExceededException if (context.curState == null) return null if (context.pathPrefix.isEmpty()) { @@ -56,4 +59,6 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res logger.debug("Got: {}", result) context.pathDiversion() } -} \ No newline at end of file +} + +object InstructionLimitExceededException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 11eb20b108..904bfce1da 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -27,6 +27,13 @@ fun constructInputObject( return result } +fun constructNone( + memory: UMemoryBase, + typeSystem: PythonTypeSystem +): UninterpretedSymbolicPythonObject { + val address = memory.alloc(typeSystem.pythonNoneType) + return UninterpretedSymbolicPythonObject(address, typeSystem) +} fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt index ab3c5f8ed8..8c4e26917e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -1,6 +1,44 @@ package org.usvm.machine.utils +import org.usvm.machine.interpreters.ConcretePythonInterpreter + class PythonMachineStatistics { + val functionStatistics = mutableListOf() + + private val lostSymbolicValues: Map + get() { + val map = mutableMapOf() + functionStatistics.forEach { functionStatistics -> + functionStatistics.lostSymbolicValues.forEach { + if (map[it] == null) + map[it] = 0 + map[it] = map[it]!! + 1 + } + } + return map + } + + fun writeReport(): String { + val result = StringBuilder() + result.append("Lost symbolic values:\n") + lostSymbolicValues.toList().sortedBy { -it.second }.forEach { (description, count) -> + val intValue = description.description.toIntOrNull() + val msg = if (intValue != null) { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import dis") + val ref = ConcretePythonInterpreter.eval(namespace, "dis.opname[$intValue]") + ConcretePythonInterpreter.decref(namespace) + ConcretePythonInterpreter.getPythonObjectRepr(ref) + } else { + description.description + } + result.append("$msg: $count\n") + } + return result.toString() + } +} + +class PythonMachineStatisticsOnFunction { val lostSymbolicValues = mutableListOf() } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 8f8d8be382..3bf0f5ab85 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -2,60 +2,159 @@ import org.usvm.language.PrimitivePythonProgram import org.usvm.language.PythonProgram import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer +import org.usvm.utils.getModulesFromFiles +import org.usvm.utils.getPythonFilesFromRoot +import org.usvm.utils.withAdditionalPaths +import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.buildMypyInfo +import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import org.utbot.python.newtyping.pythonDescription +import org.utbot.python.newtyping.pythonTypeRepresentation +import java.io.File -fun main() { - val (program, typeSystem) = constructStructuredProgram() //constructPrimitiveProgramFromStructured("SimpleTypeInference") +private fun buildSampleRunConfig(): RunConfig { + val (program, typeSystem) = constructPrimitiveProgram( + """ + def longest_subsequence(array: list[int]) -> list[int]: # This function is recursive + array_length = len(array) + if array_length <= 1: + return array + pivot = array[0] + isFound = False + i = 1 + longest_subseq = [] + while not isFound and i < array_length: + if array[i] < pivot: + isFound = True + temp_array = [element for element in array[i:] if element >= array[i]] + temp_array = longest_subsequence(temp_array) + if len(temp_array) > len(longest_subseq): + longest_subseq = temp_array + else: + i += 1 + temp_array = [element for element in array[1:] if element >= pivot] + temp_array = [pivot] + longest_subsequence(temp_array) + if len(temp_array) > len(longest_subseq): + return temp_array + else: + return longest_subseq + + """.trimIndent() + ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), - "pickle_path_diversion", - "TrickyExample" + listOf(typeSystem.pythonList), + "longest_subsequence" ) + val functions = listOf(function) + return RunConfig(program, typeSystem, functions) +} + +private fun buildProjectRunConfig(): RunConfig { + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" + val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" + val files = getPythonFilesFromRoot(projectPath) + val modules = getModulesFromFiles(projectPath, files) + val mypyDir = MypyBuildDirectory(File(mypyRoot), setOf(projectPath)) + buildMypyInfo("python3.10", files.map { it.canonicalPath }, modules, mypyDir) + val mypyBuild = readMypyInfoBuild(mypyDir) + val program = StructuredPythonProgram(setOf(File(projectPath))) + val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) + val ignoreFunctions = listOf( + "minimum_cost_path", + "all_construct", + "min_distance_bottom_up", + "_enforce_args", + "abbr", + "longest_common_subsequence", + "bottom_up_cut_rod" + ) + val functions = modules.flatMap { module -> + runCatching { + withAdditionalPaths(program.roots, typeSystem) { + program.getNamespaceOfModule(module) + } + }.getOrNull() ?: return@flatMap emptyList() // skip bad modules + mypyBuild.definitions[module]!!.mapNotNull { (functionName, def) -> + val type = def.getUtBotType() + val description = type.pythonDescription() + if (description !is PythonCallableTypeDescription) + return@mapNotNull null + if (ignoreFunctions.contains(functionName)) // for now + return@mapNotNull null + println("$module.$functionName: ${type.pythonTypeRepresentation()}") + PythonUnpinnedCallable.constructCallableFromName( + List(description.numberOfArguments) { PythonAnyType }, + functionName, + module + ) + } + } + return RunConfig(program, typeSystem, functions) +} + +fun main() { + val config = buildProjectRunConfig() + //val config = buildSampleRunConfig() + analyze(config) +} +private fun analyze(runConfig: RunConfig) { + val (program, typeSystem, functions) = runConfig val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) - val start = System.currentTimeMillis() - val iterations = machine.use { activeMachine -> - val results: MutableList> = mutableListOf() - val returnValue = activeMachine.analyze(function, results, maxIterations = 25, allowPathDiversion = true) - results.forEach { (_, inputs, result) -> - println("INPUT:") - inputs.map { it.reprFromPythonObject }.forEach { println(it) } - println("RESULT:") - when (result) { - is Success -> println(result.output) - is Fail -> println(result.exception) + machine.use { activeMachine -> + functions.forEach { f -> + println("Started analysing function ${f.tag}") + val start = System.currentTimeMillis() + val results: MutableList> = mutableListOf() + val iterations = activeMachine.analyze(f, results, maxIterations = 10, allowPathDiversion = true, maxInstructions = 1000) + results.forEach { (_, inputs, result) -> + println("INPUT:") + inputs.map { it.reprFromPythonObject }.forEach { println(it) } + println("RESULT:") + when (result) { + is Success -> println(result.output) + is Fail -> println(result.exception) + } + println() } + println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") + println("FUNCTION STATISTICS") + println(machine.statistics.functionStatistics.last().lostSymbolicValues.joinToString("\n")) println() } - returnValue + println("GENERAL STATISTICS") + println(machine.statistics.writeReport()) } - println("Finished in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") } private data class RunConfig( val program: PythonProgram, - val typeSystem: PythonTypeSystem + val typeSystem: PythonTypeSystem, + val functions: List ) @Suppress("SameParameterValue") -private fun constructPrimitiveProgram(asString: String): RunConfig { +private fun constructPrimitiveProgram(asString: String): Pair { val program = PrimitivePythonProgram.fromString(asString) val typeSystem = BasicPythonTypeSystem() - return RunConfig(program, typeSystem) + return Pair(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructPrimitiveProgramFromStructured(module: String): RunConfig { +private fun constructPrimitiveProgramFromStructured(module: String): Pair { val program = SamplesBuild.program.getPrimitiveProgram(module) val typeSystem = BasicPythonTypeSystem() - return RunConfig(program, typeSystem) + return Pair(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructStructuredProgram(): RunConfig { +private fun constructStructuredProgram(): Pair { val program = SamplesBuild.program val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) - return RunConfig(program, typeSystem) + return Pair(program, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt index b9366f3d59..79608fb83f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -1,11 +1,10 @@ package org.usvm.runner +import org.usvm.utils.getModulesFromFiles +import org.usvm.utils.getPythonFilesFromRoot import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.buildMypyInfo import java.io.File -import java.nio.file.Files -import java.nio.file.Paths -import kotlin.streams.asSequence fun main(args: Array) { val inputPath = args[0] @@ -14,17 +13,7 @@ fun main(args: Array) { val root = File(requiredPath) root.mkdirs() val mypyBuildDir = MypyBuildDirectory(root, setOf(inputPath)) - val files = Files.find( - Paths.get(inputPath), - Integer.MAX_VALUE, - { _, fileAttr -> fileAttr.isRegularFile } - ).map { it.toFile() }.filter { it.name.endsWith(".py") }.asSequence().toList() - val inputRoot = File(inputPath) - val modules = files.map { - inputRoot.toURI().relativize(it.toURI()).path - .removeSuffix(".py") - .replace("/", ".") - .replace("\\", ",") - } + val files = getPythonFilesFromRoot(inputPath) + val modules = getModulesFromFiles(inputPath, files) buildMypyInfo(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 615d23cd28..c90edccee2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -111,6 +111,10 @@ sealed class PythonTestRunner( ) } + protected val check0 = createCheck<(PythonObjectInfo) -> Boolean>() + protected val check0WithConcreteRun = + createCheckWithConcreteRun<(PythonObjectInfo) -> Boolean>() + protected val check1 = createCheck<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val check1WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index a7fd5dc339..d5535eecf7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -142,4 +142,15 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } + + @Test + fun testInfiniteRecursion() { + check0WithConcreteRun( + constructFunction("infinite_recursion", emptyList()), + eq(1), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf { res -> res.selfTypeName == "RecursionError" } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt b/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt new file mode 100644 index 0000000000..ce4f11e88c --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt @@ -0,0 +1,23 @@ +package org.usvm.utils + +import java.io.File +import java.nio.file.Files +import java.nio.file.Paths +import kotlin.streams.asSequence + +fun getPythonFilesFromRoot(path: String): List { + return Files.find( + Paths.get(path), + Integer.MAX_VALUE, + { _, fileAttr -> fileAttr.isRegularFile } + ).map { it.toFile() }.filter { it.name.endsWith(".py") }.asSequence().toList() +} + +fun getModulesFromFiles(root: String, files: List): List { + return files.map { + File(root).toURI().relativize(it.toURI()).path + .removeSuffix(".py") + .replace("/", ".") + .replace("\\", ",") + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index c45336bf31..547ab3c53d 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -1,4 +1,5 @@ import pickle +import codecs def many_branches(x: int, y: int, z: int): @@ -72,4 +73,9 @@ def simple_condition(x): def symbolic_call(x): - assert simple_condition(x) \ No newline at end of file + assert simple_condition(x) + + +def infinite_recursion(): + x = object.__new__(codecs.StreamReader) + next(x) \ No newline at end of file From bf0556456dc6de4fce6447166ad860fa60e25493 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 21 Aug 2023 13:16:05 +0300 Subject: [PATCH 071/344] Implemented range + tests + fixes --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 66 ++++++- .../src/main/c/approximations/list.c | 19 ++ .../src/main/c/include/approximations.h | 4 +- .../cpythonadapter/src/main/c/include/utils.h | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 1 + usvm-python/cpythonadapter/src/main/c/utils.c | 2 + .../src/main/c/virtual_objects.c | 6 +- .../src/main/json/adapter_method_defs.json | 39 ++++- .../src/main/json/handler_defs.json | 15 ++ .../org/usvm/interpreter/CPythonAdapter.java | 34 ++-- .../usvm/interpreter/ConcolicRunContext.java | 1 + .../main/kotlin/org/usvm/language/Fields.kt | 31 +++- .../org/usvm/language/types/TypeSystem.kt | 6 +- .../kotlin/org/usvm/language/types/Types.kt | 2 +- .../org/usvm/language/types/VirtualTypes.kt | 4 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../usvm/machine/PythonVirtualPathSelector.kt | 4 +- .../interpreters/USVMPythonInterpreter.kt | 11 +- .../machine/interpreters/operations/Common.kt | 2 +- .../interpreters/operations/Control.kt | 11 +- .../machine/interpreters/operations/Range.kt | 43 +++++ .../interpreters/operations/Virtual.kt | 7 +- .../operations/tracing/PathTracing.kt | 4 +- .../tracing/SymbolicHandlerEvent.kt | 7 +- .../ConverterToPythonObject.kt | 2 +- .../SymbolicObjectConstruction.kt | 18 ++ .../symbolicobjects/SymbolicPythonObject.kt | 165 ++++++++++++++---- .../kotlin/org/usvm/machine/utils/PyModel.kt | 4 +- .../machine/utils/PythonMachineStatistics.kt | 102 +++++++++-- .../org/usvm/utils/PythonObjectSerializer.kt | 6 +- usvm-python/src/test/kotlin/manualTest.kt | 53 ++---- .../org/usvm/samples/SimpleExampleTest.kt | 42 +++++ .../org/usvm/samples/SimpleListsTest.kt | 15 ++ .../usvm/samples/SimpleTypeInferenceTest.kt | 14 ++ .../test/resources/samples/SimpleExample.py | 37 +++- .../src/test/resources/samples/SimpleLists.py | 8 +- .../resources/samples/SimpleTypeInference.py | 13 +- 38 files changed, 651 insertions(+), 153 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 98785835a4..f3c27f4653 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 98785835a457816d561ad0ef5a53e97024368513 +Subproject commit f3c27f46533a0806ab76902fe15b150b04427d65 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 63c561afee..ee7447119f 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -1,3 +1,5 @@ +#include + #include "approximations.h" #include "wrapper.h" #include "virtual_objects.h" @@ -14,18 +16,29 @@ Approximation_len(PyObject *o) { return 0; } PyObject *concrete_result = PyLong_FromLong(concrete_result_long); + assert(concrete_result); PyObject *symbolic = Py_None; if (PyList_Check(concrete)) { symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); - if (!symbolic) return 0; + if (!symbolic) { + assert(PyErr_Occurred()); + return 0; + } } else if (is_virtual_object(concrete)) { symbolic = adapter->symbolic_virtual_unary_fun(adapter->handler_param, get_symbolic_or_none(o)); - if (!symbolic) return 0; + if (!symbolic) { + assert(PyErr_Occurred()); + return 0; + } + } else { + sprintf(adapter->msg_buffer, "__len__ of %s", Py_TYPE(concrete)->tp_name); + if (adapter->lost_symbolic_value(adapter->handler_param, adapter->msg_buffer)) return 0; } return wrap(concrete_result, symbolic, adapter); } + PyObject * Approximation_isinstance(PyObject *obj, PyObject *type_wrapped) { assert(is_wrapped(obj)); @@ -45,4 +58,53 @@ Approximation_isinstance(PyObject *obj, PyObject *type_wrapped) { } return wrap(concrete_result, symbolic, adapter); +} + + +PyObject * +Approximation_range(void *adapter_raw, PyObject *args) { + SymbolicAdapter *adapter = (SymbolicAdapter *) adapter_raw; + assert(PyTuple_Check(args)); + Py_ssize_t size = PyTuple_Size(args); + + PyObject *start, *stop, *step; + int bad_args = 0; + if (size == 1) { + start = adapter->load_const(adapter->handler_param, PyLong_FromLong(0)); + if (!start) return 0; + stop = get_symbolic_or_none(PyTuple_GetItem(args, 0)); + step = adapter->load_const(adapter->handler_param, PyLong_FromLong(1)); + if (!step) return 0; + + } else if (size == 2) { + start = get_symbolic_or_none(PyTuple_GetItem(args, 0)); + stop = get_symbolic_or_none(PyTuple_GetItem(args, 1)); + step = adapter->load_const(adapter->handler_param, PyLong_FromLong(1)); + if (!step) return 0; + + } else if (size == 3) { + start = get_symbolic_or_none(PyTuple_GetItem(args, 0)); + stop = get_symbolic_or_none(PyTuple_GetItem(args, 1)); + step = get_symbolic_or_none(PyTuple_GetItem(args, 2)); + + } else { + bad_args = 1; + } + + PyObject *symbolic = Py_None; + + if (!bad_args) { + symbolic = adapter->create_range(adapter->handler_param, start, stop, step); + if (!symbolic) return 0; + } + + PyObject *unwrapped = PyTuple_New(size); + for (int i = 0; i < size; i++) { + PyTuple_SET_ITEM(unwrapped, i, unwrap(PyTuple_GetItem(args, i))); + Py_XINCREF(PyTuple_GetItem(unwrapped, i)); + } + PyObject *concrete = PyType_Type.tp_call((PyObject *) &PyRange_Type, unwrapped, 0); + if (!concrete) return 0; + + return wrap(concrete, symbolic, adapter); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index c74f64cf05..0ef311d277 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -91,4 +91,23 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { } assert(wrapped); return Py_TYPE(wrapped)->tp_call(wrapped, PyTuple_Pack(2, v, w), 0); +} + +PyObject * +Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem) { + assert(PyCFunction_Check(append_method) && symbolic_list && is_wrapped(wrapped_elem)); + SymbolicAdapter *adapter = get_adapter(wrapped_elem); + PyObject *concrete_elem = unwrap(wrapped_elem); + PyObject *symbolic_elem = get_symbolic_or_none(wrapped_elem); + PyObject *concrete_args = PyTuple_Pack(1, concrete_elem); + PyObject *concrete_result = Py_TYPE(append_method)->tp_call(append_method, concrete_args, 0); + Py_DECREF(concrete_args); + if (!concrete_result) { + return 0; + } + PyObject *self = adapter->list_append(adapter->handler_param, symbolic_list, symbolic_elem); + if (!self) + return 0; + + return wrap(concrete_result, Py_None, adapter); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 10d74e092f..48efd448a7 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -9,5 +9,7 @@ void initialize_list_python_impls(); PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance +PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range -PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare \ No newline at end of file +PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare +PyObject *Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem); // list.append \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 96c6aaa0b7..b81f0b50a8 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -47,7 +47,7 @@ int extract_int_value(PyObject *int_object); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ jthrowable cur_exception = (*ctx->env)->ExceptionOccurred(ctx->env); \ - if (cur_exception) { \ + if (cur_exception && !PyErr_Occurred()) { \ (*ctx->env)->ExceptionClear(ctx->env); \ PyObject *exception_instance = ((PyTypeObject *)ctx->java_exception)->tp_new((PyTypeObject *)ctx->java_exception, 0, 0); \ PyObject_SetAttrString(exception_instance, "java_exception", wrap_java_object(ctx->env, cur_exception)); \ diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 5728eb9aaa..094131cab1 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -26,6 +26,7 @@ (*env)->SetLongField(env, cpython_adapter, f, (jlong) value); \ (*env)->SetLongField(env, cpython_adapter, f_type, (jlong) type); \ Py_INCREF(value); \ + Py_INCREF(type); \ PyErr_Restore(type, value, traceback); \ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 8df45e74a5..da809a0287 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -82,6 +82,8 @@ void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_builtin_len = Approximation_len; adapter->approximation_builtin_isinstance = Approximation_isinstance; adapter->approximation_list_richcompare = Approximation_list_richcompare; + adapter->approximation_range = Approximation_range; + adapter->approximation_list_append = Approximation_list_append; } static void diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index f942d75abd..dcee6cc73f 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -87,8 +87,7 @@ nb_add(PyObject *first, PyObject *second) { static PyObject * nb_subtract(PyObject *first, PyObject *second) { - assert(is_virtual_object(first)); - MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) first, 0) + BINARY_FUNCTION } static PyObject * @@ -98,8 +97,7 @@ nb_multiply(PyObject *first, PyObject *second) { static PyObject * nb_matrix_multiply(PyObject *first, PyObject *second) { - assert(is_virtual_object(first)); - MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) first, 0) + BINARY_FUNCTION } static Py_ssize_t diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index ab997d0566..712c2bbb1a 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -490,8 +490,7 @@ "result_converter": "object_wrapper", "fail_value": "0", "default_value": "Py_None" - } -, + }, { "c_name": "lost_symbolic_value", "nargs": 1, @@ -503,5 +502,41 @@ "result_converter": "", "fail_value": "-1", "default_value": "0" + }, + { + "c_name": "create_range", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "range_iter", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "range_iterator_next", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" } ] \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 7951120715..04f6a30682 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -233,5 +233,20 @@ "c_name": "lost_symbolic_value", "java_name": "lostSymbolicValue", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Ljava/lang/String;)V" + }, + { + "c_name": "create_range", + "java_name": "handlerCreateRange", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "range_iter", + "java_name": "handlerRangeIter", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "range_iterator_next", + "java_name": "handlerRangeIteratorNext", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3b2737a7c0..19d52c9422 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -14,7 +14,9 @@ import static org.usvm.machine.interpreters.operations.CommonKt.fixateTypeKt; import static org.usvm.machine.interpreters.operations.CommonKt.lostSymbolicValueKt; +import static org.usvm.machine.interpreters.operations.ListKt.*; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; +import static org.usvm.machine.interpreters.operations.RangeKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @@ -74,10 +76,8 @@ public class CPythonAdapter { public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); - // System.out.println("Instruction " + instruction); - // System.out.flush(); long functionRef = getFunctionFromFrame(frameRef); - PythonPinnedCallable function = new PythonPinnedCallable(new PythonObject(functionRef)); + PythonObject function = new PythonObject(functionRef); withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); } @@ -177,19 +177,32 @@ public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForC public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { ListCreation event = new ListCreation(Arrays.asList(elements)); - return withTracing(context, event, () -> wrap(org.usvm.machine.interpreters.operations.ListKt.handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + } + + public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { + RangeCreation event = new RangeCreation(start, stop, step); + return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); + } + + public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, SymbolForCPython range) { + return methodWrapper(context, new MethodParameters("range_iter", Collections.singletonList(range)), () -> handlerRangeIterKt(context, range.obj)); + } + + public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext context, SymbolForCPython rangeIterator) { + return methodWrapper(context, new MethodParameters("range_iterator_next", Collections.singletonList(rangeIterator)), () -> handlerRangeIteratorNextKt(context, rangeIterator.obj)); } public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { - return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListGetItemKt(context, list.obj, index.obj)); + return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> handlerListGetItemKt(context, list.obj, index.obj)); } public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { - return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListExtendKt(context, list.obj, tuple.obj)); + return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); } public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { - return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListAppendKt(context, list.obj, elem.obj)); + return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); } public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { @@ -209,13 +222,12 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex } public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { - PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); - withTracing(context, new PythonFunctionCall(callable), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerFunctionCallKt(context, callable))); + PythonObject code = new PythonObject(codeRef); + withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); } public static void handlerReturn(ConcolicRunContext context, long codeRef) { - PythonPinnedCallable callable = new PythonPinnedCallable(new PythonObject(codeRef)); - withTracing(context, new PythonReturn(callable), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerReturnKt(context))); + withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); } public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 1ac14a8d89..d9f4e8650b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -33,6 +33,7 @@ public class ConcolicRunContext { public PythonMachineStatisticsOnFunction statistics; public int maxInstructions; public int instructionCounter = 0; + public boolean usesVirtualInputs = false; public ConcolicRunContext( @NotNull PythonExecutionState curState, diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index 2c3e804093..dfa9b51739 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -1,8 +1,29 @@ package org.usvm.language sealed class PropertyOfPythonObject -sealed class ContentOfPrimitiveType: PropertyOfPythonObject() -object IntContent: ContentOfPrimitiveType() -object BoolContent: ContentOfPrimitiveType() -object ListOfListIterator: ContentOfPrimitiveType() -object IndexOfListIterator: ContentOfPrimitiveType() \ No newline at end of file +data class ContentOfType(val id: String): PropertyOfPythonObject() + +object IntContents { + val content = ContentOfType("int") +} +object BoolContents { + val content = ContentOfType("bool") +} +object ListIteratorContents { + val list = ContentOfType("list_of_list_iterator") + val index = ContentOfType("index_of_list_iterator") +} + +object RangeContents { + val start = ContentOfType("start_of_range") + val stop = ContentOfType("stop_of_range") + val step = ContentOfType("step_of_range") + val length = ContentOfType("length_of_range") +} + +object RangeIteratorContents { + val index = ContentOfType("index_of_range_iterator") + val start = ContentOfType("start_of_range_iterator") + val step = ContentOfType("step_of_range_iterator") + val length = ContentOfType("length_of_range_iterator") +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 9d11b14075..0788dab98e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -35,7 +35,7 @@ abstract class PythonTypeSystem: UTypeSystem { } override fun isInstantiable(type: PythonType): Boolean { - return type is ConcretePythonType || type is TypeOfVirtualObject + return type is ConcretePythonType || type is MockType } protected var allConcreteTypes: List = emptyList() @@ -62,7 +62,7 @@ abstract class PythonTypeSystem: UTypeSystem { override fun findSubtypes(type: PythonType): Sequence { if (isFinal(type)) return emptySequence() - return (listOf(TypeOfVirtualObject) + allConcreteTypes.filter { isSupertype(type, it) }).asSequence() + return (listOf(MockType) + allConcreteTypes.filter { isSupertype(type, it) }).asSequence() } override fun topTypeStream(): UTypeStream { @@ -79,6 +79,8 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonList = createConcreteTypeByName("list") val pythonTuple = createConcreteTypeByName("tuple") val pythonListIteratorType = createConcreteTypeByName("type(iter([]))") + val pythonRange = createConcreteTypeByName("range") + val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())") protected val basicTypes: List = listOf( pythonInt, diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 468651a565..81490807a9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -4,7 +4,7 @@ import org.usvm.machine.interpreters.PythonObject sealed class PythonType -object TypeOfVirtualObject: PythonType() +object MockType: PythonType() abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 78188fc1ae..8eda23d7e7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -8,7 +8,7 @@ object PythonAnyType: VirtualPythonType() { class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { - if (type is TypeOfVirtualObject) + if (type is MockType) return true if (type !is ConcretePythonType) return false @@ -19,7 +19,7 @@ class ConcreteTypeNegation(private val concreteType: ConcretePythonType): Virtua sealed class TypeProtocol: VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { - if (type == this || type is TypeOfVirtualObject) + if (type == this || type is MockType) return true if (type !is ConcretePythonType) return false diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 6e0d72166b..2c5f82a22f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -45,7 +45,7 @@ class PythonMachine( pinnedTarget, iterationCounter, printErrorMsg, - PythonMachineStatisticsOnFunction().also { statistics.functionStatistics.add(it) }, + PythonMachineStatisticsOnFunction(pinnedTarget).also { statistics.functionStatistics.add(it) }, maxInstructions, allowPathDiversion, serializer diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index c71a8436ab..20e974e01d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -7,7 +7,7 @@ import org.usvm.fork import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.language.types.MockType import org.usvm.types.first import kotlin.random.Random @@ -75,7 +75,7 @@ class PythonVirtualPathSelector( if (typeStreams.any { it.take(2).size < 2 }) { return generateStateWithConcretizedTypeWithoutDelayedForks() } - require(typeStreams.all { it.first() == TypeOfVirtualObject }) + require(typeStreams.all { it.first() == MockType }) val types = typeStreams.map {it.take(2).last()} (objects zip types).forEach { (obj, type) -> state.meta.lastConverter!!.forcedConcreteTypes[obj.address] = type diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 2b3e732de8..7521900732 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -16,6 +16,7 @@ import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceeded import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.utils.PythonObjectSerializer +import org.usvm.utils.ReprObjectSerializer class USVMPythonInterpreter( private val ctx: UPythonContext, @@ -87,11 +88,14 @@ class USVMPythonInterpreter( ) return StepResult(emptySequence(), false) } + concolicRunContext.usesVirtualInputs = inputs == null if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( "Generated inputs: {}", - concrete.joinToString(", ") { ConcretePythonInterpreter.getPythonObjectRepr(it) } + concrete.joinToString(", ") { + ReprObjectSerializer.serialize(it) + } ) } @@ -108,10 +112,11 @@ class USVMPythonInterpreter( val serializedResult = serializer.serialize(result) saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) } - logger.debug("Step result: Successful run. Returned ${ConcretePythonInterpreter.getPythonObjectRepr(result)}") + logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") } catch (exception: CPythonExecutionException) { - require(exception.pythonExceptionValue != null && exception.pythonExceptionType != null) + require(exception.pythonExceptionType != null) + require(exception.pythonExceptionValue != null) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { throw ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 89fedad29e..fc94f3b291 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -55,5 +55,5 @@ fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObjec } fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { - ctx.statistics.lostSymbolicValues.add(MethodDescription(description)) + ctx.statistics.addLostSymbolicValue(MethodDescription(description)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index f04c50bf07..3ef7f58453 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -9,6 +9,7 @@ import org.usvm.machine.DelayedFork import org.usvm.machine.PythonExecutionState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.PythonPinnedCallable +import org.usvm.machine.interpreters.PythonObject fun myFork(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) @@ -72,14 +73,4 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje myFork(ctx, expr) } -@Suppress("unused_parameter") -fun handlerFunctionCallKt(ctx: ConcolicRunContext, function: PythonPinnedCallable) { - // (ctx.curState ?: return).callStack.push(function, (ctx.curState ?: return).lastHandlerEvent) -} - -@Suppress("unused_parameter") -fun handlerReturnKt(ctx: ConcolicRunContext) { - // (ctx.curState ?: return).callStack.pop() -} - object BadModelException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt new file mode 100644 index 0000000000..e8880d1ed5 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt @@ -0,0 +1,43 @@ +package org.usvm.machine.interpreters.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.constructRange +import org.usvm.machine.symbolicobjects.constructRangeIterator + +fun handlerCreateRangeKt( + ctx: ConcolicRunContext, + start: UninterpretedSymbolicPythonObject, + stop: UninterpretedSymbolicPythonObject, + step: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + return constructRange(ctx, start.getIntContent(ctx), stop.getIntContent(ctx), step.getIntContent(ctx)) +} + +fun handlerRangeIterKt( + ctx: ConcolicRunContext, + range: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + return constructRangeIterator(ctx, range) +} + +fun handlerRangeIteratorNextKt( + ctx: ConcolicRunContext, + rangeIterator: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + if (ctx.curState == null) + return null + val (index, length) = rangeIterator.getRangeIteratorState(ctx) + myFork(ctx, index lt length) + if (ctx.modelHolder.model.eval(index lt length).isTrue) { + val value = rangeIterator.getRangeIteratorNext(ctx) + return constructInt(ctx, value) + } + return null +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 06696e62b3..9135fd3dda 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -18,7 +18,7 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, typeSystem.pythonBool) + symbolic.addSupertypeSoft(context, typeSystem.pythonBool) myFork(context, symbolic.getBoolContent(context)) return interpretedObj.getBoolContent(context).isTrue } @@ -29,7 +29,7 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, typeSystem.pythonInt) + symbolic.addSupertypeSoft(context, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(context) return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) } @@ -40,8 +40,9 @@ fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertype(context, typeSystem.pythonInt) + symbolic.addSupertypeSoft(context, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(context) + myAssert(context, intValue ge mkIntNum(0)) myAssert(context, intValue le mkIntNum(Int.MAX_VALUE)) return intValue.toString().toInt() } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 85e81c93cd..9ee19ee69b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -14,7 +14,9 @@ fun withTracing( newEventParameters: SymbolicHandlerEventParameters, resultSupplier: Callable ): T? { - context.instructionCounter += 1; + context.instructionCounter += 1 + if (newEventParameters is NextInstruction) + context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) if (context.instructionCounter > context.maxInstructions) throw InstructionLimitExceededException if (context.curState == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index faa0803f84..8117908a33 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -10,12 +10,13 @@ sealed class SymbolicHandlerEventParameters data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() data class NextInstruction( val pythonInstruction: PythonInstruction, - val function: PythonPinnedCallable + val code: PythonObject ): SymbolicHandlerEventParameters() -data class PythonFunctionCall(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() -data class PythonReturn(val function: PythonPinnedCallable): SymbolicHandlerEventParameters() +data class PythonFunctionCall(val code: PythonObject): SymbolicHandlerEventParameters() +data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() +data class RangeCreation(val start: SymbolForCPython, val stop: SymbolForCPython, val step: SymbolForCPython): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( val name: String, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 2a325289fd..f47b9bc5b3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -43,7 +43,7 @@ class ConverterToPythonObject( if (cached != null) return cached val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { - TypeOfVirtualObject -> constructVirtualObject(obj) + MockType -> constructVirtualObject(obj) typeSystem.pythonInt -> convertInt(obj) typeSystem.pythonBool -> convertBool(obj) typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 904bfce1da..5814ecfbc3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -60,4 +60,22 @@ fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbol val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setListIteratorContent(context, list) return result +} + +fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UExpr, step: UExpr): UninterpretedSymbolicPythonObject { + require(context.curState != null) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonRange) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setRangeContent(context, start, stop, step) + } +} + +fun constructRangeIterator(context: ConcolicRunContext, range: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { + require(context.curState != null) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonRangeIterator) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setRangeIteratorContent(context, range) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 27b8c721b4..fb4dd1bfdf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -37,6 +37,11 @@ class UninterpretedSymbolicPythonObject( myAssert(ctx, evalIs(ctx, type)) } + fun addSupertypeSoft(ctx: ConcolicRunContext, type: PythonType) { + require(ctx.curState != null) + myAssert(ctx, evalIsSoft(ctx, type)) + } + fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { require(ctx.curState != null) return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type, ctx) @@ -47,6 +52,28 @@ class UninterpretedSymbolicPythonObject( typeConstraints: UTypeConstraints, type: PythonType, concolicContext: ConcolicRunContext? + ): UBoolExpr { + if (type is ConcretePythonType) { + return with(ctx) { + typeConstraints.evalIsSubtype(address, ConcreteTypeNegation(type)).not() + } + } + val result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) + if (type !is PythonAnyType && concolicContext != null) + concolicContext.delayedNonNullObjects.add(this) + return result + } + + fun evalIsSoft(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { + require(ctx.curState != null) + return evalIsSoft(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type, ctx) + } + + fun evalIsSoft( + ctx: UContext, + typeConstraints: UTypeConstraints, + type: PythonType, + concolicContext: ConcolicRunContext? ): UBoolExpr { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) if (type is ConcretePythonType) @@ -59,30 +86,62 @@ class UninterpretedSymbolicPythonObject( fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonInt) - val lvalue = UFieldLValue(expr.sort, address, IntContent) + val lvalue = UFieldLValue(expr.sort, address, IntContents.content) ctx.curState!!.memory.write(lvalue, expr) } + fun getIntContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonInt) + @Suppress("unchecked_cast") + return ctx.curState!!.memory.heap.readField(address, IntContents.content, ctx.ctx.intSort) as UExpr + } + + fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonInt -> getIntContent(ctx) + typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) + else -> null + } + } + fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonBool) - val lvalue = UFieldLValue(expr.sort, address, BoolContent) + val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) ctx.curState!!.memory.write(lvalue, expr) } + fun getBoolContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonBool) + @Suppress("unchecked_cast") + return ctx.curState!!.memory.heap.readField(address, BoolContents.content, ctx.ctx.boolSort) as UExpr + } + + fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + require(ctx.curState != null) + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonBool -> getBoolContent(ctx) + typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) + else -> null + } + } + fun setListIteratorContent(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonListIteratorType) - val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) + val listLValue = UFieldLValue(addressSort, address, ListIteratorContents.list) ctx.curState!!.memory.write(listLValue, list.address) - val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) ctx.curState!!.memory.write(indexLValue, mkIntNum(0)) } fun increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonListIteratorType) - val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) @Suppress("unchecked_cast") val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr ctx.curState!!.memory.write(indexLValue, mkArithAdd(oldIndexValue, mkIntNum(1))) @@ -91,8 +150,8 @@ class UninterpretedSymbolicPythonObject( fun getListIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonListIteratorType) - val listLValue = UFieldLValue(addressSort, address, ListOfListIterator) - val indexLValue = UFieldLValue(intSort, address, IndexOfListIterator) + val listLValue = UFieldLValue(addressSort, address, ListIteratorContents.list) + val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) @Suppress("unchecked_cast") val listRef = ctx.curState!!.memory.read(listLValue) as UHeapRef @Suppress("unchecked_cast") @@ -100,36 +159,78 @@ class UninterpretedSymbolicPythonObject( return listRef to index } - fun getIntContent(ctx: ConcolicRunContext): UExpr { + fun setRangeContent( + ctx: ConcolicRunContext, + start: UExpr, + stop: UExpr, + step: UExpr + ) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonInt) - @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as UExpr + addSupertype(ctx, typeSystem.pythonRange) + val startLValue = UFieldLValue(intSort, address, RangeContents.start) + ctx.curState!!.memory.write(startLValue, start) + val stopLValue = UFieldLValue(intSort, address, RangeContents.stop) + ctx.curState!!.memory.write(stopLValue, stop) + val stepLValue = UFieldLValue(intSort, address, RangeContents.step) + ctx.curState!!.memory.write(stepLValue, step) + val lengthLValue = UFieldLValue(intSort, address, RangeContents.length) + val lengthRValue = mkIte( + step gt mkIntNum(0), + mkIte( + stop gt start, + mkArithDiv( + mkArithAdd(stop, mkArithUnaryMinus(start), step, mkIntNum(-1)), + step + ), + mkIntNum(0) + ), + mkIte( + start gt stop, + mkArithDiv( + mkArithAdd(start, mkArithUnaryMinus(stop), mkArithUnaryMinus(step), mkIntNum(-1)), + mkArithUnaryMinus(step) + ), + mkIntNum(0) + ) + ) + ctx.curState!!.memory.write(lengthLValue, lengthRValue) } - fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonInt -> getIntContent(ctx) - typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) - else -> null - } + fun setRangeIteratorContent(ctx: ConcolicRunContext, range: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + val start = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.start)) + ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.start), start) + val length = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.length)) + ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.length), length) + val step = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.step)) + ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.step), step) + val index = mkIntNum(0) + ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.index), index) } - fun getBoolContent(ctx: ConcolicRunContext): UExpr { + fun getRangeIteratorState(ctx: ConcolicRunContext): Pair, UExpr> = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonBool) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + @Suppress("unchecked_cast") + val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.index)) as UExpr @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as UExpr + val length = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.length)) as UExpr + return index to length } - fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + fun getRangeIteratorNext(ctx: ConcolicRunContext): UExpr = with(ctx.ctx) { require(ctx.curState != null) - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonBool -> getBoolContent(ctx) - typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) - else -> null - } + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + @Suppress("unchecked_cast") + val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.index)) as UExpr + val newIndex = mkArithAdd(index, mkIntNum(1)) + ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.index), newIndex) + @Suppress("unchecked_cast") + val start = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.start)) as UExpr + @Suppress("unchecked_cast") + val step = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.step)) as UExpr + return mkArithAdd(start, mkArithMul(index, step)) } fun getTypeIfDefined(ctx: ConcolicRunContext): PythonType? { @@ -166,7 +267,7 @@ class InterpretedInputSymbolicPythonObject( fun getFirstType(): PythonType? { if (address.address == 0) - return TypeOfVirtualObject + return MockType return modelHolder.model.getFirstType(address) } fun getConcreteType(): ConcretePythonType? { @@ -183,12 +284,12 @@ class InterpretedInputSymbolicPythonObject( fun getIntContent(ctx: UContext): KInterpretedValue { require(getConcreteType() == typeSystem.pythonInt) - return modelHolder.model.readField(address, IntContent, ctx.intSort) + return modelHolder.model.readField(address, IntContents.content, ctx.intSort) } fun getBoolContent(ctx: UContext): KInterpretedValue { require(getConcreteType() == typeSystem.pythonBool) - return modelHolder.model.readField(address, BoolContent, ctx.boolSort) + return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) } } @@ -207,13 +308,13 @@ class InterpretedAllocatedSymbolicPythonObject( override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, BoolContent, ctx.ctx.boolSort) as KInterpretedValue + return ctx.curState!!.memory.heap.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue } override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, IntContent, ctx.ctx.intSort) as KInterpretedValue + return ctx.curState!!.memory.heap.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue } fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt index 068caeba27..20603b6c18 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt @@ -6,7 +6,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType -import org.usvm.language.types.TypeOfVirtualObject +import org.usvm.language.types.MockType import org.usvm.machine.PythonExecutionState import org.usvm.model.UModelBase @@ -35,7 +35,7 @@ class PyModel(val uModel: UModelBase) { val first = typeStream.take(1).first() val concrete = getConcreteType(ref) if (concrete == null) - require(first is TypeOfVirtualObject) + require(first is MockType) return first } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt index 8c4e26917e..fc2616bdf3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -1,18 +1,48 @@ package org.usvm.machine.utils +import org.usvm.language.PythonPinnedCallable import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.operations.tracing.NextInstruction + +fun writeLostSymbolicValuesReport(lostValues: Map): String { + val result = StringBuilder() + lostValues.toList().sortedBy { -it.second }.forEach { (description, count) -> + val intValue = description.description.toIntOrNull() + val msg = if (intValue != null) { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import dis") + val ref = ConcretePythonInterpreter.eval(namespace, "dis.opname[$intValue]") + ConcretePythonInterpreter.decref(namespace) + ConcretePythonInterpreter.getPythonObjectRepr(ref) + } else { + description.description + } + result.append("$msg: $count\n") + } + return result.toString() +} + +private fun addWithDefault(map: MutableMap, descr: MethodDescription, value: Int = 1) { + if (map[descr] == null) + map[descr] = 0 + map[descr] = map[descr]!! + value +} class PythonMachineStatistics { val functionStatistics = mutableListOf() + val meanCoverage: Double + get() = functionStatistics.sumOf { it.coverage } / functionStatistics.size + + val meanCoverageNoVirtual: Double + get() = functionStatistics.sumOf { it.coverageNoVirtual } / functionStatistics.size private val lostSymbolicValues: Map get() { val map = mutableMapOf() functionStatistics.forEach { functionStatistics -> functionStatistics.lostSymbolicValues.forEach { - if (map[it] == null) - map[it] = 0 - map[it] = map[it]!! + 1 + addWithDefault(map, it.key, it.value) } } return map @@ -20,26 +50,62 @@ class PythonMachineStatistics { fun writeReport(): String { val result = StringBuilder() + result.append("Mean coverage: $meanCoverage\n") + result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") result.append("Lost symbolic values:\n") - lostSymbolicValues.toList().sortedBy { -it.second }.forEach { (description, count) -> - val intValue = description.description.toIntOrNull() - val msg = if (intValue != null) { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, "import dis") - val ref = ConcretePythonInterpreter.eval(namespace, "dis.opname[$intValue]") - ConcretePythonInterpreter.decref(namespace) - ConcretePythonInterpreter.getPythonObjectRepr(ref) - } else { - description.description - } - result.append("$msg: $count\n") - } + result.append(writeLostSymbolicValuesReport(lostSymbolicValues)) return result.toString() } } -class PythonMachineStatisticsOnFunction { - val lostSymbolicValues = mutableListOf() +class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallable) { + val lostSymbolicValues = mutableMapOf() + fun addLostSymbolicValue(descr: MethodDescription) { + addWithDefault(lostSymbolicValues, descr) + } + + private val instructionOffsets: List by lazy { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPythonObject, "f") + ConcretePythonInterpreter.concreteRun(namespace, "import dis") + val raw = ConcretePythonInterpreter.eval( + namespace, + "[x.offset for x in dis.Bytecode(f) if x.opname != 'RESUME']" + ) + val rawStr = ConcretePythonInterpreter.getPythonObjectRepr(raw) + rawStr.removePrefix("[").removeSuffix("]").split(", ").map { it.toInt() }.also { + ConcretePythonInterpreter.decref(namespace) + } + } + var coverage: Double = 0.0 + var coverageNoVirtual: Double = 0.0 + private val coveredInstructions = mutableSetOf() + private val coveredInstructionsNoVirtual = mutableSetOf() + private val functionCode: PythonObject by lazy { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPythonObject, "f") + ConcretePythonInterpreter.eval(namespace, "f.__code__").also { + ConcretePythonInterpreter.decref(namespace) + } + } + fun updateCoverage(cmd: NextInstruction, usesVirtual: Boolean) { + if (cmd.code != functionCode) + return + coveredInstructions += cmd.pythonInstruction.numberInBytecode + if (!usesVirtual) + coveredInstructionsNoVirtual += cmd.pythonInstruction.numberInBytecode + coverage = coveredInstructions.size.toDouble() / instructionOffsets.size + coverageNoVirtual = coveredInstructionsNoVirtual.size.toDouble() / instructionOffsets.size + } + + fun writeReport(): String { + val result = StringBuilder() + result.append("Coverage: $coverage\n") + result.append("Coverage without virtual objects: $coverageNoVirtual\n") + result.append("Lost symbolic values:\n") + result.append(writeLostSymbolicValuesReport(lostSymbolicValues)) + return result.toString() + } } data class MethodDescription( diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt index b76fdb8397..b4b8907f07 100644 --- a/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt @@ -9,7 +9,7 @@ abstract class PythonObjectSerializer { object StandardPythonObjectSerializer: PythonObjectSerializer() { override fun serialize(obj: PythonObject): PythonObjectInfo { - val repr = ConcretePythonInterpreter.getPythonObjectRepr(obj) + val repr = ReprObjectSerializer.serialize(obj) val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) val selfTypeName = if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(obj) else null return PythonObjectInfo(repr, typeName, selfTypeName) @@ -18,7 +18,9 @@ object StandardPythonObjectSerializer: PythonObjectSerializer( object ReprObjectSerializer: PythonObjectSerializer() { override fun serialize(obj: PythonObject): String { - return ConcretePythonInterpreter.getPythonObjectRepr(obj) + return runCatching { + ConcretePythonInterpreter.getPythonObjectRepr(obj) + }.getOrDefault("") } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 3bf0f5ab85..0776355594 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -4,6 +4,7 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer import org.usvm.utils.getModulesFromFiles @@ -19,36 +20,18 @@ import java.io.File private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( - """ - def longest_subsequence(array: list[int]) -> list[int]: # This function is recursive - array_length = len(array) - if array_length <= 1: - return array - pivot = array[0] - isFound = False - i = 1 - longest_subseq = [] - while not isFound and i < array_length: - if array[i] < pivot: - isFound = True - temp_array = [element for element in array[i:] if element >= array[i]] - temp_array = longest_subsequence(temp_array) - if len(temp_array) > len(longest_subseq): - longest_subseq = temp_array - else: - i += 1 - temp_array = [element for element in array[1:] if element >= pivot] - temp_array = [pivot] + longest_subsequence(temp_array) - if len(temp_array) > len(longest_subseq): - return temp_array - else: - return longest_subseq + """ + def f(x): + cnt = 0 + for _ in range(0, x, 5): + cnt += 1 + assert cnt == 3 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList), - "longest_subsequence" + listOf(typeSystem.pythonInt), + "f" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -64,15 +47,7 @@ private fun buildProjectRunConfig(): RunConfig { val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val ignoreFunctions = listOf( - "minimum_cost_path", - "all_construct", - "min_distance_bottom_up", - "_enforce_args", - "abbr", - "longest_common_subsequence", - "bottom_up_cut_rod" - ) + val ignoreFunctions = emptyList() // listOf("minimum_cost_path") val functions = modules.flatMap { module -> runCatching { withAdditionalPaths(program.roots, typeSystem) { @@ -98,8 +73,8 @@ private fun buildProjectRunConfig(): RunConfig { } fun main() { - val config = buildProjectRunConfig() - //val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) } @@ -111,7 +86,7 @@ private fun analyze(runConfig: RunConfig) { println("Started analysing function ${f.tag}") val start = System.currentTimeMillis() val results: MutableList> = mutableListOf() - val iterations = activeMachine.analyze(f, results, maxIterations = 10, allowPathDiversion = true, maxInstructions = 1000) + val iterations = activeMachine.analyze(f, results, maxIterations = 30, allowPathDiversion = true, maxInstructions = 1000) results.forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } @@ -124,7 +99,7 @@ private fun analyze(runConfig: RunConfig) { } println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") println("FUNCTION STATISTICS") - println(machine.statistics.functionStatistics.last().lostSymbolicValues.joinToString("\n")) + println(machine.statistics.functionStatistics.last().writeReport()) println() } println("GENERAL STATISTICS") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index d5535eecf7..1fe0506f92 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,6 +1,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq @@ -153,4 +154,45 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { /* propertiesToDiscover = */ listOf { res -> res.selfTypeName == "RecursionError" } ) } + + private fun testRange(functionName: String) { + val oldOption = options + options = UMachineOptions(stepLimit = 5U) + check1WithConcreteRun( + constructFunction(functionName, listOf(typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, _ -> x.typeName == "int" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + options = oldOption + } + + @Test + fun testRange1() { + testRange("range_1") + } + + @Test + fun testRange2() { + testRange("range_2") + } + + @Test + fun testRange3() { + testRange("range_3") + } + + @Test + fun testRange4() { + testRange("range_4") + } + + @Test + fun testRange5() { + testRange("range_5") + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 9a8995f4a3..5d8286edf7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -3,6 +3,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults @@ -264,4 +265,18 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach ) options = oldOptions } + + @Test + fun testListAppend() { + check1WithConcreteRun( + constructFunction("list_append", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { x, res -> x.repr == "127" && res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index a8cf63bf2b..5755db9fe1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -169,4 +169,18 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn ) ) } + + @Test + fun testRangeLoop() { + check1WithConcreteRun( + constructFunction("range_loop", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 547ab3c53d..9e8e74257f 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -78,4 +78,39 @@ def symbolic_call(x): def infinite_recursion(): x = object.__new__(codecs.StreamReader) - next(x) \ No newline at end of file + next(x) + + +def range_1(x: int): + cnt = 0 + for _ in range(x): + cnt += 1 + assert cnt == 3 + + +def range_2(x: int): + cnt = 0 + for _ in range(0, x): + cnt += 1 + assert cnt == 3 + + +def range_3(x: int): + cnt = 0 + for _ in range(5, x, -1): + cnt += 1 + assert cnt == 3 + + +def range_4(x: int): + cnt = 0 + for _ in range(0, x, -1): + cnt += 1 + assert cnt == 3 + + +def range_5(x: int): + cnt = 0 + for _ in range(0, x, 5): + cnt += 1 + assert cnt == 3 diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 28c0728c8f..129b6691d0 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -150,4 +150,10 @@ def add_and_compare(x: list, y: list): def double_subscript_and_compare(x: list, y: list): x[0][0] += 1 - assert x < y \ No newline at end of file + assert x < y + + +def list_append(x): + res = [] + res.append(x) + assert res[-1] == 127 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 5b23e491e0..588db3ba83 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -81,4 +81,15 @@ def subscript_and_isinstance(x): return 2 elif isinstance(x[3], type(None)): return 3 - return 4 \ No newline at end of file + return 4 + + +def range_loop(x): + sum_ = 0 + for i in range(x): + sum_ += i + + if sum_ > 15: + return 1 + + return 2 \ No newline at end of file From 7ce831a7d051f3f248904130f40b52eb8711f94a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 21 Aug 2023 17:10:30 +0300 Subject: [PATCH 072/344] Some tuple operations --- usvm-python/build.gradle.kts | 10 ++-- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/json/adapter_method_defs.json | 36 +++++++++++++ .../src/main/json/handler_defs.json | 15 ++++++ .../org/usvm/interpreter/CPythonAdapter.java | 52 ++++++++++++------- .../main/kotlin/org/usvm/language/Fields.kt | 5 ++ .../org/usvm/language/types/TypeSystem.kt | 3 +- .../machine/interpreters/operations/Common.kt | 21 ++++++++ .../interpreters/operations/Constants.kt | 17 ++---- .../machine/interpreters/operations/List.kt | 14 +---- .../machine/interpreters/operations/Long.kt | 4 +- .../machine/interpreters/operations/Range.kt | 1 + .../machine/interpreters/operations/Tuple.kt | 39 ++++++++++++++ .../tracing/SymbolicHandlerEvent.kt | 1 + .../SymbolicObjectConstruction.kt | 9 +++- .../symbolicobjects/SymbolicPythonObject.kt | 28 ++++++++++ usvm-python/src/test/kotlin/manualTest.kt | 11 ++-- .../org/usvm/samples/SimpleExampleTest.kt | 5 ++ .../org/usvm/samples/SimpleListsTest.kt | 3 +- .../org/usvm/samples/SimpleTupleTest.kt | 37 +++++++++++++ .../test/resources/samples/SimpleExample.py | 7 +++ .../src/test/resources/samples/SimpleTuple.py | 13 +++++ 22 files changed, 272 insertions(+), 61 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt create mode 100644 usvm-python/src/test/resources/samples/SimpleTuple.py diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 72c92ad090..b2f6161e7c 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -37,9 +37,14 @@ val commonJVMArgs = listOf( "-Xss10m" ) -// temporary + +val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" +val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? + + val installMypyRunner = tasks.register("installUtbotMypyRunner") { group = "samples" + inputs.dir(cpythonBuildPath) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("PYTHONHOME" to cpythonBuildPath) commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") @@ -58,9 +63,6 @@ val buildSamples = tasks.register("buildSamples") { mainClass.set("org.usvm.runner.BuildSamplesKt") } -val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" -val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? - fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { if (debug) dependsOn(":usvm-python:cpythonadapter:linkDebug") diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index f3c27f4653..6ba46426b8 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit f3c27f46533a0806ab76902fe15b150b04427d65 +Subproject commit 6ba46426b894c9f6d5c5c59a207e728256df09b0 diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 712c2bbb1a..637443cbff 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -59,6 +59,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "create_tuple", + "nargs": 1, + "c_arg_types": ["PyObject **"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobjectArray"], + "java_return_type": "jobject", + "argument_converters": ["array_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "gt_long", "nargs": 2, @@ -287,6 +299,30 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "tuple_iter", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "tuple_iterator_next", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "symbolic_isinstance", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 04f6a30682..364fe93ae3 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -84,6 +84,11 @@ "java_name": "handlerCreateList", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "create_tuple", + "java_name": "handlerCreateTuple", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "list_get_item", "java_name": "handlerListGetItem", @@ -114,6 +119,16 @@ "java_name": "handlerListIteratorNext", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "tuple_iter", + "java_name": "handlerTupleIter", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "tuple_iterator_next", + "java_name": "handlerTupleIteratorNext", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "symbolic_isinstance", "java_name": "handlerIsinstance", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 19d52c9422..f592342ac8 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -12,11 +12,12 @@ import java.util.Collections; import java.util.concurrent.Callable; -import static org.usvm.machine.interpreters.operations.CommonKt.fixateTypeKt; -import static org.usvm.machine.interpreters.operations.CommonKt.lostSymbolicValueKt; +import static org.usvm.machine.interpreters.operations.CommonKt.*; import static org.usvm.machine.interpreters.operations.ListKt.*; +import static org.usvm.machine.interpreters.operations.LongKt.*; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.RangeKt.*; +import static org.usvm.machine.interpreters.operations.TupleKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @@ -124,55 +125,55 @@ public static void handlerForkResult(ConcolicRunContext context, SymbolForCPytho } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerGTLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerLTLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> handlerLTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerEQLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> handlerEQLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerNELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> handlerNELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerGELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> handlerGELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerLELongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> handlerLELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerADDLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> handlerADDLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerSUBLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> handlerSUBLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerMULLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> handlerMULLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerDIVLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> handlerDIVLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerREMLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.LongKt.handlerPOWLongKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("bool_ans", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.CommonKt.handlerAndKt(context, left.obj, right.obj)); + return methodWrapper(context, new MethodParameters("bool_and", Arrays.asList(left, right)), () -> handlerAndKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { @@ -180,6 +181,11 @@ public static SymbolForCPython handlerCreateList(ConcolicRunContext context, Sym return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } + public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, SymbolForCPython[] elements) { + TupleCreation event = new TupleCreation(Arrays.asList(elements)); + return withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); + } + public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { RangeCreation event = new RangeCreation(start, stop, step); return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); @@ -206,19 +212,27 @@ public static SymbolForCPython handlerListAppend(ConcolicRunContext context, Sym } public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { - withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> org.usvm.machine.interpreters.operations.ListKt.handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { - return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListGetSizeKt(context, list.obj)); + return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); } public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { - return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListIterKt(context, list.obj)); + return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> handlerListIterKt(context, list.obj)); } public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { - return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> org.usvm.machine.interpreters.operations.ListKt.handlerListIteratorNextKt(context, iterator.obj)); + return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); + } + + public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, SymbolForCPython tuple) { + return methodWrapper(context, new MethodParameters("tuple_iter", Collections.singletonList(tuple)), () -> handlerTupleIterKt(context, tuple.obj)); + } + + public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { + return methodWrapper(context, new MethodParameters("tuple_iterator_next", Collections.singletonList(iterator)), () -> handlerTupleIteratorNextKt(context, iterator.obj)); } public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index dfa9b51739..31326a4873 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -26,4 +26,9 @@ object RangeIteratorContents { val start = ContentOfType("start_of_range_iterator") val step = ContentOfType("step_of_range_iterator") val length = ContentOfType("length_of_range_iterator") +} + +object TupleIteratorContents { + val tuple = ContentOfType("tuple_of_tuple_iterator") + val index = ContentOfType("index_of_tuple_iterator") } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 0788dab98e..df614d02a0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -77,8 +77,9 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonObjectType = createConcreteTypeByName("object") val pythonNoneType = createConcreteTypeByName("type(None)") val pythonList = createConcreteTypeByName("list") - val pythonTuple = createConcreteTypeByName("tuple") val pythonListIteratorType = createConcreteTypeByName("type(iter([]))") + val pythonTuple = createConcreteTypeByName("tuple") + val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))") val pythonRange = createConcreteTypeByName("range") val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())") diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index fc94f3b291..343dfeadbd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -1,6 +1,8 @@ package org.usvm.machine.interpreters.operations +import org.usvm.UArrayLengthLValue import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool @@ -56,4 +58,23 @@ fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObjec fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { ctx.statistics.addLostSymbolicValue(MethodDescription(description)) +} + +fun createIterable( + context: ConcolicRunContext, + elements: List, + type: ConcretePythonType +): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + val addresses = elements.map { it.address }.asSequence() + val typeSystem = context.typeSystem + val size = elements.size + with (context.ctx) { + val iterableAddress = context.curState!!.memory.malloc(type, addressSort, addresses) + context.curState!!.memory.write(UArrayLengthLValue(iterableAddress, type), mkIntNum(size)) + val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) + result.addSupertype(context, type) + return result + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 2d8cddd00d..f8e46f13f4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -3,10 +3,11 @@ package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.SymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt +import java.util.stream.Stream +import kotlin.streams.asSequence fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { @@ -40,15 +41,5 @@ fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): Uninterp } } -fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? { - if (context.curState == null) - return null - val typeSystem = context.typeSystem - val addresses = elements.map { it.address }.asSequence() - with (context.ctx) { - val tupleAddress = context.curState!!.memory.malloc(typeSystem.pythonTuple, addressSort, addresses) - val result = UninterpretedSymbolicPythonObject(tupleAddress, typeSystem) - result.addSupertype(context, typeSystem.pythonTuple) - return result - } -} \ No newline at end of file +fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? = + createIterable(context, elements, context.typeSystem.pythonTuple) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index f608fb17a3..9d4dc00d38 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -10,18 +10,8 @@ import org.usvm.language.types.PythonType import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? { - if (context.curState == null) - return null - val addresses = elements.map { it!!.address }.asSequence() - val typeSystem = context.typeSystem - with (context.ctx) { - val listAddress = context.curState!!.memory.malloc(typeSystem.pythonList, addressSort, addresses) - val result = UninterpretedSymbolicPythonObject(listAddress, typeSystem) - myAssert(context, context.curState!!.pathConstraints.typeConstraints.evalIsSubtype(listAddress, typeSystem.pythonList)) - return result - } -} +fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = + createIterable(context, elements.asSequence().toList(), context.typeSystem.pythonList) fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index 72415871fe..b336c8ffed 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -17,8 +17,8 @@ fun createBinaryIntOp( null else with (concolicContext.ctx) { val typeSystem = concolicContext.typeSystem - myAssert(concolicContext, left.evalIs(concolicContext, typeSystem.pythonInt) or left.evalIs(concolicContext, typeSystem.pythonBool)) - myAssert(concolicContext, right.evalIs(concolicContext, typeSystem.pythonInt) or right.evalIs(concolicContext, typeSystem.pythonBool)) + myAssert(concolicContext, left.evalIsSoft(concolicContext, typeSystem.pythonInt) or left.evalIsSoft(concolicContext, typeSystem.pythonBool)) + myAssert(concolicContext, right.evalIsSoft(concolicContext, typeSystem.pythonInt) or right.evalIsSoft(concolicContext, typeSystem.pythonBool)) op( concolicContext.ctx, left.getToIntContent(concolicContext) ?: return@with null, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt index e8880d1ed5..01039f19de 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt @@ -15,6 +15,7 @@ fun handlerCreateRangeKt( ): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) return null + myFork(ctx, ctx.ctx.mkEq(step.getIntContent(ctx), ctx.ctx.mkIntNum(0))) return constructRange(ctx, start.getIntContent(ctx), stop.getIntContent(ctx), step.getIntContent(ctx)) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt new file mode 100644 index 0000000000..3aa03db19a --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -0,0 +1,39 @@ +package org.usvm.machine.interpreters.operations + +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructTupleIterator +import java.util.stream.Stream +import kotlin.streams.asSequence + +fun handlerCreateTupleKt(ctx: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = + createIterable(ctx, elements.asSequence().toList(), ctx.typeSystem.pythonTuple) + +fun handlerTupleIterKt(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val typeSystem = ctx.typeSystem + tuple.addSupertype(ctx, typeSystem.pythonTuple) + return constructTupleIterator(ctx, tuple) +} + +fun handlerTupleIteratorNextKt( + ctx: ConcolicRunContext, + iterator: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + if (ctx.curState == null) + return null + val typeSystem = ctx.typeSystem + val (tuple, index) = iterator.getTupleIteratorContent(ctx) + @Suppress("unchecked_cast") + val tupleSize = ctx.curState!!.memory.read(UArrayLengthLValue(tuple, typeSystem.pythonTuple)) as UExpr + val indexCond = index lt tupleSize + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) + return null + iterator.increaseTupleIteratorCounter(ctx) + @Suppress("unchecked_cast") + val address = ctx.curState!!.memory.read(UArrayIndexLValue(addressSort, tuple, index, typeSystem.pythonTuple)) as UHeapRef + return UninterpretedSymbolicPythonObject(address, typeSystem) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index 8117908a33..eee4283dbf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -16,6 +16,7 @@ data class PythonFunctionCall(val code: PythonObject): SymbolicHandlerEventParam data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() +data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class RangeCreation(val start: SymbolForCPython, val stop: SymbolForCPython, val step: SymbolForCPython): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 5814ecfbc3..9b88e09043 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -23,7 +23,7 @@ fun constructInputObject( val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address, typeSystem) - pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type, null) + pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, type, null) return result } @@ -62,6 +62,13 @@ fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbol return result } +fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { + require(context.curState != null) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.alloc(typeSystem.pythonTupleIteratorType) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setTupleIteratorContent(context, tuple) } +} + fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UExpr, step: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index fb4dd1bfdf..a145b5a181 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -159,6 +159,34 @@ class UninterpretedSymbolicPythonObject( return listRef to index } + fun setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonTupleIteratorType) + val tupleLValue = UFieldLValue(addressSort, address, TupleIteratorContents.tuple) + ctx.curState!!.memory.write(tupleLValue, tuple.address) + val indexLValue = UFieldLValue(intSort, address, TupleIteratorContents.index) + ctx.curState!!.memory.write(indexLValue, mkIntNum(0)) + } + + fun getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonTupleIteratorType) + @Suppress("unchecked_cast") + val tupleRef = ctx.curState!!.memory.read(UFieldLValue(addressSort, address, TupleIteratorContents.tuple)) as UHeapRef + @Suppress("unchecked_cast") + val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, TupleIteratorContents.index)) as UExpr + return tupleRef to index + } + + fun increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonTupleIteratorType) + val indexLValue = UFieldLValue(intSort, address, TupleIteratorContents.index) + @Suppress("unchecked_cast") + val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr + ctx.curState!!.memory.write(indexLValue, mkArithAdd(oldIndexValue, mkIntNum(1))) + } + fun setRangeContent( ctx: ConcolicRunContext, start: UExpr, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 0776355594..6017514919 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -22,10 +22,9 @@ private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - cnt = 0 - for _ in range(0, x, 5): - cnt += 1 - assert cnt == 3 + t = 1, x + a, b = t + assert a == b """.trimIndent() ) @@ -38,7 +37,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -47,7 +46,7 @@ private fun buildProjectRunConfig(): RunConfig { val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val ignoreFunctions = emptyList() // listOf("minimum_cost_path") + val ignoreFunctions = emptyList() val functions = modules.flatMap { module -> runCatching { withAdditionalPaths(program.roots, typeSystem) { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 1fe0506f92..1206268af1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -195,4 +195,9 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { fun testRange5() { testRange("range_5") } + + @Test + fun testRange6() { + testRange("range_6") + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 5d8286edf7..5ba850bb6b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -80,11 +80,10 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach ) } - private val functionLongList = constructFunction("long_list", listOf(typeSystem.pythonInt)) @Test fun testLongList() { check1WithConcreteRun( - functionLongList, + constructFunction("long_list", listOf(typeSystem.pythonInt)), eq(2), compareConcolicAndConcreteReprsIfSuccess, /* invariants = */ listOf { i, _ -> i.typeName == "int" }, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt new file mode 100644 index 0000000000..b08cd90719 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt @@ -0,0 +1,37 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachineOptions(stepLimit = 20U)) { + @Test + fun testTupleConstructAndIter() { + check1WithConcreteRun( + constructFunction("tuple_construct_and_iter", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testTupleUnpack() { + check1WithConcreteRun( + constructFunction("tuple_unpack", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 9e8e74257f..542b84de3e 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -114,3 +114,10 @@ def range_5(x: int): for _ in range(0, x, 5): cnt += 1 assert cnt == 3 + + +def range_6(x: int): + cnt = 0 + for _ in range(0, 5, x): + cnt += 1 + assert cnt == 0 diff --git a/usvm-python/src/test/resources/samples/SimpleTuple.py b/usvm-python/src/test/resources/samples/SimpleTuple.py new file mode 100644 index 0000000000..a38ef23b43 --- /dev/null +++ b/usvm-python/src/test/resources/samples/SimpleTuple.py @@ -0,0 +1,13 @@ +def tuple_construct_and_iter(x): + t = 1, 2, 3, x + res = 0 + for y in t: + res += y + + assert res == 10 + + +def tuple_unpack(x): + t = 1, x + a, b = t + assert a == b \ No newline at end of file From 91cd05730d1ae8d9ded6944e8496739f191b07a1 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 24 Aug 2023 13:38:45 +0300 Subject: [PATCH 073/344] Added audit hook --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 20 +++-- .../cpythonadapter/src/main/c/include/utils.h | 2 + .../c/org_usvm_interpreter_CPythonAdapter.c | 43 +++++++++- usvm-python/cpythonadapter/src/main/c/utils.c | 66 ++++++++++++++- .../org/usvm/interpreter/CPythonAdapter.java | 7 +- .../main/kotlin/org/usvm/language/Program.kt | 4 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../interpreters/ConcretePythonInterpreter.kt | 80 +++++++++++++------ .../machine/utils/PythonMachineStatistics.kt | 1 + usvm-python/src/test/kotlin/manualTest.kt | 40 ++++++---- .../org/usvm/samples/IllegalOperationTest.kt | 55 +++++++++++++ .../org/usvm/samples/SimpleExampleTest.kt | 2 + .../src/test/resources/samples/BadProgram.py | 1 + .../test/resources/samples/SimpleExample.py | 13 +++ 15 files changed, 281 insertions(+), 57 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt create mode 100644 usvm-python/src/test/resources/samples/BadProgram.py diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 6ba46426b8..2e64d5a9a9 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 6ba46426b894c9f6d5c5c59a207e728256df09b0 +Subproject commit 2e64d5a9a957b403b148ab6867d3bec22e12622d diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 8b81a78ac4..31ef3a83d5 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -42,26 +42,26 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_addName /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRun - * Signature: (JLjava/lang/String;Z)I + * Signature: (JLjava/lang/String;ZZ)I */ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun - (JNIEnv *, jobject, jlong, jstring, jboolean); + (JNIEnv *, jobject, jlong, jstring, jboolean, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter * Method: eval - * Signature: (JLjava/lang/String;Z)J + * Signature: (JLjava/lang/String;ZZ)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval - (JNIEnv *, jobject, jlong, jstring, jboolean); + (JNIEnv *, jobject, jlong, jstring, jboolean, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concreteRunOnFunctionRef - * Signature: (J[J)J + * Signature: (J[JZ)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef - (JNIEnv *, jobject, jlong, jlongArray); + (JNIEnv *, jobject, jlong, jlongArray, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter @@ -287,6 +287,14 @@ JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractExc JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: checkForIllegalOperation + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIllegalOperation + (JNIEnv *, jobject); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index b81f0b50a8..c27fbbc92f 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -63,6 +63,8 @@ int extract_int_value(PyObject *int_object); result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ CHECK_FOR_EXCEPTION(ctx, fail_value) +int audit_hook(const char *event, PyObject *args, void *data); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 094131cab1..585491554f 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -29,6 +29,19 @@ Py_INCREF(type); \ PyErr_Restore(type, value, traceback); \ +const char *illegal_operation = 0; + +static void +turn_on_audit_hook() { + illegal_operation = "active"; +} + +static void +turn_off_audit_hook() { + if (strcmp(illegal_operation, "active") == 0) + illegal_operation = 0; +} + JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { PyConfig config; PyConfig_InitIsolatedConfig(&config); @@ -47,6 +60,7 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython SET_INTEGER_FIELD("pyGE", Py_GE) INITIALIZE_PYTHON_APPROXIMATIONS + PySys_AddAuditHook(audit_hook, &illegal_operation); } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { @@ -72,12 +86,17 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun( jobject cpython_adapter, jlong globals, jstring code, - jboolean print_error_message + jboolean print_error_message, + jboolean set_hook ) { const char *c_code = (*env)->GetStringUTFChars(env, code, 0); PyObject *dict = (PyObject *) globals; + if (set_hook) + turn_on_audit_hook(); PyObject *v = PyRun_StringFlags(c_code, Py_file_input, dict, dict, 0); + if (set_hook) + turn_off_audit_hook(); (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { if (print_error_message) @@ -95,12 +114,17 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval( jobject cpython_adapter, jlong globals, jstring code, - jboolean print_error_message + jboolean print_error_message, + jboolean set_hook ) { const char *c_code = (*env)->GetStringUTFChars(env, code, 0); PyObject *dict = (PyObject *) globals; + if (set_hook) + turn_on_audit_hook(); PyObject *v = PyRun_StringFlags(c_code, Py_eval_input, dict, dict, 0); + if (set_hook) + turn_off_audit_hook(); (*env)->ReleaseStringUTFChars(env, code, c_code); if (v == NULL) { if (print_error_message) @@ -118,7 +142,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu JNIEnv *env, jobject cpython_adapter, jlong function_ref, - jlongArray concrete_args + jlongArray concrete_args, + jboolean set_hook ) { int n = (*env)->GetArrayLength(env, concrete_args); jlong *addresses = (*env)->GetLongArrayElements(env, concrete_args, 0); @@ -127,7 +152,11 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu for (int i = 0; i < n; i++) { PyTuple_SetItem(args, i, (PyObject *) addresses[i]); } + if (set_hook) + turn_on_audit_hook(); PyObject *result = Py_TYPE(function_ref)->tp_call((PyObject *) function_ref, args, 0); + if (set_hook) + turn_off_audit_hook(); if (result == NULL) { SET_EXCEPTION_IN_CPYTHONADAPTER @@ -165,7 +194,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); - PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr); + PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr, turn_on_audit_hook, turn_off_audit_hook); free(args.ptr); if (result == NULL) { @@ -348,4 +377,10 @@ JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractExc JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref(JNIEnv *env, jobject _, jlong obj_ref) { Py_XDECREF((PyObject *) obj_ref); +} + +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIllegalOperation(JNIEnv *env, jobject _) { + if (!illegal_operation) + return 0; + return (*env)->NewStringUTF(env, illegal_operation); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index da809a0287..992334aa38 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -146,6 +146,70 @@ extract_int_value(PyObject *int_object) { return (int) value_as_long; } -int take_instruction_from_frame(PyFrameObject *frame) { +int +take_instruction_from_frame(PyFrameObject *frame) { return extract_int_value(PyObject_GetAttrString((PyObject *) frame, "f_lasti")); +} + +char *white_list[] = { + "builtins.id", + "import", + "object.__delattr__", + "object.__getattr__", + "object.__setattr__", + "compile", + "exec", + "os.listdir", + "marshal.loads", + "marshal.load", + "marshal.dumps", + "sys._getframe", + NULL +}; + +int +audit_hook(const char *event, PyObject *args, void *data) { + char const **illegal_event_holder = (char const **) data; + + // printf("EVENT: %s %s\n", event, *illegal_event_holder); + // fflush(stdout); + + if ((*illegal_event_holder) == 0 || strcmp(*illegal_event_holder, "active") != 0) { + return 0; + } + + int i = -1; + while (white_list[++i]) { + if (strcmp(white_list[i], event) == 0) + return 0; + } + + if (strcmp(event, "open") == 0) { + PyObject *mode = PyTuple_GetItem(args, 1); + if (mode == Py_None) + return 0; + assert(PyUnicode_Check(mode)); + if (PyUnicode_CompareWithASCIIString(mode, "r")) + return 0; + if (PyUnicode_CompareWithASCIIString(mode, "rb")) + return 0; + } + + if (strcmp(event, "os.rename") == 0) { + PyObject *filename = PyTuple_GetItem(args, 0); + assert(PyUnicode_Check(filename)); + PyObject *substr = PyUnicode_FromString("__pycache__"); + int r = PyUnicode_Find(filename, substr, 0, PyObject_Size(filename), 1); + assert(r != -2); + if (r >= 0) + return 0; + } + + //printf("EVENT: %s\n", event); + //PyObject_Print(args, stdout, 0); + //fflush(stdout); + + *illegal_event_holder = event; + PyErr_SetString(PyExc_RuntimeError, "Illegal operation"); + return -1; } \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index f592342ac8..5634445f98 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -38,9 +38,9 @@ public class CPythonAdapter { public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict public native void addName(long dict, long object, String name); - public native int concreteRun(long globals, String code, boolean print_error_message); // returns 0 on success - public native long eval(long globals, String obj, boolean print_error_message); // returns PyObject * - public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs); + public native int concreteRun(long globals, String code, boolean printErrorMessage, boolean setHook); // returns 0 on success + public native long eval(long globals, String obj, boolean printErrorMessage, boolean setHook); // returns PyObject * + public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs, boolean setHook); public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native long[] getIterableElements(long iterable); @@ -69,6 +69,7 @@ public class CPythonAdapter { public native long callStandardNew(long type); public native Throwable extractException(long exception); public native void decref(long object); + public native String checkForIllegalOperation(); static { System.loadLibrary("cpythonadapter"); diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 67997be679..03c087ac7d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -33,7 +33,7 @@ class PrimitivePythonProgram internal constructor( companion object { fun fromString(asString: String): PrimitivePythonProgram { val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, asString) + ConcretePythonInterpreter.concreteRun(namespace, asString, setHook = true) return PrimitivePythonProgram(namespace, emptySet()) } } @@ -60,7 +60,7 @@ class StructuredPythonProgram(val roots: Set): PythonProgram(roots) { ConcretePythonInterpreter.concreteRun(namespace, "import sys") module.split(".").fold("") { acc, name -> val curModule = acc + name - ConcretePythonInterpreter.concreteRun(namespace, "import $curModule") + ConcretePythonInterpreter.concreteRun(namespace, "import $curModule", setHook = true) "$acc$name." } val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 2c5f82a22f..7a358c41df 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -93,7 +93,7 @@ class PythonMachine( results: MutableList>, maxIterations: Int = 300, allowPathDiversion: Boolean = true, - maxInstructions: Int = 50000 + maxInstructions: Int = 1_000_000_000 ): Int = program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> typeSystem.restart() val observer = PythonMachineObserver() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 0a033bdaf3..a9e5ec75c4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -20,16 +20,26 @@ object ConcretePythonInterpreter { pythonAdapter.addName(namespace.address, pythonObject.address, name) } - fun concreteRun(globals: PythonNamespace, code: String, printErrorMsg: Boolean = false) { - val result = pythonAdapter.concreteRun(globals.address, code, printErrorMsg) - if (result != 0) - throw CPythonExecutionException() - } - - fun eval(globals: PythonNamespace, expr: String, printErrorMsg: Boolean = false): PythonObject { - val result = pythonAdapter.eval(globals.address, expr, printErrorMsg) - if (result == 0L) - throw CPythonExecutionException() + fun concreteRun(globals: PythonNamespace, code: String, printErrorMsg: Boolean = false, setHook: Boolean = false) { + val result = pythonAdapter.concreteRun(globals.address, code, printErrorMsg, setHook) + if (result != 0) { + val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null + if (op != null) + throw IllegalOperationException(op) + else + throw CPythonExecutionException() + } + } + + fun eval(globals: PythonNamespace, expr: String, printErrorMsg: Boolean = false, setHook: Boolean = false): PythonObject { + val result = pythonAdapter.eval(globals.address, expr, printErrorMsg, setHook) + if (result == 0L) { + val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null + if (op != null) + throw IllegalOperationException(op) + else + throw CPythonExecutionException() + } return PythonObject(result) } @@ -41,17 +51,27 @@ object ConcretePythonInterpreter { fun concreteRunOnFunctionRef( functionRef: PythonObject, - concreteArgs: Collection + concreteArgs: Collection, + setHook: Boolean = false ): PythonObject { pythonAdapter.thrownException = 0L pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concreteRunOnFunctionRef( functionRef.address, - concreteArgs.map { it.address }.toLongArray() + concreteArgs.map { it.address }.toLongArray(), + setHook ) - if (result == 0L) - throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) - return PythonObject(result) + if (result != 0L) + return PythonObject(result) + + val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null + if (op != null) + throw IllegalOperationException(op) + else + throw CPythonExecutionException( + wrap(pythonAdapter.thrownException), + wrap(pythonAdapter.thrownExceptionType) + ) } fun concolicRun( @@ -72,9 +92,14 @@ object ConcretePythonInterpreter { ctx, printErrorMsg ) - if (result == 0L) - throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) - return PythonObject(result) + if (result != 0L) + return PythonObject(result) + + val op = pythonAdapter.checkForIllegalOperation() + if (op != null) + throw IllegalOperationException(op) + + throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) } @@ -83,7 +108,11 @@ object ConcretePythonInterpreter { } fun getPythonObjectRepr(pythonObject: PythonObject): String { - return pythonAdapter.getPythonObjectRepr(pythonObject.address) ?: throw CPythonExecutionException() + val result = pythonAdapter.getPythonObjectRepr(pythonObject.address) + if (result != null) + return result + + throw CPythonExecutionException() } fun getAddressOfReprFunction(pythonObject: PythonObject): Long { @@ -183,18 +212,19 @@ object ConcretePythonInterpreter { pyGE = pythonAdapter.pyGE val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") - pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true) + pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) pythonAdapter.concreteRun( namespace, """ sys.setrecursionlimit(1000) """.trimIndent(), - true + true, + false ) - initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true)) + initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true, false)) if (initialSysPath.address == 0L) throw CPythonExecutionException() - initialSysModulesKeys = PythonObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true)) + initialSysModulesKeys = PythonObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true, false)) if (initialSysModulesKeys.address == 0L) throw CPythonExecutionException() pythonAdapter.decref(namespace) @@ -208,4 +238,6 @@ class CPythonExecutionException( data class PythonObject(val address: Long) data class PythonNamespace(val address: Long) -val emptyNamespace = ConcretePythonInterpreter.getNewNamespace() \ No newline at end of file +val emptyNamespace = ConcretePythonInterpreter.getNewNamespace() + +data class IllegalOperationException(val operation: String): Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt index fc2616bdf3..99f368049a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -50,6 +50,7 @@ class PythonMachineStatistics { fun writeReport(): String { val result = StringBuilder() + result.append("Functions analyzed: ${functionStatistics.size}\n") result.append("Mean coverage: $meanCoverage\n") result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") result.append("Lost symbolic values:\n") diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6017514919..2bb9585736 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,6 +5,7 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer import org.usvm.utils.getModulesFromFiles @@ -82,24 +83,33 @@ private fun analyze(runConfig: RunConfig) { val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) machine.use { activeMachine -> functions.forEach { f -> - println("Started analysing function ${f.tag}") - val start = System.currentTimeMillis() - val results: MutableList> = mutableListOf() - val iterations = activeMachine.analyze(f, results, maxIterations = 30, allowPathDiversion = true, maxInstructions = 1000) - results.forEach { (_, inputs, result) -> - println("INPUT:") - inputs.map { it.reprFromPythonObject }.forEach { println(it) } - println("RESULT:") - when (result) { - is Success -> println(result.output) - is Fail -> println(result.exception) + try { + val start = System.currentTimeMillis() + val results: MutableList> = mutableListOf() + val iterations = activeMachine.analyze( + f, + results, + maxIterations = 30, + allowPathDiversion = true, + maxInstructions = 10_000 + ) + results.forEach { (_, inputs, result) -> + println("INPUT:") + inputs.map { it.reprFromPythonObject }.forEach { println(it) } + println("RESULT:") + when (result) { + is Success -> println(result.output) + is Fail -> println(result.exception) + } + println() } + println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") + println("FUNCTION STATISTICS") + println(machine.statistics.functionStatistics.last().writeReport()) println() + } catch (e: IllegalOperationException) { + println("Illegal operation while analyzing: ${e.operation}\n") } - println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") - println("FUNCTION STATISTICS") - println(machine.statistics.functionStatistics.last().writeReport()) - println() } println("GENERAL STATISTICS") println(machine.statistics.writeReport()) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt new file mode 100644 index 0000000000..fa5e96ec19 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt @@ -0,0 +1,55 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults +import org.usvm.utils.withAdditionalPaths + +class IllegalOperationTest : PythonTestRunnerForStructuredProgram("SimpleExample") { + @Test + fun testIllegalOperation() { + assertThrows { + check0( + constructFunction("illegal_operation", emptyList()), + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ emptyList() + ) + } + } + + @Test + fun testSettraceUsage() { + assertThrows { + check0( + constructFunction("settrace_usage", emptyList()), + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ emptyList() + ) + } + } + + @Test + fun testRemoveTracing() { + assertThrows { + check0( + constructFunction("remove_tracing", emptyList()), + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ emptyList() + ) + } + } + + @Test + fun testBadProgram() { + assertThrows { + withAdditionalPaths(program.additionalPaths, null) { + program.getNamespaceOfModule("BadProgram") + } + } + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 1206268af1..596bfb7946 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,8 +1,10 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable +import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/resources/samples/BadProgram.py b/usvm-python/src/test/resources/samples/BadProgram.py new file mode 100644 index 0000000000..2a859903c8 --- /dev/null +++ b/usvm-python/src/test/resources/samples/BadProgram.py @@ -0,0 +1 @@ +name = input("Enter your name >> ") \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 542b84de3e..3bcdd1b8c6 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -1,5 +1,6 @@ import pickle import codecs +import sys def many_branches(x: int, y: int, z: int): @@ -121,3 +122,15 @@ def range_6(x: int): for _ in range(0, 5, x): cnt += 1 assert cnt == 0 + + +def illegal_operation(): + input("Reading from stdin") + + +def settrace_usage(): + sys.settrace(lambda *args: None) + + +def remove_tracing(): + sys.settrace(None) \ No newline at end of file From ce5561ce4dd279093b7df37e7e8b367629f27a67 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 24 Aug 2023 13:44:44 +0300 Subject: [PATCH 074/344] Fix for python cache --- usvm-python/cpythonadapter/src/main/c/utils.c | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 992334aa38..73ed18767a 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -167,6 +167,17 @@ char *white_list[] = { NULL }; +static int +is_pycache_file(PyObject *filename) { + assert(PyUnicode_Check(filename)); + PyObject *substr = PyUnicode_FromString("__pycache__"); + int r = PyUnicode_Find(filename, substr, 0, PyObject_Size(filename), 1); + assert(r != -2); + if (r >= 0) + return 1; + return 0; +} + int audit_hook(const char *event, PyObject *args, void *data) { char const **illegal_event_holder = (char const **) data; @@ -195,19 +206,14 @@ audit_hook(const char *event, PyObject *args, void *data) { return 0; } - if (strcmp(event, "os.rename") == 0) { - PyObject *filename = PyTuple_GetItem(args, 0); - assert(PyUnicode_Check(filename)); - PyObject *substr = PyUnicode_FromString("__pycache__"); - int r = PyUnicode_Find(filename, substr, 0, PyObject_Size(filename), 1); - assert(r != -2); - if (r >= 0) + if (strcmp(event, "os.rename") == 0 || strcmp(event, "os.mkdir") == 0) { + if (is_pycache_file(PyTuple_GetItem(args, 0))) return 0; } - //printf("EVENT: %s\n", event); - //PyObject_Print(args, stdout, 0); - //fflush(stdout); + // printf("EVENT: %s\n", event); + // PyObject_Print(args, stdout, 0); + // fflush(stdout); *illegal_event_holder = event; PyErr_SetString(PyExc_RuntimeError, "Illegal operation"); From bcf1fccd222b0bf24a3d7c6b649cc33c3579c4d5 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 24 Aug 2023 19:00:09 +0300 Subject: [PATCH 075/344] Improved virtual nb_bool --- .../src/main/kotlin/org/usvm/solver/Solver.kt | 6 ++ usvm-python/build.gradle.kts | 4 +- usvm-python/cpythonadapter/src/main/c/utils.c | 1 + .../org/usvm/machine/PythonExecutionState.kt | 5 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 8 +-- .../org/usvm/machine/PythonMockEvaluator.kt | 17 ++++-- .../kotlin/org/usvm/machine/UPythonContext.kt | 2 +- .../interpreters/USVMPythonInterpreter.kt | 3 +- .../interpreters/operations/Constants.kt | 2 +- .../interpreters/operations/Virtual.kt | 59 +++++++++++++++---- .../symbolicobjects/PreAllocatedObjects.kt | 20 +++++++ .../SymbolicObjectConstruction.kt | 21 +++++++ .../symbolicobjects/SymbolicPythonObject.kt | 5 ++ .../kotlin/org/usvm/machine/utils/PyModel.kt | 3 +- usvm-python/src/test/kotlin/manualTest.kt | 26 ++++---- .../org/usvm/samples/PathDiversionTest.kt | 2 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- ...ickyExample.py => PathDiversionExample.py} | 9 --- .../src/test/resources/samples/Tricky.py | 9 +++ 19 files changed, 155 insertions(+), 49 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt rename usvm-python/src/test/resources/samples/{TrickyExample.py => PathDiversionExample.py} (74%) create mode 100644 usvm-python/src/test/resources/samples/Tricky.py diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt index 827b95d67d..b9b7b50fca 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt @@ -3,6 +3,7 @@ package org.usvm.solver import io.ksmt.solver.KSolver import io.ksmt.solver.KSolverStatus import io.ksmt.utils.asExpr +import mu.KLogging import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.UContext @@ -12,6 +13,7 @@ import org.usvm.isTrue import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder import kotlin.time.Duration +import kotlin.time.Duration.Companion.milliseconds sealed interface USolverResult @@ -125,6 +127,7 @@ open class USolverBase( private fun internalCheckWithSoftConstraints( softConstraints: MutableList, ): KSolverStatus { + // logger.debug("Checking...") var status: KSolverStatus if (softConstraints.isNotEmpty()) { status = smtSolver.checkWithAssumptions(softConstraints, timeout) @@ -138,6 +141,7 @@ open class USolverBase( } else { status = smtSolver.check(timeout) } + // logger.debug("Checked!") return status } @@ -162,5 +166,7 @@ open class USolverBase( */ val ITERATIONS_THRESHOLD = -1 val INFINITE_ITERATIONS = -1 + + val logger = object : KLogging() {}.logger } } diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index b2f6161e7c..11f78b018d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -38,13 +38,15 @@ val commonJVMArgs = listOf( ) +val cpythonPath = "${childProjects["cpythonadapter"]!!.projectDir}/cpython" val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? val installMypyRunner = tasks.register("installUtbotMypyRunner") { group = "samples" - inputs.dir(cpythonBuildPath) + dependsOn(":usvm-python:cpythonadapter:linkDebug") + inputs.dir(cpythonPath) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("PYTHONHOME" to cpythonBuildPath) commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 73ed18767a..8502ae4ff7 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -164,6 +164,7 @@ char *white_list[] = { "marshal.load", "marshal.dumps", "sys._getframe", + "code.__new__", NULL }; diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 699a263538..cfb6ce6ff3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -9,6 +9,7 @@ import org.usvm.machine.symbolicobjects.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.* +import org.usvm.machine.symbolicobjects.PreAllocatedObjects import org.usvm.machine.types.prioritization.SymbolTypeTree import org.usvm.machine.types.prioritization.prioritizeTypes import org.usvm.machine.utils.PyModel @@ -26,7 +27,7 @@ class PythonExecutionState( memory: UMemoryBase, uModel: UModelBase, val typeSystem: PythonTypeSystem, - val noneObj: UninterpretedSymbolicPythonObject, + val preAllocatedObjects: PreAllocatedObjects, callStack: UCallStack> = UCallStack(), pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), var delayedForks: PersistentList = persistentListOf(), @@ -44,7 +45,7 @@ class PythonExecutionState( newMemory, pyModel.uModel, typeSystem, - noneObj, + preAllocatedObjects, callStack, pathLocation, delayedForks, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 7a358c41df..64e09792c3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -4,14 +4,11 @@ import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withTimeout import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.machine.symbolicobjects.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructInputObject import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.USVMPythonInterpreter -import org.usvm.machine.symbolicobjects.constructNone +import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemoryBase @@ -64,6 +61,7 @@ class PythonMachine( val symbols = target.signature.mapIndexed { index, type -> SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem)) } + val preAllocatedObjects = PreAllocatedObjects(ctx, memory, pathConstraints, typeSystem) val solverRes = solver.check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") @@ -75,7 +73,7 @@ class PythonMachine( memory, solverRes.model, typeSystem, - constructNone(memory, typeSystem) + preAllocatedObjects ).also { it.meta.generatedFrom = "Initial state" } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt index 2983f619f4..49f683774a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt @@ -7,9 +7,10 @@ import org.usvm.model.UModelBase class PythonMockEvaluator( ctx: UPythonContext, private val baseMockEvaluator: UMockEvaluator, - private val mockSymbol: UMockSymbol + val mockSymbol: UMockSymbol, + suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null ): UMockEvaluator { - private val evaluatedMockSymbol = ctx.provideRawConcreteHeapRef() + val evaluatedMockSymbol = suggestedEvaluatedMockSymbol ?: ctx.provideRawConcreteHeapRef() override fun eval(symbol: UMockSymbol): UExpr { val evaluatedValue = baseMockEvaluator.eval(symbol) @@ -22,8 +23,13 @@ class PythonMockEvaluator( } } -fun constructModelWithNewMockEvaluator(ctx: UPythonContext, oldModel: PyModel, mockSymbol: UMockSymbol): PyModel { - val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocks, mockSymbol) +fun constructModelWithNewMockEvaluator( + ctx: UPythonContext, + oldModel: PyModel, + mockSymbol: UMockSymbol, + suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null +): Pair { + val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocks, mockSymbol, suggestedEvaluatedMockSymbol) val newModel = UModelBase( ctx, oldModel.uModel.stack, @@ -31,5 +37,6 @@ fun constructModelWithNewMockEvaluator(ctx: UPythonContext, oldModel: PyModel, m oldModel.uModel.types, newMockEvaluator ) - return PyModel(newModel) + val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) + return PyModel(newModel) to constraint } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 56bc0e2308..c3e773f666 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -6,7 +6,7 @@ import org.usvm.UContext import org.usvm.language.types.PythonTypeSystem class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(typeSystem)) { - private var nextAddress: UConcreteHeapAddress = -1000_000_000 + private var nextAddress: UConcreteHeapAddress = -1_000_000_000 fun provideRawConcreteHeapRef(): UConcreteHeapRef { return mkConcreteHeapRef(nextAddress--) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 7521900732..cc06fada70 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -177,7 +177,8 @@ class USVMPythonInterpreter( iterationCounter.iterations += 1 logger.debug("Step result: InstructionLimitExceededException") - return StepResult(emptySequence(), false) + concolicRunContext.curState?.meta?.modelDied = true + return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.meta.modelDied) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index f8e46f13f4..55d387333e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -13,7 +13,7 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { "int" -> handlerLoadConstLongKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) - "NoneType" -> context.curState?.noneObj + "NoneType" -> context.curState?.preAllocatedObjects?.noneObject "tuple" -> { val elements = ConcretePythonInterpreter.getIterableElements(value) val symbolicElements = elements.map { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 9135fd3dda..859b6b8325 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -1,25 +1,45 @@ package org.usvm.machine.interpreters.operations +import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.* import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.isTrue import org.usvm.language.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.utils.PyModel import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation - val typeSystem = context.typeSystem + // val typeSystem = context.typeSystem val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) - val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertypeSoft(context, typeSystem.pythonBool) - myFork(context, symbolic.getBoolContent(context)) + + val oldModel = context.modelHolder.model + val (interpretedObj, _) = internalVirtualCallKt(context) { mockSymbol -> + val trueObject = context.modelHolder.model.eval(context.curState!!.preAllocatedObjects.trueObject.address) + val falseObject = context.modelHolder.model.eval(context.curState!!.preAllocatedObjects.falseObject.address) + listOf( + constructModelWithNewMockEvaluator( + context.ctx, + oldModel, + mockSymbol, + falseObject as UConcreteHeapRef + ), + constructModelWithNewMockEvaluator( + context.ctx, + oldModel, + mockSymbol, + trueObject as UConcreteHeapRef + ) + ) + } + return interpretedObj.getBoolContent(context).isTrue } @@ -47,7 +67,10 @@ fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int return intValue.toString().toInt() } -private fun internalVirtualCallKt(context: ConcolicRunContext): Pair = with(context.ctx) { +private fun internalVirtualCallKt( + context: ConcolicRunContext, + customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } +): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation context.curState ?: throw UnregisteredVirtualOperation val owner = context.curOperation.methodOwner ?: throw UnregisteredVirtualOperation @@ -56,21 +79,35 @@ private fun internalVirtualCallKt(context: ConcolicRunContext): Pair + val newState = context.curState!!.clone() + newState.models = listOf(nextNewModel.uModel) + newState.pathConstraints += constraint + context.forkedStates.add(newState) + } + + substituteModel(context.curState!!, newModel, constraint, context) } val concrete = interpretSymbolicPythonObject(symbolic, context.modelHolder) - return (concrete as InterpretedInputSymbolicPythonObject) to symbolic + return concrete to symbolic } fun virtualCallKt(context: ConcolicRunContext): PythonObject { val (interpreted, _) = internalVirtualCallKt(context) val converter = context.converter + require(interpreted is InterpretedInputSymbolicPythonObject) return converter.convert(interpreted) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt new file mode 100644 index 0000000000..051e0aa121 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt @@ -0,0 +1,20 @@ +package org.usvm.machine.symbolicobjects + +import org.usvm.constraints.UPathConstraints +import org.usvm.language.PropertyOfPythonObject +import org.usvm.language.PythonCallable +import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.UPythonContext +import org.usvm.memory.UMemoryBase + +class PreAllocatedObjects( + ctx: UPythonContext, + initialMemory: UMemoryBase, + initialPathConstraints: UPathConstraints, + typeSystem: PythonTypeSystem +) { + val noneObject = constructNone(initialMemory, typeSystem) + val trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr) + val falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 9b88e09043..c5497f17bf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -46,6 +46,12 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre fun constructBool(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) + + if (expr is UTrue) + return context.curState!!.preAllocatedObjects.trueObject + if (expr is UFalse) + return context.curState!!.preAllocatedObjects.falseObject + val typeSystem = context.typeSystem val address = context.curState!!.memory.alloc(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) @@ -53,6 +59,21 @@ fun constructBool(context: ConcolicRunContext, expr: UExpr): Uninterp return result } +fun constructInitialBool( + ctx: UContext, + memory: UMemoryBase, + pathConstraints: UPathConstraints, + typeSystem: PythonTypeSystem, + expr: UExpr +): UninterpretedSymbolicPythonObject { + val address = memory.alloc(typeSystem.pythonBool) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) + pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool, null) + val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) + memory.write(lvalue, expr) + return result +} + fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index a145b5a181..685c002bcc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -10,6 +10,7 @@ import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* +import org.usvm.memory.UMemoryBase import org.usvm.types.UTypeStream import org.usvm.types.first @@ -33,11 +34,15 @@ class UninterpretedSymbolicPythonObject( typeSystem: PythonTypeSystem ): SymbolicPythonObject(address, typeSystem) { fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { + if (address is UConcreteHeapRef) + return require(ctx.curState != null) myAssert(ctx, evalIs(ctx, type)) } fun addSupertypeSoft(ctx: ConcolicRunContext, type: PythonType) { + if (address is UConcreteHeapRef) + return require(ctx.curState != null) myAssert(ctx, evalIsSoft(ctx, type)) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt index 20603b6c18..edca7184ec 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt @@ -50,7 +50,8 @@ class PyModel(val uModel: UModelBase) { class PyModelHolder(var model: PyModel) -fun substituteModel(state: PythonExecutionState, newModel: PyModel, ctx: ConcolicRunContext) { +fun substituteModel(state: PythonExecutionState, newModel: PyModel, constraint: UBoolExpr, ctx: ConcolicRunContext) { state.models = listOf(newModel.uModel) + state.pathConstraints += constraint ctx.modelHolder.model = newModel } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 2bb9585736..1b6bc65032 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -22,16 +22,21 @@ import java.io.File private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x): - t = 1, x - a, b = t - assert a == b + def count(nodes, i, j): + if i > j or i < 0 or j >= len(nodes): + return 0 + + node = nodes[i][j] + left_depth = count(nodes, i, node - 1) + right_depth = count(nodes, node + 1, j) + result = max(left_depth, right_depth) + 1 + return result """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), - "f" + listOf(typeSystem.pythonList, typeSystem.pythonInt, typeSystem.pythonInt), + "count" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -73,8 +78,8 @@ private fun buildProjectRunConfig(): RunConfig { } fun main() { - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) } @@ -83,15 +88,16 @@ private fun analyze(runConfig: RunConfig) { val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) machine.use { activeMachine -> functions.forEach { f -> + println("Started analysing function ${f.tag}") try { val start = System.currentTimeMillis() val results: MutableList> = mutableListOf() val iterations = activeMachine.analyze( f, results, - maxIterations = 30, + maxIterations = 100, allowPathDiversion = true, - maxInstructions = 10_000 + maxInstructions = 50_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 7ce8338be9..0e0247de7a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -6,7 +6,7 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class PathDiversionTest : PythonTestRunnerForPrimitiveProgram("TrickyExample") { +class PathDiversionTest : PythonTestRunnerForPrimitiveProgram("PathDiversionExample") { private val function = constructFunction("pickle_path_diversion", listOf(typeSystem.pythonInt)) @Test fun testAllowPathDiversion() { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 5755db9fe1..8da051e5bb 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -138,7 +138,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testMultiplyAndCompare() { val oldOptions = options - options = UMachineOptions(stepLimit = 40U) + options = UMachineOptions(stepLimit = 50U) check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/resources/samples/TrickyExample.py b/usvm-python/src/test/resources/samples/PathDiversionExample.py similarity index 74% rename from usvm-python/src/test/resources/samples/TrickyExample.py rename to usvm-python/src/test/resources/samples/PathDiversionExample.py index 91b6dc888f..595a57200a 100644 --- a/usvm-python/src/test/resources/samples/TrickyExample.py +++ b/usvm-python/src/test/resources/samples/PathDiversionExample.py @@ -12,12 +12,3 @@ def pickle_path_diversion(x: int): if x >= 0: return 3 # unreachable return 4 - - -""" -def pickle_unregistered_virtual_call(x): - y = pickle.loads(pickle.dumps(x)) - if y: - return 1 - return 2 -""" \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Tricky.py b/usvm-python/src/test/resources/samples/Tricky.py new file mode 100644 index 0000000000..9e279ac899 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Tricky.py @@ -0,0 +1,9 @@ +def calculate_depth(nodes, i, j): + if i > j or i < 0 or j >= len(nodes): + return 0 + + node = nodes[i][j] + left_depth = calculate_depth(nodes, i, node - 1) + right_depth = calculate_depth(nodes, node + 1, j) + result = max(left_depth, right_depth) + 1 + return result \ No newline at end of file From 8543476f755794622064fe0945f7e58738cf25ed Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 25 Aug 2023 15:56:07 +0300 Subject: [PATCH 076/344] New way to get typeStream for delayed fork --- .../src/main/kotlin/org/usvm/solver/Solver.kt | 1 - usvm-python/build.gradle.kts | 1 + .../usvm/interpreter/ConcolicRunContext.java | 10 +++--- .../org/usvm/machine/PythonExecutionState.kt | 12 +++---- .../kotlin/org/usvm/machine/PythonMachine.kt | 6 ++-- .../usvm/machine/PythonVirtualPathSelector.kt | 8 ++--- .../interpreters/USVMPythonInterpreter.kt | 12 ------- .../machine/interpreters/operations/Common.kt | 2 +- .../interpreters/operations/Control.kt | 13 ++++---- .../operations/MethodNotifications.kt | 22 ++++++------- ...catedObjects.kt => PreallocatedObjects.kt} | 2 +- .../SymbolicObjectConstruction.kt | 4 +-- .../symbolicobjects/SymbolicPythonObject.kt | 32 +++++++++++-------- .../org/usvm/machine/utils/UHeapRefUtils.kt | 32 +++++++++++++++++++ .../org/usvm/utils/GlobalParameteres.kt | 3 ++ usvm-python/src/test/kotlin/manualTest.kt | 6 ++-- 16 files changed, 94 insertions(+), 72 deletions(-) rename usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/{PreAllocatedObjects.kt => PreallocatedObjects.kt} (96%) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt index b9b7b50fca..7d163121a6 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt @@ -13,7 +13,6 @@ import org.usvm.isTrue import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder import kotlin.time.Duration -import kotlin.time.Duration.Companion.milliseconds sealed interface USolverResult diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 11f78b018d..1696a4a51e 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -103,6 +103,7 @@ tasks.register("manualTestRelease") { tasks.test { jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + // jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml" dependsOn(":usvm-python:cpythonadapter:linkDebug") dependsOn(buildSamples) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index d9f4e8650b..f76270ed5a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,6 +2,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.usvm.language.types.PythonType; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent; @@ -10,13 +11,11 @@ import org.usvm.machine.UPythonContext; import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; import org.usvm.machine.symbolicobjects.ConverterToPythonObject; -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; +import org.usvm.types.UTypeStream; + +import java.util.*; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; public class ConcolicRunContext { @Nullable @@ -28,7 +27,6 @@ public class ConcolicRunContext { public PyModelHolder modelHolder; public boolean allowPathDiversion; public ConverterToPythonObject converter; - public Set delayedNonNullObjects = new HashSet<>(); public PythonTypeSystem typeSystem; public PythonMachineStatisticsOnFunction statistics; public int maxInstructions; diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index cfb6ce6ff3..7448e1e1e2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -9,15 +9,14 @@ import org.usvm.machine.symbolicobjects.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.* -import org.usvm.machine.symbolicobjects.PreAllocatedObjects +import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.types.prioritization.SymbolTypeTree import org.usvm.machine.types.prioritization.prioritizeTypes import org.usvm.machine.utils.PyModel import org.usvm.memory.UMemoryBase import org.usvm.model.UModelBase import org.usvm.types.UTypeStream - -private const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 +import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER class PythonExecutionState( private val ctx: UPythonContext, @@ -27,7 +26,8 @@ class PythonExecutionState( memory: UMemoryBase, uModel: UModelBase, val typeSystem: PythonTypeSystem, - val preAllocatedObjects: PreAllocatedObjects, + val preAllocatedObjects: PreallocatedObjects, + var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), callStack: UCallStack> = UCallStack(), pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), var delayedForks: PersistentList = persistentListOf(), @@ -46,6 +46,7 @@ class PythonExecutionState( pyModel.uModel, typeSystem, preAllocatedObjects, + possibleTypesForNull, callStack, pathLocation, delayedForks, @@ -57,8 +58,6 @@ class PythonExecutionState( val meta = PythonExecutionStateMeta() val pyModel: PyModel get() = PyModel(models.first()) - //val lastHandlerEvent: SymbolicHandlerEvent? - // get() = if (path.isEmpty()) null else path.last() fun buildPathAsList(): List> = reversedPath.asSequence().toList().reversed() @@ -118,4 +117,5 @@ class PythonExecutionStateMeta { var objectsWithoutConcreteTypes: Set? = null var lastConverter: ConverterToPythonObject? = null var generatedFrom: String = "" // for debugging only + var typeStreamForNull: UTypeStream? = null } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 64e09792c3..6f31921923 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -1,7 +1,5 @@ package org.usvm.machine -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withTimeout import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.* @@ -61,7 +59,7 @@ class PythonMachine( val symbols = target.signature.mapIndexed { index, type -> SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem)) } - val preAllocatedObjects = PreAllocatedObjects(ctx, memory, pathConstraints, typeSystem) + val preAllocatedObjects = PreallocatedObjects(ctx, memory, pathConstraints, typeSystem) val solverRes = solver.check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") @@ -80,7 +78,7 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val ps = PythonVirtualPathSelector(ctx, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 20e974e01d..83ccbafc26 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -13,7 +13,6 @@ import kotlin.random.Random class PythonVirtualPathSelector( private val ctx: UContext, - private val typeSystem: PythonTypeSystem, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector @@ -48,13 +47,14 @@ class PythonVirtualPathSelector( return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) triedTypesForDelayedForks.add(delayedFork.delayedFork to concreteType) - val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType, null).not()) + val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType).not()) if (forkResult.positiveState != state) { require(typeRating.isEmpty() && forkResult.positiveState == null) unservedDelayedForks.removeIf { it.delayedFork.state == state } servedDelayedForks.removeIf { it.delayedFork.state == state } } - require(forkResult.negativeState != null) + if (forkResult.negativeState == null) + return null val stateWithConcreteType = forkResult.negativeState!! if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) @@ -71,7 +71,7 @@ class PythonVirtualPathSelector( val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } - val typeStreams = objects.map { it.getTypeStream() ?: typeSystem.topTypeStream() } + val typeStreams = objects.map { it.getTypeStream() ?: state.possibleTypesForNull } if (typeStreams.any { it.take(2).size < 2 }) { return generateStateWithConcretizedTypeWithoutDelayedForks() } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index cc06fada70..45e09060c7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -137,20 +137,8 @@ class USVMPythonInterpreter( resultState.meta.wasExecuted = true if (resultState.delayedForks.isEmpty() && inputs == null) { - var newResultState = resultState - concolicRunContext.delayedNonNullObjects.forEach { obj -> - newResultState = newResultState?.let { - myAssertOnState(it, ctx.mkNot(ctx.mkHeapRefEq(obj.address, ctx.nullRef))) - } - } - if (newResultState == null) { - logger.debug("Error in concretization of virtual objects") - return StepResult(emptySequence(), false) - } - require(newResultState == resultState) resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() resultState.meta.lastConverter = converter - converter.modelHolder.model = resultState.pyModel } logger.debug("Finished step on state: {}", concolicRunContext.curState) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 343dfeadbd..aaee94a1e7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -25,7 +25,7 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonInt)) and obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonBool)) myFork(ctx, cond) } else { - myFork(ctx, obj.evalIs(ctx, ConcreteTypeNegation(type))) + myFork(ctx, obj.evalIs(ctx, type)) } require(interpreted.getConcreteType(ctx) == null) constructBool(ctx, falseExpr) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index 3ef7f58453..c2a271773e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -8,8 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PythonExecutionState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.language.PythonPinnedCallable -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.utils.getTypeStreamForDelayedFork fun myFork(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) @@ -50,15 +49,15 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { throw BadModelException } -fun addDelayedFork(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PythonExecutionState) { - if (context.curState == null) +fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PythonExecutionState) { + if (ctx.curState == null) return - context.curState!!.delayedForks = context.curState!!.delayedForks.add( + ctx.curState!!.delayedForks = ctx.curState!!.delayedForks.add( DelayedFork( clonedState, on, - clonedState.pyModel.uModel.typeStreamOf(clonedState.pyModel.eval(on.address)), - context.curState!!.delayedForks + getTypeStreamForDelayedFork(on, ctx), + ctx.curState!!.delayedForks ) ) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt index a1a06d2696..1911803c88 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt @@ -6,55 +6,55 @@ import org.usvm.language.types.* fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertype(context, HasNbBool) + on.addSupertypeSoft(context, HasNbBool) } fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertype(context, HasNbInt) + on.addSupertypeSoft(context, HasNbInt) } fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { context.curState ?: return - myAssert(context, left.evalIs(context, HasNbAdd) or right.evalIs(context, HasNbAdd)) + myAssert(context, left.evalIsSoft(context, HasNbAdd) or right.evalIsSoft(context, HasNbAdd)) } fun nbSubtractKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { context.curState ?: return - myAssert(context, left.evalIs(context, HasNbSubtract)) + myAssert(context, left.evalIsSoft(context, HasNbSubtract)) } fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { context.curState ?: return - myAssert(context, left.evalIs(context, HasNbMultiply) or right.evalIs(context, HasNbMultiply)) + myAssert(context, left.evalIsSoft(context, HasNbMultiply) or right.evalIsSoft(context, HasNbMultiply)) } fun nbMatrixMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { context.curState ?: return - myAssert(context, left.evalIs(context, HasNbMatrixMultiply)) + myAssert(context, left.evalIsSoft(context, HasNbMatrixMultiply)) } fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertype(context, HasSqLength) + on.addSupertypeSoft(context, HasSqLength) } fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertype(context, HasMpSubscript) + on.addSupertypeSoft(context, HasMpSubscript) } fun mpAssSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertype(context, HasMpAssSubscript) + on.addSupertypeSoft(context, HasMpAssSubscript) } fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, left.evalIs(context, HasTpRichcmp)) + myAssert(context, left.evalIsSoft(context, HasTpRichcmp)) } fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIs(context, HasTpIter)) + myAssert(context, on.evalIsSoft(context, HasTpIter)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt similarity index 96% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 051e0aa121..c8406ab96e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreAllocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -8,7 +8,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext import org.usvm.memory.UMemoryBase -class PreAllocatedObjects( +class PreallocatedObjects( ctx: UPythonContext, initialMemory: UMemoryBase, initialPathConstraints: UPathConstraints, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index c5497f17bf..0dd754f2ba 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -23,7 +23,7 @@ fun constructInputObject( val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address, typeSystem) - pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, type, null) + pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, type) return result } @@ -68,7 +68,7 @@ fun constructInitialBool( ): UninterpretedSymbolicPythonObject { val address = memory.alloc(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) - pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool, null) + pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) memory.write(lvalue, expr) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 685c002bcc..013610ec03 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -10,7 +10,7 @@ import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.* import org.usvm.language.types.* -import org.usvm.memory.UMemoryBase +import org.usvm.machine.utils.getLeafHeapRef import org.usvm.types.UTypeStream import org.usvm.types.first @@ -49,42 +49,39 @@ class UninterpretedSymbolicPythonObject( fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { require(ctx.curState != null) - return evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type, ctx) + val result = evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) + if (resolvesToNullInCurrentModel(ctx) && ctx.curState!!.pyModel.eval(result).isTrue) { + ctx.curState!!.possibleTypesForNull = ctx.curState!!.possibleTypesForNull.filterBySupertype(type) + } + return result } fun evalIs( ctx: UContext, typeConstraints: UTypeConstraints, - type: PythonType, - concolicContext: ConcolicRunContext? + type: PythonType ): UBoolExpr { if (type is ConcretePythonType) { return with(ctx) { typeConstraints.evalIsSubtype(address, ConcreteTypeNegation(type)).not() } } - val result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) - if (type !is PythonAnyType && concolicContext != null) - concolicContext.delayedNonNullObjects.add(this) - return result + return typeConstraints.evalIsSubtype(address, type) } fun evalIsSoft(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { require(ctx.curState != null) - return evalIsSoft(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type, ctx) + return evalIsSoft(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) } fun evalIsSoft( ctx: UContext, typeConstraints: UTypeConstraints, - type: PythonType, - concolicContext: ConcolicRunContext? + type: PythonType ): UBoolExpr { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) if (type is ConcretePythonType) result = with(ctx) { result and mkHeapRefEq(address, nullRef).not() } - else if (type !is PythonAnyType && concolicContext != null) - concolicContext.delayedNonNullObjects.add(this) return result } @@ -270,6 +267,11 @@ class UninterpretedSymbolicPythonObject( val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) } + + private fun resolvesToNullInCurrentModel(ctx: ConcolicRunContext): Boolean { + val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) + return interpreted.address.address == 0 + } } sealed class InterpretedSymbolicPythonObject( @@ -280,6 +282,7 @@ sealed class InterpretedSymbolicPythonObject( abstract fun getFirstType(ctx: ConcolicRunContext): PythonType? abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue + abstract fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? } class InterpretedInputSymbolicPythonObject( @@ -297,6 +300,7 @@ class InterpretedInputSymbolicPythonObject( override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue = getIntContent(ctx.ctx) + override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? = getTypeStream() fun getFirstType(): PythonType? { if (address.address == 0) @@ -350,7 +354,7 @@ class InterpretedAllocatedSymbolicPythonObject( return ctx.curState!!.memory.heap.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue } - fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { + override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { require(ctx.curState != null) return ctx.curState!!.memory.typeStreamOf(address) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt new file mode 100644 index 0000000000..d16ee14ddc --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -0,0 +1,32 @@ +package org.usvm.machine.utils + +import org.usvm.* +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.PythonType +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.types.UTypeStream + +fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = + when (ref) { + is UConcreteHeapRef -> ref + is UNullRef -> ref + is USymbolicHeapRef -> ref + is UIteExpr -> + if (model.eval(ref.condition).isTrue) + getLeafHeapRef(ref.trueBranch, model) + else + getLeafHeapRef(ref.falseBranch, model) + + else -> error("Unexpected ref: $ref") + } + + +fun getTypeStreamForDelayedFork(obj: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext): UTypeStream { + require(ctx.curState != null) + val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) + if (interpreted.address.address != 0) + return interpreted.getTypeStream(ctx)!! + val leaf = getLeafHeapRef(obj.address, ctx.curState!!.pyModel) + return ctx.curState!!.memory.typeStreamOf(leaf) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt b/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt new file mode 100644 index 0000000000..babb67a658 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt @@ -0,0 +1,3 @@ +package org.usvm.utils + +const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 1b6bc65032..51bcb820e7 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -43,7 +43,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -95,9 +95,9 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 100, + maxIterations = 30, allowPathDiversion = true, - maxInstructions = 50_000 + maxInstructions = 1_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") From 5d214aa780b075a867019bc0c015cd79f4ff35bc Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 28 Aug 2023 16:58:36 +0300 Subject: [PATCH 077/344] Implemented list repeat and concat --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 32 +++++++ .../src/main/c/approximations/list.c | 88 ++++++++++++------- .../src/main/c/include/approximations.h | 8 +- usvm-python/cpythonadapter/src/main/c/utils.c | 2 + .../src/main/json/adapter_method_defs.json | 24 +++++ .../src/main/json/handler_defs.json | 10 +++ .../org/usvm/interpreter/CPythonAdapter.java | 8 ++ .../machine/interpreters/operations/List.kt | 69 +++++++++++---- .../interpreters/operations/Virtual.kt | 1 - .../machine/utils/PythonMachineStatistics.kt | 19 +++- usvm-python/src/test/kotlin/manualTest.kt | 39 ++++---- .../org/usvm/samples/SimpleExampleTest.kt | 2 + .../org/usvm/samples/SimpleListsTest.kt | 29 ++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 14 +++ .../src/test/resources/samples/SimpleLists.py | 14 ++- .../resources/samples/SimpleTypeInference.py | 7 +- 17 files changed, 298 insertions(+), 70 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 2e64d5a9a9..c9fe90038f 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 2e64d5a9a957b403b148ab6867d3bec22e12622d +Subproject commit c9fe90038fe3302cf31b95261ff0a552088c80b1 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index ee7447119f..a536c383ee 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -107,4 +107,36 @@ Approximation_range(void *adapter_raw, PyObject *args) { if (!concrete) return 0; return wrap(concrete, symbolic, adapter); +} + +#define builtin_sum_impl \ + "def builtin_sum_impl(x): \n" \ + " result = 0 \n" \ + " for elem in x: \n" \ + " result += elem \n" \ + " return result \n" \ + +PyObject *builtin_sum = 0; + +void +initialize_builtin_python_impls() { + PyObject *globals = PyDict_New(); + if (!builtin_sum) { + PyRun_StringFlags(builtin_sum_impl, Py_file_input, globals, globals, 0); + builtin_sum = PyRun_StringFlags("builtin_sum_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(builtin_sum); + } + Py_DECREF(globals); +} + +PyObject * +Approximation_sum(PyObject *iterable) { + assert(is_wrapped(iterable)); + SymbolicAdapter *adapter = get_adapter(iterable); + PyObject *wrapped_func = wrap(builtin_sum, Py_None, adapter); + assert(wrapped_func); + PyObject *args = PyTuple_Pack(1, iterable); + PyObject *res = Py_TYPE(wrapped_func)->tp_call(wrapped_func, args, 0); + Py_DECREF(args); + return res; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 0ef311d277..009a68cf65 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -26,39 +26,47 @@ PyObject *list_richcompare_ne = 0; PyObject *list_richcompare_le = 0; PyObject *list_richcompare_ge = 0; +#define list_multiply_impl \ + "def list_multiply_impl(x, y): \n" \ + " result = [] \n" \ + " for _ in range(y): \n" \ + " result += x \n" \ + " return result \n" \ + +PyObject *list_multiply = 0; + void initialize_list_python_impls() { PyObject *globals = PyDict_New(); - if (!list_richcompare_lt) { - PyRun_StringFlags(list_richcmp_impl("<"), Py_file_input, globals, globals, 0); - list_richcompare_lt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_lt); - } - if (!list_richcompare_gt) { - PyRun_StringFlags(list_richcmp_impl(">"), Py_file_input, globals, globals, 0); - list_richcompare_gt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_gt); - } - if (!list_richcompare_eq) { - PyRun_StringFlags(list_richcmp_impl("=="), Py_file_input, globals, globals, 0); - list_richcompare_eq = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_eq); - } - if (!list_richcompare_ne) { - PyRun_StringFlags(list_richcmp_impl("!="), Py_file_input, globals, globals, 0); - list_richcompare_ne = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_ne); - } - if (!list_richcompare_le) { - PyRun_StringFlags(list_richcmp_impl("<="), Py_file_input, globals, globals, 0); - list_richcompare_le = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_le); - } - if (!list_richcompare_ge) { - PyRun_StringFlags(list_richcmp_impl(">="), Py_file_input, globals, globals, 0); - list_richcompare_ge = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(list_richcompare_ge); - } + + PyRun_StringFlags(list_richcmp_impl("<"), Py_file_input, globals, globals, 0); + list_richcompare_lt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_lt); + + PyRun_StringFlags(list_richcmp_impl(">"), Py_file_input, globals, globals, 0); + list_richcompare_gt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_gt); + + PyRun_StringFlags(list_richcmp_impl("=="), Py_file_input, globals, globals, 0); + list_richcompare_eq = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_eq); + + PyRun_StringFlags(list_richcmp_impl("!="), Py_file_input, globals, globals, 0); + list_richcompare_ne = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_ne); + + PyRun_StringFlags(list_richcmp_impl("<="), Py_file_input, globals, globals, 0); + list_richcompare_le = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_le); + + PyRun_StringFlags(list_richcmp_impl(">="), Py_file_input, globals, globals, 0); + list_richcompare_ge = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_richcompare_ge); + + PyRun_StringFlags(list_multiply_impl, Py_file_input, globals, globals, 0); + list_multiply = PyRun_StringFlags("list_multiply_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(list_multiply); + Py_DECREF(globals); } @@ -90,7 +98,10 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { wrapped = wrap(list_richcompare_ge, Py_None, adapter); } assert(wrapped); - return Py_TYPE(wrapped)->tp_call(wrapped, PyTuple_Pack(2, v, w), 0); + PyObject *args = PyTuple_Pack(2, v, w); + PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); + Py_DECREF(args); + return result; } PyObject * @@ -110,4 +121,19 @@ Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyOb return 0; return wrap(concrete_result, Py_None, adapter); +} + +PyObject * +Approximation_list_repeat(PyObject *self, PyObject *n) { + assert(is_wrapped(self) && is_wrapped(n)); + SymbolicAdapter *adapter = get_adapter(self); + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(self))) + return 0; + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(n))) + return 0; + PyObject *wrapped = wrap(list_multiply, Py_None, adapter); + PyObject *args = PyTuple_Pack(2, self, n); + PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); + Py_DECREF(args); + return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 48efd448a7..7c65a27998 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -2,14 +2,18 @@ /* initializations of Python functions */ void initialize_list_python_impls(); +void initialize_builtin_python_impls(); #define INITIALIZE_PYTHON_APPROXIMATIONS \ - initialize_list_python_impls(); + initialize_list_python_impls(); \ + initialize_builtin_python_impls(); PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range +PyObject *Approximation_sum(PyObject *iterable); // builtins.sum PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare -PyObject *Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem); // list.append \ No newline at end of file +PyObject *Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem); // list.append +PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 8502ae4ff7..0dc0c00193 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -81,9 +81,11 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_builtin_len = Approximation_len; adapter->approximation_builtin_isinstance = Approximation_isinstance; + adapter->approximation_builtin_sum = Approximation_sum; adapter->approximation_list_richcompare = Approximation_list_richcompare; adapter->approximation_range = Approximation_range; adapter->approximation_list_append = Approximation_list_append; + adapter->approximation_list_repeat = Approximation_list_repeat; } static void diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 637443cbff..0e34761993 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -251,6 +251,30 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "list_concat", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "list_inplace_concat", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "list_get_size", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 364fe93ae3..ee946cd67f 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -104,6 +104,16 @@ "java_name": "handlerListExtend", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "list_concat", + "java_name": "handlerListConcat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_inplace_concat", + "java_name": "handlerListInplaceConcat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "list_append", "java_name": "handlerListAppend", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 5634445f98..c20e9ab1a0 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -208,6 +208,14 @@ public static SymbolForCPython handlerListExtend(ConcolicRunContext context, Sym return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); } + public static SymbolForCPython handlerListConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("list_concat", Arrays.asList(left, right)), () -> handlerListConcatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + return methodWrapper(context, new MethodParameters("list_inplace_concat", Arrays.asList(left, right)), () -> handlerListInplaceConcatKt(context, left.obj, right.obj)); + } + public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 9d4dc00d38..2e4c9dac92 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -17,7 +17,8 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli if (context.curState == null) return null val typeSystem = context.typeSystem - list.addSupertype(context, typeSystem.pythonList) + if (list.getTypeIfDefined(context) != typeSystem.pythonList) + return null @Suppress("unchecked_cast") val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr return constructInt(context, listSize) @@ -28,8 +29,8 @@ private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymboli return null with (context.ctx) { val typeSystem = context.typeSystem - index.addSupertype(context, typeSystem.pythonInt) - list.addSupertype(context, typeSystem.pythonList) + index.addSupertypeSoft(context, typeSystem.pythonInt) + list.addSupertypeSoft(context, typeSystem.pythonList) @Suppress("unchecked_cast") val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr @@ -76,31 +77,69 @@ fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymboli } +/* +context.curState!!.memory.read(UArrayIndexLValue(addressSort, result, mkIntNum(1), typeSystem.pythonList)) + */ + +private fun listConcat( + context: ConcolicRunContext, + left: UHeapRef, + leftType: PythonType, + right: UHeapRef, + rightType: PythonType, + dst: UHeapRef +) { + val typeSystem = context.typeSystem + with (context.ctx) { + @Suppress("unchecked_cast") + val leftSize = context.curState!!.memory.read(UArrayLengthLValue(left, leftType)) as UExpr + @Suppress("unchecked_cast") + val rightSize = context.curState!!.memory.read(UArrayLengthLValue(right, rightType)) as UExpr + context.curState!!.memory.write(UArrayLengthLValue(dst, typeSystem.pythonList), mkArithAdd(leftSize, rightSize)) + context.curState!!.memory.memcpy(left, dst, typeSystem.pythonList, addressSort, mkIntNum(0), mkIntNum(0), leftSize) + context.curState!!.memory.memcpy(right, dst, typeSystem.pythonList, addressSort, mkIntNum(0), leftSize, rightSize) + } +} + fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + context.curState ?: return null + val typeSystem = context.typeSystem + list.addSupertypeSoft(context, typeSystem.pythonList) + tuple.addSupertypeSoft(context, typeSystem.pythonTuple) + listConcat(context, list.address, typeSystem.pythonList, tuple.address, typeSystem.pythonTuple, list.address) + return list +} + +fun handlerListConcatKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null val typeSystem = context.typeSystem with (context.ctx) { - list.addSupertype(context, typeSystem.pythonList) - tuple.addSupertype(context, typeSystem.pythonTuple) - @Suppress("unchecked_cast") - val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr - @Suppress("unchecked_cast") - val tupleSize = context.curState!!.memory.read(UArrayLengthLValue(tuple.address, typeSystem.pythonTuple)) as UExpr - // TODO: type: list or tuple? - context.curState!!.memory.memcpy(tuple.address, list.address, typeSystem.pythonList, addressSort, mkIntNum(0), currentSize, tupleSize) - val newSize = mkArithAdd(currentSize, tupleSize) - context.curState!!.memory.write(UArrayLengthLValue(list.address, typeSystem.pythonList), newSize) - return list + left.addSupertypeSoft(context, typeSystem.pythonList) + right.addSupertypeSoft(context, typeSystem.pythonList) + val result = context.curState!!.memory.malloc(typeSystem.pythonList, mkIntNum(0)) + listConcat(context, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, result) + return UninterpretedSymbolicPythonObject(result, typeSystem) } } +fun handlerListInplaceConcatKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + val typeSystem = context.typeSystem + if (right.getTypeIfDefined(context) != typeSystem.pythonList || left.getTypeIfDefined(context) != typeSystem.pythonList) + return null + listConcat(context, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, left.address) + return left +} + fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null val typeSystem = context.typeSystem + if (list.getTypeIfDefined(context) != typeSystem.pythonList) + return null with (context.ctx) { - list.addSupertype(context, typeSystem.pythonList) @Suppress("unchecked_cast") val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr context.curState!!.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, typeSystem.pythonList), elem.address) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 859b6b8325..8a52daf07c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -16,7 +16,6 @@ import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation - // val typeSystem = context.typeSystem val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt index 99f368049a..09ce1c67ad 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -37,7 +37,7 @@ class PythonMachineStatistics { val meanCoverageNoVirtual: Double get() = functionStatistics.sumOf { it.coverageNoVirtual } / functionStatistics.size - private val lostSymbolicValues: Map + private val lostSymbolicValuesByOverallUsages: Map get() { val map = mutableMapOf() functionStatistics.forEach { functionStatistics -> @@ -48,13 +48,26 @@ class PythonMachineStatistics { return map } + private val lostSymbolicValuesByNumberOfFunctions: Map + get() { + val map = mutableMapOf() + functionStatistics.forEach { functionStatistics -> + functionStatistics.lostSymbolicValues.forEach { + addWithDefault(map, it.key) + } + } + return map + } + fun writeReport(): String { val result = StringBuilder() result.append("Functions analyzed: ${functionStatistics.size}\n") result.append("Mean coverage: $meanCoverage\n") result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") - result.append("Lost symbolic values:\n") - result.append(writeLostSymbolicValuesReport(lostSymbolicValues)) + result.append("Lost symbolic values (by number of functions):\n") + result.append(writeLostSymbolicValuesReport(lostSymbolicValuesByNumberOfFunctions)) + result.append("Lost symbolic values (by overall usages):\n") + result.append(writeLostSymbolicValuesReport(lostSymbolicValuesByOverallUsages)) return result.toString() } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 51bcb820e7..6e8775a1de 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -22,28 +22,22 @@ import java.io.File private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def count(nodes, i, j): - if i > j or i < 0 or j >= len(nodes): - return 0 - - node = nodes[i][j] - left_depth = count(nodes, i, node - 1) - right_depth = count(nodes, node + 1, j) - result = max(left_depth, right_depth) + 1 - return result + def f(x: list): + s = sum(x) + assert s == 10 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList, typeSystem.pythonInt, typeSystem.pythonInt), - "count" + listOf(PythonAnyType), + "f" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/sorts" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -52,8 +46,21 @@ private fun buildProjectRunConfig(): RunConfig { val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val ignoreFunctions = emptyList() + val ignoreFunctions = listOf( + "circle_sort", // NoSuchElement + "cocktail_shaker_sort", // slow (why?) + "quick_sort_lomuto_partition", // NoSuchElement + "oe_process", // blocks + "merge_insertion_sort", // slow (why?) + "msd_radix_sort_inplace" // NoSuchElement + ) + val ignoreModules = listOf( + "intro_sort", // NoSuchElement + "heap_sort" // NoSuchElement + ) val functions = modules.flatMap { module -> + if (module in ignoreModules) + return@flatMap emptyList() runCatching { withAdditionalPaths(program.roots, typeSystem) { program.getNamespaceOfModule(module) @@ -64,8 +71,10 @@ private fun buildProjectRunConfig(): RunConfig { val description = type.pythonDescription() if (description !is PythonCallableTypeDescription) return@mapNotNull null - if (ignoreFunctions.contains(functionName)) // for now + if (ignoreFunctions.contains(functionName)) return@mapNotNull null + //if (functionName != "cocktail_shaker_sort") + // return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( List(description.numberOfArguments) { PythonAnyType }, @@ -97,7 +106,7 @@ private fun analyze(runConfig: RunConfig) { results, maxIterations = 30, allowPathDiversion = true, - maxInstructions = 1_000 + maxInstructions = 5_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 596bfb7946..a3e840451a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -13,6 +13,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testManyBranches() { + allowPathDiversions = true check3WithConcreteRun( constructFunction("many_branches", List(3) { typeSystem.pythonInt }), ignoreNumberOfAnalysisResults, @@ -24,6 +25,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { { _, _, _, res -> res.repr == index.toString() } } ) + allowPathDiversions = false } @Test diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 5ba850bb6b..43dc2a0bd2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -278,4 +278,33 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach ) ) } + + @Test + fun testRepeat1() { + check1WithConcreteRun( + constructFunction("repeat_1", listOf(typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> res.selfTypeName == "IndexError" && x.repr == "0" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testRepeat2() { + check1WithConcreteRun( + constructFunction("repeat_2", listOf(typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 8da051e5bb..e03e613390 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -183,4 +183,18 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn ) ) } + + @Test + fun testSumUsage() { + check1WithConcreteRun( + constructFunction("sum_usage", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "list" && res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "list" && res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/SimpleLists.py index 129b6691d0..8ee7190c24 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/SimpleLists.py @@ -156,4 +156,16 @@ def double_subscript_and_compare(x: list, y: list): def list_append(x): res = [] res.append(x) - assert res[-1] == 127 \ No newline at end of file + assert res[-1] == 127 + + +def repeat_1(n: int): + lst = [10] * n + assert lst[n - 1] == 10 + + +def repeat_2(x: int): + lst = [1, 2] * 10 + if lst[x] == 1: + return 1 + return 2 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 588db3ba83..8e6161882b 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -92,4 +92,9 @@ def range_loop(x): if sum_ > 15: return 1 - return 2 \ No newline at end of file + return 2 + + +def sum_usage(x): + s = sum(x) + assert s == 10 \ No newline at end of file From ff89dd6b77511ee9bd87ce66408aa5511998e2d4 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 28 Aug 2023 17:43:17 +0300 Subject: [PATCH 078/344] started documenting new API between cpython and usvm --- usvm-python/API.md | 264 +++++++++++++++--- usvm-python/src/test/kotlin/manualTest.kt | 5 +- .../org/usvm/runner/PythonTestRunner.kt | 2 +- 3 files changed, 226 insertions(+), 45 deletions(-) diff --git a/usvm-python/API.md b/usvm-python/API.md index 4105f72f92..1bca0620d9 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -1,58 +1,240 @@ # API between patched CPython and USVM -All constants are defined in header `SYMBOLIC_API.h`. - Current CPython patch: https://github.com/tochilinak/cpython/pull/3/files. -## Handler signature +## SymbolicAdapter + +All interaction between CPython and USVM is done through structure `SymbolicAdapter`. + +Header: `symbolicadapter.h`. + +Creation of symbolic adapter: +```c +SymbolicAdapter *create_new_adapter(void *param); +``` + +`param` is a parameter that will be accessible in all symbolic handlers. + +Run function with symbolic tracing: +```c +PyObject *SymbolicAdapter_run(PyObject *self, PyObject *function, Py_ssize_t n, PyObject *const *args, runnable before_call, runnable after_call); +``` + +- `self`: pointer to SymbolicAdapter. +- `function`: function to run (only `PyFunction` is supported). +- `n`: number of arguments. +- `args` must be an array of tuples of size 2 (concrete and symbolic value for each argument). +- `before_call`: function to call right before execution. +- `after_call`: function to call right after execution. + +## Handlers of SymbolicAdapter + +Each of the following functions has a default implementation that does nothing, so any of them can be omitted. + +All handlers accept `param` from `create_new_adapter` function as their first argument. + +### Expected return value of handlers + +If return value of handler is `int`: + +- 0 on success + +- Anything else if an error has happened (exception must be set). + +If return value of handler is `PyObject *`: + +- Symbolic object on success (or `Py_None` if it is absent). + +- 0 if an error has happened (exception must be set). + +### instruction + +```c +int (*instruction)(void *, PyFrameObject *frame); +``` + +Notifies that a new byte code instruction is about to be executed. + +### fork_notify + +```c +int (*fork_notify)(void *, PyObject *on); +``` + +Notifies that execution is about to fork on symbolic object `on`. + +### fork_result + +```c +int (*fork_result)(void *, PyObject *on, int result); +``` + +Notifies that the result of the fork on `on` is `result`. + +### function_call + +``` +int (*function_call)(void *, PyObject *code); +``` + +Notifies that `code` is about to be executed. + +### function_return ``` -PyObject *handler(int event_type, int event_id, int nargs, PyObject *const *args, void *param) +int (*function_return)(void *, PyObject *code); ``` -Handler might always return `Py_None`. +Notifies that execution is about to return from `code`. -## Event types +### unpack -| event type | Description | Expected return type | -|-------------------------|-----------------------------------------------------------------------|:------------------------------------:| -| `SYM_EVENT_TYPE_STACK` | Asks for symbolic values that should be put on the interpreter stack. | `tuple` | -| `SYM_EVENT_TYPE_NOTIFY` | Notifies about some action. | Must return `0` or `None` on success | -| `SYM_EVENT_TYPE_METHOD` | Asks for result of some standard operation. | `PyObject *` | +``` +int (*unpack)(void *, PyObject *iterable, int count); +``` -## `SYM_EVENT_TYPE_STACK` events list +Notifies that `iterable` is about to be unpacked into `count` elements on the interpreter stack. -For all events empty list may be given as a return value. +### load_const -| event id | Arguments | Expected return tuple | -|:--------------------------:|:-----------------------------------------------|:-------------------------:| -| `SYM_EVENT_ID_CREATE_LIST` | Symbolic contents of the list (as Python list) | `(symbolic_list,)` | -| `SYM_EVENT_ID_CONST` | Python constant | `(constant_as_symbol,)` | +``` +PyObject *(*load_const)(void *, PyObject *obj); +``` -## `SYM_EVENT_TYPE_NOTIFY` events list +Asks for symbolic representation of constant `obj`. + +### create_list + +``` +PyObject *(*create_list)(void *, PyObject **elems); +``` + +Asks for symbolic representation of list. + +`elems`: symbolic representation of contents. The array ends with `NULL`. + +### create_tuple + +```c +PyObject *(*create_tuple)(void *, PyObject **elems); +``` + +Like `create_list` but for `tuple`. + +### create_range + +```c +PyObject *(*create_range)(void *, PyObject *start, PyObject *stop, PyObject *step); +``` -| event id | Arguments | -|:-----------------------------------:|:-------------------------------------------------------------------------------------------------| -| `SYM_EVENT_ID_INSTRUCTION` | One argument: `PyFrameObject*`, frame that is about to execute next instruction. | -| `SYM_EVENT_ID_FORK` | One argument: `PyObject*` inside `if` condition. | -| `SYM_EVENT_ID_FORK_RESULT` | One argument: `Py_True` or `Py_False`. Result of concrete condition. Closes `SYM_EVENT_ID_FORK`. | -| `SYM_EVENT_ID_PYTHON_FUNCTION_CALL` | One argument: `PyFunctionObject*` to be called. | -| `SYM_EVENT_ID_RETURN` | No arguments. | +Asks for symbolic representation of `range` object. -## `SYM_EVENT_TYPE_METHOD` events list +`start`, `stop` and `step` are symbolic representations of range parameters. + +### gt_long + +```c +PyObject *(*gt_long)(void *, PyObject *left, PyObject *right); +``` + +`>` operation on symbolic integers `left` and `right`. + +### lt_long + +```c +PyObject *(*lt_long)(void *, PyObject *left, PyObject *right); +``` + +`<` operation on symbolic integers `left` and `right`. + +### eq_long + +```c +PyObject *(*eq_long)(void *, PyObject *left, PyObject *right); +``` + +`==` operation on symbolic integers `left` and `right`. + +### ne_long + +```c +PyObject *(*ne_long)(void *, PyObject *left, PyObject *right); +``` + +`!=` operation on symbolic integers `left` and `right`. + +### le_long + +```c +PyObject *(*le_long)(void *, PyObject *left, PyObject *right); +``` + +`<=` operation on symbolic integers `left` and `right`. + +### ge_long + +```c +PyObject *(*ge_long)(void *, PyObject *left, PyObject *right); +``` + +`>=` operation on symbolic integers `left` and `right`. + +### add_long + +```c +PyObject *(*add_long)(void *, PyObject *left, PyObject *right); +``` + +`+` operation on symbolic integers `left` and `right`. + +### sub_long + +```c +PyObject *(*sub_long)(void *, PyObject *left, PyObject *right); +``` + +`-` operation on symbolic integers `left` and `right`. + +### mul_long + +```c +PyObject *(*mul_long)(void *, PyObject *left, PyObject *right); +``` + +`*` operation on symbolic integers `left` and `right`. + +### div_long + +```c +PyObject *(*div_long)(void *, PyObject *left, PyObject *right); +``` + +`//` operation on symbolic integers `left` and `right`. + +### rem_long + +```c +PyObject *(*rem_long)(void *, PyObject *left, PyObject *right); +``` + +`%` operation on symbolic integers `left` and `right`. + +### (skip) + +TODO: `pow_long`, `bool_and`. + +### list_get_item + +```c +PyObject *(*list_get_item)(void *, PyObject *storage, PyObject *index); +``` + +Operation `storage[index]` (when concrete implementation is `PyList_Type.tp_as_mapping->mp_subscript`). + +### list_set_item + +```c +int (*list_set_item)(void *, PyObject *storage, PyObject *index, PyObject *value); +``` -| event id | Arguments | Operation | -|:---------------------------:|:-------------------------------------------|:-----------:| -| `SYM_EVENT_ID_INT_GT` | 2 arguments: integer operands | `>` | -| `SYM_EVENT_ID_INT_LT` | 2 arguments: integer operands | `<` | -| `SYM_EVENT_ID_INT_EQ` | 2 arguments: integer operands | `==` | -| `SYM_EVENT_ID_INT_NE` | 2 arguments: integer operands | `!=` | -| `SYM_EVENT_ID_INT_GE` | 2 arguments: integer operands | `>=` | -| `SYM_EVENT_ID_INT_LE` | 2 arguments: integer operands | `<=` | -| `SYM_EVENT_ID_INT_ADD` | 2 arguments: integer operands | `+` | -| `SYM_EVENT_ID_INT_SUB` | 2 arguments: integer operands | `-` | -| `SYM_EVENT_ID_INT_NEG` | 1 argument: integer operand | `-` (unary) | -| `SYM_EVENT_ID_INT_MULT` | 2 arguments: integer operands | `*` | -| `SYM_EVENT_ID_INT_REM` | 2 arguments: integer operands | `%` | -| `SYM_EVENT_ID_INT_FLOORDIV` | 2 arguments: integer operands | `//` | -| `SYM_EVENT_ID_INT_POW` | %0: `int`, %1: `int`, %2: `None` (for now) | `**` | +Notifies about `PyList_Type.tp_as_mapping->mp_ass_subscript`. All arguments are symbolic representations. \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6e8775a1de..317c7f9f06 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -22,9 +22,8 @@ import java.io.File private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x: list): - s = sum(x) - assert s == 10 + def f(x): + return [10] * x """.trimIndent() ) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index c90edccee2..a40c263e9f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -77,7 +77,7 @@ sealed class PythonTestRunner( compareConcolicAndConcrete(pythonTest, it) } require(comparisonResult == null) { - "Error in CPython patch: concrete and concolic results differ. " + + "Error in CPython patch or approximation: concrete and concolic results differ. " + "Checker msg: $comparisonResult. " + "Inputs: ${pythonTest.inputValues.map { it.reprFromPythonObject }.joinToString(", ")}" } From 3329e9f173ab9fd9447153f8059935f1a8492b6d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 30 Aug 2023 15:00:03 +0300 Subject: [PATCH 079/344] Fixes after rebase + updated API.md --- .../src/main/kotlin/org/usvm/model/Model.kt | 4 +- usvm-python/API.md | 386 +++++++++++++++++- .../org/usvm/machine/PythonComponents.kt | 8 +- .../org/usvm/machine/PythonExecutionState.kt | 13 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 6 +- .../org/usvm/machine/PythonMockEvaluator.kt | 9 +- .../machine/interpreters/operations/Common.kt | 7 +- .../machine/interpreters/operations/List.kt | 164 ++++---- .../machine/interpreters/operations/Tuple.kt | 9 +- .../ConverterToPythonObject.kt | 6 +- .../symbolicobjects/ObjectValidator.kt | 26 +- .../symbolicobjects/PreallocatedObjects.kt | 5 +- .../SymbolicObjectConstruction.kt | 30 +- .../symbolicobjects/SymbolicPythonObject.kt | 137 +++---- .../kotlin/org/usvm/machine/utils/PyModel.kt | 6 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 1 + 16 files changed, 583 insertions(+), 234 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/model/Model.kt b/usvm-core/src/main/kotlin/org/usvm/model/Model.kt index b4207e573e..59feb5405f 100644 --- a/usvm-core/src/main/kotlin/org/usvm/model/Model.kt +++ b/usvm-core/src/main/kotlin/org/usvm/model/Model.kt @@ -35,8 +35,8 @@ open class UModelBase( override val stack: UReadOnlyRegistersStack, override val types: UTypeModel, override val mocker: UMockEvaluator, - internal val regions: Map, UReadOnlyMemoryRegion<*, *>>, - internal val nullRef: UConcreteHeapRef, + val regions: Map, UReadOnlyMemoryRegion<*, *>>, + val nullRef: UConcreteHeapRef, ) : UModel, UWritableMemory { @Suppress("LeakingThis") protected open val composer = ctx.composer(this) diff --git a/usvm-python/API.md b/usvm-python/API.md index 1bca0620d9..7b404cef47 100644 --- a/usvm-python/API.md +++ b/usvm-python/API.md @@ -237,4 +237,388 @@ Operation `storage[index]` (when concrete implementation is `PyList_Type.tp_as_m int (*list_set_item)(void *, PyObject *storage, PyObject *index, PyObject *value); ``` -Notifies about `PyList_Type.tp_as_mapping->mp_ass_subscript`. All arguments are symbolic representations. \ No newline at end of file +Notifies about `PyList_Type.tp_as_mapping->mp_ass_subscript`. All arguments are symbolic representations. + +### list_extend + +```c +PyObject *(*list_extend)(void *, PyObject *list, PyObject *iterable); +``` + +Operation https://docs.python.org/3.11/library/dis.html#opcode-LIST_EXTEND. + +Expects resulting list as a return value. + +### list_append + +```c +PyObject *(*list_append)(void *, PyObject *list, PyObject *elem); +``` + +Operation https://docs.python.org/3.11/library/dis.html#opcode-LIST_APPEND. + +Expects resulting list as a return value. + +### list_get_size + +```c +PyObject *(*list_get_size)(void *, PyObject *list); +``` + +Asks for symbolic length of symbolic list. + +### list_iter + +```c +PyObject *(*list_iter)(void *, PyObject *list); +``` + +Operation `iter()` on a symbolic list. + +### list_iterator_next + +```c +PyObject *(*list_iterator_next)(void *, PyObject *iterator); +``` + +Operation `next()` on a symbolic list iterator (list iterator is a result of operation `iter()` on list). + +### list_concat + +```c +PyObject *(*list_concat)(void *, PyObject *, PyObject *); +``` + +`+` operation on symbolic lists. + +### list_inplace_concat + +```c +PyObject *(*list_inplace_concat)(void *, PyObject *, PyObject *); +``` + +Inplace version of `list_concat`. + +### tuple_iter + +```c +PyObject *(*tuple_iter)(void *, PyObject *tuple); +``` + +Operation `iter()` on a symbolic tuple. + +### tuple_iterator_next + +```c +PyObject *(*tuple_iterator_next)(void *, PyObject *iterator); +``` + +Operation `next()` on a symbolic tuple iterator (tuple iterator is a result of operation `iter()` on tuple). + +### range_iter + +```c +PyObject *(*range_iter)(void *, PyObject *range); +``` + +Operation `iter()` on a symbolic representation of range object. + +### range_iterator_next + +```c +PyObject *(*range_iterator_next)(void *, PyObject *iterator); +``` + +Operation `next()` on a symbolic range iterator (range iterator is a result of operation `iter()` on range object). + +### symbolic_isinstance + +```c +PyObject *(*symbolic_isinstance)(void *, PyObject *on, PyObject *type); +``` + +Asks for a symbolic result of operation `isinstance`. + +`on`: symbolic object on which the operation is performed. + +`type`: reference to concrete `PyTypeObject`. + +### nb_add + +```c +int (*nb_add)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_add` is about to be performed on symbolic objects `left` and `right`. + +### nb_subtract + +```c +int (*nb_subtract)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_subtract` is about to be performed on symbolic objects `left` and `right`. + +### nb_multiply + +```c +int (*nb_multiply)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_multiply` is about to be performed on symbolic objects `left` and `right`. + +### nb_remainder + +```c +int (*nb_remainder)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_remainder` is about to be performed on symbolic objects `left` and `right`. + +### nb_divmod + +```c +int (*nb_divmod)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_divmod` is about to be performed on symbolic objects `left` and `right`. + +### nb_bool + +```c +int (*nb_bool)(void *, PyObject *on); +``` + +Notifies that `nb_bool` is about to be performed on symbolic object `on`. + +### nb_int + +```c +int (*nb_int)(void *, PyObject *on); +``` + +Notifies that `nb_int` is about to be performed on symbolic object `on`. + +### nb_lshift + +```c +int (*nb_lshift)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_lshift` is about to be performed on symbolic objects `left` and `right`. + +### nb_rshift + +```c +int (*nb_rshift)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_rshift` is about to be performed on symbolic objects `left` and `right`. + +### nb_and + +```c +int (*nb_and)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_and` is about to be performed on symbolic objects `left` and `right`. + +### nb_xor + +```c +int (*nb_xor)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_xor` is about to be performed on symbolic objects `left` and `right`. + +### nb_or + +```c +int (*nb_or)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_or` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_add + +```c +int (*nb_inplace_add)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_add` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_subtract + +```c +int (*nb_inplace_subtract)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_subtract` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_multiply + +```c +int (*nb_inplace_multiply)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_multiply` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_remainder + +```c +int (*nb_inplace_remainder)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_remainder` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_lshift + +```c +int (*nb_inplace_lshift)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_lshift` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_rshift + +```c +int (*nb_inplace_rshift)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_rshift` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_and + +```c +int (*nb_inplace_and)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_and` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_xor + +```c +int (*nb_inplace_xor)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_xor` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_or + +```c +int (*nb_inplace_or)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_or` is about to be performed on symbolic objects `left` and `right`. + +### nb_floor_divide + +```c +int (*nb_floor_divide)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_floor_divide` is about to be performed on symbolic objects `left` and `right`. + +### nb_true_divide + +```c +int (*nb_true_divide)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_true_divide` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_floor_divide + +```c +int (*nb_inplace_floor_divide)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_floor_divide` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_true_divide + +```c +int (*nb_inplace_true_divide)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_true_divide` is about to be performed on symbolic objects `left` and `right`. + +### nb_matrix_multiply + +```c +int (*nb_matrix_multiply)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_matrix_multiply` is about to be performed on symbolic objects `left` and `right`. + +### nb_inplace_matrix_multiply + +```c +int (*nb_inplace_matrix_multiply)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `nb_inplace_matrix_multiply` is about to be performed on symbolic objects `left` and `right`. + +### sq_length + +```c +int (*sq_length)(void *, PyObject *on); +``` + +Notifies that `sq_length` is about to be performed on symbolic object `on`. + +### sq_concat + +```c +int (*sq_concat)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `sq_concat` is about to be performed on symbolic objects `left` and `right`. + +### sq_inplace_concat + +```c +int (*sq_inplace_concat)(void *, PyObject *left, PyObject *right); +``` + +Notifies that `sq_inplace_concat` is about to be performed on symbolic objects `left` and `right`. + +### mp_subscript + +```c +int (*mp_subscript)(void *, PyObject *storage, PyObject *index); +``` + +Notifies that `mp_subscript` is about to be performed on symbolic objects `storage` and `index`. + +### mp_ass_subscript + +```c +int (*mp_ass_subscript)(void *, PyObject *storage, PyObject *index, PyObject *value); +``` + +Notifies that `mp_ass_subscript` is about to be performed on symbolic objects `storage`, `index` and `value`. + +### tp_richcompare + +```c +int (*tp_richcompare)(void *, int op, PyObject *left, PyObject *right); +``` + +Notifies that `tp_richcompare` with operation `op` is about to be performed on symbolic objects `left` and `right`. + +### tp_iter + +```c +int (*tp_iter)(void *, PyObject *on); +``` + +Notifies that `tp_iter` is about to be performed on symbolic object `on`. + +### tp_iternext + +```c +int (*tp_iternext)(void *, PyObject *on); +``` + +Notifies that `tp_iternext` is about to be performed on symbolic object `on`. diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 27be8df497..0f3d916298 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -15,10 +15,10 @@ import org.usvm.types.UTypeSystem class PythonComponents( private val typeSystem: PythonTypeSystem -): UComponents { - override fun mkSolver(ctx: Context): USolverBase { - val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) - val softConstraintsProvider = USoftConstraintsProvider(ctx) +): UComponents { + override fun mkSolver(ctx: Context): USolverBase { + val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) + val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) solver.configure { setZ3Option("timeout", 1) } return USolverBase(ctx, solver, UTypeSolver(typeSystem), translator, decoder, softConstraintsProvider) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 7448e1e1e2..96278f48cc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -13,7 +13,7 @@ import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.types.prioritization.SymbolTypeTree import org.usvm.machine.types.prioritization.prioritizeTypes import org.usvm.machine.utils.PyModel -import org.usvm.memory.UMemoryBase +import org.usvm.memory.UMemory import org.usvm.model.UModelBase import org.usvm.types.UTypeStream import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER @@ -23,8 +23,8 @@ class PythonExecutionState( private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, - memory: UMemoryBase, - uModel: UModelBase, + memory: UMemory, + uModel: UModelBase, val typeSystem: PythonTypeSystem, val preAllocatedObjects: PreallocatedObjects, var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), @@ -33,7 +33,7 @@ class PythonExecutionState( var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() -): UState, UPythonContext, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { +): UState, UPythonContext, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) @@ -75,8 +75,9 @@ class PythonExecutionState( val cached = mocks[what] if (cached != null) return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) - val (result, newMocker) = memory.mocker.call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) - memory.mocker = newMocker + val result = memory.mock { + call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) + } mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 6f31921923..8c678dc02a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -9,7 +9,7 @@ import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction -import org.usvm.memory.UMemoryBase +import org.usvm.memory.UMemory import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver @@ -22,7 +22,7 @@ class PythonMachine( private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) - private val solver = ctx.solver() + private val solver = ctx.solver() val statistics = PythonMachineStatistics() private fun getInterpreter( @@ -50,7 +50,7 @@ class PythonMachine( private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) - val memory = UMemoryBase( + val memory = UMemory( ctx, pathConstraints.typeConstraints ).apply { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt index 49f683774a..fb032074c0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt @@ -1,7 +1,9 @@ package org.usvm.machine import org.usvm.* +import org.usvm.language.types.PythonType import org.usvm.machine.utils.PyModel +import org.usvm.model.UModel import org.usvm.model.UModelBase class PythonMockEvaluator( @@ -29,13 +31,14 @@ fun constructModelWithNewMockEvaluator( mockSymbol: UMockSymbol, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null ): Pair { - val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocks, mockSymbol, suggestedEvaluatedMockSymbol) + val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) val newModel = UModelBase( ctx, oldModel.uModel.stack, - oldModel.uModel.heap, oldModel.uModel.types, - newMockEvaluator + newMockEvaluator, + oldModel.uModel.regions, + oldModel.uModel.nullRef ) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return PyModel(newModel) to constraint diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index aaee94a1e7..a7fbcab205 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.operations -import org.usvm.UArrayLengthLValue +import org.usvm.api.allocateArrayInitialized +import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject @@ -71,8 +72,8 @@ fun createIterable( val typeSystem = context.typeSystem val size = elements.size with (context.ctx) { - val iterableAddress = context.curState!!.memory.malloc(type, addressSort, addresses) - context.curState!!.memory.write(UArrayLengthLValue(iterableAddress, type), mkIntNum(size)) + val iterableAddress = context.curState!!.memory.allocateArrayInitialized(type, addressSort, addresses) + context.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) result.addSupertype(context, type) return result diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 2e4c9dac92..999052b32b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -1,7 +1,8 @@ package org.usvm.machine.interpreters.operations -import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.api.* +import org.usvm.collection.array.UArrayIndexLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt @@ -10,8 +11,8 @@ import org.usvm.language.types.PythonType import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerCreateListKt(context: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = - createIterable(context, elements.asSequence().toList(), context.typeSystem.pythonList) +fun handlerCreateListKt(ctx: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = + createIterable(ctx, elements.asSequence().toList(), ctx.typeSystem.pythonList) fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) @@ -19,61 +20,56 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli val typeSystem = context.typeSystem if (list.getTypeIfDefined(context) != typeSystem.pythonList) return null - @Suppress("unchecked_cast") - val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr + val listSize = context.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) return constructInt(context, listSize) } -private fun resolveIndex(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { - if (context.curState == null) +private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { + if (ctx.curState == null) return null - with (context.ctx) { - val typeSystem = context.typeSystem - index.addSupertypeSoft(context, typeSystem.pythonInt) - list.addSupertypeSoft(context, typeSystem.pythonList) + with (ctx.ctx) { + val typeSystem = ctx.typeSystem + index.addSupertypeSoft(ctx, typeSystem.pythonInt) + list.addSupertypeSoft(ctx, typeSystem.pythonList) - @Suppress("unchecked_cast") - val listSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr - val indexValue = index.getIntContent(context) + val listSize = ctx.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) + val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) - myFork(context, indexCond) + myFork(ctx, indexCond) - if (context.curState!!.pyModel.eval(indexCond).isFalse) + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) - myFork(context, positiveIndex) + myFork(ctx, positiveIndex) - return if (context.curState!!.pyModel.eval(positiveIndex).isTrue) { + return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { UArrayIndexLValue(addressSort, list.address, indexValue, typeSystem.pythonList) } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) - require(context.curState!!.pyModel.eval(negativeIndex).isTrue) + require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), typeSystem.pythonList) } } } -fun handlerListGetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(context.ctx) { - if (context.curState == null) +fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + if (ctx.curState == null) return null - val lvalue = resolveIndex(context, list, index) ?: return null - - @Suppress("unchecked_cast") - val elemAddr = context.curState!!.memory.read(lvalue) as UHeapRef + val lvalue = resolveIndex(ctx, list, index) ?: return null - myAssert(context, mkHeapRefEq(list.address, elemAddr).not()) // to avoid recursive lists - - return UninterpretedSymbolicPythonObject(elemAddr, context.typeSystem) + val elemAddr = ctx.curState!!.memory.read(lvalue) + myAssert(ctx, mkHeapRefEq(list.address, elemAddr).not()) // to avoid recursive lists + return UninterpretedSymbolicPythonObject(elemAddr, ctx.typeSystem) } -fun handlerListSetItemKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { - if (context.curState == null) +fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { + if (ctx.curState == null) return - val lvalue = resolveIndex(context, list, index) ?: return - context.curState!!.memory.write(lvalue, value.address) + val lvalue = resolveIndex(ctx, list, index) ?: return + ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) } @@ -82,96 +78,90 @@ context.curState!!.memory.read(UArrayIndexLValue(addressSort, result, mkIntNum(1 */ private fun listConcat( - context: ConcolicRunContext, + ctx: ConcolicRunContext, left: UHeapRef, leftType: PythonType, right: UHeapRef, rightType: PythonType, dst: UHeapRef ) { - val typeSystem = context.typeSystem - with (context.ctx) { - @Suppress("unchecked_cast") - val leftSize = context.curState!!.memory.read(UArrayLengthLValue(left, leftType)) as UExpr - @Suppress("unchecked_cast") - val rightSize = context.curState!!.memory.read(UArrayLengthLValue(right, rightType)) as UExpr - context.curState!!.memory.write(UArrayLengthLValue(dst, typeSystem.pythonList), mkArithAdd(leftSize, rightSize)) - context.curState!!.memory.memcpy(left, dst, typeSystem.pythonList, addressSort, mkIntNum(0), mkIntNum(0), leftSize) - context.curState!!.memory.memcpy(right, dst, typeSystem.pythonList, addressSort, mkIntNum(0), leftSize, rightSize) + val typeSystem = ctx.typeSystem + with (ctx.ctx) { + val leftSize = ctx.curState!!.memory.readArrayLength(left, leftType) + val rightSize = ctx.curState!!.memory.readArrayLength(right, rightType) + ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), typeSystem.pythonList) + ctx.curState!!.memory.memcpy(left, dst, typeSystem.pythonList, addressSort, mkIntNum(0), mkIntNum(0), leftSize) + ctx.curState!!.memory.memcpy(right, dst, typeSystem.pythonList, addressSort, mkIntNum(0), leftSize, rightSize) } } -fun handlerListExtendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - context.curState ?: return null - val typeSystem = context.typeSystem - list.addSupertypeSoft(context, typeSystem.pythonList) - tuple.addSupertypeSoft(context, typeSystem.pythonTuple) - listConcat(context, list.address, typeSystem.pythonList, tuple.address, typeSystem.pythonTuple, list.address) +fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val typeSystem = ctx.typeSystem + list.addSupertypeSoft(ctx, typeSystem.pythonList) + tuple.addSupertypeSoft(ctx, typeSystem.pythonTuple) + listConcat(ctx, list.address, typeSystem.pythonList, tuple.address, typeSystem.pythonTuple, list.address) return list } -fun handlerListConcatKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) +fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) return null - val typeSystem = context.typeSystem - with (context.ctx) { - left.addSupertypeSoft(context, typeSystem.pythonList) - right.addSupertypeSoft(context, typeSystem.pythonList) - val result = context.curState!!.memory.malloc(typeSystem.pythonList, mkIntNum(0)) - listConcat(context, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, result) + val typeSystem = ctx.typeSystem + with (ctx.ctx) { + left.addSupertypeSoft(ctx, typeSystem.pythonList) + right.addSupertypeSoft(ctx, typeSystem.pythonList) + val result = ctx.curState!!.memory.allocateArray(typeSystem.pythonList, mkIntNum(0)) + listConcat(ctx, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, result) return UninterpretedSymbolicPythonObject(result, typeSystem) } } -fun handlerListInplaceConcatKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) +fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) return null - val typeSystem = context.typeSystem - if (right.getTypeIfDefined(context) != typeSystem.pythonList || left.getTypeIfDefined(context) != typeSystem.pythonList) + val typeSystem = ctx.typeSystem + if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null - listConcat(context, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, left.address) + listConcat(ctx, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, left.address) return left } -fun handlerListAppendKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) +fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) return null - val typeSystem = context.typeSystem - if (list.getTypeIfDefined(context) != typeSystem.pythonList) + val typeSystem = ctx.typeSystem + if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) return null - with (context.ctx) { - @Suppress("unchecked_cast") - val currentSize = context.curState!!.memory.read(UArrayLengthLValue(list.address, typeSystem.pythonList)) as UExpr - context.curState!!.memory.write(UArrayIndexLValue(addressSort, list.address, currentSize, typeSystem.pythonList), elem.address) - context.curState!!.memory.write(UArrayLengthLValue(list.address, typeSystem.pythonList), mkArithAdd(currentSize, mkIntNum(1))) + with (ctx.ctx) { + val currentSize = ctx.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) + ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, typeSystem.pythonList, addressSort, elem.address, trueExpr) + ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), typeSystem.pythonList) return list } } -fun handlerListIterKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) +fun handlerListIterKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) return null - val typeSystem = context.typeSystem - list.addSupertype(context, typeSystem.pythonList) - return constructListIterator(context, list) + val typeSystem = ctx.typeSystem + list.addSupertype(ctx, typeSystem.pythonList) + return constructListIterator(ctx, list) } -fun handlerListIteratorNextKt(context: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(context.ctx) { - if (context.curState == null) +fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { + if (ctx.curState == null) return null - val typeSystem = context.typeSystem - val (listAddress, index) = iterator.getListIteratorContent(context) - @Suppress("unchecked_cast") - val listSize = context.curState!!.memory.read(UArrayLengthLValue(listAddress, typeSystem.pythonList)) as UExpr + val typeSystem = ctx.typeSystem + val (listAddress, index) = iterator.getListIteratorContent(ctx) + val listSize = ctx.curState!!.memory.readArrayLength(listAddress, typeSystem.pythonList) val indexCond = index lt listSize - myFork(context, indexCond) - if (context.curState!!.pyModel.eval(indexCond).isFalse) + myFork(ctx, indexCond) + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null - iterator.increaseListIteratorCounter(context) - - @Suppress("unchecked_cast") - val elemAddr = context.curState!!.memory.read(UArrayIndexLValue(addressSort, listAddress, index, typeSystem.pythonList)) as UHeapRef + iterator.increaseListIteratorCounter(ctx) + val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, typeSystem.pythonList, addressSort) return UninterpretedSymbolicPythonObject(elemAddr, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index 3aa03db19a..de284e5a34 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -1,7 +1,8 @@ package org.usvm.machine.interpreters.operations -import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.api.readArrayIndex +import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructTupleIterator @@ -27,13 +28,11 @@ fun handlerTupleIteratorNextKt( return null val typeSystem = ctx.typeSystem val (tuple, index) = iterator.getTupleIteratorContent(ctx) - @Suppress("unchecked_cast") - val tupleSize = ctx.curState!!.memory.read(UArrayLengthLValue(tuple, typeSystem.pythonTuple)) as UExpr + val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, typeSystem.pythonTuple) val indexCond = index lt tupleSize if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseTupleIteratorCounter(ctx) - @Suppress("unchecked_cast") - val address = ctx.curState!!.memory.read(UArrayIndexLValue(addressSort, tuple, index, typeSystem.pythonTuple)) as UHeapRef + val address = ctx.curState!!.memory.readArrayIndex(tuple, index, typeSystem.pythonTuple, addressSort) return UninterpretedSymbolicPythonObject(address, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index f47b9bc5b3..ee403a71fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -4,6 +4,8 @@ import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.UHeapRef +import org.usvm.api.readArrayIndex +import org.usvm.api.readArrayLength import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter @@ -87,12 +89,12 @@ class ConverterToPythonObject( } private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { - val size = obj.modelHolder.model.uModel.heap.readArrayLength(obj.address, typeSystem.pythonList) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, typeSystem.pythonList) as KInt32NumExpr val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) - val element = obj.modelHolder.model.uModel.heap.readArrayIndex(obj.address, indexExpr, typeSystem.pythonList, addressSort) as UConcreteHeapRef + val element = obj.modelHolder.model.uModel.readArrayIndex(obj.address, indexExpr, typeSystem.pythonList, addressSort) as UConcreteHeapRef val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) convert(elemInterpretedObject) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index 4ee6767d6f..d571348a4b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -2,6 +2,8 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.* +import org.usvm.api.readArrayIndex +import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert @@ -20,28 +22,18 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { } } - @Suppress("unchecked_parameter") private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) - @Suppress("unchecked_cast") - val symbolicSize = concolicRunContext.curState!!.memory.read( - UArrayLengthLValue( - symbolic.address, - typeSystem.pythonList - ) - ) as USizeExpr + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, typeSystem.pythonList) myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> - @Suppress("unchecked_cast") - val element = concolicRunContext.curState!!.memory.read( - UArrayIndexLValue( - addressSort, - symbolic.address, - mkSizeExpr(index), - typeSystem.pythonList - ) - ) as UHeapRef + val element = concolicRunContext.curState!!.memory.readArrayIndex( + symbolic.address, + mkSizeExpr(index), + typeSystem.pythonList, + addressSort + ) val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) check(elemObj) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index c8406ab96e..61c4a825e4 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -1,16 +1,15 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints -import org.usvm.language.PropertyOfPythonObject import org.usvm.language.PythonCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext -import org.usvm.memory.UMemoryBase +import org.usvm.memory.UMemory class PreallocatedObjects( ctx: UPythonContext, - initialMemory: UMemoryBase, + initialMemory: UMemory, initialPathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 0dd754f2ba..10d15e50e3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -3,24 +3,26 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext -import org.usvm.memory.UMemoryBase +import org.usvm.memory.UMemory +import org.usvm.memory.URegisterStackLValue fun constructInputObject( stackIndex: Int, type: PythonType, ctx: UContext, - memory: UMemoryBase, + memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") - val address = memory.read(URegisterLValue(ctx.addressSort, stackIndex)) as UExpr + val address = memory.read(URegisterStackLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address, typeSystem) pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, type) @@ -28,7 +30,7 @@ fun constructInputObject( } fun constructNone( - memory: UMemoryBase, + memory: UMemory, typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { val address = memory.alloc(typeSystem.pythonNoneType) @@ -44,24 +46,18 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre return result } -fun constructBool(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { +fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) - if (expr is UTrue) - return context.curState!!.preAllocatedObjects.trueObject - if (expr is UFalse) - return context.curState!!.preAllocatedObjects.falseObject - - val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonBool) - val result = UninterpretedSymbolicPythonObject(address, typeSystem) - result.setBoolContent(context, expr) - return result + val trueObj = context.curState!!.preAllocatedObjects.trueObject + val falseObj = context.curState!!.preAllocatedObjects.falseObject + val address = context.ctx.mkIte(expr, trueObj.address, falseObj.address) + return UninterpretedSymbolicPythonObject(address, context.typeSystem) } fun constructInitialBool( ctx: UContext, - memory: UMemoryBase, + memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, expr: UExpr @@ -70,7 +66,7 @@ fun constructInitialBool( val result = UninterpretedSymbolicPythonObject(address, typeSystem) pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) - memory.write(lvalue, expr) + memory.write(lvalue, expr, ctx.trueExpr) return result } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 013610ec03..a188821d4d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -4,6 +4,10 @@ import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.api.readArrayLength +import org.usvm.api.readField +import org.usvm.api.typeStreamOf +import org.usvm.api.writeField import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.utils.PyModelHolder @@ -87,16 +91,14 @@ class UninterpretedSymbolicPythonObject( fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonInt) - val lvalue = UFieldLValue(expr.sort, address, IntContents.content) - ctx.curState!!.memory.write(lvalue, expr) + addSupertypeSoft(ctx, typeSystem.pythonInt) + ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) } fun getIntContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonInt) - @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, IntContents.content, ctx.ctx.intSort) as UExpr + return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) } fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { @@ -107,18 +109,10 @@ class UninterpretedSymbolicPythonObject( } } - fun setBoolContent(ctx: ConcolicRunContext, expr: UBoolExpr) { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonBool) - val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) - ctx.curState!!.memory.write(lvalue, expr) - } - fun getBoolContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonBool) - @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, BoolContents.content, ctx.ctx.boolSort) as UExpr + return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) } fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { @@ -126,67 +120,65 @@ class UninterpretedSymbolicPythonObject( return when (getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.heap.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) else -> null } } fun setListIteratorContent(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonListIteratorType) - val listLValue = UFieldLValue(addressSort, address, ListIteratorContents.list) - ctx.curState!!.memory.write(listLValue, list.address) - val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) - ctx.curState!!.memory.write(indexLValue, mkIntNum(0)) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) + ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) } fun increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonListIteratorType) - val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) - @Suppress("unchecked_cast") - val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr - ctx.curState!!.memory.write(indexLValue, mkArithAdd(oldIndexValue, mkIntNum(1))) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + ListIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) } fun getListIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonListIteratorType) - val listLValue = UFieldLValue(addressSort, address, ListIteratorContents.list) - val indexLValue = UFieldLValue(intSort, address, ListIteratorContents.index) - @Suppress("unchecked_cast") - val listRef = ctx.curState!!.memory.read(listLValue) as UHeapRef - @Suppress("unchecked_cast") - val index = ctx.curState!!.memory.read(indexLValue) as UExpr + val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) + val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) return listRef to index } fun setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonTupleIteratorType) - val tupleLValue = UFieldLValue(addressSort, address, TupleIteratorContents.tuple) - ctx.curState!!.memory.write(tupleLValue, tuple.address) - val indexLValue = UFieldLValue(intSort, address, TupleIteratorContents.index) - ctx.curState!!.memory.write(indexLValue, mkIntNum(0)) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) } fun getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonTupleIteratorType) - @Suppress("unchecked_cast") - val tupleRef = ctx.curState!!.memory.read(UFieldLValue(addressSort, address, TupleIteratorContents.tuple)) as UHeapRef - @Suppress("unchecked_cast") - val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, TupleIteratorContents.index)) as UExpr + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) + val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) return tupleRef to index } fun increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonTupleIteratorType) - val indexLValue = UFieldLValue(intSort, address, TupleIteratorContents.index) - @Suppress("unchecked_cast") - val oldIndexValue = ctx.curState!!.memory.read(indexLValue) as UExpr - ctx.curState!!.memory.write(indexLValue, mkArithAdd(oldIndexValue, mkIntNum(1))) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + TupleIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) } fun setRangeContent( @@ -196,14 +188,10 @@ class UninterpretedSymbolicPythonObject( step: UExpr ) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonRange) - val startLValue = UFieldLValue(intSort, address, RangeContents.start) - ctx.curState!!.memory.write(startLValue, start) - val stopLValue = UFieldLValue(intSort, address, RangeContents.stop) - ctx.curState!!.memory.write(stopLValue, stop) - val stepLValue = UFieldLValue(intSort, address, RangeContents.step) - ctx.curState!!.memory.write(stepLValue, step) - val lengthLValue = UFieldLValue(intSort, address, RangeContents.length) + addSupertypeSoft(ctx, typeSystem.pythonRange) + ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents, intSort, step, trueExpr) val lengthRValue = mkIte( step gt mkIntNum(0), mkIte( @@ -223,43 +211,38 @@ class UninterpretedSymbolicPythonObject( mkIntNum(0) ) ) - ctx.curState!!.memory.write(lengthLValue, lengthRValue) + ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) } fun setRangeIteratorContent(ctx: ConcolicRunContext, range: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val start = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.start)) - ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.start), start) - val length = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.length)) - ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.length), length) - val step = ctx.curState!!.memory.read(UFieldLValue(intSort, range.address, RangeContents.step)) - ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.step), step) + addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) + val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) + val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) + val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) val index = mkIntNum(0) - ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.index), index) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) } fun getRangeIteratorState(ctx: ConcolicRunContext): Pair, UExpr> = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - @Suppress("unchecked_cast") - val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.index)) as UExpr - @Suppress("unchecked_cast") - val length = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.length)) as UExpr + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) return index to length } fun getRangeIteratorNext(ctx: ConcolicRunContext): UExpr = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - @Suppress("unchecked_cast") - val index = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.index)) as UExpr + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) val newIndex = mkArithAdd(index, mkIntNum(1)) - ctx.curState!!.memory.write(UFieldLValue(intSort, address, RangeIteratorContents.index), newIndex) - @Suppress("unchecked_cast") - val start = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.start)) as UExpr - @Suppress("unchecked_cast") - val step = ctx.curState!!.memory.read(UFieldLValue(intSort, address, RangeIteratorContents.step)) as UExpr + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) + val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) + val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) return mkArithAdd(start, mkArithMul(index, step)) } @@ -344,14 +327,12 @@ class InterpretedAllocatedSymbolicPythonObject( override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) - @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue + return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue } override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue { require(ctx.curState != null) - @Suppress("unchecked_cast") - return ctx.curState!!.memory.heap.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue + return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue } override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt index edca7184ec..794aa14970 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt @@ -2,6 +2,7 @@ package org.usvm.machine.utils import io.ksmt.expr.KInterpretedValue import org.usvm.* +import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType @@ -10,13 +11,12 @@ import org.usvm.language.types.MockType import org.usvm.machine.PythonExecutionState import org.usvm.model.UModelBase -@Suppress("unchecked_cast") -class PyModel(val uModel: UModelBase) { +class PyModel(val uModel: UModelBase) { fun eval(expr: UExpr): KInterpretedValue = uModel.eval(expr) as KInterpretedValue fun readField(ref: UConcreteHeapRef, field: PropertyOfPythonObject, sort: Sort): KInterpretedValue = - uModel.heap.readField(ref, field, sort) as KInterpretedValue + uModel.readField(ref, field, sort) as KInterpretedValue override fun equals(other: Any?): Boolean { if (other !is PyModel) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index d16ee14ddc..f4f790fadb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -1,6 +1,7 @@ package org.usvm.machine.utils import org.usvm.* +import org.usvm.api.typeStreamOf import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.PythonType import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject From 1aed96f8cece975411c7b3b6d9ab1c09788a311e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 30 Aug 2023 16:20:44 +0300 Subject: [PATCH 080/344] Some refactoring --- .../machine/interpreters/operations/Common.kt | 1 + .../interpreters/operations/Control.kt | 1 + .../machine/interpreters/operations/List.kt | 4 +- .../machine/interpreters/operations/Long.kt | 1 + .../machine/interpreters/operations/Range.kt | 5 +- .../machine/interpreters/operations/Tuple.kt | 2 + .../interpreters/operations/Virtual.kt | 5 +- .../operations/tracing/PathTracing.kt | 1 + .../ConverterToPythonObject.kt | 4 +- .../symbolicobjects/SymbolicObjectContents.kt | 235 ++++++++++++++++++ .../symbolicobjects/SymbolicPythonObject.kt | 191 -------------- 11 files changed, 246 insertions(+), 204 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index a7fbcab205..769c021315 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -9,6 +9,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation +import org.usvm.machine.symbolicobjects.getBoolContent import org.usvm.machine.utils.MethodDescription fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index c2a271773e..f5f58a6632 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -8,6 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PythonExecutionState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.getToBoolValue import org.usvm.machine.utils.getTypeStreamForDelayedFork fun myFork(ctx: ConcolicRunContext, cond: UExpr) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 999052b32b..c2d6b16612 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -4,10 +4,8 @@ import org.usvm.* import org.usvm.api.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructInt -import org.usvm.machine.symbolicobjects.constructListIterator import org.usvm.language.types.PythonType +import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index b336c8ffed..c42f6c9ad0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -9,6 +9,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.getToIntContent fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt index 01039f19de..c384ed888f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt @@ -2,10 +2,7 @@ package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructInt -import org.usvm.machine.symbolicobjects.constructRange -import org.usvm.machine.symbolicobjects.constructRangeIterator +import org.usvm.machine.symbolicobjects.* fun handlerCreateRangeKt( ctx: ConcolicRunContext, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index de284e5a34..7839a66d71 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -6,6 +6,8 @@ import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructTupleIterator +import org.usvm.machine.symbolicobjects.getTupleIteratorContent +import org.usvm.machine.symbolicobjects.increaseTupleIteratorCounter import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 8a52daf07c..fbbbb2351f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -3,14 +3,11 @@ package org.usvm.machine.interpreters.operations import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.* -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace -import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PyModel import org.usvm.machine.utils.substituteModel diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 9ee19ee69b..9906afd4c5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -4,6 +4,7 @@ import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.machine.symbolicobjects.getToBoolValue import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index ee403a71fe..1862e17b34 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -2,12 +2,12 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef -import org.usvm.UContext import org.usvm.UHeapRef import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* +import org.usvm.machine.UPythonContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace @@ -15,7 +15,7 @@ import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.PyModelHolder class ConverterToPythonObject( - private val ctx: UContext, + private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder ) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt new file mode 100644 index 0000000000..822699822e --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -0,0 +1,235 @@ +package org.usvm.machine.symbolicobjects + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KBoolSort +import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.UHeapRef +import org.usvm.api.readArrayLength +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.* +import org.usvm.machine.UPythonContext + + +/** int **/ + +fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonInt) + ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonInt) + return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) +} + +fun UninterpretedSymbolicPythonObject.getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonInt -> getIntContent(ctx) + typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) + else -> null + } +} + +fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: UPythonContext): KInterpretedValue { + require(getConcreteType() == typeSystem.pythonInt) + return modelHolder.model.readField(address, IntContents.content, ctx.intSort) +} + +fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInterpretedValue { + return when (this) { + is InterpretedInputSymbolicPythonObject -> { + getIntContent(ctx.ctx) + } + is InterpretedAllocatedSymbolicPythonObject -> { + require(ctx.curState != null) + ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue + } + } +} + + +/** bool **/ + +fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonBool) + return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) +} + +fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + require(ctx.curState != null) + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonBool -> getBoolContent(ctx) + typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) + else -> null + } +} + +fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: UPythonContext): KInterpretedValue { + require(getConcreteType() == typeSystem.pythonBool) + return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) +} + +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { + return when (this) { + is InterpretedInputSymbolicPythonObject -> { + getBoolContent(ctx.ctx) + } + is InterpretedAllocatedSymbolicPythonObject -> { + require(ctx.curState != null) + ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue + } + } +} + + +/** list_iterator **/ + +fun UninterpretedSymbolicPythonObject.setListIteratorContent( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) + ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + ListIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) +} + +fun UninterpretedSymbolicPythonObject.getListIteratorContent( + ctx: ConcolicRunContext +): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonListIteratorType) + val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) + val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + return listRef to index +} + + +/** tuple_iterator **/ + +fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) + val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + return tupleRef to index +} + +fun UninterpretedSymbolicPythonObject.increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + TupleIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) +} + + +/** range **/ + +fun UninterpretedSymbolicPythonObject.setRangeContent( + ctx: ConcolicRunContext, + start: UExpr, + stop: UExpr, + step: UExpr +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonRange) + ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents, intSort, step, trueExpr) + val lengthRValue = mkIte( + step gt mkIntNum(0), + mkIte( + stop gt start, + mkArithDiv( + mkArithAdd(stop, mkArithUnaryMinus(start), step, mkIntNum(-1)), + step + ), + mkIntNum(0) + ), + mkIte( + start gt stop, + mkArithDiv( + mkArithAdd(start, mkArithUnaryMinus(stop), mkArithUnaryMinus(step), mkIntNum(-1)), + mkArithUnaryMinus(step) + ), + mkIntNum(0) + ) + ) + ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) +} + + +/** range_iterator **/ + +fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( + ctx: ConcolicRunContext, + range: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) + val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) + val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) + val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) + val index = mkIntNum(0) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getRangeIteratorState( + ctx: ConcolicRunContext +): Pair, UExpr> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) + return index to length +} + +fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( + ctx: ConcolicRunContext +): UExpr = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val newIndex = mkArithAdd(index, mkIntNum(1)) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) + val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) + val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) + return mkArithAdd(start, mkArithMul(index, step)) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index a188821d4d..6ccd003393 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -1,20 +1,12 @@ package org.usvm.machine.symbolicobjects -import io.ksmt.expr.KInterpretedValue -import io.ksmt.sort.KBoolSort -import io.ksmt.sort.KIntSort import org.usvm.* -import org.usvm.api.readArrayLength -import org.usvm.api.readField import org.usvm.api.typeStreamOf -import org.usvm.api.writeField import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert -import org.usvm.language.* import org.usvm.language.types.* -import org.usvm.machine.utils.getLeafHeapRef import org.usvm.types.UTypeStream import org.usvm.types.first @@ -89,163 +81,6 @@ class UninterpretedSymbolicPythonObject( return result } - fun setIntContent(ctx: ConcolicRunContext, expr: UExpr) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonInt) - ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) - } - - fun getIntContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonInt) - return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) - } - - fun getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonInt -> getIntContent(ctx) - typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) - else -> null - } - } - - fun getBoolContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonBool) - return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) - } - - fun getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { - require(ctx.curState != null) - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonBool -> getBoolContent(ctx) - typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) - else -> null - } - } - - fun setListIteratorContent(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) - ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) - } - - fun increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( - address, - ListIteratorContents.index, - intSort, - mkArithAdd(oldIndexValue, mkIntNum(1)), - trueExpr - ) - } - - fun getListIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonListIteratorType) - val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) - val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) - return listRef to index - } - - fun setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) - } - - fun getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) - val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) - return tupleRef to index - } - - fun increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( - address, - TupleIteratorContents.index, - intSort, - mkArithAdd(oldIndexValue, mkIntNum(1)), - trueExpr - ) - } - - fun setRangeContent( - ctx: ConcolicRunContext, - start: UExpr, - stop: UExpr, - step: UExpr - ) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonRange) - ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents, intSort, step, trueExpr) - val lengthRValue = mkIte( - step gt mkIntNum(0), - mkIte( - stop gt start, - mkArithDiv( - mkArithAdd(stop, mkArithUnaryMinus(start), step, mkIntNum(-1)), - step - ), - mkIntNum(0) - ), - mkIte( - start gt stop, - mkArithDiv( - mkArithAdd(start, mkArithUnaryMinus(stop), mkArithUnaryMinus(step), mkIntNum(-1)), - mkArithUnaryMinus(step) - ), - mkIntNum(0) - ) - ) - ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) - } - - fun setRangeIteratorContent(ctx: ConcolicRunContext, range: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) - val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) - val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) - val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) - val index = mkIntNum(0) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) - } - - fun getRangeIteratorState(ctx: ConcolicRunContext): Pair, UExpr> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) - val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) - return index to length - } - - fun getRangeIteratorNext(ctx: ConcolicRunContext): UExpr = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) - val newIndex = mkArithAdd(index, mkIntNum(1)) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) - val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) - val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) - return mkArithAdd(start, mkArithMul(index, step)) - } - fun getTypeIfDefined(ctx: ConcolicRunContext): PythonType? { val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.getConcreteType(ctx) @@ -263,8 +98,6 @@ sealed class InterpretedSymbolicPythonObject( ): SymbolicPythonObject(address, typeSystem) { abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? abstract fun getFirstType(ctx: ConcolicRunContext): PythonType? - abstract fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue - abstract fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue abstract fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? } @@ -279,10 +112,6 @@ class InterpretedInputSymbolicPythonObject( override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = getConcreteType() override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getFirstType() - - override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue = getBoolContent(ctx.ctx) - - override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue = getIntContent(ctx.ctx) override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? = getTypeStream() fun getFirstType(): PythonType? { @@ -301,16 +130,6 @@ class InterpretedInputSymbolicPythonObject( return null return modelHolder.model.uModel.typeStreamOf(address) } - - fun getIntContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == typeSystem.pythonInt) - return modelHolder.model.readField(address, IntContents.content, ctx.intSort) - } - - fun getBoolContent(ctx: UContext): KInterpretedValue { - require(getConcreteType() == typeSystem.pythonBool) - return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) - } } class InterpretedAllocatedSymbolicPythonObject( @@ -325,16 +144,6 @@ class InterpretedAllocatedSymbolicPythonObject( override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getConcreteType(ctx) - override fun getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { - require(ctx.curState != null) - return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue - } - - override fun getIntContent(ctx: ConcolicRunContext): KInterpretedValue { - require(ctx.curState != null) - return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue - } - override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { require(ctx.curState != null) return ctx.curState!!.memory.typeStreamOf(address) From 64db4eb4285e86bdf5a552b19982118fd4e165a7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 30 Aug 2023 18:39:23 +0300 Subject: [PATCH 081/344] Added timeout, load_const for str, is_op --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 6 +-- .../org_usvm_interpreter_CPythonAdapter.h | 8 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 10 ++++ .../src/main/json/adapter_method_defs.json | 12 +++++ .../src/main/json/handler_defs.json | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 11 +++- .../usvm/interpreter/ConcolicRunContext.java | 6 ++- .../main/kotlin/org/usvm/language/Program.kt | 1 - .../org/usvm/language/types/TypeSystem.kt | 1 + .../kotlin/org/usvm/machine/PythonMachine.kt | 20 +++++-- .../interpreters/ConcretePythonInterpreter.kt | 8 +-- .../interpreters/USVMPythonInterpreter.kt | 13 ++++- .../machine/interpreters/operations/Common.kt | 41 ++++++++++---- .../interpreters/operations/Constants.kt | 7 +++ .../operations/tracing/PathTracing.kt | 5 +- .../symbolicobjects/PreallocatedObjects.kt | 14 ++++- .../SymbolicObjectConstruction.kt | 8 +-- .../symbolicobjects/SymbolicObjectContents.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 33 ++++++++++-- .../org/usvm/runner/PythonTestRunner.kt | 53 ++++++++++++++----- .../org/usvm/samples/SimpleListsTest.kt | 2 + .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../resources/samples/SimpleTypeInference.py | 2 - 24 files changed, 216 insertions(+), 56 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index c9fe90038f..cc7008597f 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit c9fe90038fe3302cf31b95261ff0a552088c80b1 +Subproject commit cc7008597ff15730bf777a5f515ffa89dd00a99f diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 009a68cf65..f8f457628c 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -8,9 +8,9 @@ " while i < len(x) and i < len(y): \n" \ " xitem = x[i] \n" \ " yitem = y[i] \n" \ - " #if xitem is yitem: \n" \ - " # i += 1 \n" \ - " # continue \n" \ + " if xitem is yitem: \n" \ + " i += 1 \n" \ + " continue \n" \ " if xitem != yitem: \n" \ " break \n" \ " i += 1 \n" \ diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 31ef3a83d5..5c65fa5057 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -95,6 +95,14 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getPythonObjectStr + * Signature: (J)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectStr + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: getAddressOfReprFunction diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 585491554f..f4c3d82c01 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -242,6 +242,16 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje return (*env)->NewStringUTF(env, repr_as_string); } +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectStr(JNIEnv *env, jobject _, jlong object_ref) { + PyObject *repr = PyObject_Str((PyObject *) object_ref); + if (!repr) { + PyErr_Clear(); + return 0; + } + const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); + return (*env)->NewStringUTF(env, repr_as_string); +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getAddressOfReprFunction(JNIEnv *env, jobject _, jlong object_ref) { return (jlong) ((PyTypeObject *) object_ref)->tp_repr; } diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 0e34761993..e0d9b3a694 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -35,6 +35,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "is_op", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "load_const", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index ee946cd67f..7d60da4cd6 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -164,6 +164,11 @@ "java_name": "handlerForkResult", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Z)V" }, + { + "c_name": "is_op", + "java_name": "handlerIsOp", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "nb_bool", "java_name": "notifyNbBool", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index c20e9ab1a0..4206758354 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -13,6 +13,8 @@ import java.util.concurrent.Callable; import static org.usvm.machine.interpreters.operations.CommonKt.*; +import static org.usvm.machine.interpreters.operations.ConstantsKt.handlerLoadConstKt; +import static org.usvm.machine.interpreters.operations.ControlKt.handlerForkKt; import static org.usvm.machine.interpreters.operations.ListKt.*; import static org.usvm.machine.interpreters.operations.LongKt.*; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; @@ -45,6 +47,7 @@ public class CPythonAdapter { public native void printPythonObject(long object); public native long[] getIterableElements(long iterable); public native String getPythonObjectRepr(long object); + public native String getPythonObjectStr(long object); public native long getAddressOfReprFunction(long object); public native String getPythonObjectTypeName(long object); public native long getPythonObjectType(long object); @@ -114,17 +117,21 @@ private static Callable unit(Runnable function) { public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); - return withTracing(context, new LoadConstParameters(obj), () -> wrap(org.usvm.machine.interpreters.operations.ConstantsKt.handlerLoadConstKt(context, obj))); + return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { - withTracing(context, new Fork(cond), unit(() -> org.usvm.machine.interpreters.operations.ControlKt.handlerForkKt(context, cond.obj))); + withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { handlerForkResultKt(context, cond, result); } + public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); + } + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index f76270ed5a..809933b4c2 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -15,6 +15,7 @@ import org.usvm.types.UTypeStream; import java.util.*; +import java.util.concurrent.Callable; public class ConcolicRunContext { @@ -32,6 +33,7 @@ public class ConcolicRunContext { public int maxInstructions; public int instructionCounter = 0; public boolean usesVirtualInputs = false; + public Callable isCancelled; public ConcolicRunContext( @NotNull PythonExecutionState curState, @@ -40,7 +42,8 @@ public ConcolicRunContext( PythonTypeSystem typeSystem, boolean allowPathDiversion, PythonMachineStatisticsOnFunction statistics, - int maxInstructions + int maxInstructions, + Callable isCancelled ) { this.curState = curState; this.ctx = ctx; @@ -55,6 +58,7 @@ public ConcolicRunContext( this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder); } this.maxInstructions = maxInstructions; + this.isCancelled = isCancelled; } public void pathDiversion() throws PathDiversionException { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 03c087ac7d..4048a04548 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -1,6 +1,5 @@ package org.usvm.language -import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonNamespace diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index df614d02a0..86346ad4da 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -82,6 +82,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))") val pythonRange = createConcreteTypeByName("range") val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())") + val pythonStr = createConcreteTypeByName("str") protected val basicTypes: List = listOf( pythonInt, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 8c678dc02a..8cdc083733 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -31,7 +31,8 @@ class PythonMachine( results: MutableList>, allowPathDiversion: Boolean, iterationCounter: IterationCounter, - maxInstructions: Int + maxInstructions: Int, + isCancelled: (Long) -> Boolean ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, @@ -42,6 +43,7 @@ class PythonMachine( printErrorMsg, PythonMachineStatisticsOnFunction(pinnedTarget).also { statistics.functionStatistics.add(it) }, maxInstructions, + isCancelled, allowPathDiversion, serializer ) { @@ -89,11 +91,15 @@ class PythonMachine( results: MutableList>, maxIterations: Int = 300, allowPathDiversion: Boolean = true, - maxInstructions: Int = 1_000_000_000 + maxInstructions: Int = 1_000_000_000, + timeoutMs: Long? = null, + timeoutPerRunMs: Long? = null ): Int = program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> typeSystem.restart() val observer = PythonMachineObserver() val iterationCounter = IterationCounter() + val startTime = System.currentTimeMillis() + val stopTime = timeoutMs?.let { startTime + it } val interpreter = getInterpreter( pythonCallable, pinnedCallable, @@ -101,14 +107,20 @@ class PythonMachine( allowPathDiversion, iterationCounter, maxInstructions - ) + ) { startIterationTime -> + (timeoutPerRunMs?.let {(System.currentTimeMillis() - startIterationTime) >= it} ?: false) || + (stopTime != null && System.currentTimeMillis() >= stopTime) + } val pathSelector = getPathSelector(pythonCallable) run( interpreter, pathSelector, observer = observer, isStateTerminated = { it.meta.modelDied }, - stopStrategy = { observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations } + stopStrategy = { + observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations || + (stopTime != null && System.currentTimeMillis() >= stopTime) + } ) iterationCounter.iterations } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index a9e5ec75c4..0f2d9f0daa 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -108,11 +108,11 @@ object ConcretePythonInterpreter { } fun getPythonObjectRepr(pythonObject: PythonObject): String { - val result = pythonAdapter.getPythonObjectRepr(pythonObject.address) - if (result != null) - return result + return pythonAdapter.getPythonObjectRepr(pythonObject.address) ?: throw CPythonExecutionException() + } - throw CPythonExecutionException() + fun getPythonObjectStr(pythonObject: PythonObject): String { + return pythonAdapter.getPythonObjectStr(pythonObject.address) ?: throw CPythonExecutionException() } fun getAddressOfReprFunction(pythonObject: PythonObject): Long { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 45e09060c7..62f879cd62 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -12,6 +12,7 @@ import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.operations.myAssertOnState +import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction @@ -27,6 +28,7 @@ class USVMPythonInterpreter( private val printErrorMsg: Boolean, private val statistics: PythonMachineStatisticsOnFunction, private val maxInstructions: Int, + private val isCancelled: (Long) -> Boolean, private val allowPathDiversion: Boolean = true, private val serializer: PythonObjectSerializer, private val saveRunResult: (PythonAnalysisResult) -> Unit @@ -65,8 +67,12 @@ class USVMPythonInterpreter( state.meta.lastConverter!!.modelHolder else PyModelHolder(state.pyModel) + val start = System.currentTimeMillis() val concolicRunContext = - ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics, maxInstructions) + ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics, maxInstructions) { + isCancelled(start) + // timeoutPerRunMs?.let { System.currentTimeMillis() - start > timeoutPerRunMs } ?: false + } state.meta.objectsWithoutConcreteTypes = null state.meta.lastConverter?.restart() try { @@ -168,6 +174,11 @@ class USVMPythonInterpreter( concolicRunContext.curState?.meta?.modelDied = true return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.meta.modelDied) + } catch (_: CancelledExecutionException) { + + logger.debug("Step result: execution cancelled") + return StepResult(emptySequence(), false) + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 769c021315..7dafc88197 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -5,11 +5,8 @@ import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructBool -import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.language.types.ConcreteTypeNegation -import org.usvm.machine.symbolicobjects.getBoolContent +import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.MethodDescription fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { @@ -63,20 +60,42 @@ fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { } fun createIterable( - context: ConcolicRunContext, + ctx: ConcolicRunContext, elements: List, type: ConcretePythonType ): UninterpretedSymbolicPythonObject? { - if (context.curState == null) + if (ctx.curState == null) return null val addresses = elements.map { it.address }.asSequence() - val typeSystem = context.typeSystem + val typeSystem = ctx.typeSystem val size = elements.size - with (context.ctx) { - val iterableAddress = context.curState!!.memory.allocateArrayInitialized(type, addressSort, addresses) - context.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), type) + with (ctx.ctx) { + val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(type, addressSort, addresses) + ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) - result.addSupertype(context, type) + result.addSupertype(ctx, type) return result } +} + +fun handlerIsOpKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + val leftType = left.getTypeIfDefined(ctx) + val rightType = right.getTypeIfDefined(ctx) + if (leftType == null || rightType == null) { + myFork(ctx, mkHeapRefEq(left.address, right.address)) + } + if (leftType != rightType) + return + when (leftType) { + ctx.typeSystem.pythonBool -> + myFork(ctx, left.getBoolContent(ctx) xor right.getBoolContent(ctx)) + ctx.typeSystem.pythonInt -> + myFork(ctx, left.getIntContent(ctx) eq right.getIntContent(ctx)) + else -> + myFork(ctx, mkHeapRefEq(left.address, right.address)) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 55d387333e..3b24900159 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -21,9 +21,16 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte } handlerLoadConstTupleKt(context, symbolicElements) } + "str" -> handlerLoadConstStrKt(context, value) else -> null } +fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + val str = ConcretePythonInterpreter.getPythonObjectStr(value) + return context.curState!!.preAllocatedObjects.allocateStr(context, str) +} fun handlerLoadConstLongKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { if (context.curState == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 9906afd4c5..18750ed972 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -15,6 +15,8 @@ fun withTracing( newEventParameters: SymbolicHandlerEventParameters, resultSupplier: Callable ): T? { + if (context.isCancelled.call()) + throw CancelledExecutionException context.instructionCounter += 1 if (newEventParameters is NextInstruction) context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) @@ -64,4 +66,5 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res } } -object InstructionLimitExceededException: Exception() \ No newline at end of file +object InstructionLimitExceededException: Exception() +object CancelledExecutionException: Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 61c4a825e4..8576abdf69 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -1,6 +1,7 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem @@ -13,7 +14,18 @@ class PreallocatedObjects( initialPathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ) { - val noneObject = constructNone(initialMemory, typeSystem) + val noneObject = constructEmptyObject(initialMemory, typeSystem, typeSystem.pythonNoneType) val trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr) val falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr) + private val concreteStrToSymbol = mutableMapOf() + + fun allocateStr(ctx: ConcolicRunContext, string: String): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val cached = concreteStrToSymbol[string] + if (cached != null) + return cached + val result = constructEmptyObject(ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) + concreteStrToSymbol[string] = result + return result + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 10d15e50e3..d6940943d1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -7,6 +7,7 @@ import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* +import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext @@ -29,11 +30,12 @@ fun constructInputObject( return result } -fun constructNone( +fun constructEmptyObject( memory: UMemory, - typeSystem: PythonTypeSystem + typeSystem: PythonTypeSystem, + type: ConcretePythonType ): UninterpretedSymbolicPythonObject { - val address = memory.alloc(typeSystem.pythonNoneType) + val address = memory.alloc(type) return UninterpretedSymbolicPythonObject(address, typeSystem) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 822699822e..f0ba7c2440 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -169,7 +169,7 @@ fun UninterpretedSymbolicPythonObject.setRangeContent( addSupertypeSoft(ctx, typeSystem.pythonRange) ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents, intSort, step, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents.step, intSort, step, trueExpr) val lengthRValue = mkIte( step gt mkIntNum(0), mkIte( diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 317c7f9f06..51484f0f5f 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,3 +1,4 @@ +import org.usvm.UMachineOptions import org.usvm.language.PrimitivePythonProgram import org.usvm.language.PythonProgram import org.usvm.machine.* @@ -6,6 +7,7 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer import org.usvm.utils.getModulesFromFiles @@ -19,11 +21,18 @@ import org.utbot.python.newtyping.pythonDescription import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File +fun main() { + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() + // analyze(config) + checkConcolicAndConcrete(config) +} + private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - return [10] * x + return "abcde" """.trimIndent() ) @@ -85,10 +94,24 @@ private fun buildProjectRunConfig(): RunConfig { return RunConfig(program, typeSystem, functions) } -fun main() { - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() - analyze(config) +private fun checkConcolicAndConcrete(runConfig: RunConfig) { + val (program, typeSystem, functions) = runConfig + val runner = CustomPythonTestRunner( + program, + typeSystem, + UMachineOptions(stepLimit = 30U, timeoutMs = 60_000), + allowPathDiversions = true + ) + runner.timeoutPerRunMs = 10_000 + functions.forEach { function -> + println("Running ${function.tag}...") + when (val argsNum = function.numberOfArguments) { + 0 -> runner.check0NoPredicates(function) + 1 -> runner.check1NoPredicates(function) + 2 -> runner.check2NoPredicates(function) + else -> println("${function.tag} ignored because it has $argsNum arguments") + } + } } private fun analyze(runConfig: RunConfig) { diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index a40c263e9f..13849eac77 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -9,14 +9,15 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher +import org.usvm.test.util.checkers.ge import org.usvm.utils.PythonObjectInfo import org.usvm.utils.StandardPythonObjectSerializer sealed class PythonTestRunner( - protected val module: String, override var options: UMachineOptions = UMachineOptions(), protected var allowPathDiversions: Boolean = false ): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { + var timeoutPerRunMs: Long? = null abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram private val machine by lazy { @@ -33,7 +34,9 @@ sealed class PythonTestRunner( callable, results, options.stepLimit?.toInt() ?: 300, - allowPathDiversion = allowPathDiversions + allowPathDiversion = allowPathDiversions, + timeoutMs = options.timeoutMs, + timeoutPerRunMs = timeoutPerRunMs ) results } @@ -96,6 +99,18 @@ sealed class PythonTestRunner( ) } + private inline fun > createCheckWithConcreteRunAndNoPredicates(): + (PythonUnpinnedCallable) -> Unit = + { target: PythonUnpinnedCallable -> + createCheckWithConcreteRun(concreteRun = true)( + target, + ge(0), + compareConcolicAndConcreteTypes, + emptyList(), + emptyList() + ) + } + private inline fun > createCheck(): (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { target: PythonUnpinnedCallable, @@ -111,19 +126,22 @@ sealed class PythonTestRunner( ) } - protected val check0 = createCheck<(PythonObjectInfo) -> Boolean>() - protected val check0WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo) -> Boolean>() + val check0 = createCheck<(PythonObjectInfo) -> Boolean>() + val check0WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo) -> Boolean>() + val check0NoPredicates = createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo) -> Boolean>() - protected val check1 = createCheck<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val check1WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check1 = createCheck<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check1WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check1NoPredicates = + createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val check2 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val check2WithConcreteRun = + val check2 = createCheck<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check2WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check2NoPredicates = + createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() - protected val check3WithConcreteRun = + val check3WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: @@ -177,20 +195,27 @@ open class PythonTestRunnerForPrimitiveProgram( module: String, options: UMachineOptions = UMachineOptions(), allowPathDiversions: Boolean = false -): PythonTestRunner(module, options, allowPathDiversions) { +): PythonTestRunner(options, allowPathDiversions) { override val program = SamplesBuild.program.getPrimitiveProgram(module) override val typeSystem = BasicPythonTypeSystem() } open class PythonTestRunnerForStructuredProgram( - module: String, + private val module: String, options: UMachineOptions = UMachineOptions(), allowPathDiversions: Boolean = false -): PythonTestRunner(module, options, allowPathDiversions) { +): PythonTestRunner(options, allowPathDiversions) { override val program = SamplesBuild.program override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, SamplesBuild.program) override fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = PythonUnpinnedCallable.constructCallableFromName(signature, name, module) } +class CustomPythonTestRunner( + override val program: PythonProgram, + override val typeSystem: PythonTypeSystem, + options: UMachineOptions = UMachineOptions(), + allowPathDiversions: Boolean = false +): PythonTestRunner(options, allowPathDiversions) + data class PythonCoverage(val int: Int) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt index 43dc2a0bd2..474ddddfc2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt @@ -234,6 +234,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach @Test fun testAddAndCompare() { + allowPathDiversions = true check2WithConcreteRun( constructFunction("add_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), ignoreNumberOfAnalysisResults, @@ -245,6 +246,7 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach { _, _, res -> res.repr == "None" } ) ) + allowPathDiversions = false } @Test diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index e03e613390..5d88beb0fb 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -138,7 +138,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testMultiplyAndCompare() { val oldOptions = options - options = UMachineOptions(stepLimit = 50U) + options = UMachineOptions(stepLimit = 70U) check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 8e6161882b..00b1f0ad01 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -88,10 +88,8 @@ def range_loop(x): sum_ = 0 for i in range(x): sum_ += i - if sum_ > 15: return 1 - return 2 From 805ae98fa9e6f4c35ce41f3576c76425f69d60a4 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 31 Aug 2023 16:09:01 +0300 Subject: [PATCH 082/344] Added ArrayType for lists and tuples --- .../org/usvm/language/types/VirtualTypes.kt | 6 +++ .../machine/interpreters/operations/Common.kt | 9 ++-- .../machine/interpreters/operations/List.kt | 53 ++++++++++--------- .../machine/interpreters/operations/Tuple.kt | 6 ++- .../ConverterToPythonObject.kt | 5 +- .../symbolicobjects/ObjectValidator.kt | 6 ++- .../symbolicobjects/SymbolicObjectContents.kt | 3 +- 7 files changed, 52 insertions(+), 36 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 8eda23d7e7..14b60c8d82 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -6,6 +6,12 @@ object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true } +data class ArrayType(val typeSystem: PythonTypeSystem): VirtualPythonType() { + override fun accepts(type: PythonType): Boolean { + return type == this || type == typeSystem.pythonList || type == typeSystem.pythonTuple + } +} + class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type is MockType) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 7dafc88197..cdf0dd2899 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.operations import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayType import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject import org.usvm.language.types.ConcreteTypeNegation @@ -68,12 +69,14 @@ fun createIterable( return null val addresses = elements.map { it.address }.asSequence() val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) val size = elements.size with (ctx.ctx) { - val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(type, addressSort, addresses) - ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), type) + val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(arrayType, addressSort, addresses) + ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), arrayType) + ctx.curState!!.memory.types.allocate(iterableAddress.address, type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) - result.addSupertype(ctx, type) + result.addSupertypeSoft(ctx, type) return result } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index c2d6b16612..3bd08fa352 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -4,6 +4,7 @@ import org.usvm.* import org.usvm.api.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayType import org.usvm.language.types.PythonType import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream @@ -16,9 +17,10 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli if (context.curState == null) return null val typeSystem = context.typeSystem + val arrayType = ArrayType(typeSystem) if (list.getTypeIfDefined(context) != typeSystem.pythonList) return null - val listSize = context.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) + val listSize = context.curState!!.memory.readArrayLength(list.address, arrayType) return constructInt(context, listSize) } @@ -27,10 +29,11 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt return null with (ctx.ctx) { val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) index.addSupertypeSoft(ctx, typeSystem.pythonInt) list.addSupertypeSoft(ctx, typeSystem.pythonList) - val listSize = ctx.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) + val listSize = ctx.curState!!.memory.readArrayLength(list.address, arrayType) val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) @@ -43,11 +46,11 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt myFork(ctx, positiveIndex) return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { - UArrayIndexLValue(addressSort, list.address, indexValue, typeSystem.pythonList) + UArrayIndexLValue(addressSort, list.address, indexValue, arrayType) } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) - UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), typeSystem.pythonList) + UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), arrayType) } } } @@ -71,25 +74,20 @@ fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt } -/* -context.curState!!.memory.read(UArrayIndexLValue(addressSort, result, mkIntNum(1), typeSystem.pythonList)) - */ - private fun listConcat( ctx: ConcolicRunContext, left: UHeapRef, - leftType: PythonType, right: UHeapRef, - rightType: PythonType, dst: UHeapRef ) { val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) with (ctx.ctx) { - val leftSize = ctx.curState!!.memory.readArrayLength(left, leftType) - val rightSize = ctx.curState!!.memory.readArrayLength(right, rightType) - ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), typeSystem.pythonList) - ctx.curState!!.memory.memcpy(left, dst, typeSystem.pythonList, addressSort, mkIntNum(0), mkIntNum(0), leftSize) - ctx.curState!!.memory.memcpy(right, dst, typeSystem.pythonList, addressSort, mkIntNum(0), leftSize, rightSize) + val leftSize = ctx.curState!!.memory.readArrayLength(left, arrayType) + val rightSize = ctx.curState!!.memory.readArrayLength(right, arrayType) + ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), arrayType) + ctx.curState!!.memory.memcpy(left, dst, arrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) + ctx.curState!!.memory.memcpy(right, dst, arrayType, addressSort, mkIntNum(0), leftSize, rightSize) } } @@ -98,7 +96,7 @@ fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth val typeSystem = ctx.typeSystem list.addSupertypeSoft(ctx, typeSystem.pythonList) tuple.addSupertypeSoft(ctx, typeSystem.pythonTuple) - listConcat(ctx, list.address, typeSystem.pythonList, tuple.address, typeSystem.pythonTuple, list.address) + listConcat(ctx, list.address, tuple.address, list.address) return list } @@ -106,11 +104,12 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth if (ctx.curState == null) return null val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) + if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) + return null with (ctx.ctx) { - left.addSupertypeSoft(ctx, typeSystem.pythonList) - right.addSupertypeSoft(ctx, typeSystem.pythonList) - val result = ctx.curState!!.memory.allocateArray(typeSystem.pythonList, mkIntNum(0)) - listConcat(ctx, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, result) + val result = ctx.curState!!.memory.allocateArray(arrayType, mkIntNum(0)) + listConcat(ctx, left.address, right.address, result) return UninterpretedSymbolicPythonObject(result, typeSystem) } } @@ -121,7 +120,7 @@ fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbo val typeSystem = ctx.typeSystem if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null - listConcat(ctx, left.address, typeSystem.pythonList, right.address, typeSystem.pythonList, left.address) + listConcat(ctx, left.address, right.address, left.address) return left } @@ -129,12 +128,13 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth if (ctx.curState == null) return null val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val currentSize = ctx.curState!!.memory.readArrayLength(list.address, typeSystem.pythonList) - ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, typeSystem.pythonList, addressSort, elem.address, trueExpr) - ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), typeSystem.pythonList) + val currentSize = ctx.curState!!.memory.readArrayLength(list.address, arrayType) + ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, arrayType, addressSort, elem.address, trueExpr) + ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), arrayType) return list } } @@ -152,14 +152,15 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy return null val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) val (listAddress, index) = iterator.getListIteratorContent(ctx) - val listSize = ctx.curState!!.memory.readArrayLength(listAddress, typeSystem.pythonList) + val listSize = ctx.curState!!.memory.readArrayLength(listAddress, arrayType) val indexCond = index lt listSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseListIteratorCounter(ctx) - val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, typeSystem.pythonList, addressSort) + val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, arrayType, addressSort) return UninterpretedSymbolicPythonObject(elemAddr, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index 7839a66d71..6af6b79131 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -4,6 +4,7 @@ import org.usvm.* import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayType import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructTupleIterator import org.usvm.machine.symbolicobjects.getTupleIteratorContent @@ -29,12 +30,13 @@ fun handlerTupleIteratorNextKt( if (ctx.curState == null) return null val typeSystem = ctx.typeSystem + val arrayType = ArrayType(typeSystem) val (tuple, index) = iterator.getTupleIteratorContent(ctx) - val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, typeSystem.pythonTuple) + val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, arrayType) val indexCond = index lt tupleSize if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseTupleIteratorCounter(ctx) - val address = ctx.curState!!.memory.readArrayIndex(tuple, index, typeSystem.pythonTuple, addressSort) + val address = ctx.curState!!.memory.readArrayIndex(tuple, index, arrayType, addressSort) return UninterpretedSymbolicPythonObject(address, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 1862e17b34..69cf819253 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -19,6 +19,7 @@ class ConverterToPythonObject( private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder ) { + private val arrayType = ArrayType(typeSystem) private val defaultValueProvider = DefaultValueProvider(typeSystem) val forcedConcreteTypes = mutableMapOf() private val constructedObjects = mutableMapOf() @@ -89,12 +90,12 @@ class ConverterToPythonObject( } private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, typeSystem.pythonList) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, arrayType) as KInt32NumExpr val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList val listOfPythonObjects = List(size.value) { index -> val indexExpr = mkSizeExpr(index) - val element = obj.modelHolder.model.uModel.readArrayIndex(obj.address, indexExpr, typeSystem.pythonList, addressSort) as UConcreteHeapRef + val element = obj.modelHolder.model.uModel.readArrayIndex(obj.address, indexExpr, arrayType, addressSort) as UConcreteHeapRef val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) convert(elemInterpretedObject) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index d571348a4b..26aac8170b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -5,6 +5,7 @@ import org.usvm.* import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayType import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert @@ -24,14 +25,15 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, typeSystem.pythonList) + val arrayType = ArrayType(concolicRunContext.typeSystem) + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, arrayType) myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> val element = concolicRunContext.curState!!.memory.readArrayIndex( symbolic.address, mkSizeExpr(index), - typeSystem.pythonList, + arrayType, addressSort ) val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index f0ba7c2440..a84504c60f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -11,6 +11,7 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* +import org.usvm.language.types.ArrayType import org.usvm.machine.UPythonContext @@ -67,7 +68,7 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U return when (getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, typeSystem.pythonList) gt mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType(typeSystem)) gt mkIntNum(0) else -> null } } From 24fcafc2b0ec27d517b455b8997d371a6a614f72 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Sat, 2 Sep 2023 17:21:44 +0300 Subject: [PATCH 083/344] Attempts to add tasks for windows --- usvm-python/cpythonadapter/build.gradle.kts | 112 ++++++++++++------ usvm-python/cpythonadapter/cpython | 2 +- .../cpythonadapter/src/main/c/include/utils.h | 8 +- 3 files changed, 78 insertions(+), 44 deletions(-) diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index edc325867c..8916ba0634 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -1,52 +1,73 @@ -import org.gradle.internal.jvm.Jvm import groovy.json.JsonSlurper +import org.apache.tools.ant.taskdefs.condition.Os +import org.gradle.internal.jvm.Jvm +import java.io.* + +// Example project: https://github.com/vladsoroka/GradleJniSample plugins { `cpp-library` } -val cpythonPath = "${projectDir.path}/cpython" -val cpythonBuildPath = "${project.buildDir.path}/cpython_build" +val cpythonPath: String = File(projectDir, "cpython").canonicalPath +val cpythonBuildPath: String = File(project.buildDir.path, "cpython_build").canonicalPath val cpythonTaskGroup = "cpython" +val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) +val windowsBuildScript = File(cpythonPath, "PCBuild/build.bat") -val configCPythonDebug = tasks.register("CPythonBuildConfigurationDebug") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - outputs.file("$cpythonPath/Makefile") - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - "--with-ensurepip=yes", - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--with-assertions" - ) -} +val configCPythonDebug = + if (!isWindows) { + tasks.register("CPythonBuildConfigurationDebug") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + outputs.file("$cpythonPath/Makefile") + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=yes", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--with-assertions" + ) + } + } else { + null + } -val configCPythonRelease = tasks.register("CPythonBuildConfigurationRelease") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - outputs.file("$cpythonPath/Makefile") - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - "--with-ensurepip=yes", - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--enable-optimizations" - ) -} +val configCPythonRelease = + if (!isWindows) { + tasks.register("CPythonBuildConfigurationRelease") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + outputs.file("$cpythonPath/Makefile") + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=yes", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--enable-optimizations" + ) + } + } else { + null + } val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { group = cpythonTaskGroup - dependsOn(configCPythonDebug) inputs.dir(cpythonPath) - outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") workingDir = File(cpythonPath) - commandLine("make") - commandLine("make", "install") + if (!isWindows) { + dependsOn(configCPythonDebug!!) + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") + commandLine("make") + commandLine("make", "install") + } else { + outputs.dirs(cpythonBuildPath) + commandLine(windowsBuildScript.canonicalPath, "-c", "Debug", "-t", "Build", "--generate-layout", cpythonBuildPath) + } } val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { @@ -183,10 +204,15 @@ library { } compileTask.includes.from(adapterHeaderPath) - compileTask.includes.from("$cpythonBuildPath/include/python3.11") compileTask.includes.from("src/main/c/include") compileTask.source.from(fileTree("src/main/c")) - compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) + if (!isWindows) { + compileTask.includes.from("$cpythonBuildPath/include/python3.11") + compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) + } else { + compileTask.includes.from(File(cpythonBuildPath, "include").canonicalPath) + compileTask.compilerArgs.addAll(listOf("/TC")) + } compileTask.dependsOn(headers) if (!compileTask.isOptimized) { @@ -200,13 +226,21 @@ library { val cpythonClean = tasks.register("CPythonClean") { group = cpythonTaskGroup workingDir = File(cpythonPath) - commandLine("make", "clean") + if (!isWindows) { + commandLine("make", "clean") + } else { + commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") + } } tasks.register("CPythonDistclean") { group = cpythonTaskGroup workingDir = File(cpythonPath) - commandLine("make", "distclean") + if (!isWindows) { + commandLine("make", "distclean") + } else { + commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") + } } tasks.clean { diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index cc7008597f..6baa4de314 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit cc7008597ff15730bf777a5f515ffa89dd00a99f +Subproject commit 6baa4de31477b6d0a1c67acfe8488c665c05a5a1 diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index c27fbbc92f..6b136aa7c7 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -55,12 +55,12 @@ int extract_int_value(PyObject *int_object); return fail_value; \ } -#define CALL_JAVA_METHOD(result, ctx, func, args...) \ - result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ +#define CALL_JAVA_METHOD(result, ctx, func, ...) \ + result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, __VA_ARGS__); \ CHECK_FOR_EXCEPTION(ctx, Py_None) -#define CALL_JAVA_METHOD_CUSTOM_FAIL(fail_value, result, ctx, func, args...) \ - result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, args); \ +#define CALL_JAVA_METHOD_CUSTOM_FAIL(fail_value, result, ctx, func, ...) \ + result = (*ctx->env)->CallStaticObjectMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_##func, __VA_ARGS__); \ CHECK_FOR_EXCEPTION(ctx, fail_value) int audit_hook(const char *event, PyObject *args, void *data); From d985b4a43e64a720a6401110dd8cb73f1a9cf14c Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Mon, 4 Sep 2023 13:15:17 +0300 Subject: [PATCH 084/344] Update README.md --- usvm-python/README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/usvm-python/README.md b/usvm-python/README.md index 3d22a6f0c0..6a1e6c1fb0 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -26,13 +26,23 @@ Official instruction: https://devguide.python.org/getting-started/setup-building ### Unix -Gradle tasks should do everything automatically. - -Tasks for running `src/test/kotlin/manualTest.kt` (name of task group --- `run`): - -- `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython -- `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython -- `:usvm-python:manualTestRelease`: run with info logging and release build of CPython +1. Install optional dependencies. + - Official instruction: https://devguide.python.org/getting-started/setup-building/#install-dependencies + - __Short version__. Install the following packages with apt: + ``` + build-essential gdb lcov pkg-config \ + libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ + libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ + lzma lzma-dev tk-dev uuid-dev zlib1g-dev + ``` + +2. Use Gradle tasks to do the rest. + + Tasks for running `src/test/kotlin/manualTest.kt` (name of task group --- `run`): + + - `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython + - `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython + - `:usvm-python:manualTestRelease`: run with info logging and release build of CPython ## Addition of a method in CPythonAdapter @@ -56,4 +66,4 @@ Implement the method in `CPythonAdapter.java`. Add the definition in `cpythonadapter/src/main/json/handler_defs.json`. Define `c_name`, `java_name`, `sig`. -The `jmethodID` of the method will be accessible in `ConcolicContext` by the name `handle_`. \ No newline at end of file +The `jmethodID` of the method will be accessible in `ConcolicContext` by the name `handle_`. From 4af73f66aab7af91e3c04d78d27dc4c904b04572 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Mon, 4 Sep 2023 13:16:28 +0300 Subject: [PATCH 085/344] Update README.md --- usvm-python/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/README.md b/usvm-python/README.md index 6a1e6c1fb0..2e3d93888d 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -54,7 +54,7 @@ Regenerate `org_usvm_interpreter_CPythonAdapter.h`: ``` cd src/main/java -javah org.usvm.machine.CPythonAdapter +javah org.usvm.interpreter.CPythonAdapter mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c/include ``` From e38ea4432a60a6ab4fe2c6eba06231412c92b13e Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Mon, 4 Sep 2023 13:21:36 +0300 Subject: [PATCH 086/344] fixed PYTHONHOME --- usvm-python/build.gradle.kts | 2 ++ .../c/include/org_usvm_interpreter_CPythonAdapter.h | 4 ++-- .../main/c/org_usvm_interpreter_CPythonAdapter.c | 9 ++++++++- .../java/org/usvm/interpreter/CPythonAdapter.java | 2 +- .../interpreters/ConcretePythonInterpreter.kt | 3 ++- usvm-python/src/test/kotlin/manualTest.kt | 13 +++++++++++-- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 1696a4a51e..6ec0ab3777 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -72,6 +72,7 @@ fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { dependsOn(":usvm-python:cpythonadapter:linkRelease") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + environment("PYTHONHOME" to cpythonBuildPath) } tasks.register("manualTestDebug") { @@ -108,4 +109,5 @@ tasks.test { dependsOn(buildSamples) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + environment("PYTHONHOME" to cpythonBuildPath) } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 5c65fa5057..ea7437f801 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -10,10 +10,10 @@ extern "C" { /* * Class: org_usvm_interpreter_CPythonAdapter * Method: initializePython - * Signature: ()V + * Signature: (Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython - (JNIEnv *, jobject); + (JNIEnv *, jobject, jstring); /* * Class: org_usvm_interpreter_CPythonAdapter diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index f4c3d82c01..0b93f4bbbe 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -42,9 +42,16 @@ turn_off_audit_hook() { illegal_operation = 0; } -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter) { +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter, jstring python_home) { + PyPreConfig pre_config; + PyPreConfig_InitIsolatedConfig(&pre_config); + Py_PreInitialize(&pre_config); + PyConfig config; PyConfig_InitIsolatedConfig(&config); + const char *python_home_str = (*env)->GetStringUTFChars(env, python_home, 0); + PyConfig_SetBytesString(&config, &config.home, python_home_str); + (*env)->ReleaseStringUTFChars(env, python_home, python_home_str); Py_InitializeFromConfig(&config); PyConfig_Clear(&config); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 4206758354..950f841fee 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -36,7 +36,7 @@ public class CPythonAdapter { public int pyLT; public int pyGE; public int pyGT; - public native void initializePython(); + public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict public native void addName(long dict, long object, String name); diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 0f2d9f0daa..07de66f2bd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -203,7 +203,8 @@ object ConcretePythonInterpreter { val pyGE: Int init { - pythonAdapter.initializePython() + val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") + pythonAdapter.initializePython(pythonHome) pyEQ = pythonAdapter.pyEQ pyNE = pythonAdapter.pyNE pyLT = pythonAdapter.pyLT diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 51484f0f5f..dcc6f6fb77 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -7,6 +7,7 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.machine.interpreters.emptyNamespace import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer @@ -22,10 +23,18 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val config = buildProjectRunConfig() + // val config = buildProjectRunConfig() // val config = buildSampleRunConfig() // analyze(config) - checkConcolicAndConcrete(config) + // checkConcolicAndConcrete(config) + + ConcretePythonInterpreter.concreteRun( + emptyNamespace, + """ + import sys + print("sys.path:", sys.path, flush=True) + """.trimIndent() + ) } private fun buildSampleRunConfig(): RunConfig { From e43e750a0ce3f60816462b031777a5ac1b3af4be Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 5 Sep 2023 15:59:47 +0300 Subject: [PATCH 087/344] Added ElementConstraint --- .../main/kotlin/org/usvm/model/LazyModels.kt | 3 + .../org_usvm_interpreter_CPythonAdapter.h | 16 ++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 8 ++ .../src/main/json/adapter_method_defs.json | 12 +++ .../src/main/json/handler_defs.json | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 6 ++ .../main/kotlin/org/usvm/language/Fields.kt | 4 +- .../usvm/language/types/ElementConstraints.kt | 52 ++++++++++++ .../org/usvm/language/types/TypeSystem.kt | 57 ++++++++----- .../kotlin/org/usvm/language/types/Types.kt | 19 ++++- .../org/usvm/language/types/VirtualTypes.kt | 4 +- .../org/usvm/machine/PythonExecutionState.kt | 8 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 5 +- .../usvm/machine/PythonVirtualPathSelector.kt | 8 +- .../interpreters/ConcretePythonInterpreter.kt | 8 ++ .../interpreters/USVMPythonInterpreter.kt | 5 +- .../machine/interpreters/operations/Common.kt | 5 +- .../interpreters/operations/Control.kt | 12 ++- .../machine/interpreters/operations/List.kt | 37 ++++----- .../machine/interpreters/operations/Tuple.kt | 20 +++-- .../interpreters/operations/Virtual.kt | 10 ++- .../tracing/SymbolicHandlerEvent.kt | 1 + .../kotlin/org/usvm/machine/model/PyModel.kt | 82 +++++++++++++++++++ .../{ => model}/PythonMockEvaluator.kt | 17 ++-- .../ConverterToPythonObject.kt | 48 ++++++++--- .../symbolicobjects/ObjectValidator.kt | 28 ++++++- .../symbolicobjects/SymbolicObjectContents.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 29 +++++++ .../utils/{PyModel.kt => PyModelWrapper.kt} | 8 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 47 ++++++----- .../org/usvm/samples/SimpleTupleTest.kt | 14 ++++ .../src/test/resources/samples/SimpleTuple.py | 10 ++- 33 files changed, 468 insertions(+), 124 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt rename usvm-python/src/main/kotlin/org/usvm/machine/{ => model}/PythonMockEvaluator.kt (79%) rename usvm-python/src/main/kotlin/org/usvm/machine/utils/{PyModel.kt => PyModelWrapper.kt} (89%) diff --git a/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt b/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt index b7d6bdee5c..0b8ce62470 100644 --- a/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt +++ b/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt @@ -62,6 +62,9 @@ class ULazyIndexedMockModel( fun UExpr.mapAddress( addressesMapping: AddressesMapping, ): UExpr = if (sort == uctx.addressSort) { + if (asExpr(uctx.addressSort) !in addressesMapping) { + println("1") + } addressesMapping.getValue(asExpr(uctx.addressSort)).asExpr(sort) } else { this diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index ea7437f801..13eed82264 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -167,6 +167,22 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtual JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList (JNIEnv *, jobject, jlongArray); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: allocateTuple + * Signature: (I)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateTuple + (JNIEnv *, jobject, jint); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: setTupleElement + * Signature: (JIJ)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_setTupleElement + (JNIEnv *, jobject, jlong, jint, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasNbBool diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 0b93f4bbbe..a5bcee7cf4 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -305,6 +305,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList(JNIEnv return (jlong) result; } +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateTuple(JNIEnv *env, jobject _, jint size) { + return (jlong) PyTuple_New(size); +} + +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_setTupleElement(JNIEnv *env, jobject _, jlong tuple_ref, jint index, jlong elem_ref) { + PyTuple_SetItem((PyObject *) tuple_ref, index, (PyObject *) elem_ref); +} + #define QUERY_TYPE_HAS_PREFIX \ if (Py_TYPE(type_ref) != &PyType_Type) \ return -1; \ diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index e0d9b3a694..e5ceab40e5 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -35,6 +35,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "unpack", + "nargs": 2, + "c_arg_types": ["PyObject *", "int"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jint"], + "java_return_type": "void", + "argument_converters": ["object_converter", "int_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "is_op", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 7d60da4cd6..080f25d9e4 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -164,6 +164,11 @@ "java_name": "handlerForkResult", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Z)V" }, + { + "c_name": "unpack", + "java_name": "handlerUnpack", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;I)V" + }, { "c_name": "is_op", "java_name": "handlerIsOp", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 950f841fee..28a7353289 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -56,6 +56,8 @@ public class CPythonAdapter { public static native long getFunctionFromFrame(long frameRef); public native long allocateVirtualObject(VirtualPythonObject object); public native long makeList(long[] elements); + public native long allocateTuple(int size); + public native void setTupleElement(long tuple, int index, long element); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); public native int typeHasNbAdd(long type); @@ -128,6 +130,10 @@ public static void handlerForkResult(ConcolicRunContext context, SymbolForCPytho handlerForkResultKt(context, cond, result); } + public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython iterable, int count) { + withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); + } + public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index 31326a4873..5d22f76f84 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -31,4 +31,6 @@ object RangeIteratorContents { object TupleIteratorContents { val tuple = ContentOfType("tuple_of_tuple_iterator") val index = ContentOfType("index_of_tuple_iterator") -} \ No newline at end of file +} + +object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt new file mode 100644 index 0000000000..27ce9ecc47 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -0,0 +1,52 @@ +package org.usvm.language.types + +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.api.readField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.language.TimeOfCreation +import org.usvm.machine.UPythonContext +import org.usvm.machine.model.PyModel +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +abstract class ElementConstraint { + abstract fun applyUninterpreted( + array: UninterpretedSymbolicPythonObject, + element: UninterpretedSymbolicPythonObject, + ctx: ConcolicRunContext + ): UBoolExpr + + abstract fun applyInterpreted( + array: UConcreteHeapRef, + element: UConcreteHeapRef, + model: PyModel, + ctx: UPythonContext + ): Boolean +} + +object NonRecursiveConstraint: ElementConstraint() { + override fun applyUninterpreted( + array: UninterpretedSymbolicPythonObject, + element: UninterpretedSymbolicPythonObject, + ctx: ConcolicRunContext + ): UBoolExpr = with(ctx.ctx) { + mkIteNoSimplify( + mkHeapRefEq(element.address, nullRef), + trueExpr, + element.getTimeOfCreation(ctx) lt array.getTimeOfCreation(ctx) + ) + } + + override fun applyInterpreted( + array: UConcreteHeapRef, + element: UConcreteHeapRef, + model: PyModel, + ctx: UPythonContext + ): Boolean = with(ctx) { + if (element.address == 0) + return true + (model.readField(element, TimeOfCreation, intSort) lt model.readField(array, TimeOfCreation, intSort)).isTrue + } + +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 86346ad4da..b99eb5fde7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -41,12 +41,28 @@ abstract class PythonTypeSystem: UTypeSystem { protected var allConcreteTypes: List = emptyList() protected val addressToConcreteType = mutableMapOf() private val concreteTypeToAddress = mutableMapOf() - protected fun addType(getter: () -> PythonObject): ConcretePythonType { - val address = getter() - require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") - val type = ConcretePythonType(this, ConcretePythonInterpreter.getNameOfPythonType(address), getter) + private fun addType(type: ConcretePythonType, address: PythonObject) { addressToConcreteType[address] = type concreteTypeToAddress[type] = address + } + protected fun addPrimitiveType(isHidden: Boolean, getter: () -> PythonObject): ConcretePythonType { + val address = getter() + require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") + val type = PrimitiveConcretePythonType(this, ConcretePythonInterpreter.getNameOfPythonType(address), isHidden, getter) + addType(type, address) + return type + } + + private fun addArrayLikeType(constraints: Set, getter: () -> PythonObject): ArrayLikeConcretePythonType { + val address = getter() + require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") + val type = ArrayLikeConcretePythonType( + constraints, + this, + ConcretePythonInterpreter.getNameOfPythonType(address), + getter + ) + addType(type, address) return type } @@ -69,28 +85,25 @@ abstract class PythonTypeSystem: UTypeSystem { return USupportTypeStream.from(this, PythonAnyType) } - private fun createConcreteTypeByName(name: String): ConcretePythonType = - addType { ConcretePythonInterpreter.eval(emptyNamespace, name) } + private fun createConcreteTypeByName(name: String, isHidden: Boolean = false): ConcretePythonType = + addPrimitiveType(isHidden) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + + private fun createArrayLikeTypeByName(name: String, constraints: Set): ArrayLikeConcretePythonType = + addArrayLikeType(constraints) { ConcretePythonInterpreter.eval(emptyNamespace, name) } val pythonInt = createConcreteTypeByName("int") val pythonBool = createConcreteTypeByName("bool") val pythonObjectType = createConcreteTypeByName("object") val pythonNoneType = createConcreteTypeByName("type(None)") - val pythonList = createConcreteTypeByName("list") - val pythonListIteratorType = createConcreteTypeByName("type(iter([]))") - val pythonTuple = createConcreteTypeByName("tuple") - val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))") - val pythonRange = createConcreteTypeByName("range") - val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())") - val pythonStr = createConcreteTypeByName("str") - - protected val basicTypes: List = listOf( - pythonInt, - pythonBool, - pythonObjectType, - pythonNoneType, - pythonList - ) + val pythonList = createArrayLikeTypeByName("list", emptySet()) + val pythonListIteratorType = createConcreteTypeByName("type(iter([]))", isHidden = true) + val pythonTuple = createArrayLikeTypeByName("tuple", setOf(NonRecursiveConstraint)) + val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))", isHidden = true) + val pythonRange = createConcreteTypeByName("range", isHidden = true) + val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())", isHidden = true) + val pythonStr = createConcreteTypeByName("str", isHidden = true) + + protected val basicTypes: List = concreteTypeToAddress.keys.filter { !it.isHidden } protected val basicTypeRefs: List = basicTypes.map(::addressOfConcreteType) fun restart() { @@ -150,7 +163,7 @@ class PythonTypeSystemWithMypyInfo( return@mapNotNull null } - addType(refGetter).also { concreteType -> + addPrimitiveType(isHidden = false, refGetter).also { concreteType -> utTypeOfConcretePythonType[concreteType] = utType } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt index 81490807a9..7be81c8b18 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt @@ -10,9 +10,10 @@ abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } -class ConcretePythonType internal constructor( +sealed class ConcretePythonType( val owner: PythonTypeSystem, val typeName: String, + val isHidden: Boolean = false, val addressGetter: () -> PythonObject ): PythonType() { val asObject: PythonObject @@ -21,4 +22,18 @@ class ConcretePythonType internal constructor( override fun toString(): String { return "ConcretePythonType(\"$typeName\")" } -} \ No newline at end of file +} + +class PrimitiveConcretePythonType( + owner: PythonTypeSystem, + typeName: String, + isHidden: Boolean = false, + addressGetter: () -> PythonObject +): ConcretePythonType(owner, typeName, isHidden, addressGetter) + +class ArrayLikeConcretePythonType( + val elementConstraints: Set, + owner: PythonTypeSystem, + typeName: String, + addressGetter: () -> PythonObject +): ConcretePythonType(owner, typeName, false, addressGetter) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 14b60c8d82..6aed02cb2c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -6,9 +6,9 @@ object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true } -data class ArrayType(val typeSystem: PythonTypeSystem): VirtualPythonType() { +object ArrayType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean { - return type == this || type == typeSystem.pythonList || type == typeSystem.pythonTuple + return type == this || type is ArrayLikeConcretePythonType } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 96278f48cc..bc226e9cf0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -12,14 +12,14 @@ import org.usvm.language.types.* import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.types.prioritization.SymbolTypeTree import org.usvm.machine.types.prioritization.prioritizeTypes -import org.usvm.machine.utils.PyModel +import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory import org.usvm.model.UModelBase import org.usvm.types.UTypeStream import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER class PythonExecutionState( - private val ctx: UPythonContext, + val ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, @@ -56,8 +56,8 @@ class PythonExecutionState( } override val isExceptional: Boolean = false // TODO val meta = PythonExecutionStateMeta() - val pyModel: PyModel - get() = PyModel(models.first()) + val pyModel: PyModelWrapper + get() = PyModelWrapper(models.first()) fun buildPathAsList(): List> = reversedPath.asSequence().toList().reversed() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 8cdc083733..ca6daef3b7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -6,6 +6,7 @@ import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction @@ -71,7 +72,7 @@ class PythonMachine( symbols, pathConstraints, memory, - solverRes.model, + solverRes.model.toPyModel(ctx, typeSystem), typeSystem, preAllocatedObjects ).also { @@ -80,7 +81,7 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(ctx, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 83ccbafc26..f8aebb428b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -1,18 +1,19 @@ package org.usvm.machine import mu.KLogging -import org.usvm.UContext import org.usvm.UPathSelector import org.usvm.fork import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.MockType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.model.toPyModel import org.usvm.types.first import kotlin.random.Random class PythonVirtualPathSelector( - private val ctx: UContext, + private val ctx: UPythonContext, + private val typeSystem: PythonTypeSystem, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector @@ -56,6 +57,7 @@ class PythonVirtualPathSelector( if (forkResult.negativeState == null) return null val stateWithConcreteType = forkResult.negativeState!! + stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem)) if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 07de66f2bd..55a781c88a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -151,6 +151,14 @@ object ConcretePythonInterpreter { return PythonObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) } + fun allocateTuple(size: Int): PythonObject { + return PythonObject(pythonAdapter.allocateTuple(size)) + } + + fun setTupleElement(tuple: PythonObject, index: Int, elem: PythonObject) { + pythonAdapter.setTupleElement(tuple.address, index, elem.address) + } + fun getIterableElements(iterable: PythonObject): List { val addresses = pythonAdapter.getIterableElements(iterable.address) return addresses.map { PythonObject(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 62f879cd62..048cad5a49 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -11,9 +11,9 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* -import org.usvm.machine.interpreters.operations.myAssertOnState import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException +import org.usvm.machine.model.PyModel import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.utils.PythonObjectSerializer @@ -78,6 +78,9 @@ class USVMPythonInterpreter( try { logger.debug("Step on state: {}", state) logger.debug("Source of the state: {}", state.meta.generatedFrom) + require(state.pyModel.uModel is PyModel) { + "Did not call .toPyModel on model from solver" + } val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols symbols.forEach { validator.check(it.obj) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index cdf0dd2899..3d0b323f73 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -69,11 +69,10 @@ fun createIterable( return null val addresses = elements.map { it.address }.asSequence() val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) val size = elements.size with (ctx.ctx) { - val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(arrayType, addressSort, addresses) - ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), arrayType) + val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(ArrayType, addressSort, addresses) + ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType) ctx.curState!!.memory.types.allocate(iterableAddress.address, type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) result.addSupertypeSoft(ctx, type) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index f5f58a6632..f5e5829687 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -7,6 +7,8 @@ import org.usvm.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PythonExecutionState +import org.usvm.machine.model.PyModel +import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.getToBoolValue import org.usvm.machine.utils.getTypeStreamForDelayedFork @@ -24,6 +26,11 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } else { error("Should not be reachable") } + val applyToPyModel = { state: PythonExecutionState -> + state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem)) + } + forkResult.positiveState?.let(applyToPyModel) + forkResult.negativeState?.let(applyToPyModel) if (forkResult.negativeState != oldCurState) forkResult.negativeState?.let { ctx.forkedStates.add(it) @@ -33,8 +40,10 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { fun myAssertOnState(state: PythonExecutionState, cond: UExpr): PythonExecutionState? { val forkResult = forkMulti(state, listOf(cond)).single() - if (forkResult != null) + if (forkResult != null) { require(forkResult == state) + forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem)) + } return forkResult } @@ -43,6 +52,7 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) return val oldModel = ctx.curState!!.pyModel + require(oldModel.uModel is PyModel) val forkResult = myAssertOnState(ctx.curState!!, cond) if (forkResult == null) ctx.curState!!.meta.modelDied = true diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 3bd08fa352..4f0f956e41 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -17,10 +17,9 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli if (context.curState == null) return null val typeSystem = context.typeSystem - val arrayType = ArrayType(typeSystem) if (list.getTypeIfDefined(context) != typeSystem.pythonList) return null - val listSize = context.curState!!.memory.readArrayLength(list.address, arrayType) + val listSize = context.curState!!.memory.readArrayLength(list.address, ArrayType) return constructInt(context, listSize) } @@ -29,11 +28,10 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt return null with (ctx.ctx) { val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) index.addSupertypeSoft(ctx, typeSystem.pythonInt) list.addSupertypeSoft(ctx, typeSystem.pythonList) - val listSize = ctx.curState!!.memory.readArrayLength(list.address, arrayType) + val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType) val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) @@ -46,11 +44,11 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt myFork(ctx, positiveIndex) return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { - UArrayIndexLValue(addressSort, list.address, indexValue, arrayType) + UArrayIndexLValue(addressSort, list.address, indexValue, ArrayType) } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) - UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), arrayType) + UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), ArrayType) } } } @@ -80,14 +78,12 @@ private fun listConcat( right: UHeapRef, dst: UHeapRef ) { - val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) with (ctx.ctx) { - val leftSize = ctx.curState!!.memory.readArrayLength(left, arrayType) - val rightSize = ctx.curState!!.memory.readArrayLength(right, arrayType) - ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), arrayType) - ctx.curState!!.memory.memcpy(left, dst, arrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) - ctx.curState!!.memory.memcpy(right, dst, arrayType, addressSort, mkIntNum(0), leftSize, rightSize) + val leftSize = ctx.curState!!.memory.readArrayLength(left, ArrayType) + val rightSize = ctx.curState!!.memory.readArrayLength(right, ArrayType) + ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), ArrayType) + ctx.curState!!.memory.memcpy(left, dst, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) + ctx.curState!!.memory.memcpy(right, dst, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) } } @@ -104,11 +100,10 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth if (ctx.curState == null) return null val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val result = ctx.curState!!.memory.allocateArray(arrayType, mkIntNum(0)) + val result = ctx.curState!!.memory.allocateArray(ArrayType, mkIntNum(0)) listConcat(ctx, left.address, right.address, result) return UninterpretedSymbolicPythonObject(result, typeSystem) } @@ -128,13 +123,12 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth if (ctx.curState == null) return null val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val currentSize = ctx.curState!!.memory.readArrayLength(list.address, arrayType) - ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, arrayType, addressSort, elem.address, trueExpr) - ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), arrayType) + val currentSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType) + ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, ArrayType, addressSort, elem.address, trueExpr) + ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType) return list } } @@ -152,15 +146,14 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy return null val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) val (listAddress, index) = iterator.getListIteratorContent(ctx) - val listSize = ctx.curState!!.memory.readArrayLength(listAddress, arrayType) + val listSize = ctx.curState!!.memory.readArrayLength(listAddress, ArrayType) val indexCond = index lt listSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseListIteratorCounter(ctx) - val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, arrayType, addressSort) + val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, ArrayType, addressSort) return UninterpretedSymbolicPythonObject(elemAddr, typeSystem) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index 6af6b79131..2141322aba 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -1,7 +1,6 @@ package org.usvm.machine.interpreters.operations import org.usvm.* -import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType @@ -30,13 +29,24 @@ fun handlerTupleIteratorNextKt( if (ctx.curState == null) return null val typeSystem = ctx.typeSystem - val arrayType = ArrayType(typeSystem) val (tuple, index) = iterator.getTupleIteratorContent(ctx) - val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, arrayType) + val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, ArrayType) val indexCond = index lt tupleSize if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseTupleIteratorCounter(ctx) - val address = ctx.curState!!.memory.readArrayIndex(tuple, index, arrayType, addressSort) - return UninterpretedSymbolicPythonObject(address, typeSystem) + val tupleObject = UninterpretedSymbolicPythonObject(tuple, typeSystem) + return tupleObject.readElement(ctx, index) +} + +fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPythonObject, count: Int) = with(ctx.ctx) { + if (ctx.curState == null) + return + val typeSystem = ctx.typeSystem + if (iterable.getTypeIfDefined(ctx) != typeSystem.pythonTuple) { + myFork(ctx, iterable.evalIs(ctx, typeSystem.pythonTuple)) + return + } + val tupleSize = ctx.curState!!.memory.readArrayLength(iterable.address, ArrayType) + myFork(ctx, tupleSize eq mkIntNum(count)) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index fbbbb2351f..064e365e54 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -2,13 +2,13 @@ package org.usvm.machine.interpreters.operations import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.* import org.usvm.language.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.utils.PyModel +import org.usvm.machine.utils.PyModelWrapper import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { @@ -25,12 +25,14 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole context.ctx, oldModel, mockSymbol, + context.typeSystem, falseObject as UConcreteHeapRef ), constructModelWithNewMockEvaluator( context.ctx, oldModel, mockSymbol, + context.typeSystem, trueObject as UConcreteHeapRef ) ) @@ -65,7 +67,7 @@ fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int private fun internalVirtualCallKt( context: ConcolicRunContext, - customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } + customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } ): Pair = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation context.curState ?: throw UnregisteredVirtualOperation @@ -83,7 +85,7 @@ private fun internalVirtualCallKt( val customNewModels = customNewModelsCreation(mockSymbol) val (newModel, constraint) = if (customNewModels.isEmpty()) - constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol) + constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol, context.typeSystem) else customNewModels.first() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index eee4283dbf..4096a58a7d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -15,6 +15,7 @@ data class NextInstruction( data class PythonFunctionCall(val code: PythonObject): SymbolicHandlerEventParameters() data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() +data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class RangeCreation(val start: SymbolForCPython, val stop: SymbolForCPython, val step: SymbolForCPython): SymbolicHandlerEventParameters() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt new file mode 100644 index 0000000000..dec2300bf1 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -0,0 +1,82 @@ +package org.usvm.machine.model + +import org.usvm.UAddressSort +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.USort +import org.usvm.collection.array.UArrayIndexLValue +import org.usvm.collection.array.UArrayRegionId +import org.usvm.collection.array.USymbolicArrayIndex +import org.usvm.language.types.ArrayLikeConcretePythonType +import org.usvm.language.types.ArrayType +import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.UPythonContext +import org.usvm.machine.utils.PyModelWrapper +import org.usvm.memory.UMemoryRegionId +import org.usvm.memory.UReadOnlyMemoryRegion +import org.usvm.model.UModelBase +import org.usvm.uctx + + +class PyModel( + val ctx: UPythonContext, + private val underlyingModel: UModelBase, + val typeSystem: PythonTypeSystem +) : UModelBase( + ctx, + underlyingModel.stack, + underlyingModel.types, + underlyingModel.mocker, + underlyingModel.regions, + underlyingModel.nullRef +) { + private inner class WrappedRegion( + val region: UReadOnlyMemoryRegion, UAddressSort>, + val model: PyModel, + val ctx: UPythonContext + ) : UReadOnlyMemoryRegion, UAddressSort> { + override fun read(key: UArrayIndexLValue): UExpr { + val underlyingResult = region.read(key) + val array = key.ref as UConcreteHeapRef + if (array.address > 0) // allocated object + return underlyingResult + val arrayType = PyModelWrapper(model).getConcreteType(array) + require(arrayType != null && arrayType is ArrayLikeConcretePythonType) + val constraints = arrayType.elementConstraints + if (constraints.all { it.applyInterpreted(array, underlyingResult as UConcreteHeapRef, model, ctx) }) { + return underlyingResult + } + return nullRef + } + + } + + @Suppress("UNCHECKED_CAST") + override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { + if (regionId is UArrayRegionId<*, *> && + regionId.sort == regionId.sort.uctx.addressSort && + regionId.arrayType == ArrayType + ) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> + return WrappedRegion(region, this, ctx) as UReadOnlyMemoryRegion + } + return super.getRegion(regionId) + } + + override fun equals(other: Any?): Boolean { + if (other !is PyModel) + return false + return underlyingModel == other.underlyingModel + } + + override fun hashCode(): Int { + return underlyingModel.hashCode() + } +} + +fun UModelBase.toPyModel(ctx: UPythonContext, typeSystem: PythonTypeSystem): PyModel { + if (this is PyModel) + return this + return PyModel(ctx, this, typeSystem) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt similarity index 79% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index fb032074c0..8188d74105 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMockEvaluator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -1,9 +1,9 @@ -package org.usvm.machine +package org.usvm.machine.model import org.usvm.* -import org.usvm.language.types.PythonType -import org.usvm.machine.utils.PyModel -import org.usvm.model.UModel +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.UPythonContext +import org.usvm.machine.utils.PyModelWrapper import org.usvm.model.UModelBase class PythonMockEvaluator( @@ -27,10 +27,11 @@ class PythonMockEvaluator( fun constructModelWithNewMockEvaluator( ctx: UPythonContext, - oldModel: PyModel, + oldModel: PyModelWrapper, mockSymbol: UMockSymbol, + typeSystem: PythonTypeSystem, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null -): Pair { +): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) val newModel = UModelBase( ctx, @@ -39,7 +40,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.uModel.regions, oldModel.uModel.nullRef - ) + ).toPyModel(ctx, typeSystem) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) - return PyModel(newModel) to constraint + return PyModelWrapper(newModel) to constraint } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 69cf819253..705823007a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -19,12 +19,11 @@ class ConverterToPythonObject( private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder ) { - private val arrayType = ArrayType(typeSystem) private val defaultValueProvider = DefaultValueProvider(typeSystem) val forcedConcreteTypes = mutableMapOf() private val constructedObjects = mutableMapOf() private val virtualObjects = mutableSetOf>() - private var numberOfGeneratedVirtualObjects: Int = 0 + private var numberOfUsagesOfVirtualObjects: Int = 0 init { restart() } @@ -34,11 +33,11 @@ class ConverterToPythonObject( val nullRef = modelHolder.model.eval(ctx.nullRef) as UConcreteHeapRef val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder, typeSystem)) constructedObjects[ctx.nullRef] = defaultObject - numberOfGeneratedVirtualObjects = 0 + numberOfUsagesOfVirtualObjects = 0 } fun getPythonVirtualObjects(): Collection = virtualObjects.map { it.second } fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() - fun numberOfVirtualObjectUsages(): Int = numberOfGeneratedVirtualObjects + fun numberOfVirtualObjectUsages(): Int = numberOfUsagesOfVirtualObjects fun convert(obj: InterpretedInputSymbolicPythonObject): PythonObject { require(obj.modelHolder == modelHolder) @@ -51,6 +50,7 @@ class ConverterToPythonObject( typeSystem.pythonBool -> convertBool(obj) typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") typeSystem.pythonList -> convertList(obj) + typeSystem.pythonTuple -> convertTuple(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(type) @@ -62,6 +62,25 @@ class ConverterToPythonObject( return result } + private fun constructArrayContents( + obj: InterpretedInputSymbolicPythonObject, + ): List { + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType) as KInt32NumExpr + return List(size.value) { index -> + val indexExpr = ctx.mkSizeExpr(index) + val element = obj.modelHolder.model.uModel.readArrayIndex( + obj.address, + indexExpr, + ArrayType, + ctx.addressSort + ) as UConcreteHeapRef + if (element.address == 0 && forcedConcreteTypes[element] == null) + numberOfUsagesOfVirtualObjects += 1 + val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) + convert(elemInterpretedObject) + } + } + private fun constructFromDefaultConstructor(type: ConcretePythonType): PythonObject { require(type.owner == typeSystem) return ConcretePythonInterpreter.callStandardNew(type.asObject) @@ -72,7 +91,7 @@ class ConverterToPythonObject( if (default != null) return default - numberOfGeneratedVirtualObjects += 1 + numberOfUsagesOfVirtualObjects += 1 val virtual = VirtualPythonObject(obj) val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) virtualObjects.add(virtual to result) @@ -90,15 +109,9 @@ class ConverterToPythonObject( } private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, arrayType) as KInt32NumExpr val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList - val listOfPythonObjects = List(size.value) { index -> - val indexExpr = mkSizeExpr(index) - val element = obj.modelHolder.model.uModel.readArrayIndex(obj.address, indexExpr, arrayType, addressSort) as UConcreteHeapRef - val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) - convert(elemInterpretedObject) - } + val listOfPythonObjects = constructArrayContents(obj) val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, resultList, "x") listOfPythonObjects.forEach { @@ -108,4 +121,15 @@ class ConverterToPythonObject( ConcretePythonInterpreter.decref(namespace) return resultList } + + private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType) as KInt32NumExpr + val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) + constructedObjects[obj.address] = resultTuple + val listOfPythonObjects = constructArrayContents(obj) + listOfPythonObjects.forEachIndexed { index, pythonObject -> + ConcretePythonInterpreter.setTupleElement(resultTuple, index, pythonObject) + } + resultTuple + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index 26aac8170b..b424557236 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -6,6 +6,7 @@ import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType +import org.usvm.language.types.MockType import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert @@ -20,24 +21,45 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { checked.add(concrete.address) when (concrete.getConcreteType(concolicRunContext)) { typeSystem.pythonList -> checkList(symbol, modelHolder) + typeSystem.pythonTuple -> checkTuple(symbol, modelHolder) + else -> Unit } } private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) - val arrayType = ArrayType(concolicRunContext.typeSystem) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, arrayType) + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> val element = concolicRunContext.curState!!.memory.readArrayIndex( symbolic.address, mkSizeExpr(index), - arrayType, + ArrayType, addressSort ) val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) check(elemObj) } } + + private fun checkTuple(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { + require(concolicRunContext.curState != null) + val time = symbolic.getTimeOfCreation(concolicRunContext) + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) + myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) + val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr + for (index in 0 until size.value) { + val element = concolicRunContext.curState!!.memory.readArrayIndex(symbolic.address, mkSizeExpr(index), ArrayType, addressSort) + val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) + val interpretedElem = interpretSymbolicPythonObject(elemObj, modelHolder) + if (interpretedElem.getFirstType(concolicRunContext) !is MockType) { + val elemTime = elemObj.getTimeOfCreation(concolicRunContext) + val concreteTime = modelHolder.model.eval(time).toString().toInt() + val concreteElemTime = modelHolder.model.eval(elemTime).toString().toInt() + require(concreteTime > concreteElemTime) + } + check(elemObj) + } + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index a84504c60f..2597143557 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -68,7 +68,7 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U return when (getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType(typeSystem)) gt mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType) gt mkIntNum(0) else -> null } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 6ccd003393..e51e7fd254 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -1,9 +1,13 @@ package org.usvm.machine.symbolicobjects +import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.api.readArrayIndex +import org.usvm.api.readField import org.usvm.api.typeStreamOf import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.TimeOfCreation import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.types.* @@ -90,6 +94,31 @@ class UninterpretedSymbolicPythonObject( val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) return interpreted.address.address == 0 } + + fun getTimeOfCreation(ctx: ConcolicRunContext): UExpr { // must not be called on nullref + require(ctx.curState != null) + return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) + } + + fun readElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) + val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) + if (isAllocatedObject(ctx)) + return elem + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) + } + myAssert(ctx, cond) + return elem + } + + private fun isAllocatedObject(ctx: ConcolicRunContext): Boolean { + val evaluated = ctx.modelHolder.model.eval(address) as UConcreteHeapRef + return evaluated.address > 0 + } } sealed class InterpretedSymbolicPythonObject( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt similarity index 89% rename from usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt rename to usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt index 794aa14970..f8eff345c3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt @@ -11,7 +11,7 @@ import org.usvm.language.types.MockType import org.usvm.machine.PythonExecutionState import org.usvm.model.UModelBase -class PyModel(val uModel: UModelBase) { +class PyModelWrapper(val uModel: UModelBase) { fun eval(expr: UExpr): KInterpretedValue = uModel.eval(expr) as KInterpretedValue @@ -19,7 +19,7 @@ class PyModel(val uModel: UModelBase) { uModel.readField(ref, field, sort) as KInterpretedValue override fun equals(other: Any?): Boolean { - if (other !is PyModel) + if (other !is PyModelWrapper) return false return uModel == other.uModel } @@ -48,9 +48,9 @@ class PyModel(val uModel: UModelBase) { } } -class PyModelHolder(var model: PyModel) +class PyModelHolder(var model: PyModelWrapper) -fun substituteModel(state: PythonExecutionState, newModel: PyModel, constraint: UBoolExpr, ctx: ConcolicRunContext) { +fun substituteModel(state: PythonExecutionState, newModel: PyModelWrapper, constraint: UBoolExpr, ctx: ConcolicRunContext) { state.models = listOf(newModel.uModel) state.pathConstraints += constraint ctx.modelHolder.model = newModel diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index f4f790fadb..3b23460918 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -8,7 +8,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.types.UTypeStream -fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = +fun getLeafHeapRef(ref: UHeapRef, model: PyModelWrapper): UHeapRef = when (ref) { is UConcreteHeapRef -> ref is UNullRef -> ref diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index dcc6f6fb77..a677165411 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,25 +23,21 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - // val config = buildProjectRunConfig() + val config = buildProjectRunConfig() // val config = buildSampleRunConfig() - // analyze(config) + analyze(config) // checkConcolicAndConcrete(config) - - ConcretePythonInterpreter.concreteRun( - emptyNamespace, - """ - import sys - print("sys.path:", sys.path, flush=True) - """.trimIndent() - ) } private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - return "abcde" + t = 1, 2, 3, x + res = 0 + for y in t: + res += y + assert res == 10 """.trimIndent() ) @@ -59,21 +55,26 @@ private fun buildProjectRunConfig(): RunConfig { val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) val mypyDir = MypyBuildDirectory(File(mypyRoot), setOf(projectPath)) - buildMypyInfo("python3.10", files.map { it.canonicalPath }, modules, mypyDir) + buildMypyInfo( + "/home/tochilinak/Documents/projects/utbot/usvm/usvm-python/cpythonadapter/build/cpython_build/bin/python3", + files.map { it.canonicalPath }, + modules, + mypyDir + ) val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val ignoreFunctions = listOf( - "circle_sort", // NoSuchElement + /*"circle_sort", // NoSuchElement "cocktail_shaker_sort", // slow (why?) "quick_sort_lomuto_partition", // NoSuchElement "oe_process", // blocks "merge_insertion_sort", // slow (why?) - "msd_radix_sort_inplace" // NoSuchElement + "msd_radix_sort_inplace" // NoSuchElement*/ ) val ignoreModules = listOf( - "intro_sort", // NoSuchElement - "heap_sort" // NoSuchElement + /*"intro_sort", // NoSuchElement + "heap_sort" // NoSuchElement*/ ) val functions = modules.flatMap { module -> if (module in ignoreModules) @@ -114,11 +115,15 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { runner.timeoutPerRunMs = 10_000 functions.forEach { function -> println("Running ${function.tag}...") - when (val argsNum = function.numberOfArguments) { - 0 -> runner.check0NoPredicates(function) - 1 -> runner.check1NoPredicates(function) - 2 -> runner.check2NoPredicates(function) - else -> println("${function.tag} ignored because it has $argsNum arguments") + try { + when (val argsNum = function.numberOfArguments) { + 0 -> runner.check0NoPredicates(function) + 1 -> runner.check1NoPredicates(function) + 2 -> runner.check2NoPredicates(function) + else -> println("${function.tag} ignored because it has $argsNum arguments") + } + } catch (e: IllegalOperationException) { + println("Illegal operation while analyzing: ${e.operation}\n") } } } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt index b08cd90719..60fe330ba4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt @@ -34,4 +34,18 @@ class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachi ) ) } + + @Test + fun testInputListOfPairs() { + check1WithConcreteRun( + constructFunction("input_list_of_pairs", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTuple.py b/usvm-python/src/test/resources/samples/SimpleTuple.py index a38ef23b43..dd173af533 100644 --- a/usvm-python/src/test/resources/samples/SimpleTuple.py +++ b/usvm-python/src/test/resources/samples/SimpleTuple.py @@ -3,11 +3,17 @@ def tuple_construct_and_iter(x): res = 0 for y in t: res += y - assert res == 10 def tuple_unpack(x): t = 1, x a, b = t - assert a == b \ No newline at end of file + assert a == b + + +def input_list_of_pairs(x): + result = 0 + for a, b in x: + result += a - b + assert result == 12345 \ No newline at end of file From 199090164104981e1da57ffbd11c6d9be0776ca0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 5 Sep 2023 18:47:43 +0300 Subject: [PATCH 088/344] Fixes in work with strings --- .../c/org_usvm_interpreter_CPythonAdapter.c | 3 +- .../org/usvm/language/types/TypeSystem.kt | 10 ++++-- .../org/usvm/machine/PythonExecutionState.kt | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../ConverterToPythonObject.kt | 7 ++++ .../symbolicobjects/PreallocatedObjects.kt | 35 ++++++++++++++----- usvm-python/src/test/kotlin/manualTest.kt | 15 ++++---- .../org/usvm/samples/SimpleExampleTest.kt | 15 ++++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 4 ++- .../test/resources/samples/SimpleExample.py | 8 ++++- 10 files changed, 77 insertions(+), 24 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index a5bcee7cf4..4fa5e8f0d0 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -242,7 +242,8 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { PyObject *repr = PyObject_Repr((PyObject *) object_ref); if (!repr) { - PyErr_Clear(); + PyErr_Print(); + // PyErr_Clear(); return 0; } const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index b99eb5fde7..01a7bc2cfd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -101,10 +101,14 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))", isHidden = true) val pythonRange = createConcreteTypeByName("range", isHidden = true) val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())", isHidden = true) - val pythonStr = createConcreteTypeByName("str", isHidden = true) + val pythonStr = createConcreteTypeByName("str") - protected val basicTypes: List = concreteTypeToAddress.keys.filter { !it.isHidden } - protected val basicTypeRefs: List = basicTypes.map(::addressOfConcreteType) + protected val basicTypes: List by lazy { + concreteTypeToAddress.keys.filter { !it.isHidden } + } + protected val basicTypeRefs: List by lazy { + basicTypes.map(::addressOfConcreteType) + } fun restart() { concreteTypeToAddress.keys.forEach { type -> diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index bc226e9cf0..055f0a37ec 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -45,7 +45,7 @@ class PythonExecutionState( newMemory, pyModel.uModel, typeSystem, - preAllocatedObjects, + preAllocatedObjects.clone(), possibleTypesForNull, callStack, pathLocation, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index ca6daef3b7..98a4967300 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -62,7 +62,7 @@ class PythonMachine( val symbols = target.signature.mapIndexed { index, type -> SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem)) } - val preAllocatedObjects = PreallocatedObjects(ctx, memory, pathConstraints, typeSystem) + val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) val solverRes = solver.check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 705823007a..d6f3110d88 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -24,6 +24,7 @@ class ConverterToPythonObject( private val constructedObjects = mutableMapOf() private val virtualObjects = mutableSetOf>() private var numberOfUsagesOfVirtualObjects: Int = 0 + private var strNumber = 0 init { restart() } @@ -34,6 +35,7 @@ class ConverterToPythonObject( val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder, typeSystem)) constructedObjects[ctx.nullRef] = defaultObject numberOfUsagesOfVirtualObjects = 0 + strNumber = 0 } fun getPythonVirtualObjects(): Collection = virtualObjects.map { it.second } fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() @@ -51,6 +53,7 @@ class ConverterToPythonObject( typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") typeSystem.pythonList -> convertList(obj) typeSystem.pythonTuple -> convertTuple(obj) + typeSystem.pythonStr -> convertString() else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(type) @@ -62,6 +65,10 @@ class ConverterToPythonObject( return result } + private fun convertString(): PythonObject { + return ConcretePythonInterpreter.eval(emptyNamespace, "'${strNumber++}'") + } + private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, ): List { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 8576abdf69..b3efb92ae6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -9,15 +9,11 @@ import org.usvm.machine.UPythonContext import org.usvm.memory.UMemory class PreallocatedObjects( - ctx: UPythonContext, - initialMemory: UMemory, - initialPathConstraints: UPathConstraints, - typeSystem: PythonTypeSystem + val noneObject: UninterpretedSymbolicPythonObject, + val trueObject: UninterpretedSymbolicPythonObject, + val falseObject: UninterpretedSymbolicPythonObject, + private val concreteStrToSymbol: MutableMap ) { - val noneObject = constructEmptyObject(initialMemory, typeSystem, typeSystem.pythonNoneType) - val trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr) - val falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr) - private val concreteStrToSymbol = mutableMapOf() fun allocateStr(ctx: ConcolicRunContext, string: String): UninterpretedSymbolicPythonObject { require(ctx.curState != null) @@ -28,4 +24,27 @@ class PreallocatedObjects( concreteStrToSymbol[string] = result return result } + + fun clone(): PreallocatedObjects = + PreallocatedObjects( + noneObject, + trueObject, + falseObject, + concreteStrToSymbol.toMutableMap() + ) + + companion object { + fun initialize( + ctx: UPythonContext, + initialMemory: UMemory, + initialPathConstraints: UPathConstraints, + typeSystem: PythonTypeSystem + ): PreallocatedObjects = + PreallocatedObjects( + noneObject = constructEmptyObject(initialMemory, typeSystem, typeSystem.pythonNoneType), + trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), + falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), + concreteStrToSymbol = mutableMapOf() + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a677165411..01d3a10607 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -33,11 +33,9 @@ private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - t = 1, 2, 3, x - res = 0 - for y in t: - res += y - assert res == 10 + if isinstance(x, str): + return 1 + return 2 """.trimIndent() ) @@ -50,7 +48,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/sorts" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -140,9 +138,10 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 30, + maxIterations = 60, allowPathDiversion = true, - maxInstructions = 5_000 + maxInstructions = 10_000, + timeoutMs = 10_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index a3e840451a..4512bfcaef 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.types.PythonAnyType import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq @@ -204,4 +205,18 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { fun testRange6() { testRange("range_6") } + + @Test + fun testSimpleString() { + check1WithConcreteRun( + constructFunction("simple_str", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 5d88beb0fb..fe50ad96f2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -137,8 +137,9 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testMultiplyAndCompare() { + allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 70U) + options = UMachineOptions(stepLimit = 100U) check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -151,6 +152,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn ) ) options = oldOptions + allowPathDiversions = false } @Test diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 3bcdd1b8c6..989f94171a 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -133,4 +133,10 @@ def settrace_usage(): def remove_tracing(): - sys.settrace(None) \ No newline at end of file + sys.settrace(None) + + +def simple_str(x): + if isinstance(x, str): + return 1 + return 2 \ No newline at end of file From 494356daff24322480566c394067ac4a387d9729 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 6 Sep 2023 11:42:11 +0300 Subject: [PATCH 089/344] Added none_check --- usvm-python/cpythonadapter/cpython | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 6 ++-- .../src/main/json/adapter_method_defs.json | 12 ++++++++ .../src/main/json/handler_defs.json | 5 ++++ .../org/usvm/interpreter/CPythonAdapter.java | 4 +++ .../machine/interpreters/operations/Common.kt | 4 +++ usvm-python/src/test/kotlin/manualTest.kt | 7 ++--- .../org/usvm/samples/SimpleExampleTest.kt | 28 +++++++++++++++++++ .../test/resources/samples/SimpleExample.py | 10 ++++++- 9 files changed, 69 insertions(+), 9 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 6baa4de314..fe798a2cf4 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 6baa4de31477b6d0a1c67acfe8488c665c05a5a1 +Subproject commit fe798a2cf40a7db3e7bf351cff1cab2b509c0351 diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 4fa5e8f0d0..068b8b212b 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -240,10 +240,11 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl } JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { + assert(!PyErr_Occurred()); PyObject *repr = PyObject_Repr((PyObject *) object_ref); if (!repr) { - PyErr_Print(); - // PyErr_Clear(); + // PyErr_Print(); + PyErr_Clear(); return 0; } const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); @@ -251,6 +252,7 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObje } JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectStr(JNIEnv *env, jobject _, jlong object_ref) { + assert(!PyErr_Occurred()); PyObject *repr = PyObject_Str((PyObject *) object_ref); if (!repr) { PyErr_Clear(); diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index e5ceab40e5..42694b0514 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -59,6 +59,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "none_check", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "load_const", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 080f25d9e4..b196646a59 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -174,6 +174,11 @@ "java_name": "handlerIsOp", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "none_check", + "java_name": "handlerNoneCheck", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "nb_bool", "java_name": "notifyNbBool", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 28a7353289..48740fbbae 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -138,6 +138,10 @@ public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } + public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython on) { + withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); + } + public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 3d0b323f73..f21b78a651 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -100,4 +100,8 @@ fun handlerIsOpKt( else -> myFork(ctx, mkHeapRefEq(left.address, right.address)) } +} + +fun handlerNoneCheckKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + myFork(ctx, on.evalIs(ctx, ctx.typeSystem.pythonNoneType)) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 01d3a10607..01e514a8ee 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -33,10 +33,7 @@ private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - if isinstance(x, str): - return 1 - return 2 - + assert x is None """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( @@ -48,7 +45,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 4512bfcaef..6006116d03 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -219,4 +219,32 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } + + @Test + fun testIsNone() { + check1WithConcreteRun( + constructFunction("is_none", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testIsNotNone() { + check1WithConcreteRun( + constructFunction("is_not_none", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 989f94171a..1405347c88 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -139,4 +139,12 @@ def remove_tracing(): def simple_str(x): if isinstance(x, str): return 1 - return 2 \ No newline at end of file + return 2 + + +def is_none(x): + assert x is None + + +def is_not_none(x): + assert x is not None \ No newline at end of file From 042099bfb0431e49649ad57df81236cddaa8ef9a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 7 Sep 2023 12:57:35 +0300 Subject: [PATCH 090/344] small fix in a test --- usvm-python/src/test/kotlin/manualTest.kt | 9 ++++++--- .../src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 01e514a8ee..bf2216dc05 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,8 +23,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -33,7 +33,10 @@ private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - assert x is None + result = 0 + for a, b in x: + result += a - b + assert result == 12345 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt index 60fe330ba4..cff2c31ef6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt @@ -44,7 +44,8 @@ class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachi /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { _, res -> res.repr == "None" }, - { _, res -> res.selfTypeName == "AssertionError" } + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.selfTypeName == "ValueError" } ) ) } From fedd79637fa8b06796f0f63c854656224a61f0ef Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 7 Sep 2023 16:06:56 +0300 Subject: [PATCH 091/344] Made object in SymbolForCPython nullable --- .../org_usvm_interpreter_CPythonAdapter.h | 8 + .../c/org_usvm_interpreter_CPythonAdapter.c | 11 ++ .../org/usvm/interpreter/CPythonAdapter.java | 151 ++++++++++++++---- .../org/usvm/language/SymbolForCPython.java | 11 +- .../org/usvm/machine/PythonExecutionState.kt | 16 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../interpreters/ConcretePythonInterpreter.kt | 5 + .../interpreters/USVMPythonInterpreter.kt | 10 +- .../interpreters/operations/Virtual.kt | 10 +- .../operations/tracing/PathTracing.kt | 5 +- .../types/prioritization/SymbolTypeTree.kt | 5 +- usvm-python/src/test/kotlin/manualTest.kt | 6 +- 12 files changed, 185 insertions(+), 55 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 13eed82264..ab36cdca08 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -319,6 +319,14 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIllegalOperation (JNIEnv *, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeLookup + * Signature: (JLjava/lang/String;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeLookup + (JNIEnv *, jobject, jlong, jstring); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 068b8b212b..d6ad09067a 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -411,4 +411,15 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIlleg if (!illegal_operation) return 0; return (*env)->NewStringUTF(env, illegal_operation); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeLookup(JNIEnv *env, jobject _, jlong type_ref, jstring name) { + assert(!PyErr_Occurred()); + assert(PyType_Check((PyObject *) type_ref)); + const char *c_name = (*env)->GetStringUTFChars(env, name, 0); + PyObject *py_name = PyUnicode_FromString(c_name); + PyObject *result = _PyType_Lookup((PyTypeObject *) type_ref, py_name); + (*env)->ReleaseStringUTFChars(env, name, c_name); + Py_DECREF(py_name); + return (jlong) result; } \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 48740fbbae..0ea87ff6f8 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -2,6 +2,7 @@ import kotlin.Unit; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; import org.usvm.machine.interpreters.operations.tracing.*; @@ -75,6 +76,7 @@ public class CPythonAdapter { public native Throwable extractException(long exception); public native void decref(long object); public native String checkForIllegalOperation(); + public native long typeLookup(long typeRef, String name); static { System.loadLibrary("cpythonadapter"); @@ -123,6 +125,8 @@ public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long } public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { + if (cond.obj == null) + return; withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } @@ -131,133 +135,197 @@ public static void handlerForkResult(ConcolicRunContext context, SymbolForCPytho } public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython iterable, int count) { + if (iterable.obj == null) + return; withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); } public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return; withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return; withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); } public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> handlerLTLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> handlerEQLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> handlerNELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> handlerGELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> handlerLELongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> handlerADDLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> handlerSUBLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> handlerMULLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> handlerDIVLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("bool_and", Arrays.asList(left, right)), () -> handlerAndKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { + if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) + return null; ListCreation event = new ListCreation(Arrays.asList(elements)); return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, SymbolForCPython[] elements) { + if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) + return null; TupleCreation event = new TupleCreation(Arrays.asList(elements)); return withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); } public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { + if (start.obj == null || stop.obj == null || step.obj == null) + return null; RangeCreation event = new RangeCreation(start, stop, step); return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); } public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, SymbolForCPython range) { + if (range.obj == null) + return null; return methodWrapper(context, new MethodParameters("range_iter", Collections.singletonList(range)), () -> handlerRangeIterKt(context, range.obj)); } public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext context, SymbolForCPython rangeIterator) { + if (rangeIterator.obj == null) + return null; return methodWrapper(context, new MethodParameters("range_iterator_next", Collections.singletonList(rangeIterator)), () -> handlerRangeIteratorNextKt(context, rangeIterator.obj)); } public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { + if (list.obj == null || index.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> handlerListGetItemKt(context, list.obj, index.obj)); } public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { + if (list.obj == null || tuple.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); } public static SymbolForCPython handlerListConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_concat", Arrays.asList(left, right)), () -> handlerListConcatKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_inplace_concat", Arrays.asList(left, right)), () -> handlerListInplaceConcatKt(context, left.obj, right.obj)); } public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { + if (list.obj == null || elem.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); } public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { + if (list.obj == null || index.obj == null || value.obj == null) + return; withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { + if (list.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); } public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { + if (list.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> handlerListIterKt(context, list.obj)); } public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { + if (iterator.obj == null) + return null; return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, SymbolForCPython tuple) { + if (tuple.obj == null) + return null; return methodWrapper(context, new MethodParameters("tuple_iter", Collections.singletonList(tuple)), () -> handlerTupleIterKt(context, tuple.obj)); } public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { + if (iterator.obj == null) + return null; return methodWrapper(context, new MethodParameters("tuple_iterator_next", Collections.singletonList(iterator)), () -> handlerTupleIteratorNextKt(context, iterator.obj)); } @@ -271,74 +339,103 @@ public static void handlerReturn(ConcolicRunContext context, long codeRef) { } public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { - return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> org.usvm.machine.interpreters.operations.VirtualKt.virtualCallSymbolKt(context)); + if (obj.obj == null) + return null; + return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> virtualCallSymbolKt(context)); } public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> org.usvm.machine.interpreters.operations.VirtualKt.virtualCallSymbolKt(context)); + return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } - public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { + @Nullable + public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, @NotNull SymbolForCPython obj, long typeRef) { + if (obj.obj == null) + return null; PythonObject type = new PythonObject(typeRef); - return methodWrapper(context, new IsinstanceCheck(obj, type), () -> org.usvm.machine.interpreters.operations.CommonKt.handlerIsinstanceKt(context, obj.obj, type)); + return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); } - public static void fixateType(ConcolicRunContext context, SymbolForCPython obj) { + public static void fixateType(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython obj) { + if (obj.obj == null) + return; fixateTypeKt(context, obj.obj); } - public static void notifyNbBool(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { - context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol), symbol); + public static void notifyNbBool(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { + if (symbol.obj == null) + return; + context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol.obj), symbol.obj); nbBoolKt(context, symbol.obj); } - public static void notifyNbInt(@NotNull ConcolicRunContext context, SymbolForCPython symbol) { - context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol), symbol); + public static void notifyNbInt(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { + if (symbol.obj == null) + return; + context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol.obj), symbol.obj); nbIntKt(context, symbol.obj); } - public static void notifyNbAdd(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left, right), null); + public static void notifyNbAdd(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return; + context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left.obj, right.obj), null); nbAddKt(context, left.obj, right.obj); } - public static void notifyNbSubtract(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - context.curOperation = new MockHeader(NbSubtractMethod.INSTANCE, Arrays.asList(left, right), left); + public static void notifyNbSubtract(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null) + return; + context.curOperation = new MockHeader(NbSubtractMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); nbSubtractKt(context, left.obj); } - public static void notifyNbMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left, right), null); + public static void notifyNbMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return; + context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left.obj, right.obj), null); nbMultiplyKt(context, left.obj, right.obj); } - public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - context.curOperation = new MockHeader(NbMatrixMultiplyMethod.INSTANCE, Arrays.asList(left, right), left); + public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null) + return; + context.curOperation = new MockHeader(NbMatrixMultiplyMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); nbMatrixMultiplyKt(context, left.obj); } - public static void notifySqLength(@NotNull ConcolicRunContext context, SymbolForCPython on) { - context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on), on); + public static void notifySqLength(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { + if (on.obj == null) + return; + context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); sqLengthKt(context, on.obj); } - public static void notifyMpSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { - context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage, item), storage); + public static void notifyMpSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item) { + if (storage.obj == null) + return; + context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj), storage.obj); mpSubscriptKt(context, storage.obj); } - public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { - context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage, item, value), storage); + public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { + if (storage.obj == null) + return; + context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj, value.obj), storage.obj); mpAssSubscriptKt(context, storage.obj); } - public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { - context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left, right), left); + public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, @NotNull SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null) + return; + context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left.obj, right.obj), left.obj); tpRichcmpKt(context, left.obj); } - public static void notifyTpIter(@NotNull ConcolicRunContext context, SymbolForCPython on) { - context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on), on); + public static void notifyTpIter(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { + if (on.obj == null) + return; + context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); tpIterKt(context, on.obj); } diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index b34889139d..bbdb633a51 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -1,10 +1,11 @@ package org.usvm.language; +import org.jetbrains.annotations.Nullable; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; public class SymbolForCPython { - public UninterpretedSymbolicPythonObject obj; - public SymbolForCPython(UninterpretedSymbolicPythonObject obj) { + @Nullable public UninterpretedSymbolicPythonObject obj; + public SymbolForCPython(@Nullable UninterpretedSymbolicPythonObject obj) { this.obj = obj; } @@ -12,11 +13,15 @@ public SymbolForCPython(UninterpretedSymbolicPythonObject obj) { public boolean equals(Object other) { if (!(other instanceof SymbolForCPython)) return false; - return ((SymbolForCPython) other).obj.equals(this.obj); + if (obj == null) + return ((SymbolForCPython) other).obj == null; + return this.obj.equals(((SymbolForCPython) other).obj); } @Override public int hashCode() { + if (obj == null) + return 0; return obj.hashCode(); } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 055f0a37ec..33be32293b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -21,7 +21,7 @@ import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER class PythonExecutionState( val ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, - val inputSymbols: List, + val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemory, uModel: UModelBase, @@ -32,7 +32,7 @@ class PythonExecutionState( pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), - val mockedObjects: MutableSet = mutableSetOf() + val mockedObjects: MutableSet = mutableSetOf() ): UState, UPythonContext, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() @@ -65,7 +65,7 @@ class PythonExecutionState( fun makeTypeRating(delayedFork: DelayedFork): List { val candidates = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).mapNotNull { it as? ConcretePythonType } if (typeSystem is PythonTypeSystemWithMypyInfo) { - val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, SymbolForCPython(delayedFork.symbol)) + val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, delayedFork.symbol) return prioritizeTypes(candidates, typeGraph, typeSystem) } return candidates @@ -76,17 +76,17 @@ class PythonExecutionState( if (cached != null) return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) val result = memory.mock { - call(what.method, what.args.map { it.obj.address }.asSequence(), ctx.addressSort) + call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) } mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) } - fun getMocksForSymbol(symbol: SymbolForCPython): List> = + fun getMocksForSymbol(symbol: UninterpretedSymbolicPythonObject): List> = mocks.mapNotNull { (mockHeader, mockResult) -> if (mockHeader.methodOwner == symbol) - mockHeader to SymbolForCPython(UninterpretedSymbolicPythonObject(mockResult, typeSystem)) + mockHeader to UninterpretedSymbolicPythonObject(mockResult, typeSystem) else null } @@ -101,8 +101,8 @@ class DelayedFork( data class MockHeader( val method: TypeMethod, - val args: List, - var methodOwner: SymbolForCPython? + val args: List, + var methodOwner: UninterpretedSymbolicPythonObject? ) data class MockResult( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 98a4967300..b787408464 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -60,7 +60,7 @@ class PythonMachine( stack.push(target.numberOfArguments) } val symbols = target.signature.mapIndexed { index, type -> - SymbolForCPython(constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem)) + constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem) } val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) val solverRes = solver.check(pathConstraints) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 55a781c88a..b17d6100a1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -172,6 +172,11 @@ object ConcretePythonInterpreter { pythonAdapter.decref(namespace.address) } + fun typeLookup(type: PythonObject, name: String): PythonObject? { + val result = pythonAdapter.typeLookup(type.address, name) + return if (result == 0L) null else PythonObject(result) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 048cad5a49..730dacca4f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -35,14 +35,14 @@ class USVMPythonInterpreter( ) : UInterpreter() { private fun getSeeds( concolicRunContext: ConcolicRunContext, - symbols: List + symbols: List ): List = - symbols.map { interpretSymbolicPythonObject(it.obj, concolicRunContext.modelHolder) as InterpretedInputSymbolicPythonObject } + symbols.map { interpretSymbolicPythonObject(it, concolicRunContext.modelHolder) as InterpretedInputSymbolicPythonObject } private fun getConcrete( converter: ConverterToPythonObject, seeds: List, - symbols: List + symbols: List ): List = (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } @@ -83,7 +83,7 @@ class USVMPythonInterpreter( } val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols - symbols.forEach { validator.check(it.obj) } + symbols.forEach { validator.check(it) } val seeds = getSeeds(concolicRunContext, symbols) val converter = concolicRunContext.converter val concrete = getConcrete(converter, seeds, symbols) @@ -113,7 +113,7 @@ class USVMPythonInterpreter( pinnedCallable.asPythonObject, concrete, virtualObjects, - symbols, + symbols.map { SymbolForCPython(it) }, concolicRunContext, printErrorMsg ) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 064e365e54..2bfe1126ca 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -13,7 +13,7 @@ import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) val oldModel = context.modelHolder.model @@ -44,7 +44,7 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { context.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = context.typeSystem - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertypeSoft(context, typeSystem.pythonInt) @@ -55,7 +55,7 @@ fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): Python fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = context.typeSystem - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first().obj, context.modelHolder) + val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertypeSoft(context, typeSystem.pythonInt) @@ -75,11 +75,11 @@ private fun internalVirtualCallKt( val ownerIsAlreadyMocked = context.curState!!.mockedObjects.contains(owner) var clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null if (clonedState != null) { - clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.obj.address, nullRef).not()) + clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) } val (symbolic, isNew, mockSymbol) = context.curState!!.mock(context.curOperation) if (!ownerIsAlreadyMocked && clonedState != null) { - addDelayedFork(context, owner.obj, clonedState) + addDelayedFork(context, owner, clonedState) } if (context.curOperation.method.isMethodWithNonVirtualReturn && isNew) { val customNewModels = customNewModelsCreation(mockSymbol) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index 18750ed972..cb56394287 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -52,14 +52,15 @@ fun withTracing( fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, result: Boolean) { if (context.curState == null) return + val obj = cond.obj ?: return - val expectedResult = cond.obj.getToBoolValue(context)?.let { + val expectedResult = obj.getToBoolValue(context)?.let { context.curState!!.pyModel.eval(it) }?.isTrue ?: return if (result != expectedResult) { logger.debug("Path diversion after fork!") - logger.debug("Condition: {}", cond.obj.getToBoolValue(context)) + logger.debug("Condition: {}", obj.getToBoolValue(context)) logger.debug("Expected: {}", expectedResult) logger.debug("Got: {}", result) context.pathDiversion() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index fe34556eff..6c9a5b603b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -3,6 +3,7 @@ package org.usvm.machine.types.prioritization import org.usvm.language.* import org.usvm.machine.PythonExecutionState import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.utbot.python.newtyping.PythonTypeHintsStorage import org.utbot.python.newtyping.createBinaryProtocol import org.utbot.python.newtyping.createUnaryProtocol @@ -15,7 +16,7 @@ import org.utbot.python.newtyping.pythonAnyType class SymbolTypeTree( private val state: PythonExecutionState, private val typeHintsStorage: PythonTypeHintsStorage, - rootSymbol: SymbolForCPython + rootSymbol: UninterpretedSymbolicPythonObject ) { private val root = SymbolTreeNode(rootSymbol) private fun generateSuccessors(node: SymbolTreeNode): List = @@ -99,7 +100,7 @@ class SymbolTypeTree( } } -class SymbolTreeNode(val symbol: SymbolForCPython): TypeInferenceNode { +class SymbolTreeNode(val symbol: UninterpretedSymbolicPythonObject): TypeInferenceNode { override val partialType: UtType = pythonAnyType override val ingoingEdges = mutableListOf() override val outgoingEdges = mutableListOf() diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index bf2216dc05..85ff0c46ee 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,9 +23,11 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { + val slice = ConcretePythonInterpreter.eval(emptyNamespace, "slice") + println(ConcretePythonInterpreter.typeLookup(slice, "start")) // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() - analyze(config) + // val config = buildSampleRunConfig() + // analyze(config) // checkConcolicAndConcrete(config) } From d48b18c773f36266f03f6d8ca76a7d2094237e72 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Tue, 12 Sep 2023 10:56:01 +0300 Subject: [PATCH 092/344] Windows support --- .../usvm/solver/USoftConstraintsProvider.kt | 6 +- usvm-python/build.gradle.kts | 55 +++++-- usvm-python/cpythonadapter/build.gradle.kts | 12 +- usvm-python/cpythonadapter/cpython | 2 +- .../cpythonadapter/src/main/c/include/utils.h | 1 + .../src/main/c/include/virtual_objects.h | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 8 + usvm-python/cpythonadapter/src/main/c/utils.c | 64 +++----- .../src/main/c/virtual_objects.c | 137 +++++------------- .../ConverterToPythonObject.kt | 2 +- .../org/usvm/utils/PythonImportUtils.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 13 +- 12 files changed, 132 insertions(+), 171 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt index a4f8c15b4e..aed3d5b55a 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt @@ -143,9 +143,11 @@ open class USoftConstraintsProvider( ): UExpr = computeSideEffect(expr) { with(ctx) { val addressIsNull = provide(expr.address) - val arraySize = mkSizeLeExpr(expr, mkSizeExpr(PREFERRED_MAX_ARRAY_SIZE)) + val arraySize1 = mkSizeLeExpr(expr, mkSizeExpr(1)) + val arraySize16 = mkSizeLeExpr(expr, mkSizeExpr(16)) + val arraySize256 = mkSizeLeExpr(expr, mkSizeExpr(256)) - caches[expr] = addressIsNull + arraySize + caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 } } diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 6ec0ab3777..b8274847d5 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -1,3 +1,5 @@ +import org.apache.tools.ant.taskdefs.condition.Os + plugins { id("usvm.kotlin-conventions") } @@ -5,6 +7,7 @@ plugins { // from GRADLE_USER_HOME/gradle.properties val githubUser: String by project val githubToken: String by project // with permission to read packages +val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) repositories { maven { @@ -34,23 +37,32 @@ val samplesBuildDir = File(project.buildDir, "samples_build") val commonJVMArgs = listOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", - "-Xss10m" + "-Xss50m" ) -val cpythonPath = "${childProjects["cpythonadapter"]!!.projectDir}/cpython" -val cpythonBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/cpython_build" -val cpythonAdapterBuildPath = "${childProjects["cpythonadapter"]!!.buildDir}/lib/main/debug" // TODO: and release? - +val cpythonPath: String = File(childProjects["cpythonadapter"]!!.projectDir, "cpython").path +val cpythonBuildPath: String = File(childProjects["cpythonadapter"]!!.buildDir, "cpython_build").path +val cpythonAdapterBuildPath: String = + File(childProjects["cpythonadapter"]!!.buildDir, "/lib/main/debug").path // TODO: and release? +val pythonBinaryPath: String = + if (!isWindows) { + "$cpythonBuildPath/bin/python3" + } else { + File(cpythonBuildPath, "python_d.exe").canonicalPath + } +val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows val installMypyRunner = tasks.register("installUtbotMypyRunner") { group = "samples" dependsOn(":usvm-python:cpythonadapter:linkDebug") inputs.dir(cpythonPath) - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + if (!isWindows) { + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + } environment("PYTHONHOME" to cpythonBuildPath) - commandLine("$cpythonBuildPath/bin/python3", "-m", "ensurepip") - commandLine("$cpythonBuildPath/bin/python3", "-m", "pip", "install", "utbot-mypy-runner==0.2.11") + commandLine(pythonBinaryPath, "-m", "ensurepip") + commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.11") } val buildSamples = tasks.register("buildSamples") { @@ -59,7 +71,7 @@ val buildSamples = tasks.register("buildSamples") { outputs.dir(samplesBuildDir) group = "samples" classpath = sourceSets.test.get().runtimeClasspath - args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, "$cpythonBuildPath/bin/python3") + args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, pythonBinaryPath) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("PYTHONHOME" to cpythonBuildPath) mainClass.set("org.usvm.runner.BuildSamplesKt") @@ -77,9 +89,16 @@ fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { tasks.register("manualTestDebug") { group = "run" - registerCpython(this, debug = true) dependsOn(buildSamples) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + if (!isWindows) { + registerCpython(this, debug = true) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + } else { + environment("PYTHONHOME" to cpythonBuildPath) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml", "-Djava.library.path=$cpythonAdapterBuildPath") + //val initialPath = environment["PATH"]!! + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } @@ -103,11 +122,17 @@ tasks.register("manualTestRelease") { } tasks.test { - jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" - // jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml" + val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() + // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() + if (!isWindows) { + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + } else { + args += "-Djava.library.path=$cpythonAdapterBuildPath" + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } + jvmArgs = args dependsOn(":usvm-python:cpythonadapter:linkDebug") dependsOn(buildSamples) - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") environment("PYTHONHOME" to cpythonBuildPath) } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 8916ba0634..e9fd92b07a 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -57,7 +57,9 @@ val configCPythonRelease = val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { group = cpythonTaskGroup - inputs.dir(cpythonPath) + inputs.dir(File(cpythonPath, "Objects")) + inputs.dir(File(cpythonPath, "Python")) + inputs.dir(File(cpythonPath, "Include")) workingDir = File(cpythonPath) if (!isWindows) { dependsOn(configCPythonDebug!!) @@ -221,6 +223,14 @@ library { compileTask.dependsOn(cpythonBuildRelease) } } + + if (isWindows) { + binaries.whenElementFinalized { + val linkTask = tasks.getByName("linkDebug") as LinkSharedLibrary + val pythonLibPath = File(cpythonBuildPath, "libs/") + linkTask.linkerArgs.addAll("/LIBPATH:${pythonLibPath.path}") + } + } } val cpythonClean = tasks.register("CPythonClean") { diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index fe798a2cf4..442f4cc5eb 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit fe798a2cf40a7db3e7bf351cff1cab2b509c0351 +Subproject commit 442f4cc5eb63c455617893129be87ad94351dc03 diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 6b136aa7c7..3c404d41a0 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -17,6 +17,7 @@ typedef struct { JNIEnv *env; } JavaPythonObject; +void initialize_java_python_type(); PyObject *wrap_java_object(JNIEnv *env, jobject object); int is_wrapped_java_object(PyObject *object); diff --git a/usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h b/usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h index 17e011bc98..43356483e8 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h +++ b/usvm-python/cpythonadapter/src/main/c/include/virtual_objects.h @@ -17,6 +17,7 @@ typedef struct { SymbolicAdapter *adapter; } VirtualPythonObject; +void initialize_virtual_object_type(); PyObject *allocate_raw_virtual_object(JNIEnv *env, jobject object); void finish_virtual_object_initialization(VirtualPythonObject *object, ConcolicContext *ctx, SymbolicAdapter *adapter); PyObject *create_new_virtual_object(ConcolicContext *ctx, jobject object, SymbolicAdapter *adapter); diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index d6ad09067a..56f10191e4 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -45,6 +45,7 @@ turn_off_audit_hook() { JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython(JNIEnv *env, jobject cpython_adapter, jstring python_home) { PyPreConfig pre_config; PyPreConfig_InitIsolatedConfig(&pre_config); + // pre_config.allocator = PYMEM_ALLOCATOR_MALLOC_DEBUG; Py_PreInitialize(&pre_config); PyConfig config; @@ -66,6 +67,9 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython SET_INTEGER_FIELD("pyGT", Py_GT) SET_INTEGER_FIELD("pyGE", Py_GE) + initialize_java_python_type(); + initialize_virtual_object_type(); + INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); } @@ -399,6 +403,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException(JNIEnv *env, jobject _, jlong exception) { PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); + if (!is_wrapped_java_object(wrapped)) { + PyObject_Print(wrapped, stdout, 0); + fflush(stdout); + } assert(is_wrapped_java_object(wrapped)); return ((JavaPythonObject *) wrapped)->reference; } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 0dc0c00193..f7d6a11db3 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -11,50 +11,26 @@ java_python_object_dealloc(PyObject *op) { Py_TYPE(op)->tp_free(op); } -PyTypeObject JavaPythonObject_Type = { - PyVarObject_HEAD_INIT(&PyType_Type, 0) - JavaPythonObjectTypeName, /* tp_name */ - sizeof(JavaPythonObject), /* tp_basicsize */ - 0, /* tp_itemsize */ - java_python_object_dealloc, /* tp_dealloc */ - 0, /* tp_vectorcall_offset */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_as_async */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - 0, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - PyObject_Free, /* tp_free */ -}; +PyTypeObject *JavaPythonObject_Type = 0; + +void +initialize_java_python_type() { + PyType_Slot slots[] = { + {0, 0} + }; + PyType_Spec spec = { + JavaPythonObjectTypeName, + sizeof(JavaPythonObject), + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HEAPTYPE, + slots + }; + JavaPythonObject_Type = (PyTypeObject*) PyType_FromSpec(&spec); +} -PyObject *wrap_java_object(JNIEnv *env, jobject object) { - JavaPythonObject *result = PyObject_New(JavaPythonObject, &JavaPythonObject_Type); +PyObject * +wrap_java_object(JNIEnv *env, jobject object) { + JavaPythonObject *result = PyObject_New(JavaPythonObject, JavaPythonObject_Type); result->env = env; // result->reference = object; result->reference = (*env)->NewGlobalRef(env, object); @@ -62,7 +38,7 @@ PyObject *wrap_java_object(JNIEnv *env, jobject object) { } int is_wrapped_java_object(PyObject *object) { - return Py_TYPE(object) == &JavaPythonObject_Type; + return Py_TYPE(object) == JavaPythonObject_Type; } void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist) { diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index dcee6cc73f..6d100d6574 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -36,12 +36,14 @@ tp_richcompare(PyObject *o1, PyObject *o2, int op) { assert(is_virtual_object(o1)); MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } +PyType_Slot Virtual_tp_richcompare = {Py_tp_richcompare, tp_richcompare}; static PyObject * tp_iter(PyObject *o1) { assert(is_virtual_object(o1)); MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } +PyType_Slot Virtual_tp_iter = {Py_tp_iter, tp_iter}; static int nb_bool(PyObject *self) { @@ -54,6 +56,7 @@ nb_bool(PyObject *self) { adapter->ignore = 0; return (int) result; } +PyType_Slot Virtual_nb_bool = {Py_nb_bool, nb_bool}; static PyObject * nb_int(PyObject *self) { @@ -64,6 +67,7 @@ nb_int(PyObject *self) { CHECK_FOR_EXCEPTION(obj->ctx, 0) return (PyObject *) result; } +PyType_Slot Virtual_nb_int = {Py_nb_int, nb_int}; #define BINARY_FUNCTION \ PyObject *owner = 0; \ @@ -84,21 +88,25 @@ static PyObject * nb_add(PyObject *first, PyObject *second) { BINARY_FUNCTION } +PyType_Slot Virtual_nb_add = {Py_nb_add, nb_add}; static PyObject * nb_subtract(PyObject *first, PyObject *second) { BINARY_FUNCTION } +PyType_Slot Virtual_nb_subtract = {Py_nb_subtract, nb_subtract}; static PyObject * nb_multiply(PyObject *first, PyObject *second) { BINARY_FUNCTION } +PyType_Slot Virtual_nb_multiply = {Py_nb_multiply, nb_multiply}; static PyObject * nb_matrix_multiply(PyObject *first, PyObject *second) { BINARY_FUNCTION } +PyType_Slot Virtual_nb_matrix_multiply = {Py_nb_matrix_multiply, nb_matrix_multiply}; static Py_ssize_t sq_length(PyObject *self) { @@ -111,121 +119,54 @@ sq_length(PyObject *self) { adapter->ignore = 0; return result; } +PyType_Slot Virtual_sq_length = {Py_sq_length, sq_length}; static PyObject * mp_subscript(PyObject *self, PyObject *item) { assert(is_virtual_object(self)); MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) } +PyType_Slot Virtual_mp_subscript = {Py_mp_subscript, mp_subscript}; static int mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { assert(is_virtual_object(self)); MAKE_USVM_VIRUAL_CALL_NO_RETURN((VirtualPythonObject *) self, 0) } +PyType_Slot Virtual_mp_ass_subscript = {Py_mp_ass_subscript, mp_ass_subscript}; -static PyNumberMethods virtual_as_number = { - nb_add, /*nb_add*/ - nb_subtract, /*nb_subtract*/ - nb_multiply, /*nb_multiply*/ - 0, /*nb_remainder*/ - 0, /*nb_divmod*/ - 0, /*nb_power*/ - 0, /*nb_negative*/ - 0, /*nb_positive*/ - 0, /*nb_absolute*/ - nb_bool, /*nb_bool*/ - 0, /*nb_invert*/ - 0, /*nb_lshift*/ - 0, /*nb_rshift*/ - 0, /*nb_and*/ - 0, /*nb_xor*/ - 0, /*nb_or*/ - nb_int, /*nb_int*/ - 0, /*nb_reserved*/ - 0, /*nb_float*/ - 0, /* nb_inplace_add */ - 0, /* nb_inplace_subtract */ - 0, /* nb_inplace_multiply */ - 0, /* nb_inplace_remainder */ - 0, /* nb_inplace_power */ - 0, /* nb_inplace_lshift */ - 0, /* nb_inplace_rshift */ - 0, /* nb_inplace_and */ - 0, /* nb_inplace_xor */ - 0, /* nb_inplace_or */ - 0, /* nb_floor_divide */ - 0, /* nb_true_divide */ - 0, /* nb_inplace_floor_divide */ - 0, /* nb_inplace_true_divide */ - 0, /* nb_index */ - nb_matrix_multiply, /* nb_matrix_multiply */ - 0, /* nb_inplace_matrix_multiply */ -}; -static PySequenceMethods virtual_as_sequence = { - sq_length, /* sq_length */ - 0, /* sq_concat */ - 0, /* sq_repeat */ - 0, /* sq_item */ - 0, /* sq_slice */ - 0, /* sq_ass_item */ - 0, /* sq_ass_slice */ - 0, /* sq_contains */ - 0, /* sq_inplace_concat */ - 0, /* sq_inplace_repeat */ -}; +PyTypeObject *VirtualPythonObject_Type = 0; -PyMappingMethods virtual_as_mapping = { - 0, /* mp_length */ - mp_subscript, /* mp_subscript */ - mp_ass_subscript /* mp_ass_subscript */ -}; - -PyTypeObject VirtualPythonObject_Type = { - PyVarObject_HEAD_INIT(&PyType_Type, 0) - VirtualObjectTypeName, - sizeof(VirtualPythonObject), - 0, - virtual_object_dealloc, /*tp_dealloc*/ - 0, /*tp_vectorcall_offset*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_as_async*/ - 0, /*tp_repr*/ - &virtual_as_number, /*tp_as_number*/ - &virtual_as_sequence, /*tp_as_sequence*/ - &virtual_as_mapping, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call */ - 0, /*tp_str */ - 0, /*tp_getattro */ - 0, /*tp_setattro */ - 0, /*tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /*tp_flags */ - 0, /*tp_doc */ - 0, /*tp_traverse */ - 0, /*tp_clear */ - tp_richcompare, /*tp_richcompare */ - 0, /*tp_weaklistoffset */ - tp_iter, /*tp_iter */ - 0, /*tp_iternext */ - 0, /*tp_methods */ - 0, /*tp_members */ - 0, /*tp_getset */ - 0, /*tp_base */ - 0, /*tp_dict */ - 0, /*tp_descr_get */ - 0, /*tp_descr_set */ - 0, /*tp_dictoffset */ - 0, /*tp_init */ - 0, /*tp_alloc */ - 0, /*tp_new */ -}; +void +initialize_virtual_object_type() { + PyType_Slot slots[] = { + Virtual_tp_richcompare, + Virtual_tp_iter, + Virtual_nb_bool, + Virtual_nb_int, + Virtual_nb_add, + Virtual_nb_subtract, + Virtual_nb_multiply, + Virtual_nb_matrix_multiply, + Virtual_sq_length, + Virtual_mp_subscript, + Virtual_mp_ass_subscript, + {0, 0} + }; + PyType_Spec spec = { + VirtualObjectTypeName, + sizeof(VirtualPythonObject), + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HEAPTYPE, + slots + }; + VirtualPythonObject_Type = (PyTypeObject*) PyType_FromSpec(&spec); +} PyObject * allocate_raw_virtual_object(JNIEnv *env, jobject object) { - VirtualPythonObject *result = PyObject_New(VirtualPythonObject, &VirtualPythonObject_Type); + VirtualPythonObject *result = PyObject_New(VirtualPythonObject, VirtualPythonObject_Type); if (!result) return 0; @@ -255,7 +196,7 @@ int is_virtual_object(PyObject *obj) { if (!obj) return 0; - return Py_TYPE(obj) == &VirtualPythonObject_Type; + return Py_TYPE(obj) == VirtualPythonObject_Type; } void register_virtual_methods(SymbolicAdapter *adapter) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index d6f3110d88..12aac40048 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -115,7 +115,7 @@ class ConverterToPythonObject( else -> error("Not reachable") } - private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { + private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject { val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList val listOfPythonObjects = constructArrayContents(obj) diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt index ae2395e3fb..cd1baf50ee 100644 --- a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt +++ b/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt @@ -20,7 +20,7 @@ fun withAdditionalPaths(additionalPaths: Collection, typeSystem: Pytho namespace, """ import sys, copy - sys.path += ${additionalPaths.joinToString(prefix = "[", separator = ", ", postfix = "]") { "\"${it.canonicalPath}\"" }} + sys.path += ${additionalPaths.joinToString(prefix = "[", separator = ", ", postfix = "]") { "r\"${it.canonicalPath}\"" }} """.trimIndent() ) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 85ff0c46ee..bfc089ca61 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,11 +23,11 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val slice = ConcretePythonInterpreter.eval(emptyNamespace, "slice") - println(ConcretePythonInterpreter.typeLookup(slice, "start")) + // val slice = ConcretePythonInterpreter.eval(emptyNamespace, "slice") + // println(ConcretePythonInterpreter.typeLookup(slice, "start")) // val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() - // analyze(config) + val config = buildSampleRunConfig() + analyze(config) // checkConcolicAndConcrete(config) } @@ -35,10 +35,7 @@ private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ def f(x): - result = 0 - for a, b in x: - result += a - b - assert result == 12345 + return x """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( From 4434593cb629289ed098b346a9ccf7796f05805b Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Wed, 13 Sep 2023 11:54:37 +0300 Subject: [PATCH 093/344] descriptors and symbolic methods --- usvm-python/build.gradle.kts | 4 +- usvm-python/cpythonadapter/build.gradle.kts | 1 + usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 22 ++++------- .../cpythonadapter/src/main/c/converters.c | 10 ++++- .../cpythonadapter/src/main/c/descriptors.c | 13 +++++++ .../src/main/c/include/approximations.h | 16 +++++++- .../src/main/c/include/converters.h | 2 + .../src/main/c/include/descriptors.h | 16 ++++++++ .../org_usvm_interpreter_CPythonAdapter.h | 24 ++++++++++++ .../src/main/c/include/symbolic_methods.h | 27 +++++++++++++ .../cpythonadapter/src/main/c/include/utils.h | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 30 +++++++++++++- .../src/main/c/symbolic_methods.c | 39 +++++++++++++++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 13 +++++-- .../src/main/c/virtual_objects.c | 3 ++ .../src/main/json/adapter_method_defs.json | 24 ++++++++++++ .../src/main/json/handler_defs.json | 10 +++++ .../org/usvm/interpreter/CPythonAdapter.java | 22 ++++++++++- .../usvm/interpreter/ConcolicRunContext.java | 1 + .../usvm/interpreter/MemberDescriptor.java | 10 +++++ .../org/usvm/language/SymbolForCPython.java | 10 +++-- .../org/usvm/machine/PythonExecutionState.kt | 1 - .../interpreters/ConcretePythonInterpreter.kt | 35 ++++++++++++++++- .../interpreters/USVMPythonInterpreter.kt | 2 +- .../machine/interpreters/operations/Common.kt | 24 ++++++++++++ .../operations/descriptors/List.kt | 13 +++++++ .../operations/descriptors/Slice.kt | 12 ++++++ .../symbolicobjects/PreallocatedObjects.kt | 13 +++++-- ...obalParameteres.kt => GlobalParameters.kt} | 0 usvm-python/src/test/kotlin/manualTest.kt | 8 ++-- .../src/test/resources/samples/Slices.py | 2 + 32 files changed, 370 insertions(+), 40 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/descriptors.c create mode 100644 usvm-python/cpythonadapter/src/main/c/include/descriptors.h create mode 100644 usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h create mode 100644 usvm-python/cpythonadapter/src/main/c/symbolic_methods.c create mode 100644 usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt rename usvm-python/src/main/kotlin/org/usvm/utils/{GlobalParameteres.kt => GlobalParameters.kt} (100%) create mode 100644 usvm-python/src/test/resources/samples/Slices.py diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index b8274847d5..e33d74a1d8 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -22,7 +22,7 @@ repositories { dependencies { implementation(project(":usvm-core")) - implementation("org.utbot:utbot-python-types:2023.08-SNAPSHOT") + implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") @@ -62,7 +62,7 @@ val installMypyRunner = tasks.register("installUtbotMypyRunner") { } environment("PYTHONHOME" to cpythonBuildPath) commandLine(pythonBinaryPath, "-m", "ensurepip") - commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.11") + commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.15") } val buildSamples = tasks.register("buildSamples") { diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index e9fd92b07a..d79b0d2bbb 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -101,6 +101,7 @@ fun generateSymbolicAdapterMethod(description: Map): String { val javaReturnType = description["java_return_type"] as String val javaReturnDescr: String = when (javaReturnType) { "jobject" -> "Object" + "jlong" -> "Long" "void" -> "Void" else -> error("Incorrect handler definition") } diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 442f4cc5eb..c9ffd15753 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 442f4cc5eb63c455617893129be87ad94351dc03 +Subproject commit c9ffd157531b61ed77b953f19a9061ea4badb708 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index f8f457628c..ed50db3489 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -104,23 +104,17 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { return result; } -PyObject * -Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem) { - assert(PyCFunction_Check(append_method) && symbolic_list && is_wrapped(wrapped_elem)); - SymbolicAdapter *adapter = get_adapter(wrapped_elem); - PyObject *concrete_elem = unwrap(wrapped_elem); - PyObject *symbolic_elem = get_symbolic_or_none(wrapped_elem); - PyObject *concrete_args = PyTuple_Pack(1, concrete_elem); - PyObject *concrete_result = Py_TYPE(append_method)->tp_call(append_method, concrete_args, 0); - Py_DECREF(concrete_args); - if (!concrete_result) { - return 0; - } +PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, PyObject *symbolic_list, PyObject *args, PyObject *kwargs) { + if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 1 || kwargs) + return Py_None; + PyObject *symbolic_elem = PyTuple_GetItem(args, 0); PyObject *self = adapter->list_append(adapter->handler_param, symbolic_list, symbolic_elem); if (!self) return 0; - - return wrap(concrete_result, Py_None, adapter); + PyObject *result = adapter->load_const(adapter->handler_param, Py_None); + if (!result) + return 0; + return result; } PyObject * diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index bb3bc78996..fecd9b1109 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -25,10 +25,18 @@ jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail) { return (jlong) ref; } +PyObject *ref_wrapper(ConcolicContext *ctx, jlong value) { + return (PyObject *) value; +} + PyObject *object_wrapper(ConcolicContext *ctx, jobject value) { + return object_wrapper_env(ctx->env, value); +} + +PyObject *object_wrapper_env(JNIEnv *env, jobject value) { if (!value) return Py_None; - return wrap_java_object(ctx->env, value); + return wrap_java_object(env, value); } jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) { diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c new file mode 100644 index 0000000000..6fb6a0276b --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -0,0 +1,13 @@ +#include "descriptors.h" +#include "approximation_defs.h" + +jobject +get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete_descriptor) { + jclass cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); + if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && + ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_APPEND) { + jfieldID list_append_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listAppendDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, list_append_id); + } + return 0; +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 7c65a27998..db6af9f54f 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -1,4 +1,11 @@ +#ifndef _Included_CPythonAdapter_approximations +#define _Included_CPythonAdapter_approximations +#ifdef __cplusplus +extern "C" { +#endif + #include "Python.h" +#include "symbolicadapter.h" /* initializations of Python functions */ void initialize_list_python_impls(); @@ -15,5 +22,10 @@ PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.r PyObject *Approximation_sum(PyObject *iterable); // builtins.sum PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare -PyObject *Approximation_list_append(PyObject *append_method, PyObject *symbolic_list, PyObject *wrapped_elem); // list.append -PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat \ No newline at end of file +PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat +PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, PyObject *self, PyObject *args, PyObject *kwargs); // list.append + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index 1676bcb999..c8ec8f35b6 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -12,7 +12,9 @@ jlong frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail); jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail); jint int_converter(ConcolicContext *ctx, int value, int *fail); jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); +PyObject *ref_wrapper(ConcolicContext *ctx, jlong value); PyObject *object_wrapper(ConcolicContext *ctx, jobject value); +PyObject *object_wrapper_env(JNIEnv *env, jobject value); jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); jstring string_converter(ConcolicContext *ctx, const char *str, int *fail); diff --git a/usvm-python/cpythonadapter/src/main/c/include/descriptors.h b/usvm-python/cpythonadapter/src/main/c/include/descriptors.h new file mode 100644 index 0000000000..4eb718dd08 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/include/descriptors.h @@ -0,0 +1,16 @@ +#ifndef _Included_CPythonAdapter_descriptors +#define _Included_CPythonAdapter_descriptors +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "Python.h" +#include "utils.h" + +jobject get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete_descriptor); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index ab36cdca08..7d4f4833be 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -327,6 +327,30 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIlleg JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeLookup (JNIEnv *, jobject, jlong, jstring); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: getSymbolicDescriptor + * Signature: (J)Lorg/usvm/interpreter/MemberDescriptor; + */ +JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDescriptor + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: constructListAppendMethod + * Signature: (JLorg/usvm/language/SymbolForCPython;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod + (JNIEnv *, jobject, jlong, jobject); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: callSymbolicMethod + * Signature: (JJJ)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callSymbolicMethod + (JNIEnv *, jobject, jlong, jlong, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h new file mode 100644 index 0000000000..ef5f8d10ab --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -0,0 +1,27 @@ +#ifndef _Included_CPythonAdapter_tp_call_approximation +#define _Included_CPythonAdapter_tp_call_approximation +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "Python.h" +#include "symbolicadapter.h" + +typedef PyObject *(call_type)(SymbolicAdapter *adapter, PyObject *self, PyObject *args, PyObject *kwargs); + +typedef struct { + call_type *call; + PyObject *self; + SymbolicAdapter *adapter; +} SymbolicMethod; + +void initialize_symbolic_methods_holder(); +// void clean_methods(); +SymbolicMethod *construct_list_append_method(JNIEnv *env, SymbolicAdapter *adapter, jobject symbolic_self); +PyObject *call_symbolic_method(SymbolicMethod *method, PyObject *args, PyObject *kwargs); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 3c404d41a0..60efb30658 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -45,6 +45,7 @@ typedef struct { void construct_args_for_symbolic_adapter(SymbolicAdapter *adapter, ConcolicContext *ctx, jlongArray *concrete_args, jlongArray *virtual_args, jobjectArray *symbolic_args, PyObjectArray *dist); int take_instruction_from_frame(PyFrameObject *frame); int extract_int_value(PyObject *int_object); +long extract_long_value(PyObject *int_object); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ jthrowable cur_exception = (*ctx->env)->ExceptionOccurred(ctx->env); \ diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 56f10191e4..23643dae61 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -3,11 +3,13 @@ #include "org_usvm_interpreter_CPythonAdapter.h" #include "utils.h" #include "converters.h" +#include "virtual_objects.h" +#include "approximations.h" +#include "descriptors.h" +#include "symbolic_methods.h" #include "SymbolicAdapterMethods.h" // generated from Gradle script #include "symbolicadapter.h" -#include "virtual_objects.h" -#include "approximations.h" #define SET_BOOLEAN_FIELD(field_name, value) \ f = (*env)->GetFieldID(env, cls, field_name, "Z"); \ @@ -17,6 +19,10 @@ f = (*env)->GetFieldID(env, cls, field_name, "I"); \ (*env)->SetIntField(env, cpython_adapter, f, value); +#define SET_LONG_FIELD(field_name, value) \ + f = (*env)->GetFieldID(env, cls, field_name, "J"); \ + (*env)->SetLongField(env, cpython_adapter, f, value); + #define SET_EXCEPTION_IN_CPYTHONADAPTER \ PyObject *type, *value, *traceback; \ PyErr_Fetch(&type, &value, &traceback); \ @@ -66,12 +72,14 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython SET_INTEGER_FIELD("pyLE", Py_LE) SET_INTEGER_FIELD("pyGT", Py_GT) SET_INTEGER_FIELD("pyGE", Py_GE) + SET_LONG_FIELD("pyNoneRef", (jlong) Py_None) initialize_java_python_type(); initialize_virtual_object_type(); INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); + initialize_symbolic_methods_holder(); } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { @@ -199,6 +207,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( (*env)->SetLongField(env, cpython_adapter, ctx.cpython_java_exception_field, (jlong) ctx.java_exception); SymbolicAdapter *adapter = create_new_adapter(&ctx); + jclass concolic_context_cls = (*env)->FindClass(env, "org/usvm/interpreter/ConcolicRunContext"); + jfieldID symbolic_adapter_field = (*env)->GetFieldID(env, concolic_context_cls, "symbolicAdapterRef", "J"); + (*env)->SetLongField(env, context, symbolic_adapter_field, (jlong) adapter); + register_virtual_methods(adapter); REGISTER_ADAPTER_METHODS(adapter); register_approximations(adapter); @@ -430,4 +442,18 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeLookup(JNIE (*env)->ReleaseStringUTFChars(env, name, c_name); Py_DECREF(py_name); return (jlong) result; +} + +JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDescriptor(JNIEnv *env, jobject adapter, jlong descr_ref) { + return get_symbolic_descriptor(env, adapter, (PyObject *) descr_ref); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod(JNIEnv *env, jobject _, jlong adapter_ref, jobject symbolic_list_ref) { + return (jlong) construct_list_append_method(env, (SymbolicAdapter *) adapter_ref, symbolic_list_ref); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callSymbolicMethod(JNIEnv *env, jobject _, jlong method_ref, jlong args_ref, jlong kwargs_ref) { + assert(method_ref != 0); + PyObject *result = call_symbolic_method((SymbolicMethod *) method_ref, (PyObject *) args_ref, (PyObject *) kwargs_ref); + return (jlong) result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c new file mode 100644 index 0000000000..fcfaa285b3 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -0,0 +1,39 @@ +#include "symbolic_methods.h" +#include "utils.h" +#include "approximations.h" +#include "converters.h" + +PyObject *methods_holder = 0; + +void initialize_symbolic_methods_holder() { + methods_holder = PyList_New(0); +} + +/* +void clean_methods() { + Py_ssize_t size = PyList_Size(methods_holder); + for (Py_ssize_t i = 0; i < size; i++) { + PyObject *item = PyList_GetItem(methods_holder, i); + long address = extract_long_value(item); + free((SymbolicMethod *) address); + } + Py_DECREF(methods_holder); + methods_holder = 0; +} +*/ + +SymbolicMethod * +construct_list_append_method(JNIEnv *env, SymbolicAdapter *adapter, jobject symbolic_self) { + assert(methods_holder); + SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); + result->call = SymbolicMethod_list_append; + result->self = object_wrapper_env(env, symbolic_self); + result->adapter = adapter; + PyList_Append(methods_holder, PyLong_FromLong((long) result)); + return result; +} + +PyObject * +call_symbolic_method(SymbolicMethod *method, PyObject *args, PyObject *kwargs) { + return method->call(method->adapter, method->self, args, kwargs); +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index f7d6a11db3..7cd2406fcc 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -10,12 +10,14 @@ java_python_object_dealloc(PyObject *op) { (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); Py_TYPE(op)->tp_free(op); } +PyType_Slot java_python_object_dealloc_slot = {Py_tp_dealloc, java_python_object_dealloc}; PyTypeObject *JavaPythonObject_Type = 0; void initialize_java_python_type() { PyType_Slot slots[] = { + java_python_object_dealloc_slot, {0, 0} }; PyType_Spec spec = { @@ -60,7 +62,6 @@ void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_builtin_sum = Approximation_sum; adapter->approximation_list_richcompare = Approximation_list_richcompare; adapter->approximation_range = Approximation_range; - adapter->approximation_list_append = Approximation_list_append; adapter->approximation_list_repeat = Approximation_list_repeat; } @@ -114,12 +115,18 @@ construct_args_for_symbolic_adapter( dist->ptr = args; } -int -extract_int_value(PyObject *int_object) { +long +extract_long_value(PyObject *int_object) { assert(PyLong_Check(int_object)); int overflow; long value_as_long = PyLong_AsLongAndOverflow(int_object, &overflow); assert(!overflow); + return value_as_long; +} + +int +extract_int_value(PyObject *int_object) { + long value_as_long = extract_long_value(int_object); assert(value_as_long < INT_MAX); return (int) value_as_long; } diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 6d100d6574..438448ea93 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -9,6 +9,8 @@ virtual_object_dealloc(PyObject *op) { Py_TYPE(op)->tp_free(op); } +PyType_Slot Virtual_tp_dealloc = {Py_tp_dealloc, virtual_object_dealloc}; + #define MAKE_USVM_VIRUAL_CALL(obj, owner_id) \ SymbolicAdapter *adapter = (obj)->adapter; \ ConcolicContext *ctx = (obj)->ctx; \ @@ -141,6 +143,7 @@ PyTypeObject *VirtualPythonObject_Type = 0; void initialize_virtual_object_type() { PyType_Slot slots[] = { + Virtual_tp_dealloc, Virtual_tp_richcompare, Virtual_tp_iter, Virtual_nb_bool, diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 42694b0514..eef633cbe6 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -634,5 +634,29 @@ "result_converter": "object_wrapper", "fail_value": "0", "default_value": "Py_None" + }, + { + "c_name": "standard_tp_getattro", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "symbolic_tp_call", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jlong", "jlong"], + "java_return_type": "jlong", + "argument_converters": ["object_converter", "ref_converter", "ref_converter"], + "result_converter": "ref_wrapper", + "fail_value": "0", + "default_value": "Py_None" } ] \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index b196646a59..3c76271102 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -288,5 +288,15 @@ "c_name": "range_iterator_next", "java_name": "handlerRangeIteratorNext", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "standard_tp_getattro", + "java_name": "handlerStandardTpGetattro", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "symbolic_tp_call", + "java_name": "symbolicTpCall", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;JJ)J" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0ea87ff6f8..573fec9139 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -5,6 +5,7 @@ import org.jetbrains.annotations.Nullable; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; +import org.usvm.machine.interpreters.operations.descriptors.ListAppendDescriptor; import org.usvm.machine.interpreters.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; @@ -31,12 +32,14 @@ public class CPythonAdapter { public long thrownException = 0L; public long thrownExceptionType = 0L; public long javaExceptionType = 0L; + public long pyNoneRef = 0L; public int pyEQ; public int pyNE; public int pyLE; public int pyLT; public int pyGE; public int pyGT; + public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict @@ -77,6 +80,10 @@ public class CPythonAdapter { public native void decref(long object); public native String checkForIllegalOperation(); public native long typeLookup(long typeRef, String name); + @Nullable + public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); + public native long constructListAppendMethod(long symbolicAdapterRef, SymbolForCPython symbolicList); + public native long callSymbolicMethod(long methodRef, long argsRef, long kwargsRef); static { System.loadLibrary("cpythonadapter"); @@ -93,7 +100,7 @@ public static void handlerInstruction(@NotNull ConcolicRunContext context, long private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { if (obj == null) return null; - return new SymbolForCPython(obj); + return new SymbolForCPython(obj, 0); } private static SymbolForCPython methodWrapper( @@ -451,7 +458,7 @@ public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObjec return virtualSqLengthKt(context, obj); } - public static long virtualCall(ConcolicRunContext context, int owner) { + public static long virtualCall(@NotNull ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); } @@ -461,4 +468,15 @@ public static long virtualCall(ConcolicRunContext context, int owner) { public static void lostSymbolicValue(ConcolicRunContext context, String description) { lostSymbolicValueKt(context, description); } + + @Nullable + public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext context, @NotNull SymbolForCPython obj, SymbolForCPython name) { + if (obj.obj == null || name.obj == null) + return null; + return withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); + } + + public static long symbolicTpCall(ConcolicRunContext context, @NotNull SymbolForCPython on, long args, long kwargs) { + return symbolicTpCallKt(on, args, kwargs); + } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 809933b4c2..9785233c5a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -34,6 +34,7 @@ public class ConcolicRunContext { public int instructionCounter = 0; public boolean usesVirtualInputs = false; public Callable isCancelled; + public long symbolicAdapterRef; public ConcolicRunContext( @NotNull PythonExecutionState curState, diff --git a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java new file mode 100644 index 0000000000..bc3192187b --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java @@ -0,0 +1,10 @@ +package org.usvm.interpreter; + +import org.jetbrains.annotations.Nullable; +import org.usvm.language.SymbolForCPython; +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; + +public abstract class MemberDescriptor { + @Nullable + public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); +} \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java index bbdb633a51..41e3d0a186 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java @@ -1,21 +1,25 @@ package org.usvm.language; import org.jetbrains.annotations.Nullable; +import org.usvm.interpreter.MemberDescriptor; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; public class SymbolForCPython { @Nullable public UninterpretedSymbolicPythonObject obj; - public SymbolForCPython(@Nullable UninterpretedSymbolicPythonObject obj) { + public long symbolicTpCall = 0; + public SymbolForCPython(@Nullable UninterpretedSymbolicPythonObject obj, long symbolicTpCall) { this.obj = obj; + this.symbolicTpCall = symbolicTpCall; } + // TODO: consider descriptor? @Override public boolean equals(Object other) { if (!(other instanceof SymbolForCPython)) return false; if (obj == null) - return ((SymbolForCPython) other).obj == null; - return this.obj.equals(((SymbolForCPython) other).obj); + return ((SymbolForCPython) other).obj == null && symbolicTpCall == ((SymbolForCPython) other).symbolicTpCall; + return this.obj.equals(((SymbolForCPython) other).obj) && symbolicTpCall == ((SymbolForCPython) other).symbolicTpCall; } @Override diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 33be32293b..050f732811 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -118,5 +118,4 @@ class PythonExecutionStateMeta { var objectsWithoutConcreteTypes: Set? = null var lastConverter: ConverterToPythonObject? = null var generatedFrom: String = "" // for debugging only - var typeStreamForNull: UTypeStream? = null } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index b17d6100a1..527ca6f041 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -4,6 +4,8 @@ import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @Suppress("unused") object ConcretePythonInterpreter { @@ -177,6 +179,25 @@ object ConcretePythonInterpreter { return if (result == 0L) null else PythonObject(result) } + fun getSymbolicDescriptor(concreteDescriptor: PythonObject): MemberDescriptor? { + return pythonAdapter.getSymbolicDescriptor(concreteDescriptor.address) + } + + fun constructListAppendMethod(ctx: ConcolicRunContext, self: UninterpretedSymbolicPythonObject): SymbolForCPython { + val ref = pythonAdapter.constructListAppendMethod(ctx.symbolicAdapterRef, SymbolForCPython(self, 0)); + require(ref != 0L) + return SymbolForCPython(null, ref) + } + + fun callSymbolicMethod(symbol: SymbolForCPython, args: Long, kwargs: Long): PythonObject { + if (symbol.symbolicTpCall == 0L) + return PythonObject(pythonAdapter.pyNoneRef) + val result = pythonAdapter.callSymbolicMethod(symbol.symbolicTpCall, args, kwargs) + if (result == 0L) + throw CPythonExecutionException() + return PythonObject(result) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) @@ -214,6 +235,7 @@ object ConcretePythonInterpreter { val pyLE: Int val pyGT: Int val pyGE: Int + val pyNoneRef: Long init { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") @@ -224,6 +246,7 @@ object ConcretePythonInterpreter { pyLE = pythonAdapter.pyLE pyGT = pythonAdapter.pyGT pyGE = pythonAdapter.pyGE + pyNoneRef = pythonAdapter.pyNoneRef val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) @@ -249,8 +272,16 @@ class CPythonExecutionException( val pythonExceptionValue: PythonObject? = null, val pythonExceptionType: PythonObject? = null ): Exception() -data class PythonObject(val address: Long) -data class PythonNamespace(val address: Long) +data class PythonObject(val address: Long) { + init { + require(address != 0L) + } +} +data class PythonNamespace(val address: Long) { + init { + require(address != 0L) + } +} val emptyNamespace = ConcretePythonInterpreter.getNewNamespace() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 730dacca4f..882b2bdaef 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -113,7 +113,7 @@ class USVMPythonInterpreter( pinnedCallable.asPythonObject, concrete, virtualObjects, - symbols.map { SymbolForCPython(it) }, + symbols.map { SymbolForCPython(it, 0) }, concolicRunContext, printErrorMsg ) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index f21b78a651..6a8c60a1fd 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -3,10 +3,12 @@ package org.usvm.machine.interpreters.operations import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython import org.usvm.language.types.ArrayType import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject import org.usvm.language.types.ConcreteTypeNegation +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.MethodDescription @@ -104,4 +106,26 @@ fun handlerIsOpKt( fun handlerNoneCheckKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { myFork(ctx, on.evalIs(ctx, ctx.typeSystem.pythonNoneType)) +} + +fun handlerStandardTpGetattroKt( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, + name: UninterpretedSymbolicPythonObject +): SymbolForCPython? { + if (ctx.curState == null) + return null + val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null + val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null + val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) ?: return null + val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null + return memberDescriptor.getMember(ctx, obj) +} + +fun symbolicTpCallKt( + on: SymbolForCPython, + args: Long, + kwargs: Long +): Long { + return ConcretePythonInterpreter.callSymbolicMethod(on, args, kwargs).address } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt new file mode 100644 index 0000000000..0f96cf69a6 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -0,0 +1,13 @@ +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object ListAppendDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListAppendMethod(ctx, owner) + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt new file mode 100644 index 0000000000..a7b9c66d6f --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -0,0 +1,12 @@ +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object SliceStartDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index b3efb92ae6..aaf232904a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -12,7 +12,8 @@ class PreallocatedObjects( val noneObject: UninterpretedSymbolicPythonObject, val trueObject: UninterpretedSymbolicPythonObject, val falseObject: UninterpretedSymbolicPythonObject, - private val concreteStrToSymbol: MutableMap + private val concreteStrToSymbol: MutableMap, + private val symbolToConcreteStr: MutableMap ) { fun allocateStr(ctx: ConcolicRunContext, string: String): UninterpretedSymbolicPythonObject { @@ -22,15 +23,20 @@ class PreallocatedObjects( return cached val result = constructEmptyObject(ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) concreteStrToSymbol[string] = result + symbolToConcreteStr[result] = string return result } + fun concreteString(symbol: UninterpretedSymbolicPythonObject): String? = + symbolToConcreteStr[symbol] + fun clone(): PreallocatedObjects = PreallocatedObjects( noneObject, trueObject, falseObject, - concreteStrToSymbol.toMutableMap() + concreteStrToSymbol.toMutableMap(), + symbolToConcreteStr.toMutableMap() ) companion object { @@ -44,7 +50,8 @@ class PreallocatedObjects( noneObject = constructEmptyObject(initialMemory, typeSystem, typeSystem.pythonNoneType), trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), - concreteStrToSymbol = mutableMapOf() + concreteStrToSymbol = mutableMapOf(), + symbolToConcreteStr = mutableMapOf() ) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt b/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameters.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameteres.kt rename to usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameters.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index bfc089ca61..ba553eaca3 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -34,13 +34,15 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x): - return x + def list_append(x): + res = [] + res.append(x) + assert res[-1] == 127 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "f" + "list_append" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/resources/samples/Slices.py b/usvm-python/src/test/resources/samples/Slices.py new file mode 100644 index 0000000000..cddb4219ca --- /dev/null +++ b/usvm-python/src/test/resources/samples/Slices.py @@ -0,0 +1,2 @@ +def field_start(x): + return x.start From cb8dba8b72adeb55c121380d8573cdf41847aab9 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Wed, 13 Sep 2023 14:36:52 +0300 Subject: [PATCH 094/344] fixed segfault on windows --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 7 ++++- .../cpythonadapter/src/main/c/converters.c | 6 +--- .../src/main/c/include/converters.h | 1 - .../org_usvm_interpreter_CPythonAdapter.h | 10 +------ .../src/main/c/include/symbolic_methods.h | 9 +++--- .../cpythonadapter/src/main/c/include/utils.h | 2 ++ .../c/org_usvm_interpreter_CPythonAdapter.c | 28 +++++++++++-------- .../src/main/c/symbolic_methods.c | 9 +++--- usvm-python/cpythonadapter/src/main/c/utils.c | 2 ++ .../src/main/json/adapter_method_defs.json | 12 -------- .../src/main/json/handler_defs.json | 5 ---- .../org/usvm/interpreter/CPythonAdapter.java | 10 ++----- .../usvm/interpreter/ConcolicRunContext.java | 1 - .../usvm/interpreter/MemberDescriptor.java | 2 +- .../interpreters/ConcretePythonInterpreter.kt | 13 ++------- .../machine/interpreters/operations/Common.kt | 10 +------ .../operations/descriptors/List.kt | 4 +-- .../operations/descriptors/Slice.kt | 3 +- 19 files changed, 47 insertions(+), 89 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index c9ffd15753..309a4a8807 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit c9ffd157531b61ed77b953f19a9061ea4badb708 +Subproject commit 309a4a8807dc261a7ece5cee397eed86340cfa03 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index ed50db3489..25f9774ed4 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -1,4 +1,7 @@ #include "approximations.h" +#include "converters.h" +#include "utils.h" + #include "wrapper.h" #define list_richcmp_impl(OP) \ @@ -104,11 +107,13 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { return result; } -PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, PyObject *symbolic_list, PyObject *args, PyObject *kwargs) { +PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 1 || kwargs) return Py_None; PyObject *symbolic_elem = PyTuple_GetItem(args, 0); + PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); PyObject *self = adapter->list_append(adapter->handler_param, symbolic_list, symbolic_elem); + Py_DECREF(symbolic_list); if (!self) return 0; PyObject *result = adapter->load_const(adapter->handler_param, Py_None); diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index fecd9b1109..4ac21d7d6e 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -30,13 +30,9 @@ PyObject *ref_wrapper(ConcolicContext *ctx, jlong value) { } PyObject *object_wrapper(ConcolicContext *ctx, jobject value) { - return object_wrapper_env(ctx->env, value); -} - -PyObject *object_wrapper_env(JNIEnv *env, jobject value) { if (!value) return Py_None; - return wrap_java_object(env, value); + return wrap_java_object(ctx->env, value); } jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) { diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index c8ec8f35b6..1668482ec9 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -14,7 +14,6 @@ jint int_converter(ConcolicContext *ctx, int value, int *fail); jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); PyObject *ref_wrapper(ConcolicContext *ctx, jlong value); PyObject *object_wrapper(ConcolicContext *ctx, jobject value); -PyObject *object_wrapper_env(JNIEnv *env, jobject value); jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); jstring string_converter(ConcolicContext *ctx, const char *str, int *fail); diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 7d4f4833be..03be9c57d6 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -341,15 +341,7 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe * Signature: (JLorg/usvm/language/SymbolForCPython;)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod - (JNIEnv *, jobject, jlong, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: callSymbolicMethod - * Signature: (JJJ)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callSymbolicMethod - (JNIEnv *, jobject, jlong, jlong, jlong); + (JNIEnv *, jobject, jobject); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index ef5f8d10ab..ab8d128978 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -8,18 +8,17 @@ extern "C" { #include "Python.h" #include "symbolicadapter.h" -typedef PyObject *(call_type)(SymbolicAdapter *adapter, PyObject *self, PyObject *args, PyObject *kwargs); +typedef PyObject *(call_type)(SymbolicAdapter *adapter, jobject self_reference, PyObject *args, PyObject *kwargs); typedef struct { call_type *call; - PyObject *self; - SymbolicAdapter *adapter; + jobject self_reference; } SymbolicMethod; void initialize_symbolic_methods_holder(); // void clean_methods(); -SymbolicMethod *construct_list_append_method(JNIEnv *env, SymbolicAdapter *adapter, jobject symbolic_self); -PyObject *call_symbolic_method(SymbolicMethod *method, PyObject *args, PyObject *kwargs); +SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); +PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 60efb30658..72d8603374 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -22,6 +22,7 @@ PyObject *wrap_java_object(JNIEnv *env, jobject object); int is_wrapped_java_object(PyObject *object); typedef struct { + SymbolicAdapter *adapter; jobject context; JNIEnv *env; jclass cpython_adapter_cls; @@ -31,6 +32,7 @@ typedef struct { PyObject *java_exception; jfieldID cpython_thrown_exception_field; jfieldID cpython_java_exception_field; + jfieldID symbol_tp_call_ref; HANDLERS_DEFS } ConcolicContext; diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 23643dae61..5b6a2fcbb7 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -188,6 +188,18 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu return (jlong) result; } +static PyObject * +symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs) { + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + if (!is_wrapped_java_object(self)) + return Py_None; + jobject symbol = ((JavaPythonObject *) self)->reference; + jlong ref = (*ctx->env)->GetLongField(ctx->env, symbol, ctx->symbol_tp_call_ref); + if (ref == 0) + return Py_None; + return call_symbolic_method((SymbolicMethod *) ref, ctx->adapter, args, kwargs); +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEnv *env, jobject cpython_adapter, @@ -207,12 +219,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( (*env)->SetLongField(env, cpython_adapter, ctx.cpython_java_exception_field, (jlong) ctx.java_exception); SymbolicAdapter *adapter = create_new_adapter(&ctx); - jclass concolic_context_cls = (*env)->FindClass(env, "org/usvm/interpreter/ConcolicRunContext"); - jfieldID symbolic_adapter_field = (*env)->GetFieldID(env, concolic_context_cls, "symbolicAdapterRef", "J"); - (*env)->SetLongField(env, context, symbolic_adapter_field, (jlong) adapter); - + ctx.adapter = adapter; register_virtual_methods(adapter); REGISTER_ADAPTER_METHODS(adapter); + adapter->symbolic_tp_call = symbolic_tp_call; register_approximations(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); @@ -448,12 +458,6 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe return get_symbolic_descriptor(env, adapter, (PyObject *) descr_ref); } -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod(JNIEnv *env, jobject _, jlong adapter_ref, jobject symbolic_list_ref) { - return (jlong) construct_list_append_method(env, (SymbolicAdapter *) adapter_ref, symbolic_list_ref); -} - -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callSymbolicMethod(JNIEnv *env, jobject _, jlong method_ref, jlong args_ref, jlong kwargs_ref) { - assert(method_ref != 0); - PyObject *result = call_symbolic_method((SymbolicMethod *) method_ref, (PyObject *) args_ref, (PyObject *) kwargs_ref); - return (jlong) result; +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { + return (jlong) construct_list_append_method(env, symbolic_list_ref); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index fcfaa285b3..cab1c639bc 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -23,17 +23,16 @@ void clean_methods() { */ SymbolicMethod * -construct_list_append_method(JNIEnv *env, SymbolicAdapter *adapter, jobject symbolic_self) { +construct_list_append_method(JNIEnv *env, jobject symbolic_self) { assert(methods_holder); SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); result->call = SymbolicMethod_list_append; - result->self = object_wrapper_env(env, symbolic_self); - result->adapter = adapter; + result->self_reference = (*env)->NewGlobalRef(env, symbolic_self); PyList_Append(methods_holder, PyLong_FromLong((long) result)); return result; } PyObject * -call_symbolic_method(SymbolicMethod *method, PyObject *args, PyObject *kwargs) { - return method->call(method->adapter, method->self, args, kwargs); +call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs) { + return method->call(adapter, method->self_reference, args, kwargs); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 7cd2406fcc..6e1dc4fa21 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -44,6 +44,7 @@ int is_wrapped_java_object(PyObject *object) { } void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_adapter, ConcolicContext *dist) { + dist->adapter = 0; dist->env = env; dist->context = context; dist->cpython_adapter = cpython_adapter; @@ -53,6 +54,7 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->java_exception = PyErr_NewException("ibmviqhlye.JavaException", 0, 0); dist->cpython_thrown_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "thrownException", "J"); dist->cpython_java_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "javaExceptionType", "J"); + dist->symbol_tp_call_ref = (*env)->GetFieldID(env, dist->symbol_cls, "symbolicTpCall", "J"); DO_REGISTRATIONS(dist, env) } diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index eef633cbe6..2ed8450d78 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -646,17 +646,5 @@ "result_converter": "object_wrapper", "fail_value": "0", "default_value": "Py_None" - }, - { - "c_name": "symbolic_tp_call", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jlong", "jlong"], - "java_return_type": "jlong", - "argument_converters": ["object_converter", "ref_converter", "ref_converter"], - "result_converter": "ref_wrapper", - "fail_value": "0", - "default_value": "Py_None" } ] \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 3c76271102..bcbccc167e 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -293,10 +293,5 @@ "c_name": "standard_tp_getattro", "java_name": "handlerStandardTpGetattro", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "symbolic_tp_call", - "java_name": "symbolicTpCall", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;JJ)J" } ] diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 573fec9139..09ee62e8a4 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -82,8 +82,7 @@ public class CPythonAdapter { public native long typeLookup(long typeRef, String name); @Nullable public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); - public native long constructListAppendMethod(long symbolicAdapterRef, SymbolForCPython symbolicList); - public native long callSymbolicMethod(long methodRef, long argsRef, long kwargsRef); + public native long constructListAppendMethod(SymbolForCPython symbolicList); static { System.loadLibrary("cpythonadapter"); @@ -294,7 +293,8 @@ public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext conte return methodWrapper(context, new MethodParameters("list_inplace_concat", Arrays.asList(left, right)), () -> handlerListInplaceConcatKt(context, left.obj, right.obj)); } - public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { + @Nullable + public static SymbolForCPython handlerListAppend(ConcolicRunContext context, @NotNull SymbolForCPython list, SymbolForCPython elem) { if (list.obj == null || elem.obj == null) return null; return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); @@ -475,8 +475,4 @@ public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext cont return null; return withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); } - - public static long symbolicTpCall(ConcolicRunContext context, @NotNull SymbolForCPython on, long args, long kwargs) { - return symbolicTpCallKt(on, args, kwargs); - } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 9785233c5a..809933b4c2 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -34,7 +34,6 @@ public class ConcolicRunContext { public int instructionCounter = 0; public boolean usesVirtualInputs = false; public Callable isCancelled; - public long symbolicAdapterRef; public ConcolicRunContext( @NotNull PythonExecutionState curState, diff --git a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java index bc3192187b..de55c4262c 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java @@ -6,5 +6,5 @@ public abstract class MemberDescriptor { @Nullable - public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); + public abstract SymbolForCPython getMember(UninterpretedSymbolicPythonObject owner); } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 527ca6f041..f69074daf2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -183,21 +183,12 @@ object ConcretePythonInterpreter { return pythonAdapter.getSymbolicDescriptor(concreteDescriptor.address) } - fun constructListAppendMethod(ctx: ConcolicRunContext, self: UninterpretedSymbolicPythonObject): SymbolForCPython { - val ref = pythonAdapter.constructListAppendMethod(ctx.symbolicAdapterRef, SymbolForCPython(self, 0)); + fun constructListAppendMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { + val ref = pythonAdapter.constructListAppendMethod(SymbolForCPython(self, 0)); require(ref != 0L) return SymbolForCPython(null, ref) } - fun callSymbolicMethod(symbol: SymbolForCPython, args: Long, kwargs: Long): PythonObject { - if (symbol.symbolicTpCall == 0L) - return PythonObject(pythonAdapter.pyNoneRef) - val result = pythonAdapter.callSymbolicMethod(symbol.symbolicTpCall, args, kwargs) - if (result == 0L) - throw CPythonExecutionException() - return PythonObject(result) - } - private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 6a8c60a1fd..c7754dfa14 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -119,13 +119,5 @@ fun handlerStandardTpGetattroKt( val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) ?: return null val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null - return memberDescriptor.getMember(ctx, obj) -} - -fun symbolicTpCallKt( - on: SymbolForCPython, - args: Long, - kwargs: Long -): Long { - return ConcretePythonInterpreter.callSymbolicMethod(on, args, kwargs).address + return memberDescriptor.getMember(obj) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt index 0f96cf69a6..209391ac13 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -7,7 +7,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject object ListAppendDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListAppendMethod(ctx, owner) + override fun getMember(owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListAppendMethod(owner) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt index a7b9c66d6f..b9da8b96a7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -1,12 +1,11 @@ package org.usvm.machine.interpreters.operations.descriptors -import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject object SliceStartDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + override fun getMember(owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { TODO("Not yet implemented") } } \ No newline at end of file From 767cb7f165b20ea17f31a5341f0b3a64ebc16670 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Wed, 13 Sep 2023 14:49:28 +0300 Subject: [PATCH 095/344] fix on linux --- usvm-python/cpythonadapter/src/main/c/include/approximations.h | 3 ++- .../src/main/c/include/org_usvm_interpreter_CPythonAdapter.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index db6af9f54f..c76e601a71 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -4,6 +4,7 @@ extern "C" { #endif +#include #include "Python.h" #include "symbolicadapter.h" @@ -23,7 +24,7 @@ PyObject *Approximation_sum(PyObject *iterable); // builtins.sum PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat -PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, PyObject *self, PyObject *args, PyObject *kwargs); // list.append +PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.append #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 03be9c57d6..140af1f8eb 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -338,7 +338,7 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe /* * Class: org_usvm_interpreter_CPythonAdapter * Method: constructListAppendMethod - * Signature: (JLorg/usvm/language/SymbolForCPython;)J + * Signature: (Lorg/usvm/language/SymbolForCPython;)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod (JNIEnv *, jobject, jobject); From 194767979d64f097fe80123d97194d54bb17b07a Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 14 Sep 2023 12:54:59 +0300 Subject: [PATCH 096/344] tp_getattro --- usvm-python/cpythonadapter/cpython | 2 +- .../cpythonadapter/src/main/c/descriptors.c | 7 ++++ .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +++ .../src/main/c/virtual_objects.c | 25 +++++++++++ .../src/main/json/adapter_method_defs.json | 12 ++++++ .../src/main/json/handler_defs.json | 5 +++ .../org/usvm/interpreter/CPythonAdapter.java | 12 +++++- .../usvm/interpreter/MemberDescriptor.java | 2 +- .../kotlin/org/usvm/language/Callables.kt | 1 + .../main/kotlin/org/usvm/language/Fields.kt | 9 ++++ .../org/usvm/language/types/TypeSystem.kt | 1 + .../org/usvm/language/types/VirtualTypes.kt | 5 +++ .../interpreters/ConcretePythonInterpreter.kt | 1 + .../machine/interpreters/operations/Common.kt | 2 +- .../operations/MethodNotifications.kt | 6 +++ .../operations/descriptors/List.kt | 2 +- .../operations/descriptors/Slice.kt | 15 ++++++- .../ConverterToPythonObject.kt | 13 +++++- .../symbolicobjects/SymbolicObjectContents.kt | 42 ++++++++++++++++++- .../types/prioritization/SymbolTypeTree.kt | 33 ++++++++------- usvm-python/src/test/kotlin/manualTest.kt | 16 +++---- .../kotlin/org/usvm/samples/SlicesTest.kt | 23 ++++++++++ .../src/test/resources/samples/Slices.py | 2 +- 24 files changed, 217 insertions(+), 32 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 309a4a8807..dd40bdaaff 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 309a4a8807dc261a7ece5cee397eed86340cfa03 +Subproject commit dd40bdaaff4efe1ec65f9f3f8bc6d689e636c9da diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index 6fb6a0276b..60f94d1097 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -8,6 +8,13 @@ get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_APPEND) { jfieldID list_append_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listAppendDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); return (*env)->GetObjectField(env, cpython_adapter, list_append_id); + + } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && + ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && + PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "start") == 0) { + jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStartDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, slice_start); } + return 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 140af1f8eb..2cc6fb9163 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -271,6 +271,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpAssSubs JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpGetattro + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpGetattro + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpIter diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 5b6a2fcbb7..732a0fb25b 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -403,6 +403,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp return type->tp_richcompare != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpGetattro(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_getattro != 0; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_iter != 0; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 438448ea93..d6175f7f59 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -40,6 +40,29 @@ tp_richcompare(PyObject *o1, PyObject *o2, int op) { } PyType_Slot Virtual_tp_richcompare = {Py_tp_richcompare, tp_richcompare}; +static int +is_special_attribute(PyObject *name) { + if (!PyUnicode_Check(name)) + return 0; + return PyUnicode_CompareWithASCIIString(name, "__instancecheck__") == 0 || + PyUnicode_CompareWithASCIIString(name, "__class__") == 0; +} + +static PyObject * +tp_getattro(PyObject *self, PyObject *name) { + assert(is_virtual_object(self)); + /*printf("tp_getattro on "); + PyObject_Print(name, stdout, 0); + printf("\n"); + fflush(stdout);*/ + if (is_special_attribute(name)) { + PyErr_Format(PyExc_AttributeError, "special attribute on virtual object"); + return 0; + } + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) +} +PyType_Slot Virtual_tp_getattro = {Py_tp_getattro, tp_getattro}; + static PyObject * tp_iter(PyObject *o1) { assert(is_virtual_object(o1)); @@ -145,6 +168,7 @@ initialize_virtual_object_type() { PyType_Slot slots[] = { Virtual_tp_dealloc, Virtual_tp_richcompare, + Virtual_tp_getattro, Virtual_tp_iter, Virtual_nb_bool, Virtual_nb_int, @@ -204,6 +228,7 @@ is_virtual_object(PyObject *obj) { void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; + adapter->virtual_tp_getattro = tp_getattro; adapter->virtual_tp_iter = tp_iter; adapter->virtual_nb_add = nb_add; adapter->virtual_nb_subtract = nb_subtract; diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 2ed8450d78..8d930eb714 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -551,6 +551,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "tp_getattro", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "tp_iter", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index bcbccc167e..5b64a5bcb6 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -229,6 +229,11 @@ "java_name": "notifyTpRichcmp", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" }, + { + "c_name": "tp_getattro", + "java_name": "notifyTpGetattro", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "tp_iter", "java_name": "notifyTpIter", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 09ee62e8a4..ee98ae1ef5 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -6,6 +6,7 @@ import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; import org.usvm.machine.interpreters.operations.descriptors.ListAppendDescriptor; +import org.usvm.machine.interpreters.operations.descriptors.SliceStartDescriptor; import org.usvm.machine.interpreters.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; @@ -40,6 +41,7 @@ public class CPythonAdapter { public int pyGE; public int pyGT; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; + public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict @@ -73,6 +75,7 @@ public class CPythonAdapter { public native int typeHasMpSubscript(long type); public native int typeHasMpAssSubscript(long type); public native int typeHasTpRichcmp(long type); + public native int typeHasTpGetattro(long type); public native int typeHasTpIter(long type); public native int typeHasStandardNew(long type); public native long callStandardNew(long type); @@ -432,13 +435,20 @@ public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @No mpAssSubscriptKt(context, storage.obj); } - public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, @NotNull SymbolForCPython left, SymbolForCPython right) { + public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { if (left.obj == null) return; context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left.obj, right.obj), left.obj); tpRichcmpKt(context, left.obj); } + public static void notifyTpGetattro(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on, @NotNull SymbolForCPython name) { + if (on.obj == null || name.obj == null) + return; + context.curOperation = new MockHeader(TpGetattro.INSTANCE, Arrays.asList(on.obj, name.obj), on.obj); + tpGetattroKt(context, on.obj, name.obj); + } + public static void notifyTpIter(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { if (on.obj == null) return; diff --git a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java index de55c4262c..bc3192187b 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java @@ -6,5 +6,5 @@ public abstract class MemberDescriptor { @Nullable - public abstract SymbolForCPython getMember(UninterpretedSymbolicPythonObject owner); + public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt index 6b1b88a892..cc5d01add3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt @@ -37,4 +37,5 @@ object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) object MpAssSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) +object TpGetattro: TypeMethod(false) object TpIterMethod: TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index 5d22f76f84..6d314b999c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -33,4 +33,13 @@ object TupleIteratorContents { val index = ContentOfType("index_of_tuple_iterator") } +object SliceContents { + val start = ContentOfType("start_of_slice") + val startIsNone = ContentOfType("start_none_of_slice") + val stop = ContentOfType("stop_of_slice") + val stopIsNone = ContentOfType("stop_none_of_slice") + val step = ContentOfType("step_of_slice") + val stepIsNone = ContentOfType("step_none_of_slice") +} + object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 01a7bc2cfd..e08505979b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -102,6 +102,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonRange = createConcreteTypeByName("range", isHidden = true) val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())", isHidden = true) val pythonStr = createConcreteTypeByName("str") + val pythonSlice = createConcreteTypeByName("slice") protected val basicTypes: List by lazy { concreteTypeToAddress.keys.filter { !it.isHidden } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 6aed02cb2c..b83cea8ab0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -88,6 +88,11 @@ object HasTpRichcmp: TypeProtocol() { ConcretePythonInterpreter.typeHasTpRichcmp(type.asObject) } +object HasTpGetattro: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpGetattro(type.asObject) +} + object HasTpIter: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpIter(type.asObject) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index f69074daf2..87d70e2608 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -207,6 +207,7 @@ object ConcretePythonInterpreter { val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } val typeHasMpAssSubscript = createTypeQuery { pythonAdapter.typeHasMpAssSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } + val typeHasTpGetattro = createTypeQuery { pythonAdapter.typeHasTpGetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index c7754dfa14..7040f23378 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -119,5 +119,5 @@ fun handlerStandardTpGetattroKt( val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) ?: return null val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null - return memberDescriptor.getMember(obj) + return memberDescriptor.getMember(ctx, obj) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt index 1911803c88..92f4121d1e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt @@ -54,6 +54,12 @@ fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonOb myAssert(context, left.evalIsSoft(context, HasTpRichcmp)) } +fun tpGetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasTpGetattro)) + myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) +} + fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpIter)) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt index 209391ac13..9c4902bd11 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -7,7 +7,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject object ListAppendDescriptor: MemberDescriptor() { - override fun getMember(owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { return ConcretePythonInterpreter.constructListAppendMethod(owner) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt index b9da8b96a7..8d03a66478 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -1,11 +1,22 @@ package org.usvm.machine.interpreters.operations.descriptors +import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.getSliceStart object SliceStartDescriptor: MemberDescriptor() { - override fun getMember(owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { - TODO("Not yet implemented") + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + val (isNone, content) = owner.getSliceStart(ctx) + val address = ctx.ctx.mkIte( + isNone, + ctx.curState!!.preAllocatedObjects.noneObject.address, + constructInt(ctx, content).address + ) + return SymbolForCPython(UninterpretedSymbolicPythonObject(address, ctx.typeSystem), 0) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 12aac40048..40d94337e8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -54,6 +54,7 @@ class ConverterToPythonObject( typeSystem.pythonList -> convertList(obj) typeSystem.pythonTuple -> convertTuple(obj) typeSystem.pythonStr -> convertString() + typeSystem.pythonSlice -> convertSlice(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(type) @@ -129,7 +130,7 @@ class ConverterToPythonObject( return resultList } - private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject = with(ctx) { + private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject { val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType) as KInt32NumExpr val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple @@ -137,6 +138,14 @@ class ConverterToPythonObject( listOfPythonObjects.forEachIndexed { index, pythonObject -> ConcretePythonInterpreter.setTupleElement(resultTuple, index, pythonObject) } - resultTuple + return resultTuple + } + + private fun convertSlice(obj: InterpretedInputSymbolicPythonObject): PythonObject { + val (start, stop, step) = obj.getSliceContent(ctx, typeSystem) + val startStr = start?.toString() ?: "None" + val stopStr = stop?.toString() ?: "None" + val stepStr = step?.toString() ?: "None" + return ConcretePythonInterpreter.eval(emptyNamespace, "slice($startStr, $stopStr, $stepStr)") } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 2597143557..ca7c42f149 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -10,9 +10,12 @@ import org.usvm.api.readArrayLength import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue import org.usvm.language.* import org.usvm.language.types.ArrayType +import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext +import org.usvm.machine.interpreters.operations.myAssert /** int **/ @@ -233,4 +236,41 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) return mkArithAdd(start, mkArithMul(index, step)) -} \ No newline at end of file +} + +/** slice **/ + +data class SliceInterpretedContent( + val start: KInterpretedValue?, + val stop: KInterpretedValue?, + val step: KInterpretedValue? +) + +fun InterpretedInputSymbolicPythonObject.getSliceContent(ctx: UPythonContext, typeSystem: PythonTypeSystem): SliceInterpretedContent { + require(getConcreteType() == typeSystem.pythonSlice) + val startIsNone = modelHolder.model.readField(address, SliceContents.startIsNone, ctx.boolSort).isTrue + val start = if (startIsNone) null else modelHolder.model.readField(address, SliceContents.start, ctx.intSort) + val stopIsNone = modelHolder.model.readField(address, SliceContents.stopIsNone, ctx.boolSort).isTrue + val stop = if (stopIsNone) null else modelHolder.model.readField(address, SliceContents.stop, ctx.intSort) + val stepIsNone = modelHolder.model.readField(address, SliceContents.stepIsNone, ctx.boolSort).isTrue + val step = if (stepIsNone) null else modelHolder.model.readField(address, SliceContents.step, ctx.intSort) + return SliceInterpretedContent(start, stop, step) +} + +data class SliceUninterpretedField( + val isNone: UBoolExpr, + val content: UExpr +) + +fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField { + require(ctx.curState != null) + addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) + val startIsNone = ctx.curState!!.memory.readField(address, SliceContents.startIsNone, ctx.ctx.boolSort) + val start = ctx.curState!!.memory.readField(address, SliceContents.start, ctx.ctx.intSort) + return SliceUninterpretedField(startIsNone, start) +} + +/** str **/ + +fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = + preallocatedObjects.concreteString(this) \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index 6c9a5b603b..194e5b0147 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -4,6 +4,7 @@ import org.usvm.language.* import org.usvm.machine.PythonExecutionState import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.getConcreteStrIfDefined import org.utbot.python.newtyping.PythonTypeHintsStorage import org.utbot.python.newtyping.createBinaryProtocol import org.utbot.python.newtyping.createUnaryProtocol @@ -20,30 +21,35 @@ class SymbolTypeTree( ) { private val root = SymbolTreeNode(rootSymbol) private fun generateSuccessors(node: SymbolTreeNode): List = - state.getMocksForSymbol(node.symbol).map { (mockHeader, resultSymbol) -> - val protocol = { returnType: UtType -> + state.getMocksForSymbol(node.symbol).mapNotNull { (mockHeader, resultSymbol) -> + val protocol = when (mockHeader.method) { MpAssSubscriptMethod -> - createBinaryProtocol("__setitem__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__setitem__", pythonAnyType, returnType) } MpSubscriptMethod -> - createBinaryProtocol("__getitem__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__getitem__", pythonAnyType, returnType) } NbAddMethod -> - createBinaryProtocol("__add__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__add__", pythonAnyType, returnType) } NbSubtractMethod -> - createBinaryProtocol("__sub__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__sub__", pythonAnyType, returnType) } NbBoolMethod -> - createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) + { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } NbIntMethod -> - createUnaryProtocol("__int__", typeHintsStorage.pythonInt) + { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } NbMatrixMultiplyMethod -> - createBinaryProtocol("__matmul__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__matmul__", pythonAnyType, returnType) } NbMultiplyMethod -> - createBinaryProtocol("__mul__", pythonAnyType, returnType) + { returnType: UtType -> createBinaryProtocol("__mul__", pythonAnyType, returnType) } SqLengthMethod -> - createUnaryProtocol("__len__", typeHintsStorage.pythonInt) + { _: UtType -> createUnaryProtocol("__len__", typeHintsStorage.pythonInt) } TpIterMethod -> - createUnaryProtocol("__iter__", returnType) - is TpRichcmpMethod -> { + { returnType: UtType -> createUnaryProtocol("__iter__", returnType) } + TpGetattro -> { + val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) + ?: return@mapNotNull null + { returnType: UtType -> createUnaryProtocol(attribute, returnType) } + } + is TpRichcmpMethod -> { returnType: UtType -> when (mockHeader.method.op) { ConcretePythonInterpreter.pyEQ -> createBinaryProtocol("__eq__", pythonAnyType, returnType) @@ -61,7 +67,6 @@ class SymbolTypeTree( } } } - } node.upperBounds.add(protocol(pythonAnyType)) val newNode = SymbolTreeNode(resultSymbol) val edge = SymbolTreeEdge(newNode, node) { type -> listOf(protocol(type)) } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index ba553eaca3..da35cd6a60 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,17 +32,19 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( + val (program, typeSystem) = constructStructuredProgram() + /*constructPrimitiveProgram( """ - def list_append(x): - res = [] - res.append(x) - assert res[-1] == 127 + def simple_str(x): + if isinstance(x, str): + return 1 + return 2 """.trimIndent() - ) + )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "list_append" + "field_start", + "Slices" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt new file mode 100644 index 0000000000..3f0d8237ad --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -0,0 +1,23 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions(stepLimit = 20U)) { + @Test + fun testFieldStart() { + check1WithConcreteRun( + constructFunction("field_start", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "slice" && res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "slice" && res.repr == "None" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Slices.py b/usvm-python/src/test/resources/samples/Slices.py index cddb4219ca..0fffa014dc 100644 --- a/usvm-python/src/test/resources/samples/Slices.py +++ b/usvm-python/src/test/resources/samples/Slices.py @@ -1,2 +1,2 @@ def field_start(x): - return x.start + assert x.start == 157 From c43822d054cda64a41b9cdf226ec6099cfdc3308 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 14 Sep 2023 13:29:49 +0300 Subject: [PATCH 097/344] slice fields --- .../cpythonadapter/src/main/c/descriptors.c | 12 ++++++ .../org/usvm/interpreter/CPythonAdapter.java | 4 ++ .../operations/descriptors/Slice.kt | 37 ++++++++++++----- .../symbolicobjects/SymbolicObjectContents.kt | 21 ++++++++-- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../kotlin/org/usvm/samples/SlicesTest.kt | 40 ++++++++++++++++++- .../src/test/resources/samples/Slices.py | 22 ++++++++++ 7 files changed, 123 insertions(+), 15 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index 60f94d1097..bcb19f9b89 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -14,6 +14,18 @@ get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "start") == 0) { jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStartDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); return (*env)->GetObjectField(env, cpython_adapter, slice_start); + + } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && + ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && + PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "stop") == 0) { + jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStopDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, slice_start); + + } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && + ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && + PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "step") == 0) { + jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStepDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, slice_start); } return 0; diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ee98ae1ef5..cb7cbbb6af 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -7,6 +7,8 @@ import org.usvm.machine.interpreters.PythonObject; import org.usvm.machine.interpreters.operations.descriptors.ListAppendDescriptor; import org.usvm.machine.interpreters.operations.descriptors.SliceStartDescriptor; +import org.usvm.machine.interpreters.operations.descriptors.SliceStepDescriptor; +import org.usvm.machine.interpreters.operations.descriptors.SliceStopDescriptor; import org.usvm.machine.interpreters.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; @@ -42,6 +44,8 @@ public class CPythonAdapter { public int pyGT; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; + public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; + public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt index 8d03a66478..b248121c60 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -3,20 +3,39 @@ package org.usvm.machine.interpreters.operations.descriptors import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.getSliceStart +private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunContext): SymbolForCPython { + val (isNone, content) = field + val address = ctx.ctx.mkIte( + isNone, + ctx.curState!!.preAllocatedObjects.noneObject.address, + constructInt(ctx, content).address + ) + return SymbolForCPython(UninterpretedSymbolicPythonObject(address, ctx.typeSystem), 0) +} + object SliceStartDescriptor: MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { if (ctx.curState == null) return null - val (isNone, content) = owner.getSliceStart(ctx) - val address = ctx.ctx.mkIte( - isNone, - ctx.curState!!.preAllocatedObjects.noneObject.address, - constructInt(ctx, content).address - ) - return SymbolForCPython(UninterpretedSymbolicPythonObject(address, ctx.typeSystem), 0) + return constructResult(owner.getSliceStart(ctx), ctx) + } +} + +object SliceStopDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + return constructResult(owner.getSliceStop(ctx), ctx) + } +} + +object SliceStepDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + return constructResult(owner.getSliceStep(ctx), ctx) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index ca7c42f149..b0deea979f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -262,14 +262,27 @@ data class SliceUninterpretedField( val content: UExpr ) -fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField { +private fun UninterpretedSymbolicPythonObject.getSliceField( + ctx: ConcolicRunContext, + fieldIsNone: PropertyOfPythonObject, + field: PropertyOfPythonObject +): SliceUninterpretedField { require(ctx.curState != null) addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) - val startIsNone = ctx.curState!!.memory.readField(address, SliceContents.startIsNone, ctx.ctx.boolSort) - val start = ctx.curState!!.memory.readField(address, SliceContents.start, ctx.ctx.intSort) - return SliceUninterpretedField(startIsNone, start) + val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) + val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) + return SliceUninterpretedField(isNone, value) } +fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.startIsNone, SliceContents.start) + +fun UninterpretedSymbolicPythonObject.getSliceStop(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop) + +fun UninterpretedSymbolicPythonObject.getSliceStep(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.stepIsNone, SliceContents.step) + /** str **/ fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index da35cd6a60..8bd97eba09 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -43,7 +43,7 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "field_start", + "none_fields", "Slices" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index 3f0d8237ad..cd19d8d097 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -12,7 +12,7 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions check1WithConcreteRun( constructFunction("field_start", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, - compareConcolicAndConcreteTypes, + standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { x, res -> x.typeName == "slice" && res.selfTypeName == "AssertionError" }, @@ -20,4 +20,42 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions ) ) } + @Test + fun testFieldStop() { + check1WithConcreteRun( + constructFunction("field_stop", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "slice" && res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "slice" && res.repr == "None" } + ) + ) + } + @Test + fun testFieldStep() { + check1WithConcreteRun( + constructFunction("field_step", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "slice" && res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "slice" && res.repr == "None" } + ) + ) + } + @Test + fun testNoneFields() { + check1WithConcreteRun( + constructFunction("none_fields", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(6) { + { x, res -> x.typeName == "slice" && res.repr == (it + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Slices.py b/usvm-python/src/test/resources/samples/Slices.py index 0fffa014dc..3cadeba18d 100644 --- a/usvm-python/src/test/resources/samples/Slices.py +++ b/usvm-python/src/test/resources/samples/Slices.py @@ -1,2 +1,24 @@ def field_start(x): assert x.start == 157 + + +def field_stop(x): + assert x.stop == 157 + + +def field_step(x): + assert x.step == 157 + + +def none_fields(x): + if x.start is None: + return 1 + elif x.stop is not None and x.stop + 10 > 100 and x.step is None: + return 2 + elif x.stop is None and x.step is not None and x.step < 0: + return 3 + elif x.stop is not None: + return 4 + elif x.step is None: + return 5 + return 6 From e48c22c8f7999fae22ff62240a9115379a315d05 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 14 Sep 2023 17:21:56 +0300 Subject: [PATCH 098/344] list_subscript on slices --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 112 +++++++++++++++++- .../src/main/c/include/approximations.h | 1 + usvm-python/cpythonadapter/src/main/c/utils.c | 1 + .../src/main/json/adapter_method_defs.json | 12 ++ .../src/main/json/handler_defs.json | 5 + .../org/usvm/interpreter/CPythonAdapter.java | 11 +- .../machine/interpreters/operations/Slice.kt | 37 ++++++ .../tracing/SymbolicHandlerEvent.kt | 1 - .../SymbolicObjectConstruction.kt | 16 +++ .../symbolicobjects/SymbolicObjectContents.kt | 24 +++- usvm-python/src/test/kotlin/manualTest.kt | 34 +++--- .../org/usvm/runner/PythonTestRunner.kt | 16 ++- .../kotlin/org/usvm/samples/SlicesTest.kt | 28 +++++ .../src/test/resources/samples/Slices.py | 23 ++++ 15 files changed, 299 insertions(+), 24 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index dd40bdaaff..2944762999 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit dd40bdaaff4efe1ec65f9f3f8bc6d689e636c9da +Subproject commit 2944762999578773fbf86079166b1b9463b9c682 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 25f9774ed4..8c7c28af97 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -34,42 +34,137 @@ PyObject *list_richcompare_ge = 0; " result = [] \n" \ " for _ in range(y): \n" \ " result += x \n" \ - " return result \n" \ + " return result \n" PyObject *list_multiply = 0; +#define slice_unpack_impl \ + "def slice_unpack_impl(s: slice): \n"\ + " start, stop, step = None, None, None \n"\ + " min_, max_ = -10**18, 10**18 \n"\ + " if s.step is None: \n"\ + " step = 1 \n"\ + " else: \n"\ + " step = s.step \n"\ + " if step == 0: \n"\ + " raise ValueError('slice step cannot be zero') \n"\ + " if s.start is None: \n"\ + " start = max_ if step < 0 else 0 \n"\ + " else: \n"\ + " start = s.start \n"\ + " if s.stop is None: \n"\ + " stop = min_ if step < 0 else max_\n"\ + " else: \n"\ + " stop = s.stop \n"\ + " return start, stop, step \n" + +PyObject *slice_unpack = 0; + +#define slice_adjust_indices_impl \ + "def slice_adjust_indices_impl(length, start, stop, step): \n"\ + " result_length = 0 \n"\ + " if start < 0: \n"\ + " start += length \n"\ + " if start < 0: \n"\ + " start = -1 if step < 0 else 0 \n"\ + " elif start >= length: \n"\ + " start = length - 1 if step < 0 else length \n"\ + " if stop < 0: \n"\ + " stop += length \n"\ + " if stop < 0: \n"\ + " stop = -1 if step < 0 else 0 \n"\ + " elif stop >= length: \n"\ + " stop = length - 1 if step < 0 else length \n"\ + " if step < 0: \n"\ + " if stop < start: \n"\ + " result_length = (start - stop - 1) // (-step) + 1; \n"\ + " else: \n"\ + " if start < stop: \n"\ + " result_length = (stop - start - 1) // step + 1 \n"\ + " return result_length, start, stop, step \n" + +PyObject *slice_adjust_indices = 0; + +#define slice_get_item_impl \ + "def slice_get_item_impl(self: list, item: slice): \n"\ + " start, stop, step = slice_unpack_impl(item) \n"\ + " slicelength, start, stop, step = slice_adjust_indices_impl(len(self), start, stop, step) \n"\ + " if slicelength <= 0: \n"\ + " return [] \n"\ + " else: \n"\ + " result = [None] * slicelength \n"\ + " cur = start \n"\ + " for i in range(slicelength): \n"\ + " result[i] = self[cur] \n"\ + " cur += step \n"\ + " return result \n" + +PyObject *slice_get_item = 0; + void initialize_list_python_impls() { PyObject *globals = PyDict_New(); PyRun_StringFlags(list_richcmp_impl("<"), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_lt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_lt); Py_INCREF(list_richcompare_lt); PyRun_StringFlags(list_richcmp_impl(">"), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_gt = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_gt); Py_INCREF(list_richcompare_gt); PyRun_StringFlags(list_richcmp_impl("=="), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_eq = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_eq); Py_INCREF(list_richcompare_eq); PyRun_StringFlags(list_richcmp_impl("!="), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_ne = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_ne); Py_INCREF(list_richcompare_ne); PyRun_StringFlags(list_richcmp_impl("<="), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_le = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_le); Py_INCREF(list_richcompare_le); PyRun_StringFlags(list_richcmp_impl(">="), Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_richcompare_ge = PyRun_StringFlags("list_richcompare_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_richcompare_ge); Py_INCREF(list_richcompare_ge); PyRun_StringFlags(list_multiply_impl, Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); list_multiply = PyRun_StringFlags("list_multiply_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_multiply); Py_INCREF(list_multiply); + PyRun_StringFlags(slice_unpack_impl, Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); + slice_unpack = PyRun_StringFlags("slice_unpack_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && slice_unpack); + Py_INCREF(slice_unpack); + + PyRun_StringFlags(slice_adjust_indices_impl, Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); + slice_adjust_indices = PyRun_StringFlags("slice_adjust_indices_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && slice_adjust_indices); + Py_INCREF(slice_adjust_indices); + + PyRun_StringFlags(slice_get_item_impl, Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); + slice_get_item = PyRun_StringFlags("slice_get_item_impl", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && slice_get_item); + Py_INCREF(slice_get_item); + Py_DECREF(globals); } @@ -135,4 +230,19 @@ Approximation_list_repeat(PyObject *self, PyObject *n) { PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); Py_DECREF(args); return result; +} + +PyObject * +Approximation_list_slice_get_item(PyObject *self, PyObject *slice) { + assert(is_wrapped(self) && is_wrapped(slice)); + SymbolicAdapter *adapter = get_adapter(self); + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(self))) + return 0; + if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(slice))) + return 0; + PyObject *wrapped = wrap(slice_get_item, Py_None, adapter); + PyObject *args = PyTuple_Pack(2, self, slice); + PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); + Py_DECREF(args); + return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index c76e601a71..2b1acd3fd9 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -25,6 +25,7 @@ PyObject *Approximation_sum(PyObject *iterable); // builtins.sum PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.append +PyObject *Approximation_list_slice_get_item(PyObject *self, PyObject *slice); // list[slice] #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 6e1dc4fa21..859a9f8b7e 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -65,6 +65,7 @@ void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_list_richcompare = Approximation_list_richcompare; adapter->approximation_range = Approximation_range; adapter->approximation_list_repeat = Approximation_list_repeat; + adapter->approximation_list_slice_get_item = Approximation_list_slice_get_item; } static void diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 8d930eb714..5aa258c83a 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -623,6 +623,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "create_slice", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "range_iter", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 5b64a5bcb6..6ce4da7256 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -284,6 +284,11 @@ "java_name": "handlerCreateRange", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "create_slice", + "java_name": "handlerCreateSlice", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "range_iter", "java_name": "handlerRangeIter", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cb7cbbb6af..644fae3778 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -24,6 +24,7 @@ import static org.usvm.machine.interpreters.operations.LongKt.*; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.RangeKt.*; +import static org.usvm.machine.interpreters.operations.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.TupleKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; @@ -260,10 +261,18 @@ public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, Sy public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { if (start.obj == null || stop.obj == null || step.obj == null) return null; - RangeCreation event = new RangeCreation(start, stop, step); + MethodParameters event = new MethodParameters("create_range", Arrays.asList(start, stop, step)); return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); } + @Nullable + public static SymbolForCPython handlerCreateSlice(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython start, @NotNull SymbolForCPython stop, @NotNull SymbolForCPython step) { + if (start.obj == null || stop.obj == null || step.obj == null) + return null; + MethodParameters event = new MethodParameters("create_slice", Arrays.asList(start, stop, step)); + return withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); + } + public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, SymbolForCPython range) { if (range.obj == null) return null; diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt new file mode 100644 index 0000000000..582e7f4e79 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt @@ -0,0 +1,37 @@ +package org.usvm.machine.interpreters.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.SliceUninterpretedField +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructSlice +import org.usvm.machine.symbolicobjects.getIntContent + +private fun getFieldContent( + ctx: ConcolicRunContext, + value: UninterpretedSymbolicPythonObject +): SliceUninterpretedField { + val typeSystem = ctx.typeSystem + val isNone = value.evalIs(ctx, typeSystem.pythonNoneType) + val content = + if (value.getTypeIfDefined(ctx) == typeSystem.pythonInt) + value.getIntContent(ctx) + else + ctx.ctx.mkIntNum(0) + myFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) + myAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) + return SliceUninterpretedField(isNone, content) +} + +fun handlerCreateSliceKt( + ctx: ConcolicRunContext, + start: UninterpretedSymbolicPythonObject, + stop: UninterpretedSymbolicPythonObject, + step: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val startContent = getFieldContent(ctx, start) + val stopContent = getFieldContent(ctx, stop) + val stepContent = getFieldContent(ctx, step) + return constructSlice(ctx, startContent, stopContent, stepContent) +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index 4096a58a7d..9e12c20ed8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -18,7 +18,6 @@ data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() -data class RangeCreation(val start: SymbolForCPython, val stop: SymbolForCPython, val step: SymbolForCPython): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( val name: String, diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index d6940943d1..a3ee28e26d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -104,4 +104,20 @@ fun constructRangeIterator(context: ConcolicRunContext, range: UninterpretedSymb return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeIteratorContent(context, range) } +} + +fun constructSlice( + ctx: ConcolicRunContext, + start: SliceUninterpretedField, + stop: SliceUninterpretedField, + step: SliceUninterpretedField +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + val address = ctx.curState!!.memory.alloc(typeSystem.pythonSlice) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setSliceStart(ctx, start) + it.setSliceStop(ctx, stop) + it.setSliceStep(ctx, step) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index b0deea979f..932e3a8477 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -268,21 +268,43 @@ private fun UninterpretedSymbolicPythonObject.getSliceField( field: PropertyOfPythonObject ): SliceUninterpretedField { require(ctx.curState != null) - addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) + addSupertype(ctx, ctx.typeSystem.pythonSlice) val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) return SliceUninterpretedField(isNone, value) } +private fun UninterpretedSymbolicPythonObject.setSliceField( + ctx: ConcolicRunContext, + fieldIsNone: PropertyOfPythonObject, + field: PropertyOfPythonObject, + content: SliceUninterpretedField +) { + require(ctx.curState != null) + addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) + ctx.curState!!.memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) +} + fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField = getSliceField(ctx, SliceContents.startIsNone, SliceContents.start) +fun UninterpretedSymbolicPythonObject.setSliceStart(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.startIsNone, SliceContents.start, content) + fun UninterpretedSymbolicPythonObject.getSliceStop(ctx: ConcolicRunContext): SliceUninterpretedField = getSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop) +fun UninterpretedSymbolicPythonObject.setSliceStop(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop, content) + fun UninterpretedSymbolicPythonObject.getSliceStep(ctx: ConcolicRunContext): SliceUninterpretedField = getSliceField(ctx, SliceContents.stepIsNone, SliceContents.step) +fun UninterpretedSymbolicPythonObject.setSliceStep(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.stepIsNone, SliceContents.step, content) + + /** str **/ fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 8bd97eba09..897157e497 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -27,24 +27,27 @@ fun main() { // println(ConcretePythonInterpreter.typeLookup(slice, "start")) // val config = buildProjectRunConfig() val config = buildSampleRunConfig() - analyze(config) - // checkConcolicAndConcrete(config) + // analyze(config) + checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() - /*constructPrimitiveProgram( + val (program, typeSystem) = constructPrimitiveProgram( """ - def simple_str(x): - if isinstance(x, str): + def f(x): + assert isinstance(x, tuple) + cnt = 0 + for elem in x: + assert isinstance(elem, tuple) + cnt += sum(elem) + if cnt > 1000: return 1 return 2 """.trimIndent() - )*/ + ) val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "none_fields", - "Slices" + "f" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -110,17 +113,20 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { val runner = CustomPythonTestRunner( program, typeSystem, - UMachineOptions(stepLimit = 30U, timeoutMs = 60_000), + UMachineOptions(stepLimit = 60U, timeoutMs = 60_000), allowPathDiversions = true ) runner.timeoutPerRunMs = 10_000 functions.forEach { function -> println("Running ${function.tag}...") try { + val comparator = runner.standardConcolicAndConcreteChecks when (val argsNum = function.numberOfArguments) { - 0 -> runner.check0NoPredicates(function) - 1 -> runner.check1NoPredicates(function) - 2 -> runner.check2NoPredicates(function) + 0 -> runner.check0NoPredicates(function, comparator) + 1 -> runner.check1NoPredicates(function, comparator) + 2 -> runner.check2NoPredicates(function, comparator) + 3 -> runner.check3NoPredicates(function, comparator) + 4 -> runner.check4NoPredicates(function, comparator) else -> println("${function.tag} ignored because it has $argsNum arguments") } } catch (e: IllegalOperationException) { @@ -141,7 +147,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 60, + maxIterations = 80, allowPathDiversion = true, maxInstructions = 10_000, timeoutMs = 10_000 diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 13849eac77..01109dc77f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -100,12 +100,13 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRunAndNoPredicates(): - (PythonUnpinnedCallable) -> Unit = - { target: PythonUnpinnedCallable -> + (PythonUnpinnedCallable, (PythonAnalysisResult, PythonObject) -> String?) -> Unit = + { target: PythonUnpinnedCallable, + compareConcolicAndConcrete: (PythonAnalysisResult, PythonObject) -> String? -> createCheckWithConcreteRun(concreteRun = true)( target, ge(0), - compareConcolicAndConcreteTypes, + compareConcolicAndConcrete, emptyList(), emptyList() ) @@ -143,6 +144,11 @@ sealed class PythonTestRunner( val check3WithConcreteRun = createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + val check3NoPredicates = + createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + + val check4NoPredicates = + createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> @@ -175,13 +181,13 @@ sealed class PythonTestRunner( } } - protected val standardConcolicAndConcreteChecks: + val standardConcolicAndConcreteChecks: (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } - protected val compareConcolicAndConcreteTypes: + val compareConcolicAndConcreteTypes: (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index cd19d8d097..c95236d4f4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions(stepLimit = 20U)) { @@ -58,4 +59,31 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions } ) } + + @Test + fun testSumOfSublist() { + check1WithConcreteRun( + constructFunction("sum_of_sublist", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(5) { + { _, res -> res.repr == (it + 1).toString() } + } + ) + } + + @Test + fun testSliceUsages() { + val oldOptions = options + options = UMachineOptions(stepLimit = 30U) + check3WithConcreteRun( + constructFunction("slice_usages", List(3) { typeSystem.pythonInt }), + ge(20), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ emptyList() + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Slices.py b/usvm-python/src/test/resources/samples/Slices.py index 3cadeba18d..d45ea5671f 100644 --- a/usvm-python/src/test/resources/samples/Slices.py +++ b/usvm-python/src/test/resources/samples/Slices.py @@ -22,3 +22,26 @@ def none_fields(x): elif x.step is None: return 5 return 6 + + +def sum_of_sublist(x): + lst = [1, 2, 3, 4] + sum_ = sum(lst[x:]) + if sum_ == 0: + return 1 + elif sum_ == 4: + return 2 + elif sum_ == 7: + return 3 + elif sum_ == 9: + return 4 + elif sum_ == 10: + return 5 + + +def slice_usages(x: int, y: int, z: int): + size = 10 + lst = [] + for i in range(size): + lst.append(i) + return lst[x:y:z] \ No newline at end of file From b86ffae19f079b75e4f8d09d118c0ed095417723 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 14 Sep 2023 17:33:03 +0300 Subject: [PATCH 099/344] allowed path diversion in test for slices --- usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index c95236d4f4..f828763fce 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -76,6 +76,7 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions @Test fun testSliceUsages() { val oldOptions = options + allowPathDiversions = true options = UMachineOptions(stepLimit = 30U) check3WithConcreteRun( constructFunction("slice_usages", List(3) { typeSystem.pythonInt }), @@ -85,5 +86,6 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions /* propertiesToDiscover = */ emptyList() ) options = oldOptions + allowPathDiversions = false } } \ No newline at end of file From abf90b4677d5341ade8e6864ddef82f22e91cf1d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 19 Sep 2023 12:38:16 +0300 Subject: [PATCH 100/344] Fixed state termination --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 4 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 11 ++-- .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../usvm/interpreter/ConcolicRunContext.java | 2 + .../org/usvm/language/types/TypeSystem.kt | 2 +- .../org/usvm/language/types/VirtualTypes.kt | 10 ++++ .../org/usvm/machine/PythonExecutionState.kt | 9 ++++ .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../usvm/machine/PythonVirtualPathSelector.kt | 21 ++++---- .../interpreters/ConcretePythonInterpreter.kt | 4 +- .../interpreters/USVMPythonInterpreter.kt | 17 +++--- .../interpreters/operations/Constants.kt | 16 ++++-- .../machine/interpreters/operations/List.kt | 54 ++++++++++--------- .../symbolicobjects/ObjectValidator.kt | 2 +- .../symbolicobjects/PreallocatedObjects.kt | 4 +- .../SymbolicObjectConstruction.kt | 18 +++++-- .../symbolicobjects/SymbolicPythonObject.kt | 31 +++++++++-- usvm-python/src/test/kotlin/manualTest.kt | 45 +++++++--------- .../usvm/samples/SimpleTypeInferenceTest.kt | 7 ++- .../kotlin/org/usvm/samples/SlicesTest.kt | 4 +- .../org/usvm/samples/TrickyExamplesTest.kt | 27 ++++++++++ .../src/test/resources/samples/Tricky.py | 14 ++++- 23 files changed, 207 insertions(+), 101 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 2944762999..57bd0b2e56 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 2944762999578773fbf86079166b1b9463b9c682 +Subproject commit 57bd0b2e56ac2c2476e3379eff10eae8e1a01961 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 2cc6fb9163..c7ac0b0ba1 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -90,10 +90,10 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl /* * Class: org_usvm_interpreter_CPythonAdapter * Method: getPythonObjectRepr - * Signature: (J)Ljava/lang/String; + * Signature: (JZ)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr - (JNIEnv *, jobject, jlong); + (JNIEnv *, jobject, jlong, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 732a0fb25b..bb1b8f9010 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -265,14 +265,17 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl return result; } -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref) { +JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref, jboolean print_error_message) { assert(!PyErr_Occurred()); PyObject *repr = PyObject_Repr((PyObject *) object_ref); - if (!repr) { - // PyErr_Print(); + if (!repr && !print_error_message) { PyErr_Clear(); return 0; } + if (!repr && print_error_message) { + PyErr_Print(); + return 0; + } const char *repr_as_string = PyUnicode_AsUTF8AndSize(repr, 0); return (*env)->NewStringUTF(env, repr_as_string); } @@ -339,6 +342,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateTuple(J } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_setTupleElement(JNIEnv *env, jobject _, jlong tuple_ref, jint index, jlong elem_ref) { + assert(elem_ref); + Py_INCREF(elem_ref); PyTuple_SetItem((PyObject *) tuple_ref, index, (PyObject *) elem_ref); } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 644fae3778..75d185dddc 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -57,7 +57,7 @@ public class CPythonAdapter { public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); public native void printPythonObject(long object); public native long[] getIterableElements(long iterable); - public native String getPythonObjectRepr(long object); + public native String getPythonObjectRepr(long object, boolean print_error_message); public native String getPythonObjectStr(long object); public native long getAddressOfReprFunction(long object); public native String getPythonObjectTypeName(long object); diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 809933b4c2..0880b1a64a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -62,6 +62,8 @@ public ConcolicRunContext( } public void pathDiversion() throws PathDiversionException { + if (curState != null) + curState.getMeta().setModelDied(true); if (allowPathDiversion) { curState = null; } else { diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index e08505979b..31d9cd3f82 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -95,7 +95,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonBool = createConcreteTypeByName("bool") val pythonObjectType = createConcreteTypeByName("object") val pythonNoneType = createConcreteTypeByName("type(None)") - val pythonList = createArrayLikeTypeByName("list", emptySet()) + val pythonList = createArrayLikeTypeByName("list", setOf(NonRecursiveConstraint)) val pythonListIteratorType = createConcreteTypeByName("type(iter([]))", isHidden = true) val pythonTuple = createArrayLikeTypeByName("tuple", setOf(NonRecursiveConstraint)) val pythonTupleIteratorType = createConcreteTypeByName("type(iter(tuple()))", isHidden = true) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index b83cea8ab0..191b528adf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -12,6 +12,16 @@ object ArrayType: VirtualPythonType() { } } +class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { + override fun accepts(type: PythonType): Boolean { + if (type == this) + return true + if (type !is ArrayLikeConcretePythonType) + return false + return type.elementConstraints.contains(constraint) + } +} + class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type is MockType) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 050f732811..ed7e99f7b1 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -90,6 +90,14 @@ class PythonExecutionState( else null } + + fun isTerminated(): Boolean { + return meta.modelDied || meta.wasInterrupted || meta.wasExecuted && meta.objectsWithoutConcreteTypes == null + } + + fun isInterestingForPathSelector(): Boolean { + return !isTerminated() || delayedForks.isNotEmpty() + } } class DelayedFork( @@ -114,6 +122,7 @@ data class MockResult( class PythonExecutionStateMeta { var extractedFrom: UPathSelector? = null var wasExecuted: Boolean = false + var wasInterrupted: Boolean = false var modelDied: Boolean = false var objectsWithoutConcreteTypes: Set? = null var lastConverter: ConverterToPythonObject? = null diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index b787408464..7f892a1202 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -117,7 +117,7 @@ class PythonMachine( interpreter, pathSelector, observer = observer, - isStateTerminated = { it.meta.modelDied }, + isStateTerminated = { !it.isInterestingForPathSelector() }, stopStrategy = { observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations || (stopTime != null && System.currentTimeMillis() >= stopTime) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index f8aebb428b..a42f289bc7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -149,7 +149,7 @@ class PythonVirtualPathSelector( } private fun processDelayedForksOfExecutedState(state: PythonExecutionState) { - require(state.meta.wasExecuted) + require(state.meta.wasExecuted || state.meta.wasInterrupted) state.delayedForks.firstOrNull()?.let { unservedDelayedForks.add( DelayedForkWithTypeRating( @@ -162,10 +162,6 @@ class PythonVirtualPathSelector( override fun update(state: PythonExecutionState) { peekCache = null - if (state.meta.objectsWithoutConcreteTypes != null) { - require(state.meta.wasExecuted) - executionsWithVirtualObjectAndWithoutDelayedForks.add(state) - } state.meta.extractedFrom?.remove(state) add(listOf(state)) } @@ -173,15 +169,15 @@ class PythonVirtualPathSelector( override fun add(states: Collection) { peekCache = null states.forEach { state -> + if (state.isTerminated()) { + if (state.meta.wasExecuted || state.meta.wasInterrupted) + processDelayedForksOfExecutedState(state) + return@forEach + } if (state.meta.objectsWithoutConcreteTypes != null) { require(state.meta.wasExecuted) executionsWithVirtualObjectAndWithoutDelayedForks.add(state) - } - if (state.meta.wasExecuted) { - processDelayedForksOfExecutedState(state) - return@forEach - } - if (state.delayedForks.isEmpty()) { + } else if (state.delayedForks.isEmpty()) { basePathSelector.add(listOf(state)) } else { pathSelectorForStatesWithDelayedForks.add(listOf(state)) @@ -192,6 +188,9 @@ class PythonVirtualPathSelector( override fun remove(state: PythonExecutionState) { peekCache = null state.meta.extractedFrom?.remove(state) + if (state.meta.wasExecuted || state.meta.wasInterrupted) { + processDelayedForksOfExecutedState(state) + } } companion object { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 87d70e2608..fd60959196 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -109,8 +109,8 @@ object ConcretePythonInterpreter { pythonAdapter.printPythonObject(pythonObject.address) } - fun getPythonObjectRepr(pythonObject: PythonObject): String { - return pythonAdapter.getPythonObjectRepr(pythonObject.address) ?: throw CPythonExecutionException() + fun getPythonObjectRepr(pythonObject: PythonObject, printErrorMsg: Boolean = false): String { + return pythonAdapter.getPythonObjectRepr(pythonObject.address, printErrorMsg) ?: throw CPythonExecutionException() } fun getPythonObjectStr(pythonObject: PythonObject): String { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 882b2bdaef..e352e678de 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -150,37 +150,38 @@ class USVMPythonInterpreter( resultState.meta.lastConverter = converter } logger.debug("Finished step on state: {}", concolicRunContext.curState) - - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } else { logger.debug("Ended step with path diversion") - return StepResult(emptySequence(), false) + return StepResult(emptySequence(), !state.isTerminated()) } } catch (_: BadModelException) { iterationCounter.iterations += 1 logger.debug("Step result: Bad model") - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.meta.modelDied) + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } catch (_: UnregisteredVirtualOperation) { iterationCounter.iterations += 1 logger.debug("Step result: Unregistrered virtual operation") - return StepResult(emptySequence(), false) + concolicRunContext.curState?.meta?.modelDied = true + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } catch (_: InstructionLimitExceededException) { iterationCounter.iterations += 1 logger.debug("Step result: InstructionLimitExceededException") - concolicRunContext.curState?.meta?.modelDied = true - return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.meta.modelDied) + concolicRunContext.curState?.meta?.wasInterrupted = true + return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) } catch (_: CancelledExecutionException) { logger.debug("Step result: execution cancelled") - return StepResult(emptySequence(), false) + concolicRunContext.curState?.meta?.wasInterrupted = true + return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 3b24900159..46389a325e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -6,12 +6,10 @@ import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt -import java.util.stream.Stream -import kotlin.streams.asSequence fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { - "int" -> handlerLoadConstLongKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) + "int" -> handlerLoadConstLongKt(context, value) "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) "NoneType" -> context.curState?.preAllocatedObjects?.noneObject "tuple" -> { @@ -32,10 +30,18 @@ fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PythonObject): Uni return context.curState!!.preAllocatedObjects.allocateStr(context, str) } -fun handlerLoadConstLongKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null - return constructInt(context, context.ctx.mkIntNum(value)) + val str = runCatching { + ConcretePythonInterpreter.getPythonObjectRepr(value) + }.onFailure { + System.err.println("Failed to get repr of int at ${value.address}") + val attempt2 = ConcretePythonInterpreter.getPythonObjectRepr(value, printErrorMsg = true) + System.err.println("Attempt 2: $attempt2") + }.getOrThrow() + + return constructInt(context, context.ctx.mkIntNum(str)) } fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 4f0f956e41..e4ee1efdd6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters.operations +import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.api.* import org.usvm.collection.array.UArrayIndexLValue @@ -23,7 +24,7 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli return constructInt(context, listSize) } -private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UArrayIndexLValue? { +private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UExpr? { if (ctx.curState == null) return null with (ctx.ctx) { @@ -44,11 +45,11 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt myFork(ctx, positiveIndex) return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { - UArrayIndexLValue(addressSort, list.address, indexValue, ArrayType) + indexValue } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) - UArrayIndexLValue(addressSort, list.address, mkArithAdd(indexValue, listSize), ArrayType) + mkArithAdd(indexValue, listSize) } } } @@ -56,34 +57,33 @@ private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { if (ctx.curState == null) return null - val lvalue = resolveIndex(ctx, list, index) ?: return null - - val elemAddr = ctx.curState!!.memory.read(lvalue) - myAssert(ctx, mkHeapRefEq(list.address, elemAddr).not()) // to avoid recursive lists - return UninterpretedSymbolicPythonObject(elemAddr, ctx.typeSystem) + val indexInt = resolveIndex(ctx, list, index) ?: return null + return list.readElement(ctx, indexInt) } fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { if (ctx.curState == null) return - val lvalue = resolveIndex(ctx, list, index) ?: return - ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) + val indexInt = resolveIndex(ctx, list, index) ?: return + list.writeElement(ctx, indexInt, value) } private fun listConcat( ctx: ConcolicRunContext, - left: UHeapRef, - right: UHeapRef, - dst: UHeapRef + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, + dst: UninterpretedSymbolicPythonObject, ) { + dst.extendConstraints(ctx, left) + dst.extendConstraints(ctx, right) with (ctx.ctx) { - val leftSize = ctx.curState!!.memory.readArrayLength(left, ArrayType) - val rightSize = ctx.curState!!.memory.readArrayLength(right, ArrayType) - ctx.curState!!.memory.writeArrayLength(dst, mkArithAdd(leftSize, rightSize), ArrayType) - ctx.curState!!.memory.memcpy(left, dst, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) - ctx.curState!!.memory.memcpy(right, dst, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) + val leftSize = ctx.curState!!.memory.readArrayLength(left.address, ArrayType) + val rightSize = ctx.curState!!.memory.readArrayLength(right.address, ArrayType) + ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType) + ctx.curState!!.memory.memcpy(left.address, dst.address, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) + ctx.curState!!.memory.memcpy(right.address, dst.address, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) } } @@ -92,7 +92,7 @@ fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth val typeSystem = ctx.typeSystem list.addSupertypeSoft(ctx, typeSystem.pythonList) tuple.addSupertypeSoft(ctx, typeSystem.pythonTuple) - listConcat(ctx, list.address, tuple.address, list.address) + listConcat(ctx, list, tuple, list) return list } @@ -103,9 +103,11 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val result = ctx.curState!!.memory.allocateArray(ArrayType, mkIntNum(0)) - listConcat(ctx, left.address, right.address, result) - return UninterpretedSymbolicPythonObject(result, typeSystem) + val resultAddress = ctx.curState!!.memory.allocateArray(ArrayType, mkIntNum(0)) + ctx.curState!!.memory.types.allocate(resultAddress.address, typeSystem.pythonList) + val result = UninterpretedSymbolicPythonObject(resultAddress, typeSystem) + listConcat(ctx, left, right, result) + return result } } @@ -115,7 +117,7 @@ fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbo val typeSystem = ctx.typeSystem if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null - listConcat(ctx, left.address, right.address, left.address) + listConcat(ctx, left, right, left) return left } @@ -127,7 +129,7 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth return null with (ctx.ctx) { val currentSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType) - ctx.curState!!.memory.writeArrayIndex(list.address, currentSize, ArrayType, addressSort, elem.address, trueExpr) + list.writeElement(ctx, currentSize, elem) ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType) return list } @@ -154,6 +156,6 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy return null iterator.increaseListIteratorCounter(ctx) - val elemAddr = ctx.curState!!.memory.readArrayIndex(listAddress, index, ArrayType, addressSort) - return UninterpretedSymbolicPythonObject(elemAddr, typeSystem) + val list = UninterpretedSymbolicPythonObject(listAddress, typeSystem) + return list.readElement(ctx, index) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index b424557236..9956cfec43 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -29,7 +29,7 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) - myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) + myAssert(concolicRunContext, mkAnd(symbolicSize ge mkIntNum(0), symbolicSize le mkIntNum(1000_000))) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> val element = concolicRunContext.curState!!.memory.readArrayIndex( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index aaf232904a..33564ba21b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -21,7 +21,7 @@ class PreallocatedObjects( val cached = concreteStrToSymbol[string] if (cached != null) return cached - val result = constructEmptyObject(ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) + val result = constructEmptyObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) concreteStrToSymbol[string] = result symbolToConcreteStr[result] = string return result @@ -47,7 +47,7 @@ class PreallocatedObjects( typeSystem: PythonTypeSystem ): PreallocatedObjects = PreallocatedObjects( - noneObject = constructEmptyObject(initialMemory, typeSystem, typeSystem.pythonNoneType), + noneObject = constructEmptyObject(ctx, initialMemory, typeSystem, typeSystem.pythonNoneType), trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), concreteStrToSymbol = mutableMapOf(), diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index a3ee28e26d..da9938d19c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -31,12 +31,15 @@ fun constructInputObject( } fun constructEmptyObject( + ctx: UPythonContext, memory: UMemory, typeSystem: PythonTypeSystem, type: ConcretePythonType ): UninterpretedSymbolicPythonObject { val address = memory.alloc(type) - return UninterpretedSymbolicPythonObject(address, typeSystem) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setMinimalTimeOfCreation(ctx, memory) + } } fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { @@ -45,6 +48,7 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre val address = context.curState!!.memory.alloc(typeSystem.pythonInt) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setIntContent(context, expr) + result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) return result } @@ -58,7 +62,7 @@ fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSy } fun constructInitialBool( - ctx: UContext, + ctx: UPythonContext, memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, @@ -69,6 +73,7 @@ fun constructInitialBool( pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) memory.write(lvalue, expr, ctx.trueExpr) + result.setMinimalTimeOfCreation(ctx, memory) return result } @@ -78,6 +83,7 @@ fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbol val address = context.curState!!.memory.alloc(typeSystem.pythonListIteratorType) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setListIteratorContent(context, list) + result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) return result } @@ -85,7 +91,10 @@ fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymb require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.alloc(typeSystem.pythonTupleIteratorType) - return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setTupleIteratorContent(context, tuple) } + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setTupleIteratorContent(context, tuple) + it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + } } fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UExpr, step: UExpr): UninterpretedSymbolicPythonObject { @@ -94,6 +103,7 @@ fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UE val address = context.curState!!.memory.alloc(typeSystem.pythonRange) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeContent(context, start, stop, step) + it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) } } @@ -103,6 +113,7 @@ fun constructRangeIterator(context: ConcolicRunContext, range: UninterpretedSymb val address = context.curState!!.memory.alloc(typeSystem.pythonRangeIterator) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeIteratorContent(context, range) + it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) } } @@ -119,5 +130,6 @@ fun constructSlice( it.setSliceStart(ctx, start) it.setSliceStop(ctx, stop) it.setSliceStep(ctx, step) + it.setMinimalTimeOfCreation(ctx.ctx, ctx.curState!!.memory) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index e51e7fd254..d5d81b31b7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -2,15 +2,16 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KIntSort import org.usvm.* -import org.usvm.api.readArrayIndex -import org.usvm.api.readField -import org.usvm.api.typeStreamOf +import org.usvm.api.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable import org.usvm.language.TimeOfCreation import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.myAssert import org.usvm.language.types.* +import org.usvm.machine.UPythonContext +import org.usvm.memory.UMemory import org.usvm.types.UTypeStream import org.usvm.types.first @@ -100,6 +101,10 @@ class UninterpretedSymbolicPythonObject( return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } + fun setMinimalTimeOfCreation(ctx: UPythonContext, memory: UMemory) { // must not be called on nullref + memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) + } + fun readElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val type = getTypeIfDefined(ctx) @@ -115,6 +120,26 @@ class UninterpretedSymbolicPythonObject( return elem } + fun writeElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) + } + myAssert(ctx, cond) + ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) + } + + fun extendConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + type.elementConstraints.forEach { constraint -> + on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) + } + } + private fun isAllocatedObject(ctx: ConcolicRunContext): Boolean { val evaluated = ctx.modelHolder.model.eval(address) as UConcreteHeapRef return evaluated.address > 0 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 897157e497..aad2d53cff 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -27,34 +27,23 @@ fun main() { // println(ConcretePythonInterpreter.typeLookup(slice, "start")) // val config = buildProjectRunConfig() val config = buildSampleRunConfig() - // analyze(config) - checkConcolicAndConcrete(config) + analyze(config) + // checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( - """ - def f(x): - assert isinstance(x, tuple) - cnt = 0 - for elem in x: - assert isinstance(elem, tuple) - cnt += sum(elem) - if cnt > 1000: - return 1 - return 2 - """.trimIndent() - ) + val (program, typeSystem) = constructStructuredProgram() val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "f" + listOf(typeSystem.pythonInt, typeSystem.pythonInt, typeSystem.pythonInt), + "slice_usages", + "Slices" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/sorts" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -69,16 +58,17 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val ignoreFunctions = listOf( - /*"circle_sort", // NoSuchElement + "circle_sort", // NoSuchElement "cocktail_shaker_sort", // slow (why?) "quick_sort_lomuto_partition", // NoSuchElement "oe_process", // blocks "merge_insertion_sort", // slow (why?) - "msd_radix_sort_inplace" // NoSuchElement*/ + "msd_radix_sort_inplace" // NoSuchElement ) val ignoreModules = listOf( - /*"intro_sort", // NoSuchElement - "heap_sort" // NoSuchElement*/ + // "heaps_algorithm", + "intro_sort", // NoSuchElement + "heap_sort" // NoSuchElement ) val functions = modules.flatMap { module -> if (module in ignoreModules) @@ -95,8 +85,8 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - //if (functionName != "cocktail_shaker_sort") - // return@mapNotNull null + // if (functionName != "peak") + // return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( List(description.numberOfArguments) { PythonAnyType }, @@ -147,10 +137,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 80, + maxIterations = 100, allowPathDiversion = true, - maxInstructions = 10_000, - timeoutMs = 10_000 + maxInstructions = 15_000, + //timeoutPerRunMs = 5_000, + //timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index fe50ad96f2..3db0dbb1c0 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -122,6 +122,9 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testAddAndCompare() { + val oldOptions = options + allowPathDiversions = true + options = UMachineOptions(stepLimit = 50U) check2WithConcreteRun( constructFunction("add_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -133,13 +136,15 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn { _, _, res -> res.repr == "None" } ) ) + allowPathDiversions = false + options = oldOptions } @Test fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 100U) + options = UMachineOptions(stepLimit = 120U) check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index f828763fce..9288787d45 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -77,10 +77,10 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions fun testSliceUsages() { val oldOptions = options allowPathDiversions = true - options = UMachineOptions(stepLimit = 30U) + options = UMachineOptions(stepLimit = 40U) check3WithConcreteRun( constructFunction("slice_usages", List(3) { typeSystem.pythonInt }), - ge(20), + ge(10), standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ emptyList() diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt new file mode 100644 index 0000000000..f081bc9107 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt @@ -0,0 +1,27 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class TrickyExamplesTest: PythonTestRunnerForStructuredProgram( + "Tricky", + UMachineOptions(stepLimit = 80U), + allowPathDiversions = true +) { + @Test + fun testSquareMatrix() { + check2WithConcreteRun( + constructFunction("square_matrix", List(2) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.repr == "'Success'" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Tricky.py b/usvm-python/src/test/resources/samples/Tricky.py index 9e279ac899..bc159cbc32 100644 --- a/usvm-python/src/test/resources/samples/Tricky.py +++ b/usvm-python/src/test/resources/samples/Tricky.py @@ -6,4 +6,16 @@ def calculate_depth(nodes, i, j): left_depth = calculate_depth(nodes, i, node - 1) right_depth = calculate_depth(nodes, node + 1, j) result = max(left_depth, right_depth) + 1 - return result \ No newline at end of file + return result + + +def square_matrix(x, target): + n = len(x) + assert n >= 5 + for line in x: + assert len(line) == n + for elem in line: + assert elem == target + + # ... some smart work ... + return "Success" \ No newline at end of file From bad2e3643ac51e296d4f745f829f6575fb62ae29 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 19 Sep 2023 13:11:31 +0300 Subject: [PATCH 101/344] Added depth limit in SymbolTypeTree --- .../types/prioritization/SymbolTypeTree.kt | 11 ++++++---- usvm-python/src/test/kotlin/manualTest.kt | 20 +++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index 194e5b0147..f6aa34f8ae 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -17,7 +17,8 @@ import org.utbot.python.newtyping.pythonAnyType class SymbolTypeTree( private val state: PythonExecutionState, private val typeHintsStorage: PythonTypeHintsStorage, - rootSymbol: UninterpretedSymbolicPythonObject + rootSymbol: UninterpretedSymbolicPythonObject, + private val maxDepth: Int = 5 ) { private val root = SymbolTreeNode(rootSymbol) private fun generateSuccessors(node: SymbolTreeNode): List = @@ -74,9 +75,11 @@ class SymbolTypeTree( newNode } - private fun generateNodes(node: SymbolTreeNode) { + private fun generateNodes(node: SymbolTreeNode, depth: Int) { + if (depth >= maxDepth) + return generateSuccessors(node).forEach { - generateNodes(it) + generateNodes(it, depth + 1) } } @@ -100,7 +103,7 @@ class SymbolTypeTree( get() = root.upperBounds init { - generateNodes(root) + generateNodes(root, 0) propagateBounds() } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index aad2d53cff..78a8c82c6e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -25,8 +25,8 @@ import java.io.File fun main() { // val slice = ConcretePythonInterpreter.eval(emptyNamespace, "slice") // println(ConcretePythonInterpreter.typeLookup(slice, "start")) - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -43,7 +43,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/sorts" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -58,17 +58,17 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val ignoreFunctions = listOf( - "circle_sort", // NoSuchElement + /*"circle_sort", // NoSuchElement "cocktail_shaker_sort", // slow (why?) "quick_sort_lomuto_partition", // NoSuchElement "oe_process", // blocks "merge_insertion_sort", // slow (why?) - "msd_radix_sort_inplace" // NoSuchElement + "msd_radix_sort_inplace" // NoSuchElement*/ ) val ignoreModules = listOf( // "heaps_algorithm", - "intro_sort", // NoSuchElement - "heap_sort" // NoSuchElement + /*"intro_sort", // NoSuchElement + "heap_sort" // NoSuchElement*/ ) val functions = modules.flatMap { module -> if (module in ignoreModules) @@ -137,11 +137,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 100, + maxIterations = 50, allowPathDiversion = true, maxInstructions = 15_000, - //timeoutPerRunMs = 5_000, - //timeoutMs = 20_000 + timeoutPerRunMs = 5_000, + timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") From c84721750a8a38d42f038517ffd205272a607573 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 19 Sep 2023 15:45:07 +0300 Subject: [PATCH 102/344] fix in virtualPathSelector --- .../usvm/machine/PythonVirtualPathSelector.kt | 9 +++------ usvm-python/src/test/kotlin/manualTest.kt | 17 +++++++++-------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index a42f289bc7..29d350d8a7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -149,7 +149,7 @@ class PythonVirtualPathSelector( } private fun processDelayedForksOfExecutedState(state: PythonExecutionState) { - require(state.meta.wasExecuted || state.meta.wasInterrupted) + require(state.isTerminated()) state.delayedForks.firstOrNull()?.let { unservedDelayedForks.add( DelayedForkWithTypeRating( @@ -170,8 +170,7 @@ class PythonVirtualPathSelector( peekCache = null states.forEach { state -> if (state.isTerminated()) { - if (state.meta.wasExecuted || state.meta.wasInterrupted) - processDelayedForksOfExecutedState(state) + processDelayedForksOfExecutedState(state) return@forEach } if (state.meta.objectsWithoutConcreteTypes != null) { @@ -188,9 +187,7 @@ class PythonVirtualPathSelector( override fun remove(state: PythonExecutionState) { peekCache = null state.meta.extractedFrom?.remove(state) - if (state.meta.wasExecuted || state.meta.wasInterrupted) { - processDelayedForksOfExecutedState(state) - } + processDelayedForksOfExecutedState(state) } companion object { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 78a8c82c6e..a755e989ca 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -27,8 +27,8 @@ fun main() { // println(ConcretePythonInterpreter.typeLookup(slice, "start")) val config = buildProjectRunConfig() // val config = buildSampleRunConfig() - analyze(config) - // checkConcolicAndConcrete(config) + // analyze(config) + checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { @@ -43,7 +43,7 @@ private fun buildSampleRunConfig(): RunConfig { } private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/divide_and_conquer" + val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -58,6 +58,7 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val ignoreFunctions = listOf( + "_top_down_cut_rod_recursive" // NoSuchElement /*"circle_sort", // NoSuchElement "cocktail_shaker_sort", // slow (why?) "quick_sort_lomuto_partition", // NoSuchElement @@ -85,7 +86,7 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - // if (functionName != "peak") + // if (functionName != "heaps") // return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( @@ -137,11 +138,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 50, + maxIterations = 100, allowPathDiversion = true, - maxInstructions = 15_000, - timeoutPerRunMs = 5_000, - timeoutMs = 20_000 + maxInstructions = 100_000, + timeoutPerRunMs = 10_000, + timeoutMs = 30_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") From 28e4ba99ac2a215389e4912a783db79d3fcf0912 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 19 Sep 2023 16:00:49 +0300 Subject: [PATCH 103/344] Fix after rebase --- .../src/main/kotlin/org/usvm/machine/PythonExecutionState.kt | 4 +++- usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index ed7e99f7b1..26779723f2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -18,6 +18,8 @@ import org.usvm.model.UModelBase import org.usvm.types.UTypeStream import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER +object PythonTarget: UTarget, PythonTarget, PythonExecutionState>() + class PythonExecutionState( val ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, @@ -33,7 +35,7 @@ class PythonExecutionState( var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() -): UState, UPythonContext, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { +): UState, UPythonContext, PythonTarget, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index 9288787d45..10cc701aa5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -78,6 +78,7 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions val oldOptions = options allowPathDiversions = true options = UMachineOptions(stepLimit = 40U) + timeoutPerRunMs = 2_000 check3WithConcreteRun( constructFunction("slice_usages", List(3) { typeSystem.pythonInt }), ge(10), From 39f06c1938e63613bf2b38e46af1102dfacedbb1 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Tue, 19 Sep 2023 17:21:11 +0300 Subject: [PATCH 104/344] More tuple operations --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 15 ++-- .../src/main/json/adapter_method_defs.json | 25 +++++++ .../src/main/json/handler_defs.json | 10 +++ .../org/usvm/interpreter/CPythonAdapter.java | 13 ++++ .../machine/interpreters/operations/Common.kt | 51 ++++++++++++++ .../machine/interpreters/operations/List.kt | 51 ++------------ .../machine/interpreters/operations/Tuple.kt | 20 ++++-- usvm-python/src/test/kotlin/manualTest.kt | 30 +++++--- .../org/usvm/samples/SimpleTupleTest.kt | 68 +++++++++++++++++++ .../src/test/resources/samples/SimpleTuple.py | 37 +++++++++- 11 files changed, 251 insertions(+), 71 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 57bd0b2e56..8fa03614ee 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 57bd0b2e56ac2c2476e3379eff10eae8e1a01961 +Subproject commit 8fa03614eeb60ef6f3564dc41ef29797406de04f diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index a536c383ee..e69492589c 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -20,21 +20,18 @@ Approximation_len(PyObject *o) { PyObject *symbolic = Py_None; if (PyList_Check(concrete)) { symbolic = adapter->list_get_size(adapter->handler_param, get_symbolic_or_none(o)); - if (!symbolic) { - assert(PyErr_Occurred()); - return 0; - } + } else if (PyTuple_Check(concrete)) { + symbolic = adapter->tuple_get_size(adapter->handler_param, get_symbolic_or_none(o)); } else if (is_virtual_object(concrete)) { symbolic = adapter->symbolic_virtual_unary_fun(adapter->handler_param, get_symbolic_or_none(o)); - if (!symbolic) { - assert(PyErr_Occurred()); - return 0; - } } else { sprintf(adapter->msg_buffer, "__len__ of %s", Py_TYPE(concrete)->tp_name); if (adapter->lost_symbolic_value(adapter->handler_param, adapter->msg_buffer)) return 0; } - + if (!symbolic) { + assert(PyErr_Occurred()); + return 0; + } return wrap(concrete_result, symbolic, adapter); } diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 5aa258c83a..f66e66823a 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -263,6 +263,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "tuple_get_item", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "list_set_item", "nargs": 3, @@ -323,6 +335,19 @@ "fail_value": "0", "default_value": "Py_None" }, + + { + "c_name": "tuple_get_size", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "list_append", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 6ce4da7256..4391c8a3b8 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -94,6 +94,11 @@ "java_name": "handlerListGetItem", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "tuple_get_item", + "java_name": "handlerTupleGetItem", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "list_set_item", "java_name": "handlerListSetItem", @@ -274,6 +279,11 @@ "java_name": "handlerListGetSize", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "tuple_get_size", + "java_name": "handlerTupleGetSize", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "lost_symbolic_value", "java_name": "lostSymbolicValue", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 75d185dddc..36e6deff2c 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -340,6 +340,19 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } + @Nullable + public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @NotNull SymbolForCPython tuple) { + if (tuple.obj == null) + return null; + return methodWrapper(context, new MethodParameters("tuple_get_size", Collections.singletonList(tuple)), () -> handlerTupleGetSizeKt(context, tuple.obj)); + } + + public static SymbolForCPython handlerTupleGetItem(ConcolicRunContext context, SymbolForCPython tuple, SymbolForCPython index) { + if (tuple.obj == null || index.obj == null) + return null; + return methodWrapper(context, new MethodParameters("tuple_get_item", Arrays.asList(tuple, index)), () -> handlerTupleGetItemKt(context, tuple.obj, index.obj)); + } + public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, SymbolForCPython tuple) { if (tuple.obj == null) return null; diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 7040f23378..01fdc07a78 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -1,9 +1,15 @@ package org.usvm.machine.interpreters.operations +import io.ksmt.sort.KIntSort +import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized +import org.usvm.api.readArrayLength import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse +import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.language.types.ArrayType import org.usvm.language.types.ConcretePythonType import org.usvm.machine.interpreters.PythonObject @@ -120,4 +126,49 @@ fun handlerStandardTpGetattroKt( val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) ?: return null val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null return memberDescriptor.getMember(ctx, obj) +} + +fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPythonObject, type: ArrayLikeConcretePythonType): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + if (array.getTypeIfDefined(context) != type) + return null + val listSize = context.curState!!.memory.readArrayLength(array.address, ArrayType) + return constructInt(context, listSize) +} + + +fun resolveSequenceIndex( + ctx: ConcolicRunContext, + seq: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject, + type: ArrayLikeConcretePythonType +): UExpr? { + if (ctx.curState == null) + return null + with (ctx.ctx) { + val typeSystem = ctx.typeSystem + index.addSupertypeSoft(ctx, typeSystem.pythonInt) + seq.addSupertypeSoft(ctx, type) + + val listSize = ctx.curState!!.memory.readArrayLength(seq.address, ArrayType) + val indexValue = index.getIntContent(ctx) + + val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) + myFork(ctx, indexCond) + + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) + return null + + val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) + myFork(ctx, positiveIndex) + + return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { + indexValue + } else { + val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) + require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) + mkArithAdd(indexValue, listSize) + } + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index e4ee1efdd6..fd0919eb0f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -1,12 +1,9 @@ package org.usvm.machine.interpreters.operations -import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.api.* -import org.usvm.collection.array.UArrayIndexLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType -import org.usvm.language.types.PythonType import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream import kotlin.streams.asSequence @@ -14,58 +11,20 @@ import kotlin.streams.asSequence fun handlerCreateListKt(ctx: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = createIterable(ctx, elements.asSequence().toList(), ctx.typeSystem.pythonList) -fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) - return null - val typeSystem = context.typeSystem - if (list.getTypeIfDefined(context) != typeSystem.pythonList) - return null - val listSize = context.curState!!.memory.readArrayLength(list.address, ArrayType) - return constructInt(context, listSize) -} +fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + getArraySize(context, list, context.typeSystem.pythonList) -private fun resolveIndex(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UExpr? { +fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) return null - with (ctx.ctx) { - val typeSystem = ctx.typeSystem - index.addSupertypeSoft(ctx, typeSystem.pythonInt) - list.addSupertypeSoft(ctx, typeSystem.pythonList) - - val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType) - val indexValue = index.getIntContent(ctx) - - val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) - myFork(ctx, indexCond) - - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) - return null - - val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) - myFork(ctx, positiveIndex) - - return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { - indexValue - } else { - val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) - require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) - mkArithAdd(indexValue, listSize) - } - } -} - -fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { - if (ctx.curState == null) - return null - val indexInt = resolveIndex(ctx, list, index) ?: return null + val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return null return list.readElement(ctx, indexInt) } - fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { if (ctx.curState == null) return - val indexInt = resolveIndex(ctx, list, index) ?: return + val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return list.writeElement(ctx, indexInt, value) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index 2141322aba..ac157fd762 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -4,10 +4,7 @@ import org.usvm.* import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructTupleIterator -import org.usvm.machine.symbolicobjects.getTupleIteratorContent -import org.usvm.machine.symbolicobjects.increaseTupleIteratorCounter +import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream import kotlin.streams.asSequence @@ -32,6 +29,7 @@ fun handlerTupleIteratorNextKt( val (tuple, index) = iterator.getTupleIteratorContent(ctx) val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, ArrayType) val indexCond = index lt tupleSize + myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) return null iterator.increaseTupleIteratorCounter(ctx) @@ -49,4 +47,18 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth } val tupleSize = ctx.curState!!.memory.readArrayLength(iterable.address, ArrayType) myFork(ctx, tupleSize eq mkIntNum(count)) +} + +fun handlerTupleGetSizeKt(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + getArraySize(context, tuple, context.typeSystem.pythonTuple) + +fun handlerTupleGetItemKt( + ctx: ConcolicRunContext, + tuple: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val indexInt = resolveSequenceIndex(ctx, tuple, index, ctx.typeSystem.pythonTuple) ?: return null + return tuple.readElement(ctx, indexInt) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a755e989ca..7b18319dd0 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,20 +23,30 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - // val slice = ConcretePythonInterpreter.eval(emptyNamespace, "slice") - // println(ConcretePythonInterpreter.typeLookup(slice, "start")) - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() - // analyze(config) - checkConcolicAndConcrete(config) + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() + analyze(config) + // checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() + val (program, typeSystem) = constructPrimitiveProgram( + """ + def f(x, t): + assert isinstance(t, tuple) + if x == t[0]: + return 1 + elif x == t[-2]: + return 2 + elif x == t[2]: + return 3 + else: + return 4 + """.trimIndent() + ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt, typeSystem.pythonInt), - "slice_usages", - "Slices" + listOf(PythonAnyType, PythonAnyType), + "f" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt index cff2c31ef6..8a7ff98b15 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachineOptions(stepLimit = 20U)) { @@ -37,6 +38,8 @@ class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachi @Test fun testInputListOfPairs() { + val oldOptions = options + options = UMachineOptions(stepLimit = 40U) check1WithConcreteRun( constructFunction("input_list_of_pairs", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, @@ -48,5 +51,70 @@ class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachi { _, res -> res.selfTypeName == "ValueError" } ) ) + options = oldOptions + } + + @Test + fun testLength() { + check1WithConcreteRun( + constructFunction("length", listOf(typeSystem.pythonTuple)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" }, + ) + ) + } + + @Test + fun testSumOfTuple() { + check1WithConcreteRun( + constructFunction("sum_of_tuple", listOf(typeSystem.pythonTuple)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" }, + ) + ) + } + + @Test + fun testGetItemSample() { + check1WithConcreteRun( + constructFunction("get_item_sample", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(4) { + { _, res -> res.repr == (it + 1).toString() } + } + ) + } + + @Test + fun testGetItemOfInput() { + val oldOptions = options + options = UMachineOptions(stepLimit = 50U) + allowPathDiversions = true + check2WithConcreteRun( + constructFunction("get_item_of_input", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "1" }, + { _, _, res -> res.repr == "2" }, + { _, _, res -> res.repr == "3" }, + { _, _, res -> res.repr == "4" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "IndexError" }, + ) + ) + options = oldOptions + allowPathDiversions = false } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTuple.py b/usvm-python/src/test/resources/samples/SimpleTuple.py index dd173af533..4f5a49f852 100644 --- a/usvm-python/src/test/resources/samples/SimpleTuple.py +++ b/usvm-python/src/test/resources/samples/SimpleTuple.py @@ -16,4 +16,39 @@ def input_list_of_pairs(x): result = 0 for a, b in x: result += a - b - assert result == 12345 \ No newline at end of file + assert result == 12345 + + +def length(x: tuple): + assert len(x) == 11 + + +def sum_of_tuple(x: tuple): + sum_ = 0 + for elem in x: + sum_ += elem + assert sum_ == 239 + + +def get_item_sample(x): + t = (1, 2, 3) + if x == t[0]: + return 1 + elif x == t[-2]: + return 2 + elif x == t[2]: + return 3 + else: + return 4 + + +def get_item_of_input(x, t): + assert isinstance(t, tuple) + if x == t[0]: + return 1 + elif x == t[-2]: + return 2 + elif x == t[2]: + return 3 + else: + return 4 \ No newline at end of file From 469e95aaa0556c65e142f70ed6068362b631ba8a Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 20 Sep 2023 11:49:19 +0300 Subject: [PATCH 105/344] Fixes after rebase --- .../kotlin/org/usvm/machine/UPythonContext.kt | 7 ++++++- .../machine/interpreters/operations/Common.kt | 3 ++- .../SymbolicObjectConstruction.kt | 16 ++++++++-------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index c3e773f666..8c53a61883 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -1,13 +1,18 @@ package org.usvm.machine +import org.usvm.INITIAL_STATIC_ADDRESS import org.usvm.UConcreteHeapAddress import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.language.types.PythonTypeSystem class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(typeSystem)) { - private var nextAddress: UConcreteHeapAddress = -1_000_000_000 + private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { + require(nextAddress > INITIAL_STATIC_ADDRESS) { + "Should not return a static ref" + } + return mkConcreteHeapRef(nextAddress--) } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 01fdc07a78..2a7d0cdcf0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -65,7 +65,8 @@ fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObjec } fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { - ctx.statistics.addLostSymbolicValue(MethodDescription(description)) + if (ctx.curState != null) + ctx.statistics.addLostSymbolicValue(MethodDescription(description)) } fun createIterable( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index da9938d19c..39900610b6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -36,7 +36,7 @@ fun constructEmptyObject( typeSystem: PythonTypeSystem, type: ConcretePythonType ): UninterpretedSymbolicPythonObject { - val address = memory.alloc(type) + val address = memory.allocConcrete(type) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setMinimalTimeOfCreation(ctx, memory) } @@ -45,7 +45,7 @@ fun constructEmptyObject( fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonInt) + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonInt) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setIntContent(context, expr) result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) @@ -68,7 +68,7 @@ fun constructInitialBool( typeSystem: PythonTypeSystem, expr: UExpr ): UninterpretedSymbolicPythonObject { - val address = memory.alloc(typeSystem.pythonBool) + val address = memory.allocConcrete(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) @@ -80,7 +80,7 @@ fun constructInitialBool( fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonListIteratorType) + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonListIteratorType) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setListIteratorContent(context, list) result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) @@ -90,7 +90,7 @@ fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbol fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonTupleIteratorType) + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonTupleIteratorType) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setTupleIteratorContent(context, tuple) it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) @@ -100,7 +100,7 @@ fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymb fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UExpr, step: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonRange) + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRange) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeContent(context, start, stop, step) it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) @@ -110,7 +110,7 @@ fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UE fun constructRangeIterator(context: ConcolicRunContext, range: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem - val address = context.curState!!.memory.alloc(typeSystem.pythonRangeIterator) + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRangeIterator) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeIteratorContent(context, range) it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) @@ -125,7 +125,7 @@ fun constructSlice( ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val typeSystem = ctx.typeSystem - val address = ctx.curState!!.memory.alloc(typeSystem.pythonSlice) + val address = ctx.curState!!.memory.allocConcrete(typeSystem.pythonSlice) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setSliceStart(ctx, start) it.setSliceStop(ctx, stop) From 54fde058d0492121da1105989b249ded4d02b907 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 20 Sep 2023 16:04:53 +0300 Subject: [PATCH 106/344] Started working on floats --- usvm-python/build.gradle.kts | 10 +++- .../main/kotlin/org/usvm/language/Fields.kt | 6 +++ .../org/usvm/language/types/TypeSystem.kt | 1 + .../ConverterToPythonObject.kt | 7 +++ .../symbolicobjects/SymbolicObjectContents.kt | 10 +++- .../machine/utils/DefaultValueProvider.kt | 1 + usvm-python/src/test/kotlin/manualTest.kt | 50 +++++++------------ .../org/usvm/samples/SimpleExampleTest.kt | 14 ++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 5 +- .../test/resources/samples/SimpleExample.py | 6 ++- 10 files changed, 73 insertions(+), 37 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index e33d74a1d8..c5e27772b3 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -96,7 +96,6 @@ tasks.register("manualTestDebug") { } else { environment("PYTHONHOME" to cpythonBuildPath) jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml", "-Djava.library.path=$cpythonAdapterBuildPath") - //val initialPath = environment["PATH"]!! environment("PATH", "$cpythonBuildPath;$pythonDllsPath") } classpath = sourceSets.test.get().runtimeClasspath @@ -107,7 +106,14 @@ tasks.register("manualTestDebugNoLogs") { group = "run" registerCpython(this, debug = true) dependsOn(buildSamples) - jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + if (!isWindows) { + registerCpython(this, debug = true) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml") //, "-Xcheck:jni") + } else { + environment("PYTHONHOME" to cpythonBuildPath) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml", "-Djava.library.path=$cpythonAdapterBuildPath") + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index 6d314b999c..ccdd6bbdbe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -6,9 +6,15 @@ data class ContentOfType(val id: String): PropertyOfPythonObject() object IntContents { val content = ContentOfType("int") } + object BoolContents { val content = ContentOfType("bool") } + +object FloatContents { + val content = ContentOfType("float") +} + object ListIteratorContents { val list = ContentOfType("list_of_list_iterator") val index = ContentOfType("index_of_list_iterator") diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 31d9cd3f82..2cf55abbbb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -93,6 +93,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonInt = createConcreteTypeByName("int") val pythonBool = createConcreteTypeByName("bool") + val pythonFloat = createConcreteTypeByName("float") val pythonObjectType = createConcreteTypeByName("object") val pythonNoneType = createConcreteTypeByName("type(None)") val pythonList = createArrayLikeTypeByName("list", setOf(NonRecursiveConstraint)) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 40d94337e8..7dcd698e59 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -1,5 +1,6 @@ package org.usvm.machine.symbolicobjects +import io.ksmt.expr.KFp64Value import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UHeapRef @@ -55,6 +56,7 @@ class ConverterToPythonObject( typeSystem.pythonTuple -> convertTuple(obj) typeSystem.pythonStr -> convertString() typeSystem.pythonSlice -> convertSlice(obj) + typeSystem.pythonFloat -> convertFloat(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(type) @@ -66,6 +68,11 @@ class ConverterToPythonObject( return result } + private fun convertFloat(obj: InterpretedInputSymbolicPythonObject): PythonObject { + val floatValue = obj.getFloatContent(ctx) as KFp64Value + return ConcretePythonInterpreter.eval(emptyNamespace, floatValue.value.toString()) + } + private fun convertString(): PythonObject { return ConcretePythonInterpreter.eval(emptyNamespace, "'${strNumber++}'") } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 932e3a8477..43eb804f34 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -2,6 +2,7 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort +import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr import org.usvm.UExpr @@ -15,7 +16,6 @@ import org.usvm.language.* import org.usvm.language.types.ArrayType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext -import org.usvm.machine.interpreters.operations.myAssert /** int **/ @@ -58,6 +58,14 @@ fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInt } +/** float **/ + +fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): KInterpretedValue { + require(getConcreteType() == typeSystem.pythonFloat) + return modelHolder.model.readField(address, FloatContents.content, ctx.fp64Sort) +} + + /** bool **/ fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index 028aa0e9cd..404abdfc5a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -15,6 +15,7 @@ class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { typeSystem.pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") typeSystem.pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") + typeSystem.pythonFloat -> ConcretePythonInterpreter.eval(emptyNamespace, "0.0") else -> TODO() } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 7b18319dd0..b019f1789c 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,34 +32,32 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x, t): - assert isinstance(t, tuple) - if x == t[0]: - return 1 - elif x == t[-2]: - return 2 - elif x == t[2]: - return 3 - else: - return 4 + def f(x): + assert isinstance(x, float) """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType), + listOf(PythonAnyType), "f" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) } +/* +/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming +/home/tochilinak/Documents/projects/utbot/mypy_tmp +/home/tochilinak/Documents/projects/utbot/usvm/usvm-python/cpythonadapter/build/cpython_build/bin/python3 +*/ + private fun buildProjectRunConfig(): RunConfig { - val projectPath = "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming" - val mypyRoot = "/home/tochilinak/Documents/projects/utbot/mypy_tmp" + val projectPath = "D:\\projects\\Python\\sorts" + val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) val mypyDir = MypyBuildDirectory(File(mypyRoot), setOf(projectPath)) buildMypyInfo( - "/home/tochilinak/Documents/projects/utbot/usvm/usvm-python/cpythonadapter/build/cpython_build/bin/python3", + "D:\\projects\\usvm\\usvm-python\\cpythonadapter\\build\\cpython_build\\python_d.exe", files.map { it.canonicalPath }, modules, mypyDir @@ -67,19 +65,9 @@ private fun buildProjectRunConfig(): RunConfig { val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val ignoreFunctions = listOf( - "_top_down_cut_rod_recursive" // NoSuchElement - /*"circle_sort", // NoSuchElement - "cocktail_shaker_sort", // slow (why?) - "quick_sort_lomuto_partition", // NoSuchElement - "oe_process", // blocks - "merge_insertion_sort", // slow (why?) - "msd_radix_sort_inplace" // NoSuchElement*/ - ) + val ignoreFunctions = listOf() val ignoreModules = listOf( - // "heaps_algorithm", - /*"intro_sort", // NoSuchElement - "heap_sort" // NoSuchElement*/ + "odd_even_transposition_parallel" ) val functions = modules.flatMap { module -> if (module in ignoreModules) @@ -106,7 +94,7 @@ private fun buildProjectRunConfig(): RunConfig { ) } } - return RunConfig(program, typeSystem, functions) + return RunConfig(program, typeSystem, functions.take(100)) } private fun checkConcolicAndConcrete(runConfig: RunConfig) { @@ -148,11 +136,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 100, + maxIterations = 40, allowPathDiversion = true, - maxInstructions = 100_000, - timeoutPerRunMs = 10_000, - timeoutMs = 30_000 + maxInstructions = 30_000, + timeoutPerRunMs = 3_000, + timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 6006116d03..5807c74a3f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -247,4 +247,18 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } + + @Test + fun testFloatInput() { + check1WithConcreteRun( + constructFunction("float_input", listOf(PythonAnyType)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 3db0dbb1c0..e9d5d862d8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -124,7 +124,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testAddAndCompare() { val oldOptions = options allowPathDiversions = true - options = UMachineOptions(stepLimit = 50U) + options = UMachineOptions(stepLimit = 70U) check2WithConcreteRun( constructFunction("add_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -144,7 +144,8 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 120U) + options = UMachineOptions(stepLimit = 150U) + timeoutPerRunMs = 3000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 1405347c88..b2d3baf0a7 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -147,4 +147,8 @@ def is_none(x): def is_not_none(x): - assert x is not None \ No newline at end of file + assert x is not None + + +def float_input(x): + assert isinstance(x, float) \ No newline at end of file From 82d4a18caf65e2ca8cecc2b49a969c1e8a48af3b Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 21 Sep 2023 12:07:02 +0300 Subject: [PATCH 107/344] Float operations --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/virtual_objects.c | 12 -- .../src/main/json/adapter_method_defs.json | 120 ++++++++++++++++++ .../src/main/json/handler_defs.json | 55 +++++++- .../org/usvm/interpreter/CPythonAdapter.java | 65 +++++++++- .../org/usvm/machine/PythonComponents.kt | 5 +- .../kotlin/org/usvm/machine/UPythonContext.kt | 16 ++- .../machine/interpreters/operations/Common.kt | 13 ++ .../interpreters/operations/Constants.kt | 11 ++ .../machine/interpreters/operations/Float.kt | 62 +++++++++ .../machine/interpreters/operations/Long.kt | 24 ++-- .../interpreters/operations/Virtual.kt | 11 -- .../ConverterToPythonObject.kt | 3 +- .../SymbolicObjectConstruction.kt | 13 ++ .../symbolicobjects/SymbolicObjectContents.kt | 33 ++++- usvm-python/src/test/kotlin/manualTest.kt | 13 +- .../kotlin/org/usvm/samples/FloatsTest.kt | 49 +++++++ .../{SimpleListsTest.kt => ListsTest.kt} | 22 +++- .../org/usvm/samples/SimpleExampleTest.kt | 14 -- .../usvm/samples/SimpleTypeInferenceTest.kt | 5 +- .../{SimpleTupleTest.kt => TupleTest.kt} | 10 +- .../src/test/resources/samples/Floats.py | 33 +++++ .../samples/{SimpleLists.py => Lists.py} | 10 ++ .../test/resources/samples/SimpleExample.py | 6 +- .../samples/{SimpleTuple.py => Tuple.py} | 9 +- 25 files changed, 529 insertions(+), 87 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt rename usvm-python/src/test/kotlin/org/usvm/samples/{SimpleListsTest.kt => ListsTest.kt} (93%) rename usvm-python/src/test/kotlin/org/usvm/samples/{SimpleTupleTest.kt => TupleTest.kt} (92%) create mode 100644 usvm-python/src/test/resources/samples/Floats.py rename usvm-python/src/test/resources/samples/{SimpleLists.py => Lists.py} (95%) rename usvm-python/src/test/resources/samples/{SimpleTuple.py => Tuple.py} (84%) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 8fa03614ee..108da2fd09 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 8fa03614eeb60ef6f3564dc41ef29797406de04f +Subproject commit 108da2fd095a90380c82409b34b4d4a66cda9744 diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index d6175f7f59..bd1d45fdb7 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -83,17 +83,6 @@ nb_bool(PyObject *self) { } PyType_Slot Virtual_nb_bool = {Py_nb_bool, nb_bool}; -static PyObject * -nb_int(PyObject *self) { - VirtualPythonObject *obj = (VirtualPythonObject *) self; - obj->adapter->ignore = 1; - jlong result = (*obj->ctx->env)->CallStaticLongMethod(obj->ctx->env, obj->ctx->cpython_adapter_cls, obj->ctx->handle_virtual_nb_int, obj->ctx->context, obj->reference); - obj->adapter->ignore = 0; - CHECK_FOR_EXCEPTION(obj->ctx, 0) - return (PyObject *) result; -} -PyType_Slot Virtual_nb_int = {Py_nb_int, nb_int}; - #define BINARY_FUNCTION \ PyObject *owner = 0; \ int owner_id = -1; \ @@ -171,7 +160,6 @@ initialize_virtual_object_type() { Virtual_tp_getattro, Virtual_tp_iter, Virtual_nb_bool, - Virtual_nb_int, Virtual_nb_add, Virtual_nb_subtract, Virtual_nb_multiply, diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index f66e66823a..562261476b 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -179,6 +179,126 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "gt_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "lt_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "eq_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "ne_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "le_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "ge_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "add_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "sub_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "mul_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, + { + "c_name": "div_float", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "add_long", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 4391c8a3b8..f67cd82ddb 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -74,6 +74,56 @@ "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "gt_float", + "java_name": "handlerGTFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "lt_float", + "java_name": "handlerLTFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "eq_float", + "java_name": "handlerEQFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "ne_float", + "java_name": "handlerNEFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "le_float", + "java_name": "handlerLEFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "ge_float", + "java_name": "handlerGEFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "add_float", + "java_name": "handlerADDFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "sub_float", + "java_name": "handlerSUBFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "mul_float", + "java_name": "handlerMULFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "div_float", + "java_name": "handlerDIVFloat", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "bool_and", "java_name": "handlerAND", @@ -249,11 +299,6 @@ "java_name": "virtualNbBool", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)Z" }, - { - "c_name": "virtual_nb_int", - "java_name": "virtualNbInt", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)J" - }, { "c_name": "virtual_sq_length", "java_name": "virtualSqLength", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 36e6deff2c..2dea395d79 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -20,6 +20,7 @@ import static org.usvm.machine.interpreters.operations.CommonKt.*; import static org.usvm.machine.interpreters.operations.ConstantsKt.handlerLoadConstKt; import static org.usvm.machine.interpreters.operations.ControlKt.handlerForkKt; +import static org.usvm.machine.interpreters.operations.FloatKt.*; import static org.usvm.machine.interpreters.operations.ListKt.*; import static org.usvm.machine.interpreters.operations.LongKt.*; import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; @@ -238,6 +239,66 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerGTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("gt_float", Arrays.asList(left, right)), () -> handlerGTFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerLTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("lt_float", Arrays.asList(left, right)), () -> handlerLTFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerEQFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("eq_float", Arrays.asList(left, right)), () -> handlerEQFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerNEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("ne_float", Arrays.asList(left, right)), () -> handlerNEFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerGEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("ge_float", Arrays.asList(left, right)), () -> handlerGEFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerLEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("le_float", Arrays.asList(left, right)), () -> handlerLEFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerADDFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("add_float", Arrays.asList(left, right)), () -> handlerADDFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerSUBFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("sub_float", Arrays.asList(left, right)), () -> handlerSUBFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerMULFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("mul_float", Arrays.asList(left, right)), () -> handlerMULFloatKt(context, left.obj, right.obj)); + } + + public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("div_float", Arrays.asList(left, right)), () -> handlerDIVFloatKt(context, left.obj, right.obj)); + } + public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -486,10 +547,6 @@ public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObj return virtualNbBoolKt(context, obj); } - public static long virtualNbInt(ConcolicRunContext context, VirtualPythonObject obj) { - return virtualNbIntKt(context, obj).getAddress(); - } - public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObject obj) { return virtualSqLengthKt(context, obj); } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 0f3d916298..66ef606f1e 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -1,5 +1,8 @@ package org.usvm.machine +import com.microsoft.z3.Global +import io.ksmt.solver.cvc5.KCvc5Solver +import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext @@ -20,7 +23,7 @@ class PythonComponents( val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) - solver.configure { setZ3Option("timeout", 1) } +// solver.configure { setZ3Option("timeout", 1) } return USolverBase(ctx, solver, UTypeSolver(typeSystem), translator, decoder, softConstraintsProvider) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 8c53a61883..68fc18d4c3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -1,9 +1,10 @@ package org.usvm.machine -import org.usvm.INITIAL_STATIC_ADDRESS -import org.usvm.UConcreteHeapAddress -import org.usvm.UConcreteHeapRef -import org.usvm.UContext +import io.ksmt.expr.KFpRoundingMode +import io.ksmt.sort.KFp64Sort +import io.ksmt.sort.KIntSort +import io.ksmt.sort.KRealSort +import org.usvm.* import org.usvm.language.types.PythonTypeSystem class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(typeSystem)) { @@ -15,4 +16,11 @@ class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(ty return mkConcreteHeapRef(nextAddress--) } + + val floatRoundingMode = mkFpRoundingModeExpr(KFpRoundingMode.RoundNearestTiesToEven) + + fun intToFloat(intValue: UExpr): UExpr { + return mkIntToReal(intValue) + //return mkRealToFpExpr(fp64Sort, floatRoundingMode, realValue) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index 2a7d0cdcf0..c0c260f7fe 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.operations import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized import org.usvm.api.readArrayLength @@ -172,4 +173,16 @@ fun resolveSequenceIndex( mkArithAdd(indexValue, listSize) } } +} + +fun addPossibleSupertypes( + ctx: ConcolicRunContext, + objs: List, + possibleTypes: List +) = with(ctx.ctx) { + val cond = objs.fold(trueExpr as UBoolExpr) { outerAcc, obj -> + val curCond = possibleTypes.fold(trueExpr as UBoolExpr) { acc, type -> acc or obj.evalIsSoft(ctx, type) } + outerAcc and curCond + } + myAssert(ctx, cond) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 46389a325e..9e1a54392b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -5,6 +5,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructFloat import org.usvm.machine.symbolicobjects.constructInt fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = @@ -20,6 +21,7 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte handlerLoadConstTupleKt(context, symbolicElements) } "str" -> handlerLoadConstStrKt(context, value) + "float" -> handlerLoadConstFloatKt(context, value) else -> null } @@ -44,6 +46,15 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): Un return constructInt(context, context.ctx.mkIntNum(str)) } +fun handlerLoadConstFloatKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { + if (context.curState == null) + return null + val str = ConcretePythonInterpreter.getPythonObjectRepr(value) + val doubleValue = str.toDoubleOrNull() ?: return null + val fpValue = context.ctx.mkFp64(doubleValue) + return constructFloat(context, context.ctx.mkFpToRealExpr(fpValue)) +} + fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt new file mode 100644 index 0000000000..e8094178a2 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt @@ -0,0 +1,62 @@ +package org.usvm.machine.interpreters.operations + +import io.ksmt.sort.KFp64Sort +import io.ksmt.sort.KIntSort +import io.ksmt.sort.KRealSort +import io.ksmt.sort.KSort +import org.usvm.UBoolExpr +import org.usvm.UContext +import org.usvm.UExpr +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.UPythonContext +import org.usvm.machine.symbolicobjects.* + +private fun createBinaryFloatOp( + op: (UPythonContext, UExpr, UExpr) -> UExpr? +): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> + if (ctx.curState == null) + null + else with (ctx.ctx) { + val typeSystem = ctx.typeSystem + val possibleTypes = listOf(typeSystem.pythonFloat, typeSystem.pythonInt, typeSystem.pythonBool) + addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) + /*if (left.getTypeIfDefined(ctx) != typeSystem.pythonFloat) + myFork(ctx, left.evalIs(ctx, typeSystem.pythonFloat)) + if (right.getTypeIfDefined(ctx) != typeSystem.pythonFloat) + myFork(ctx, right.evalIs(ctx, typeSystem.pythonFloat))*/ + op( + ctx.ctx, + left.getToFloatContent(ctx) ?: return@with null, + right.getToFloatContent(ctx) ?: return@with null + )?.let { + @Suppress("unchecked_cast") + when (it.sort) { + realSort -> constructFloat(ctx, it as UExpr) + intSort -> constructInt(ctx, it as UExpr) + boolSort -> constructBool(ctx, it as UBoolExpr) + else -> error("Bad return sort of float operation: ${it.sort}") + } + } + } +} + +fun handlerGTFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) +fun handlerLTFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) +fun handlerEQFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) +fun handlerNEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) +fun handlerGEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left ge right} } (x, y, z) +fun handlerLEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) +fun handlerADDFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithAdd(left, right) } } (x, y, z) +fun handlerSUBFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithSub(left, right) } } (x, y, z) +fun handlerMULFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithMul(left, right) } } (x, y, z) +fun handlerDIVFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithDiv(left, right) } } (x, y, z) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index c42f6c9ad0..c62f042096 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -11,24 +11,24 @@ import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.getToIntContent -fun createBinaryIntOp( +private fun createBinaryIntOp( op: (UContext, UExpr, UExpr) -> UExpr? -): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { concolicContext, left, right -> - if (concolicContext.curState == null) +): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> + if (ctx.curState == null) null - else with (concolicContext.ctx) { - val typeSystem = concolicContext.typeSystem - myAssert(concolicContext, left.evalIsSoft(concolicContext, typeSystem.pythonInt) or left.evalIsSoft(concolicContext, typeSystem.pythonBool)) - myAssert(concolicContext, right.evalIsSoft(concolicContext, typeSystem.pythonInt) or right.evalIsSoft(concolicContext, typeSystem.pythonBool)) + else with (ctx.ctx) { + val typeSystem = ctx.typeSystem + val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) + addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) op( - concolicContext.ctx, - left.getToIntContent(concolicContext) ?: return@with null, - right.getToIntContent(concolicContext) ?: return@with null + ctx.ctx, + left.getToIntContent(ctx) ?: return@with null, + right.getToIntContent(ctx) ?: return@with null )?.let { @Suppress("unchecked_cast") when (it.sort) { - intSort -> constructInt(concolicContext, it as UExpr) - boolSort -> constructBool(concolicContext, it as UBoolExpr) + intSort -> constructInt(ctx, it as UExpr) + boolSort -> constructBool(ctx, it as UBoolExpr) else -> TODO() } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 2bfe1126ca..cefff8bc1a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -41,17 +41,6 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole return interpretedObj.getBoolContent(context).isTrue } -fun virtualNbIntKt(context: ConcolicRunContext, on: VirtualPythonObject): PythonObject { - context.curOperation ?: throw UnregisteredVirtualOperation - val typeSystem = context.typeSystem - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) - require(context.curOperation?.method == NbIntMethod && interpretedArg == on.interpretedObj) - val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertypeSoft(context, typeSystem.pythonInt) - val intValue = interpretedObj.getIntContent(context) - return ConcretePythonInterpreter.eval(emptyNamespace, intValue.toString()) -} - fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = context.typeSystem diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 7dcd698e59..8d29055acc 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -69,7 +69,8 @@ class ConverterToPythonObject( } private fun convertFloat(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val floatValue = obj.getFloatContent(ctx) as KFp64Value + val realValue = obj.getFloatContent(ctx) + val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value return ConcretePythonInterpreter.eval(emptyNamespace, floatValue.value.toString()) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 39900610b6..02dd736dad 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -1,7 +1,9 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KBoolSort +import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort +import io.ksmt.sort.KRealSort import org.usvm.* import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints @@ -52,6 +54,17 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre return result } +fun constructFloat(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { + require(context.curState != null) + val typeSystem = context.typeSystem + val address = context.curState!!.memory.allocConcrete(typeSystem.pythonFloat) + val result = UninterpretedSymbolicPythonObject(address, typeSystem) + result.setFloatContent(context, expr) + result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + return result +} + + fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 43eb804f34..bda4f9c352 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -2,8 +2,8 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort -import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort +import io.ksmt.sort.KRealSort import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.UHeapRef @@ -60,9 +60,36 @@ fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInt /** float **/ -fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): KInterpretedValue { +sealed class FloatInterpretedContent +object FloatNan: FloatInterpretedContent() +object FloatPlusInfinity: FloatInterpretedContent() +object FloatMinusInfinity: FloatInterpretedContent() +data class FloatNormalValue(val value: Double): FloatInterpretedContent() + +fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): KInterpretedValue { require(getConcreteType() == typeSystem.pythonFloat) - return modelHolder.model.readField(address, FloatContents.content, ctx.fp64Sort) + return modelHolder.model.readField(address, FloatContents.content, ctx.realSort) +} + +fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: UExpr) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonFloat) + ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonFloat) + return ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) +} + +fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonFloat -> getFloatContent(ctx) + typeSystem.pythonInt -> intToFloat(getIntContent(ctx)) + typeSystem.pythonBool -> intToFloat(getToIntContent(ctx)!!) + else -> null + } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index b019f1789c..e8020c0a10 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,12 +32,13 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x): - assert isinstance(x, float) + def f(x: float): + # assert x < float('inf') + assert x / 2 == 10 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), + listOf(typeSystem.pythonFloat), "f" ) val functions = listOf(function) @@ -136,11 +137,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 40, + maxIterations = 60, allowPathDiversion = true, maxInstructions = 30_000, - timeoutPerRunMs = 3_000, - timeoutMs = 20_000 + timeoutPerRunMs = 7_000, + //timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt new file mode 100644 index 0000000000..b1cdd34c7a --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -0,0 +1,49 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { + @Test + fun testFloatInput() { + check1WithConcreteRun( + constructFunction("float_input", listOf(PythonAnyType)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testComparison() { + check1WithConcreteRun( + constructFunction("comparison", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(7) { + { _, res -> res.repr == (it + 1).toString() } + } + ) + } + + @Test + fun testSimpleOperations() { + check1WithConcreteRun( + constructFunction("simple_operations", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(6) { + { _, res -> res.repr == (it + 1).toString() } + } + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt similarity index 93% rename from usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt rename to usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 474ddddfc2..16e5a17853 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -8,7 +8,7 @@ import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMachineOptions(stepLimit = 20U)) { +class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(stepLimit = 20U)) { @Test fun testSimpleListSample() { check2WithConcreteRun( @@ -309,4 +309,24 @@ class SimpleListsTest : PythonTestRunnerForPrimitiveProgram("SimpleLists", UMach ) ) } + + @Test + fun testListOfFloatPairs() { + val oldOptions = options + options = UMachineOptions(stepLimit = 60U) + timeoutPerRunMs = 3000 + check1WithConcreteRun( + constructFunction("input_list_of_float_pairs", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.selfTypeName == "ValueError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 5807c74a3f..6006116d03 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -247,18 +247,4 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } - - @Test - fun testFloatInput() { - check1WithConcreteRun( - constructFunction("float_input", listOf(PythonAnyType)), - eq(2), - standardConcolicAndConcreteChecks, - /* invariants = */ emptyList(), - /* propertiesToDiscover = */ listOf( - { _, res -> res.repr == "None" }, - { _, res -> res.selfTypeName == "AssertionError" } - ) - ) - } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index e9d5d862d8..81925e3263 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -108,6 +108,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testIteration() { + allowPathDiversions = true check1WithConcreteRun( constructFunction("iteration", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -118,13 +119,15 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn { _, res -> res.repr == "None" } ) ) + allowPathDiversions = false } @Test fun testAddAndCompare() { val oldOptions = options allowPathDiversions = true - options = UMachineOptions(stepLimit = 70U) + options = UMachineOptions(stepLimit = 100U) + timeoutPerRunMs = 2000 check2WithConcreteRun( constructFunction("add_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt similarity index 92% rename from usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt rename to usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index 8a7ff98b15..9a51b6b069 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -7,7 +7,7 @@ import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachineOptions(stepLimit = 20U)) { +class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(stepLimit = 20U)) { @Test fun testTupleConstructAndIter() { check1WithConcreteRun( @@ -39,16 +39,18 @@ class SimpleTupleTest: PythonTestRunnerForPrimitiveProgram("SimpleTuple", UMachi @Test fun testInputListOfPairs() { val oldOptions = options - options = UMachineOptions(stepLimit = 40U) + options = UMachineOptions(stepLimit = 30U) + timeoutPerRunMs = 2000 check1WithConcreteRun( constructFunction("input_list_of_pairs", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( - { _, res -> res.repr == "None" }, { _, res -> res.selfTypeName == "AssertionError" }, - { _, res -> res.selfTypeName == "ValueError" } + { _, res -> res.selfTypeName == "ValueError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } ) ) options = oldOptions diff --git a/usvm-python/src/test/resources/samples/Floats.py b/usvm-python/src/test/resources/samples/Floats.py new file mode 100644 index 0000000000..f886a5d39b --- /dev/null +++ b/usvm-python/src/test/resources/samples/Floats.py @@ -0,0 +1,33 @@ +def float_input(x): + assert isinstance(x, float) + + +def comparison(x): + if x == 4.7: + return 1 + elif x > 5.1: + return 2 + elif x < -10.5: + return 3 + elif x >= 3.77: + return 4 + elif x <= -3.553: + return 5 + elif x != 0.5: + return 6 + else: + return 7 + + +def simple_operations(x): + if x + 0.5 > 3.1: + return 1 + elif x * 2 == 0.5: + return 2 + elif x - 100 < -500.5: + return 3 + elif x * True == 1: + return 4 + elif x / 2.5 == 1: + return 5 + return 6 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleLists.py b/usvm-python/src/test/resources/samples/Lists.py similarity index 95% rename from usvm-python/src/test/resources/samples/SimpleLists.py rename to usvm-python/src/test/resources/samples/Lists.py index 8ee7190c24..709fedd291 100644 --- a/usvm-python/src/test/resources/samples/SimpleLists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -168,4 +168,14 @@ def repeat_2(x: int): lst = [1, 2] * 10 if lst[x] == 1: return 1 + return 2 + + +def input_list_of_float_pairs(x): + result = 0 + assert len(x) <= 4 + for a, b in x: + result += a * 0.5 + b + if result == 10000.5: + return 1 return 2 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index b2d3baf0a7..1405347c88 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -147,8 +147,4 @@ def is_none(x): def is_not_none(x): - assert x is not None - - -def float_input(x): - assert isinstance(x, float) \ No newline at end of file + assert x is not None \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTuple.py b/usvm-python/src/test/resources/samples/Tuple.py similarity index 84% rename from usvm-python/src/test/resources/samples/SimpleTuple.py rename to usvm-python/src/test/resources/samples/Tuple.py index 4f5a49f852..37c66f8c5d 100644 --- a/usvm-python/src/test/resources/samples/SimpleTuple.py +++ b/usvm-python/src/test/resources/samples/Tuple.py @@ -14,9 +14,14 @@ def tuple_unpack(x): def input_list_of_pairs(x): result = 0 - for a, b in x: + assert len(x) <= 4 + for p in x: + assert isinstance(p, tuple) + a, b = p result += a - b - assert result == 12345 + if result == 12345: + return 1 + return 2 def length(x: tuple): From 5a36f6b334f1b4b3f032046514eb692ea0bfb23a Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 21 Sep 2023 17:02:12 +0300 Subject: [PATCH 108/344] Global clones; float to int --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 10 ++++++++ .../src/main/c/include/approximations.h | 1 + .../org_usvm_interpreter_CPythonAdapter.h | 4 +-- .../src/main/c/include/symbolic_methods.h | 1 + .../cpythonadapter/src/main/c/include/utils.h | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 11 +++++++- .../src/main/c/symbolic_methods.c | 10 ++++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 25 +++++++++++++++++++ .../src/main/json/adapter_method_defs.json | 12 +++++++++ .../src/main/json/handler_defs.json | 5 ++++ .../org/usvm/interpreter/CPythonAdapter.java | 9 ++++++- .../usvm/language/NamedSymbolForCPython.java | 11 ++++++++ .../interpreters/ConcretePythonInterpreter.kt | 4 +++ .../interpreters/SymbolicClonesOfGlobals.kt | 14 +++++++++++ .../machine/interpreters/operations/Float.kt | 10 ++++++++ .../machine/interpreters/operations/Long.kt | 20 +++++++++++++-- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../kotlin/org/usvm/samples/FloatsTest.kt | 14 +++++++++++ .../kotlin/org/usvm/samples/SlicesTest.kt | 2 +- .../src/test/resources/samples/Floats.py | 6 ++++- 21 files changed, 164 insertions(+), 10 deletions(-) create mode 100644 usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java create mode 100644 usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 108da2fd09..d7ce42fce5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 108da2fd095a90380c82409b34b4d4a66cda9744 +Subproject commit d7ce42fce510cdfc100e1d3aa5e452da65916772 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index e69492589c..1750f0a220 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -136,4 +136,14 @@ Approximation_sum(PyObject *iterable) { PyObject *res = Py_TYPE(wrapped_func)->tp_call(wrapped_func, args, 0); Py_DECREF(args); return res; +} + +PyObject * +SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs) { + assert(self == NULL && args && PyTuple_Check(args)); + if (PyTuple_Size(args) != 1 || kwargs) + return Py_None; + PyObject *arg = PyTuple_GetItem(args, 0); + PyObject *result = adapter->symbolic_int_cast(adapter->handler_param, arg); + return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 2b1acd3fd9..90ed8a69f3 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -21,6 +21,7 @@ PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range PyObject *Approximation_sum(PyObject *iterable); // builtins.sum +PyObject *SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // int() PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index c7ac0b0ba1..b3200c099d 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -66,10 +66,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu /* * Class: org_usvm_interpreter_CPythonAdapter * Method: concolicRun - * Signature: (J[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;Z)J + * Signature: (J[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/NamedSymbolForCPython;Z)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jobjectArray, jobject, jboolean); + (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jobjectArray, jobject, jobjectArray, jboolean); /* * Class: org_usvm_interpreter_CPythonAdapter diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index ab8d128978..80e10cd45e 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -18,6 +18,7 @@ typedef struct { void initialize_symbolic_methods_holder(); // void clean_methods(); SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); +SymbolicMethod *construct_int_constructor_method(); PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 72d8603374..ccad987258 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -68,6 +68,7 @@ long extract_long_value(PyObject *int_object); CHECK_FOR_EXCEPTION(ctx, fail_value) int audit_hook(const char *event, PyObject *args, void *data); +PyObject *construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index bb1b8f9010..2693e54046 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -79,7 +79,10 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); + initialize_symbolic_methods_holder(); + SymbolicMethod *int_constructor = construct_int_constructor_method(); + SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { @@ -208,6 +211,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( jlongArray virtual_args, jobjectArray symbolic_args, jobject context, + jobjectArray global_clones, jboolean print_error_message ) { PyObjectArray args; @@ -218,7 +222,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_concolic_context(env, context, cpython_adapter, &ctx); (*env)->SetLongField(env, cpython_adapter, ctx.cpython_java_exception_field, (jlong) ctx.java_exception); - SymbolicAdapter *adapter = create_new_adapter(&ctx); + PyObject *global_clones_dict = construct_global_clones_dict(env, global_clones); + SymbolicAdapter *adapter = create_new_adapter(&ctx, global_clones_dict); ctx.adapter = adapter; register_virtual_methods(adapter); REGISTER_ADAPTER_METHODS(adapter); @@ -227,6 +232,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); + assert(!PyErr_Occurred()); + assert(!(*env)->ExceptionCheck(env)); PyObject *result = SymbolicAdapter_run((PyObject *) adapter, function, args.size, args.ptr, turn_on_audit_hook, turn_off_audit_hook); free(args.ptr); @@ -238,6 +245,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( PyErr_Print(); } PyErr_Clear(); + // Py_DECREF(adapter); TODO + Py_DECREF(global_clones); return (jlong) result; } diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index cab1c639bc..c0b6616a0d 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -32,6 +32,16 @@ construct_list_append_method(JNIEnv *env, jobject symbolic_self) { return result; } +SymbolicMethod * +construct_int_constructor_method() { + assert(methods_holder); + SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); + result->call = SymbolicMethod_int; + result->self_reference = 0; + PyList_Append(methods_holder, PyLong_FromLong((long) result)); + return result; +} + PyObject * call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs) { return method->call(adapter, method->self_reference, args, kwargs); diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 859a9f8b7e..b106ef9400 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -207,4 +207,29 @@ audit_hook(const char *event, PyObject *args, void *data) { *illegal_event_holder = event; PyErr_SetString(PyExc_RuntimeError, "Illegal operation"); return -1; +} + +PyObject * +construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones) { + assert(!PyErr_Occurred()); + jsize n = (*env)->GetArrayLength(env, global_clones); + PyObject *result = PyDict_New(); + jclass cls = (*env)->FindClass(env, "org/usvm/language/NamedSymbolForCPython"); + jfieldID name_field = (*env)->GetFieldID(env, cls, "name", "Ljava/lang/String;"); + jfieldID symbol_field = (*env)->GetFieldID(env, cls, "symbol", "Lorg/usvm/language/SymbolForCPython;"); + for (int i = 0; i < n; i++) { + jobject named_symbol = (*env)->GetObjectArrayElement(env, global_clones, i); + jstring name = (jstring) (*env)->GetObjectField(env, named_symbol, name_field); + jobject symbol = (*env)->GetObjectField(env, named_symbol, symbol_field); + const char *c_name = (*env)->GetStringUTFChars(env, name, 0); + PyObject *symbol_object = wrap_java_object(env, symbol); + PyDict_SetItemString(result, c_name, symbol_object); + (*env)->ReleaseStringUTFChars(env, name, c_name); + } + assert(!PyErr_Occurred()); + if ((*env)->ExceptionCheck(env)) { + (*env)->ExceptionDescribe(env); + assert(0); + } + return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 562261476b..e952142dad 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -359,6 +359,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "symbolic_int_cast", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "bool_and", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index f67cd82ddb..92cac6df5e 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -74,6 +74,11 @@ "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "symbolic_int_cast", + "java_name": "handlerIntCast", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "gt_float", "java_name": "handlerGTFloat", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 2dea395d79..7055db490a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -44,6 +44,7 @@ public class CPythonAdapter { public int pyLT; public int pyGE; public int pyGT; + public long symbolicIntConstructorRef; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; @@ -55,7 +56,7 @@ public class CPythonAdapter { public native int concreteRun(long globals, String code, boolean printErrorMessage, boolean setHook); // returns 0 on success public native long eval(long globals, String obj, boolean printErrorMessage, boolean setHook); // returns PyObject * public native long concreteRunOnFunctionRef(long functionRef, long[] concreteArgs, boolean setHook); - public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, boolean print_error_message); + public native long concolicRun(long functionRef, long[] concreteArgs, long[] virtualArgs, SymbolForCPython[] symbolicArgs, ConcolicRunContext context, NamedSymbolForCPython[] global_clones, boolean print_error_message); public native void printPythonObject(long object); public native long[] getIterableElements(long iterable); public native String getPythonObjectRepr(long object, boolean print_error_message); @@ -239,6 +240,12 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerIntCast(ConcolicRunContext context, SymbolForCPython obj) { + if (obj.obj == null) + return null; + return methodWrapper(context, new MethodParameters("int_cast", Collections.singletonList(obj)), () -> handlerIntCastKt(context, obj.obj)); + } + public static SymbolForCPython handlerGTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; diff --git a/usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java b/usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java new file mode 100644 index 0000000000..d2700b3dbd --- /dev/null +++ b/usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java @@ -0,0 +1,11 @@ +package org.usvm.language; + +public class NamedSymbolForCPython { + public SymbolForCPython symbol; + public String name; + + public NamedSymbolForCPython(String name, SymbolForCPython symbol) { + this.symbol = symbol; + this.name = name; + } +} diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index fd60959196..61ec5c0648 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -5,6 +5,7 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.NamedSymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @Suppress("unused") @@ -92,6 +93,7 @@ object ConcretePythonInterpreter { virtualArgs.map { it.address }.toLongArray(), Array(symbolicArgs.size) { symbolicArgs[it] }, ctx, + SymbolicClonesOfGlobals.getNamedSymbols(), printErrorMsg ) if (result != 0L) @@ -228,6 +230,7 @@ object ConcretePythonInterpreter { val pyGT: Int val pyGE: Int val pyNoneRef: Long + val intConctructorRef: Long init { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") @@ -239,6 +242,7 @@ object ConcretePythonInterpreter { pyGT = pythonAdapter.pyGT pyGE = pythonAdapter.pyGE pyNoneRef = pythonAdapter.pyNoneRef + intConctructorRef = pythonAdapter.symbolicIntConstructorRef val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt new file mode 100644 index 0000000000..0f0eebce51 --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -0,0 +1,14 @@ +package org.usvm.machine.interpreters + +import org.usvm.language.NamedSymbolForCPython +import org.usvm.language.SymbolForCPython + +object SymbolicClonesOfGlobals { + private val clonesMap: MutableMap = mutableMapOf() + init { + clonesMap["int"] = SymbolForCPython(null, ConcretePythonInterpreter.intConctructorRef) + } + + fun getNamedSymbols(): Array = + clonesMap.map { NamedSymbolForCPython(it.key, it.value) }.toTypedArray() +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt index e8094178a2..b04c5e6572 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt @@ -60,3 +60,13 @@ fun handlerMULFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObjec createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithMul(left, right) } } (x, y, z) fun handlerDIVFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithDiv(left, right) } } (x, y, z) + +fun castFloatToInt( + ctx: ConcolicRunContext, + float: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject { + require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) + val value = float.getFloatContent(ctx) + val intValue = ctx.ctx.mkRealToInt(value) + return constructInt(ctx, intValue) +} diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index c62f042096..3663b14437 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -29,7 +29,7 @@ private fun createBinaryIntOp( when (it.sort) { intSort -> constructInt(ctx, it as UExpr) boolSort -> constructBool(ctx, it as UBoolExpr) - else -> TODO() + else -> error("Bad return sort of int operation: ${it.sort}") } } } @@ -61,4 +61,20 @@ fun handlerREMLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject fun handlerPOWLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO //createBinaryIntOp { ctx, left, right -> // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null - //} (x, y, z) \ No newline at end of file + //} (x, y, z) + +fun handlerIntCastKt( + ctx: ConcolicRunContext, + arg: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val typeSystem = ctx.typeSystem + val type = arg.getTypeIfDefined(ctx) ?: return null + return when (type) { + typeSystem.pythonInt -> arg + typeSystem.pythonBool -> constructInt(ctx, arg.getToIntContent(ctx)!!) + typeSystem.pythonFloat -> castFloatToInt(ctx, arg) + else -> null + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index e8020c0a10..642e1ba2e2 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -34,7 +34,7 @@ private fun buildSampleRunConfig(): RunConfig { """ def f(x: float): # assert x < float('inf') - assert x / 2 == 10 + assert int(x / 2) == 5 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt index b1cdd34c7a..de07e67db6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -46,4 +46,18 @@ class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { } ) } + + @Test + fun testRound() { + check1WithConcreteRun( + constructFunction("round", listOf(typeSystem.pythonFloat)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index 10cc701aa5..e0db4f720a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -81,7 +81,7 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions timeoutPerRunMs = 2_000 check3WithConcreteRun( constructFunction("slice_usages", List(3) { typeSystem.pythonInt }), - ge(10), + ge(5), standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ emptyList() diff --git a/usvm-python/src/test/resources/samples/Floats.py b/usvm-python/src/test/resources/samples/Floats.py index f886a5d39b..e5ebc5cfe3 100644 --- a/usvm-python/src/test/resources/samples/Floats.py +++ b/usvm-python/src/test/resources/samples/Floats.py @@ -30,4 +30,8 @@ def simple_operations(x): return 4 elif x / 2.5 == 1: return 5 - return 6 \ No newline at end of file + return 6 + + +def round(x: float): + assert int(x / 2) == 5 \ No newline at end of file From 34b4958978411bb1f7e9a319cba73e0d33648457 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 26 Sep 2023 15:22:26 +0300 Subject: [PATCH 109/344] Accurate float operations --- usvm-python/build.gradle.kts | 3 + usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 10 + .../src/main/c/include/approximations.h | 1 + .../src/main/c/include/symbolic_methods.h | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 2 + .../src/main/c/symbolic_methods.c | 10 + .../src/main/json/adapter_method_defs.json | 12 + .../src/main/json/handler_defs.json | 5 + .../org/usvm/interpreter/CPythonAdapter.java | 7 + .../main/kotlin/org/usvm/language/Fields.kt | 3 + .../interpreters/ConcretePythonInterpreter.kt | 7 +- .../interpreters/SymbolicClonesOfGlobals.kt | 3 +- .../interpreters/operations/Constants.kt | 12 +- .../machine/interpreters/operations/Float.kt | 343 +++++++++++++++--- .../ConverterToPythonObject.kt | 11 +- .../SymbolicObjectConstruction.kt | 2 +- .../symbolicobjects/SymbolicObjectContents.kt | 66 +++- usvm-python/src/test/kotlin/manualTest.kt | 51 ++- .../kotlin/org/usvm/samples/FloatsTest.kt | 31 ++ .../test/kotlin/org/usvm/samples/ListsTest.kt | 14 + .../src/test/resources/samples/Floats.py | 46 ++- .../src/test/resources/samples/Lists.py | 7 +- 23 files changed, 559 insertions(+), 90 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index c5e27772b3..07935fc7b1 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -57,6 +57,9 @@ val installMypyRunner = tasks.register("installUtbotMypyRunner") { group = "samples" dependsOn(":usvm-python:cpythonadapter:linkDebug") inputs.dir(cpythonPath) + if (isWindows) { + outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) + } if (!isWindows) { environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") } diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index d7ce42fce5..bd5f850351 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit d7ce42fce510cdfc100e1d3aa5e452da65916772 +Subproject commit bd5f85035105f2b08bd460e92474c3b3a1a5e3ea diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 1750f0a220..ef511337c2 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -146,4 +146,14 @@ SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObj PyObject *arg = PyTuple_GetItem(args, 0); PyObject *result = adapter->symbolic_int_cast(adapter->handler_param, arg); return result; +} + +PyObject * +SymbolicMethod_float(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs) { + assert(self == NULL && args && PyTuple_Check(args)); + if (PyTuple_Size(args) != 1 || kwargs) + return Py_None; + PyObject *arg = PyTuple_GetItem(args, 0); + PyObject *result = adapter->symbolic_float_cast(adapter->handler_param, arg); + return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 90ed8a69f3..3ca7a9371a 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -22,6 +22,7 @@ PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins. PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range PyObject *Approximation_sum(PyObject *iterable); // builtins.sum PyObject *SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // int() +PyObject *SymbolicMethod_float(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // float() PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 80e10cd45e..b356d47a1a 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -19,6 +19,7 @@ void initialize_symbolic_methods_holder(); // void clean_methods(); SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); SymbolicMethod *construct_int_constructor_method(); +SymbolicMethod *construct_float_constructor_method(); PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 2693e54046..509ce4a41d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -83,6 +83,8 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython initialize_symbolic_methods_holder(); SymbolicMethod *int_constructor = construct_int_constructor_method(); SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) + SymbolicMethod *float_constructor = construct_float_constructor_method(); + SET_LONG_FIELD("symbolicFloatConstructorRef", (jlong) float_constructor) } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index c0b6616a0d..4f05bfd736 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -42,6 +42,16 @@ construct_int_constructor_method() { return result; } +SymbolicMethod * +construct_float_constructor_method() { + assert(methods_holder); + SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); + result->call = SymbolicMethod_float; + result->self_reference = 0; + PyList_Append(methods_holder, PyLong_FromLong((long) result)); + return result; +} + PyObject * call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs) { return method->call(adapter, method->self_reference, args, kwargs); diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index e952142dad..55bee03dbe 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -371,6 +371,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "symbolic_float_cast", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "bool_and", "nargs": 2, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 92cac6df5e..24dd6d27ab 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -79,6 +79,11 @@ "java_name": "handlerIntCast", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "symbolic_float_cast", + "java_name": "handlerFloatCast", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "gt_float", "java_name": "handlerGTFloat", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7055db490a..0ab9569a49 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -45,6 +45,7 @@ public class CPythonAdapter { public int pyGE; public int pyGT; public long symbolicIntConstructorRef; + public long symbolicFloatConstructorRef; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; @@ -306,6 +307,12 @@ public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, Symbo return methodWrapper(context, new MethodParameters("div_float", Arrays.asList(left, right)), () -> handlerDIVFloatKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerFloatCast(ConcolicRunContext context, SymbolForCPython obj) { + if (obj.obj == null) + return null; + return methodWrapper(context, new MethodParameters("float_cast", Collections.singletonList(obj)), () -> handlerFloatCastKt(context, obj.obj)); + } + public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index ccdd6bbdbe..93ea69f63a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -13,6 +13,9 @@ object BoolContents { object FloatContents { val content = ContentOfType("float") + val isNan = ContentOfType("is_nan") + val infSign = ContentOfType("float_inf_sign") + val isInf = ContentOfType("is_inf") } object ListIteratorContents { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 61ec5c0648..ebae0e7faf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -5,7 +5,6 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.NamedSymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @Suppress("unused") @@ -230,7 +229,8 @@ object ConcretePythonInterpreter { val pyGT: Int val pyGE: Int val pyNoneRef: Long - val intConctructorRef: Long + val intConstructorRef: Long + val floatConstructorRef: Long init { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") @@ -242,7 +242,8 @@ object ConcretePythonInterpreter { pyGT = pythonAdapter.pyGT pyGE = pythonAdapter.pyGE pyNoneRef = pythonAdapter.pyNoneRef - intConctructorRef = pythonAdapter.symbolicIntConstructorRef + intConstructorRef = pythonAdapter.symbolicIntConstructorRef + floatConstructorRef = pythonAdapter.symbolicFloatConstructorRef val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 0f0eebce51..6fd16c5ff6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -6,7 +6,8 @@ import org.usvm.language.SymbolForCPython object SymbolicClonesOfGlobals { private val clonesMap: MutableMap = mutableMapOf() init { - clonesMap["int"] = SymbolForCPython(null, ConcretePythonInterpreter.intConctructorRef) + clonesMap["int"] = SymbolForCPython(null, ConcretePythonInterpreter.intConstructorRef) + clonesMap["float"] = SymbolForCPython(null, ConcretePythonInterpreter.floatConstructorRef) } fun getNamedSymbols(): Array = diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt index 9e1a54392b..278b152fa3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt @@ -3,10 +3,7 @@ package org.usvm.machine.interpreters.operations import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructBool -import org.usvm.machine.symbolicobjects.constructFloat -import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.* fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { @@ -46,13 +43,12 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): Un return constructInt(context, context.ctx.mkIntNum(str)) } -fun handlerLoadConstFloatKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) +fun handlerLoadConstFloatKt(ctx: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) return null val str = ConcretePythonInterpreter.getPythonObjectRepr(value) val doubleValue = str.toDoubleOrNull() ?: return null - val fpValue = context.ctx.mkFp64(doubleValue) - return constructFloat(context, context.ctx.mkFpToRealExpr(fpValue)) + return constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, doubleValue)) } fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt index b04c5e6572..955bbd804f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt @@ -1,72 +1,309 @@ package org.usvm.machine.interpreters.operations -import io.ksmt.sort.KFp64Sort -import io.ksmt.sort.KIntSort -import io.ksmt.sort.KRealSort -import io.ksmt.sort.KSort import org.usvm.UBoolExpr -import org.usvm.UContext import org.usvm.UExpr +import org.usvm.USort import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.UPythonContext +import org.usvm.isTrue +import org.usvm.machine.interpreters.CPythonExecutionException +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.emptyNamespace import org.usvm.machine.symbolicobjects.* -private fun createBinaryFloatOp( - op: (UPythonContext, UExpr, UExpr) -> UExpr? -): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> +private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { + mkIte( + right.isNan or left.isNan, + falseExpr, + mkIte( + left.isInf, + mkIte( + right.isInf, + left.infSign and right.infSign.not(), // (left is inf) && (right is inf) + left.infSign // (left is inf) && !(right is inf) + ), + mkIte( + right.isInf, + right.infSign.not(), // !(left is inf) && (right is inf) + left.realValue gt right.realValue // !(left is inf) && !(right is inf) + ) + ) + ) +} + +private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { + mkIte( + right.isNan or left.isNan, + falseExpr, + mkIte( + right.isInf or left.isInf, + (right.isInf eq left.isInf) and (right.infSign eq left.infSign), + left.realValue eq right.realValue + ) + ) +} + +fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) - null - else with (ctx.ctx) { - val typeSystem = ctx.typeSystem - val possibleTypes = listOf(typeSystem.pythonFloat, typeSystem.pythonInt, typeSystem.pythonBool) - addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) - /*if (left.getTypeIfDefined(ctx) != typeSystem.pythonFloat) - myFork(ctx, left.evalIs(ctx, typeSystem.pythonFloat)) - if (right.getTypeIfDefined(ctx) != typeSystem.pythonFloat) - myFork(ctx, right.evalIs(ctx, typeSystem.pythonFloat))*/ - op( - ctx.ctx, - left.getToFloatContent(ctx) ?: return@with null, - right.getToFloatContent(ctx) ?: return@with null - )?.let { - @Suppress("unchecked_cast") - when (it.sort) { - realSort -> constructFloat(ctx, it as UExpr) - intSort -> constructInt(ctx, it as UExpr) - boolSort -> constructBool(ctx, it as UBoolExpr) - else -> error("Bad return sort of float operation: ${it.sort}") - } - } + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val boolExpr: UBoolExpr = gtFloat(ctx, left, right) + return constructBool(ctx, boolExpr) +} + +fun handlerLTFloatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + handlerGTFloatKt(ctx, right, left) + +fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, eqFloat(ctx, left, right)) +} + + +fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, ctx.ctx.mkNot(eqFloat(ctx, left, right))) +} + + +fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, ctx.ctx.mkOr(eqFloat(ctx, left, right), gtFloat(ctx, left, right))) +} + +fun handlerLEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject) = + handlerGEFloatKt(ctx, rightObj, leftObj) + + +private fun constructAddExprComponent( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + left.isNan or right.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + left.isInf, + mkIte( + right.isInf, + mkIte( + left.infSign neq right.infSign, + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, left.infSign)) + ), + projection(left) + ), + mkIte( + right.isInf, + projection(right), + projection(mkUninterpretedFloatWithValue(this, mkArithAdd(left.realValue, right.realValue))) + ) + ) + ) } + +private fun constructAddExpr( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructAddExprComponent(ctx, left, right) { it.isNan }, + constructAddExprComponent(ctx, left, right) { it.isInf }, + constructAddExprComponent(ctx, left, right) { it.infSign }, + constructAddExprComponent(ctx, left, right) { it.realValue } + ) + +private fun constructNegExprComponent( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + value.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + value.isInf, + projection(mkUninterpretedSignedInfinity(this, value.infSign.not())), + projection(mkUninterpretedFloatWithValue(this, mkArithUnaryMinus(value.realValue))) + ) + ) + } + +private fun constructNegExpr( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructNegExprComponent(ctx, value) { it.isNan }, + constructNegExprComponent(ctx, value) { it.isInf }, + constructNegExprComponent(ctx, value) { it.infSign }, + constructNegExprComponent(ctx, value) { it.realValue } + ) + +private fun constructMulExprComponent( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + left.isNan or right.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + left.isInf, + mkIte( + right.isInf, + projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor right.infSign.not()).not())), + mkIte( + right.realValue eq mkRealNum(0), + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor (right.realValue lt mkRealNum(0))).not())) + ) + ), + mkIte( + right.isInf, + mkIte( + left.realValue eq mkRealNum(0), + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, (right.infSign.not() xor (left.realValue lt mkRealNum(0))).not())) + ), + projection(mkUninterpretedFloatWithValue(this, mkArithMul(left.realValue, right.realValue))) + ) + ) + ) + } + +private fun constructMulExpr( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructMulExprComponent(ctx, left, right) { it.isNan }, + constructMulExprComponent(ctx, left, right) { it.isInf }, + constructMulExprComponent(ctx, left, right) { it.infSign }, + constructMulExprComponent(ctx, left, right) { it.realValue } + ) + +private fun constructReverseExprComponent( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + value.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + value.isInf, + projection(mkUninterpretedFloatWithValue(this, mkRealNum(0))), + projection(mkUninterpretedFloatWithValue(this, mkArithDiv(mkRealNum(1), value.realValue))) + ) + ) + } + +private fun constructReverseExpr( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructReverseExprComponent(ctx, value) { it.isNan }, + constructReverseExprComponent(ctx, value) { it.isInf }, + constructReverseExprComponent(ctx, value) { it.infSign }, + constructReverseExprComponent(ctx, value) { it.realValue } + ) + +fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructAddExpr(ctx, left, right) + return constructFloat(ctx, floatValue) +} + + +fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructAddExpr(ctx, left, constructNegExpr(ctx, right)) + return constructFloat(ctx, floatValue) } -fun handlerGTFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) -fun handlerLTFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) -fun handlerEQFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) -fun handlerNEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) -fun handlerGEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left ge right} } (x, y, z) -fun handlerLEFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) -fun handlerADDFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithAdd(left, right) } } (x, y, z) -fun handlerSUBFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithSub(left, right) } } (x, y, z) -fun handlerMULFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithMul(left, right) } } (x, y, z) -fun handlerDIVFloatKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryFloatOp { ctx, left, right -> with(ctx) { mkArithDiv(left, right) } } (x, y, z) +fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructMulExpr(ctx, left, right) + return constructFloat(ctx, floatValue) +} + +fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + myFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) + val floatValue = constructMulExpr(ctx, left, constructReverseExpr(ctx, right)) + return constructFloat(ctx, floatValue) +} fun castFloatToInt( ctx: ConcolicRunContext, float: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject { +): UninterpretedSymbolicPythonObject? { require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) val value = float.getFloatContent(ctx) - val intValue = ctx.ctx.mkRealToInt(value) + myFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) + if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) + return null + val intValue = ctx.ctx.mkRealToInt(value.realValue) return constructInt(ctx, intValue) } + +private fun strToFloat(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) + val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null + if (str == "inf" || str == "infinity") + return constructFloat(ctx, mkUninterpretedPlusInfinity(ctx.ctx)) + if (str == "-inf" || str == "-infinity") + return constructFloat(ctx, mkUninterpretedMinusInfinity(ctx.ctx)) + return null +} + +fun handlerFloatCastKt( + ctx: ConcolicRunContext, + arg: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val typeSystem = ctx.typeSystem + val type = arg.getTypeIfDefined(ctx) ?: return null + return when (type) { + typeSystem.pythonBool, typeSystem.pythonInt -> { + val realValue = ctx.ctx.intToFloat(arg.getToIntContent(ctx)!!) + constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, realValue)) + } + typeSystem.pythonFloat -> arg + typeSystem.pythonStr -> strToFloat(ctx, arg) + else -> null + } +} \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 8d29055acc..f662428a99 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -1,6 +1,5 @@ package org.usvm.machine.symbolicobjects -import io.ksmt.expr.KFp64Value import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UHeapRef @@ -69,9 +68,13 @@ class ConverterToPythonObject( } private fun convertFloat(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val realValue = obj.getFloatContent(ctx) - val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value - return ConcretePythonInterpreter.eval(emptyNamespace, floatValue.value.toString()) + val cmd = when (val floatValue = obj.getFloatContent(ctx)) { + is FloatNan -> "float('nan')" + is FloatPlusInfinity -> "float('inf')" + is FloatMinusInfinity -> "float('-inf')" + is FloatNormalValue -> floatValue.value.toString() + } + return ConcretePythonInterpreter.eval(emptyNamespace, cmd) } private fun convertString(): PythonObject { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 02dd736dad..a840b66b7f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -54,7 +54,7 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre return result } -fun constructFloat(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { +fun constructFloat(context: ConcolicRunContext, expr: FloatUninterpretedContent): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonFloat) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index bda4f9c352..3942497cdf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -1,9 +1,11 @@ package org.usvm.machine.symbolicobjects +import io.ksmt.expr.KFp64Value import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort +import io.ksmt.utils.ArithUtils import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.UHeapRef @@ -66,28 +68,74 @@ object FloatPlusInfinity: FloatInterpretedContent() object FloatMinusInfinity: FloatInterpretedContent() data class FloatNormalValue(val value: Double): FloatInterpretedContent() -fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): KInterpretedValue { +fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): FloatInterpretedContent { require(getConcreteType() == typeSystem.pythonFloat) - return modelHolder.model.readField(address, FloatContents.content, ctx.realSort) + val isNan = modelHolder.model.readField(address, FloatContents.isNan, ctx.boolSort) + if (isNan.isTrue) + return FloatNan + val isInf = modelHolder.model.readField(address, FloatContents.isInf, ctx.boolSort) + if (isInf.isTrue) { + val isPositive = modelHolder.model.readField(address, FloatContents.infSign, ctx.boolSort) + return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity + } + val realValue = modelHolder.model.readField(address, FloatContents.content, ctx.realSort) + val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value + return FloatNormalValue(floatValue.value) } -fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: UExpr) { +data class FloatUninterpretedContent( + val isNan: UBoolExpr, + val isInf: UBoolExpr, + val infSign: UBoolExpr, + val realValue: UExpr +) + +fun mkUninterpretedNan(ctx: UPythonContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.trueExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedPlusInfinity(ctx: UPythonContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.trueExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedMinusInfinity(ctx: UPythonContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.falseExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedSignedInfinity(ctx: UPythonContext, infSign: UBoolExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, infSign, ctx.mkRealNum(0)) + +fun mkUninterpretedFloatWithValue(ctx: UPythonContext, value: Double): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkFpToRealExpr(ctx.mkFp64(value))) + +fun mkUninterpretedFloatWithValue(ctx: UPythonContext, value: UExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) + +fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonFloat) - ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, FloatContents.isNan, ctx.ctx.boolSort, expr.isNan, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, FloatContents.isInf, ctx.ctx.boolSort, expr.isInf, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) } -fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): UExpr { +fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonFloat) - return ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) + return FloatUninterpretedContent( + ctx.curState!!.memory.readField(address, FloatContents.isNan, ctx.ctx.boolSort), + ctx.curState!!.memory.readField(address, FloatContents.isInf, ctx.ctx.boolSort), + ctx.curState!!.memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), + ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) + ) } -fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { +private fun wrapRealValue(ctx: UPythonContext, value: UExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) + +fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent? = with(ctx.ctx) { return when (getTypeIfDefined(ctx)) { typeSystem.pythonFloat -> getFloatContent(ctx) - typeSystem.pythonInt -> intToFloat(getIntContent(ctx)) - typeSystem.pythonBool -> intToFloat(getToIntContent(ctx)!!) + typeSystem.pythonInt -> wrapRealValue(ctx.ctx, intToFloat(getIntContent(ctx))) + typeSystem.pythonBool -> wrapRealValue(ctx.ctx, intToFloat(getToIntContent(ctx)!!)) else -> null } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 642e1ba2e2..a4fc6ea42d 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,9 +32,44 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x: float): - # assert x < float('inf') - assert int(x / 2) == 5 + def f(x: float, y: int): + plus_inf = float('inf') + assert x < plus_inf + minus_inf = float('-inf') + assert x > minus_inf + assert plus_inf * minus_inf < 0 + plus_inf /= x * x + assert plus_inf == float('inf') + if x < 0: + assert (plus_inf * x < 0) + assert (x * plus_inf < 0) + assert (plus_inf / x < 0) + assert (x / plus_inf == 0) + assert (plus_inf + x == plus_inf) + assert (x + plus_inf == plus_inf) + assert (plus_inf - x == plus_inf) + assert (x - plus_inf == minus_inf) + assert (minus_inf * x > 0) + assert (x * minus_inf > 0) + assert (minus_inf / x > 0) + assert (x / minus_inf == 0) + assert (minus_inf + x == minus_inf) + assert (x + minus_inf == minus_inf) + assert (minus_inf - x == minus_inf) + assert (x - minus_inf == plus_inf) + assert (plus_inf - plus_inf != plus_inf - plus_inf) + return 1 + elif x > 0: + assert plus_inf * x > 0 + assert x * plus_inf > 0 + assert plus_inf / x > 0 + assert x / plus_inf == 0 + assert minus_inf * x < 0 + assert x * minus_inf < 0 + assert minus_inf / x < 0 + assert x / minus_inf == 0 + return 2 + return "Unreachable" """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( @@ -85,8 +120,8 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - // if (functionName != "heaps") - // return@mapNotNull null + // if (functionName != "binary_search_insertion") + // return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( List(description.numberOfArguments) { PythonAnyType }, @@ -137,11 +172,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 60, + maxIterations = 70, allowPathDiversion = true, maxInstructions = 30_000, - timeoutPerRunMs = 7_000, - //timeoutMs = 20_000 + timeoutPerRunMs = 5_000, + timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt index de07e67db6..f71fea3f73 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -51,6 +51,20 @@ class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { fun testRound() { check1WithConcreteRun( constructFunction("round", listOf(typeSystem.pythonFloat)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testInfComparison() { + check1WithConcreteRun( + constructFunction("inf_comparison", listOf(typeSystem.pythonFloat)), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), @@ -60,4 +74,21 @@ class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { ) ) } + + @Test + fun testInfinityOps() { + allowPathDiversions = false + check1WithConcreteRun( + constructFunction("infinity_ops", listOf(typeSystem.pythonFloat)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.typeName != "str" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.selfTypeName == "ZeroDivisionError" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 16e5a17853..76895ae7c2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -329,4 +329,18 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) options = oldOptions } + + @Test + fun testListConcat() { + check2WithConcreteRun( + constructFunction("list_concat", listOf(typeSystem.pythonList, typeSystem.pythonList)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, y, _ -> x.typeName == "list" && y.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Floats.py b/usvm-python/src/test/resources/samples/Floats.py index e5ebc5cfe3..66ea511f95 100644 --- a/usvm-python/src/test/resources/samples/Floats.py +++ b/usvm-python/src/test/resources/samples/Floats.py @@ -34,4 +34,48 @@ def simple_operations(x): def round(x: float): - assert int(x / 2) == 5 \ No newline at end of file + assert int(x / 2) == 5 + + +def inf_comparison(x: float): + assert x < float('inf') + + +def infinity_ops(x: float): + plus_inf = float('inf') + assert x < plus_inf + minus_inf = float('-inf') + assert x > minus_inf + assert plus_inf * minus_inf < 0 + plus_inf /= x * x + assert plus_inf == float('inf') + if x < 0: + assert (plus_inf * x < 0) + assert (x * plus_inf < 0) + assert (plus_inf / x < 0) + assert (x / plus_inf == 0) + assert (plus_inf + x == plus_inf) + assert (x + plus_inf == plus_inf) + assert (plus_inf - x == plus_inf) + assert (x - plus_inf == minus_inf) + assert (minus_inf * x > 0) + assert (x * minus_inf > 0) + assert (minus_inf / x > 0) + assert (x / minus_inf == 0) + assert (minus_inf + x == minus_inf) + assert (x + minus_inf == minus_inf) + assert (minus_inf - x == minus_inf) + assert (x - minus_inf == plus_inf) + assert (plus_inf - plus_inf != plus_inf - plus_inf) + return 1 + elif x > 0: + assert plus_inf * x > 0 + assert x * plus_inf > 0 + assert plus_inf / x > 0 + assert x / plus_inf == 0 + assert minus_inf * x < 0 + assert x * minus_inf < 0 + assert minus_inf / x < 0 + assert x / minus_inf == 0 + return 2 + return "Unreachable" \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 709fedd291..d26c17ec28 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -178,4 +178,9 @@ def input_list_of_float_pairs(x): result += a * 0.5 + b if result == 10000.5: return 1 - return 2 \ No newline at end of file + return 2 + + +def list_concat(x: list, y: list): + z = x + y + assert len(z) == 5 \ No newline at end of file From 891563b7c3da74b09bc64b1d35bd1783458895cd Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 26 Sep 2023 21:42:53 +0300 Subject: [PATCH 110/344] Fixed bug in ElementConstraints --- .../main/kotlin/org/usvm/language/types/ElementConstraints.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt index 27ce9ecc47..107c4b6221 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -31,6 +31,8 @@ object NonRecursiveConstraint: ElementConstraint() { element: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext ): UBoolExpr = with(ctx.ctx) { + if (element.address is UConcreteHeapRef) + return trueExpr mkIteNoSimplify( mkHeapRefEq(element.address, nullRef), trueExpr, @@ -44,7 +46,7 @@ object NonRecursiveConstraint: ElementConstraint() { model: PyModel, ctx: UPythonContext ): Boolean = with(ctx) { - if (element.address == 0) + if (element.address == 0 || element.address > 0) return true (model.readField(element, TimeOfCreation, intSort) lt model.readField(array, TimeOfCreation, intSort)).isTrue } From aba314d7f55796337064e4604caf352e990a9b21 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 27 Sep 2023 20:27:28 +0300 Subject: [PATCH 111/344] Fixed issues with GlobalHeapRef --- usvm-python/build.gradle.kts | 1 + .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++ .../src/main/c/include/symbolic_methods.h | 5 +-- .../cpythonadapter/src/main/c/include/utils.h | 9 +++- .../c/org_usvm_interpreter_CPythonAdapter.c | 27 +++++++++++- .../src/main/c/symbolic_methods.c | 22 +++------- usvm-python/cpythonadapter/src/main/c/utils.c | 42 ++++++++++++++++--- .../src/main/c/virtual_objects.c | 6 +-- .../org/usvm/interpreter/CPythonAdapter.java | 1 + .../main/kotlin/org/usvm/language/Program.kt | 24 +++++++---- .../org/usvm/language/types/TypeSystem.kt | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 13 +++--- .../interpreters/ConcretePythonInterpreter.kt | 42 ++++++++++++------- .../interpreters/SymbolicClonesOfGlobals.kt | 8 +++- .../interpreters/USVMPythonInterpreter.kt | 2 + .../machine/interpreters/operations/Float.kt | 3 -- .../interpreters/operations/Virtual.kt | 2 - .../ConverterToPythonObject.kt | 9 +++- .../symbolicobjects/ObjectValidator.kt | 2 +- .../machine/utils/DefaultValueProvider.kt | 2 +- 20 files changed, 159 insertions(+), 71 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 07935fc7b1..c5659fd735 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -95,6 +95,7 @@ tasks.register("manualTestDebug") { dependsOn(buildSamples) if (!isWindows) { registerCpython(this, debug = true) + maxHeapSize = "2G" jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") } else { environment("PYTHONHOME" to cpythonBuildPath) diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index b3200c099d..2497c88661 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -319,6 +319,14 @@ JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractExc JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: incref + * Signature: (J)V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_incref + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: checkForIllegalOperation diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index b356d47a1a..3d38e57774 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -16,10 +16,9 @@ typedef struct { } SymbolicMethod; void initialize_symbolic_methods_holder(); -// void clean_methods(); +void clean_methods(); SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); -SymbolicMethod *construct_int_constructor_method(); -SymbolicMethod *construct_float_constructor_method(); +SymbolicMethod *construct_symbolic_method_without_self(call_type call); PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index ccad987258..acf4b111ad 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -13,8 +13,8 @@ extern "C" { typedef struct { PyObject_HEAD - jobject reference; // local - JNIEnv *env; + jobject reference; // global + // JNIEnv *env; } JavaPythonObject; void initialize_java_python_type(); @@ -70,6 +70,11 @@ long extract_long_value(PyObject *int_object); int audit_hook(const char *event, PyObject *args, void *data); PyObject *construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones); +void add_ref_to_list(PyObject *list, void *ref); +jobject create_global_ref(JNIEnv *env, jobject local_ref); +void initialize_global_ref_holder(); +void release_global_refs(JNIEnv *env); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 509ce4a41d..1b7d0b8c88 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -63,6 +63,8 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython Py_InitializeFromConfig(&config); PyConfig_Clear(&config); + initialize_global_ref_holder(); + jclass cls = (*env)->GetObjectClass(env, cpython_adapter); jfieldID f; SET_BOOLEAN_FIELD("isInitialized", JNI_TRUE) @@ -81,13 +83,15 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython PySys_AddAuditHook(audit_hook, &illegal_operation); initialize_symbolic_methods_holder(); - SymbolicMethod *int_constructor = construct_int_constructor_method(); + SymbolicMethod *int_constructor = construct_symbolic_method_without_self(SymbolicMethod_int); SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) - SymbolicMethod *float_constructor = construct_float_constructor_method(); + SymbolicMethod *float_constructor = construct_symbolic_method_without_self(SymbolicMethod_float); SET_LONG_FIELD("symbolicFloatConstructorRef", (jlong) float_constructor) } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { + release_global_refs(env); + clean_methods(); Py_FinalizeEx(); jclass cls = (*env)->GetObjectClass(env, cpython_adapter); jfieldID f; @@ -323,6 +327,21 @@ JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPyth JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFromFrame(JNIEnv *env, jclass _, jlong frame_ref) { assert(PyFrame_Check(frame_ref)); + if (PyErr_Occurred()) { + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + printf("Exception type: "); + PyObject_Print(type, stdout, 0); + printf("\nException value: "); + PyObject_Print(value, stdout, 0); + printf("\nTraceback: "); + PyObject_Print(traceback, stdout, 0); + fflush(stdout); + if ((*env)->ExceptionCheck(env)) { + (*env)->ExceptionDescribe(env); + } + assert(0); + } return take_instruction_from_frame((PyFrameObject *) frame_ref); } @@ -458,6 +477,10 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref(JNIEnv *e Py_XDECREF((PyObject *) obj_ref); } +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_incref(JNIEnv *env, jobject _, jlong obj_ref) { + Py_XINCREF((PyObject *) obj_ref); +} + JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIllegalOperation(JNIEnv *env, jobject _) { if (!illegal_operation) return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index 4f05bfd736..0dd8fd4ad4 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -9,7 +9,6 @@ void initialize_symbolic_methods_holder() { methods_holder = PyList_New(0); } -/* void clean_methods() { Py_ssize_t size = PyList_Size(methods_holder); for (Py_ssize_t i = 0; i < size; i++) { @@ -20,35 +19,24 @@ void clean_methods() { Py_DECREF(methods_holder); methods_holder = 0; } -*/ SymbolicMethod * construct_list_append_method(JNIEnv *env, jobject symbolic_self) { assert(methods_holder); SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); result->call = SymbolicMethod_list_append; - result->self_reference = (*env)->NewGlobalRef(env, symbolic_self); - PyList_Append(methods_holder, PyLong_FromLong((long) result)); + result->self_reference = create_global_ref(env, symbolic_self); + add_ref_to_list(methods_holder, result); return result; } SymbolicMethod * -construct_int_constructor_method() { +construct_symbolic_method_without_self(call_type call) { assert(methods_holder); SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); - result->call = SymbolicMethod_int; + result->call = call; result->self_reference = 0; - PyList_Append(methods_holder, PyLong_FromLong((long) result)); - return result; -} - -SymbolicMethod * -construct_float_constructor_method() { - assert(methods_holder); - SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); - result->call = SymbolicMethod_float; - result->self_reference = 0; - PyList_Append(methods_holder, PyLong_FromLong((long) result)); + add_ref_to_list(methods_holder, result); return result; } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index b106ef9400..243c9962b6 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -6,8 +6,8 @@ static void java_python_object_dealloc(PyObject *op) { - JavaPythonObject *obj = (JavaPythonObject *) op; - (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); + // JavaPythonObject *obj = (JavaPythonObject *) op; + // (*(obj->env))->DeleteGlobalRef(obj->env, obj->reference); Py_TYPE(op)->tp_free(op); } PyType_Slot java_python_object_dealloc_slot = {Py_tp_dealloc, java_python_object_dealloc}; @@ -33,9 +33,8 @@ initialize_java_python_type() { PyObject * wrap_java_object(JNIEnv *env, jobject object) { JavaPythonObject *result = PyObject_New(JavaPythonObject, JavaPythonObject_Type); - result->env = env; - // result->reference = object; - result->reference = (*env)->NewGlobalRef(env, object); + // result->env = env; + result->reference = create_global_ref(env, object); return (PyObject*) result; } @@ -232,4 +231,37 @@ construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones) { assert(0); } return result; +} + +void +add_ref_to_list(PyObject *list, void *ref) { + assert(list && PyList_Check(list)); + PyList_Append(list, PyLong_FromLong((long) ref)); +} + +PyObject *global_ref_holder = 0; + +jobject +create_global_ref(JNIEnv *env, jobject local_ref) { + jobject result = (*env)->NewGlobalRef(env, local_ref); + add_ref_to_list(global_ref_holder, result); + return result; +} + +void +initialize_global_ref_holder() { + global_ref_holder = PyList_New(0); +} + +void +release_global_refs(JNIEnv *env) { + assert(global_ref_holder); + Py_ssize_t size = PyList_Size(global_ref_holder); + for (Py_ssize_t i = 0; i < size; i++) { + PyObject *item = PyList_GetItem(global_ref_holder, i); + long address = extract_long_value(item); + (*env)->DeleteGlobalRef(env, (jobject) address); + } + Py_DECREF(global_ref_holder); + global_ref_holder = 0; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index bd1d45fdb7..6ff5666df1 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -4,8 +4,8 @@ static void virtual_object_dealloc(PyObject *op) { //printf("DELETING: %p\n", op); //fflush(stdout); - VirtualPythonObject *obj = (VirtualPythonObject *) op; - (*(obj->ctx->env))->DeleteGlobalRef(obj->ctx->env, obj->reference); + //VirtualPythonObject *obj = (VirtualPythonObject *) op; + //(*(obj->ctx->env))->DeleteGlobalRef(obj->ctx->env, obj->reference); Py_TYPE(op)->tp_free(op); } @@ -186,7 +186,7 @@ allocate_raw_virtual_object(JNIEnv *env, jobject object) { if (!result) return 0; - result->reference = (*env)->NewGlobalRef(env, object); + result->reference = create_global_ref(env, object); result->ctx = 0; result->adapter = 0; diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0ab9569a49..3f438be475 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -89,6 +89,7 @@ public class CPythonAdapter { public native long callStandardNew(long type); public native Throwable extractException(long exception); public native void decref(long object); + public native void incref(long object); public native String checkForIllegalOperation(); public native long typeLookup(long typeRef, String name); @Nullable diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt index 4048a04548..d1f527f6cf 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Program.kt @@ -2,8 +2,8 @@ package org.usvm.language import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.PythonNamespace -import org.usvm.machine.interpreters.emptyNamespace import org.usvm.utils.withAdditionalPaths import java.io.File @@ -16,7 +16,7 @@ sealed class PythonProgram(val additionalPaths: Set) { } class PrimitivePythonProgram internal constructor( - private val namespace: PythonNamespace, + private val namespaceGetter: () -> PythonNamespace, additionalPaths: Set ): PythonProgram(additionalPaths) { override fun withPinnedCallable( @@ -25,15 +25,19 @@ class PrimitivePythonProgram internal constructor( block: (PythonPinnedCallable) -> T ): T { require(callable.module == null) + val namespace = namespaceGetter() val pinned = PythonPinnedCallable(callable.reference(namespace)) return block(pinned) } companion object { fun fromString(asString: String): PrimitivePythonProgram { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, asString, setHook = true) - return PrimitivePythonProgram(namespace, emptySet()) + val namespaceGetter = { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, asString, setHook = true) + namespace + } + return PrimitivePythonProgram(namespaceGetter, emptySet()) } } } @@ -69,8 +73,12 @@ class StructuredPythonProgram(val roots: Set): PythonProgram(roots) { return PythonNamespace(resultAsObj.address) } - fun getPrimitiveProgram(module: String): PrimitivePythonProgram = withAdditionalPaths(roots, null) { - val namespace = getNamespaceOfModule(module) ?: error("Couldn't get namespace of module") - PrimitivePythonProgram(namespace, roots) + fun getPrimitiveProgram(module: String): PrimitivePythonProgram { + val namespaceGetter = { + withAdditionalPaths(roots, null) { + getNamespaceOfModule(module) ?: error("Couldn't get namespace of module") + } + } + return PrimitivePythonProgram(namespaceGetter, roots) } } diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 2cf55abbbb..1401e28df7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -4,7 +4,7 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.machine.interpreters.CPythonExecutionException import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 7f892a1202..752cca15f7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -5,6 +5,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.* @@ -80,11 +81,11 @@ class PythonMachine( } } - private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) - val initialState = getInitialState(target) - ps.add(listOf(initialState)) - return ps + private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { + val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val initialState = getInitialState(target) + ps.add(listOf(initialState)) + return ps } fun analyze( @@ -124,6 +125,8 @@ class PythonMachine( } ) iterationCounter.iterations + }.also { + ConcretePythonInterpreter.restart() } override fun close() { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index ebae0e7faf..b4f255da4f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -171,6 +171,10 @@ object ConcretePythonInterpreter { pythonAdapter.decref(obj.address) } + fun incref(obj: PythonObject) { + pythonAdapter.incref(obj.address) + } + fun decref(namespace: PythonNamespace) { pythonAdapter.decref(namespace.address) } @@ -216,23 +220,13 @@ object ConcretePythonInterpreter { return PythonObject(pythonAdapter.callStandardNew(type.address)) } - fun kill() { + fun restart() { pythonAdapter.finalizePython() + initialize() + SymbolicClonesOfGlobals.restart() } - val initialSysPath: PythonObject - val initialSysModulesKeys: PythonObject - val pyEQ: Int - val pyNE: Int - val pyLT: Int - val pyLE: Int - val pyGT: Int - val pyGE: Int - val pyNoneRef: Long - val intConstructorRef: Long - val floatConstructorRef: Long - - init { + private fun initialize() { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") pythonAdapter.initializePython(pythonHome) pyEQ = pythonAdapter.pyEQ @@ -262,6 +256,24 @@ object ConcretePythonInterpreter { if (initialSysModulesKeys.address == 0L) throw CPythonExecutionException() pythonAdapter.decref(namespace) + emptyNamespace = getNewNamespace() + } + + lateinit var initialSysPath: PythonObject + lateinit var initialSysModulesKeys: PythonObject + var pyEQ: Int = 0 + var pyNE: Int = 0 + var pyLT: Int = 0 + var pyLE: Int = 0 + var pyGT: Int = 0 + var pyGE: Int = 0 + var pyNoneRef: Long = 0L + var intConstructorRef: Long = 0L + var floatConstructorRef: Long = 0L + lateinit var emptyNamespace: PythonNamespace + + init { + initialize() } } @@ -280,6 +292,4 @@ data class PythonNamespace(val address: Long) { } } -val emptyNamespace = ConcretePythonInterpreter.getNewNamespace() - data class IllegalOperationException(val operation: String): Exception() \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 6fd16c5ff6..e1ccbe1a61 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -5,11 +5,17 @@ import org.usvm.language.SymbolForCPython object SymbolicClonesOfGlobals { private val clonesMap: MutableMap = mutableMapOf() - init { + + fun restart() { + clonesMap.clear() clonesMap["int"] = SymbolForCPython(null, ConcretePythonInterpreter.intConstructorRef) clonesMap["float"] = SymbolForCPython(null, ConcretePythonInterpreter.floatConstructorRef) } + init { + restart() + } + fun getNamedSymbols(): Array = clonesMap.map { NamedSymbolForCPython(it.key, it.value) }.toTypedArray() } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index e352e678de..714d399814 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -183,6 +183,8 @@ class USVMPythonInterpreter( concolicRunContext.curState?.meta?.wasInterrupted = true return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) + } finally { + concolicRunContext.converter.restart() } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt index 955bbd804f..dae3ab5765 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt @@ -5,9 +5,6 @@ import org.usvm.UExpr import org.usvm.USort import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.interpreters.CPythonExecutionException -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.emptyNamespace import org.usvm.machine.symbolicobjects.* private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index cefff8bc1a..0e318a95e3 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -3,9 +3,7 @@ package org.usvm.machine.interpreters.operations import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.emptyNamespace import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PyModelWrapper diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index f662428a99..c3e2a3a68d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -10,7 +10,7 @@ import org.usvm.language.types.* import org.usvm.machine.UPythonContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.PyModelHolder @@ -29,6 +29,7 @@ class ConverterToPythonObject( restart() } fun restart() { + // TODO: decRefs() constructedObjects.clear() virtualObjects.clear() val nullRef = modelHolder.model.eval(ctx.nullRef) as UConcreteHeapRef @@ -67,6 +68,12 @@ class ConverterToPythonObject( return result } + private fun decRefs() { + constructedObjects.values.forEach { + ConcretePythonInterpreter.decref(it) + } + } + private fun convertFloat(obj: InterpretedInputSymbolicPythonObject): PythonObject { val cmd = when (val floatValue = obj.getFloatContent(ctx)) { is FloatNan -> "float('nan')" diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index 9956cfec43..e9383c608d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -29,7 +29,7 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) - myAssert(concolicRunContext, mkAnd(symbolicSize ge mkIntNum(0), symbolicSize le mkIntNum(1000_000))) + myAssert(concolicRunContext, mkAnd(symbolicSize ge mkIntNum(0), symbolicSize le mkIntNum(100_000))) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> val element = concolicRunContext.curState!!.memory.readArrayIndex( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index 404abdfc5a..e16458e83b 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -3,7 +3,7 @@ package org.usvm.machine.utils import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.emptyNamespace +import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { fun provide(type: PythonType): PythonObject { From 4fd9295402b8c9a4407d57a74d811c260300307c Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Wed, 27 Sep 2023 20:34:39 +0300 Subject: [PATCH 112/344] small fix --- usvm-python/src/test/kotlin/manualTest.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a4fc6ea42d..04206a7d44 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,9 +5,7 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException -import org.usvm.machine.interpreters.emptyNamespace import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.ReprObjectSerializer From 433d262935b4636cf913f5167abbcf91fd1a9944 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 27 Sep 2023 21:14:12 +0300 Subject: [PATCH 113/344] New structure for global refs --- .../cpythonadapter/src/main/c/include/utils.h | 8 +++- .../src/main/c/symbolic_methods.c | 26 ++++++----- usvm-python/cpythonadapter/src/main/c/utils.c | 46 +++++++++++++------ 3 files changed, 52 insertions(+), 28 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index acf4b111ad..5a6a6041b0 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -70,7 +70,13 @@ long extract_long_value(PyObject *int_object); int audit_hook(const char *event, PyObject *args, void *data); PyObject *construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones); -void add_ref_to_list(PyObject *list, void *ref); +typedef struct { + void *prev; + void *value; +} RefHolderNode; + +void add_ref_to_list(RefHolderNode **list, void *ref); +void clean_list(RefHolderNode **holder, void *data, void (*release)(void *ref, void *data)); jobject create_global_ref(JNIEnv *env, jobject local_ref); void initialize_global_ref_holder(); void release_global_refs(JNIEnv *env); diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index 0dd8fd4ad4..ba8336c787 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -3,21 +3,23 @@ #include "approximations.h" #include "converters.h" -PyObject *methods_holder = 0; +RefHolderNode methods_holder_root = { + NULL, + NULL +}; + +RefHolderNode *methods_holder = &methods_holder; void initialize_symbolic_methods_holder() { - methods_holder = PyList_New(0); +} + +static void +release_method(void *address, void *data) { + free((SymbolicMethod *) address); } void clean_methods() { - Py_ssize_t size = PyList_Size(methods_holder); - for (Py_ssize_t i = 0; i < size; i++) { - PyObject *item = PyList_GetItem(methods_holder, i); - long address = extract_long_value(item); - free((SymbolicMethod *) address); - } - Py_DECREF(methods_holder); - methods_holder = 0; + clean_list(&methods_holder, NULL, release_method); } SymbolicMethod * @@ -26,7 +28,7 @@ construct_list_append_method(JNIEnv *env, jobject symbolic_self) { SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); result->call = SymbolicMethod_list_append; result->self_reference = create_global_ref(env, symbolic_self); - add_ref_to_list(methods_holder, result); + add_ref_to_list(&methods_holder, result); return result; } @@ -36,7 +38,7 @@ construct_symbolic_method_without_self(call_type call) { SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); result->call = call; result->self_reference = 0; - add_ref_to_list(methods_holder, result); + add_ref_to_list(&methods_holder, result); return result; } diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 243c9962b6..e4094cad4a 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -234,34 +234,50 @@ construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones) { } void -add_ref_to_list(PyObject *list, void *ref) { - assert(list && PyList_Check(list)); - PyList_Append(list, PyLong_FromLong((long) ref)); +add_ref_to_list(RefHolderNode **holder, void *ref) { + RefHolderNode *new_node = malloc(sizeof(RefHolderNode)); + new_node->prev = *holder; + new_node->value = ref; + *holder = new_node; } -PyObject *global_ref_holder = 0; +void +clean_list(RefHolderNode **holder, void *data, void (*release)(void *ref, void *data)) { + while ((*holder)->value) { + RefHolderNode *next = (RefHolderNode *) (*holder)->prev; + assert(next); + void *address = (*holder)->value; + release(address, data); + free(*holder); + (*holder) = next; + } +} + +RefHolderNode global_ref_root = { + NULL, + NULL +}; + +RefHolderNode *global_ref_holder = &global_ref_root; jobject create_global_ref(JNIEnv *env, jobject local_ref) { jobject result = (*env)->NewGlobalRef(env, local_ref); - add_ref_to_list(global_ref_holder, result); + add_ref_to_list(&global_ref_holder, result); return result; } void initialize_global_ref_holder() { - global_ref_holder = PyList_New(0); +} + +static void +release_global_ref(void *address, void *env_raw) { + JNIEnv *env = (JNIEnv *) env_raw; + (*env)->DeleteGlobalRef(env, (jobject) address); } void release_global_refs(JNIEnv *env) { - assert(global_ref_holder); - Py_ssize_t size = PyList_Size(global_ref_holder); - for (Py_ssize_t i = 0; i < size; i++) { - PyObject *item = PyList_GetItem(global_ref_holder, i); - long address = extract_long_value(item); - (*env)->DeleteGlobalRef(env, (jobject) address); - } - Py_DECREF(global_ref_holder); - global_ref_holder = 0; + clean_list(&global_ref_holder, env, release_global_ref); } \ No newline at end of file From e89cdb286d02cd827c4ca5ff0c170701610c9377 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Wed, 27 Sep 2023 21:20:31 +0300 Subject: [PATCH 114/344] Fix for linux --- .../cpythonadapter/src/main/c/include/symbolic_methods.h | 1 - usvm-python/cpythonadapter/src/main/c/include/utils.h | 1 - .../src/main/c/org_usvm_interpreter_CPythonAdapter.c | 3 --- usvm-python/cpythonadapter/src/main/c/symbolic_methods.c | 5 +---- usvm-python/cpythonadapter/src/main/c/utils.c | 4 ---- 5 files changed, 1 insertion(+), 13 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 3d38e57774..71169eacd3 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -15,7 +15,6 @@ typedef struct { jobject self_reference; } SymbolicMethod; -void initialize_symbolic_methods_holder(); void clean_methods(); SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); SymbolicMethod *construct_symbolic_method_without_self(call_type call); diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 5a6a6041b0..717aa40b3a 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -78,7 +78,6 @@ typedef struct { void add_ref_to_list(RefHolderNode **list, void *ref); void clean_list(RefHolderNode **holder, void *data, void (*release)(void *ref, void *data)); jobject create_global_ref(JNIEnv *env, jobject local_ref); -void initialize_global_ref_holder(); void release_global_refs(JNIEnv *env); #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 1b7d0b8c88..b9ca93d314 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -63,8 +63,6 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython Py_InitializeFromConfig(&config); PyConfig_Clear(&config); - initialize_global_ref_holder(); - jclass cls = (*env)->GetObjectClass(env, cpython_adapter); jfieldID f; SET_BOOLEAN_FIELD("isInitialized", JNI_TRUE) @@ -82,7 +80,6 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); - initialize_symbolic_methods_holder(); SymbolicMethod *int_constructor = construct_symbolic_method_without_self(SymbolicMethod_int); SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) SymbolicMethod *float_constructor = construct_symbolic_method_without_self(SymbolicMethod_float); diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index ba8336c787..2275db862f 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -8,10 +8,7 @@ RefHolderNode methods_holder_root = { NULL }; -RefHolderNode *methods_holder = &methods_holder; - -void initialize_symbolic_methods_holder() { -} +RefHolderNode *methods_holder = &methods_holder_root; static void release_method(void *address, void *data) { diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index e4094cad4a..0efc0bcbd8 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -267,10 +267,6 @@ create_global_ref(JNIEnv *env, jobject local_ref) { return result; } -void -initialize_global_ref_holder() { -} - static void release_global_ref(void *address, void *env_raw) { JNIEnv *env = (JNIEnv *) env_raw; From 3e69e27c0e955c848e9ba8065dbcdb8280ebdfe6 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Thu, 28 Sep 2023 11:34:48 +0300 Subject: [PATCH 115/344] Added nb_true_div for ints --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/json/adapter_method_defs.json | 12 +++++ .../src/main/json/handler_defs.json | 5 ++ .../org/usvm/interpreter/CPythonAdapter.java | 6 +++ .../machine/interpreters/operations/Long.kt | 53 ++++++++++++------- usvm-python/src/test/kotlin/manualTest.kt | 42 ++------------- .../kotlin/org/usvm/samples/FloatsTest.kt | 15 ++++++ .../src/test/resources/samples/Floats.py | 6 ++- 8 files changed, 82 insertions(+), 59 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index bd5f850351..bbc06dcb95 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit bd5f85035105f2b08bd460e92474c3b3a1a5e3ea +Subproject commit bbc06dcb954affad2290b9fa225c6d17b3fe434f diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index 55bee03dbe..a959d78537 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -359,6 +359,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "true_div_long", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "symbolic_int_cast", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 24dd6d27ab..7a00d40de1 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -74,6 +74,11 @@ "java_name": "handlerPOWLong", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "true_div_long", + "java_name": "handlerTrueDivLong", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "symbolic_int_cast", "java_name": "handlerIntCast", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3f438be475..e64dcbe807 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -242,6 +242,12 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + public static SymbolForCPython handlerTrueDivLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("true_div_long", Arrays.asList(left, right)), () -> handlerTrueDivLongKt(context, left.obj, right.obj)); + } + public static SymbolForCPython handlerIntCast(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt index 3663b14437..e2a51a87b5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt @@ -1,18 +1,16 @@ package org.usvm.machine.interpreters.operations import io.ksmt.sort.KIntSort +import io.ksmt.sort.KRealSort import io.ksmt.sort.KSort import org.usvm.UBoolExpr -import org.usvm.UContext import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructBool -import org.usvm.machine.symbolicobjects.constructInt -import org.usvm.machine.symbolicobjects.getToIntContent +import org.usvm.isTrue +import org.usvm.machine.symbolicobjects.* private fun createBinaryIntOp( - op: (UContext, UExpr, UExpr) -> UExpr? + op: (ConcolicRunContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> if (ctx.curState == null) null @@ -21,7 +19,7 @@ private fun createBinaryIntOp( val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) op( - ctx.ctx, + ctx, left.getToIntContent(ctx) ?: return@with null, right.getToIntContent(ctx) ?: return@with null )?.let { @@ -29,6 +27,7 @@ private fun createBinaryIntOp( when (it.sort) { intSort -> constructInt(ctx, it as UExpr) boolSort -> constructBool(ctx, it as UBoolExpr) + realSort -> constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, it as UExpr)) else -> error("Bad return sort of int operation: ${it.sort}") } } @@ -36,32 +35,50 @@ private fun createBinaryIntOp( } fun handlerGTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left gt right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } } (x, y, z) fun handlerLTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left lt right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } } (x, y, z) fun handlerEQLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left eq right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } } (x, y, z) fun handlerNELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left neq right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } } (x, y, z) fun handlerGELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left ge right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } } (x, y, z) fun handlerLELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx) { left le right } } (x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } } (x, y, z) fun handlerADDLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithAdd(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) } (x, y, z) fun handlerSUBLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithSub(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) } (x, y, z) fun handlerMULLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithMul(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) } (x, y, z) fun handlerDIVLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.mkArithDiv(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> + with (ctx.ctx) { + myFork(ctx, right eq mkIntNum(0)) + if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) + null + else + mkArithDiv(left, right) + } + } (x, y, z) fun handlerREMLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.mkIntMod(left, right) } (x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") fun handlerPOWLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO //createBinaryIntOp { ctx, left, right -> // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null //} (x, y, z) +fun handlerTrueDivLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> + with (ctx.ctx) { + myFork(ctx, right eq mkIntNum(0)) + if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) + null + else + mkArithDiv(mkIntToReal(left), mkIntToReal(right)) + } + } (x, y, z) fun handlerIntCastKt( ctx: ConcolicRunContext, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 04206a7d44..dbdcf750e9 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -30,48 +30,12 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x: float, y: int): - plus_inf = float('inf') - assert x < plus_inf - minus_inf = float('-inf') - assert x > minus_inf - assert plus_inf * minus_inf < 0 - plus_inf /= x * x - assert plus_inf == float('inf') - if x < 0: - assert (plus_inf * x < 0) - assert (x * plus_inf < 0) - assert (plus_inf / x < 0) - assert (x / plus_inf == 0) - assert (plus_inf + x == plus_inf) - assert (x + plus_inf == plus_inf) - assert (plus_inf - x == plus_inf) - assert (x - plus_inf == minus_inf) - assert (minus_inf * x > 0) - assert (x * minus_inf > 0) - assert (minus_inf / x > 0) - assert (x / minus_inf == 0) - assert (minus_inf + x == minus_inf) - assert (x + minus_inf == minus_inf) - assert (minus_inf - x == minus_inf) - assert (x - minus_inf == plus_inf) - assert (plus_inf - plus_inf != plus_inf - plus_inf) - return 1 - elif x > 0: - assert plus_inf * x > 0 - assert x * plus_inf > 0 - assert plus_inf / x > 0 - assert x / plus_inf == 0 - assert minus_inf * x < 0 - assert x * minus_inf < 0 - assert minus_inf / x < 0 - assert x / minus_inf == 0 - return 2 - return "Unreachable" + def f(x: int, y: int): + assert x / y == 10.5 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonFloat), + listOf(typeSystem.pythonInt, typeSystem.pythonInt), "f" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt index f71fea3f73..8147e124aa 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -91,4 +91,19 @@ class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { ) ) } + + @Test + fun testIntTrueDiv() { + check2WithConcreteRun( + constructFunction("int_true_div", listOf(typeSystem.pythonInt, typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, y, res -> y.repr == "0" && res.selfTypeName == "ZeroDivisionError" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Floats.py b/usvm-python/src/test/resources/samples/Floats.py index 66ea511f95..b0ca7bd4df 100644 --- a/usvm-python/src/test/resources/samples/Floats.py +++ b/usvm-python/src/test/resources/samples/Floats.py @@ -78,4 +78,8 @@ def infinity_ops(x: float): assert minus_inf / x < 0 assert x / minus_inf == 0 return 2 - return "Unreachable" \ No newline at end of file + return "Unreachable" + + +def int_true_div(x: int, y: int): + assert x / y == 10.5 \ No newline at end of file From df751de12db6f69d4967de6b82f739cc800fa72f Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 28 Sep 2023 15:16:07 +0300 Subject: [PATCH 116/344] Fixed memory leak from PathTrieNode --- usvm-core/src/main/kotlin/org/usvm/Context.kt | 3 +-- usvm-python/cpythonadapter/cpython | 2 +- .../org/usvm/machine/PythonComponents.kt | 4 +++- .../kotlin/org/usvm/machine/PythonMachine.kt | 6 ++--- .../kotlin/org/usvm/machine/UPythonContext.kt | 23 ++++++++++++++++++- usvm-python/src/test/kotlin/manualTest.kt | 6 ++--- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/Context.kt b/usvm-core/src/main/kotlin/org/usvm/Context.kt index dfda6180df..556e1cdf16 100644 --- a/usvm-core/src/main/kotlin/org/usvm/Context.kt +++ b/usvm-core/src/main/kotlin/org/usvm/Context.kt @@ -78,8 +78,7 @@ open class UContext( return currentStateId++ } - fun solver(): USolverBase = this.solver.uncheckedCast() - + open fun solver(): USolverBase = this.solver.uncheckedCast() @Suppress("UNCHECKED_CAST") fun typeSystem(): UTypeSystem = this.typeSystem as UTypeSystem diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index bbc06dcb95..9fe0164f39 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit bbc06dcb954affad2290b9fa225c6d17b3fe434f +Subproject commit 9fe0164f39f4ce46aebd46f049b9b3b905ea7a5f diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 66ef606f1e..aeec4c592f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -6,11 +6,13 @@ import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver import org.usvm.UComponents import org.usvm.UContext +import org.usvm.UTransformer import org.usvm.language.PropertyOfPythonObject import org.usvm.language.PythonCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.model.buildTranslatorAndLazyDecoder +import org.usvm.solver.UExprTranslator import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase import org.usvm.solver.UTypeSolver @@ -30,4 +32,4 @@ class PythonComponents( override fun mkTypeSystem(ctx: UContext): UTypeSystem { return typeSystem } -} \ No newline at end of file +} diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 752cca15f7..56af70fc17 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -24,7 +24,6 @@ class PythonMachine( private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) - private val solver = ctx.solver() val statistics = PythonMachineStatistics() private fun getInterpreter( @@ -64,7 +63,7 @@ class PythonMachine( constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem) } val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) - val solverRes = solver.check(pathConstraints) + val solverRes = ctx.solver().check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") return PythonExecutionState( @@ -127,10 +126,11 @@ class PythonMachine( iterationCounter.iterations }.also { ConcretePythonInterpreter.restart() + ctx.restartSolver() } override fun close() { - solver.close() + ctx.closeSolver() ctx.close() } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 68fc18d4c3..9b9f07a453 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -5,9 +5,14 @@ import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* +import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem +import org.usvm.solver.USolverBase -class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(typeSystem)) { +class UPythonContext( + typeSystem: PythonTypeSystem, + private val components: PythonComponents = PythonComponents(typeSystem) +): UContext(components) { private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { require(nextAddress > INITIAL_STATIC_ADDRESS) { @@ -23,4 +28,20 @@ class UPythonContext(typeSystem: PythonTypeSystem): UContext(PythonComponents(ty return mkIntToReal(intValue) //return mkRealToFpExpr(fp64Sort, floatRoundingMode, realValue) } + + + private var solver: USolverBase = components.mkSolver(this) + + @Suppress("UNCHECKED_CAST") + override fun solver(): USolverBase = + solver as USolverBase + + fun restartSolver() { + solver.close() + solver = components.mkSolver(this) + } + + fun closeSolver() { + solver.close() + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index dbdcf750e9..a476415604 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -134,7 +134,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 70, + maxIterations = 50, allowPathDiversion = true, maxInstructions = 30_000, timeoutPerRunMs = 5_000, From 23d97d07a34c5acf5ceae9027b9b8d7b971a3a53 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 28 Sep 2023 21:37:25 +0300 Subject: [PATCH 117/344] new params in VirtualPathSelector; soft constraints on floats --- .../main/kotlin/org/usvm/language/Fields.kt | 5 +-- .../usvm/machine/PythonVirtualPathSelector.kt | 4 +-- .../interpreters/operations/Virtual.kt | 3 +- .../symbolicobjects/SymbolicObjectContents.kt | 36 +++++++++++++------ 4 files changed, 32 insertions(+), 16 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt index 93ea69f63a..463de0172c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt @@ -12,10 +12,11 @@ object BoolContents { } object FloatContents { + const val bound = 300 val content = ContentOfType("float") - val isNan = ContentOfType("is_nan") + val isNan = ContentOfType("is_nan_value") // int field; isNan <=> value > bound val infSign = ContentOfType("float_inf_sign") - val isInf = ContentOfType("is_inf") + val isInf = ContentOfType("is_inf_value") // int field; isInf <=> value > bound } object ListIteratorContents { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 29d350d8a7..56152923f8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -107,13 +107,13 @@ class PythonVirtualPathSelector( val zeroCoin = random.nextDouble() val firstCoin = random.nextDouble() val secondCoin = random.nextDouble() - if (!basePathSelector.isEmpty() && (zeroCoin < 0.9 || unservedDelayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty())) { + if (!basePathSelector.isEmpty() && (zeroCoin < 0.6 || (unservedDelayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty() && servedDelayedForks.isEmpty()))) { val result = basePathSelector.peek() result.meta.extractedFrom = basePathSelector peekCache = result return result - } else if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.7 || pathSelectorForStatesWithDelayedForks.isEmpty())) { + } else if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.9 || pathSelectorForStatesWithDelayedForks.isEmpty() && servedDelayedForks.isEmpty())) { logger.debug("Trying to make delayed fork") val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) newState?.let { add(listOf(it)) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt index 0e318a95e3..b8968339de 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt @@ -12,7 +12,8 @@ import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) - require(context.curOperation?.method == NbBoolMethod && interpretedArg == on.interpretedObj) + if(context.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) + throw UnregisteredVirtualOperation // path diversion val oldModel = context.modelHolder.model val (interpretedObj, _) = internalVirtualCallKt(context) { mockSymbol -> diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 3942497cdf..bfb8fe04e9 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -5,19 +5,18 @@ import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort -import io.ksmt.utils.ArithUtils -import org.usvm.UBoolExpr -import org.usvm.UExpr -import org.usvm.UHeapRef +import org.usvm.* import org.usvm.api.readArrayLength import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext -import org.usvm.isTrue import org.usvm.language.* import org.usvm.language.types.ArrayType +import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext +import org.usvm.machine.utils.PyModelWrapper +import org.usvm.memory.UMemory /** int **/ @@ -68,12 +67,27 @@ object FloatPlusInfinity: FloatInterpretedContent() object FloatMinusInfinity: FloatInterpretedContent() data class FloatNormalValue(val value: Double): FloatInterpretedContent() +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModelWrapper, address: UConcreteHeapRef, ctx: UPythonContext): UBoolExpr { + val value = model.readField(address, field, ctx.intSort) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +} + +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: UPythonContext): UBoolExpr { + val value = memory.readField(address, field, ctx.intSort) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +} + +private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: UPythonContext, value: UBoolExpr) { + val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.bound + 1), ctx.mkIntNum(0)) + memory.writeField(address, field, ctx.intSort, intValue, ctx.trueExpr) +} + fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): FloatInterpretedContent { require(getConcreteType() == typeSystem.pythonFloat) - val isNan = modelHolder.model.readField(address, FloatContents.isNan, ctx.boolSort) + val isNan = readBoolFieldWithSoftConstraint(FloatContents.isNan, modelHolder.model, address, ctx) if (isNan.isTrue) return FloatNan - val isInf = modelHolder.model.readField(address, FloatContents.isInf, ctx.boolSort) + val isInf = readBoolFieldWithSoftConstraint(FloatContents.isInf, modelHolder.model, address, ctx) if (isInf.isTrue) { val isPositive = modelHolder.model.readField(address, FloatContents.infSign, ctx.boolSort) return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity @@ -111,8 +125,8 @@ fun mkUninterpretedFloatWithValue(ctx: UPythonContext, value: UExpr): fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonFloat) - ctx.curState!!.memory.writeField(address, FloatContents.isNan, ctx.ctx.boolSort, expr.isNan, ctx.ctx.trueExpr) - ctx.curState!!.memory.writeField(address, FloatContents.isInf, ctx.ctx.boolSort, expr.isInf, ctx.ctx.trueExpr) + writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx, expr.isNan) + writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx, expr.isInf) ctx.curState!!.memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) } @@ -121,8 +135,8 @@ fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonFloat) return FloatUninterpretedContent( - ctx.curState!!.memory.readField(address, FloatContents.isNan, ctx.ctx.boolSort), - ctx.curState!!.memory.readField(address, FloatContents.isInf, ctx.ctx.boolSort), + readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx), + readBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx), ctx.curState!!.memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) ) From 8fd2015a68c3e9a1854f73a0702cb9d5e208a0b8 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 3 Oct 2023 13:04:32 +0300 Subject: [PATCH 118/344] modified state labels --- .../interpreters/operations/Control.kt | 3 ++- usvm-python/src/test/kotlin/manualTest.kt | 21 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt index f5e5829687..6481b29624 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt @@ -31,10 +31,11 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) + forkResult.positiveState?.also { it.meta.generatedFrom = "From ordinary fork" } + forkResult.negativeState?.also { it.meta.generatedFrom = "From ordinary fork" } if (forkResult.negativeState != oldCurState) forkResult.negativeState?.let { ctx.forkedStates.add(it) - it.meta.generatedFrom = "From ordinary fork" } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a476415604..bfebfe10db 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -30,12 +30,15 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x: int, y: int): - assert x / y == 10.5 + def f(x): + y = x + [1] + if len(y[::-1]) == 5: + return 1 + return 2 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt), + listOf(PythonAnyType), "f" ) val functions = listOf(function) @@ -82,8 +85,8 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - // if (functionName != "binary_search_insertion") - // return@mapNotNull null + if (functionName != "bitonic_sort") + return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( List(description.numberOfArguments) { PythonAnyType }, @@ -137,8 +140,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 50, allowPathDiversion = true, maxInstructions = 30_000, - timeoutPerRunMs = 5_000, - timeoutMs = 20_000 + // timeoutPerRunMs = 5_000, + // timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") From 4f10aefa06cad06fe054b374e1a1c389ae15f91f Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 3 Oct 2023 13:36:57 +0300 Subject: [PATCH 119/344] Fixes after rebase --- .../org/usvm/machine/PythonComponents.kt | 26 ++++++++----------- .../org/usvm/machine/PythonExecutionState.kt | 9 ++++--- .../kotlin/org/usvm/machine/PythonMachine.kt | 4 +-- .../kotlin/org/usvm/machine/UPythonContext.kt | 8 +++--- .../machine/interpreters/operations/Common.kt | 8 +++--- .../machine/interpreters/operations/List.kt | 14 +++++----- .../machine/interpreters/operations/Tuple.kt | 4 +-- .../kotlin/org/usvm/machine/model/PyModel.kt | 11 ++++---- .../ConverterToPythonObject.kt | 5 ++-- .../symbolicobjects/ObjectValidator.kt | 4 +-- .../symbolicobjects/PreallocatedObjects.kt | 2 +- .../SymbolicObjectConstruction.kt | 6 ++--- .../symbolicobjects/SymbolicObjectContents.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 4 +-- 14 files changed, 53 insertions(+), 54 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt index aeec4c592f..19ea624e8c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -1,18 +1,10 @@ package org.usvm.machine -import com.microsoft.z3.Global -import io.ksmt.solver.cvc5.KCvc5Solver -import io.ksmt.solver.yices.KYicesSolver import io.ksmt.solver.z3.KZ3Solver -import org.usvm.UComponents -import org.usvm.UContext -import org.usvm.UTransformer -import org.usvm.language.PropertyOfPythonObject -import org.usvm.language.PythonCallable +import io.ksmt.sort.KIntSort +import org.usvm.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.model.buildTranslatorAndLazyDecoder -import org.usvm.solver.UExprTranslator import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase import org.usvm.solver.UTypeSolver @@ -20,16 +12,20 @@ import org.usvm.types.UTypeSystem class PythonComponents( private val typeSystem: PythonTypeSystem -): UComponents { - override fun mkSolver(ctx: Context): USolverBase { - val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) - val softConstraintsProvider = USoftConstraintsProvider(ctx) +): UComponents { + override fun > mkSolver(ctx: Context): USolverBase { + val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) + val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) // solver.configure { setZ3Option("timeout", 1) } return USolverBase(ctx, solver, UTypeSolver(typeSystem), translator, decoder, softConstraintsProvider) } - override fun mkTypeSystem(ctx: UContext): UTypeSystem { + override fun mkTypeSystem(ctx: UContext): UTypeSystem { return typeSystem } + + override fun > mkSizeExprProvider(ctx: Context): USizeExprProvider { + return UInt32SizeExprProvider(ctx) + } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 26779723f2..274fa5ca43 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -15,16 +15,17 @@ import org.usvm.machine.types.prioritization.prioritizeTypes import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory import org.usvm.model.UModelBase +import org.usvm.targets.UTarget import org.usvm.types.UTypeStream import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER -object PythonTarget: UTarget, PythonTarget, PythonExecutionState>() +object PythonTarget: UTarget, PythonTarget>() class PythonExecutionState( - val ctx: UPythonContext, + ctx: UPythonContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, - pathConstraints: UPathConstraints, + pathConstraints: UPathConstraints, memory: UMemory, uModel: UModelBase, val typeSystem: PythonTypeSystem, @@ -36,7 +37,7 @@ class PythonExecutionState( private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() ): UState, UPythonContext, PythonTarget, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { - override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { + override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PythonExecutionState( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 56af70fc17..c77501ba7f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -52,7 +52,7 @@ class PythonMachine( } private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { - val pathConstraints = UPathConstraints(ctx) + val pathConstraints = UPathConstraints(ctx) val memory = UMemory( ctx, pathConstraints.typeConstraints @@ -63,7 +63,7 @@ class PythonMachine( constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem) } val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) - val solverRes = ctx.solver().check(pathConstraints) + val solverRes = ctx.solver().check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") return PythonExecutionState( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt index 9b9f07a453..2b348fc725 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt @@ -12,7 +12,7 @@ import org.usvm.solver.USolverBase class UPythonContext( typeSystem: PythonTypeSystem, private val components: PythonComponents = PythonComponents(typeSystem) -): UContext(components) { +): UContext(components) { private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { require(nextAddress > INITIAL_STATIC_ADDRESS) { @@ -30,11 +30,11 @@ class UPythonContext( } - private var solver: USolverBase = components.mkSolver(this) + private var solver: USolverBase = components.mkSolver(this) @Suppress("UNCHECKED_CAST") - override fun solver(): USolverBase = - solver as USolverBase + override fun solver(): USolverBase = + solver as USolverBase fun restartSolver() { solver.close() diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt index c0c260f7fe..19830099c8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt @@ -81,8 +81,8 @@ fun createIterable( val typeSystem = ctx.typeSystem val size = elements.size with (ctx.ctx) { - val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(ArrayType, addressSort, addresses) - ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType) + val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) + ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType, intSort) ctx.curState!!.memory.types.allocate(iterableAddress.address, type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) result.addSupertypeSoft(ctx, type) @@ -135,7 +135,7 @@ fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPython return null if (array.getTypeIfDefined(context) != type) return null - val listSize = context.curState!!.memory.readArrayLength(array.address, ArrayType) + val listSize = context.curState!!.memory.readArrayLength(array.address, ArrayType, context.ctx.intSort) return constructInt(context, listSize) } @@ -153,7 +153,7 @@ fun resolveSequenceIndex( index.addSupertypeSoft(ctx, typeSystem.pythonInt) seq.addSupertypeSoft(ctx, type) - val listSize = ctx.curState!!.memory.readArrayLength(seq.address, ArrayType) + val listSize = ctx.curState!!.memory.readArrayLength(seq.address, ArrayType, intSort) val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index fd0919eb0f..78de109e2c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -38,9 +38,9 @@ private fun listConcat( dst.extendConstraints(ctx, left) dst.extendConstraints(ctx, right) with (ctx.ctx) { - val leftSize = ctx.curState!!.memory.readArrayLength(left.address, ArrayType) - val rightSize = ctx.curState!!.memory.readArrayLength(right.address, ArrayType) - ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType) + val leftSize = ctx.curState!!.memory.readArrayLength(left.address, ArrayType, intSort) + val rightSize = ctx.curState!!.memory.readArrayLength(right.address, ArrayType, intSort) + ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType, intSort) ctx.curState!!.memory.memcpy(left.address, dst.address, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) ctx.curState!!.memory.memcpy(right.address, dst.address, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) } @@ -62,7 +62,7 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val resultAddress = ctx.curState!!.memory.allocateArray(ArrayType, mkIntNum(0)) + val resultAddress = ctx.curState!!.memory.allocateArray(ArrayType, intSort, mkIntNum(0)) ctx.curState!!.memory.types.allocate(resultAddress.address, typeSystem.pythonList) val result = UninterpretedSymbolicPythonObject(resultAddress, typeSystem) listConcat(ctx, left, right, result) @@ -87,9 +87,9 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val currentSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType) + val currentSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) list.writeElement(ctx, currentSize, elem) - ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType) + ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) return list } } @@ -108,7 +108,7 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy val typeSystem = ctx.typeSystem val (listAddress, index) = iterator.getListIteratorContent(ctx) - val listSize = ctx.curState!!.memory.readArrayLength(listAddress, ArrayType) + val listSize = ctx.curState!!.memory.readArrayLength(listAddress, ArrayType, intSort) val indexCond = index lt listSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt index ac157fd762..77f0e1a13f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt @@ -27,7 +27,7 @@ fun handlerTupleIteratorNextKt( return null val typeSystem = ctx.typeSystem val (tuple, index) = iterator.getTupleIteratorContent(ctx) - val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, ArrayType) + val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, ArrayType, ctx.ctx.intSort) val indexCond = index lt tupleSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) @@ -45,7 +45,7 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth myFork(ctx, iterable.evalIs(ctx, typeSystem.pythonTuple)) return } - val tupleSize = ctx.curState!!.memory.readArrayLength(iterable.address, ArrayType) + val tupleSize = ctx.curState!!.memory.readArrayLength(iterable.address, ArrayType, ctx.ctx.intSort) myFork(ctx, tupleSize eq mkIntNum(count)) } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt index dec2300bf1..2f5ee1a739 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -1,5 +1,6 @@ package org.usvm.machine.model +import io.ksmt.sort.KIntSort import org.usvm.UAddressSort import org.usvm.UConcreteHeapRef import org.usvm.UExpr @@ -32,11 +33,11 @@ class PyModel( underlyingModel.nullRef ) { private inner class WrappedRegion( - val region: UReadOnlyMemoryRegion, UAddressSort>, + val region: UReadOnlyMemoryRegion, UAddressSort>, val model: PyModel, val ctx: UPythonContext - ) : UReadOnlyMemoryRegion, UAddressSort> { - override fun read(key: UArrayIndexLValue): UExpr { + ) : UReadOnlyMemoryRegion, UAddressSort> { + override fun read(key: UArrayIndexLValue): UExpr { val underlyingResult = region.read(key) val array = key.ref as UConcreteHeapRef if (array.address > 0) // allocated object @@ -54,11 +55,11 @@ class PyModel( @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { - if (regionId is UArrayRegionId<*, *> && + if (regionId is UArrayRegionId<*, *, *> && regionId.sort == regionId.sort.uctx.addressSort && regionId.arrayType == ArrayType ) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> return WrappedRegion(region, this, ctx) as UReadOnlyMemoryRegion } return super.getRegion(regionId) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index c3e2a3a68d..240683c376 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -13,6 +13,7 @@ import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.PyModelHolder +import org.usvm.mkSizeExpr class ConverterToPythonObject( private val ctx: UPythonContext, @@ -91,7 +92,7 @@ class ConverterToPythonObject( private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, ): List { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType, ctx.intSort) as KInt32NumExpr return List(size.value) { index -> val indexExpr = ctx.mkSizeExpr(index) val element = obj.modelHolder.model.uModel.readArrayIndex( @@ -149,7 +150,7 @@ class ConverterToPythonObject( } private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType) as KInt32NumExpr + val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType, ctx.intSort) as KInt32NumExpr val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple val listOfPythonObjects = constructArrayContents(obj) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index e9383c608d..a9ec9696d0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -28,7 +28,7 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType, intSort) myAssert(concolicRunContext, mkAnd(symbolicSize ge mkIntNum(0), symbolicSize le mkIntNum(100_000))) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr List(size.value) { index -> @@ -46,7 +46,7 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private fun checkTuple(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { require(concolicRunContext.curState != null) val time = symbolic.getTimeOfCreation(concolicRunContext) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType) + val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType, intSort) myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr for (index in 0 until size.value) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 33564ba21b..75d8bee22a 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -43,7 +43,7 @@ class PreallocatedObjects( fun initialize( ctx: UPythonContext, initialMemory: UMemory, - initialPathConstraints: UPathConstraints, + initialPathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ): PreallocatedObjects = PreallocatedObjects( diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index a840b66b7f..094f78f386 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -19,9 +19,9 @@ import org.usvm.memory.URegisterStackLValue fun constructInputObject( stackIndex: Int, type: PythonType, - ctx: UContext, + ctx: UPythonContext, memory: UMemory, - pathConstraints: UPathConstraints, + pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") @@ -77,7 +77,7 @@ fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSy fun constructInitialBool( ctx: UPythonContext, memory: UMemory, - pathConstraints: UPathConstraints, + pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, expr: UExpr ): UninterpretedSymbolicPythonObject { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index bfb8fe04e9..766e1704d7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -168,7 +168,7 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U return when (getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType) gt mkIntNum(0) + typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType, intSort) gt mkIntNum(0) else -> null } } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index d5d81b31b7..b64ed4e5e2 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -58,7 +58,7 @@ class UninterpretedSymbolicPythonObject( } fun evalIs( - ctx: UContext, + ctx: UPythonContext, typeConstraints: UTypeConstraints, type: PythonType ): UBoolExpr { @@ -76,7 +76,7 @@ class UninterpretedSymbolicPythonObject( } fun evalIsSoft( - ctx: UContext, + ctx: UPythonContext, typeConstraints: UTypeConstraints, type: PythonType ): UBoolExpr { From 66a83952b1cbb6bd15620b6826ca30f744cd6a40 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 3 Oct 2023 14:30:49 +0300 Subject: [PATCH 120/344] Added unregistered virtual operations to statistics --- usvm-python/build.gradle.kts | 4 ++-- .../machine/interpreters/USVMPythonInterpreter.kt | 2 ++ .../usvm/machine/utils/PythonMachineStatistics.kt | 14 +++++++++++++- usvm-python/src/test/kotlin/manualTest.kt | 14 +++++++------- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index c5659fd735..625cd63c26 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -70,7 +70,7 @@ val installMypyRunner = tasks.register("installUtbotMypyRunner") { val buildSamples = tasks.register("buildSamples") { dependsOn(installMypyRunner) - inputs.dir(samplesSourceDir) + inputs.files(fileTree(samplesSourceDir).filter { it.name.endsWith(".py") }.files) outputs.dir(samplesBuildDir) group = "samples" classpath = sourceSets.test.get().runtimeClasspath @@ -93,9 +93,9 @@ fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { tasks.register("manualTestDebug") { group = "run" dependsOn(buildSamples) + maxHeapSize = "2G" if (!isWindows) { registerCpython(this, debug = true) - maxHeapSize = "2G" jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") } else { environment("PYTHONHOME" to cpythonBuildPath) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 714d399814..37c3c6d2a7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -14,6 +14,7 @@ import org.usvm.machine.* import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModel +import org.usvm.machine.utils.MethodDescription import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.utils.PythonObjectSerializer @@ -168,6 +169,7 @@ class USVMPythonInterpreter( iterationCounter.iterations += 1 logger.debug("Step result: Unregistrered virtual operation") concolicRunContext.curState?.meta?.modelDied = true + concolicRunContext.statistics.addUnregisteredVirtualOperation() return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } catch (_: InstructionLimitExceededException) { diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt index 09ce1c67ad..c5706a6686 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt @@ -59,11 +59,17 @@ class PythonMachineStatistics { return map } + private val numberOfFunctionsWithUnregisteredVirtualOperations: Int + get() = functionStatistics.fold(0) { acc, cur -> + acc + if (cur.numberOfUnregisteredVirtualOperations > 0) 1 else 0 + } + fun writeReport(): String { val result = StringBuilder() result.append("Functions analyzed: ${functionStatistics.size}\n") result.append("Mean coverage: $meanCoverage\n") result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") + result.append("Number of functions with unregistered virtual operations: $numberOfFunctionsWithUnregisteredVirtualOperations\n") result.append("Lost symbolic values (by number of functions):\n") result.append(writeLostSymbolicValuesReport(lostSymbolicValuesByNumberOfFunctions)) result.append("Lost symbolic values (by overall usages):\n") @@ -73,11 +79,16 @@ class PythonMachineStatistics { } class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallable) { - val lostSymbolicValues = mutableMapOf() + internal val lostSymbolicValues = mutableMapOf() + internal var numberOfUnregisteredVirtualOperations = 0 fun addLostSymbolicValue(descr: MethodDescription) { addWithDefault(lostSymbolicValues, descr) } + fun addUnregisteredVirtualOperation() { + numberOfUnregisteredVirtualOperations += 1 + } + private val instructionOffsets: List by lazy { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPythonObject, "f") @@ -117,6 +128,7 @@ class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallab result.append("Coverage: $coverage\n") result.append("Coverage without virtual objects: $coverageNoVirtual\n") result.append("Lost symbolic values:\n") + result.append("Number of unregistered virtual operations: $numberOfUnregisteredVirtualOperations\n") result.append(writeLostSymbolicValuesReport(lostSymbolicValues)) return result.toString() } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index bfebfe10db..6a5ed57b3a 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -52,7 +52,7 @@ private fun buildSampleRunConfig(): RunConfig { */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\sorts" + val projectPath = "D:\\projects\\Python\\dynamic_programming" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -85,8 +85,8 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - if (functionName != "bitonic_sort") - return@mapNotNull null + // if (functionName != "bitonic_sort") + // return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") PythonUnpinnedCallable.constructCallableFromName( List(description.numberOfArguments) { PythonAnyType }, @@ -140,8 +140,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 50, allowPathDiversion = true, maxInstructions = 30_000, - // timeoutPerRunMs = 5_000, - // timeoutMs = 20_000 + timeoutPerRunMs = 5_000, + timeoutMs = 20_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") From f8421951dad2b2208603e796922265bf43c23794 Mon Sep 17 00:00:00 2001 From: Tochilina Ekaterina Date: Tue, 3 Oct 2023 15:30:33 +0300 Subject: [PATCH 121/344] added list_pop --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 9 +++++++++ .../cpythonadapter/src/main/c/descriptors.c | 6 ++++++ .../src/main/c/include/approximations.h | 1 + .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++++++ .../src/main/c/include/symbolic_methods.h | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 6 +++++- .../src/main/c/symbolic_methods.c | 4 ++-- .../src/main/json/adapter_method_defs.json | 12 ++++++++++++ .../src/main/json/handler_defs.json | 5 +++++ .../org/usvm/interpreter/CPythonAdapter.java | 13 +++++++++---- .../interpreters/ConcretePythonInterpreter.kt | 6 ++++++ .../machine/interpreters/operations/List.kt | 18 ++++++++++++++++++ .../operations/descriptors/List.kt | 6 ++++++ usvm-python/src/test/kotlin/manualTest.kt | 12 ++++++++---- .../test/kotlin/org/usvm/samples/ListsTest.kt | 15 +++++++++++++++ .../src/test/resources/samples/Lists.py | 6 +++++- 17 files changed, 117 insertions(+), 14 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 9fe0164f39..739359aba5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 9fe0164f39f4ce46aebd46f049b9b3b905ea7a5f +Subproject commit 739359aba5ede5239a1aaf2678f9308fef60649b diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 8c7c28af97..9e75dd1d3f 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -217,6 +217,15 @@ PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self_refe return result; } +PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { + if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 0 || kwargs) + return Py_None; + PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); + PyObject *result = adapter->list_pop(adapter->handler_param, symbolic_list); + Py_DECREF(symbolic_list); + return result; +} + PyObject * Approximation_list_repeat(PyObject *self, PyObject *n) { assert(is_wrapped(self) && is_wrapped(n)); diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index bcb19f9b89..20d3530f74 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -26,6 +26,12 @@ get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "step") == 0) { jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStepDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); return (*env)->GetObjectField(env, cpython_adapter, slice_start); + + } if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && + ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_POP) { + jfieldID list_pop_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listPopDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, list_pop_id); + } return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 3ca7a9371a..402d381cf4 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -27,6 +27,7 @@ PyObject *SymbolicMethod_float(SymbolicAdapter *adapter, jobject self, PyObject PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.append +PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.pop PyObject *Approximation_list_slice_get_item(PyObject *self, PyObject *slice); // list[slice] #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 2497c88661..65a5461839 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -359,6 +359,14 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod (JNIEnv *, jobject, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: constructListPopMethod + * Signature: (Lorg/usvm/language/SymbolForCPython;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod + (JNIEnv *, jobject, jobject); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 71169eacd3..af58465bf5 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -16,7 +16,7 @@ typedef struct { } SymbolicMethod; void clean_methods(); -SymbolicMethod *construct_list_append_method(JNIEnv *env, jobject symbolic_self); +SymbolicMethod *construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call); SymbolicMethod *construct_symbolic_method_without_self(call_type call); PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index b9ca93d314..e19260ffd4 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -500,5 +500,9 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe } JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { - return (jlong) construct_list_append_method(env, symbolic_list_ref); + return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_append); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { + return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_pop); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index 2275db862f..d7ee08463b 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -20,10 +20,10 @@ void clean_methods() { } SymbolicMethod * -construct_list_append_method(JNIEnv *env, jobject symbolic_self) { +construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call) { assert(methods_holder); SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); - result->call = SymbolicMethod_list_append; + result->call = call; result->self_reference = create_global_ref(env, symbolic_self); add_ref_to_list(&methods_holder, result); return result; diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index a959d78537..b3e1aa6568 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -540,6 +540,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "list_pop", + "nargs": 1, + "c_arg_types": ["PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "tuple_iter", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index 7a00d40de1..ecac30fe71 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -199,6 +199,11 @@ "java_name": "handlerListIteratorNext", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "list_pop", + "java_name": "handlerListPop", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, { "c_name": "tuple_iter", "java_name": "handlerTupleIter", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index e64dcbe807..cd6a53ba9a 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -5,10 +5,7 @@ import org.jetbrains.annotations.Nullable; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; -import org.usvm.machine.interpreters.operations.descriptors.ListAppendDescriptor; -import org.usvm.machine.interpreters.operations.descriptors.SliceStartDescriptor; -import org.usvm.machine.interpreters.operations.descriptors.SliceStepDescriptor; -import org.usvm.machine.interpreters.operations.descriptors.SliceStopDescriptor; +import org.usvm.machine.interpreters.operations.descriptors.*; import org.usvm.machine.interpreters.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import org.usvm.language.*; @@ -47,6 +44,7 @@ public class CPythonAdapter { public long symbolicIntConstructorRef; public long symbolicFloatConstructorRef; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; + public MemberDescriptor listPopDescriptor = ListPopDescriptor.INSTANCE; public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; @@ -95,6 +93,7 @@ public class CPythonAdapter { @Nullable public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); public native long constructListAppendMethod(SymbolForCPython symbolicList); + public native long constructListPopMethod(SymbolForCPython symbolicList); static { System.loadLibrary("cpythonadapter"); @@ -422,6 +421,12 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } + public static SymbolForCPython handlerListPop(ConcolicRunContext context, SymbolForCPython list) { + if (list.obj == null) + return null; + return methodWrapper(context, new MethodParameters("list_pop", Collections.singletonList(list)), () -> handlerListPopKt(context, list.obj)); + } + @Nullable public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @NotNull SymbolForCPython tuple) { if (tuple.obj == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index b4f255da4f..1ead62d6cb 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -194,6 +194,12 @@ object ConcretePythonInterpreter { return SymbolForCPython(null, ref) } + fun constructListPopMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { + val ref = pythonAdapter.constructListPopMethod(SymbolForCPython(self, 0)); + require(ref != 0L) + return SymbolForCPython(null, ref) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 78de109e2c..2dbc61bd22 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -117,4 +117,22 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy iterator.increaseListIteratorCounter(ctx) val list = UninterpretedSymbolicPythonObject(listAddress, typeSystem) return list.readElement(ctx, index) +} + +fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + return null + + with(ctx.ctx) { + val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) + val sizeCond = listSize gt mkIntNum(0) + myFork(ctx, sizeCond) + if (ctx.modelHolder.model.eval(sizeCond).isFalse) + return null + val newSize = mkArithSub(listSize, mkIntNum(1)) + val result = list.readElement(ctx, newSize) + ctx.curState!!.memory.writeArrayLength(list.address, newSize, ArrayType, intSort) + return result + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt index 9c4902bd11..7a7a5e8fc8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -10,4 +10,10 @@ object ListAppendDescriptor: MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { return ConcretePythonInterpreter.constructListAppendMethod(owner) } +} + +object ListPopDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListPopMethod(owner) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6a5ed57b3a..9a47420796 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -30,15 +30,19 @@ fun main() { private fun buildSampleRunConfig(): RunConfig { val (program, typeSystem) = constructPrimitiveProgram( """ - def f(x): + def list_concat(x): y = x + [1] if len(y[::-1]) == 5: return 1 return 2 + + def f(x: list): + assert x.pop() == 10 + """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), + listOf(typeSystem.pythonList), "f" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 76895ae7c2..78b3624156 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -343,4 +343,19 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testPopUsage() { + check1WithConcreteRun( + constructFunction("pop_usage", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index d26c17ec28..1ce920536e 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -183,4 +183,8 @@ def input_list_of_float_pairs(x): def list_concat(x: list, y: list): z = x + y - assert len(z) == 5 \ No newline at end of file + assert len(z) == 5 + + +def pop_usage(x: list): + assert x.pop() == 239 \ No newline at end of file From 6950dd6765acff136de918594eff8aca01846674 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 3 Oct 2023 17:45:01 +0300 Subject: [PATCH 122/344] some new list methods --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 24 +++++++- .../cpythonadapter/src/main/c/descriptors.c | 7 ++- .../src/main/c/include/approximations.h | 1 + .../org_usvm_interpreter_CPythonAdapter.h | 8 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 4 ++ .../src/main/json/adapter_method_defs.json | 24 ++++++++ .../src/main/json/handler_defs.json | 10 ++++ .../org/usvm/interpreter/CPythonAdapter.java | 14 +++++ .../interpreters/ConcretePythonInterpreter.kt | 6 ++ .../machine/interpreters/operations/List.kt | 57 ++++++++++++++++--- .../operations/descriptors/List.kt | 6 ++ usvm-python/src/test/kotlin/manualTest.kt | 17 +++--- .../test/kotlin/org/usvm/samples/ListsTest.kt | 29 ++++++++++ .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../src/test/resources/samples/Lists.py | 11 +++- 16 files changed, 201 insertions(+), 21 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 739359aba5..bf49651e4e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 739359aba5ede5239a1aaf2678f9308fef60649b +Subproject commit bf49651e4e8e035dc0567747ce893609a409dd20 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 9e75dd1d3f..21b72566ef 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -218,14 +218,34 @@ PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self_refe } PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { - if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 0 || kwargs) + if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) > 1 || kwargs) return Py_None; PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); - PyObject *result = adapter->list_pop(adapter->handler_param, symbolic_list); + PyObject *result = Py_None; + if (PyTuple_GET_SIZE(args) == 0) { + result = adapter->list_pop(adapter->handler_param, symbolic_list); + } else if (PyTuple_GET_SIZE(args) == 1) { + PyObject *ind = PyTuple_GetItem(args, 0); + result = adapter->list_pop_ind(adapter->handler_param, symbolic_list, ind); + } Py_DECREF(symbolic_list); return result; } +PyObject *SymbolicMethod_list_insert(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { + if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 2 || kwargs) + return Py_None; + PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); + PyObject *ind = PyTuple_GetItem(args, 0); + PyObject *value = PyTuple_GetItem(args, 1); + if (adapter->list_insert(adapter->handler_param, symbolic_list, ind, value)) { + Py_DECREF(symbolic_list); + return 0; + } + Py_DECREF(symbolic_list); + return adapter->load_const(adapter->handler_param, Py_None); +} + PyObject * Approximation_list_repeat(PyObject *self, PyObject *n) { assert(is_wrapped(self) && is_wrapped(n)); diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index 20d3530f74..f7db00002c 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -27,11 +27,16 @@ get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStepDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); return (*env)->GetObjectField(env, cpython_adapter, slice_start); - } if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && + } else if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_POP) { jfieldID list_pop_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listPopDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); return (*env)->GetObjectField(env, cpython_adapter, list_pop_id); + } else if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && + ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_INSERT) { + jfieldID list_pop_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listInsertDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, list_pop_id); + } return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 402d381cf4..0a42219270 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -28,6 +28,7 @@ PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // Py PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.append PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.pop +PyObject *SymbolicMethod_list_insert(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.insert PyObject *Approximation_list_slice_get_item(PyObject *self, PyObject *slice); // list[slice] #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 65a5461839..0a760d188a 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -367,6 +367,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAp JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod (JNIEnv *, jobject, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: constructListInsertMethod + * Signature: (Lorg/usvm/language/SymbolForCPython;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListInsertMethod + (JNIEnv *, jobject, jobject); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index e19260ffd4..a0ac17ce7d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -505,4 +505,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAp JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_pop); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListInsertMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { + return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_insert); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json index b3e1aa6568..dd0188b4d0 100644 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json @@ -443,6 +443,18 @@ "fail_value": "-1", "default_value": "0" }, + { + "c_name": "list_insert", + "nargs": 3, + "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], + "c_return_type": "int", + "java_arg_types": ["jobject", "jobject", "jobject"], + "java_return_type": "void", + "argument_converters": ["object_converter", "object_converter", "object_converter"], + "result_converter": "", + "fail_value": "-1", + "default_value": "0" + }, { "c_name": "list_extend", "nargs": 2, @@ -552,6 +564,18 @@ "fail_value": "0", "default_value": "Py_None" }, + { + "c_name": "list_pop_ind", + "nargs": 2, + "c_arg_types": ["PyObject *", "PyObject *"], + "c_return_type": "PyObject *", + "java_arg_types": ["jobject", "jobject"], + "java_return_type": "jobject", + "argument_converters": ["object_converter", "object_converter"], + "result_converter": "object_wrapper", + "fail_value": "0", + "default_value": "Py_None" + }, { "c_name": "tuple_iter", "nargs": 1, diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json index ecac30fe71..a17e20643e 100644 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ b/usvm-python/cpythonadapter/src/main/json/handler_defs.json @@ -204,6 +204,16 @@ "java_name": "handlerListPop", "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" }, + { + "c_name": "list_pop_ind", + "java_name": "handlerListPopInd", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" + }, + { + "c_name": "list_insert", + "java_name": "handlerListInsert", + "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" + }, { "c_name": "tuple_iter", "java_name": "handlerTupleIter", diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cd6a53ba9a..3b9a7caa70 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -45,6 +45,7 @@ public class CPythonAdapter { public long symbolicFloatConstructorRef; public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; public MemberDescriptor listPopDescriptor = ListPopDescriptor.INSTANCE; + public MemberDescriptor listInsertDescriptor = ListInsertDescriptor.INSTANCE; public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; @@ -94,6 +95,7 @@ public class CPythonAdapter { public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); public native long constructListAppendMethod(SymbolForCPython symbolicList); public native long constructListPopMethod(SymbolForCPython symbolicList); + public native long constructListInsertMethod(SymbolForCPython symbolicList); static { System.loadLibrary("cpythonadapter"); @@ -427,6 +429,18 @@ public static SymbolForCPython handlerListPop(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("list_pop", Collections.singletonList(list)), () -> handlerListPopKt(context, list.obj)); } + public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython ind) { + if (list.obj == null || ind.obj == null) + return null; + return methodWrapper(context, new MethodParameters("list_pop", Arrays.asList(list, ind)), () -> handlerListPopIndKt(context, list.obj, ind.obj)); + } + + public static void handlerListInsert(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { + if (list.obj == null || index.obj == null || value.obj == null) + return; + withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); + } + @Nullable public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @NotNull SymbolForCPython tuple) { if (tuple.obj == null) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 1ead62d6cb..4ab695e4c7 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -200,6 +200,12 @@ object ConcretePythonInterpreter { return SymbolForCPython(null, ref) } + fun constructListInsertMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { + val ref = pythonAdapter.constructListInsertMethod(SymbolForCPython(self, 0)); + require(ref != 0L) + return SymbolForCPython(null, ref) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index 2dbc61bd22..df7a53c646 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -1,7 +1,10 @@ package org.usvm.machine.interpreters.operations +import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.api.* +import org.usvm.api.collection.ListCollectionApi +import org.usvm.api.collection.ListCollectionApi.symbolicListInsert import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType import org.usvm.machine.symbolicobjects.* @@ -119,20 +122,60 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy return list.readElement(ctx, index) } -fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) - return null - +private fun listPop( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + ind: UExpr? = null, +): UninterpretedSymbolicPythonObject? { with(ctx.ctx) { val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) - val sizeCond = listSize gt mkIntNum(0) + val sizeCond = listSize gt (ind ?: mkIntNum(0)) myFork(ctx, sizeCond) if (ctx.modelHolder.model.eval(sizeCond).isFalse) return null val newSize = mkArithSub(listSize, mkIntNum(1)) - val result = list.readElement(ctx, newSize) + val result = list.readElement(ctx, ind ?: newSize) ctx.curState!!.memory.writeArrayLength(list.address, newSize, ArrayType, intSort) return result } +} + +fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + return null + + return listPop(ctx, list) +} + +fun handlerListPopIndKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ind: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + return null + ind.addSupertype(ctx, ctx.typeSystem.pythonInt) + return listPop(ctx, list, ind.getIntContent(ctx)) +} + +fun handlerListInsertKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + ind: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + return + ind.addSupertype(ctx, ctx.typeSystem.pythonInt) + + with(ctx.ctx) { + val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) + val indValueRaw = ind.getIntContent(ctx) + val indValue = mkIte( + indValueRaw lt listSize, + indValueRaw, + listSize + ) + ctx.curState!!.symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) + list.writeElement(ctx, indValue, value) // to assert element constraints + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt index 7a7a5e8fc8..436d2a75ad 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ b/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -16,4 +16,10 @@ object ListPopDescriptor: MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { return ConcretePythonInterpreter.constructListPopMethod(owner) } +} + +object ListInsertDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListInsertMethod(owner) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9a47420796..121a3d39d0 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -36,13 +36,14 @@ private fun buildSampleRunConfig(): RunConfig { return 1 return 2 - def f(x: list): - assert x.pop() == 10 + def f(x: list, elem): + x.insert(0, elem) + assert x[0] == 239 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList), + listOf(typeSystem.pythonList, PythonAnyType), "f" ) val functions = listOf(function) @@ -56,7 +57,7 @@ private fun buildSampleRunConfig(): RunConfig { */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\dynamic_programming" + val projectPath = "D:\\projects\\Python\\sorts" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -141,9 +142,9 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, results, - maxIterations = 50, + maxIterations = 70, allowPathDiversion = true, - maxInstructions = 30_000, + maxInstructions = 50_000, timeoutPerRunMs = 5_000, timeoutMs = 20_000 ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 78b3624156..d71f3e0138 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -358,4 +358,33 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testPopUsageWithIndex() { + check1WithConcreteRun( + constructFunction("pop_usage_with_index", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "IndexError" }, + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testInsertUsage() { + check2WithConcreteRun( + constructFunction("insert_usage", listOf(typeSystem.pythonList, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, _, _ -> x.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 81925e3263..2fe617cb43 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -147,7 +147,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 150U) + options = UMachineOptions(stepLimit = 200U) timeoutPerRunMs = 3000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 1ce920536e..9550e716b3 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -187,4 +187,13 @@ def list_concat(x: list, y: list): def pop_usage(x: list): - assert x.pop() == 239 \ No newline at end of file + assert x.pop() == 239 + + +def pop_usage_with_index(x: list): + assert x.pop(5) == 239 + + +def insert_usage(x: list, elem): + x.insert(0, elem) + assert x[0] == 239 \ No newline at end of file From f67aac4861b2d5e458b91e2b06770a41941a20f9 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 4 Oct 2023 15:36:57 +0300 Subject: [PATCH 123/344] Create structure.md --- usvm-python/structure.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 usvm-python/structure.md diff --git a/usvm-python/structure.md b/usvm-python/structure.md new file mode 100644 index 0000000000..51c5c8044f --- /dev/null +++ b/usvm-python/structure.md @@ -0,0 +1,7 @@ +# Communication between CPython and USVM + +![usvm_scheme](https://github.com/UnitTestBot/usvm/assets/35286460/b55c69f6-b16a-4292-81e0-ea0836409399) + +## API that is provided by patched CPython + +See [API.md](usvm-python/API.md). From a0f3c0445acb81dfef0314918286a0a67e070d3c Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 5 Oct 2023 15:42:37 +0300 Subject: [PATCH 124/344] Started switching to annotation processing --- settings.gradle.kts | 4 + usvm-python/build.gradle.kts | 9 +- usvm-python/cpythonadapter/build.gradle.kts | 28 +- .../src/main/json/handler_defs.json | 392 ----------- usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../usvm-python-annotations/build.gradle.kts | 3 + .../annotations/CPythonAdapterJavaMethod.java | 12 + .../CPythonAdapterJavaMethodProcessor.kt | 40 ++ .../ConverterToJNITypeDescriptor.kt | 44 ++ .../codegeneration/GenerateDefinitions.kt | 27 + .../javax.annotation.processing.Processor | 1 + usvm-python/usvm-python-main/build.gradle.kts | 40 ++ .../org/usvm/interpreter/CPythonAdapter.java | 129 +++- .../usvm/interpreter/ConcolicRunContext.java | 0 .../usvm/interpreter/MemberDescriptor.java | 18 +- .../usvm/language/NamedSymbolForCPython.java | 22 +- .../org/usvm/language/SymbolForCPython.java | 1 - .../usvm/language/VirtualPythonObject.java | 0 .../kotlin/org/usvm/language/Callables.kt | 0 .../main/kotlin/org/usvm/language/Fields.kt | 0 .../kotlin/org/usvm/language/Instruction.kt | 0 .../main/kotlin/org/usvm/language/Program.kt | 0 .../usvm/language/types/ElementConstraints.kt | 0 .../org/usvm/language/types/TypeSystem.kt | 0 .../kotlin/org/usvm/language/types/Types.kt | 0 .../org/usvm/language/types/VirtualTypes.kt | 0 .../org/usvm/machine/PythonComponents.kt | 0 .../org/usvm/machine/PythonExecutionState.kt | 0 .../kotlin/org/usvm/machine/PythonMachine.kt | 0 .../usvm/machine/PythonVirtualPathSelector.kt | 0 .../kotlin/org/usvm/machine/UPythonContext.kt | 0 .../interpreters/ConcretePythonInterpreter.kt | 0 .../interpreters/SymbolicClonesOfGlobals.kt | 42 +- .../interpreters/USVMPythonInterpreter.kt | 11 +- .../machine/interpreters/operations/Common.kt | 0 .../interpreters/operations/Constants.kt | 0 .../interpreters/operations/Control.kt | 0 .../machine/interpreters/operations/Float.kt | 610 +++++++++--------- .../machine/interpreters/operations/List.kt | 1 - .../machine/interpreters/operations/Long.kt | 0 .../operations/MethodNotifications.kt | 0 .../machine/interpreters/operations/Range.kt | 0 .../machine/interpreters/operations/Slice.kt | 72 +-- .../machine/interpreters/operations/Tuple.kt | 0 .../interpreters/operations/Virtual.kt | 0 .../operations/descriptors/List.kt | 48 +- .../operations/descriptors/Slice.kt | 83 +-- .../operations/tracing/PathTracing.kt | 0 .../tracing/SymbolicHandlerEvent.kt | 1 - .../kotlin/org/usvm/machine/model/PyModel.kt | 0 .../usvm/machine/model/PythonMockEvaluator.kt | 0 .../ConverterToPythonObject.kt | 0 .../symbolicobjects/ObjectValidator.kt | 0 .../symbolicobjects/PreallocatedObjects.kt | 0 .../SymbolicObjectConstruction.kt | 2 - .../symbolicobjects/SymbolicObjectContents.kt | 0 .../symbolicobjects/SymbolicPythonObject.kt | 0 .../types/prioritization/Prioritization.kt | 0 .../types/prioritization/SymbolTypeTree.kt | 0 .../machine/utils/DefaultValueProvider.kt | 0 .../org/usvm/machine/utils/PyModelWrapper.kt | 0 .../machine/utils/PythonMachineStatistics.kt | 0 .../org/usvm/machine/utils/UHeapRefUtils.kt | 0 .../kotlin/org/usvm/utils/GlobalParameters.kt | 0 .../org/usvm/utils/PythonImportUtils.kt | 0 .../org/usvm/utils/PythonObjectSerializer.kt | 0 66 files changed, 736 insertions(+), 908 deletions(-) delete mode 100644 usvm-python/cpythonadapter/src/main/json/handler_defs.json create mode 100644 usvm-python/usvm-python-annotations/build.gradle.kts create mode 100644 usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonAdapterJavaMethod.java create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor create mode 100644 usvm-python/usvm-python-main/build.gradle.kts rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/interpreter/CPythonAdapter.java (81%) rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/interpreter/ConcolicRunContext.java (100%) rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/interpreter/MemberDescriptor.java (97%) rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/language/NamedSymbolForCPython.java (95%) rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/language/SymbolForCPython.java (95%) rename usvm-python/{ => usvm-python-main}/src/main/java/org/usvm/language/VirtualPythonObject.java (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/Callables.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/Fields.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/Instruction.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/Program.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/types/TypeSystem.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/types/Types.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/PythonComponents.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/PythonMachine.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/UPythonContext.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt (68%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt (97%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt (97%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt (99%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt (97%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt (97%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt (91%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt (97%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/model/PyModel.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt (99%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/utils/GlobalParameters.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt (100%) rename usvm-python/{ => usvm-python-main}/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt (100%) diff --git a/settings.gradle.kts b/settings.gradle.kts index 71833cab5f..e0ce74f3dd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,6 +10,10 @@ include("usvm-jvm-dataflow") include("usvm-python") include("usvm-python:cpythonadapter") findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" +include("usvm-python:usvm-python-annotations") +findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" +include("usvm-python:usvm-python-main") +findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" pluginManagement { resolutionStrategy { diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 625cd63c26..c5e43cbada 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -7,7 +7,6 @@ plugins { // from GRADLE_USER_HOME/gradle.properties val githubUser: String by project val githubToken: String by project // with permission to read packages -val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) repositories { maven { @@ -19,19 +18,15 @@ repositories { } } - dependencies { implementation(project(":usvm-core")) + implementation(project(":usvm-python:usvm-python-main")) implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") - implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") - implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") - implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") - implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") - testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } +val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) val samplesSourceDir = File(projectDir, "src/test/resources/samples") val samplesBuildDir = File(project.buildDir, "samples_build") val commonJVMArgs = listOf( diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index d79b0d2bbb..8307043eeb 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -156,37 +156,11 @@ tasks.register("testGenerateTask") { commandLine("echo", generateSymbolicAdapterMethods()) } -fun generateCPythonAdapterDefs(): String { - val handlerDefs by extra { - @Suppress("unchecked_cast") - JsonSlurper().parse(file("${projectDir.path}/src/main/json/handler_defs.json")) as List> - } - val jmethodIDMacro = handlerDefs.fold("#define HANDLERS_DEFS ") { acc, handler -> - acc + "jmethodID handle_${handler["c_name"]!!}; " - } - val nameMacros = handlerDefs.map { "#define handle_name_${it["c_name"]!!} \"${it["java_name"]!!}\"" } - val sigMacros = handlerDefs.map { "#define handle_sig_${it["c_name"]!!} \"${it["sig"]!!}\"" } - - val registrations = handlerDefs.fold("#define DO_REGISTRATIONS(dist, env) ") { acc, handler -> - val name = handler["c_name"]!! - acc + "dist->handle_$name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_$name, handle_sig_$name);" - } - - return """ - $jmethodIDMacro - ${nameMacros.joinToString("\n ")} - ${sigMacros.joinToString("\n ")} - $registrations - """.trimIndent() -} - val adapterHeaderPath = "${project.buildDir.path}/adapter_include" val headers = tasks.register("generateHeaders") { + dependsOn(":usvm-python:usvm-python-main:compileJava") File(adapterHeaderPath).mkdirs() - val fileForCPythonAdapterMethods = File("$adapterHeaderPath/CPythonAdapterMethods.h") - fileForCPythonAdapterMethods.createNewFile() - fileForCPythonAdapterMethods.writeText(generateCPythonAdapterDefs()) val fileForSymbolicAdapterMethods = File("$adapterHeaderPath/SymbolicAdapterMethods.h") fileForSymbolicAdapterMethods.createNewFile() fileForSymbolicAdapterMethods.writeText(generateSymbolicAdapterMethods()) diff --git a/usvm-python/cpythonadapter/src/main/json/handler_defs.json b/usvm-python/cpythonadapter/src/main/json/handler_defs.json deleted file mode 100644 index a17e20643e..0000000000 --- a/usvm-python/cpythonadapter/src/main/json/handler_defs.json +++ /dev/null @@ -1,392 +0,0 @@ -[ - { - "c_name": "instruction", - "java_name": "handlerInstruction", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" - }, - { - "c_name": "load_const", - "java_name": "handlerLoadConst", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "fork_notify", - "java_name": "handlerFork", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "gt_long", - "java_name": "handlerGTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "lt_long", - "java_name": "handlerLTLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "eq_long", - "java_name": "handlerEQLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "ne_long", - "java_name": "handlerNELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "le_long", - "java_name": "handlerLELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "ge_long", - "java_name": "handlerGELong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "add_long", - "java_name": "handlerADDLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "sub_long", - "java_name": "handlerSUBLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "mul_long", - "java_name": "handlerMULLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "div_long", - "java_name": "handlerDIVLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "rem_long", - "java_name": "handlerREMLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "pow_long", - "java_name": "handlerPOWLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "true_div_long", - "java_name": "handlerTrueDivLong", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "symbolic_int_cast", - "java_name": "handlerIntCast", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "symbolic_float_cast", - "java_name": "handlerFloatCast", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "gt_float", - "java_name": "handlerGTFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "lt_float", - "java_name": "handlerLTFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "eq_float", - "java_name": "handlerEQFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "ne_float", - "java_name": "handlerNEFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "le_float", - "java_name": "handlerLEFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "ge_float", - "java_name": "handlerGEFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "add_float", - "java_name": "handlerADDFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "sub_float", - "java_name": "handlerSUBFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "mul_float", - "java_name": "handlerMULFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "div_float", - "java_name": "handlerDIVFloat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "bool_and", - "java_name": "handlerAND", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "create_list", - "java_name": "handlerCreateList", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "create_tuple", - "java_name": "handlerCreateTuple", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_get_item", - "java_name": "handlerListGetItem", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "tuple_get_item", - "java_name": "handlerTupleGetItem", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_set_item", - "java_name": "handlerListSetItem", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "list_extend", - "java_name": "handlerListExtend", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_concat", - "java_name": "handlerListConcat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_inplace_concat", - "java_name": "handlerListInplaceConcat", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_append", - "java_name": "handlerListAppend", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_iter", - "java_name": "handlerListIter", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_iterator_next", - "java_name": "handlerListIteratorNext", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_pop", - "java_name": "handlerListPop", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_pop_ind", - "java_name": "handlerListPopInd", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_insert", - "java_name": "handlerListInsert", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "tuple_iter", - "java_name": "handlerTupleIter", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "tuple_iterator_next", - "java_name": "handlerTupleIteratorNext", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "symbolic_isinstance", - "java_name": "handlerIsinstance", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;J)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "fixate_type", - "java_name": "fixateType", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "function_call", - "java_name": "handlerFunctionCall", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" - }, - { - "c_name": "function_return", - "java_name": "handlerReturn", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;J)V" - }, - { - "c_name": "fork_result", - "java_name": "handlerForkResult", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Z)V" - }, - { - "c_name": "unpack", - "java_name": "handlerUnpack", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;I)V" - }, - { - "c_name": "is_op", - "java_name": "handlerIsOp", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "none_check", - "java_name": "handlerNoneCheck", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_bool", - "java_name": "notifyNbBool", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_int", - "java_name": "notifyNbInt", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_add", - "java_name": "notifyNbAdd", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_subtract", - "java_name": "notifyNbSubtract", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_multiply", - "java_name": "notifyNbMultiply", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "nb_matrix_multiply", - "java_name": "notifyNbMatrixMultiply", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "sq_length", - "java_name": "notifySqLength", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "mp_subscript", - "java_name": "notifyMpSubscript", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "mp_ass_subscript", - "java_name": "notifyMpAssSubscript", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "tp_richcompare", - "java_name": "notifyTpRichcmp", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;ILorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "tp_getattro", - "java_name": "notifyTpGetattro", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "tp_iter", - "java_name": "notifyTpIter", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)V" - }, - { - "c_name": "virtual_nb_bool", - "java_name": "virtualNbBool", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)Z" - }, - { - "c_name": "virtual_sq_length", - "java_name": "virtualSqLength", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/VirtualPythonObject;)I" - }, - { - "c_name": "virtual_call", - "java_name": "virtualCall", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;I)J" - }, - { - "c_name": "symbolic_virtual_unary_fun", - "java_name": "handlerVirtualUnaryFun", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "symbolic_virtual_binary_fun", - "java_name": "handlerVirtualBinaryFun", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "list_get_size", - "java_name": "handlerListGetSize", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "tuple_get_size", - "java_name": "handlerTupleGetSize", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "lost_symbolic_value", - "java_name": "lostSymbolicValue", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Ljava/lang/String;)V" - }, - { - "c_name": "create_range", - "java_name": "handlerCreateRange", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "create_slice", - "java_name": "handlerCreateSlice", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "range_iter", - "java_name": "handlerRangeIter", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "range_iterator_next", - "java_name": "handlerRangeIteratorNext", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - }, - { - "c_name": "standard_tp_getattro", - "java_name": "handlerStandardTpGetattro", - "sig": "(Lorg/usvm/interpreter/ConcolicRunContext;Lorg/usvm/language/SymbolForCPython;Lorg/usvm/language/SymbolForCPython;)Lorg/usvm/language/SymbolForCPython;" - } -] diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 121a3d39d0..06af637b66 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -21,8 +21,8 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } diff --git a/usvm-python/usvm-python-annotations/build.gradle.kts b/usvm-python/usvm-python-annotations/build.gradle.kts new file mode 100644 index 0000000000..5946ea8f6d --- /dev/null +++ b/usvm-python/usvm-python-annotations/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + id("usvm.kotlin-conventions") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonAdapterJavaMethod.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonAdapterJavaMethod.java new file mode 100644 index 0000000000..faba372541 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonAdapterJavaMethod.java @@ -0,0 +1,12 @@ +package org.usvm.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.SOURCE) +public @interface CPythonAdapterJavaMethod { + String cName(); +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt new file mode 100644 index 0000000000..dddc06f495 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -0,0 +1,40 @@ +package org.usvm.annotations + +import org.usvm.annotations.codegeneration.DefinitionDescriptor +import org.usvm.annotations.codegeneration.generateCPythonAdapterDefs +import java.io.File +import javax.annotation.processing.AbstractProcessor +import javax.annotation.processing.RoundEnvironment +import javax.annotation.processing.SupportedAnnotationTypes +import javax.annotation.processing.SupportedOptions +import javax.annotation.processing.SupportedSourceVersion +import javax.lang.model.SourceVersion +import javax.lang.model.element.TypeElement + +@SupportedAnnotationTypes("org.usvm.annotations.CPythonAdapterJavaMethod") +@SupportedOptions("headerPath") +@SupportedSourceVersion(SourceVersion.RELEASE_8) +class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { + private val converter = ConverterToJNITypeDescriptor() + + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + if (annotations.size != 1) + return false + val annotation = annotations.stream().findFirst().get() + val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val definitions = annotatedElements.map { element -> + val curAnnotation = element.getAnnotation(CPythonAdapterJavaMethod::class.java) + DefinitionDescriptor( + curAnnotation.cName, + element.simpleName.toString(), + converter.convert(element.asType()) + ) + } + val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val file = File(headerPath, "CPythonAdapterMethods.h") + val code = generateCPythonAdapterDefs(definitions) + file.writeText(code) + file.createNewFile() + return true + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt new file mode 100644 index 0000000000..1ba928588f --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt @@ -0,0 +1,44 @@ +package org.usvm.annotations + +import javax.lang.model.type.* +import javax.lang.model.util.SimpleTypeVisitor8 + +class ConverterToJNITypeDescriptor: SimpleTypeVisitor8() { + override fun visitPrimitive(t: PrimitiveType, unused: Void?): String { + val kind = t.kind + return when (kind) { + TypeKind.BOOLEAN -> "Z" + TypeKind.BYTE -> "B" + TypeKind.CHAR -> "C" + TypeKind.SHORT -> "S" + TypeKind.INT -> "I" + TypeKind.LONG -> "J" + TypeKind.FLOAT -> "F" + TypeKind.DOUBLE -> "D" + else -> error("Not reachable") + } + } + + override fun visitNoType(t: NoType?, unused: Void?) = "V" + + override fun visitArray(t: ArrayType, unused: Void?): String { + return "[" + visit(t.componentType) + } + + override fun visitDeclared(t: DeclaredType, unused: Void?): String { + return "L" + t.toString().replace('.', '/') + ";" + } + + override fun visitExecutable(t: ExecutableType, unused: Void?): String { + val builder = StringBuilder() + builder.append("(") + for (param in t.parameterTypes) { + builder.append(visit(param)) + } + builder.append(")") + builder.append(visit(t.returnType)) + return builder.toString() + } + + fun convert(t: TypeMirror?): String = visit(t) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt new file mode 100644 index 0000000000..ac4ced357d --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt @@ -0,0 +1,27 @@ +package org.usvm.annotations.codegeneration + +data class DefinitionDescriptor( + val cName: String, + val javaName: String, + val javaSignature: String +) + +fun generateCPythonAdapterDefs(defs: List): String { + val jmethodIDMacro = defs.fold("#define HANDLERS_DEFS ") { acc, def -> + acc + "jmethodID handle_${def.cName}; " + } + val nameMacros = defs.map { "#define handle_name_${it.cName} \"${it.javaName}\"" } + val sigMacros = defs.map { "#define handle_sig_${it.cName} \"${it.javaSignature}\"" } + + val registrations = defs.fold("#define DO_REGISTRATIONS(dist, env) ") { acc, def -> + val name = def.cName + acc + "dist->handle_$name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_$name, handle_sig_$name);" + } + + return """ + $jmethodIDMacro + ${nameMacros.joinToString("\n ")} + ${sigMacros.joinToString("\n ")} + $registrations + """.trimIndent() +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor new file mode 100644 index 0000000000..e91de15442 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor @@ -0,0 +1 @@ +org.usvm.annotations.CPythonAdapterJavaMethodProcessor \ No newline at end of file diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts new file mode 100644 index 0000000000..238601a017 --- /dev/null +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -0,0 +1,40 @@ +plugins { + id("usvm.kotlin-conventions") +} + +val headerPath = File(parent!!.childProjects["cpythonadapter"]!!.buildDir, "adapter_include") + +tasks.compileJava { + // to suppress "No processor claimed any of these annotations: org.jetbrains.annotations.Nullable,org.jetbrains.annotations.NotNull" + options.compilerArgs.add("-Xlint:-processing") + options.compilerArgs.add("-AheaderPath=${headerPath.canonicalPath}") +} + +// from GRADLE_USER_HOME/gradle.properties +val githubUser: String by project +val githubToken: String by project // with permission to read packages + +repositories { + maven { + url = uri("https://maven.pkg.github.com/tochilinak/UTBotJava") + credentials { + username = githubUser + password = githubToken + } + } +} + +dependencies { + implementation(project(":usvm-core")) + implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) + annotationProcessor(project(":usvm-python:usvm-python-annotations")) + + implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") + + implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") + implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") + implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") + implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") + + testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") +} \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java similarity index 81% rename from usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3b9a7caa70..dee1ee9d13 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,12 +3,13 @@ import kotlin.Unit; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.usvm.annotations.CPythonAdapterJavaMethod; +import org.usvm.language.*; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; import org.usvm.machine.interpreters.operations.descriptors.*; import org.usvm.machine.interpreters.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; -import org.usvm.language.*; import java.util.Arrays; import java.util.Collections; @@ -25,8 +26,6 @@ import static org.usvm.machine.interpreters.operations.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.TupleKt.*; import static org.usvm.machine.interpreters.operations.VirtualKt.*; -import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.handlerForkResultKt; -import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -101,12 +100,13 @@ public class CPythonAdapter { System.loadLibrary("cpythonadapter"); } + @CPythonAdapterJavaMethod(cName = "instruction") public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); long functionRef = getFunctionFromFrame(frameRef); PythonObject function = new PythonObject(functionRef); - withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); + PathTracingKt.withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); } private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { @@ -120,7 +120,7 @@ private static SymbolForCPython methodWrapper( SymbolicHandlerEventParameters params, Callable valueSupplier ) { - return withTracing( + return PathTracingKt.withTracing( context, params, () -> { @@ -138,309 +138,358 @@ private static Callable unit(Runnable function) { }; } + @CPythonAdapterJavaMethod(cName = "load_const") public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); - return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); + return PathTracingKt.withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); } + @CPythonAdapterJavaMethod(cName = "fork_notify") public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { if (cond.obj == null) return; - withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); + PathTracingKt.withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } + @CPythonAdapterJavaMethod(cName = "fork_result") public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { - handlerForkResultKt(context, cond, result); + PathTracingKt.handlerForkResultKt(context, cond, result); } + @CPythonAdapterJavaMethod(cName = "unpack") public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython iterable, int count) { if (iterable.obj == null) return; - withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); + PathTracingKt.withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); } + @CPythonAdapterJavaMethod(cName = "is_op") public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return; - withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); + PathTracingKt.withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } + @CPythonAdapterJavaMethod(cName = "none_check") public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython on) { if (on.obj == null) return; - withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); + PathTracingKt.withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); } + @CPythonAdapterJavaMethod(cName = "gt_long") public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("gt_long", Arrays.asList(left, right)), () -> handlerGTLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "lt_long") public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("lt_long", Arrays.asList(left, right)), () -> handlerLTLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "eq_long") public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("eq_long", Arrays.asList(left, right)), () -> handlerEQLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "ne_long") public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("ne_long", Arrays.asList(left, right)), () -> handlerNELongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "ge_long") public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("ge_long", Arrays.asList(left, right)), () -> handlerGELongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "le_long") public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("le_long", Arrays.asList(left, right)), () -> handlerLELongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "add_long") public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("add_long", Arrays.asList(left, right)), () -> handlerADDLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "sub_long") public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("sub_long", Arrays.asList(left, right)), () -> handlerSUBLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "mul_long") public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("mul_long", Arrays.asList(left, right)), () -> handlerMULLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "div_long") public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("div_long", Arrays.asList(left, right)), () -> handlerDIVLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "rem_long") public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "pow_long") public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "true_div_long") public static SymbolForCPython handlerTrueDivLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("true_div_long", Arrays.asList(left, right)), () -> handlerTrueDivLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "symbolic_int_cast") public static SymbolForCPython handlerIntCast(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; return methodWrapper(context, new MethodParameters("int_cast", Collections.singletonList(obj)), () -> handlerIntCastKt(context, obj.obj)); } + @CPythonAdapterJavaMethod(cName = "gt_float") public static SymbolForCPython handlerGTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("gt_float", Arrays.asList(left, right)), () -> handlerGTFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "lt_float") public static SymbolForCPython handlerLTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("lt_float", Arrays.asList(left, right)), () -> handlerLTFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "eq_float") public static SymbolForCPython handlerEQFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("eq_float", Arrays.asList(left, right)), () -> handlerEQFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "ne_float") public static SymbolForCPython handlerNEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("ne_float", Arrays.asList(left, right)), () -> handlerNEFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "ge_float") public static SymbolForCPython handlerGEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("ge_float", Arrays.asList(left, right)), () -> handlerGEFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "le_float") public static SymbolForCPython handlerLEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("le_float", Arrays.asList(left, right)), () -> handlerLEFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "add_float") public static SymbolForCPython handlerADDFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("add_float", Arrays.asList(left, right)), () -> handlerADDFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "sub_float") public static SymbolForCPython handlerSUBFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("sub_float", Arrays.asList(left, right)), () -> handlerSUBFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "mul_float") public static SymbolForCPython handlerMULFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("mul_float", Arrays.asList(left, right)), () -> handlerMULFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "div_float") public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("div_float", Arrays.asList(left, right)), () -> handlerDIVFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "symbolic_float_cast") public static SymbolForCPython handlerFloatCast(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; return methodWrapper(context, new MethodParameters("float_cast", Collections.singletonList(obj)), () -> handlerFloatCastKt(context, obj.obj)); } + @CPythonAdapterJavaMethod(cName = "bool_and") public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("bool_and", Arrays.asList(left, right)), () -> handlerAndKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "create_list") public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; ListCreation event = new ListCreation(Arrays.asList(elements)); - return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } + @CPythonAdapterJavaMethod(cName = "create_tuple") public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, SymbolForCPython[] elements) { if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; TupleCreation event = new TupleCreation(Arrays.asList(elements)); - return withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); } + @CPythonAdapterJavaMethod(cName = "create_range") public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { if (start.obj == null || stop.obj == null || step.obj == null) return null; MethodParameters event = new MethodParameters("create_range", Arrays.asList(start, stop, step)); - return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); + return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); } - @Nullable - public static SymbolForCPython handlerCreateSlice(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython start, @NotNull SymbolForCPython stop, @NotNull SymbolForCPython step) { + @CPythonAdapterJavaMethod(cName = "create_slice") + public static SymbolForCPython handlerCreateSlice(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { if (start.obj == null || stop.obj == null || step.obj == null) return null; MethodParameters event = new MethodParameters("create_slice", Arrays.asList(start, stop, step)); - return withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); + return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); } + @CPythonAdapterJavaMethod(cName = "range_iter") public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, SymbolForCPython range) { if (range.obj == null) return null; return methodWrapper(context, new MethodParameters("range_iter", Collections.singletonList(range)), () -> handlerRangeIterKt(context, range.obj)); } + @CPythonAdapterJavaMethod(cName = "range_iterator_next") public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext context, SymbolForCPython rangeIterator) { if (rangeIterator.obj == null) return null; return methodWrapper(context, new MethodParameters("range_iterator_next", Collections.singletonList(rangeIterator)), () -> handlerRangeIteratorNextKt(context, rangeIterator.obj)); } + @CPythonAdapterJavaMethod(cName = "list_get_item") public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { if (list.obj == null || index.obj == null) return null; return methodWrapper(context, new MethodParameters("list_get_item", Arrays.asList(list, index)), () -> handlerListGetItemKt(context, list.obj, index.obj)); } + @CPythonAdapterJavaMethod(cName = "list_extend") public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { if (list.obj == null || tuple.obj == null) return null; return methodWrapper(context, new MethodParameters("list_extend", Arrays.asList(list, tuple)), () -> handlerListExtendKt(context, list.obj, tuple.obj)); } + @CPythonAdapterJavaMethod(cName = "list_concat") public static SymbolForCPython handlerListConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("list_concat", Arrays.asList(left, right)), () -> handlerListConcatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "list_inplace_concat") public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("list_inplace_concat", Arrays.asList(left, right)), () -> handlerListInplaceConcatKt(context, left.obj, right.obj)); } - @Nullable - public static SymbolForCPython handlerListAppend(ConcolicRunContext context, @NotNull SymbolForCPython list, SymbolForCPython elem) { + @CPythonAdapterJavaMethod(cName = "list_append") + public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { if (list.obj == null || elem.obj == null) return null; return methodWrapper(context, new MethodParameters("list_append", Arrays.asList(list, elem)), () -> handlerListAppendKt(context, list.obj, elem.obj)); } + @CPythonAdapterJavaMethod(cName = "list_set_item") public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; - withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + PathTracingKt.withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } + @CPythonAdapterJavaMethod(cName = "list_get_size") public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; return methodWrapper(context, new MethodParameters("list_get_size", Collections.singletonList(list)), () -> handlerListGetSizeKt(context, list.obj)); } + @CPythonAdapterJavaMethod(cName = "list_iter") public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; return methodWrapper(context, new MethodParameters("list_iter", Collections.singletonList(list)), () -> handlerListIterKt(context, list.obj)); } + @CPythonAdapterJavaMethod(cName = "list_iterator_next") public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { if (iterator.obj == null) return null; return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } + @CPythonAdapterJavaMethod(cName = "list_pop") public static SymbolForCPython handlerListPop(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; return methodWrapper(context, new MethodParameters("list_pop", Collections.singletonList(list)), () -> handlerListPopKt(context, list.obj)); } + @CPythonAdapterJavaMethod(cName = "list_pop_ind") public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython ind) { if (list.obj == null || ind.obj == null) return null; return methodWrapper(context, new MethodParameters("list_pop", Arrays.asList(list, ind)), () -> handlerListPopIndKt(context, list.obj, ind.obj)); } + @CPythonAdapterJavaMethod(cName = "list_insert") public static void handlerListInsert(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; - withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); + PathTracingKt.withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); } + @CPythonAdapterJavaMethod(cName = "tuple_get_size") @Nullable public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @NotNull SymbolForCPython tuple) { if (tuple.obj == null) @@ -448,57 +497,66 @@ public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @ return methodWrapper(context, new MethodParameters("tuple_get_size", Collections.singletonList(tuple)), () -> handlerTupleGetSizeKt(context, tuple.obj)); } + @CPythonAdapterJavaMethod(cName = "tuple_get_item") public static SymbolForCPython handlerTupleGetItem(ConcolicRunContext context, SymbolForCPython tuple, SymbolForCPython index) { if (tuple.obj == null || index.obj == null) return null; return methodWrapper(context, new MethodParameters("tuple_get_item", Arrays.asList(tuple, index)), () -> handlerTupleGetItemKt(context, tuple.obj, index.obj)); } + @CPythonAdapterJavaMethod(cName = "tuple_iter") public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, SymbolForCPython tuple) { if (tuple.obj == null) return null; return methodWrapper(context, new MethodParameters("tuple_iter", Collections.singletonList(tuple)), () -> handlerTupleIterKt(context, tuple.obj)); } + @CPythonAdapterJavaMethod(cName = "tuple_iterator_next") public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { if (iterator.obj == null) return null; return methodWrapper(context, new MethodParameters("tuple_iterator_next", Collections.singletonList(iterator)), () -> handlerTupleIteratorNextKt(context, iterator.obj)); } + @CPythonAdapterJavaMethod(cName = "function_call") public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { PythonObject code = new PythonObject(codeRef); - withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); + PathTracingKt.withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); } + @CPythonAdapterJavaMethod(cName = "function_return") public static void handlerReturn(ConcolicRunContext context, long codeRef) { - withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); + PathTracingKt.withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); } + @CPythonAdapterJavaMethod(cName = "symbolic_virtual_unary_fun") public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; return methodWrapper(context, new MethodParameters("virtual_unary_fun", Collections.singletonList(obj)), () -> virtualCallSymbolKt(context)); } + @CPythonAdapterJavaMethod(cName = "symbolic_virtual_binary_fun") public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } - @Nullable - public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, @NotNull SymbolForCPython obj, long typeRef) { + @CPythonAdapterJavaMethod(cName = "symbolic_isinstance") + public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { if (obj.obj == null) return null; PythonObject type = new PythonObject(typeRef); return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); } + @CPythonAdapterJavaMethod(cName = "fixate_type") public static void fixateType(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython obj) { if (obj.obj == null) return; fixateTypeKt(context, obj.obj); } + @CPythonAdapterJavaMethod(cName = "nb_bool") public static void notifyNbBool(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { if (symbol.obj == null) return; @@ -506,6 +564,7 @@ public static void notifyNbBool(@NotNull ConcolicRunContext context, @NotNull Sy nbBoolKt(context, symbol.obj); } + @CPythonAdapterJavaMethod(cName = "nb_int") public static void notifyNbInt(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { if (symbol.obj == null) return; @@ -513,6 +572,7 @@ public static void notifyNbInt(@NotNull ConcolicRunContext context, @NotNull Sym nbIntKt(context, symbol.obj); } + @CPythonAdapterJavaMethod(cName = "nb_add") public static void notifyNbAdd(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { if (left.obj == null || right.obj == null) return; @@ -520,6 +580,7 @@ public static void notifyNbAdd(@NotNull ConcolicRunContext context, @NotNull Sym nbAddKt(context, left.obj, right.obj); } + @CPythonAdapterJavaMethod(cName = "nb_subtract") public static void notifyNbSubtract(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { if (left.obj == null) return; @@ -527,6 +588,7 @@ public static void notifyNbSubtract(@NotNull ConcolicRunContext context, @NotNul nbSubtractKt(context, left.obj); } + @CPythonAdapterJavaMethod(cName = "nb_multiply") public static void notifyNbMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { if (left.obj == null || right.obj == null) return; @@ -534,6 +596,7 @@ public static void notifyNbMultiply(@NotNull ConcolicRunContext context, @NotNul nbMultiplyKt(context, left.obj, right.obj); } + @CPythonAdapterJavaMethod(cName = "nb_matrix_multiply") public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { if (left.obj == null) return; @@ -541,6 +604,7 @@ public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, @ nbMatrixMultiplyKt(context, left.obj); } + @CPythonAdapterJavaMethod(cName = "sq_length") public static void notifySqLength(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { if (on.obj == null) return; @@ -548,6 +612,7 @@ public static void notifySqLength(@NotNull ConcolicRunContext context, @NotNull sqLengthKt(context, on.obj); } + @CPythonAdapterJavaMethod(cName = "mp_subscript") public static void notifyMpSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item) { if (storage.obj == null) return; @@ -555,6 +620,7 @@ public static void notifyMpSubscript(@NotNull ConcolicRunContext context, @NotNu mpSubscriptKt(context, storage.obj); } + @CPythonAdapterJavaMethod(cName = "mp_ass_subscript") public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { if (storage.obj == null) return; @@ -562,6 +628,7 @@ public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @No mpAssSubscriptKt(context, storage.obj); } + @CPythonAdapterJavaMethod(cName = "tp_richcompare") public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { if (left.obj == null) return; @@ -569,6 +636,7 @@ public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, tpRichcmpKt(context, left.obj); } + @CPythonAdapterJavaMethod(cName = "tp_getattro") public static void notifyTpGetattro(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on, @NotNull SymbolForCPython name) { if (on.obj == null || name.obj == null) return; @@ -576,6 +644,7 @@ public static void notifyTpGetattro(@NotNull ConcolicRunContext context, @NotNul tpGetattroKt(context, on.obj, name.obj); } + @CPythonAdapterJavaMethod(cName = "tp_iter") public static void notifyTpIter(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { if (on.obj == null) return; @@ -583,29 +652,33 @@ public static void notifyTpIter(@NotNull ConcolicRunContext context, @NotNull Sy tpIterKt(context, on.obj); } + @CPythonAdapterJavaMethod(cName = "virtual_nb_bool") public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); } + @CPythonAdapterJavaMethod(cName = "virtual_sq_length") public static int virtualSqLength(ConcolicRunContext context, VirtualPythonObject obj) { return virtualSqLengthKt(context, obj); } - public static long virtualCall(@NotNull ConcolicRunContext context, int owner) { + @CPythonAdapterJavaMethod(cName = "virtual_call") + public static long virtualCall(ConcolicRunContext context, int owner) { if (context.curOperation != null && owner != -1) { context.curOperation.setMethodOwner(context.curOperation.getArgs().get(owner)); } return virtualCallKt(context).getAddress(); } + @CPythonAdapterJavaMethod(cName = "lost_symbolic_value") public static void lostSymbolicValue(ConcolicRunContext context, String description) { lostSymbolicValueKt(context, description); } - @Nullable + @CPythonAdapterJavaMethod(cName = "standard_tp_getattro") public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext context, @NotNull SymbolForCPython obj, SymbolForCPython name) { if (obj.obj == null || name.obj == null) return null; - return withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); + return PathTracingKt.withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); } } diff --git a/usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java similarity index 100% rename from usvm-python/src/main/java/org/usvm/interpreter/ConcolicRunContext.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java diff --git a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java similarity index 97% rename from usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java index bc3192187b..e3cba8ce41 100644 --- a/usvm-python/src/main/java/org/usvm/interpreter/MemberDescriptor.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java @@ -1,10 +1,10 @@ -package org.usvm.interpreter; - -import org.jetbrains.annotations.Nullable; -import org.usvm.language.SymbolForCPython; -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; - -public abstract class MemberDescriptor { - @Nullable - public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); +package org.usvm.interpreter; + +import org.jetbrains.annotations.Nullable; +import org.usvm.language.SymbolForCPython; +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; + +public abstract class MemberDescriptor { + @Nullable + public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); } \ No newline at end of file diff --git a/usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java similarity index 95% rename from usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java index d2700b3dbd..f2acd7d4fd 100644 --- a/usvm-python/src/main/java/org/usvm/language/NamedSymbolForCPython.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java @@ -1,11 +1,11 @@ -package org.usvm.language; - -public class NamedSymbolForCPython { - public SymbolForCPython symbol; - public String name; - - public NamedSymbolForCPython(String name, SymbolForCPython symbol) { - this.symbol = symbol; - this.name = name; - } -} +package org.usvm.language; + +public class NamedSymbolForCPython { + public SymbolForCPython symbol; + public String name; + + public NamedSymbolForCPython(String name, SymbolForCPython symbol) { + this.symbol = symbol; + this.name = name; + } +} diff --git a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java similarity index 95% rename from usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java index 41e3d0a186..76d30b136c 100644 --- a/usvm-python/src/main/java/org/usvm/language/SymbolForCPython.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java @@ -1,7 +1,6 @@ package org.usvm.language; import org.jetbrains.annotations.Nullable; -import org.usvm.interpreter.MemberDescriptor; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; public class SymbolForCPython { diff --git a/usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java similarity index 100% rename from usvm-python/src/main/java/org/usvm/language/VirtualPythonObject.java rename to usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/Callables.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Fields.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/Fields.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Fields.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/Instruction.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/Program.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/types/TypeSystem.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/types/Types.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonComponents.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonMachine.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/UPythonContext.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/UPythonContext.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/UPythonContext.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt similarity index 68% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index e1ccbe1a61..00062e33e6 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -1,21 +1,23 @@ -package org.usvm.machine.interpreters - -import org.usvm.language.NamedSymbolForCPython -import org.usvm.language.SymbolForCPython - -object SymbolicClonesOfGlobals { - private val clonesMap: MutableMap = mutableMapOf() - - fun restart() { - clonesMap.clear() - clonesMap["int"] = SymbolForCPython(null, ConcretePythonInterpreter.intConstructorRef) - clonesMap["float"] = SymbolForCPython(null, ConcretePythonInterpreter.floatConstructorRef) - } - - init { - restart() - } - - fun getNamedSymbols(): Array = - clonesMap.map { NamedSymbolForCPython(it.key, it.value) }.toTypedArray() +package org.usvm.machine.interpreters + +import org.usvm.language.NamedSymbolForCPython +import org.usvm.language.SymbolForCPython + +object SymbolicClonesOfGlobals { + private val clonesMap: MutableMap = mutableMapOf() + + fun restart() { + clonesMap.clear() + clonesMap["int"] = + SymbolForCPython(null, ConcretePythonInterpreter.intConstructorRef) + clonesMap["float"] = + SymbolForCPython(null, ConcretePythonInterpreter.floatConstructorRef) + } + + init { + restart() + } + + fun getNamedSymbols(): Array = + clonesMap.map { NamedSymbolForCPython(it.key, it.value) }.toTypedArray() } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 37c3c6d2a7..29ee743a40 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -14,7 +14,6 @@ import org.usvm.machine.* import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModel -import org.usvm.machine.utils.MethodDescription import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.utils.PythonObjectSerializer @@ -70,7 +69,15 @@ class USVMPythonInterpreter( PyModelHolder(state.pyModel) val start = System.currentTimeMillis() val concolicRunContext = - ConcolicRunContext(state, ctx, modelHolder, typeSystem, allowPathDiversion, statistics, maxInstructions) { + ConcolicRunContext( + state, + ctx, + modelHolder, + typeSystem, + allowPathDiversion, + statistics, + maxInstructions + ) { isCancelled(start) // timeoutPerRunMs?.let { System.currentTimeMillis() - start > timeoutPerRunMs } ?: false } diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt index dae3ab5765..243c18e93c 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt @@ -1,306 +1,306 @@ -package org.usvm.machine.interpreters.operations - -import org.usvm.UBoolExpr -import org.usvm.UExpr -import org.usvm.USort -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* - -private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { - mkIte( - right.isNan or left.isNan, - falseExpr, - mkIte( - left.isInf, - mkIte( - right.isInf, - left.infSign and right.infSign.not(), // (left is inf) && (right is inf) - left.infSign // (left is inf) && !(right is inf) - ), - mkIte( - right.isInf, - right.infSign.not(), // !(left is inf) && (right is inf) - left.realValue gt right.realValue // !(left is inf) && !(right is inf) - ) - ) - ) -} - -private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { - mkIte( - right.isNan or left.isNan, - falseExpr, - mkIte( - right.isInf or left.isInf, - (right.isInf eq left.isInf) and (right.infSign eq left.infSign), - left.realValue eq right.realValue - ) - ) -} - -fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - val boolExpr: UBoolExpr = gtFloat(ctx, left, right) - return constructBool(ctx, boolExpr) -} - -fun handlerLTFloatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - handlerGTFloatKt(ctx, right, left) - -fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - return constructBool(ctx, eqFloat(ctx, left, right)) -} - - -fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - return constructBool(ctx, ctx.ctx.mkNot(eqFloat(ctx, left, right))) -} - - -fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - return constructBool(ctx, ctx.ctx.mkOr(eqFloat(ctx, left, right), gtFloat(ctx, left, right))) -} - -fun handlerLEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject) = - handlerGEFloatKt(ctx, rightObj, leftObj) - - -private fun constructAddExprComponent( - ctx: ConcolicRunContext, - left: FloatUninterpretedContent, - right: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr -): UExpr = - with(ctx.ctx) { - mkIte( - left.isNan or right.isNan, - projection(mkUninterpretedNan(this)), - mkIte( - left.isInf, - mkIte( - right.isInf, - mkIte( - left.infSign neq right.infSign, - projection(mkUninterpretedNan(this)), - projection(mkUninterpretedSignedInfinity(this, left.infSign)) - ), - projection(left) - ), - mkIte( - right.isInf, - projection(right), - projection(mkUninterpretedFloatWithValue(this, mkArithAdd(left.realValue, right.realValue))) - ) - ) - ) - } - -private fun constructAddExpr( - ctx: ConcolicRunContext, - left: FloatUninterpretedContent, - right: FloatUninterpretedContent -): FloatUninterpretedContent = - FloatUninterpretedContent( - constructAddExprComponent(ctx, left, right) { it.isNan }, - constructAddExprComponent(ctx, left, right) { it.isInf }, - constructAddExprComponent(ctx, left, right) { it.infSign }, - constructAddExprComponent(ctx, left, right) { it.realValue } - ) - -private fun constructNegExprComponent( - ctx: ConcolicRunContext, - value: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr -): UExpr = - with(ctx.ctx) { - mkIte( - value.isNan, - projection(mkUninterpretedNan(this)), - mkIte( - value.isInf, - projection(mkUninterpretedSignedInfinity(this, value.infSign.not())), - projection(mkUninterpretedFloatWithValue(this, mkArithUnaryMinus(value.realValue))) - ) - ) - } - -private fun constructNegExpr( - ctx: ConcolicRunContext, - value: FloatUninterpretedContent -): FloatUninterpretedContent = - FloatUninterpretedContent( - constructNegExprComponent(ctx, value) { it.isNan }, - constructNegExprComponent(ctx, value) { it.isInf }, - constructNegExprComponent(ctx, value) { it.infSign }, - constructNegExprComponent(ctx, value) { it.realValue } - ) - -private fun constructMulExprComponent( - ctx: ConcolicRunContext, - left: FloatUninterpretedContent, - right: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr -): UExpr = - with(ctx.ctx) { - mkIte( - left.isNan or right.isNan, - projection(mkUninterpretedNan(this)), - mkIte( - left.isInf, - mkIte( - right.isInf, - projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor right.infSign.not()).not())), - mkIte( - right.realValue eq mkRealNum(0), - projection(mkUninterpretedNan(this)), - projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor (right.realValue lt mkRealNum(0))).not())) - ) - ), - mkIte( - right.isInf, - mkIte( - left.realValue eq mkRealNum(0), - projection(mkUninterpretedNan(this)), - projection(mkUninterpretedSignedInfinity(this, (right.infSign.not() xor (left.realValue lt mkRealNum(0))).not())) - ), - projection(mkUninterpretedFloatWithValue(this, mkArithMul(left.realValue, right.realValue))) - ) - ) - ) - } - -private fun constructMulExpr( - ctx: ConcolicRunContext, - left: FloatUninterpretedContent, - right: FloatUninterpretedContent -): FloatUninterpretedContent = - FloatUninterpretedContent( - constructMulExprComponent(ctx, left, right) { it.isNan }, - constructMulExprComponent(ctx, left, right) { it.isInf }, - constructMulExprComponent(ctx, left, right) { it.infSign }, - constructMulExprComponent(ctx, left, right) { it.realValue } - ) - -private fun constructReverseExprComponent( - ctx: ConcolicRunContext, - value: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr -): UExpr = - with(ctx.ctx) { - mkIte( - value.isNan, - projection(mkUninterpretedNan(this)), - mkIte( - value.isInf, - projection(mkUninterpretedFloatWithValue(this, mkRealNum(0))), - projection(mkUninterpretedFloatWithValue(this, mkArithDiv(mkRealNum(1), value.realValue))) - ) - ) - } - -private fun constructReverseExpr( - ctx: ConcolicRunContext, - value: FloatUninterpretedContent -): FloatUninterpretedContent = - FloatUninterpretedContent( - constructReverseExprComponent(ctx, value) { it.isNan }, - constructReverseExprComponent(ctx, value) { it.isInf }, - constructReverseExprComponent(ctx, value) { it.infSign }, - constructReverseExprComponent(ctx, value) { it.realValue } - ) - -fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - val floatValue = constructAddExpr(ctx, left, right) - return constructFloat(ctx, floatValue) -} - - -fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - val floatValue = constructAddExpr(ctx, left, constructNegExpr(ctx, right)) - return constructFloat(ctx, floatValue) -} - -fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - val floatValue = constructMulExpr(ctx, left, right) - return constructFloat(ctx, floatValue) -} - -fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val left = leftObj.getToFloatContent(ctx) ?: return null - val right = rightObj.getToFloatContent(ctx) ?: return null - myFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) - val floatValue = constructMulExpr(ctx, left, constructReverseExpr(ctx, right)) - return constructFloat(ctx, floatValue) -} - -fun castFloatToInt( - ctx: ConcolicRunContext, - float: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) - val value = float.getFloatContent(ctx) - myFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) - if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) - return null - val intValue = ctx.ctx.mkRealToInt(value.realValue) - return constructInt(ctx, intValue) -} - -private fun strToFloat(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) - val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null - if (str == "inf" || str == "infinity") - return constructFloat(ctx, mkUninterpretedPlusInfinity(ctx.ctx)) - if (str == "-inf" || str == "-infinity") - return constructFloat(ctx, mkUninterpretedMinusInfinity(ctx.ctx)) - return null -} - -fun handlerFloatCastKt( - ctx: ConcolicRunContext, - arg: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val typeSystem = ctx.typeSystem - val type = arg.getTypeIfDefined(ctx) ?: return null - return when (type) { - typeSystem.pythonBool, typeSystem.pythonInt -> { - val realValue = ctx.ctx.intToFloat(arg.getToIntContent(ctx)!!) - constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, realValue)) - } - typeSystem.pythonFloat -> arg - typeSystem.pythonStr -> strToFloat(ctx, arg) - else -> null - } +package org.usvm.machine.interpreters.operations + +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.USort +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.machine.symbolicobjects.* + +private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { + mkIte( + right.isNan or left.isNan, + falseExpr, + mkIte( + left.isInf, + mkIte( + right.isInf, + left.infSign and right.infSign.not(), // (left is inf) && (right is inf) + left.infSign // (left is inf) && !(right is inf) + ), + mkIte( + right.isInf, + right.infSign.not(), // !(left is inf) && (right is inf) + left.realValue gt right.realValue // !(left is inf) && !(right is inf) + ) + ) + ) +} + +private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { + mkIte( + right.isNan or left.isNan, + falseExpr, + mkIte( + right.isInf or left.isInf, + (right.isInf eq left.isInf) and (right.infSign eq left.infSign), + left.realValue eq right.realValue + ) + ) +} + +fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val boolExpr: UBoolExpr = gtFloat(ctx, left, right) + return constructBool(ctx, boolExpr) +} + +fun handlerLTFloatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + handlerGTFloatKt(ctx, right, left) + +fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, eqFloat(ctx, left, right)) +} + + +fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, ctx.ctx.mkNot(eqFloat(ctx, left, right))) +} + + +fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + return constructBool(ctx, ctx.ctx.mkOr(eqFloat(ctx, left, right), gtFloat(ctx, left, right))) +} + +fun handlerLEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject) = + handlerGEFloatKt(ctx, rightObj, leftObj) + + +private fun constructAddExprComponent( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + left.isNan or right.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + left.isInf, + mkIte( + right.isInf, + mkIte( + left.infSign neq right.infSign, + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, left.infSign)) + ), + projection(left) + ), + mkIte( + right.isInf, + projection(right), + projection(mkUninterpretedFloatWithValue(this, mkArithAdd(left.realValue, right.realValue))) + ) + ) + ) + } + +private fun constructAddExpr( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructAddExprComponent(ctx, left, right) { it.isNan }, + constructAddExprComponent(ctx, left, right) { it.isInf }, + constructAddExprComponent(ctx, left, right) { it.infSign }, + constructAddExprComponent(ctx, left, right) { it.realValue } + ) + +private fun constructNegExprComponent( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + value.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + value.isInf, + projection(mkUninterpretedSignedInfinity(this, value.infSign.not())), + projection(mkUninterpretedFloatWithValue(this, mkArithUnaryMinus(value.realValue))) + ) + ) + } + +private fun constructNegExpr( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructNegExprComponent(ctx, value) { it.isNan }, + constructNegExprComponent(ctx, value) { it.isInf }, + constructNegExprComponent(ctx, value) { it.infSign }, + constructNegExprComponent(ctx, value) { it.realValue } + ) + +private fun constructMulExprComponent( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + left.isNan or right.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + left.isInf, + mkIte( + right.isInf, + projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor right.infSign.not()).not())), + mkIte( + right.realValue eq mkRealNum(0), + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor (right.realValue lt mkRealNum(0))).not())) + ) + ), + mkIte( + right.isInf, + mkIte( + left.realValue eq mkRealNum(0), + projection(mkUninterpretedNan(this)), + projection(mkUninterpretedSignedInfinity(this, (right.infSign.not() xor (left.realValue lt mkRealNum(0))).not())) + ), + projection(mkUninterpretedFloatWithValue(this, mkArithMul(left.realValue, right.realValue))) + ) + ) + ) + } + +private fun constructMulExpr( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructMulExprComponent(ctx, left, right) { it.isNan }, + constructMulExprComponent(ctx, left, right) { it.isInf }, + constructMulExprComponent(ctx, left, right) { it.infSign }, + constructMulExprComponent(ctx, left, right) { it.realValue } + ) + +private fun constructReverseExprComponent( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent, + projection: (FloatUninterpretedContent) -> UExpr +): UExpr = + with(ctx.ctx) { + mkIte( + value.isNan, + projection(mkUninterpretedNan(this)), + mkIte( + value.isInf, + projection(mkUninterpretedFloatWithValue(this, mkRealNum(0))), + projection(mkUninterpretedFloatWithValue(this, mkArithDiv(mkRealNum(1), value.realValue))) + ) + ) + } + +private fun constructReverseExpr( + ctx: ConcolicRunContext, + value: FloatUninterpretedContent +): FloatUninterpretedContent = + FloatUninterpretedContent( + constructReverseExprComponent(ctx, value) { it.isNan }, + constructReverseExprComponent(ctx, value) { it.isInf }, + constructReverseExprComponent(ctx, value) { it.infSign }, + constructReverseExprComponent(ctx, value) { it.realValue } + ) + +fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructAddExpr(ctx, left, right) + return constructFloat(ctx, floatValue) +} + + +fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructAddExpr(ctx, left, constructNegExpr(ctx, right)) + return constructFloat(ctx, floatValue) +} + +fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + val floatValue = constructMulExpr(ctx, left, right) + return constructFloat(ctx, floatValue) +} + +fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val left = leftObj.getToFloatContent(ctx) ?: return null + val right = rightObj.getToFloatContent(ctx) ?: return null + myFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) + val floatValue = constructMulExpr(ctx, left, constructReverseExpr(ctx, right)) + return constructFloat(ctx, floatValue) +} + +fun castFloatToInt( + ctx: ConcolicRunContext, + float: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) + val value = float.getFloatContent(ctx) + myFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) + if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) + return null + val intValue = ctx.ctx.mkRealToInt(value.realValue) + return constructInt(ctx, intValue) +} + +private fun strToFloat(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) + val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null + if (str == "inf" || str == "infinity") + return constructFloat(ctx, mkUninterpretedPlusInfinity(ctx.ctx)) + if (str == "-inf" || str == "-infinity") + return constructFloat(ctx, mkUninterpretedMinusInfinity(ctx.ctx)) + return null +} + +fun handlerFloatCastKt( + ctx: ConcolicRunContext, + arg: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val typeSystem = ctx.typeSystem + val type = arg.getTypeIfDefined(ctx) ?: return null + return when (type) { + typeSystem.pythonBool, typeSystem.pythonInt -> { + val realValue = ctx.ctx.intToFloat(arg.getToIntContent(ctx)!!) + constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, realValue)) + } + typeSystem.pythonFloat -> arg + typeSystem.pythonStr -> strToFloat(ctx, arg) + else -> null + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt similarity index 99% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt index df7a53c646..da92e18fe8 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt @@ -3,7 +3,6 @@ package org.usvm.machine.interpreters.operations import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.api.* -import org.usvm.api.collection.ListCollectionApi import org.usvm.api.collection.ListCollectionApi.symbolicListInsert import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt index 582e7f4e79..a05ea95d03 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt @@ -1,37 +1,37 @@ -package org.usvm.machine.interpreters.operations - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.SliceUninterpretedField -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.constructSlice -import org.usvm.machine.symbolicobjects.getIntContent - -private fun getFieldContent( - ctx: ConcolicRunContext, - value: UninterpretedSymbolicPythonObject -): SliceUninterpretedField { - val typeSystem = ctx.typeSystem - val isNone = value.evalIs(ctx, typeSystem.pythonNoneType) - val content = - if (value.getTypeIfDefined(ctx) == typeSystem.pythonInt) - value.getIntContent(ctx) - else - ctx.ctx.mkIntNum(0) - myFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) - myAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) - return SliceUninterpretedField(isNone, content) -} - -fun handlerCreateSliceKt( - ctx: ConcolicRunContext, - start: UninterpretedSymbolicPythonObject, - stop: UninterpretedSymbolicPythonObject, - step: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) - return null - val startContent = getFieldContent(ctx, start) - val stopContent = getFieldContent(ctx, stop) - val stepContent = getFieldContent(ctx, step) - return constructSlice(ctx, startContent, stopContent, stepContent) +package org.usvm.machine.interpreters.operations + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.SliceUninterpretedField +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructSlice +import org.usvm.machine.symbolicobjects.getIntContent + +private fun getFieldContent( + ctx: ConcolicRunContext, + value: UninterpretedSymbolicPythonObject +): SliceUninterpretedField { + val typeSystem = ctx.typeSystem + val isNone = value.evalIs(ctx, typeSystem.pythonNoneType) + val content = + if (value.getTypeIfDefined(ctx) == typeSystem.pythonInt) + value.getIntContent(ctx) + else + ctx.ctx.mkIntNum(0) + myFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) + myAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) + return SliceUninterpretedField(isNone, content) +} + +fun handlerCreateSliceKt( + ctx: ConcolicRunContext, + start: UninterpretedSymbolicPythonObject, + stop: UninterpretedSymbolicPythonObject, + step: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + if (ctx.curState == null) + return null + val startContent = getFieldContent(ctx, start) + val stopContent = getFieldContent(ctx, stop) + val stepContent = getFieldContent(ctx, step) + return constructSlice(ctx, startContent, stopContent, stepContent) } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt index 436d2a75ad..4530a5a17f 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt @@ -1,25 +1,25 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -object ListAppendDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListAppendMethod(owner) - } -} - -object ListPopDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListPopMethod(owner) - } -} - -object ListInsertDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListInsertMethod(owner) - } +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object ListAppendDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListAppendMethod(owner) + } +} + +object ListPopDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListPopMethod(owner) + } +} + +object ListInsertDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { + return ConcretePythonInterpreter.constructListInsertMethod(owner) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt similarity index 91% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt index b248121c60..ccd3f4ba41 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -1,41 +1,44 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.getSliceStart - -private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunContext): SymbolForCPython { - val (isNone, content) = field - val address = ctx.ctx.mkIte( - isNone, - ctx.curState!!.preAllocatedObjects.noneObject.address, - constructInt(ctx, content).address - ) - return SymbolForCPython(UninterpretedSymbolicPythonObject(address, ctx.typeSystem), 0) -} - -object SliceStartDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { - if (ctx.curState == null) - return null - return constructResult(owner.getSliceStart(ctx), ctx) - } -} - -object SliceStopDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { - if (ctx.curState == null) - return null - return constructResult(owner.getSliceStop(ctx), ctx) - } -} - -object SliceStepDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { - if (ctx.curState == null) - return null - return constructResult(owner.getSliceStep(ctx), ctx) - } +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.getSliceStart + +private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunContext): SymbolForCPython { + val (isNone, content) = field + val address = ctx.ctx.mkIte( + isNone, + ctx.curState!!.preAllocatedObjects.noneObject.address, + constructInt(ctx, content).address + ) + return SymbolForCPython( + UninterpretedSymbolicPythonObject(address, ctx.typeSystem), + 0 + ) +} + +object SliceStartDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + return constructResult(owner.getSliceStart(ctx), ctx) + } +} + +object SliceStopDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + return constructResult(owner.getSliceStop(ctx), ctx) + } +} + +object SliceStepDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + if (ctx.curState == null) + return null + return constructResult(owner.getSliceStep(ctx), ctx) + } } \ No newline at end of file diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt similarity index 97% rename from usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index 9e12c20ed8..20c32c1857 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -2,7 +2,6 @@ package org.usvm.machine.interpreters.operations.tracing import org.usvm.machine.interpreters.PythonObject import org.usvm.language.PythonInstruction -import org.usvm.language.PythonPinnedCallable import org.usvm.language.SymbolForCPython sealed class SymbolicHandlerEventParameters diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/model/PyModel.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt similarity index 99% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 094f78f386..88531e8ee0 100644 --- a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -1,9 +1,7 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KBoolSort -import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort -import io.ksmt.sort.KRealSort import org.usvm.* import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameters.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/GlobalParameters.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/utils/GlobalParameters.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/GlobalParameters.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt similarity index 100% rename from usvm-python/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt From fef2049e7b72de43387cb5b72b1793a721e7c912 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 5 Oct 2023 17:28:20 +0300 Subject: [PATCH 125/344] Implemented CPythonFunctionProcessor --- .../org/usvm/annotations/CPythonFunction.java | 21 +++++ .../CPythonAdapterJavaMethodProcessor.kt | 2 +- .../annotations/CPythonFunctionProcessor.kt | 79 ++++++++++++++++ .../CPythonFunctionGeneration.kt | 93 +++++++++++++++++++ .../javax.annotation.processing.Processor | 3 +- .../org/usvm/interpreter/CPythonAdapter.java | 20 +++- 6 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java new file mode 100644 index 0000000000..ea516ef3cd --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java @@ -0,0 +1,21 @@ +package org.usvm.annotations; + +import org.usvm.annotations.codegeneration.CType; +import org.usvm.annotations.codegeneration.ObjectConverter; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.SOURCE) +public @interface CPythonFunction { + CType[] argCTypes(); + ObjectConverter[] argConverters(); + CType cReturnType(); + ObjectConverter resultConverter(); + String failValue(); + String defaultValue(); + boolean addToSymbolicAdapter() default true; +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt index dddc06f495..b4136df302 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -17,7 +17,7 @@ import javax.lang.model.element.TypeElement class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { private val converter = ConverterToJNITypeDescriptor() - override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { if (annotations.size != 1) return false val annotation = annotations.stream().findFirst().get() diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt new file mode 100644 index 0000000000..880f0d0532 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -0,0 +1,79 @@ +package org.usvm.annotations + +import org.usvm.annotations.codegeneration.* +import java.io.File +import javax.annotation.processing.* +import javax.lang.model.SourceVersion +import javax.lang.model.element.Element +import javax.lang.model.element.ExecutableElement +import javax.lang.model.element.TypeElement +import javax.lang.model.type.ExecutableType +import javax.lang.model.type.TypeKind +import javax.lang.model.type.TypeMirror + +@SupportedAnnotationTypes("org.usvm.annotations.CPythonFunction") +@SupportedOptions("headerPath") +@SupportedSourceVersion(SourceVersion.RELEASE_8) +class CPythonFunctionProcessor: AbstractProcessor() { + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + if (annotations.size != 1) + return false + val annotation = annotations.stream().findFirst().get() + val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val descriptions = getDescriptions(annotatedElements) + val code = generateCPythonFunctions(descriptions) + val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val file = File(headerPath, "CPythonFunctions.h") + file.writeText(code) + file.createNewFile() + return true + } + + private fun getDescriptions(annotatedElements: Collection): List = + annotatedElements.map { element -> + val headerAnnotation = element.getAnnotation(CPythonAdapterJavaMethod::class.java) + ?: error("Function annotated with CPythonFunction must also be annotated with CPythonAdapterJavaMethod") + val name = headerAnnotation.cName + val curAnnotation = element.getAnnotation(CPythonFunction::class.java) + val executable = element as? ExecutableElement ?: error("Incorrect usage of annotation CPythonFunction") + val type = executable.asType() as ExecutableType + val firstType = executable.parameters.first().asType().toString().split(".").last() + require(firstType == "ConcolicRunContext") { + "First argument of function annotated with CPythonFunction must be ConcolicRunContext" + } + val numberOfArguments = type.parameterTypes.size - 1 + val argJavaTypes = type.parameterTypes.drop(1).map(::convertJavaType) + require(curAnnotation.argCTypes.size == numberOfArguments) { + "Incorrect value of argCTypes" + } + require(curAnnotation.argConverters.size == numberOfArguments) { + "Incorrect value of argConverters" + } + val args = (argJavaTypes zip curAnnotation.argCTypes zip curAnnotation.argConverters).map { (p, conv) -> + val (javaType, cType) = p + ArgumentDescription(cType, javaType, conv) + } + val result = ArgumentDescription( + curAnnotation.cReturnType, + convertJavaType(executable.returnType), + curAnnotation.resultConverter + ) + CPythonFunctionDescription( + name, + args, + result, + curAnnotation.failValue, + curAnnotation.defaultValue, + curAnnotation.addToSymbolicAdapter + ) + } + + private fun convertJavaType(typeMirror: TypeMirror): JavaType { + return when (typeMirror.kind) { + TypeKind.LONG -> JavaType.JLong + TypeKind.DECLARED -> JavaType.JObject + TypeKind.VOID -> JavaType.NoType + else -> error("Unsupported Java type: $typeMirror") + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt new file mode 100644 index 0000000000..ca5d45aac9 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -0,0 +1,93 @@ +package org.usvm.annotations.codegeneration + +enum class ObjectConverter(val repr: String) { + StandardConverter("object_converter"), + FrameConverter("frame_converter"), + IntConverter("int_converter"), + RefConverter("ref_converter"), + ObjectWrapper("object_wrapper"), + NoConverter("") +} + +enum class CType(val repr: String) { + PyObject("PyObject *"), + PyFrameObject("PyFrameObject *"), + CInt("int") +} + +enum class JavaType(val repr: String, val call: String) { + JObject("jobject", "Object"), + JLong("jlong", "Long"), + NoType("", "Void") +} + +data class ArgumentDescription( + val cType: CType, + val javaType: JavaType, + val converter: ObjectConverter +) + +data class CPythonFunctionDescription( + val cName: String, + val args: List, + val result: ArgumentDescription, + val failValue: String, + val defaultValue: String, + val addToSymbolicAdapter: Boolean +) + +fun generateCPythonFunction(description: CPythonFunctionDescription): String { + val cName = description.cName + val numberOfArgs = description.args.size + val defaultValue = description.defaultValue + val cArgs = description.args.mapIndexed { index, arg -> "${arg.cType.repr} arg_$index" } + val javaArgsCreation = description.args.mapIndexed { index, arg -> + """ + ${arg.javaType.repr} java_arg_$index = ${arg.converter.repr}(ctx, arg_$index, &fail); if (fail) return $defaultValue; + """.trimIndent() + } + val javaReturnType = description.result.javaType.repr + val javaReturnDescr = description.result.javaType.call + val javaArgs = (listOf("ctx->context") + List(numberOfArgs) { "java_arg_$it" }).joinToString(", ") + val returnValueCreation = + if (description.result.javaType != JavaType.NoType) + "$javaReturnType java_return = (*ctx->env)->CallStatic${javaReturnDescr}Method(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + else + "(*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + val returnConverter = description.result.converter.repr + val returnStmt = + if (description.result.javaType == JavaType.NoType) + "return $defaultValue;" + else + "return $returnConverter(ctx, java_return);" + val cReturnType = description.result.cType.repr + val failValue = description.failValue + return """ + static $cReturnType + $cName(${(listOf("void *arg") + cArgs).joinToString(", ")}) { + // printf("INSIDE $cName!\n"); fflush(stdout); + ConcolicContext *ctx = (ConcolicContext *) arg; + int fail = 0; + ${javaArgsCreation.joinToString("\n ")} + // printf("CALLING JAVA METHOD IN $cName!\n"); fflush(stdout); + $returnValueCreation + CHECK_FOR_EXCEPTION(ctx, $failValue) + $returnStmt + } + """.trimIndent() +} + +fun generateCPythonFunctions(descriptions: List): String { + val functions = descriptions.map(::generateCPythonFunction) + val registrations = descriptions.filter { it.addToSymbolicAdapter }.joinToString { + val name = it.cName + "adapter->$name = $name;" + } + val registration = """ + static void + REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter) { + $registrations + } + """.trimIndent() + return functions.joinToString("\n\n") + "\n\n" + registration +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor index e91de15442..353189133a 100644 --- a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor +++ b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor @@ -1 +1,2 @@ -org.usvm.annotations.CPythonAdapterJavaMethodProcessor \ No newline at end of file +org.usvm.annotations.CPythonAdapterJavaMethodProcessor +org.usvm.annotations.CPythonFunctionProcessor \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index dee1ee9d13..c72a62ff31 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -3,7 +3,9 @@ import kotlin.Unit; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.annotations.CPythonAdapterJavaMethod; +import org.usvm.annotations.*; +import org.usvm.annotations.codegeneration.CType; +import org.usvm.annotations.codegeneration.ObjectConverter; import org.usvm.language.*; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; @@ -101,6 +103,14 @@ public class CPythonAdapter { } @CPythonAdapterJavaMethod(cName = "instruction") + @CPythonFunction( + argCTypes = {CType.PyFrameObject}, + argConverters = {ObjectConverter.FrameConverter}, + cReturnType = CType.CInt, + resultConverter = ObjectConverter.NoConverter, + failValue = "-1", + defaultValue = "0" + ) public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); @@ -139,6 +149,14 @@ private static Callable unit(Runnable function) { } @CPythonAdapterJavaMethod(cName = "load_const") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.RefConverter}, + cReturnType = CType.PyObject, + resultConverter = ObjectConverter.ObjectWrapper, + failValue = "0", + defaultValue = "Py_None" + ) public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); return PathTracingKt.withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); From 44c2149d94b227a7d6eb50ee2d12eff1de99bd99 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 10 Oct 2023 11:59:27 +0300 Subject: [PATCH 126/344] got rid of jsons in cpythonadapter --- usvm-python/cpythonadapter/build.gradle.kts | 85 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 2 +- .../src/main/json/adapter_method_defs.json | 891 ------------------ .../org/usvm/annotations/CPythonFunction.java | 4 - .../annotations/CPythonFunctionProcessor.kt | 64 +- .../CPythonFunctionGeneration.kt | 11 +- .../org/usvm/interpreter/CPythonAdapter.java | 332 ++++++- 7 files changed, 366 insertions(+), 1023 deletions(-) delete mode 100644 usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 8307043eeb..3eae27f881 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -1,4 +1,3 @@ -import groovy.json.JsonSlurper import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.internal.jvm.Jvm import java.io.* @@ -82,90 +81,8 @@ val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { commandLine("make", "install") } -@Suppress("unchecked_cast") -fun generateSymbolicAdapterMethod(description: Map): String { - val cName = description["c_name"] as String - val cReturnType = description["c_return_type"] as String - val numberOfArgs = description["nargs"] as Int - val cArgTypes = description["c_arg_types"] as List - val cArgs = List(numberOfArgs) { index -> "${cArgTypes[index]} arg_$index" } - val javaArgTypes = description["java_arg_types"] as List - val argConverters = description["argument_converters"] as List - val failValue = description["fail_value"] as String - val defaultValue = description["default_value"] as String - val javaArgsCreation = List(numberOfArgs) { index -> - """ - ${javaArgTypes[index]} java_arg_$index = ${argConverters[index]}(ctx, arg_$index, &fail); if (fail) return $defaultValue; - """.trimIndent() - } - val javaReturnType = description["java_return_type"] as String - val javaReturnDescr: String = when (javaReturnType) { - "jobject" -> "Object" - "jlong" -> "Long" - "void" -> "Void" - else -> error("Incorrect handler definition") - } - val javaArgs = (listOf("ctx->context") + List(numberOfArgs) { "java_arg_$it" }).joinToString(", ") - val returnValueCreation = - if (javaReturnType != "void") - "$javaReturnType java_return = (*ctx->env)->CallStatic${javaReturnDescr}Method(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" - else - "(*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" - val returnConverted = description["result_converter"] as String - val returnStmt = - if (javaReturnType == "void") - "return $defaultValue;" - else - "return $returnConverted(ctx, java_return);" - return """ - static $cReturnType - $cName(${(listOf("void *arg") + cArgs).joinToString(", ")}) { - // printf("INSIDE $cName!\n"); fflush(stdout); - ConcolicContext *ctx = (ConcolicContext *) arg; - int fail = 0; - ${javaArgsCreation.joinToString("\n ")} - // printf("CALLING JAVA METHOD IN $cName!\n"); fflush(stdout); - $returnValueCreation - CHECK_FOR_EXCEPTION(ctx, $failValue) - $returnStmt - } - """.trimIndent() -} - -fun generateSymbolicAdapterMethods(): String { - val handlerDefs by extra { - @Suppress("unchecked_cast") - JsonSlurper().parse(file("${projectDir.path}/src/main/json/adapter_method_defs.json")) as List> - } - val defs = handlerDefs.joinToString("\n\n", transform = ::generateSymbolicAdapterMethod) - val registration = """ - static void - REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter) { - ${ - handlerDefs.joinToString(" ") { - val name = it["c_name"]!! - "adapter->$name = $name;" - } - } - } - """.trimIndent() - return defs + "\n\n" + registration -} - -tasks.register("testGenerateTask") { - commandLine("echo", generateSymbolicAdapterMethods()) -} - val adapterHeaderPath = "${project.buildDir.path}/adapter_include" -val headers = tasks.register("generateHeaders") { - dependsOn(":usvm-python:usvm-python-main:compileJava") - File(adapterHeaderPath).mkdirs() - val fileForSymbolicAdapterMethods = File("$adapterHeaderPath/SymbolicAdapterMethods.h") - fileForSymbolicAdapterMethods.createNewFile() - fileForSymbolicAdapterMethods.writeText(generateSymbolicAdapterMethods()) -} - library { binaries.configureEach { val compileTask = compileTask.get() @@ -191,7 +108,7 @@ library { compileTask.compilerArgs.addAll(listOf("/TC")) } - compileTask.dependsOn(headers) + compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") if (!compileTask.isOptimized) { compileTask.dependsOn(cpythonBuildDebug) } else { diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index a0ac17ce7d..95f054404e 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -7,7 +7,7 @@ #include "approximations.h" #include "descriptors.h" #include "symbolic_methods.h" -#include "SymbolicAdapterMethods.h" // generated from Gradle script +#include "CPythonFunctions.h" // generated #include "symbolicadapter.h" diff --git a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json b/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json deleted file mode 100644 index dd0188b4d0..0000000000 --- a/usvm-python/cpythonadapter/src/main/json/adapter_method_defs.json +++ /dev/null @@ -1,891 +0,0 @@ -[ - { - "c_name": "instruction", - "nargs": 1, - "c_arg_types": ["PyFrameObject *"], - "c_return_type": "int", - "java_arg_types": ["jlong"], - "java_return_type": "void", - "argument_converters": ["frame_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "fork_notify", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "fork_result", - "nargs": 2, - "c_arg_types": ["PyObject *", "int"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jint"], - "java_return_type": "void", - "argument_converters": ["object_converter", "int_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "unpack", - "nargs": 2, - "c_arg_types": ["PyObject *", "int"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jint"], - "java_return_type": "void", - "argument_converters": ["object_converter", "int_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "is_op", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "none_check", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "load_const", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jlong"], - "java_return_type": "jobject", - "argument_converters": ["ref_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "create_list", - "nargs": 1, - "c_arg_types": ["PyObject **"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobjectArray"], - "java_return_type": "jobject", - "argument_converters": ["array_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "create_tuple", - "nargs": 1, - "c_arg_types": ["PyObject **"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobjectArray"], - "java_return_type": "jobject", - "argument_converters": ["array_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "gt_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "lt_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "eq_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "ne_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "le_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "ge_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "gt_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "lt_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "eq_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "ne_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "le_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "ge_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "add_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "sub_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "mul_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "div_float", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "add_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "sub_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "mul_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "div_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "rem_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "true_div_long", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "symbolic_int_cast", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "symbolic_float_cast", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "bool_and", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_get_item", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "tuple_get_item", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_set_item", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "list_insert", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "list_extend", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_concat", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_inplace_concat", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_get_size", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - - { - "c_name": "tuple_get_size", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_append", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_iter", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_iterator_next", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_pop", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "list_pop_ind", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "tuple_iter", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "tuple_iterator_next", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "symbolic_isinstance", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jlong"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "ref_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "fixate_type", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "function_call", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jlong"], - "java_return_type": "void", - "argument_converters": ["ref_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "function_return", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jlong"], - "java_return_type": "void", - "argument_converters": ["ref_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_bool", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_int", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_add", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_subtract", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_multiply", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "nb_matrix_multiply", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "sq_length", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "mp_subscript", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "mp_ass_subscript", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "tp_richcompare", - "nargs": 3, - "c_arg_types": ["int", "PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jint", "jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["int_converter", "object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "tp_getattro", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "tp_iter", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "int", - "java_arg_types": ["jobject"], - "java_return_type": "void", - "argument_converters": ["object_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "symbolic_virtual_unary_fun", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "symbolic_virtual_binary_fun", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "lost_symbolic_value", - "nargs": 1, - "c_arg_types": ["const char *"], - "c_return_type": "int", - "java_arg_types": ["jstring"], - "java_return_type": "void", - "argument_converters": ["string_converter"], - "result_converter": "", - "fail_value": "-1", - "default_value": "0" - }, - { - "c_name": "create_range", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "create_slice", - "nargs": 3, - "c_arg_types": ["PyObject *", "PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "range_iter", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "range_iterator_next", - "nargs": 1, - "c_arg_types": ["PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - }, - { - "c_name": "standard_tp_getattro", - "nargs": 2, - "c_arg_types": ["PyObject *", "PyObject *"], - "c_return_type": "PyObject *", - "java_arg_types": ["jobject", "jobject"], - "java_return_type": "jobject", - "argument_converters": ["object_converter", "object_converter"], - "result_converter": "object_wrapper", - "fail_value": "0", - "default_value": "Py_None" - } -] \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java index ea516ef3cd..d17108107a 100644 --- a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java @@ -13,9 +13,5 @@ public @interface CPythonFunction { CType[] argCTypes(); ObjectConverter[] argConverters(); - CType cReturnType(); - ObjectConverter resultConverter(); - String failValue(); - String defaultValue(); boolean addToSymbolicAdapter() default true; } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index 880f0d0532..fa96dd26f2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -7,6 +7,7 @@ import javax.lang.model.SourceVersion import javax.lang.model.element.Element import javax.lang.model.element.ExecutableElement import javax.lang.model.element.TypeElement +import javax.lang.model.type.ArrayType import javax.lang.model.type.ExecutableType import javax.lang.model.type.TypeKind import javax.lang.model.type.TypeMirror @@ -44,34 +45,67 @@ class CPythonFunctionProcessor: AbstractProcessor() { val numberOfArguments = type.parameterTypes.size - 1 val argJavaTypes = type.parameterTypes.drop(1).map(::convertJavaType) require(curAnnotation.argCTypes.size == numberOfArguments) { - "Incorrect value of argCTypes" + "Incorrect value of argCTypes (size must be $numberOfArguments)" } require(curAnnotation.argConverters.size == numberOfArguments) { - "Incorrect value of argConverters" + "Incorrect value of argConverters (size must be $numberOfArguments)" } val args = (argJavaTypes zip curAnnotation.argCTypes zip curAnnotation.argConverters).map { (p, conv) -> val (javaType, cType) = p ArgumentDescription(cType, javaType, conv) } - val result = ArgumentDescription( - curAnnotation.cReturnType, - convertJavaType(executable.returnType), - curAnnotation.resultConverter - ) - CPythonFunctionDescription( - name, - args, - result, - curAnnotation.failValue, - curAnnotation.defaultValue, - curAnnotation.addToSymbolicAdapter - ) + val returnTypeName = executable.returnType.toString().split(".").last() + require(returnTypeName == "void" || returnTypeName == "SymbolForCPython") { + "Return type must be void or SymbolForCPython, not $returnTypeName" + } + val returnType = convertJavaType(executable.returnType) + when (returnType) { + JavaType.JObject -> { + val descr = ArgumentDescription( + CType.PyObject, + JavaType.JObject, + ObjectConverter.ObjectWrapper + ) + CPythonFunctionDescription( + name, + args, + descr, + "0", + "Py_None", + curAnnotation.addToSymbolicAdapter + ) + } + JavaType.NoType -> { + val descr = ArgumentDescription( + CType.CInt, + JavaType.NoType, + ObjectConverter.NoConverter + ) + CPythonFunctionDescription( + name, + args, + descr, + "-1", + "0", + curAnnotation.addToSymbolicAdapter + ) + } + else -> error("Incorrect Java return type for CPythonFunction") + } } private fun convertJavaType(typeMirror: TypeMirror): JavaType { + if (typeMirror is ArrayType) { + require(typeMirror.componentType.toString().split(".").last() == "SymbolForCPython") { + "Array must consist of SymbolForCPython" + } + return JavaType.JObjectArray + } return when (typeMirror.kind) { TypeKind.LONG -> JavaType.JLong + TypeKind.INT -> JavaType.JInt TypeKind.DECLARED -> JavaType.JObject + TypeKind.BOOLEAN -> JavaType.JBoolean TypeKind.VOID -> JavaType.NoType else -> error("Unsupported Java type: $typeMirror") } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index ca5d45aac9..d8d6a9d0d2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -6,18 +6,25 @@ enum class ObjectConverter(val repr: String) { IntConverter("int_converter"), RefConverter("ref_converter"), ObjectWrapper("object_wrapper"), + ArrayConverter("array_converter"), + StringConverter("string_converter"), NoConverter("") } enum class CType(val repr: String) { PyObject("PyObject *"), + PyObjectArray("PyObject **"), PyFrameObject("PyFrameObject *"), - CInt("int") + CInt("int"), + CStr("const char *") } enum class JavaType(val repr: String, val call: String) { JObject("jobject", "Object"), JLong("jlong", "Long"), + JInt("jint", "Int"), + JBoolean("jboolean", "Boolean"), + JObjectArray("jobjectArray", "Object"), NoType("", "Void") } @@ -79,7 +86,7 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): String { fun generateCPythonFunctions(descriptions: List): String { val functions = descriptions.map(::generateCPythonFunction) - val registrations = descriptions.filter { it.addToSymbolicAdapter }.joinToString { + val registrations = descriptions.filter { it.addToSymbolicAdapter }.joinToString(separator = " ") { val name = it.cName "adapter->$name = $name;" } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index c72a62ff31..d7741d93a8 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -105,11 +105,7 @@ public class CPythonAdapter { @CPythonAdapterJavaMethod(cName = "instruction") @CPythonFunction( argCTypes = {CType.PyFrameObject}, - argConverters = {ObjectConverter.FrameConverter}, - cReturnType = CType.CInt, - resultConverter = ObjectConverter.NoConverter, - failValue = "-1", - defaultValue = "0" + argConverters = {ObjectConverter.FrameConverter} ) public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; @@ -151,11 +147,7 @@ private static Callable unit(Runnable function) { @CPythonAdapterJavaMethod(cName = "load_const") @CPythonFunction( argCTypes = {CType.PyObject}, - argConverters = {ObjectConverter.RefConverter}, - cReturnType = CType.PyObject, - resultConverter = ObjectConverter.ObjectWrapper, - failValue = "0", - defaultValue = "Py_None" + argConverters = {ObjectConverter.RefConverter} ) public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); @@ -163,6 +155,10 @@ public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long } @CPythonAdapterJavaMethod(cName = "fork_notify") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { if (cond.obj == null) return; @@ -170,11 +166,19 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond } @CPythonAdapterJavaMethod(cName = "fork_result") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.CInt}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.IntConverter} + ) public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { PathTracingKt.handlerForkResultKt(context, cond, result); } @CPythonAdapterJavaMethod(cName = "unpack") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.CInt}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.IntConverter} + ) public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython iterable, int count) { if (iterable.obj == null) return; @@ -182,6 +186,10 @@ public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython it } @CPythonAdapterJavaMethod(cName = "is_op") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return; @@ -189,6 +197,10 @@ public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left } @CPythonAdapterJavaMethod(cName = "none_check") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython on) { if (on.obj == null) return; @@ -196,6 +208,10 @@ public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython } @CPythonAdapterJavaMethod(cName = "gt_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -203,6 +219,10 @@ public static SymbolForCPython handlerGTLong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "lt_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -210,6 +230,10 @@ public static SymbolForCPython handlerLTLong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "eq_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -217,6 +241,10 @@ public static SymbolForCPython handlerEQLong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "ne_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -224,6 +252,10 @@ public static SymbolForCPython handlerNELong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "ge_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -231,6 +263,10 @@ public static SymbolForCPython handlerGELong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "le_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -238,6 +274,10 @@ public static SymbolForCPython handlerLELong(ConcolicRunContext context, SymbolF } @CPythonAdapterJavaMethod(cName = "add_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerADDLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -245,6 +285,10 @@ public static SymbolForCPython handlerADDLong(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "sub_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -252,6 +296,10 @@ public static SymbolForCPython handlerSUBLong(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "mul_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerMULLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -259,6 +307,10 @@ public static SymbolForCPython handlerMULLong(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "div_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -266,12 +318,17 @@ public static SymbolForCPython handlerDIVLong(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "rem_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerREMLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } + // TODO: CPythonFunction @CPythonAdapterJavaMethod(cName = "pow_long") public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) @@ -280,6 +337,10 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "true_div_long") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerTrueDivLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -287,6 +348,10 @@ public static SymbolForCPython handlerTrueDivLong(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "symbolic_int_cast") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerIntCast(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; @@ -294,6 +359,10 @@ public static SymbolForCPython handlerIntCast(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "gt_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerGTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -301,6 +370,10 @@ public static SymbolForCPython handlerGTFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "lt_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerLTFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -308,6 +381,10 @@ public static SymbolForCPython handlerLTFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "eq_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerEQFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -315,6 +392,10 @@ public static SymbolForCPython handlerEQFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "ne_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerNEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -322,6 +403,10 @@ public static SymbolForCPython handlerNEFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "ge_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerGEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -329,6 +414,10 @@ public static SymbolForCPython handlerGEFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "le_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerLEFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -336,6 +425,10 @@ public static SymbolForCPython handlerLEFloat(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "add_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerADDFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -343,6 +436,10 @@ public static SymbolForCPython handlerADDFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "sub_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerSUBFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -350,6 +447,10 @@ public static SymbolForCPython handlerSUBFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "mul_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerMULFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -357,6 +458,10 @@ public static SymbolForCPython handlerMULFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "div_float") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -364,6 +469,10 @@ public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "symbolic_float_cast") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerFloatCast(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; @@ -371,6 +480,10 @@ public static SymbolForCPython handlerFloatCast(ConcolicRunContext context, Symb } @CPythonAdapterJavaMethod(cName = "bool_and") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -378,6 +491,10 @@ public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForC } @CPythonAdapterJavaMethod(cName = "create_list") + @CPythonFunction( + argCTypes = {CType.PyObjectArray}, + argConverters = {ObjectConverter.ArrayConverter} + ) public static SymbolForCPython handlerCreateList(ConcolicRunContext context, SymbolForCPython[] elements) { if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; @@ -386,6 +503,10 @@ public static SymbolForCPython handlerCreateList(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "create_tuple") + @CPythonFunction( + argCTypes = {CType.PyObjectArray}, + argConverters = {ObjectConverter.ArrayConverter} + ) public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, SymbolForCPython[] elements) { if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; @@ -394,6 +515,10 @@ public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "create_range") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { if (start.obj == null || stop.obj == null || step.obj == null) return null; @@ -402,6 +527,10 @@ public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "create_slice") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerCreateSlice(ConcolicRunContext context, SymbolForCPython start, SymbolForCPython stop, SymbolForCPython step) { if (start.obj == null || stop.obj == null || step.obj == null) return null; @@ -410,6 +539,10 @@ public static SymbolForCPython handlerCreateSlice(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "range_iter") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, SymbolForCPython range) { if (range.obj == null) return null; @@ -417,6 +550,10 @@ public static SymbolForCPython handlerRangeIter(ConcolicRunContext context, Symb } @CPythonAdapterJavaMethod(cName = "range_iterator_next") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext context, SymbolForCPython rangeIterator) { if (rangeIterator.obj == null) return null; @@ -424,6 +561,10 @@ public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext conte } @CPythonAdapterJavaMethod(cName = "list_get_item") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index) { if (list.obj == null || index.obj == null) return null; @@ -431,6 +572,10 @@ public static SymbolForCPython handlerListGetItem(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "list_extend") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListExtend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython tuple) { if (list.obj == null || tuple.obj == null) return null; @@ -438,6 +583,10 @@ public static SymbolForCPython handlerListExtend(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "list_concat") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -445,6 +594,10 @@ public static SymbolForCPython handlerListConcat(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "list_inplace_concat") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; @@ -452,6 +605,10 @@ public static SymbolForCPython handlerListInplaceConcat(ConcolicRunContext conte } @CPythonAdapterJavaMethod(cName = "list_append") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListAppend(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython elem) { if (list.obj == null || elem.obj == null) return null; @@ -459,6 +616,10 @@ public static SymbolForCPython handlerListAppend(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "list_set_item") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; @@ -466,6 +627,10 @@ public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPyth } @CPythonAdapterJavaMethod(cName = "list_get_size") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; @@ -473,6 +638,10 @@ public static SymbolForCPython handlerListGetSize(ConcolicRunContext context, Sy } @CPythonAdapterJavaMethod(cName = "list_iter") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListIter(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; @@ -480,6 +649,10 @@ public static SymbolForCPython handlerListIter(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "list_iterator_next") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { if (iterator.obj == null) return null; @@ -487,6 +660,10 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex } @CPythonAdapterJavaMethod(cName = "list_pop") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListPop(ConcolicRunContext context, SymbolForCPython list) { if (list.obj == null) return null; @@ -494,6 +671,10 @@ public static SymbolForCPython handlerListPop(ConcolicRunContext context, Symbol } @CPythonAdapterJavaMethod(cName = "list_pop_ind") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython ind) { if (list.obj == null || ind.obj == null) return null; @@ -501,6 +682,10 @@ public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "list_insert") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static void handlerListInsert(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; @@ -508,14 +693,21 @@ public static void handlerListInsert(ConcolicRunContext context, SymbolForCPytho } @CPythonAdapterJavaMethod(cName = "tuple_get_size") - @Nullable - public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, @NotNull SymbolForCPython tuple) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerTupleGetSize(ConcolicRunContext context, SymbolForCPython tuple) { if (tuple.obj == null) return null; return methodWrapper(context, new MethodParameters("tuple_get_size", Collections.singletonList(tuple)), () -> handlerTupleGetSizeKt(context, tuple.obj)); } @CPythonAdapterJavaMethod(cName = "tuple_get_item") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerTupleGetItem(ConcolicRunContext context, SymbolForCPython tuple, SymbolForCPython index) { if (tuple.obj == null || index.obj == null) return null; @@ -523,6 +715,10 @@ public static SymbolForCPython handlerTupleGetItem(ConcolicRunContext context, S } @CPythonAdapterJavaMethod(cName = "tuple_iter") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, SymbolForCPython tuple) { if (tuple.obj == null) return null; @@ -530,6 +726,10 @@ public static SymbolForCPython handlerTupleIter(ConcolicRunContext context, Symb } @CPythonAdapterJavaMethod(cName = "tuple_iterator_next") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext context, SymbolForCPython iterator) { if (iterator.obj == null) return null; @@ -537,17 +737,29 @@ public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext conte } @CPythonAdapterJavaMethod(cName = "function_call") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.RefConverter} + ) public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { PythonObject code = new PythonObject(codeRef); PathTracingKt.withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); } @CPythonAdapterJavaMethod(cName = "function_return") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.RefConverter} + ) public static void handlerReturn(ConcolicRunContext context, long codeRef) { PathTracingKt.withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); } @CPythonAdapterJavaMethod(cName = "symbolic_virtual_unary_fun") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return null; @@ -555,11 +767,19 @@ public static SymbolForCPython handlerVirtualUnaryFun(ConcolicRunContext context } @CPythonAdapterJavaMethod(cName = "symbolic_virtual_binary_fun") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { return methodWrapper(context, new MethodParameters("virtual_binary_fun", Arrays.asList(left, right)), () -> virtualCallSymbolKt(context)); } @CPythonAdapterJavaMethod(cName = "symbolic_isinstance") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.RefConverter} + ) public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { if (obj.obj == null) return null; @@ -568,14 +788,22 @@ public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, Sym } @CPythonAdapterJavaMethod(cName = "fixate_type") - public static void fixateType(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython obj) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void fixateType(ConcolicRunContext context, SymbolForCPython obj) { if (obj.obj == null) return; fixateTypeKt(context, obj.obj); } @CPythonAdapterJavaMethod(cName = "nb_bool") - public static void notifyNbBool(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython symbol) { if (symbol.obj == null) return; context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol.obj), symbol.obj); @@ -583,7 +811,11 @@ public static void notifyNbBool(@NotNull ConcolicRunContext context, @NotNull Sy } @CPythonAdapterJavaMethod(cName = "nb_int") - public static void notifyNbInt(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython symbol) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyNbInt(ConcolicRunContext context, SymbolForCPython symbol) { if (symbol.obj == null) return; context.curOperation = new MockHeader(NbIntMethod.INSTANCE, Collections.singletonList(symbol.obj), symbol.obj); @@ -591,7 +823,11 @@ public static void notifyNbInt(@NotNull ConcolicRunContext context, @NotNull Sym } @CPythonAdapterJavaMethod(cName = "nb_add") - public static void notifyNbAdd(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyNbAdd(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return; context.curOperation = new MockHeader(NbAddMethod.INSTANCE, Arrays.asList(left.obj, right.obj), null); @@ -599,7 +835,11 @@ public static void notifyNbAdd(@NotNull ConcolicRunContext context, @NotNull Sym } @CPythonAdapterJavaMethod(cName = "nb_subtract") - public static void notifyNbSubtract(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyNbSubtract(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null) return; context.curOperation = new MockHeader(NbSubtractMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); @@ -607,7 +847,11 @@ public static void notifyNbSubtract(@NotNull ConcolicRunContext context, @NotNul } @CPythonAdapterJavaMethod(cName = "nb_multiply") - public static void notifyNbMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyNbMultiply(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return; context.curOperation = new MockHeader(NbMultiplyMethod.INSTANCE, Arrays.asList(left.obj, right.obj), null); @@ -615,7 +859,11 @@ public static void notifyNbMultiply(@NotNull ConcolicRunContext context, @NotNul } @CPythonAdapterJavaMethod(cName = "nb_matrix_multiply") - public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython left, SymbolForCPython right) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyNbMatrixMultiply(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null) return; context.curOperation = new MockHeader(NbMatrixMultiplyMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); @@ -623,7 +871,11 @@ public static void notifyNbMatrixMultiply(@NotNull ConcolicRunContext context, @ } @CPythonAdapterJavaMethod(cName = "sq_length") - public static void notifySqLength(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifySqLength(ConcolicRunContext context, SymbolForCPython on) { if (on.obj == null) return; context.curOperation = new MockHeader(SqLengthMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); @@ -631,7 +883,11 @@ public static void notifySqLength(@NotNull ConcolicRunContext context, @NotNull } @CPythonAdapterJavaMethod(cName = "mp_subscript") - public static void notifyMpSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyMpSubscript(ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { if (storage.obj == null) return; context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj), storage.obj); @@ -639,7 +895,11 @@ public static void notifyMpSubscript(@NotNull ConcolicRunContext context, @NotNu } @CPythonAdapterJavaMethod(cName = "mp_ass_subscript") - public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyMpAssSubscript(ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { if (storage.obj == null) return; context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj, value.obj), storage.obj); @@ -647,7 +907,11 @@ public static void notifyMpAssSubscript(@NotNull ConcolicRunContext context, @No } @CPythonAdapterJavaMethod(cName = "tp_richcompare") - public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, @NotNull SymbolForCPython left, @NotNull SymbolForCPython right) { + @CPythonFunction( + argCTypes = {CType.CInt, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.IntConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyTpRichcmp(ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null) return; context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left.obj, right.obj), left.obj); @@ -655,7 +919,11 @@ public static void notifyTpRichcmp(@NotNull ConcolicRunContext context, int op, } @CPythonAdapterJavaMethod(cName = "tp_getattro") - public static void notifyTpGetattro(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on, @NotNull SymbolForCPython name) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyTpGetattro(ConcolicRunContext context, SymbolForCPython on, SymbolForCPython name) { if (on.obj == null || name.obj == null) return; context.curOperation = new MockHeader(TpGetattro.INSTANCE, Arrays.asList(on.obj, name.obj), on.obj); @@ -663,7 +931,11 @@ public static void notifyTpGetattro(@NotNull ConcolicRunContext context, @NotNul } @CPythonAdapterJavaMethod(cName = "tp_iter") - public static void notifyTpIter(@NotNull ConcolicRunContext context, @NotNull SymbolForCPython on) { + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyTpIter(ConcolicRunContext context, SymbolForCPython on) { if (on.obj == null) return; context.curOperation = new MockHeader(TpIterMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); @@ -689,12 +961,20 @@ public static long virtualCall(ConcolicRunContext context, int owner) { } @CPythonAdapterJavaMethod(cName = "lost_symbolic_value") + @CPythonFunction( + argCTypes = {CType.CStr}, + argConverters = {ObjectConverter.StringConverter} + ) public static void lostSymbolicValue(ConcolicRunContext context, String description) { lostSymbolicValueKt(context, description); } @CPythonAdapterJavaMethod(cName = "standard_tp_getattro") - public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext context, @NotNull SymbolForCPython obj, SymbolForCPython name) { + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext context, SymbolForCPython obj, SymbolForCPython name) { if (obj.obj == null || name.obj == null) return null; return PathTracingKt.withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); From 1830d5f0208c9ee619764634a8bbd1b7dc33bdcc Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 10 Oct 2023 15:54:49 +0300 Subject: [PATCH 127/344] added annotations for descriptors --- .../cpythonadapter/src/main/c/descriptors.c | 40 +++---------------- .../annotations/SymbolicMemberDescriptor.java | 13 ++++++ .../annotations/SymbolicMethodDescriptor.java | 13 ++++++ .../SymbolicMemberDescriptorProcessor.kt | 38 ++++++++++++++++++ .../SymbolicMethodDescriptorProcessor.kt | 38 ++++++++++++++++++ .../annotations/codegeneration/Constants.kt | 3 ++ .../SymbolicMemberDescriptorGeneration.kt | 36 +++++++++++++++++ .../javax.annotation.processing.Processor | 4 +- .../org/usvm/interpreter/CPythonAdapter.java | 8 ++++ 9 files changed, 157 insertions(+), 36 deletions(-) create mode 100644 usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMemberDescriptor.java create mode 100644 usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethodDescriptor.java create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index f7db00002c..fd3c4b17b3 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -1,43 +1,13 @@ #include "descriptors.h" #include "approximation_defs.h" +#include "MethodDescriptors.h" // generated +#include "MemberDescriptors.h" // generated + jobject get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete_descriptor) { jclass cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && - ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_APPEND) { - jfieldID list_append_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listAppendDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, list_append_id); - - } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && - ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && - PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "start") == 0) { - jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStartDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, slice_start); - - } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && - ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && - PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "stop") == 0) { - jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStopDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, slice_start); - - } else if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && - ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &PySlice_Type && - PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "step") == 0) { - jfieldID slice_start = (*env)->GetFieldID(env, cpython_adapter_cls, "sliceStepDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, slice_start); - - } else if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && - ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_POP) { - jfieldID list_pop_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listPopDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, list_pop_id); - - } else if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && - ((PyMethodDescrObject *) concrete_descriptor)->d_method->ml_meth == EXPORT_FOR_APPROXIMATION_LIST_INSERT) { - jfieldID list_pop_id = (*env)->GetFieldID(env, cpython_adapter_cls, "listInsertDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); - return (*env)->GetObjectField(env, cpython_adapter, list_pop_id); - - } - + METHOD_DESCRIPTORS + MEMBER_DESCRIPTORS return 0; } \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMemberDescriptor.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMemberDescriptor.java new file mode 100644 index 0000000000..0177ecd4d6 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMemberDescriptor.java @@ -0,0 +1,13 @@ +package org.usvm.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.SOURCE) +public @interface SymbolicMemberDescriptor { + String nativeTypeName(); + String nativeMemberName(); +} diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethodDescriptor.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethodDescriptor.java new file mode 100644 index 0000000000..7ed7da90e5 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethodDescriptor.java @@ -0,0 +1,13 @@ +package org.usvm.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.SOURCE) +public @interface SymbolicMethodDescriptor { + String nativeTypeName(); + String nativeMemberName(); +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt new file mode 100644 index 0000000000..4c7d9337ca --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt @@ -0,0 +1,38 @@ +package org.usvm.annotations + +import org.usvm.annotations.codegeneration.MemberDescriptorInfo +import org.usvm.annotations.codegeneration.generateDescriptorChecks +import java.io.File +import javax.annotation.processing.* +import javax.lang.model.SourceVersion +import javax.lang.model.element.Element +import javax.lang.model.element.TypeElement + +@SupportedAnnotationTypes("org.usvm.annotations.SymbolicMemberDescriptor") +@SupportedOptions("headerPath") +@SupportedSourceVersion(SourceVersion.RELEASE_8) +class SymbolicMemberDescriptorProcessor: AbstractProcessor() { + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + if (annotations.size != 1) + return false + val annotation = annotations.stream().findFirst().get() + val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val info = getInfo(annotatedElements) + val code = generateDescriptorChecks(info) + val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val file = File(headerPath, "MemberDescriptors.h") + file.writeText(code) + file.createNewFile() + return true + } + + private fun getInfo(elements: Collection): List = + elements.map { element -> + val annotation = element.getAnnotation(SymbolicMemberDescriptor::class.java) + MemberDescriptorInfo( + annotation.nativeTypeName, + annotation.nativeMemberName, + element.simpleName.toString() + ) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt new file mode 100644 index 0000000000..86ef01c5a4 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt @@ -0,0 +1,38 @@ +package org.usvm.annotations + +import org.usvm.annotations.codegeneration.MemberDescriptorInfo +import org.usvm.annotations.codegeneration.generateMethodDescriptorChecks +import java.io.File +import javax.annotation.processing.* +import javax.lang.model.SourceVersion +import javax.lang.model.element.Element +import javax.lang.model.element.TypeElement + +@SupportedAnnotationTypes("org.usvm.annotations.SymbolicMethodDescriptor") +@SupportedOptions("headerPath") +@SupportedSourceVersion(SourceVersion.RELEASE_8) +class SymbolicMethodDescriptorProcessor: AbstractProcessor() { + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + if (annotations.size != 1) + return false + val annotation = annotations.stream().findFirst().get() + val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val info = getInfo(annotatedElements) + val code = generateMethodDescriptorChecks(info) + val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val file = File(headerPath, "MethodDescriptors.h") + file.writeText(code) + file.createNewFile() + return true + } + + private fun getInfo(elements: Collection): List = + elements.map { element -> + val annotation = element.getAnnotation(SymbolicMethodDescriptor::class.java) + MemberDescriptorInfo( + annotation.nativeTypeName, + annotation.nativeMemberName, + element.simpleName.toString() + ) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt new file mode 100644 index 0000000000..9e6e46eb7b --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt @@ -0,0 +1,3 @@ +package org.usvm.annotations.codegeneration + +const val memberDescriptionQualifiedName = "Lorg/usvm/interpreter/MemberDescriptor;" \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt new file mode 100644 index 0000000000..6721c51276 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt @@ -0,0 +1,36 @@ +package org.usvm.annotations.codegeneration + +data class MemberDescriptorInfo( + val nativeTypeName: String, + val nativeMemberName: String, + val javaMemberName: String +) + +fun generateDescriptorCheck(info: MemberDescriptorInfo): String = + """ + if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && + ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &${info.nativeTypeName} && + PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "${info.nativeMemberName}") == 0) { + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$memberDescriptionQualifiedName"); + return (*env)->GetObjectField(env, cpython_adapter, field_id); + } + """.trimIndent() + +fun generateDescriptorChecks(info: List): String = + "#define MEMBER_DESCRIPTORS \\\n" + + info.joinToString("\n", transform = ::generateDescriptorCheck).replace("\n", "\\\n") + +fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = + """ + if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && + ((PyMethodDescrObject *) concrete_descriptor)->d_common.d_type == &${info.nativeTypeName} && + PyUnicode_CompareWithASCIIString(((PyMethodDescrObject *) concrete_descriptor)->d_common.d_name, "${info.nativeMemberName}") == 0) { + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$memberDescriptionQualifiedName"); + return (*env)->GetObjectField(env, cpython_adapter, field_id); + } + """.trimIndent() + + +fun generateMethodDescriptorChecks(info: List): String = + "#define METHOD_DESCRIPTORS \\\n" + + info.joinToString("\n", transform = ::generateMethodDescriptorCheck).replace("\n", "\\\n") \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor index 353189133a..94664bab0e 100644 --- a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor +++ b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor @@ -1,2 +1,4 @@ org.usvm.annotations.CPythonAdapterJavaMethodProcessor -org.usvm.annotations.CPythonFunctionProcessor \ No newline at end of file +org.usvm.annotations.CPythonFunctionProcessor +org.usvm.annotations.SymbolicMemberDescriptorProcessor +org.usvm.annotations.SymbolicMethodDescriptorProcessor \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index d7741d93a8..038d8205c8 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -44,12 +44,20 @@ public class CPythonAdapter { public int pyGT; public long symbolicIntConstructorRef; public long symbolicFloatConstructorRef; + + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "append") public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "pop") public MemberDescriptor listPopDescriptor = ListPopDescriptor.INSTANCE; + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "insert") public MemberDescriptor listInsertDescriptor = ListInsertDescriptor.INSTANCE; + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "stop") public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "step") public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; + public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict From 2b3b4e54bc708c0ae7e876c57cedcad9d1a9445e Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 10 Oct 2023 16:42:07 +0300 Subject: [PATCH 128/344] fixes for linux --- usvm-python/cpythonadapter/src/main/c/include/utils.h | 2 +- .../annotations/CPythonAdapterJavaMethodProcessor.kt | 2 +- .../org/usvm/annotations/CPythonFunctionProcessor.kt | 2 +- .../annotations/SymbolicMemberDescriptorProcessor.kt | 2 +- .../annotations/SymbolicMethodDescriptorProcessor.kt | 2 +- .../src/main/kotlin/org/usvm/annotations/Utils.kt | 11 +++++++++++ .../SymbolicMemberDescriptorGeneration.kt | 6 ++++-- 7 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 717aa40b3a..650f736e8e 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -7,7 +7,7 @@ extern "C" { #include #include "Python.h" #include "symbolicadapter.h" -#include "CPythonAdapterMethods.h" // this is generated in Gradle script from "handler_defs.json" +#include "CPythonAdapterMethods.h" // generated #define JavaPythonObjectTypeName "ibmviqhlye.___java_object___ibmviqhlye" diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt index b4136df302..33fda0f4e0 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -30,7 +30,7 @@ class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { converter.convert(element.asType()) ) } - val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val headerPath = getHeaderPath(processingEnv) val file = File(headerPath, "CPythonAdapterMethods.h") val code = generateCPythonAdapterDefs(definitions) file.writeText(code) diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index fa96dd26f2..b3ac62d660 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -23,7 +23,7 @@ class CPythonFunctionProcessor: AbstractProcessor() { val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val descriptions = getDescriptions(annotatedElements) val code = generateCPythonFunctions(descriptions) - val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val headerPath = getHeaderPath(processingEnv) val file = File(headerPath, "CPythonFunctions.h") file.writeText(code) file.createNewFile() diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt index 4c7d9337ca..2cf744129a 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt @@ -19,7 +19,7 @@ class SymbolicMemberDescriptorProcessor: AbstractProcessor() { val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val info = getInfo(annotatedElements) val code = generateDescriptorChecks(info) - val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val headerPath = getHeaderPath(processingEnv) val file = File(headerPath, "MemberDescriptors.h") file.writeText(code) file.createNewFile() diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt index 86ef01c5a4..019e8a7c3a 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt @@ -19,7 +19,7 @@ class SymbolicMethodDescriptorProcessor: AbstractProcessor() { val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val info = getInfo(annotatedElements) val code = generateMethodDescriptorChecks(info) - val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val headerPath = getHeaderPath(processingEnv) val file = File(headerPath, "MethodDescriptors.h") file.writeText(code) file.createNewFile() diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt new file mode 100644 index 0000000000..e21401f943 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt @@ -0,0 +1,11 @@ +package org.usvm.annotations + +import java.io.File +import javax.annotation.processing.ProcessingEnvironment + +fun getHeaderPath(processingEnv: ProcessingEnvironment): File { + val headerPath = processingEnv.options["headerPath"] ?: error("Header path not specified") + val result = File(headerPath) + result.mkdirs() + return result +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt index 6721c51276..94cf821425 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt @@ -18,7 +18,8 @@ fun generateDescriptorCheck(info: MemberDescriptorInfo): String = fun generateDescriptorChecks(info: List): String = "#define MEMBER_DESCRIPTORS \\\n" + - info.joinToString("\n", transform = ::generateDescriptorCheck).replace("\n", "\\\n") + info.joinToString("\n", transform = ::generateDescriptorCheck).replace("\n", "\\\n") + + "\n\n#define dummy_0 0" fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = """ @@ -33,4 +34,5 @@ fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = fun generateMethodDescriptorChecks(info: List): String = "#define METHOD_DESCRIPTORS \\\n" + - info.joinToString("\n", transform = ::generateMethodDescriptorCheck).replace("\n", "\\\n") \ No newline at end of file + info.joinToString("\n", transform = ::generateMethodDescriptorCheck).replace("\n", "\\\n") + + "\n\n#define dummy_1 1" \ No newline at end of file From 2cc7c8cf447372d0713e6cdc54149ffab0c25edb Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 12:33:36 +0300 Subject: [PATCH 129/344] Implemented SymbolicMethodProcessor --- .../cpythonadapter/src/main/c/converters.c | 45 ++++++++---- .../src/main/c/include/converters.h | 1 + .../c/org_usvm_interpreter_CPythonAdapter.c | 3 + usvm-python/src/test/kotlin/manualTest.kt | 6 +- .../org/usvm/annotations/SymbolicMethod.java | 12 ++++ .../CPythonAdapterJavaMethodProcessor.kt | 5 ++ .../org/usvm/annotations/SymbolicMethodId.kt | 9 +++ .../annotations/SymbolicMethodProcessor.kt | 64 +++++++++++++++++ .../CPythonFunctionGeneration.kt | 1 + .../SymbolicMethodGeneration.kt | 55 ++++++++++++++ .../javax.annotation.processing.Processor | 3 +- .../org/usvm/interpreter/CPythonAdapter.java | 71 ++++++++++++------- .../usvm/interpreter/ConcolicRunContext.java | 2 - .../interpreters/ConcretePythonInterpreter.kt | 8 +++ .../interpreters/USVMPythonInterpreter.kt | 4 +- .../operations/{ => basic}/Common.kt | 2 +- .../operations/{ => basic}/Constants.kt | 2 +- .../operations/{ => basic}/Control.kt | 2 +- .../operations/{ => basic}/Float.kt | 2 +- .../operations/{ => basic}/List.kt | 2 +- .../operations/{ => basic}/Long.kt | 2 +- .../{ => basic}/MethodNotifications.kt | 2 +- .../operations/{ => basic}/Range.kt | 2 +- .../operations/{ => basic}/Slice.kt | 2 +- .../operations/{ => basic}/Tuple.kt | 2 +- .../operations/{ => basic}/Virtual.kt | 2 +- .../operations/symbolicmethods/Builtins.kt | 20 ++++++ .../operations/symbolicmethods/List.kt | 10 +++ .../tracing/SymbolicHandlerEvent.kt | 26 +++++++ .../symbolicobjects/ObjectValidator.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 2 +- 31 files changed, 309 insertions(+), 62 deletions(-) create mode 100644 usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Common.kt (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Constants.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Control.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Float.kt (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/List.kt (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Long.kt (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/MethodNotifications.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Range.kt (96%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Slice.kt (96%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Tuple.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/{ => basic}/Virtual.kt (98%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index 4ac21d7d6e..5906bffc46 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -1,43 +1,44 @@ #include "converters.h" #include "utils.h" -jlong frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail) { +jlong +frame_converter(ConcolicContext *ctx, PyFrameObject *value, int *fail) { return (jlong) value; } -jobject object_converter(ConcolicContext *ctx, PyObject *value, int *fail) { +jobject +object_converter(ConcolicContext *ctx, PyObject *value, int *fail) { if (!is_wrapped_java_object(value)) { - //printf("FAILED TO CONVERT OBJECT OF TYPE %s\n", Py_TYPE(value)->tp_name); - //fflush(stdout); *fail = 1; return 0; } - //printf("Successfully converted\n"); - //fflush(stdout); return ((JavaPythonObject *) value)->reference; } -jint int_converter(ConcolicContext *ctx, int value, int *fail) { +jint +int_converter(ConcolicContext *ctx, int value, int *fail) { return value; } -jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail) { +jlong +ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail) { return (jlong) ref; } -PyObject *ref_wrapper(ConcolicContext *ctx, jlong value) { +PyObject * +ref_wrapper(ConcolicContext *ctx, jlong value) { return (PyObject *) value; } -PyObject *object_wrapper(ConcolicContext *ctx, jobject value) { +PyObject * +object_wrapper(ConcolicContext *ctx, jobject value) { if (!value) return Py_None; return wrap_java_object(ctx->env, value); } -jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) { - int n = 0; - while (elems[n] != 0) n++; +static jobjectArray +convert_array(ConcolicContext *ctx, int n, PyObject **elems, int *fail) { jobjectArray symbol_array = (*ctx->env)->NewObjectArray(ctx->env, n, ctx->symbol_cls, 0); for (int i = 0; i < n; i++) { if (!is_wrapped_java_object(elems[i])) { @@ -48,10 +49,24 @@ jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) jobject elem = ((JavaPythonObject *) elems[i])->reference; (*ctx->env)->SetObjectArrayElement(ctx->env, symbol_array, i, elem); } - return symbol_array; } -jstring string_converter(ConcolicContext *ctx, const char *str, int *fail) { +jobjectArray +array_converter(ConcolicContext *ctx, PyObject **elems, int *fail) { + int n = 0; + while (elems[n] != 0) n++; + return convert_array(ctx, n, elems, fail); +} + +jobjectArray +tuple_converter(ConcolicContext *ctx, PyObject *tuple, int *fail) { + assert(PyTuple_Check(tuple)); + int n = PyTuple_GET_SIZE(tuple); + return convert_array(ctx, n, ((PyTupleObject *) tuple)->ob_item, fail); +} + +jstring +string_converter(ConcolicContext *ctx, const char *str, int *fail) { return (*ctx->env)->NewStringUTF(ctx->env, str); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index 1668482ec9..d06674ec6d 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -15,6 +15,7 @@ jlong ref_converter(ConcolicContext *ctx, PyObject *ref, int *fail); PyObject *ref_wrapper(ConcolicContext *ctx, jlong value); PyObject *object_wrapper(ConcolicContext *ctx, jobject value); jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); +jobjectArray tuple_converter(ConcolicContext *ctx, PyObject *tuple, int *fail); jstring string_converter(ConcolicContext *ctx, const char *str, int *fail); #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 95f054404e..202ffd2b4d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -8,6 +8,7 @@ #include "descriptors.h" #include "symbolic_methods.h" #include "CPythonFunctions.h" // generated +#include "SymbolicMethods.h" // generated #include "symbolicadapter.h" @@ -84,6 +85,8 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) SymbolicMethod *float_constructor = construct_symbolic_method_without_self(SymbolicMethod_float); SET_LONG_FIELD("symbolicFloatConstructorRef", (jlong) float_constructor) + + SYMBOLIC_METHOD_INITIALIZATION } JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 06af637b66..145715f8ff 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,6 +5,7 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild @@ -21,9 +22,10 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { + ConcretePythonInterpreter.printIdInfo() // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() - analyze(config) + // val config = buildSampleRunConfig() + // analyze(config) // checkConcolicAndConcrete(config) } diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java new file mode 100644 index 0000000000..0bc4eecec7 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java @@ -0,0 +1,12 @@ +package org.usvm.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.SOURCE) +public @interface SymbolicMethod { + SymbolicMethodId id(); +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt index 33fda0f4e0..d5cf95e68e 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -22,8 +22,13 @@ class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { return false val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val usedNames = mutableSetOf() val definitions = annotatedElements.map { element -> val curAnnotation = element.getAnnotation(CPythonAdapterJavaMethod::class.java) + require(curAnnotation.cName !in usedNames) { + "c name ${curAnnotation.cName} must be used only once" + } + usedNames.add(curAnnotation.cName) DefinitionDescriptor( curAnnotation.cName, element.simpleName.toString(), diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt new file mode 100644 index 0000000000..96e7e85db8 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt @@ -0,0 +1,9 @@ +package org.usvm.annotations + +enum class SymbolicMethodId( + var cName: String? = null, // will be set based on annotation CPythonAdapterJavaMethod + var cRef: Long = 0L // will be set in native code during Python initialization +) { + Int, + Float +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt new file mode 100644 index 0000000000..2e1d6bf29a --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -0,0 +1,64 @@ +package org.usvm.annotations + +import org.usvm.annotations.codegeneration.generateSymbolicMethod +import org.usvm.annotations.codegeneration.generateSymbolicMethodInitialization +import java.io.File +import javax.annotation.processing.* +import javax.lang.model.SourceVersion +import javax.lang.model.element.Element +import javax.lang.model.element.ExecutableElement +import javax.lang.model.element.TypeElement +import javax.lang.model.type.ArrayType + +@SupportedAnnotationTypes("org.usvm.annotations.SymbolicMethod") +@SupportedOptions("headerPath") +@SupportedSourceVersion(SourceVersion.RELEASE_8) +class SymbolicMethodProcessor: AbstractProcessor() { + override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { + if (annotations.size != 1) + return false + val annotation = annotations.stream().findFirst().get() + val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) + val functionsCode = generateFunctions(annotatedElements) + val init = generateSymbolicMethodInitialization() + val headerPath = getHeaderPath(processingEnv) + val file = File(headerPath, "SymbolicMethods.h") + file.writeText(init + "\n\n" + functionsCode) + file.createNewFile() + return true + } + + private fun generateFunctions(annotatedElements: Collection): String { + val definedIds = mutableSetOf() + val result = annotatedElements.fold("") { acc, element -> + require(element is ExecutableElement) + val formatMsg = "Incorrect signature of SymbolicMethod ${element.simpleName}" + require(element.parameters.size == 3) { formatMsg } + val arg0 = element.parameters.first().asType().toString().split(".").last() + require(arg0 == "ConcolicRunContext") { formatMsg } + val arg1 = element.parameters[1].asType().toString().split(".").last() + require(arg1 == "SymbolForCPython") { formatMsg } + val arg2 = element.parameters[2].asType() + require(arg2 is ArrayType) { formatMsg } + val arg2Elem = arg2.componentType.toString().split(".").last() + require(arg2Elem == "SymbolForCPython") { formatMsg } + val elementAnnotation = element.getAnnotation(SymbolicMethod::class.java)!! + require(elementAnnotation.id !in definedIds) { + "SymbolicMethodId ${elementAnnotation.id} must be used in SymbolicMethod only once" + } + definedIds.add(elementAnnotation.id) + val headerAnnotation = element.getAnnotation(CPythonAdapterJavaMethod::class.java) + ?: error("Function annotated with SymbolicMethod must also be annotated with CPythonAdapterJavaMethod") + val name = headerAnnotation.cName + elementAnnotation.id.cName = name + acc + generateSymbolicMethod(elementAnnotation.id) + "\n\n" + } + SymbolicMethodId.values().forEach { + require(it in definedIds) { + "SymbolicMethodId $it has no definition" + } + require(it.cName != null) + } + return result + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index d8d6a9d0d2..6776867aa8 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -7,6 +7,7 @@ enum class ObjectConverter(val repr: String) { RefConverter("ref_converter"), ObjectWrapper("object_wrapper"), ArrayConverter("array_converter"), + TupleConverter("tuple_converter"), StringConverter("string_converter"), NoConverter("") } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt new file mode 100644 index 0000000000..65a4085c13 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -0,0 +1,55 @@ +package org.usvm.annotations.codegeneration + +import org.usvm.annotations.SymbolicMethodId + +fun generateSymbolicMethod(id: SymbolicMethodId): String { + val cpythonFunctionInfo = CPythonFunctionDescription( + id.cName!!, + listOf( + ArgumentDescription( + CType.PyObject, + JavaType.JObject, + ObjectConverter.StandardConverter + ), + ArgumentDescription( + CType.PyObject, + JavaType.JObjectArray, + ObjectConverter.TupleConverter + ) + ), + ArgumentDescription( + CType.PyObject, + JavaType.JObject, + ObjectConverter.ObjectWrapper + ), + "0", + "Py_None", + addToSymbolicAdapter = false + ) + return generateCPythonFunction(cpythonFunctionInfo) +} + +fun generateSymbolicMethodInitialization(): String { + val clsName = SymbolicMethodId::class.java.canonicalName.replace('.', '/') + val prefix = """ + jclass symbolicMethodIdCls = (*env)->FindClass(env, "$clsName"); + assert(!(*env)->ExceptionCheck(env)); + jfieldID symbolicMethodIdRefField = (*env)->GetFieldID(env, symbolicMethodIdCls, "cRef", "J"); + jfieldID symbolicMethodCurFieldID; + jobject symbolicMethodCurObject; + jlong symbolicMethodCurRef; + """.trimIndent() + val clsNameDescr = "L$clsName;" + val items = SymbolicMethodId.values().map { + require(it.cName != null) + """ + symbolicMethodCurFieldID = (*env)->GetStaticFieldID(env, symbolicMethodIdCls, "${it.name}", "$clsNameDescr"); + symbolicMethodCurObject = (*env)->GetStaticObjectField(env, symbolicMethodIdCls, symbolicMethodCurFieldID); + symbolicMethodCurRef = (jlong) ${it.cName}; + (*env)->SetLongField(env, symbolicMethodCurObject, symbolicMethodIdRefField, symbolicMethodCurRef); + """.trimIndent() + } + return "#define SYMBOLIC_METHOD_INITIALIZATION \\\n" + + prefix.replace("\n", "\\\n") + "\\\n" + + items.joinToString("\n").replace("\n", "\\\n") + "\n" +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor index 94664bab0e..1121b07330 100644 --- a/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor +++ b/usvm-python/usvm-python-annotations/src/main/resources/META-INF/services/javax.annotation.processing.Processor @@ -1,4 +1,5 @@ org.usvm.annotations.CPythonAdapterJavaMethodProcessor org.usvm.annotations.CPythonFunctionProcessor org.usvm.annotations.SymbolicMemberDescriptorProcessor -org.usvm.annotations.SymbolicMethodDescriptorProcessor \ No newline at end of file +org.usvm.annotations.SymbolicMethodDescriptorProcessor +org.usvm.annotations.SymbolicMethodProcessor \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 038d8205c8..f07fafe952 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -17,17 +17,20 @@ import java.util.Collections; import java.util.concurrent.Callable; -import static org.usvm.machine.interpreters.operations.CommonKt.*; -import static org.usvm.machine.interpreters.operations.ConstantsKt.handlerLoadConstKt; -import static org.usvm.machine.interpreters.operations.ControlKt.handlerForkKt; -import static org.usvm.machine.interpreters.operations.FloatKt.*; -import static org.usvm.machine.interpreters.operations.ListKt.*; -import static org.usvm.machine.interpreters.operations.LongKt.*; -import static org.usvm.machine.interpreters.operations.MethodNotificationsKt.*; -import static org.usvm.machine.interpreters.operations.RangeKt.*; -import static org.usvm.machine.interpreters.operations.SliceKt.handlerCreateSliceKt; -import static org.usvm.machine.interpreters.operations.TupleKt.*; -import static org.usvm.machine.interpreters.operations.VirtualKt.*; +import static org.usvm.machine.interpreters.operations.basic.CommonKt.*; +import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; +import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; +import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; +import static org.usvm.machine.interpreters.operations.basic.ListKt.*; +import static org.usvm.machine.interpreters.operations.basic.LongKt.*; +import static org.usvm.machine.interpreters.operations.basic.MethodNotificationsKt.*; +import static org.usvm.machine.interpreters.operations.basic.RangeKt.*; +import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; +import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; +import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; +import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodFloatKt; +import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodIntKt; +import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -120,7 +123,7 @@ public static void handlerInstruction(@NotNull ConcolicRunContext context, long int instruction = getInstructionFromFrame(frameRef); long functionRef = getFunctionFromFrame(frameRef); PythonObject function = new PythonObject(functionRef); - PathTracingKt.withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); + withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); } private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { @@ -134,7 +137,7 @@ private static SymbolForCPython methodWrapper( SymbolicHandlerEventParameters params, Callable valueSupplier ) { - return PathTracingKt.withTracing( + return withTracing( context, params, () -> { @@ -159,7 +162,7 @@ private static Callable unit(Runnable function) { ) public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { PythonObject obj = new PythonObject(ref); - return PathTracingKt.withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); + return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); } @CPythonAdapterJavaMethod(cName = "fork_notify") @@ -170,7 +173,7 @@ public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond) { if (cond.obj == null) return; - PathTracingKt.withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); + withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } @CPythonAdapterJavaMethod(cName = "fork_result") @@ -190,7 +193,7 @@ public static void handlerForkResult(ConcolicRunContext context, SymbolForCPytho public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython iterable, int count) { if (iterable.obj == null) return; - PathTracingKt.withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); + withTracing(context, new Unpack(iterable, count), unit(() -> handlerUnpackKt(context, iterable.obj, count))); } @CPythonAdapterJavaMethod(cName = "is_op") @@ -201,7 +204,7 @@ public static void handlerUnpack(ConcolicRunContext context, SymbolForCPython it public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return; - PathTracingKt.withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); + withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } @CPythonAdapterJavaMethod(cName = "none_check") @@ -212,7 +215,7 @@ public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left public static void handlerNoneCheck(ConcolicRunContext context, SymbolForCPython on) { if (on.obj == null) return; - PathTracingKt.withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); + withTracing(context, new MethodParametersNoReturn("none_check", Collections.singletonList(on)), unit(() -> handlerNoneCheckKt(context, on.obj))); } @CPythonAdapterJavaMethod(cName = "gt_long") @@ -507,7 +510,7 @@ public static SymbolForCPython handlerCreateList(ConcolicRunContext context, Sym if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; ListCreation event = new ListCreation(Arrays.asList(elements)); - return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return withTracing(context, event, () -> wrap(handlerCreateListKt(context, Arrays.stream(elements).map(s -> s.obj)))); } @CPythonAdapterJavaMethod(cName = "create_tuple") @@ -519,7 +522,7 @@ public static SymbolForCPython handlerCreateTuple(ConcolicRunContext context, Sy if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) return null; TupleCreation event = new TupleCreation(Arrays.asList(elements)); - return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); + return withTracing(context, event, () -> wrap(handlerCreateTupleKt(context, Arrays.stream(elements).map(s -> s.obj)))); } @CPythonAdapterJavaMethod(cName = "create_range") @@ -531,7 +534,7 @@ public static SymbolForCPython handlerCreateRange(ConcolicRunContext context, Sy if (start.obj == null || stop.obj == null || step.obj == null) return null; MethodParameters event = new MethodParameters("create_range", Arrays.asList(start, stop, step)); - return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); + return withTracing(context, event, () -> wrap(handlerCreateRangeKt(context, start.obj, stop.obj, step.obj))); } @CPythonAdapterJavaMethod(cName = "create_slice") @@ -543,7 +546,7 @@ public static SymbolForCPython handlerCreateSlice(ConcolicRunContext context, Sy if (start.obj == null || stop.obj == null || step.obj == null) return null; MethodParameters event = new MethodParameters("create_slice", Arrays.asList(start, stop, step)); - return PathTracingKt.withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); + return withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); } @CPythonAdapterJavaMethod(cName = "range_iter") @@ -631,7 +634,7 @@ public static SymbolForCPython handlerListAppend(ConcolicRunContext context, Sym public static void handlerListSetItem(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; - PathTracingKt.withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); + withTracing(context, new MethodParametersNoReturn("list_set_item", Arrays.asList(list, index, value)), unit(() -> handlerListSetItemKt(context, list.obj, index.obj, value.obj))); } @CPythonAdapterJavaMethod(cName = "list_get_size") @@ -697,7 +700,7 @@ public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, Sym public static void handlerListInsert(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { if (list.obj == null || index.obj == null || value.obj == null) return; - PathTracingKt.withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); + withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); } @CPythonAdapterJavaMethod(cName = "tuple_get_size") @@ -751,7 +754,7 @@ public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext conte ) public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { PythonObject code = new PythonObject(codeRef); - PathTracingKt.withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); + withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); } @CPythonAdapterJavaMethod(cName = "function_return") @@ -760,7 +763,7 @@ public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) argConverters = {ObjectConverter.RefConverter} ) public static void handlerReturn(ConcolicRunContext context, long codeRef) { - PathTracingKt.withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); + withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); } @CPythonAdapterJavaMethod(cName = "symbolic_virtual_unary_fun") @@ -985,6 +988,20 @@ public static void lostSymbolicValue(ConcolicRunContext context, String descript public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext context, SymbolForCPython obj, SymbolForCPython name) { if (obj.obj == null || name.obj == null) return null; - return PathTracingKt.withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); + return withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); + } + + @CPythonAdapterJavaMethod(cName = "symbolic_method_int") + @SymbolicMethod(id = SymbolicMethodId.Int) + public static SymbolForCPython symbolicMethodInt(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + assert(self == null); + return withTracing(context, new SymbolicMethodParameters("int", null, args), () -> symbolicMethodIntKt(context, args)); + } + + @CPythonAdapterJavaMethod(cName = "symbolic_method_float") + @SymbolicMethod(id = SymbolicMethodId.Float) + public static SymbolForCPython symbolicMethodFloat(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + assert(self == null); + return withTracing(context, new SymbolicMethodParameters("float", null, args), () -> symbolicMethodFloatKt(context, args)); } } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 0880b1a64a..f8d76e0102 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,7 +2,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.language.types.PythonType; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent; @@ -12,7 +11,6 @@ import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; import org.usvm.machine.symbolicobjects.ConverterToPythonObject; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; -import org.usvm.types.UTypeStream; import java.util.*; import java.util.concurrent.Callable; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 4ab695e4c7..41768dbe75 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters +import org.usvm.annotations.SymbolicMethodId import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter @@ -287,6 +288,13 @@ object ConcretePythonInterpreter { init { initialize() } + + fun printIdInfo() { // for debugging + SymbolicMethodId.values().forEach { + println(it) + println(it.cRef) + } + } } class CPythonExecutionException( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 29ee743a40..dde9870aab 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -4,8 +4,8 @@ import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonPinnedCallable -import org.usvm.machine.interpreters.operations.BadModelException -import org.usvm.machine.interpreters.operations.UnregisteredVirtualOperation +import org.usvm.machine.interpreters.operations.basic.BadModelException +import org.usvm.machine.interpreters.operations.basic.UnregisteredVirtualOperation import org.usvm.machine.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 19830099c8..ee9fcb0588 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt index 278b152fa3..2464774f40 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.interpreters.ConcretePythonInterpreter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index 6481b29624..197c29deee 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KBoolSort import org.usvm.UExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt index 243c18e93c..7f2b9fa0af 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.UBoolExpr import org.usvm.UExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt index da92e18fe8..fb5868262c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KIntSort import org.usvm.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt index e2a51a87b5..62d317b185 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index 92f4121d1e..ae67600a1c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt index c384ed888f..ac1f87a99a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt index a05ea95d03..eaed5da159 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.SliceUninterpretedField diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt index 77f0e1a13f..0bba4537f4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.* import org.usvm.api.readArrayLength diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index b8968339de..1b877d10da 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations +package org.usvm.machine.interpreters.operations.basic import org.usvm.* import org.usvm.interpreter.ConcolicRunContext diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt new file mode 100644 index 0000000000..75c0454af0 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt @@ -0,0 +1,20 @@ +package org.usvm.machine.interpreters.operations.symbolicmethods + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.operations.basic.handlerFloatCastKt +import org.usvm.machine.interpreters.operations.basic.handlerIntCastKt + +fun symbolicMethodIntKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { + if (args.size != 1) + return null + val value = args[0].obj ?: return null + return handlerIntCastKt(ctx, value)?.let { SymbolForCPython(it, 0) } +} + +fun symbolicMethodFloatKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { + if (args.size != 1) + return null + val value = args[0].obj ?: return null + return handlerFloatCastKt(ctx, value)?.let { SymbolForCPython(it, 0) } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt new file mode 100644 index 0000000000..73440539c1 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt @@ -0,0 +1,10 @@ +package org.usvm.machine.interpreters.operations.symbolicmethods + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython + +/* +fun symbolicMethodAppend(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { + +} + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index 20c32c1857..e05c36f17c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -22,6 +22,32 @@ data class MethodParameters( val name: String, val operands: List ): SymbolicHandlerEventParameters() +data class SymbolicMethodParameters( + val name: String, + val self: SymbolForCPython?, + val args: Array +): SymbolicHandlerEventParameters() { + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as SymbolicMethodParameters + + if (name != other.name) return false + if (self != other.self) return false + if (!args.contentEquals(other.args)) return false + + return true + } + + override fun hashCode(): Int { + var result = name.hashCode() + result = 31 * result + self.hashCode() + result = 31 * result + args.contentHashCode() + return result + } +} + data class MethodParametersNoReturn( val name: String, val operands: List diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index a9ec9696d0..e9b446f583 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -8,7 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType import org.usvm.language.types.MockType import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.interpreters.operations.myAssert +import org.usvm.machine.interpreters.operations.basic.myAssert class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private val checked = mutableSetOf() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index b64ed4e5e2..c9b27f2c38 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -8,7 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable import org.usvm.language.TimeOfCreation import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.interpreters.operations.myAssert +import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.language.types.* import org.usvm.machine.UPythonContext import org.usvm.memory.UMemory From f375e1fc1d2becdbb6d5f065f4762d9b522e16c3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 16:10:59 +0300 Subject: [PATCH 130/344] Switched to new SymbolicMethods --- .../src/main/c/approximations/builtins.c | 20 --------- .../src/main/c/approximations/list.c | 44 ------------------- .../cpythonadapter/src/main/c/converters.c | 5 +++ .../src/main/c/include/approximations.h | 5 --- .../src/main/c/include/converters.h | 1 + .../org_usvm_interpreter_CPythonAdapter.h | 24 ++-------- .../src/main/c/include/symbolic_methods.h | 9 ++-- .../c/org_usvm_interpreter_CPythonAdapter.c | 20 ++------- .../src/main/c/symbolic_methods.c | 16 ++----- usvm-python/src/test/kotlin/manualTest.kt | 6 +-- .../org/usvm/annotations/SymbolicMethodId.kt | 5 ++- .../annotations/SymbolicMethodProcessor.kt | 1 + .../CPythonFunctionGeneration.kt | 4 +- .../SymbolicMethodGeneration.kt | 20 ++++++++- usvm-python/usvm-python-main/build.gradle.kts | 1 + .../org/usvm/interpreter/CPythonAdapter.java | 32 ++++++++++---- .../usvm/interpreter/MemberDescriptor.java | 2 +- .../interpreters/ConcretePythonInterpreter.kt | 20 +-------- .../interpreters/SymbolicClonesOfGlobals.kt | 5 ++- .../operations/descriptors/List.kt | 25 ----------- .../descriptors/MethodDescriptor.kt | 14 ++++++ .../operations/descriptors/Slice.kt | 9 ++-- .../operations/symbolicmethods/List.kt | 30 +++++++++++-- .../operations/symbolicmethods/Utils.kt | 10 +++++ 24 files changed, 139 insertions(+), 189 deletions(-) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index ef511337c2..e69492589c 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -136,24 +136,4 @@ Approximation_sum(PyObject *iterable) { PyObject *res = Py_TYPE(wrapped_func)->tp_call(wrapped_func, args, 0); Py_DECREF(args); return res; -} - -PyObject * -SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs) { - assert(self == NULL && args && PyTuple_Check(args)); - if (PyTuple_Size(args) != 1 || kwargs) - return Py_None; - PyObject *arg = PyTuple_GetItem(args, 0); - PyObject *result = adapter->symbolic_int_cast(adapter->handler_param, arg); - return result; -} - -PyObject * -SymbolicMethod_float(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs) { - assert(self == NULL && args && PyTuple_Check(args)); - if (PyTuple_Size(args) != 1 || kwargs) - return Py_None; - PyObject *arg = PyTuple_GetItem(args, 0); - PyObject *result = adapter->symbolic_float_cast(adapter->handler_param, arg); - return result; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 21b72566ef..8805470c65 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -202,50 +202,6 @@ Approximation_list_richcompare(PyObject *v, PyObject *w, int op) { return result; } -PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { - if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 1 || kwargs) - return Py_None; - PyObject *symbolic_elem = PyTuple_GetItem(args, 0); - PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); - PyObject *self = adapter->list_append(adapter->handler_param, symbolic_list, symbolic_elem); - Py_DECREF(symbolic_list); - if (!self) - return 0; - PyObject *result = adapter->load_const(adapter->handler_param, Py_None); - if (!result) - return 0; - return result; -} - -PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { - if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) > 1 || kwargs) - return Py_None; - PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); - PyObject *result = Py_None; - if (PyTuple_GET_SIZE(args) == 0) { - result = adapter->list_pop(adapter->handler_param, symbolic_list); - } else if (PyTuple_GET_SIZE(args) == 1) { - PyObject *ind = PyTuple_GetItem(args, 0); - result = adapter->list_pop_ind(adapter->handler_param, symbolic_list, ind); - } - Py_DECREF(symbolic_list); - return result; -} - -PyObject *SymbolicMethod_list_insert(SymbolicAdapter *adapter, jobject self_reference_list, PyObject *args, PyObject *kwargs) { - if (args == 0 || !PyTuple_Check(args) || PyTuple_GET_SIZE(args) != 2 || kwargs) - return Py_None; - PyObject *symbolic_list = object_wrapper((ConcolicContext *) adapter->handler_param, self_reference_list); - PyObject *ind = PyTuple_GetItem(args, 0); - PyObject *value = PyTuple_GetItem(args, 1); - if (adapter->list_insert(adapter->handler_param, symbolic_list, ind, value)) { - Py_DECREF(symbolic_list); - return 0; - } - Py_DECREF(symbolic_list); - return adapter->load_const(adapter->handler_param, Py_None); -} - PyObject * Approximation_list_repeat(PyObject *self, PyObject *n) { assert(is_wrapped(self) && is_wrapped(n)); diff --git a/usvm-python/cpythonadapter/src/main/c/converters.c b/usvm-python/cpythonadapter/src/main/c/converters.c index 5906bffc46..349f62ee2e 100644 --- a/usvm-python/cpythonadapter/src/main/c/converters.c +++ b/usvm-python/cpythonadapter/src/main/c/converters.c @@ -69,4 +69,9 @@ tuple_converter(ConcolicContext *ctx, PyObject *tuple, int *fail) { jstring string_converter(ConcolicContext *ctx, const char *str, int *fail) { return (*ctx->env)->NewStringUTF(ctx->env, str); +} + +jobject +object_id_converter(ConcolicContext *ctx, jobject obj, int *fail) { + return obj; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index 0a42219270..e625c981ca 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -21,14 +21,9 @@ PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range PyObject *Approximation_sum(PyObject *iterable); // builtins.sum -PyObject *SymbolicMethod_int(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // int() -PyObject *SymbolicMethod_float(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // float() PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat -PyObject *SymbolicMethod_list_append(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.append -PyObject *SymbolicMethod_list_pop(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.pop -PyObject *SymbolicMethod_list_insert(SymbolicAdapter *adapter, jobject self, PyObject *args, PyObject *kwargs); // list.insert PyObject *Approximation_list_slice_get_item(PyObject *self, PyObject *slice); // list[slice] #ifdef __cplusplus diff --git a/usvm-python/cpythonadapter/src/main/c/include/converters.h b/usvm-python/cpythonadapter/src/main/c/include/converters.h index d06674ec6d..c18ce77b54 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/converters.h +++ b/usvm-python/cpythonadapter/src/main/c/include/converters.h @@ -17,6 +17,7 @@ PyObject *object_wrapper(ConcolicContext *ctx, jobject value); jobjectArray array_converter(ConcolicContext *ctx, PyObject **elems, int *fail); jobjectArray tuple_converter(ConcolicContext *ctx, PyObject *tuple, int *fail); jstring string_converter(ConcolicContext *ctx, const char *str, int *fail); +jobject object_id_converter(ConcolicContext *ctx, jobject obj, int *fail); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 0a760d188a..b097212bb9 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -353,27 +353,11 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe /* * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructListAppendMethod - * Signature: (Lorg/usvm/language/SymbolForCPython;)J + * Method: constructPartiallyAppliedSymbolicMethod + * Signature: (Lorg/usvm/language/SymbolForCPython;J)J */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod - (JNIEnv *, jobject, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructListPopMethod - * Signature: (Lorg/usvm/language/SymbolForCPython;)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod - (JNIEnv *, jobject, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructListInsertMethod - * Signature: (Lorg/usvm/language/SymbolForCPython;)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListInsertMethod - (JNIEnv *, jobject, jobject); +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedSymbolicMethod + (JNIEnv *, jobject, jobject, jlong); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index af58465bf5..97a8b809f3 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -8,17 +8,18 @@ extern "C" { #include "Python.h" #include "symbolicadapter.h" -typedef PyObject *(call_type)(SymbolicAdapter *adapter, jobject self_reference, PyObject *args, PyObject *kwargs); +#include "utils.h" + +typedef PyObject *(*call_type)(void *ctx, jobject self_reference, PyObject *args); //, PyObject *kwargs); typedef struct { - call_type *call; + call_type call; jobject self_reference; } SymbolicMethod; void clean_methods(); SymbolicMethod *construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call); -SymbolicMethod *construct_symbolic_method_without_self(call_type call); -PyObject *call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs); +PyObject *call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 202ffd2b4d..c6beba3d84 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -81,11 +81,6 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); - SymbolicMethod *int_constructor = construct_symbolic_method_without_self(SymbolicMethod_int); - SET_LONG_FIELD("symbolicIntConstructorRef", (jlong) int_constructor) - SymbolicMethod *float_constructor = construct_symbolic_method_without_self(SymbolicMethod_float); - SET_LONG_FIELD("symbolicFloatConstructorRef", (jlong) float_constructor) - SYMBOLIC_METHOD_INITIALIZATION } @@ -206,7 +201,7 @@ symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs jlong ref = (*ctx->env)->GetLongField(ctx->env, symbol, ctx->symbol_tp_call_ref); if (ref == 0) return Py_None; - return call_symbolic_method((SymbolicMethod *) ref, ctx->adapter, args, kwargs); + return call_symbolic_method((SymbolicMethod *) ref, ctx, args, kwargs); } JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( @@ -502,14 +497,7 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe return get_symbolic_descriptor(env, adapter, (PyObject *) descr_ref); } -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListAppendMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { - return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_append); -} - -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListPopMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { - return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_pop); -} - -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructListInsertMethod(JNIEnv *env, jobject _, jobject symbolic_list_ref) { - return (jlong) construct_symbolic_method_with_self(env, symbolic_list_ref, SymbolicMethod_list_insert); +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedSymbolicMethod(JNIEnv *env, jobject _, jobject self, jlong method_ref) { + assert(method_ref); + return (jlong) construct_symbolic_method_with_self(env, self, (call_type) method_ref); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index d7ee08463b..d8ae51b14f 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -29,17 +29,9 @@ construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_typ return result; } -SymbolicMethod * -construct_symbolic_method_without_self(call_type call) { - assert(methods_holder); - SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); - result->call = call; - result->self_reference = 0; - add_ref_to_list(&methods_holder, result); - return result; -} - PyObject * -call_symbolic_method(SymbolicMethod *method, SymbolicAdapter *adapter, PyObject *args, PyObject *kwargs) { - return method->call(adapter, method->self_reference, args, kwargs); +call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs) { + if (kwargs) + return Py_None; // TODO + return method->call(ctx, method->self_reference, args); } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 145715f8ff..25dae82a01 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -22,10 +22,10 @@ import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { - ConcretePythonInterpreter.printIdInfo() + // ConcretePythonInterpreter.printIdInfo() // val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() - // analyze(config) + val config = buildSampleRunConfig() + analyze(config) // checkConcolicAndConcrete(config) } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt index 96e7e85db8..1c789941fc 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt @@ -5,5 +5,8 @@ enum class SymbolicMethodId( var cRef: Long = 0L // will be set in native code during Python initialization ) { Int, - Float + Float, + ListAppend, + ListInsert, + ListPop } \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index 2e1d6bf29a..89adeac859 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -1,5 +1,6 @@ package org.usvm.annotations +import org.usvm.annotations.codegeneration.generateMethodCheck import org.usvm.annotations.codegeneration.generateSymbolicMethod import org.usvm.annotations.codegeneration.generateSymbolicMethodInitialization import java.io.File diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index 6776867aa8..d73f5b9449 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -9,6 +9,7 @@ enum class ObjectConverter(val repr: String) { ArrayConverter("array_converter"), TupleConverter("tuple_converter"), StringConverter("string_converter"), + ObjectIdConverter("object_id_converter"), NoConverter("") } @@ -17,7 +18,8 @@ enum class CType(val repr: String) { PyObjectArray("PyObject **"), PyFrameObject("PyFrameObject *"), CInt("int"), - CStr("const char *") + CStr("const char *"), + JObject("jobject") } enum class JavaType(val repr: String, val call: String) { diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index 65a4085c13..1e4368191e 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -7,9 +7,9 @@ fun generateSymbolicMethod(id: SymbolicMethodId): String { id.cName!!, listOf( ArgumentDescription( - CType.PyObject, + CType.JObject, JavaType.JObject, - ObjectConverter.StandardConverter + ObjectConverter.ObjectIdConverter ), ArgumentDescription( CType.PyObject, @@ -52,4 +52,20 @@ fun generateSymbolicMethodInitialization(): String { return "#define SYMBOLIC_METHOD_INITIALIZATION \\\n" + prefix.replace("\n", "\\\n") + "\\\n" + items.joinToString("\n").replace("\n", "\\\n") + "\n" +} + +fun generateMethodCheck(): String { + val items = SymbolicMethodId.values().map { + """ + if (ptr == ${it.cName}) + return ${it.cName}; + """.trimIndent() + } + + return """ + static call_type find_symbolic_method(void *ptr) { + ${items.joinToString("\n").replace("\n", "\n ")} + assert(0); // not reachable + } + """.trimIndent() } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index 238601a017..326cbb3e30 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -8,6 +8,7 @@ tasks.compileJava { // to suppress "No processor claimed any of these annotations: org.jetbrains.annotations.Nullable,org.jetbrains.annotations.NotNull" options.compilerArgs.add("-Xlint:-processing") options.compilerArgs.add("-AheaderPath=${headerPath.canonicalPath}") + outputs.dirs(headerPath) } // from GRADLE_USER_HOME/gradle.properties diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index f07fafe952..ac258c2f7c 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -30,6 +30,7 @@ import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodFloatKt; import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodIntKt; +import static org.usvm.machine.interpreters.operations.symbolicmethods.ListKt.*; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") @@ -45,15 +46,13 @@ public class CPythonAdapter { public int pyLT; public int pyGE; public int pyGT; - public long symbolicIntConstructorRef; - public long symbolicFloatConstructorRef; @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "append") - public MemberDescriptor listAppendDescriptor = ListAppendDescriptor.INSTANCE; + public MemberDescriptor listAppendDescriptor = new MethodDescriptor(SymbolicMethodId.ListAppend); @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "pop") - public MemberDescriptor listPopDescriptor = ListPopDescriptor.INSTANCE; + public MemberDescriptor listPopDescriptor = new MethodDescriptor(SymbolicMethodId.ListPop); @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "insert") - public MemberDescriptor listInsertDescriptor = ListInsertDescriptor.INSTANCE; + public MemberDescriptor listInsertDescriptor = new MethodDescriptor(SymbolicMethodId.ListInsert); @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "stop") @@ -105,10 +104,7 @@ public class CPythonAdapter { public native long typeLookup(long typeRef, String name); @Nullable public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); - public native long constructListAppendMethod(SymbolForCPython symbolicList); - public native long constructListPopMethod(SymbolForCPython symbolicList); - public native long constructListInsertMethod(SymbolForCPython symbolicList); - + public native long constructPartiallyAppliedSymbolicMethod(SymbolForCPython self, long methodRef); static { System.loadLibrary("cpythonadapter"); } @@ -1004,4 +1000,22 @@ public static SymbolForCPython symbolicMethodFloat(ConcolicRunContext context, @ assert(self == null); return withTracing(context, new SymbolicMethodParameters("float", null, args), () -> symbolicMethodFloatKt(context, args)); } + + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_append") + @SymbolicMethod(id = SymbolicMethodId.ListAppend) + public static SymbolForCPython symbolicMethodListAppend(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("list_append", self, args), () -> symbolicMethodListAppendKt(context, self, args)); + } + + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_insert") + @SymbolicMethod(id = SymbolicMethodId.ListInsert) + public static SymbolForCPython symbolicMethodListInsert(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("list_insert", self, args), () -> symbolicMethodListInsertKt(context, self, args)); + } + + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_pop") + @SymbolicMethod(id = SymbolicMethodId.ListPop) + public static SymbolForCPython symbolicMethodListPop(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("list_pop", self, args), () -> symbolicMethodListPopKt(context, self, args)); + } } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java index e3cba8ce41..0074372868 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java @@ -6,5 +6,5 @@ public abstract class MemberDescriptor { @Nullable - public abstract SymbolForCPython getMember(ConcolicRunContext ctx, UninterpretedSymbolicPythonObject owner); + public abstract SymbolForCPython getMember(ConcolicRunContext ctx, @Nullable UninterpretedSymbolicPythonObject owner); } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 41768dbe75..ad72592df5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -189,20 +189,8 @@ object ConcretePythonInterpreter { return pythonAdapter.getSymbolicDescriptor(concreteDescriptor.address) } - fun constructListAppendMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { - val ref = pythonAdapter.constructListAppendMethod(SymbolForCPython(self, 0)); - require(ref != 0L) - return SymbolForCPython(null, ref) - } - - fun constructListPopMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { - val ref = pythonAdapter.constructListPopMethod(SymbolForCPython(self, 0)); - require(ref != 0L) - return SymbolForCPython(null, ref) - } - - fun constructListInsertMethod(self: UninterpretedSymbolicPythonObject): SymbolForCPython { - val ref = pythonAdapter.constructListInsertMethod(SymbolForCPython(self, 0)); + fun constructPartiallyAppliedSymbolicMethod(self: SymbolForCPython?, id: SymbolicMethodId): SymbolForCPython { + val ref = pythonAdapter.constructPartiallyAppliedSymbolicMethod(self, id.cRef) require(ref != 0L) return SymbolForCPython(null, ref) } @@ -249,8 +237,6 @@ object ConcretePythonInterpreter { pyGT = pythonAdapter.pyGT pyGE = pythonAdapter.pyGE pyNoneRef = pythonAdapter.pyNoneRef - intConstructorRef = pythonAdapter.symbolicIntConstructorRef - floatConstructorRef = pythonAdapter.symbolicFloatConstructorRef val namespace = pythonAdapter.newNamespace val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) @@ -281,8 +267,6 @@ object ConcretePythonInterpreter { var pyGT: Int = 0 var pyGE: Int = 0 var pyNoneRef: Long = 0L - var intConstructorRef: Long = 0L - var floatConstructorRef: Long = 0L lateinit var emptyNamespace: PythonNamespace init { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 00062e33e6..2062d6fd27 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters +import org.usvm.annotations.SymbolicMethodId import org.usvm.language.NamedSymbolForCPython import org.usvm.language.SymbolForCPython @@ -9,9 +10,9 @@ object SymbolicClonesOfGlobals { fun restart() { clonesMap.clear() clonesMap["int"] = - SymbolForCPython(null, ConcretePythonInterpreter.intConstructorRef) + ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Int) clonesMap["float"] = - SymbolForCPython(null, ConcretePythonInterpreter.floatConstructorRef) + ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Float) } init { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt deleted file mode 100644 index 4530a5a17f..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/List.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -object ListAppendDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListAppendMethod(owner) - } -} - -object ListPopDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListPopMethod(owner) - } -} - -object ListInsertDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython { - return ConcretePythonInterpreter.constructListInsertMethod(owner) - } -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt new file mode 100644 index 0000000000..c45076313d --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt @@ -0,0 +1,14 @@ +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.annotations.SymbolicMethodId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +class MethodDescriptor(private val id: SymbolicMethodId): MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(SymbolForCPython(owner, 0), id) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt index ccd3f4ba41..4c9c44d756 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt @@ -20,25 +20,28 @@ private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunCont } object SliceStartDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) return null + owner ?: return null return constructResult(owner.getSliceStart(ctx), ctx) } } object SliceStopDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) return null + owner ?: return null return constructResult(owner.getSliceStop(ctx), ctx) } } object SliceStepDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject): SymbolForCPython? { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) return null + owner ?: return null return constructResult(owner.getSliceStep(ctx), ctx) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt index 73440539c1..15171d1764 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt @@ -2,9 +2,33 @@ package org.usvm.machine.interpreters.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.operations.basic.* -/* -fun symbolicMethodAppend(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { +fun symbolicMethodListAppendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { + if (self?.obj == null || args.size != 1 || args.first().obj == null) + return null + val result = handlerListAppendKt(ctx, self.obj!!, args.first().obj!!) + return SymbolForCPython(result, 0) +} +fun symbolicMethodListPopKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { + if (self?.obj == null || args.size > 1) + return null + val result = if (args.isEmpty()) { + handlerListPopKt(ctx, self.obj!!) + } else { + if (args.first().obj == null) + return null + handlerListPopIndKt(ctx, self.obj!!, args.first().obj!!) + } + return SymbolForCPython(result, 0) } - */ \ No newline at end of file + +fun symbolicMethodListInsertKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { + if (self?.obj == null || args.size != 2 || args[0].obj == null || args[1].obj == null) + return null + handlerListInsertKt(ctx, self.obj!!, args[0].obj!!, args[1].obj!!) + return generateNone(ctx) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt new file mode 100644 index 0000000000..14ae5eb2b9 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt @@ -0,0 +1,10 @@ +package org.usvm.machine.interpreters.operations.symbolicmethods + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.operations.basic.handlerLoadConstKt + +fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = + SymbolForCPython(handlerLoadConstKt(ctx, PythonObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file From 35639561a535701832dfc5a4b249e0511fcc86d1 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 17:49:02 +0300 Subject: [PATCH 131/344] Removed some redundant code --- usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../org/usvm/interpreter/CPythonAdapter.java | 58 +------------------ 2 files changed, 4 insertions(+), 58 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 25dae82a01..156ab439e5 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,8 +23,8 @@ import java.io.File fun main() { // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ac258c2f7c..7bbb358339 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -354,17 +354,6 @@ public static SymbolForCPython handlerTrueDivLong(ConcolicRunContext context, Sy return methodWrapper(context, new MethodParameters("true_div_long", Arrays.asList(left, right)), () -> handlerTrueDivLongKt(context, left.obj, right.obj)); } - @CPythonAdapterJavaMethod(cName = "symbolic_int_cast") - @CPythonFunction( - argCTypes = {CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter} - ) - public static SymbolForCPython handlerIntCast(ConcolicRunContext context, SymbolForCPython obj) { - if (obj.obj == null) - return null; - return methodWrapper(context, new MethodParameters("int_cast", Collections.singletonList(obj)), () -> handlerIntCastKt(context, obj.obj)); - } - @CPythonAdapterJavaMethod(cName = "gt_float") @CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, @@ -475,21 +464,11 @@ public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, Symbo return methodWrapper(context, new MethodParameters("div_float", Arrays.asList(left, right)), () -> handlerDIVFloatKt(context, left.obj, right.obj)); } - @CPythonAdapterJavaMethod(cName = "symbolic_float_cast") - @CPythonFunction( - argCTypes = {CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter} - ) - public static SymbolForCPython handlerFloatCast(ConcolicRunContext context, SymbolForCPython obj) { - if (obj.obj == null) - return null; - return methodWrapper(context, new MethodParameters("float_cast", Collections.singletonList(obj)), () -> handlerFloatCastKt(context, obj.obj)); - } - @CPythonAdapterJavaMethod(cName = "bool_and") @CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter}, + addToSymbolicAdapter = false ) public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) @@ -666,39 +645,6 @@ public static SymbolForCPython handlerListIteratorNext(ConcolicRunContext contex return methodWrapper(context, new MethodParameters("list_iterator_next", Collections.singletonList(iterator)), () -> handlerListIteratorNextKt(context, iterator.obj)); } - @CPythonAdapterJavaMethod(cName = "list_pop") - @CPythonFunction( - argCTypes = {CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter} - ) - public static SymbolForCPython handlerListPop(ConcolicRunContext context, SymbolForCPython list) { - if (list.obj == null) - return null; - return methodWrapper(context, new MethodParameters("list_pop", Collections.singletonList(list)), () -> handlerListPopKt(context, list.obj)); - } - - @CPythonAdapterJavaMethod(cName = "list_pop_ind") - @CPythonFunction( - argCTypes = {CType.PyObject, CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} - ) - public static SymbolForCPython handlerListPopInd(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython ind) { - if (list.obj == null || ind.obj == null) - return null; - return methodWrapper(context, new MethodParameters("list_pop", Arrays.asList(list, ind)), () -> handlerListPopIndKt(context, list.obj, ind.obj)); - } - - @CPythonAdapterJavaMethod(cName = "list_insert") - @CPythonFunction( - argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, - argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} - ) - public static void handlerListInsert(ConcolicRunContext context, SymbolForCPython list, SymbolForCPython index, SymbolForCPython value) { - if (list.obj == null || index.obj == null || value.obj == null) - return; - withTracing(context, new MethodParametersNoReturn("list_insert", Arrays.asList(list, index, value)), unit(() -> handlerListInsertKt(context, list.obj, index.obj, value.obj))); - } - @CPythonAdapterJavaMethod(cName = "tuple_get_size") @CPythonFunction( argCTypes = {CType.PyObject}, From 7e4fd357993280cfa657520887a7f1f5e2c7171a Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 18:34:29 +0300 Subject: [PATCH 132/344] updated docs, gradle tasks, cpython patch --- usvm-python/README.md | 29 +++++++++------ usvm-python/build.gradle.kts | 2 ++ usvm-python/cpythonadapter/build.gradle.kts | 34 ++++++++++-------- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/{ => docs}/API.md | 0 usvm-python/docs/structure.md | 7 ++++ usvm-python/docs/usvm_python_scheme.png | Bin 0 -> 153432 bytes usvm-python/structure.md | 7 ---- .../org/usvm/interpreter/CPythonAdapter.java | 4 +-- 9 files changed, 50 insertions(+), 35 deletions(-) rename usvm-python/{ => docs}/API.md (100%) create mode 100644 usvm-python/docs/structure.md create mode 100644 usvm-python/docs/usvm_python_scheme.png delete mode 100644 usvm-python/structure.md diff --git a/usvm-python/README.md b/usvm-python/README.md index 2e3d93888d..f53946b3c2 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -1,8 +1,12 @@ # Developer notes +## Documentation on module `usvm-python` + +See folder `usvm-python/docs`. + ## Working with `git submodule` -Clone repo with submodules: +Clone repository with submodules: ``` git clone --recurse-submodules [repo] ``` @@ -12,7 +16,7 @@ Clone submodule into already cloned project: git submodule update --init ``` -Update repo: +Update repository: ``` git pull git submodule update --init @@ -24,9 +28,9 @@ You can always compare commit of submodule from GitHub page and in your local re Official instruction: https://devguide.python.org/getting-started/setup-building/. -### Unix +Gradle tasks for building and running were tested on Windows and Ubuntu. -1. Install optional dependencies. +1. Only for Unix. Install optional dependencies. - Official instruction: https://devguide.python.org/getting-started/setup-building/#install-dependencies - __Short version__. Install the following packages with apt: ``` @@ -37,12 +41,15 @@ Official instruction: https://devguide.python.org/getting-started/setup-building ``` 2. Use Gradle tasks to do the rest. + + - Task to run tests (see `src/test/resources/samples` and `src/test/kotlin/org/usvm/samples`): + + - `:usvm-python:test` (name of task group --- `verification`) - Tasks for running `src/test/kotlin/manualTest.kt` (name of task group --- `run`): + - Tasks for running `src/test/kotlin/manualTest.kt` (name of task group --- `run`): - - `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython - - `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython - - `:usvm-python:manualTestRelease`: run with info logging and release build of CPython + - `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython + - `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython ## Addition of a method in CPythonAdapter @@ -53,9 +60,9 @@ Add the definition of the native method in `CPythonAdapter.java`. Regenerate `org_usvm_interpreter_CPythonAdapter.h`: ``` -cd src/main/java +cd usvm-python-main/src/main/java javah org.usvm.interpreter.CPythonAdapter -mv org_usvm_interpreter_CPythonAdapter.h ../../../cpythonadapter/src/main/c/include +mv org_usvm_interpreter_CPythonAdapter.h ../../../../cpythonadapter/src/main/c/include ``` Then implement the corresponding methods in `org_usvm_interpreter_CPythonAdapter.c`. @@ -64,6 +71,6 @@ Then implement the corresponding methods in `org_usvm_interpreter_CPythonAdapter Implement the method in `CPythonAdapter.java`. -Add the definition in `cpythonadapter/src/main/json/handler_defs.json`. Define `c_name`, `java_name`, `sig`. +Annotate the method with `CPythonAdapterJavaMethod(cName = )`. The `jmethodID` of the method will be accessible in `ConcolicContext` by the name `handle_`. diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index c5e43cbada..f701be74c0 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -117,6 +117,7 @@ tasks.register("manualTestDebugNoLogs") { mainClass.set("ManualTestKt") } +/* tasks.register("manualTestRelease") { group = "run" registerCpython(this, debug = false) @@ -125,6 +126,7 @@ tasks.register("manualTestRelease") { classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") } +*/ tasks.test { val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 3eae27f881..e0639a04f4 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -34,6 +34,7 @@ val configCPythonDebug = null } +/* val configCPythonRelease = if (!isWindows) { tasks.register("CPythonBuildConfigurationRelease") { @@ -53,6 +54,7 @@ val configCPythonRelease = } else { null } + */ val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { group = cpythonTaskGroup @@ -71,6 +73,7 @@ val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { } } +/* val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { group = cpythonTaskGroup dependsOn(configCPythonRelease) @@ -80,6 +83,7 @@ val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { commandLine("make") commandLine("make", "install") } + */ val adapterHeaderPath = "${project.buildDir.path}/adapter_include" @@ -112,7 +116,7 @@ library { if (!compileTask.isOptimized) { compileTask.dependsOn(cpythonBuildDebug) } else { - compileTask.dependsOn(cpythonBuildRelease) + compileTask.dependsOn(cpythonBuildDebug) // TODO } } @@ -149,17 +153,19 @@ tasks.clean { dependsOn(cpythonClean) } -tasks.register("cpython_check_compile") { - dependsOn(cpythonBuildDebug) - workingDir = File("${projectDir.path}/cpython_check") - commandLine( - "gcc", - "-std=c11", - "-I$cpythonBuildPath/include/python3.11", - "sample_handler.c", - "-o", - "check", - "-L$cpythonBuildPath/lib", - "-lpython3.11" - ) +if (!isWindows) { + tasks.register("cpython_check_compile") { + dependsOn(cpythonBuildDebug) + workingDir = File("${projectDir.path}/cpython_check") + commandLine( + "gcc", + "-std=c11", + "-I$cpythonBuildPath/include/python3.11", + "sample_handler.c", + "-o", + "check", + "-L$cpythonBuildPath/lib", + "-lpython3.11" + ) + } } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index bf49651e4e..0ac192a220 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit bf49651e4e8e035dc0567747ce893609a409dd20 +Subproject commit 0ac192a22089c87ee4bd8b26c2959e74062eb961 diff --git a/usvm-python/API.md b/usvm-python/docs/API.md similarity index 100% rename from usvm-python/API.md rename to usvm-python/docs/API.md diff --git a/usvm-python/docs/structure.md b/usvm-python/docs/structure.md new file mode 100644 index 0000000000..6ab9ae684e --- /dev/null +++ b/usvm-python/docs/structure.md @@ -0,0 +1,7 @@ +# Communication between CPython and USVM + +![usvm_python_scheme](./usvm_python_scheme.png) + +## API that is provided by patched CPython + +See [API.md](./API.md). diff --git a/usvm-python/docs/usvm_python_scheme.png b/usvm-python/docs/usvm_python_scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..eda108ce68897af7435c04c64c39f314de68becd GIT binary patch literal 153432 zcmeFZ1yod9|38cZqT11*bx(88FX#^Zn zK)OMCsCS~F_spL?3>N)%+L$Os4sD3q@%XcG_+ z4H6I#Cy)?>GmNL%^TB@y(Ar9J1UXHoCkO~mD7s%Uba(Q$wsW*1U=xtv{l&)5Yl}j= zvk54$@$(~HT(~XmkTz~eCp5RSl{+{Et~;SD?X2yrEO+nW=j9i;#K(Jyk589Rh)qD2 zj~DzA;^h{-%xAoNKhnm^d2hgLC|^5AMdKd&e;;>g$6&>b-^D#UT|7K z4*UWagavnhdJ79)0B2-fTpX&yQDCiM+TQ`&wIHSnNC&CSehUe5lS|i=;ei;HGEKLPnY zB7y^FBzPg1xSD`2m-u!^u-hZ1we<~c)ytRA+5+xZ-IbiJRBS!f|2o?Km`>hGZb%o~ zYbZ-AM=-FZ_wKMFe0y(Y>9c!62yg`En~mH4G<&l`Cv@z5_ul9C+dS+nt)ShJjdI*u+};Tnu;h`aF?xQ1TX{dMu?WuhO zskAR$o=8WJJ>s(Q3p;{^%H04zY@i>SNOuccpvyp6G=1D{fq3uT0T%W9P5b9=xa~iN zgj5#L*KPMvaNuZn!wu=?v&#y!yU#v5-B2FRmawsaG~3J8&fQAK1qqZyK*0;hFF0rG z?&JuL_`uJ77XLw$Ju(5^bGO=)aQM_e=hYt^Q?ddUz#V!o-o3{K_62=UKQ8Z)-Rlow ztW7hivg*B<&xwckeC##9!!Tej&e= zB~Y$CZlK%%gKbdGNXILGoR#}CgZ{Wj4TS>Sf!ShjI z!Ufh+q$SeD-O7y{jRNfE;I?#h1paRK)_<XR+p_U0Q1o9ZYT$Hwf55jlJy-S582A_cv`2b^glNyqyMbSDT(*Da ze~-iebw%ElMHdj{?dNa*FX-;&zp#E^Pk+%}K9T=V=-TIf|;+{nP z&%?!EWN=?Bf3-gQ=l;`C);tfzue$l^puU-1> zJp~CKupR#*Fa3Q!@Z%p%xxd2wDgWv)cUke@m{I`5p&%LhJv;m7l-au*&WZljo&U+y zY2T9lni~H*DeHe@EHOXX+ua?sB7*VIf-qdxZ0sdv?kZ?^olifJ_)xWn=| zF3t7P?I4dE?L$9fo8#=_x0f-`O*%UCI`rnmJ_+pDq~-X{P3hz2qBZ)qzwhv#CSkcr zKuGe;WMIsVDxvi(bO4=6C)rfu%x)psJrX@W@aQ@vdk8lxbp17_3`qi~NCbSqa#Kc` z=rgm5*uoKp1Ba+(s!wi{xY6wnYIc*lYTAonNQnTtLU2p)&}Zhanr|rJ15>hjCElnu zxm0lFz#;A9EWsK_W8T0A)G~<$gu_%RalXV4q4%j~mYv-lA&;E8CTffF`sVIyvpfzZ zSeHLlS8xlu?Xl{CZIV$p zU$caKUa6(;zQ9rFJ?>wSAu(_8vC`e2;5PzRf5myh2k-Di#!Z`p+7VkssJ zo-d6%B^C-#@dV7L(js^VIsng(P_qQ{e3B4QfoOKX>wuiM7gv)4G$Y3wa3|kbq}Dzg z6u~(3@7gZHi+3g>8AOWh}vL24bqp^dpu1%4Hh}_!bTCM;{dk|$(-}YXn4ktK(={CEBHD07WMfm80W0_ z%PSC#KWBp#I;Vy{+*K`TzGH%ouwVii76s&}=W7l>1}(B0=+pPV1@&)11*Y_GLH*mJ z{%ukJwy3a2mHFHC|Lyw!j#1$V?(Z1&?-=#(Wa{r^3OL5seu+OW6HX_$SLO0ffjO5N~{E>#M#ullyJ53^+ixhP5nr}vCT?HY8nsm~SqXplwqR&+di(Ljs0emF!mjPjwLT}8Tf>L8@i^?u zs(=kV!X=E+lUJnQKi|l?bmWOcL9hYY#zUu)!O+o_9+Ze#nfn*hvHqRyVxP6au*PMa zIqHpC^s!RudhYTp(fR6wji{gvleR(!gCUyS5X7oR5dJB>bfEvZ4>$W~kHQZ9{M4Mv zmF^WRqSCjEj%22%*sE0GLerp+=6$=SJ{HnJv^Dc@Ixjyc-eS;X z_~j{^z@3f$7^mXCZv_sxoTki?si7V4@{Wd;jlw;hH!(((a>ee}8T4{%b5$Enz367i z(Qtt#-o?>I)kD^uxk&3DAMRN%cNjeKuRJI3jjdg-8JK@hC303VoHsM4%zjvEbp4?8 z*3wg-ANSZB039rdDNm2L>%|{dSBrg?3kYA6Xi5paVB!QQOveP0(eI|_aiA>hL8vcP zwX?kuliws(pA(K+Nj~Nt!64G)zq7SkYScJAsWLvwsn_r0Lp7*pJ=$sUNNDxDA1dJB z@>+p@VgkBJ)EZN{a(_wng`nJ;idV-c<)`PP16KQR7pvBO++%nh@Xo700H^kX_nlh2 zMAznebC9rn7^TM~Ve>)u^Xe*wpxTVoLw#V>_h?CR7*2nEcj^U6pJ~dZI1h$(vsrq_(Yh(tPVwRC=&Pcf(rl6GVk6IV z8pd0b$tj0(Kgq@hzZ0vj_gP$lS@d0(!+tJ3rWr@&v zvVl~M1ZPUoVe0Zh`%|ByZQ|`}A2LoIcS~igF}S_Pl~YnPjuUfr=t>``3iaVxmx zyevzS@G-o_`Z$=I!#EahMcI|b`JDPmkoo{@XOV+9OGw# zn>VJddaz(#4XO3lqT`8ow8;m!Sc~=T=ZgCSlW3k?A;GAp3r4JXwO~A64yJ8gQFlrp z9gIPqsP9t(9foG-UGKrOUL5L8E*>nbd<`69(g;G{2bwHSFW-d#vI5?e&S*- zt^_}s+4$^&jvOY1=D0K0Ny?rqp-gH-KznE&ow@&8Mu+%EK|nEz{2vBt4SRw1jSule z3}`BpQtkFFY(c-PnQ`ykZfS?jBV`||nD_%l80|q}3ky>UpXkO&1a2+kl2#k%2j4fc zMVa2{E=Do?IzMM0zI63k&24Ha(vR~F!xP`NT>NTC**oVB^}- zR`@K|ggQ;VpIR5XUVXC#oiA~VT1qvbTU`Z+^9AJ`xIv}~G4)l$xgn^lMST}EeWcyf z^39%6Fyl;6lIXEGua^|Uoz?4jqu3XzEJEoEG&SsO^!{-Yed1)vK*#2)=`6{TfN=Yp zHRnv%qwo1Z})W)HMdNW>f0@o;^<1 z^8@cZ)HH^qUqY|ddJMc)*J;*Gz%pduMo)it6hc<%8HKI`Mj&Y0A3gu>aM<&*($SX= z4M|~4FYQS%wFPhU^jFP2yR2>zmrv(CD4lo{qZUTV__b8|Mu8j&^TCKm!|H%gUOIAN z@C)#t0NpWfLR%)-hN1!4PO@%3lHRsGuO4e#kRdd_HpIMRTkun`8R%-f4SRn;eSKx} z6F$G$QkwzJwf9ugy*alZnJ}qfZ);TtemJUh2pAUn48^QqjQcoHSiX(v{70?i2eB6K zDMSQ;dX#71NxQ&`dYp*AV`idQ@#gT93@4DOU876t>$wGuq>u(Wk7uI?gw!{;Cyh z;WuM0?Ryb*L~Td33nxYxP!-52M+blVa$iR>V#u(y<=beqrD`y@m3z$@#$2s6BE^XH z0Jc~7j3&yDm;@u>Z0XFT8~r|^G+!3eXh^gYPX~Uw&y{04TRtb%mT7?bEZo7oHlAE9^6Kh7 z7T{4sOOpJIgdSz%Z^Bj`o1c|d=XrwGRr@_p(btp*<0dgGtK*2esX_jSxmyw$pT4Oz z-%-K7kB`J7Cg)^!wzp;iQf(A^ikx&3v}aW3foF+6%f;yj)&nsUf=+@IsKsC_ZpSB_(}xAQ2L+kw1}b0@tgharP> zU`3Y$rc$lkb7s1pFw#WZcFyDV+eu>{^3WsnH_Rv37?GK6?`zH0y|xGyvCdjCz~)s3 zh`#+<$E8Fj%|Kt1nNarVQv?Iu<#UymUmqM~EL#;y2vm~f;bjU~(wZ9f(#5q7Nx^1Lo#Xo0p1CsnMPROrSJirdavD2j zt8gddCe85LqgU-1dOb>H&jkqS4B@97ac*DaWL2}^c zK|*O0#+snbg-vX?XR?U(a09~kXlC6JTHOi>KJ&%wOY4Vx#^TjsxDJ4d#K|IzJ$i71H9 zG?<7tz8Y}2sK;4+1M4~A)v3@<1C!`QL53+0C#HP1ESFVmr#$`|zux?e8=#OTNl@K| z)XuF#OO=l{Y7BX(3+v2f{adMkb8O}vg3&5>0ceL=FMM$q<#HY-jaND;h5!%j-_j)m zR}hQ#xN#|mw0DT45_WT8D)RJPPMjzz`92`aT7lp`$5?HEXKQ|I@rn5PZBp_<+C%9I zk0n$LZVxI^iv6`L0 zT{_+4G&50p@qj$Ams%=w>{jg(klXI4LcGc2rK2NV)GJ=H*cYvVj7m&CmVH4OT{2~% ztp|vgq0~|n;xDIQe=G<9IsW<0EL(6$mSzB)qaq201r53JudkJFZG&JT-i&nC!yhCt z!Z!^{pDUgwd#*d?SAFxqC2nRwh!r-D;2;qFJ1QT+YBm>AU={^)04un1zquQdm}_hl zCU}^!Wp#{|(dAU(C(p$cI~urCe4Wc@giXZDj`9TBAO1E@y$zDQ-2SA*s8je= zRh~*g{jS6h>~*Y;IqbnfK)+_lhSnFyHayK3nEKu7FL~-T*CqMM@`M#Ihx8{sHpRxf zTu>g;zOTqNw|vCR@$E;)r$(Xk%1!xGi!x4=(Jmka`@pR_@)doN?&G z6*@D^sYyH|*_Y$poC-$B5ZV(REqZ-F49o*MdR^XAcqX?c%JYz_i%q;fks2IwDMuv9 zoMi5&o2)Ee_AsNR$Wh%He34Vnsmjh471!)U9C4v6tE*uPEnBdG`3lH$%4>9DdhA2| zQ+P7ia`Z-J0~Y+cw8Z;yrsxO??45^ZUVRW#rL<|6cvaX+?|wW9t_7Sige>D=n;CZKjhq4POB zKAQ-YwBGO)(|K{vURNcCuRPezpGn7&9-|)ENkoPtWhQxOX|S+;_`ULDRrqc@399yZ zgzh*SfRiPj9XCoh_fC7QYiM^e%AD%TR(YaLaJ-)QOu^FtMGhBz>4I0-JRjGVlBI?Y z0oQ1&=dRJ+ZzRH~t1hHQsKe+wK}`@C-YPLY1zW5Oz^|SSo`*6^ibuyaISG!4Rp`g+ zH&KzNAFt*LpY6wDQ8Z-tX>$&BxOtMYytnUBBGooC=jPDWubwItHMbJL$y17+YcY&D zNqI`}bK57O;HZ3rCCBw8GBwMrZai|(r-g^9{hil$pHI`+o$Xu8V|odQTd_5(-SSq7 zx_*eUHO9b^u#9FZa$}EK?(*py1`iD|&vL3lZwp7}xf-=Hk9@zkSa77=%cHR_^oeUu z|J~-`kVaQI?~da*PLC+jg>r-Uvs##e-sZ7|Ps}2|TBEB!Ij7lPsv0py3eZokO*i!{ z$~Z&ijDU5zB`*a(KilT8cu7C}HsRo0&`xNVI#pZOVmospfVA2l9*b_5ziFV<&Gib?ubq z4im`%l0;p@_vs_L2~ zfQ1vjPT_ZfgWRdze=kW%q)mtU|;IiuitJ4q_bpM75a zT~X)V=EY615AYTBt9;XJaSkMN+BV-uqEiD6P}HZ#HWF5wfiee#jx)o`+zser_n?gl zKKOn}g|SA&p1-E%lgi^adLNCyq_J#*L50wx4R2F4fh`luuRY}u?8$TSva)zE76f0@ zWM0^_7fCXp zzhW*`%u)q#I}-WLSZ5%dLbmEYIaqXdPgx$VNd>`yp}Efpt%-F5#uJMmNn3hEh{Bz9 zvRq+zZtk-R#RxCX z5OHuuQWrg`{Ql$SxFsEUQqOA)WS7p8K`b0*r; zpBnki6gGZU<(V-myMps1wJAJfK3H0x)Lq|g`)!WIx9jMMz{A<&7$+XbgN@lm-F0ag zuIvKs%$$s(%E|8=j9T`AQ>Tohr9qvcT;x{&pxaLA+D6D&R_{gHHMHOA>`c3R=kjg2wJ%TEd+?tF zl?)}PZ4v85-#Pf?LA zIDGoSuP(Rd8z1NoBW4M1jnaUMO_gZ!Cs_Nx0MI7;c)E-34jX;7gMcB?IZiz&XDnA) z1{nl;vQU-er7p=1h_2wOSwoCSb3RJ;z~i>-XJU_^Xeujd4>bwcSXrLAWln;@camMA zjRnlQla{NuUfkyyLoea&@?g}I@a^Rk)+e41c|WeS=lU6p9f};k*Nr$f7UtCOQh}iZ z*HW3&7zScPbgF7tqzWmgGELDFskHL}9%ElA2its^Y{QYwU!42Ox+;~H>J!pFDKQ6F z2Hg?@NoDgR;z~ys(m}nZtNrXzXD3A6?F3L`xyPhX0&+oc_MQi2@4m#g%rHY8KtgcH zI#D%>+ZseKMNM-*9`GP=w1xIYvPJr34w2=zy*eH~LYD-qB4yvy3$+*L%IGtEwx^xu zufIrR!||IG%{Mxtd&RwO4<Xrz|gb>0N+Y**nH z$?9qdi_*AmaYe9u%w4{A`;#(qX6mf$GJdGYqL4HM#`yU(|SCCsf zeT~=*#!-KUQXlR&x71+-tR)Aq@`tPHBu=}2I64aIv0jw!l`nN9&9j}cE8Pwe`sY4T z^f_Q=jwOZ>MRVgc%c&&hWd;;)=NvF)Ys20Uh1=g`J_Tng9 zi$4T_%i_JP3{C~VQFKKa+h53EsAY%&WsCYO>^6P{3&JBY({~%kL(X#wB=d*KYdppB&o zi=gF1I%}WHPsj$N%sh?G_M311pz}<=v4yMj^U8lm%Tw>j9v@RWa z?!afo{Z79UZMw0}9|CM{(9rYlg_tOi)wP;}de-R8gOt26PDMt;xq=tZd8{{`4`^;j zX!z0F3Kilfy=*OpW19()Yx9@f zjm&szDV2$=*JHV@tNv$mG)VeM^m5>wx}^cUccX;g5+kfoq(GsP;Z{Ws^HFj%-JoW=rkNy^_@uLLP6J}QR!}M`fAVxdwKmSfK=3&|N;iD&> zl=<5{Jqi5RtKdoB__(0$b?fQQxA9RF8E5B~Z@oU)ThebXw+2xe+5htSjyef*b;4ZeBt)1>+7TytBQ>X4S^5!+W0uf~Fj9W>9cJnVVJRYmIWumLf;2 zGE~0?$7SXjK4sSs2Gn?^<8}XZO<1L19r~KLoOf!ESF3XHd~3yJcsEK6XuG0+^gfa`O*Jt}mn6Y`-mIBUWTNUrB|_8I zgx>twb*>!c&VW}_wG&F(tLnY36KJRj)R3l?+(04HJK#qjg3Yk09C>c?t?ii)s82M; z`_0m?O+_+#^|tncu9`K-zg8VHjpV#N5DZtQQttF8U3-0)^0cjWbG#EsL`C|w1y3!4 zz;xO)wdymgf3MBG`iPB2k^UF0$x1N}IixUxZkF1}>H#Xqr_%T;htw1~TT1`6798mLA*}pDlUsKGWUNmFe~a z@@1ivjP}+IF9yZwsHD~syDXnxGv4y+>^~O3Qum~2p%nA!sqy@uPNTz(>{24t9x+Ky@919J6vCOdZ2}1puD_Tc zK886oN&2M%uiLz=%hkh^sB5D9jcaw$y{lTVt~NT-Gh-^*uP{!Z1k)%(n|HX+Z!&?< zqVl+FdLKfP2`72llyJzkYq5~J}g0lgxUE6Jxr1j zKoTCDzko3;Am4yCTnL+2CYD25u>eO4vNu08s6TX5oC0})UQHpWBjs-8M7@3stq3Ye zmK*oZrKJ+PKRaw}*tnhMQ4XAo15}DK@%=b=l`Gg_1H>o!*JZxqkN9Log{#189->OD79^G~IY`>D%OKId2>LF&fgrxb(|M zA!D0(4lIi;+BS4|pA585C!ZRD9KTfDdqWIr81M5KrzIe-n;LhtH|ahHxi!IT-qsLqt|1@fTc`$wY1pz8gib_ zx#a!_uX4@pfS=b9Pq<1lr}pt4%u}|bfTv#+1mOKe2h4$|i4B?0L4F73v~hc54h4Gg zQ{ts|Ve{O#;vAHzo$zVh>w$wdEp;=#a*MC!*MNI#Rg1mc%Hh8(PAR?VQZ6TMJCa$i z8kMN6h)lWCE)uYfpTZQs3v5{cW~q}x9BN;ABfz@Ee*BC}bNBADiV^~KvDXx0IP;)@ z4MO>_z}5x8tW!W*t#mh6E~hcBmADQ~ON2$1*%eWLAE{a_C;gE%{;lvnQ_U1na-fha zNKx^DK_KlcyE$vH#d)P!4SROl;8gJZmz^Cp(7Qs_(ZW9Ir3py1O2;03htsZh;Gq)S zNapg+7`;oJbn=?*E$ukMbv#BC{f5HqHlcSw3)>+Ilk{x8Xe#N=+%6z4a&yAV*Ors@ zKK0GDEbBfTynFWHe4n?zm8W18NJg7h#lYX3OXxvb_u&h{ID#7e^vTms_zQIF?M!ZQ zQUPV6!;j?&RbL&7jA;=9baORH7Pr+~g^C&?-R)!n82MWXy>|#d)Qy?WVq0Q3Ye?P7 zwpMy(D)U_iYe*8Z=GqhI9A+Y8E(IIxKsB>`U|!aq$1b#$gU;JDkH{+~U)L1BbpRWf z-?Dx7Ro};t$ySpadrpfQ(-^$WMV}ypvz4C)j-Y31osk<`#2Wm_H!AdBDmXX8qTNg3 zK6jn+K_oVC%kkdP>=wNNH_(EO0i7(q0*TO^)@&0I^e0BI7r-&#zi)64K9ExknF6?k z46U89hG>g|3t9FqJa0c7yOfjtSf8tt_S9iU6ooz5EU_5gR^M5-wv?yN^K|PW#|S1C zRdG7*DoH}}mqe~z=K}hz%^w9@NMTEQ1Yiq*a}mOEqLbX1>`p`N{4P*h4T!-5@JeIn zTZ=}}ggTKfPS#y`quXJms9V?Nc+qcGuZef&EDOD$Mu)aUV5a=y$+F6g+47Z?5d62h zLm8Pld8^M7lv5fx*i35h>7||5?@%;=F3FUS{RyCcuUNK0hq>^b#o5_+b=QTYI>P(? z7aQNFo!Ig-ESc7pt1EqbNW;Brt*ETDe{0rDaS#RCR5zC8u(q9`!*(X%8-_T5DdF&` z&eViJ`}(hkB7eJgXuvfO;cm}VBkaQ#j4>!%9wQxmDl&2(UUMUW8T9uqD$T*VI0=w3 z%`Cw?W70cz2Ez7Mu9ac-pEFOC_a{{w%WAYFb==Q*#5h7iM$S-r$|%M8{I!?EDXQo%Oe})3h)83Ljx$fEW6@2d zo00c$g)u_GLBLQs^5Lqyg3Xv}XpgN4T8nC62NS$SP< zXAw;ksPL-f?j4qCmS8HH``dFM6l`2O1m_ZOq1~O5*l-w9!(s{or#sY$wkHZKnT;&8 zH#4frRQS9Zxns^&fzaAIAzjLJEvcP?Dg_QB z%RZVDuV+;y*_WpxUO$97z2kFtrqBStaAAFCM+}(F7`H31V2*;k9yPn3yb3dL8Dxnz z$7{Gq^r$hk<2gb_Ty5Er5l~-(Ud%l$n<1xqWOK23wSwUr05_E1ds7#BC?pR`S7shK zT%XlORUH${3`vJxF6+xRr%uc1WQ9n=kQ1$8d?0}}82*@kb>xZA|sJ}(Od5PDe zYHTd9Ynwh_rZtQ0j_|ls_iUIo7*oPw*)EwQ6ZpNtN2@g4K6c9Lj{Y4UP%ZdP+I(Fm zKXiT)TVGox#^ZSBx`9OHaf!8oJ8=g6Q)RvjB95K8C$0@|`6M<4uJ(DsF;8Mv`OFRLR z=lV)7S|fQNC^7Dt+lX3`kwI9V6!gNKUSoZ% ze^nZUN236R*YipSajQg5IXi0(pc1sc+yga%Fy}+YeMUrE8OxjPIvQQ(2W%TaQP{}+ zer?82VPlU90HJ%qBMVjP*6lH z=05(|g(tjKiU`UCw4?>ujUzH;3PBoCWJWX(K!|~7WZi$njonTs8IM0L>h>B!ulV=$ zxPD@s!9u;5d&|nr6dkV;#5^(rr1VjTdds~~8@JW_$%%HLQmhe3V`v=2Gs!!o=$59U zCtasdw-LuD%F`o?0louq*VSgE@2)55AVX4}&~98}1mcotn@3e}TyhTVeoqKKgM%pU2~Sc0z&v9QVO$Xh)H>{%BdC1@^3uyBrobzDniFF! zfL|!Uj<#ahFH`^N78Xqq)iz810r<-6KM)R;?nsWhq#wp?apshcp2~0FuOGN41Azrq zgUAV>&jhe&f{u0brGM}obxS;L_eI^9bB7tp1`1ud4il1SJ`DAPL3{+ajKNm{W_LZ^ zuir&!X7*+ z4L%5g7`Q_vl}ijDF8shD3mI=!xeUs|5Em#4r~pCdEky|M7tM>jZ3McIDkxF{!efc2 zDOL|a2AqKK5?ER3S-5;z2Q_O}#BVN~y$Kc!Wh(g~?)v0r2;d|Q0J3Ra<~7GOwdhZB z>kPF2-c_G|x4I+=-e-AyVfW($XMl;IL!O{N2oWl*+I$CZ&{mAe}=3A5JjWyYIlCnpz|Fi<0o@axxdhMu8 z;u0Z@n*jxmhJ#cR*9$lU0cPrfn!bsX5M2KQ&6^lT&(3#CHEy_@ph*I#A*Xis4y-3> z&=(*mC8X{{gn|UR9Z(;wu_tHRK+eSfgPg$^&p{s);b5nOfeIWqfwmnu{~PP>5Nu%8 zbj-|fQ5BlS7#dS)cTCO2;-l1%|2S|+1ro8J3^xa16$f8V$O8oW;_D^^yO&YA>ummu z&8%m4-%|s;rHoNts43x`IKNt6PVz;CVz?y;Sv1z;cJ8DL%$+=7aiy+`5Y{UWLGgDhI$ zK?Tv$-S3GU03{%D-g`$5z+-ZQOJ!?oyuXk6hx`!SdWns=xhDc{;JzpQ1V`Z32pIJV z&?}8^PcwHxA6Npe!I&UQde|n(1b|mrUSF`=Te?glXf{ZQz`XuH+N<}60LYqLU=N14 z2y*=wz>vZQ@IkkUQ(;Gg*i@E)0s(_eXE59kUodMIs2uT=iR->25)m z9tdZQ>$hR(W8)2PG+$?;0R&}+KWwbcjOX3>_h4rT7VV6($YlG8a?LRSA{_f3Q0$yHORNQa+Xp29Ul zhzsk~I8Xk}ti1bB*kTfw$!Et_S>wO83ie3&A$S^D;;E~YtEk-t{`?uBKYezH0myi- z+7%yhITG{lrH{mZRsd+)00di3_QP=r_JhLpOr3{Q&LnNcM#Kh$st}zm8EU9p{XXSW zM?`0OJ#e+WU#LP+g4MrW{ORJ+UqIjgK<95t97&*-qRMYM9q?I|Wak5o#*2fLm#h6j zxjcKIfIkp4dli>^hfa47cmUwk3bxwhp-20HwHCRq>$n&LnfaG9C8-LY)`v zL=XbYI1;PDnKDdrYtSwS;(0_&F6U)~fHffErIcS5C5RT-V_j~SPUqDdZ*A-$)W5di z=fSp%Yrt<*&*3Q z2D1r-U-(JBnr##9m{feomN63JCIljS+s=xkH6r29$)gm23H+mu2{zmOUh*S?T>JP3 z;kI0$J$6NTGY;QaHvypT2H0G{3;^AmC#W;F0^6>ML<8Wos1}P;dxqX>Vc291*F47S zW2Lzb=^#y@$Bbj&luUK;4ao z4vzrhxaY_zK@QiCJXLEor+vqhvW4xP+#B8H);^>@A%Ct0RNRuL$pwy$+UpmH(jVK~M6 zjM6WH26nghG4xoI5IG&UsbC?rYp8YdD^$US4Bi`aY@l_dp8i6QY2*6ywe_)tMyMuo zryTt4hT8cROJ7w-L1IyaGu*exP!TvEyxt42qbM3`d-mm^488| z69Cxl*~)(WP{vM-W8S?k`^@ZyH!;qqxbC`>4vwt7JIoA0&0c^K>W3z%Nouq4D$w>j z9^^U{%R2yt8gq_B?W0VLi~V;H16q6sC7vrznMXUuXIqoQjKFR!wf?GrnV^?#X#w6~ z7eynm#50|opO|;nl+csusogsoeV<;2F*ujJ`>t^cyD8G+D3A|oOz=)7sCsSJi(Iuj zdyR`xw`Bt)ywTXr5gt#|j{XNwC>J5}z4M`J|3|PX<7?o>dg|?4hnaG>(j}Y3=Oob6 zZ$F8ZeiBt?b5WOAP}q>1YD;~zmEen55B7I`X}cUEP%|YAw%Q^lDOo3}ixI6FBK+;3bGwY5Y<)wtKm?(f)2ovsX{mi2 zGiz}h5Ui?tBrCrukB8EfDx}qz_F_IjlZ%H5AXzJf(_%q>6D{GBr(@6_rlT(UG4zJ( z9Tg%C$lR4~{;W4Sq@d2oTN`SStn^6ur7EthPnLBPNR;)RPLQfL6_fuounk&jRf_p| z!lYqQB4p0@HSp}xzXWfZZ zt`E5Sd__jiE6Gu;HnFaX56BZ~ z1G%vV#I9gDW+-^Ba2x^{c_h+aEjdkQ(j>8{#=x(yUs3L#vl0v7iXUP@5ym=%R{!qe zf?3Q-&A!4HI-D?8lnkV1TW&`<58MEVWw~mM4 z5YrplL+h9wJWqcjpJOginZQYx0d3?)1}5gUeU&dcl<^i zaF@DDHrEseI3?OaahK=hIGlmW$PtDByfxDW+s*gP+mESRcMyuQ6*)a1QmLNeG`u_* zOyk%R{UPZm9ocEUS8rOw>P9)PmVv4jja^+w1L*qkCjX?t7nktxA3ruB)xv2Xr5EYz zlWeYTo8r+cTsdGm*1{ExyB`>GH}Z*~ERBHwnhW|1Ta@?rWU^*cIgzM)2Bl;~gMmma zPH4$Z-YWQ^*koD@uRt0V=VDutlS%UR0=(^#ig)CVZXj$Fgy!lp`hZ1!63$^6oh$*mh)!IYQZ(SXf@ABMGIryc^bH=YlI{JXi3*da37 z8m@7uW#iaIhLImk(w|BHRxs&hK$-2P$CAi`(Vi+^StK(m_|cJh-hITh5EI#B%r~{{ zQGJZ|D+l80RygK=lF#v!3=ozRN_>6?28-|_ zdez}ak`|gbDFL;4gpccsl6Ig$#k#yPQTC2;gbq#;l=lJ*5*#El>@FENac6wx!iQH; zl@%p~Aq>-WpVlYMbpSN>Fn#q@dCFX+n% zhRtg7BPn|(-*MIrk&h1O?+{a0vjh2b82upt3fT4{^-VWyWvhipO82&+mG@FZn=6PW zUVvS{nH~Ng())9;k@yZ7r+YDqbC}1YtIw#Vt~qtXpP{scc57O{V8g?>kd~{r$_;K;H}#SoQ|hf_hfE+x2RYYrgo1UKJ6ltnXAK9Q}{|W z%`?aTGnc!>_S%q1c3JzIWU}bv-$f?9!4?`v0y8r=S=MLxEexRUE!@Kf`OFG{sh-JE?*g3E01dI~}s}N4~ z*8~zJT~}qhTTxe8a@iX^9H7N~oa5Vb_OAh%k+WpeP*zhsj=e3{Wfy2qRjI2vGo2_& zr5k^Bxuml8^{MIZVZN-D74`)G8|EL{pSx)VEy>AR-Pz1x)geN2-lB0A6br`H3k4KA zP;J>O@bKREv}CNo`P#SH^s#q)cQ^z+Ox)0IKGJC38Gk^wnbm9vG-=+lx;t(79$j6< z?(}gq93bD zk$HGzcV9cnwd~53>EVD$r5!Bf8UZa|m+~Jx7pt>PRk>nl)!Uy-+b)sGE^B38$)qyk zeC=v<3&Uc_b2OBK;oFVKlpMMfy2K&o{8$j^T}zM(kP|W5n%mh%F|2&sekFs~+abr|-?^Fo1AC zfDyG!*Gy|Hg1e-Bnu?Q+W`!#vQL5xQnd^m#)^TbCTax{lZd!yhZaF$~$;XFmuu#RM zITecAU0&d4?KBSc^%Q3QST-#KQO`m1^LWXyCB{}BrllH=I>lxm?>C1)vwx(9b38D} zV#|K;@U`dL`e{pQ%NWNWrtA|NQeUQy*0864DTJ#k_W?Q0gN-bYz{Fi9IetDEM>Y-N zT);N~isoG|g#92&)8-%xvNz~B9O8^%eOPzY5g=5X(8H?&0U`CqR+a7As-oug%Lyw19CkxD^>hSy)6nNmd`C3Xxs+LN8+BFPqJz1+DRiqnv;XypW z;5vC@7WA2s2lAQ2^-)|)I`@($>#E;A zwqCD5k}%elgo5c~1PUlNN$N51fzL4xH4;pBMImd7Dk(Mg%RIUDmcGYEh&~x}vg7si z?X;|i`a~JiS5pGFUOMF1IpjG!ZF>C(+L`F$4N9&LxEV#Rw@YkpuVRaZo_bIa2|8rG z4c!Xb=&)QN$La>kB?TH@8ndUuM)8rwf-fjcE3=~_e`qO3)g2Ww%&3}&Hm1D4k^Mbe zswS{;01!&QY~`$B;QGkfYn3<^(~kCUg-cJ^CX=Er0-esIc%S(w(M=lR@p`D6IP%+< zGr?3FR%*Ka5^)J()QFMtrOF8W=H_H3X4-zO`^k;&r?MlloAF73%}KdYHi*UNQ4qP9 zy*f&(?sS{W@eF4?;_y4`U3uDly-+*8ikUlrHP}n*$7wj(;s@2+D7zwhE-0zK86|_1 z^A5pqD!q!FGX9to!MFiFoG=xvMC!_QRZE@&+Y#Vupp)uTZf})8navfOE%jsjK8t;S zWew&s*FwiEsGe9jbUNJmK6#eos!qTUQS@l%##nao_q^4|`rZy#u&SjeFblpB%B!z% zwZ)Om8zJ-Taqdqpg^`WaA2gXH?HAfgL z0gz9zQ#I_8&vU2ND`hkdJwSNgl_wElc*}eu%HTR9TYEaAc`SiM1IHxx)5IMhs81v~ z?;RbPH@=q{`EeiX_R2KlV<~gM(r;TGAHwMcPHfF>)opplWl~+a)T-Ne0BbG=8WHi@ z%~Z8M+Y@q#RTr?4&5`F`;?a#hcG=Zb&i{rhZ9K~leaMIwxA{0FiZOUbSwZdpS z`4;Wt@NS)LJ71Kn7{McRSK|n!r7?49wk|YnJ1eK(M zmJTh=*IYdeP8kFUeF)9w!XSHbQdR-Dm z)~hQ~ZI|T4H+=H+V5H@h6b4?F-$XaCo$o+q7D^qh&ebD(3dUbuAKimA0m&&SaT0ct ziM1iqpL*vF?4xUW>o~lFwawEz;m8UJ9fZ+1)%U)YYX0V{O;F0ca(p5F;8_Nqk@yD9 zcS?8;n30C^c;n)6n~W>C-BBEGs=_u%?EKaf4aG%55e!;B^93O%&s1;sG_Oas?_#&3 z4<9+o$N4SD^)yk>U}j~QnwSj$9STRaE|<=iqU%Y&re#Gsn8vNHrEaG_Qs)1tT6inX z3huF{N>|<%#h<1+ttWEKR%)a8Mi#0gn3gwLhUNi<9{=!o*tbtQcR8McKuZ*L-}<@e zKL10*f&-#XAPCyu)t_5<)B-_AU+reKk#>T=bokqCN5oY$B?6c#ITJa+hf3*o={|g3 zMoi*ygSq&(FD5V5i5b-kEhXFt1u3*N|R6ken ztZ3oB2eJ*P;ynd`*ZUJ!?7N;hQ18T^bl@2azh#KHPhO25g&?VfPOx0I*rV@~_(12; zok>9eY6xU9D$RVO7{)?=U|kWLIIEwa8(4x+`J#GF3IY zt`@Sa)!uWM#)~*vo3=A_XI%&3u~eTC(RWK*ExK1A51XK+?!yOk zf|?py4mr>{QQwA=Z1+XpCtqky;UgZS{+WTS3 zYhUHPQU2xy1zQ!MdQ6mJtguhv$J6E2Fd7r2f8XiknYuvKC-g|iPEXiHyK}GF?wI*3 zLdmYQB9GG{WD+%Fo!I8;6Rmey=MAxXMK$)8-=ZG>I?;o+ruVn2*y44(DM!%a;2>yQ zj_gdK)H4(Y5nI|;eDwJvcI_JQS4j8uJECa<9Rpf&UHUE z>Um&n-5Q%C6F}seQ!q!`~&2QP_Kc|D~nDYl6XH8xr@@y6)D~Ry#q8oz^pFvc%kdzTv6NUBnxXQSdcjhQoEU3 z*$wgbQHm@8bQ#3N_e$FkdR2pL0WUuSWg?9&i5(DAX09Fv1K|dh1%2bb_ihOKeEn&f zv zl<#rHU15+^p?&p=WI15)-7LL|_siGgv%(En!eLaqmcQZzD| zd+`&OfX&F|YjOx&#VQkj;}SL2T$EH98&%rze> zu%e~YRd7DA>7Og#c7b5cPR0j|EpU^qLCj{Edza=(eUw8i8qeKNDyZ* zXp*HDS}*j&{n&W<^%b^WH0k0HT32#^bZM~Y-U+2xK$)proDT-Epe)H%_F>Ak zMfTST7MEzN`_}J#UI!+;1<1TU-$rhPCQp8U?xql&Ljw2(0BQrBgFUj(%uP%{&5Y4s z3W~J9c-rv*f>x09CS#C2wM7(Rz|j$Me5^vvUyvt%O=@|d`9U1JO(Oh5tx&m|4_esF zdl4i6B-k#x*Z|52?&1 zIO6;Pt3Bp;iK=>PCbDyya)d)a+-i-?Fe?G^D@1(>>llg_o!S(Y+7N9!;en4c_yU~N z;$)5k_!3ZGLL`}_oQe9_sg%o34W32|sR?=lZx0k2lA%YML|g5aF`)Qx zZ3ZgvV=)ENe5MLHgVoB+C(ytg={Ij9knnS@3^!LtYPDynnQV7^kBaNeT@Zh;K$r)yEkhU~v^-9a5 zyX;4=&DtmUw`A2^C=0d&1t*e(w7Y&Fsg_(**ZFOz;%4)^6uF)TUXOP09bRW2%!cBF zfYCBQa{_?ZFR}6X2uohdsYNXx`Uk$3nkYvWh+2V~XjV96*L1z6D7rsYuL$w(zDFW$ z^|nvXT4vlj=@8$oEPX8GgfmyV?2!ui_<5@!UX6I6AXVLP&=s9AC!Y)%-@Rhv7$#&c zi&l#Va6LzZR3_n$b#|I2VQ+N_l*`G;5~mfr`(SrzCdBU92mXL3dd5!?_(SHO%V66W;aJUJ&CX0;SJfRHsDXK7 zP|wtku^(U7!qN+j=_QGxXhYy`q+>w4cAyJWW7LaA`>d5LFWk5A0&Bs|=fOGIp?m5R zw7{+L58Z`c1~X8_tV;FV?ZO_v>TB4j_mG9&RWdD#RPDd>0e=}JX=f$t+i~C`$Zboy6?*@r z!w0^Ne?X10Bla$Mg)$jRwJl})P=nVfNyvbdc!Ir7i%8kFiPkjl0a1$9=Xu8spGCcQ zC0ma`)wcqzqy-*7Jr1E~a;3#OT?^;4+I5m{tv+Nj7a~S33Yx04bAtMMEdt}AH22RY zQN=;I2~#WufG<%N*mKg`#86BXSF+yN9GGaR4&1E!AYmYvsbj?`Sw@NnabDndXDw|4 z>L&7)`bX2#rdH?Zj4r~n#5dkLc9sO{5drL-vO10NKHPHpa)h3E&+be0|R5LmuVdpF-rQ)^(!yo zVL~g*v`UUwPGS%0Cla2WFsIr%+H<%Km?+a9_NqH2=l1yNIj2}J0R`+k-zrem8^it) zf-uU!3Olca7Bff1H*|R@SJ!umfg)7L`xvy?+`--=5~y^z*gQM!=6$OKIGf13fki|E zR6A{(Ct+Qr02n*p7EClq!V}gxtdhZ|tbpXXwpBD9B+_bHu#nrtjdob*j=N+y%mKJ< zlh)SYAw*qp(S>BJ$EJ^l4wW}QBe63^k>M+1J#?L}6==afD$o299;#|LEEWx7M~6A2 zqQ}&NToLrtYYeSh?jYyf5^d|d+R5!y9=46a}7iHgNPzI}z= z#$e`dg@Npb3H8Dx9&1oXPo)5*&0)5d`xBg%1u*N?&U$nm1kqYvhgS%tRinsYVw1{o>4dLwm5uY4gi0?Rn^Lj57=%|7fxaN70&?%L0$iC@Wjp394sW8S38gkzqBu+OVUDj} zf&+uSneQn+?#>X>y-BO6lw$!z;%LwDU1%=9%ksjfs*l1$BxK4|0wDIai?U0*<3Q2@bbdbIL`tAZQ zOxyYzy~yL$a-9!S&ivHWwPitBc5zZz5R=QXNW)Ul_aO4^>x;4j`V#Z+vh}vlq;Ni1 zdkxA|u7kP_$in+i=Iy45hCl@iD<#$TjBp!nOw7Cjc1laDDG7FC3eqdoFK!V9>aBK% zN!rnChXUu+T^{eYCf>^}lp{70ufDpI|0;{}X}Bg6bLT_rMQ@u>&OUsQhp8Imrim5W z!pBv<3WcynFH@sbIc?{js>eiW+-?brCck23{lzn>qDYmWp%OVFR9=K6P~~!C?D#+&;p`R)pgJX2{Q ztx43k3sTA2w2BW3pDFJsJXC`z#ysb3OPci6a>w9_B160K7 zz6$A>YUw|{>6+_$D;#a(CZ8652u;NpmOh?CHOKx#93O5X2XgP~)7L>#C~MoojrPh5 zts&hvSx;39cKp+!ia%2xK*_EK$tUp-=gH2nduI_cl8RH+s)zFsM;*!d*6V8v#S?&f zzZwsswY;L#=10Kp!zDg{iY2Al`>V^9n-poh@IgT$8`8L2f#;0Q3?+L^s}rH}nVP@&w=9LK-6qOn6gJVst2k}2!C*swuk^}7$j65HuR~Svm^Ch#dD$Y0A8)* z5-BWpF^71Y3)e@-N5Z#)Ozl>Q zb_)RXX$VVwx#fYOE1Ku<5L~@0xBaC?ZsY4N2|MC4SzVP4bi*Lv=z~v*I3B0T1DLhoU_b{P&!0phQkrV@Cr~x9 z2o#Y72=<-?ih<^XUdbDAa#Sg|GEgxb7eMIrvyUKCTF*kAPn}VV%M)mYB0kNek5%7K zf^eZC{>+|_Q0$+~3!;p3a1g+6rE6(*uLM+KXwWi>S#5cj{UGfl)z4`psJt~;`lE-x z8tiJH%Lq(+hMJ?z8$;9Bg)(!K zik`ujPC|LhtivlkK1RT(s1d8L&m;Wv7laQ3ITJVUt$IU}tKS-~9K>){Kpp?s7)ebV> zfpCqtG>=^S-_g)VTbF)XAp877?piK0$u!Mz5N4yvcL^JXhBB#Ox4%04>3RT)b-Dkk zDZE~N2Fl0ylGpSNf6{@A6sywC2O`K5;h~$@0nVh%q>%9cz^FJs90%?66G-7 zYBMbc`)$n&Gkp9oppMM>?e{I*x3bfwW~s}1L)$NDE?sYXe^U41lWfV0FR$OcbN*r2 z{TD}NZm!k~rCh01B4lEI_OkDJ%30f&c^61iuHTILL3zd`{PPtK(}2_G?5U1@&sv1r zjAm6#oiDXeS5WR-k!$Sa48c&tIs0DBQU943&beoo_R)1P}e7N{u5GUf8V?{hYuZl!ZpHf2B4 z!kt{1++FxPmgCQQoo%54oZM`fusMbOXG^e zU;yl&*mYfEiRrQQCFqT8!oy5Er|!kRfrvSJ`GPm&gA%?l=z%!&^5O?Z>=m(@J4$j> zz!SW1u22*Hh20xwVQEf|f8ioPkUvsuNkQadiHXOyZJkshdM;c&>!o2mIf}!Mb^&ke z!bc1E_CUyE+^mU&eEe4T$4-F4MspW`f9mMrvegwI2bF-!AAUSYo*b+z(0zA(dq1Ut?;x9mkh@~F)8Pw~Um~bH-qJrZ52}02&@VX44uBHf zdD}sb$C!3BIMUz{IqhnIKWeSEc+#lBfHl}ZF+vZL`gaJR5Fg>4#hNZq2q3DW8t4Eq z4_S6%E(p8roPA7L9sKU)7Jfc-Nr}hGx*fQo{?ERDLWy{;+GV^)%tJ4rA9K^&H(z_J z4#iV+0WISdPyqd?iZauiNXD8{{dz%X|DK!nEFjEqPjzVO4--72bnc2C31wJ`XlS-X zJ7(I)<{LGIHCk?hz*ht%R@3;R&tg-zqxFA!pH>EAOG>ss3EDs8^_o=2p+jaS(8k?R zc%giy6YOCUGZW(5vmp!{RmYN_oe;hPGz-OOSCXg#Bbw^qRp|t6JcqPED^aapcn+Nc z9J)>Vi4M=9Cz7;4pm+ zqh5y-m+=1pq9Ln%dl-5PeD{?Stnd5BGVmYS5rW$$?Wdrwrey(_g3HoQ?TzFj z6%dd7>{1zs-V7q|#f+Krx1ql;0#OZ4d{ug5Zy=#eV4Zw8p@n~(0L*CmJyNvM4uim=)sf=*v|@6lK6kT0ROn;(@hRN06rZDG|@V?lR}SI08Ma3 zu6%E(jV;hIW_&&s|JswP+kmEvTPV-kZ5w>|i~b893q>rxw_)w7Y~}LH*uh2LHIjvv_eP{5OO|D0k|WMCb!@D?H5emUQD{v9dJ{gk*aW02GRdS|;R| zQr|)Hh4GfUGCdw9EG5__?tPof2w8psssPsO{feU51BdRtd9w2^(cF{_dQ5*%#rXNH zUD;Xa;mj3)r)6J>y7>zyRFvGkTKWb>3H`5|YEd>jGZYJTrk@U=tQ<8p2!j;a#E|_=Ar%?qqXaEX2ULf#fr&}Zv_F^_Q|@+SFoo>KHG-JOg!{AY zl?3qb@UQ5f2j89}%a0|JsCWek2oc$5=98*rKtNNT*O)RExLu>M7bo;juc zSM^_jIlKHrnE#*`UxGFTHu}EB2+gu+^3lWZRep&Y=yh5Oz|%hO?GJv@&`I#uTz|5)=IgbVEHYY7usJ) zhUb0%NX|o78Pa(j?+n0q>Qx6u=D#Tvwa;ux8Uo$6r}2f2mK)ruVVDpZVgLo0U??}!*M#=vJ$U`XRV7Jc8_NThO)Kg5gQ1CuFek0P-z}Z_ zdO)%O@Yo<$diC1&m-7~tMjhvd8HMK?<l9!vQ6Vn?_+8+q9B|DIaWcH%g{W)3XY@Y&S>jPtRp)3~N zZ+h|+Xgbps&Gq{iNhE;>5Qy~=%MC<>7v5!w7Zyuq&?F0cVdg=T?38)mk+I69_p>rK zkTf`3IkS(Uomph2{wxR6brxu<;5Mfoq2CPhdP+FZ`VaDw0XKIO<68jp3Q3T zeY|l^k)%EGZ$b`vC4)tf{BV8G0S67eT_>SMYY_*Rn^|K^8dsJZm1ooCAJ1JHT`9WD zMjxWQ1!qgb^(UD1`r14(QvcoKVFD{KfmRde|JW}pt4@M-)IBOz!II?QE;l35d!85O z9Y24nsp;lfTpxMnN_uD~&N>^Zd%#pmQ*f@?5F0xkG)zu}YJG}Rkeg}IHmQV*j-M-` zM7VyjD)LCVq>?U-lTZzu&&=?7spOVuaWtDm~yEj*jwoH zd)V+B>>d^0fWJ)e%)t*1ut$BNom6Z|Fh^&U5f}l>hzlAwu|i+i|LNc@OIK)dF%lfw z|LG`m_ADjh!ttm(zlSHOuK|SDphw-W`seaslptlB?5%aE+2@aBY~9jk^R9vsk#alO-)LO+WzJRPB%Jm z_v!DA>L|oA{SLm!0~#V1>-QfHc^Lrzm*0KX49H==*G;w}IG7}VHvqiDz|D;~>)0uG zAfZyuhQHqioH+#6{t?b7mV?9X>gj)t6S$3cuA&m(9+1@wCWZVDk*@({Q+!a=I*>C! z!|^|8NB}fEk?H#9fCl4#jq|^}t`Y_lcKDYk9Gdq3P8ji6;67&$6C61MXvj8=I@o}! z?*40>|K+s?D_Cb2_L==ZOcx)ce|e1tGko+9ZSTJm z259(GXzl@_sd{h5b1*dCe~t6Myw;Beg8AeR!Tj%pdH+jj4g-zzm-9SiVR#oE^% z|L;?=9AMc1j$RJ!3>Ow%%az`ckYlroR^GDovwHjo6dSE4NsOHFJ9OyxvF>%5SVtsj zbvU$>Ras8V?;R`_ZRN=?xGCtH3rFuKaR=sAGhNt6kjh!0@?n6_`sl8V5#$Mo^W5z|LAxoVe5~ zuZmooJX- z?EvrqAT*x*<5Akmaxm+5>OaBYdn&;CKmFDEz|zqowu~W1uAfm)4jn0URNIo_Zygr! z9(6(UpV$L20OD^ZYw@`+<%#aTC=llZd+6Vo(NTi7J8ZEUIXDPX=|2|=*U5o*QHob% z43*`MC5IM%x^9!d;6uJ;_y;^hcn%nMbo%`VR;(nMS8D&Fg%Tz@v@^QUcL{fGT-Z^1 zW6+v>lrffMbo|scvR%CUp#$c3z{m^tpt#y2job&rqCOK*B(PK7Rf&h0%&gAFla1L_ z@Vk5JJS&VM8a>pMdGPK4pkgpZ$amlBl;rg)%^T~BTYDMWi3XSwfV*12=Oz5^xILgt z)A+MsRqny8cohP>sn9NHFF^rnx&7|d6?k8@Kmg1vo8*~U2e^tSXfQL$*~RBYc0k`34_Y(zbN;Lglz3!k;M=K zfC2!Y??S1M@n5Q>Cc*f~{{Z#VPMhWlxc6n`QM>oOZ~X(D12DOb^8s5mGVows z`uZDmrZKg9@CLWSZ>u_c6IgxGS(C2&#%Oz%WPILO%hQFT^-RV6*Zv0tx9UC+P&ZSV z^gE+doI4Dqvu_S4-2!eQ40-{z|4X#W1>+h|)+C1-s>isGY)P@oa!8Fae%+V*b5)fL zVYFLJhko}dnZW9$+U6UKj{T+r*WCwno>V1+#%%^V(bs=-P_m66O^0qoYf+45aAM!$ z{V!Yu!PAz`dEd9Q3aIzFV+nZxS-8rr_fds2OxZ8{7mYvD+&2&0w^hGEuC^8}7wo<% zdPU}Y3E)83x3hWQ!=IzO_s9BY%F7;!**acEt-gX}h>`;P$G@ljFu{NDw=nMP^!`QL zk<(!#t~C2y14tng*v;P$erQKl@fg=c6ODT67VNX@iR7tjI>G}gzEWNnPFmeL5&e+b z-7iA%5ARn7hEbwIi8KA${cPyC$KivrDMyvd|_d!Pk z0Am>}5&B~)c?e4*$N?bA!#*B!@SYYh=C!MZz|{!9SWxwbkUEx}v4IhpSSYlQpM!ss z1E7ce^X$I(N$NKe_%}lgY^<|&Jz(H}R-67NK|^9_kd-ZM-goT;p+CGoJfO+n=_PxE znIjy4nyid1_;A1pPT-F0EE~(h|EpvRj$1n2r*?>eOWecQS~olIH1Ltpac?P!IgZ$gCF05 zDNz49_wbMA$R1>nGvGO23wA36ATxn;eY&&)!U7ixRuCH|NoUOzv(Ocrh3rdU-rnfP9&DKV6Nvxg-&o|Iz5o664{rQr6JEalO4Gr5{wosyA4Nicf&g62 zsv`{UtC`fpY_@qKgtw+YsE=^d47n5F)@^WM3`@^t6SLeWICw=o{X~YCVnO+PGmx*^ z?|vOyS21{$0uT~<&W)nPlgL&tp=hjCvaJ^)vg*L|#)H}`xJ%v0&*auup9`Df0~#z(K(wUf>HVf96WnvK+7XQ4qj&lFdIppoGv(8E z?tsn3I@Oa1W=PU7btl(ZbS%lt({XW6Q4+|Xybe;BJ3&74v;(NLlPQ7&mnW?{blzc2 zf(T>lo7+m%9m0VtRx584dxC02N#T{NNi&Nz6v%TeP)hK7hCG7cO#0Y8w`eyw&HC== zQtX|e*@_nszBngOjMI#QjceCW9CGFjy+6WC{RDw7iNi@L$DXj9c$1Fp`fnbqHfIT- z0y$md;35x)`I4zji$yMLTYm>onCBz7cgO84{T(((Tb%al!X`75yJQ<$dWU`NcUto? z6$)}F71PTW9Q_Tt@QOV{ES9wP)G2UVkd`ng{?n!8xz#lqt4%!0mKTz7FTtPE+^2>9 zXHsdY&GFoob7JgX5iTBI**+$kh>p{$qx%dQx4*5vR4-?q%dR=`Y{s4jgRGR^0M%BC zW)cY#k46=>O9SYYhPKXG~-tLjkOB@ZTKjY`xDQ3`*`{7 zxgz*W{vUnTeI>1qEHJYQ9Ckq>rPP!Y;&1@4<|SH7QB-(#Pd`ZThoLO!@~6Ys6-B20 ziPlO$=Tv;UCg>2C(Q%c<3o1k!V)PB%T~Z6mhC|odl_$7^g?9cyc-ck(H;}lF2~&a{ zByJnoHO_!3b^ztQbXz3!hPIZ&k)pbo(mwhJR(mP%^}w&l2v=C!Q}P_R+v{i?ncSz0 zY^zTYmNE>|^O^B|)E9|TM%|X1NrPj}g}*;J(&w_GRpT)eU8`2Y|e53Dh#`{NB)RK|_<;ur?p#942)TD=f1b&TgxJ z{B5mk3&(n|V19!V{zZ6BlP11HS!yG-^0;jUB3=U8cFx8Fz1f|==OXlQp}j_qVLaoZ4d_H?vVWT?8#*!buiOW`d~E>v8tc190Y;O}M))I1J03L9$tu3|VioL^;vN$m@H-ON z86{SaU|L0|@^SjEIcujfhc>qn`(@-H5Z{?|eZ}>iRzI3Hohnyi9qMUK5`z(|A7(&V zn23C|uVA@BX_M~!n|a${x5S9c7(dSqKMu3DT;ZWQnl%~ejk8C<2B+tW+a8tpgoE~i zMm8sClZ3WmY-9Y+odIx(01IwG6X%teqR?|Tz*UwGl$9!4HSt_GF#{KaDGHYLw}f>D zr6OwmkJLiI2v+pvEUddCEEiPeN~9Z}zBSY8RB2zjJ-i^k>Fyw8&o{6Hm4xWT1bfUHh6vP} z@D@sJeUOlIDjOW`lxA3dwc6mh(}3O@S^E~ZUUVirl^MFEC*C~{RAY>3EGF^)_Fm1Y zv@6!wm7kWcDR=mr@254e7k^$|3ifo@g(rJ5g1U~ujV8QXk3n&Q{5yhL3v|5phMbjK zJz0v3n_pyE;_HfcJr>+XSD(v@J~Z>B`LWOmars3ZtHfsGYKskm*8{CRx-~pyFgMzw z4UV3WHp3lQ0Jvgyuos&l{Kzo6a=jo6JHN|U5!^63R}8C_S1hZP;OzXwxbyuOo8CMv zrZ`ZWQ)XoZQz;15Y4O*2IA*wAj(dBi8V>G7n|U4V{?8VuE8)i9wXwYe*uy&qs)&%e ziR^{pnu2lwHXkO>LQ<>oLekwVnC4v_XWj;_E#Xn88O8T z3R@yJ79!CcJ14+R@~e}ANSFB%`0|_ZyT+?^&%D|FE&Yn-vpXzZbwXfs61z*mUC@cL zJI1&>=0u^Fn#l;SieHJDx=WBGQ$#HAqsd*TZ02l0juR*#VPqkm6=(x^*aa@(;9H5m zxF`WC{B}VVtTr*GCZdE;aa2}{r*_)sotm#T+%-O47)y2b@c1_1*J^Hfh2^PL{$b|x zfyW*gwGK<8gI>E}0s|Wwii7)1(1wPD5h zmkz#nOm&MD-mW_mTCCo(W%H^s{5{*)Zr{&^P0j^yVQXIqZvMHS>Plfz`2<%8j-}D6 z#J&Q^P3(?fSRmePTLm#b3(~{<(B5%@gYxq|@6+ItS@REz9^)@A{&ZgQhsQv-$ItTH zAMWHk`?7smcfnQNwKp%Wz}nbgp5P>V?K3Y>W$rys^UDGwa5OixiRm^!L~IX^##y@! z4o-5H%#V(H)x)tpa0TO=tpmN4I@~7rG1dOwi)|kB_N<==c;l7=MqAo5+=e3}ccGJn z{!!K83{S82pG@+qWe<-|Ks8US?V|^~t#E`jZm=;7-42U#3mf21QKL)1ol-NSIsk%ksy8+X>pmLk|s zvc!+fB1@aqI~bl=`^-PWQMG{x!25i6O7+YX3>iptZ{L;O5b6GEw z#~z8MSf8r2u~h1wvDuxpVWHqFb-mh7I1Ti#h@F<8?Vssf_0q*fj^>?Vf!kqrI1V;% ziVwsq@jE|R+Y$qDM_*pp1q#3j^J>suMTramuV#EZj}PQ;I`jMjhp}ZmC_fsj!y=Wh zUV%~#nYfZ#sPp8Em!0?HYb#>L=LN~J$$deZzA*POGFJKC<^eli`|${8;>C79@%-0H zJv3d{?|Z+wrhQE+I7VietcV=k>l)lH{B)$SwIevD`^3P2d5f?vwGGBKksxRGfB%+0W zOuf0*rmU`0)Hdq{oQU&WHD*p3@bdc>o07}dp~}hg3b)ELKUq*-?U z)Ve&3lOr2LF8aU{kBLp+U<*4rP+TWn%iAVuzl`Rf!>bz_Q0#2ak4!u?{+2-Z*kYHz zjPoiu8{aLP;7Sg$Rj+8YZP@@*MEh7x*LrPpCGo0BOI1Mp0w_ylbn1HZU=;Tq6%)3o z0*S6x&2IX7E9ni5JR#%F0`l*Dy<%a{Qlcu#3SlR!8nTW*q#l0XH)7h&*ZtLJ@tO+% zZlBB|_0)@NZ{0LbHeHrcu;+D02L%^w`zUp@_gb}Com{T#ymL+3v4cyn7uD(qgd6v!-Hn4Mw zMIECN$HKr~%VX|X#4Qm`m(`yv<~S&3gQW1>s0qQCHV>eN=%_1p)5pvB=6~#}YY_v* z)6+B8L81J#K`%AM)c8Wg-VT!vG&Q8TZ67|RrG(%lOKtO1#Eqf=t}vn(w84E9^NuEQ z;xrfPEGL~`kEQpkS`E-y@HFJ|=Ix$U_gD(H;KweF4 zIO+1zGv=GWLyAwxV+U-)KWa$3_yT2})Th}R=Irxsy4YO9kqU=?OrX(j;B&Y^ZSL)o z%db;o#&0N>^ZtAz&)tZ)S*rCi872PO>SiGQk8pyeC+}P3L&G;I?FYIyM9zDPEI4Ml z^_XHGmfiGxc(>LLo>y2ICcrkcOT(Syvj`cXKh;%N81D9XOw~U8(9nSghrXkLujT_j zF7hR13f(`$6WmUb=_eU1dTu4qdVYDRFtzc?xtTLwaK&t(G1W*X>ga7-tcJFbu}o+$EUb#3^Jri6b`g2dCzl~xfOYY$Xq3a8>LZ4<M@3IW}F7xa#FOGfu%kRmH2lJV9$n!^rT6;rPLax3JHE22xU1cW!g({kK#j zQ|4@c+O-^=##N&FYZkn{X+bm%^-(`o!aQD(HP|jiegmfKRN=VW==MmWA~2~M*vrls z=sMRnnb;s!qLoI-DS3M(7QHC$B5u6ec2`u2BO8;qZ6q?F%Xt`?yrH9D!A}ocYENx# zN;VO@sWa*EVSeSRI#57mmXm=ZQhxQ#B+k@31J`SOO_ zX$rd!!+C|%Dxwbp+T`6Ce%xqYZGxZQh9HGy%`f2C=Juq<_-?qJMXIF?{8(_>nJb5M zNX=*wbGoM9+KRl^Tk*|re#Zis@XFno^9BtoMD{)OW7>~gPeAew;IA8HBQ|k4MFRI(>J9)b;s;BRgA4A4Wb8 zg#Wl0`kdx-on@wr_He(>H8;LqrCmt1Et&f2!&%~pvcEA=Pc~JVuY~dZeuVLQq!7c6 zopi3J(N|MZ+TIHbKtr9%G^C#jy!_<7-bqO{tNUrh8%~_Jh4U)W!c)6LPB~{3=4ljj%2m97s3J>0jVn)i z-H5#$nQRDSm~7duyD^mY13^uZn^u@2?e2@Nlx9{B*2Ez?WM~xh=IJd0+6J~XdM`O4 zHP^7P%<%2IKX(f`FM30oBWnRTCawn*>|pv$;st7|ui=;NpXt5{@?OqDy54}AQr=NJ z1BCk~xTiX=6DT?HX}YP_#Be9w0bzO82V6&#*X(jk-MP=lJYEFag6qpiYy|C^+ObKu zOOJPb1@|159bUmDHXc+Uj8BFyAI>^O-g zj8LU;v}3yCJ-M{Vq?fE+fCX0~#x_3>(0sX4m`WRba-ChU6NB3PYTm{c_< zLAAyYBh0W9e7bEKnud~vd(YvuF}C%zW}td}i{8bsHWK9Z(e#YgCeCpNx^bhCQ}-Pg zRBf@s7I6)uV;e-0{2ekZbS=g-hf3O%L)xTvVxJ>fm*n$AhG!IK9v77j z|D?H{!}nn4;nYB1<+{$GuxA=7vqYlec5LL@3gS)}Jt4nS%5ugESz1*1rwZ*C7^E-; zgo|tpRj~FY56I+P#Oo`jpd8@u#2bwu$$5XHSR;zw!dY-~HnoHfYIU-%m>#O&$W$$u)f`;9hAtk8 zc!3G4eZ#d>f&?hzz(i7CEC)va!<@Y7xQ&YF`53`yA;DehxksuQ>W*-YK|kdM&yu#A z+>4njg5`~)rB}CsO&@bYbg`;rp{G$yQpaKTdK}(#Y6clvbToL_s7#Xkd~?g)+0-MB zQX9f~^@4>T%^RP5D`MYiCaNuYbdlz1k4M#O5v49kW=xV;?`qIh$KC;K9x7G@u1fqW zO=(avLoxeaLGmMR{U)Cc-Jlv73B#Q7TBtzdofJ9)xqy!@gXLOv0V~9348>Mlv;&@L z3?f?tc4ma^KC5-*4A-WTh0mXuWe=-~V!RrDn=oT?fz25Wa zr8ezjh!HPq*NJ9SMOeLgC!f8%D+5*t;?jv@oF{_~Y(j#9A6W36#2aIK|#Jm};Ez z*mg7}FI2fpGq!xGBnTH&FgjjR2OwbU$sFBQ`|A8r{n#3F*F!AjMl?wT?x(N zy)^=cl??6!E4Fn)ckhDR-R~|XRHC^slm$)OMzMwA?zkoomMxHcxu(4)9V*OUh)2f* z-~iyx)Qw2OLTjiARllb>~ewI(k$46Y*eD6J7K6o!#=Jvv!3i z>pj3hetSu|WvEvsqHz6O32aW`*}~A~q|YHog2d#*qXUTg&f5?QGqtQnBvg`+ZAKhQ z79AaDGw{jz)k&C8;AJ)l#!2$r4EMYP-|7svlQy46wxy}guh5PQiN}L_z)Bx1oWu&% z=Xfgg=6TyEX=EH3lvRl=b-(p)2B-~7n2`GpP35wGYZ1!g8A@AuRoLohaPBLkL;H=8 z$Yn_3N1qqyH|apyl#opzh&ooitma+2Jb^F`h<2yC&1r5=40KIFLUiSt_rmfRirLW- z4`=`BS4p_;C7f3lb(GUeBy#%=-IP^Vm`q!=8{1gb<+)fg?D(pGEvIHz69MN=)P+f|qrxwypB)ukxHMGr2KDhQ7-TXu;la;RetQ|)UD z^eQz_fO9vU7_%SGHoud^Z621U6q2LrG@AN^-ziJe@j9Ky%ggaUCem_571Xtx(}M<} zi#*?=^XSIQB|#fH zE#lE4dEmh5(OS_R5=89;n({E9XSLT5-kA%!jsq%A@f-ZN(%J;W zI(d@^Z6G+AS$6V0OD2qZx$lGwVn9V@E7zfM2KDGn^q~awg|xZNhZWcjsvAAc^8)+3|!8DTf%Q8#omqP*`jpNT4RudeiL`H>%=N}iz1E<5>!igp>8y=WmupPRu<0L#^ja)FMv(W9>Fv z9TR8N?2QEXys^l$#k!(C$2;1Nh{TbFpb*Bt`))*=7Zf8bE7W`F;Rtm+N;IHKf!@-lML){j~Rfb z;QqmG2n<465d@734TEz;&uJr9JiN=lws}`$0WqSsrub9@OR(_#Koo0#uR^HrgXzZl1 zwCn~0%y<}Bj6e{^j<~6wn23vOYaaXm_Qn{IY4+ zQ21#x-y_GnCIskmC9Q4lle}GI@QrFm-nx$>Q`M;CcPM6y>ZyTK6pxt`1`UJ7at+y? zGF_N!bGA)UAS>A?WVmqE-{z9$=VY z;=pcgLf>aLP&6bIUHPrtI(Bw18a5Tcul4vvx61u0dZyQ*UejGuY&N@wB@YLM1mvSL z%aSEFo=MyW*h)sH6@afD<}BcDlTDmx@5QeENr2_9nU{HN)G)?*yRQ_oOzr%(_s-<~ zFtIv$yLOo|$9JK84iC43k!Y1+a|~$=1_sC;)BnR|SE-Tt?kk7!;|6~cn@7*+_;{Lp z4wdLL(JW?ys|`+jSNt#b-aH)2@C_R-QI>>+BC?bvNoARkJtWyfb|uRgGswOdBNam{ z8f#={MwYRgOj#=XFvHlAvQ4(^B;Wn`{oeO`-}m^A@6YeA@1Ks6d7fwP=en=uJkRUC zex8%nU)H!wiM)fl9;Y$iE|!>vP?Gg5T=|Ie2>%nz*P$x;mXDPD103C4yc3sNWdyk> za*ohi!9Im0?zoUs#Pm+AKLaqn} z{G20CHG5S~LfqB;+A@xarD(ZSp2bvfa<JTC;Zync8|V z|1{b%c#r;PaVtAg+U?P=BrIZk!}pv{02kzZPc{PQyLyhI3I6d~mJ{)%b-Q;Z>Q~;k z{GSw~^uQ)i{i2QBGQ$ICp^J@(W(vz3Hq0mCR9x)o2krMM%Ox^NN1v2!0+Mg1BNCJh zfcIkwxR&N#?$48Fh#&HQUImOcJT7axq@wHQMs0UE_IWO3im$3(f~i}iw{8EM>cZ_` zC?H>x4}Jl|E=+50n`zwc4C+w5^mJ%!*+feN z;JKFF;x0=!cy4fJXNut-m|ZsQ>()QL;J-rSTa11h+rQ#E2it9+`rN5E9ynB2=UhFj zP`oZX`>&di9v2~A*N|*9{KodM_nS=e#kPn0$D4mF0~*6mxJ(MrB0HU6xa=(DaGYOr zx&b=T+#oUX?XP7_3!`+Q>bsb^zK*hhmk{vS=01Ki&qvZ9i^O&F+06l7->O?hp zcVIpZ=6@+?s(mioRegh*cs|+PZ9&dtAlcfvvTHiqLn&8zttfQ7y|X>><5q`UcUlAU z)#{d$&xo+)h4{^wekAZ@Cq$MZmB?4en}*$~z77^O$!zyi50CrLsd~-tj>NB(#UEBe-hVA1bd5+9I zURwU8lB6E=Q|yfOmWi;dBnp~403woa>WHgrNV>2ug=x5J2DcJJK&22$gb}@*!b0fJ zpWYT#y>OmiXMTwb?nGE7G)v2i^VNu+nmC{*FPthag=fX31aZRtuZxr%RL| z9Ic3y6jZ~NS(q}R;#C}q-<;rxyc(S15413r1h*HQ5f&GFAC0&<(Y~BaUN(AClsw(q z$G42Y24!jvxQT8YxXi~-Y4rLz7RwbLO5)DA6nx4b=lH=mETOp7cvY3OWo_G43uhi* zw`Z?)4AU8Q9?B0&ys?nMvojU73h4q~9T5bD)AYcddkvr6{+#L#YPF-*MZzW-mz5H8 z2a1wPi&O%5w>Z)^70f$6?@_9o6jtPGmx;?+I-jOqE<_@B2s3W?Op~o!zJ%i}x2{a< zv}QT)qday%vEVac?ggUKr91yqnT2gQiyGsl7q!(@eQ4b&k!fnzsab89R>fO!niX1%XK2^GE<+@{E%Zn zbmjGXJbM}fcryS)n{SwOrI7aHTxmC8G^Y-So2G6K=ypWmS!L-RtTN}&9EoXO7oFJR zPJ*HF(*(OGTYxk_+oHT{(X`yxXw~%Rjc>C3Hbk&ne`@kbny*Z^xa+8Yv6fKcum0nS znE1izlH8l3CK!d9%s;R5ZzU9l# zw?Y`HH~1mP!*S(P&=~Lh(^%o<>WHzpX8M>k7=rin1W~+bMd;axs@oWGI!PYBZ8mt3 z1icdTY8`cM`x?)ZiP`*2HS1$23dQx0_VDGOS0N89Tn2_ecwK`^cMUEEuD_p;t}(L} z5ugORTs#Cl4uKOA2ZO>M)dTsG_`6MrIsZCY+*AW&naJl;0;)8Liu04rAAve$xIpHz zGmH|Dci@l}RoggxDcj;+{t zGV~u|T#s7}B#X70Y8LDl9wdK>?`Cd81$`1Q(#o1ybW>Y-Ya5sB4W7aY;c)}+Aqd2Z&+2JzMc=eYKVB_z@QpjlEXb98z+X=Iw3V^Z;P#BqP>)ldz-OZJ+XjMX0Mb_G7T@@ZPbY z6!R+NZ>zso&PA+oX66S0bmjrT6$AXcf-OYCRz)@pqT%Y3?<~SDF8bxGcEU;hj7eZ>ke2NZIT7c$jtk_vJdxHJa z-A^(>7@4@~rw%sKcXZPoZ^`s^D=!LtQKHsTOOVdPZrw8y*Rat+iz#Sy3D299+q|}2nG3*my2_I3{*Be{0N4N zcwN}{3O)=U&T63%wS3|fWDw)h$>8nZm(!SHiMSN9g>MhjWa z5_0v3!6YR^EGgwltU#P6q);J)iGi8-cpXM%NH6bXJ3->Hz;ixrAE&u=%@<|00bl%kJ9IE8F9TuNw0aZ?nV(adJ5ajvY#`ljU3xeS(eP z1=6qIU&{3>2zJbl&kWMLH5&LtDIs1vY*9f^PI1UhX4nMM!O~IV>!{Ylji{Y_#7j@l zJ##HRN9+hSObhMpc1g=wP`QCk`P@YArb8vKZme$Ty{(EMJ%eH5D*@S*P>EYPhZP5v zlKA5sr#~CO-H?0gp@9sMZGM~Kf3HdE7|h>1e?n(KsQ!-ahtIqQXlAK<`l2uIMBO;c zF3NxX_-B6G-?paxP5n)u&CF~I&Lc0#6h;2a?WU`QPi>5h|LjPU^L1NDuicQtTRH6R z?M`*2t*A|RHEyW5b?I}@Or26p{HYa$3t%XF?W+eG`{TW?G0N9jsDD@3)mK&j5xV~SR0q$Q>J$XhI$UcL%$x6!d|oq~ zmm0;SY`+pq6>>b7$a{C7@*+Qr-D2L7S5KCv>-OsG(^wm4j6xKXq{1&Cr|{MP&(AOLqT|1drDRrL zKgwXf!Kz=0NBDFs{hWJ+^>y%F-RWA!QFZxBZj}ebEV=kBhjVmb6{J&&G$-z2O9{Ju z4HvuVy7R#n9QM)n^oM8PSRj<+Pb*!i5&0QvxbDBM@Kp>=t(9-v0VC5+_e*q!ir~`V zYAVP!lX`?br@b~EF4kyO^&Q8HS*z9mLC? z%1hn2&2Jd_~P6D2&P0rpClv`u%J)YupK&A`V>rLR~Wh30{5W z@lw$zE5~r25p-XrfLgc)?A{5pwYh=f$;KIe`y#jmu6ByQqVJ}3@Q2Q~auO$l>Aqy6 z`RuIn^~O71%#MeXfMUfBSxK(Ar$G+dfSW)tfKQC-k9!j5FQTq%dE+ zoDev#G_a1m8&aRmyNlIPTRE2csT{VmZM7IG zYRpHySGWDU&y7m}vf2X-ot%KSdaOKs9hyCMLndo0r^-89x6woSgke5s7gMQ*j^;EN z8-KcErSRj1p8B@w+;=%7GybOJ`*1KnE&8FQ<|neTy5PtKlZRy!j|H&E>QTj@3pSdT zNx~E+e;_sGSIx_;wD%vda0QrTpy2s|acJ6ImJB3c!$M=y#o{d*6&~ElS@ajXz7mQM z8F4)O_91+#DHb*RhBB2}Xdg6BR%; zBvy}wNY@1Oj@7V_XO7nSvu!`hd%t9Vi)@i!{?C4*`t;9tksiaeZo@aWnFb+Obf~{& z2!o>TE24O+&8zRrZD%;tq%(oY%jlP>k|kK0@4n`l0&~%E7s_u)1-;5pUI{kKGkqiZ zX$^1ck5Mu13tPISL;g*f_`Cnc&`YcT*(8krGBuJoo8AV2QSXMAMC~VRN0I`r`^eEh z)pBVF*Mt94+ZhTv$1r~`tBO+|)_|1$p&J-FJ7s07YF!ROp-pDmYWma#VxRZf{Y}TH z%*II~i~VPOU4c6@UZ-t)jm{VUFMfDck~l@_cD6aF%*w$0+6wfbHXyaX6v<}IPFDt1 zXpPOZPJ1fRtjte({EH~9=N^p!pbNju$I^V&|4zemPXZI}Dt;=-?)%DF#v;YzV{U3e zhCJC)n&4Nms+d53X?=L1y)V;C28WER2-Gmzjq0a&TCZ@$R12mMKAkjXON zHU$sxtW@{y{#0I8t^zaWJ)q`3oY)HH#;1SawYjqhje6%l*!uVYL#Yfnca%17FprhZ zQVSP<-RIWwB_GH+|18^(j7FqvM$>%e|4n3t!Q6$?Jw0*J|b2 zb``CjRfs`PEN>2e@$Gh+0QBavZZo*BP7uKW^c5gJNd1*$dvSB3fa5ow_>TtM@Ha_2 zD)YvBBu0U92{z&#ZSC8sVBm7=F8JU{Ff{Oyf&Zt^3L6g7b zLRQ`7KrU)o@qp*z+PP%AbLULESw12As#;?32 zI@jFYPmhD;&OcNK@{|st(BIAXO2#~XKhZ!igEJd+Rm|c%nE$S1?j6mrtOp>xGEYz{ zlE9L2-4;ArvFVFv$$u)k)#Rd&aAY9TPt)H0U^iF>w*H8h2RQ5A$GJB9i#p2$ZsiEv zaGuwAlLOBz74LZI$X{UjGgay;B4DN(m^fN(8ETgLhpl0qhG@Q*1twnK%O^PiY5LUn zXpW1KOg35Qjq%9HOG{bnPZ@cgk&hmObAp8*YQ(XEkGg*{lYtEA(Ht9OmbWsl4b8+h zMf{BX^F>1N4GnU>bH#X6$m+~p!dM8RqT|Z9OWTdxhDPlF*-Rjg|HuAppl!k=@aDV- zv={cb@c;40Yi;lwr{^`K{*O=o-~asoukk;ZbAM6(zh93>Us=MoXY)ZLUdCl0(XR;x zU16Q6UQO_Sn{Da={W)M4x`N&`1u!NyW5}bpw8J$O>B?*C`QhupD~5e9_`kpOHLw+^ zIc*5YuobyCr`7l1fbCNB1s!l$&}66XKMxXT_~B!x-3ddk0u>(_*xpBk3(0O$iT_+4 z9~1Ndu7fh`ZDsHOW+-xR*V)(yDI`qfjKp`BN|yA3pRd~p&c(XQjkAQ8McZ5tvRV6 z=-++y9y?t+vZrzGMG5a zqWfifH~Nc(xK>ayXC%JvBS>8kLP6gTt^oKK3rO$*YeB8e``JpqQz@t9TvH-;x0mG; zD_~Wv$JP#emA>n#t7pWVU^0eP^;AtwGK=`9qUsiy!!7FT_9cS+{RPZQ))=x~tji0sQ;CsP9??Tb3OHLZv zdM!ZGHT3Lsu_ptF0tu&7Ln>>3Jd=*6&nA@pMlY>f{ssP_!w@!lzcoP+VQJ^1li?&~ z>n2-v4Ll?hFGhP>*u-n+F-+O`+Vb_4HL7E%y25p4M>}S`7+tsUFvy46MU_@x?g?d& zHE97>*xXwf3ZG#3uCO=QQaGMaDfN^xx_)IE~;n7P&w(zNrw^QH(ih(0O zdfuFQFTSFzTdXJo4Hh4|=5J4h&^AB^q@0*u!cml;$4a{Hxr;r>HiQ8exfi_)TZF^s zW~I+_i-f7zTNgkD;dfqPbfCb8BjB$+0Sv6)C5+PCb>mNR*={V1)~Bk4Z>IgHTQz_d0!4e>g8Kpi;# zoyLQjKl$2)jKEk82sBhZ)}m8H5j!55+lP)_{Wt=$Ai=BXrP&?*7b0O}B#;c;1e49MW20hmBl1S&M72KsJYtNP)I5B$yi8 zmST&lZK?YP4FrdX2h#Kt33PXlRFM8GlV{uj7s(Bwm>1tZMY)MDf(0SY#aWgZP}WNW z=Pu%8_T~+B9xo|JWb8i!Xr~DJm1P9obrj>(~IptSTn-E--7C08{D>x0>n6H@U-IDT)2-4cD!zS`2-+suc zMtm%S?*3nH366dc+tvURsvGih3pb#twNHdvl%OS_1J2GWzf@8R+|H!nBY5S`;bO;7=T{ZPEt?))~4?2qXzAuaN}K&TXufpP`_riOi%xRyZK!PekOI-jufZMl$ijsA?&R~W5}r$qt02a5agh2DC%``u97A=c@6RijaX{!+r3;#bX?U=}4;M;k_ zj0G<_Jq!jrLB-2{D%+!q4?lm+HHcC~LAqNft8w2N)&zPni0-nAg0bIbJ_Uxr7NPA*fK<6*< zay{TY?b`OU!k%~9Y%2J?kEbr*Lk~GcvqSNc_wVA5I9ZhE8KYnxQ3SKsPH#c46<}Zq z*5Fp9Eh{W5fXvuq6stxxu37qm+&H!EOyo!yNXVL(6^HI~SNz+ir-DuM#cy$J6mp-1 zr##o@dvjtW!0a8ZKxipz(orNl-q-p7qd-)0$Y+p z2t4yg(7d@HvAof^k=6B950ySI9m0_T=t0PvFZkI|*IF!f?F}HE_jhHpdY9UyaX@D` zD`W+zOrW`=B=V*J94afSy8OPpfOrjH6Y01k{O{_fum~*hhdrK+Yn0|aSNp)vynYaj zp-H6V(X+;=K;44$P9IRPq*j3l*Z&*HA${!~>Fi^ET~Jh>_!N7DT&q(Jq>cUYXVled zgz6M!T>k;ul@a!3jkrB>RBvZ4q-vp#ewf_y#bnPC6ku|okgq*vyD{$41YA!*U4(1! z%XvDUc&zEjOhsjYdA%LT++Bf?e(hp0QsdFB)!^!p2jBcpw^fHDsk-B&{&nJ#g4#F> z>ECw0xiOP5s~V8~Oo4XJqsO=i8#ahi3+e{LxblfAM=p_u?QWp=zw0;p+SX46kkC=H z$H)=H)p=NBWim`inp7w0ra7Y{8J#BLpfvvDMC>FB6<&KO^%QBnA}OZ z%^S1#O5Bh&fqS)>y7MBn4=R4)P+MF*ElcGN;rF} zT;_{=Cl!kv6;#kxjXX#7yqITO-=oe-m8_3?HrF~7OCWaI@7PT zP`}t@R6h=yw3{(T<1!2S*9IoH>39y*!WN3K@nXL9h1ZUvGI|drRPlKSPOAizP~8e~ z?AniyvgF;BDlZM+4d0MHkET9k9{o*bPXqC18N5n=3G~K1&+k|$wTlJLD6~?p3QFzn zG0B@PKRk4dSyz*a0_D2)r6{j2=aN088q3j30EP(ReC_@|2y2)FYr_cebwtj|DXU&Y zTe(MkVuvv{d(7YPwzY;@aldmdx=WUFeN}!;;ch?Pq}QFhWH?dYJ=0Ue>5y}sr$#68 zpEqZ8@6x05;v?LLid@ku$RA`Pg`nLIS& ze^$(e0!NzI{MurcLbCN>pMR!Q>gah>xf{+gEwSEO>(@4ODhgPweK8YaJo|+K1K?-b z`58y*hqa9wflYX3QW>UzqdQZ)Cy~BK*mw@s`wE&WiBb)A7igLH;86XLE%2)tS676f zn*D8T=XBWpKH}TWe)z)m>I>w)&Gk1|?`UnB`6;nN5XWm>uyN!KH8r8wKgI0+`3E3M zoFU-Bh^Z%0Q}v?y-rp5iz7tb=)lrcK-uECVIj3v-oPMNhGS^E7mfNE=uVKeLPK@09 zeuStiCyvA_>T1^KVG2h5>|&7lX%BAVWO9Wa+Wawd6<}+{t&Q8m6g~8EhZ%e=Bn>yY znM{UfbT#Jl{Ez)iw>n9A!s&1@gLJzpl41zMRIW!azLx2nv2tOan9TcWqLK-Y8gba2 z0-eQroOX!STBHH@41zTtKZ~B^d@%qgkexBD-j?qm_64_og zpnR8+dPrqA-t}c#qT2ZydOKgD8^+V>;O{F@HFHuqqKd<}1K?iYhjGbwt;vkrgqE>M zl-d@-D@QA6jX0U8K2~tXZPX7lK(;C_DZfe4mjCS!QpO_mb`+{|SgpR#$Y65V>cb%6Pfs$g%m*SPQryx@zX z7p~Z1tHh7MHQ|dArz)s_KTqVHX$7^A-K9jr)Dr^od|bxIvQkr%`bc>+q4u%AS+F0< za9|mTI20wVYQC2V?NKEoF=@r41+?sZ-A= zG=?h214zwRUmJkb^04nmDrzF+Aoh^MUNyAJZxJ-6g!*9~MFPu%*Hb!mi<`<8EvH(q=+#mwYfMGdFv z-7*TON8@Car=}L}Gu6UNV8>x&L6c5~anSKTf{($8C3}eeg}S`C z71FxU2uNn45Jgj%?$C--&F51g`G1a`zS^Vg)$|pcw@0tgL8SB(f=4i79|#(R?xUZa|DzFheC*(o{G5vNDYN8Kdw99P@&2l zujv@+JT{S|$ofnnJ&u>PDqNBXx;UHv{=^EMtCMzgAAS>!p5!m&ZE%QtP4jVzk9>xS*>}}(5Xl+iy@Eeb2p_+Ul*wi=UFZl8W+8~6F>+a%sq=tPi@^h~y1#2Q<|1pwBty}APPK2h znS9t3=h}!-mGUc*#SZ5~{Y;%QFP*)JPR?Zzj(OW;PW&u$X-42)?5I+g_`FYfgX*)R z6Fg&caAr)rG3|uAhlnZ0Az|H|T6x@M*2?FgeWH+Rd{js1A7yrHtuh@WEB z^in$Cm}0h?owf)+tGH@o88DtB?}*)`a^-}Kf}Vnz89y_A>(Y(qT3>2pq|h6JhK`}X z<(qAV4mNZl1uSrgcUu1Tj^T=LbRH44HfS=PPab5h^e;HG-JaYwSREwft7q?Q9%U{Y zy?S%|v_841>X(!$*thbzvDcL|vg_xJ^&Qs6UeOlQ zQV8^%pW@$2Izg&u2(#T8iV~gAFEo}vQ{}ZJD5Qci0?b!d4QG=hF~Sw_%amT4&+cWE zCb3d%5E+MX6*SFUZ#2KnjE6t+%R#+$Nm@Q{W*2ELT%50%O|C^Bkue~e1!EPCJ4{nB z7a9{iU{t%`G%95SFfvGpa5ZZC13XqhXTQFZh{4X}oSp-slhB zSALj?c(#d(1m$WbD|nukNh6X>+hn`}@ATZ^<02KS@;ISteTp0)*a+|IR9<_&sfzv^9zOUS(C!$kPoAAr_yIwV0@jr}xCnXnD7glQR zZZj|XqHJvkDJbvJrBygNdjo!-*>SN_UX2=cR#s~>JCwUk57=hWIe=G`u4h+5HVbJe z_RjgoR0k)ZjafTi@!wGwU(2yw5u>8?MRe?#7rB2AeFgdz(7ent6-{NnA%h!i3=NbE z_&w;PIaFy&NfjkTq$|c! znUsfnUU*^m{KYK9XFqx6>iN9a-Ru?aC-VvBoFy*?vF2(cc1Vv?ei<+9aI>(B`vl3Szo4$zOMloDt~<~{=c zrA7IB@>kGSO7yo$;s{5UaOMg6tkgb!?5+yZ9}2?U0}cG;`{TmsJy|PYrI_Q50GYw) z9(EhbZjMQKal-6#%n0_6)=GzLWsjEivlqjNKcFlUb@Y8HTh(v&_N$w~Ks}J6Fq)%3 z8|EC(XjeQJy@-(GQT&rF3WBEqXYZdjnbkS$JxPw(rIXe>Zyd%uUMwjSL7L$aCrkX> zcl6Yi_vCBeS-&e7K8vE$6!`3n&kknXdy?wB4OAgVdEF@rg#o^*Ek8V_Yf>@#Vqud} z7Y)5$t?MV$sBw-M1PNG=pw_%CKX6tAnXYSi@kB>mzC+WJ#%gDwd=NvL^b z&^n(fMb6EL^UnxCkR6(>?7}N<`96lc3h0H^=cgOtnAf&>R-;ZX|4VHLYEGD$vXO-Ys^ycYH`g0!iyY( z9P@7lxAfm-%b<_uGxVk{v3^BV*TA(ref=axzgNT<;3R~?b_htcSKkMuOQD<4YRz}U zMPGZO{~@_L_=KlS$=hE~g$1Qi9v62FjkQ;Q50QV@(Q(a&OfoO80T5^N0dG?#(&O#> zCTD?0p@hR!|EnRs67csm^DGS1AMdTB2LO&0(&Xh*sy87>@`-W<515}@NKN5v8fwI> zK$OidU|+IUp(gy0pPOJHoY6jiT}-c3vAhptPjq{E8Qfo=M_#nu6;A*SZIb>1)Ck6E z;SjmI=7e5;Wvm8w?MhR!nh{dIW8ucW9JR7q|=uT*u z%1N;8S6=Y_!t1wn;TZphT4lQ9-C2-a-4}}d>qGxm$-Dw|TCS^O-F36A$sIYcb2)9~ z(~D49Fa*y}?+{P*yvGZUJh;8m>L%kjLjS>Aolt*xi1+w0FYuIy0>~Gq@cA!0e?LG~F{IBNLAPUdar19Iu`V>I6Q#(MlTIi73)C$xcAIPgO!|LnZh9hx!se zufc4b3BlAfJ7JU%P1h*5w_UuQ|K_xUprMea5B7jEB0QY-6F_weSYPY#UkNG;OTkY! z)WEfn?-E!AVKI6m%sr{7x-YA91K;YK))rC%nH`Ov17Z7kM});=P6wAVCM-cp$P(VAwE&=YKr}{9y_l_YMJ%IYws2g_ z1o~s$mPLRqLJYYge|l!XqrnoY==lXaFo}c@LW~IfQm!m(dG6?Ae+>wyqMmc&wXv|e6PxZ95?2!C* z?~EFKmHX_uEE6iQL4ZrT=_Z_pSJpTr8EU@JMV&98G%T^=JgR})@QKrEZ9L;?9`u>X z*g7rDk$fH~YIfcsBVW0m z>NBxBZ&cBXw5nnyaHwlkm6E(NF~FQTq*H;~uONfLY45|q*H!?gXkgQnuv;Ivh-ytd zl@s5*OT0NJ^x1eTI8@{fqTkg{bN0f(;H53=Gxgs zY6qvoIRiNvLrT+eASIY4yIlpsA>p3$Ai$UQz3hkJ@peg0zMBZv1c<)`gx&ec7rPF5 zy-3!(3dB-fwEt{hZqJKQkPjgFtlHE2L-393*jWIG*aj#U-`1`tZ6i_eB9yS->vCPFF*6^E1wYk^;(m(`5tW!1=c4O zMh4tM(rGXCVP-huzip?wlFHO5Z&kr}I{A~dEAy8p*Qst>8KDb9v)#QfW(gZst9j46 z8&NGyY zJrfa>FSeN=Sv*^+D_8^WLM?#A%UDK)HBS!<7%$D50Q+%mE$~05`WW_d^-SLz!xu% zAC=!7NU}vKQEjtK$-R;fiK~4E;5Z&nZblmDbt6U>Is?x0venzU^rY5xH7fHMr09d_ z$tkc-EZarhc@LnYJs~yDpCQ#1HNu8bC0-}9<4G#FDvg*8_AUtZyuHVylN9cpLwAoT zC^wb?zzn33pxU`}7c}T@AJu~bx{VG1+$?NfhCmtvf97jIsMH*V!rJ5n_+ro{ldqc% zCi6%i4C_r6Ye`g?3K}1X&HQf`^BF?b({KFHCAgL1J5^@&igjxcHy=TgJw@+oK{;eN z$@#=768$uREB%O|-*X7GZkwSDRk$6=F~|fwLqgG3!sm`+b&23jwRsb-vJ<5SG^L4e z{rKC-08ag%4BRSOqh{b@m`8mCjW$9+Y0fwF5)kNag+bo;@Mlsn-ElI6JNEWrloD%K zAP!{V4L$}NzO6Db&d)`nA5IOc2B%UQ`R{;3e>(wVb)0ds%2tTncUGjxUVZB)cTTsL z%(GI2rJ3ZJ#)yFdjmxrx(T^qb2tsPRPuv!bmlZcZ-V2)CCM7QfP@Jm95H4fXq>{CE z+IpRJQR*3d!=GotK%@|jc$IPQ+U)yRW`gBlomqd&$#en&0tFRmkZdSHIqz*?Ca0PO z)yWMCcE2FmUenV;VX(Qs^Oj*=_ZQ1!t$ib;!zAxjFr_OSzaR$#=eEMnLIivX)4@93 zSht}cD7()X&Q2Rg+ab@DOoTd<7yrBBLUbPrJ{@r^(b13Di*1m4$C=$1pv@@?R69Az z$EABk$SUD`Io0PA(X!@5v-)3xuU+QZ2(tk5WY_b`(A8t5X29SMLAK%HxMqU4l;PDk zKkubZNzD#om?vI!?R`ANkpi?KUH)P!0Cfo4e$Fc&0pR$k!UwDOwf#)3s9N=E(@R5b z>-W<$(r6&)VGtq{v`L9hHhjK@pSJBZYqk8iRrzD;yb#H4OXxmb&V^;dLXlc2UstQm zytvZkb_T4+frDp&aQV!+b;u-X8sEVQ2rRlQIFCb>xhMHBI+Ot7;d1@_s44^r*4g)_aJJn`RBnCRe_nWg~FmLmG?6c?3y_&r>Ov zouh*Bi0VuCt2>7T*=NaD`|G{lXm4IwldjUX)(U!aPWhbPy!*KO;9GgtQOkVqxdaeQ zM}LEWCTMRm-E%LCe*#+xKl>Y;Ln;ve88=G$sDQ{MU`D7PUd~Z}b2^aw+*uV=*-wl< zOGy&{Vi{pW)H3hTi4H1l&er(Q-no9?evrC)KN@u%(iv)Uz05$}2+`6OTTrlnG4+!J zmMNe&(PXWjI;@J0{P{v}3fm{CJo?;tTp2J?olhk)2H{rY{!ctJ{e6thH($3X$aI$7 z{S>uvTx=p-e&`5@3K}0lLAZGQ$0FnhQ<(>K{}s()cPvFnf4<3P7Nev1cZ1>{GwyD$ z$-R;=R)i$8xM?Zzvc`B%*?8m?m;M?e zfEoV)aL+r381*z}1A5XxvD7JV?kBS4}RkGknmlsKIkITi-m{#j^&fQY#j zj_g^}cd3P_jz)^Vy-H=JU8hW@*1lsDaReoEzy#TbBxp3BQ%GQ3R>II1XEVkII{62xsCCoP~AE{24D z9^cGl!O9EgK8!dC@6U}&p9ui(?(oD9kQ%1_DOev>NOa%(x2w{bTdJyX-sn-}d_jku z(H-CCz=ktK8m59RYn}&;-S2EEI*=2P;BFx!b?1wXV``{s;`8Bz73C1b zv^}R%)uzu{pR-F@XS5g@nN@0()K`HY}fRHP3#A$}dF_cxQ9T*1;NeI_4K(#^7ISH$JG=CIw(~YMN$4 zS8#wOQNW}owTc56t#ohc{Qi!1W}cX30!wv(L6E^mY^yR_sDkQTyO!{0faI|KA-7Dl zjz^W%Vfq_LVo#BZPfxZba-f1BO^<`>65!D5dv72{-xrM98J~x?w+SIQmwe%|Rp>3l z@hq+yG2Qqw3K8WkN|%BMOtaWAr24G`5O^y}`(IEX)TS6iZWR(5D0+<=suZ4}~=|@!j&*DU+E?m0vR`iVpql$=2l$#VPpY4(i_-#hxhkzamPybg$un-vBCM1S$3Yxku^ZG=+bbM?e`!A%(b(aO%@4APV2Sh7hW%{A}XEvtov~PTG;`Qw z8fMajJKP*xhqaP>eb1H3-YwQ1Y4@Km7LJ(fFVv+5Q1d3;BNiVWIud{lwZ^XmYZYAp zdru(HnFP}7`9g*Pd*g!HR`epfts%GHh)hR(j$esO>`q@K8gI4MgfI48O5~)VOb% z?8IIJmH8*(L38GxD(4;E73*>&3aThF*LbE%-|Dh^*Unb)xGy+%>3k9cui;t_*D@gV z`|T|L0zE}^?IRvb`VkMm6&50R1yiLhehP-@Jf0^g)|-_**trwcF>AecWssom-m4<~ zU_?QztjBGTem_*OSqjO+v==+-@h$cH@SJczyQeFFe0}mWNXWVLD!&5Qk!% zbM;Gm)MN{ByUm?zGdrT4VC?~cnb}<_k6s${QV7^@t$6}yDDpWdMPQsd{zO3Esy;{e zu}70Vfda05*CCX!KNKxh{%;oEeoL;oPEoHk^P;OSAWsSwq z@B`>Fz(Qv}o}9p+83Po5T`$9{?Pa0)BdqhVL8oXVUo-j$&U6IBI`K*?wnx&gq^ftq z6Dcs1=f|?w^hG???}A^6h6BtWg2n?H8is(&GE0icE&t4f+)mZ?r>pX*HD)i_?pC*V zy2+O$Vs`dDQYvAFHiR`u?h_Q)%VIDtM^k%l~mz5@rUy!^<* z?4uXvdUN!aKEIDTY;WusG!gTC7B<`|A}H1=9G|TnlnIA3PlV$R{Ei0BO4x~87@hC9 zuU)>w^fFK5Lt~cWjQN4fzEd58g}NS&<1@Xv*4ncT0E1<4ba`VDrNc9schARPfBb+$ z+ZUVhnk(-2Yf#vk7k@%vn3n@HRxuCi4w};6)xMH2#NOuxx)VB_{}d^5sriU5o#*;= zGdo*e%vl}{Mc)d;RA=c#64%-;`=Ow>~^NJJl&9vna8apo_VfAP`>kC-<#Z ztD;rloi_RAmz_G~c=!Ig`9i_uocTrEi>fNTlr1y9yhTPM17raxn>pR5+YXfO*n-?B zCyaRDXnT8~u0H;)YA9iroZoH7Ru+q2PSO;7dn#x(RZJMDg}lj^r5_MI*#%&OZp-xJdg8vc=Tx3S_@%=3W@v;H{v zdlHpKioSwgI`4RD+hXPfUzYChM+Kyr0}{!$NODH_STI$q86Q8_$(A{F)n~1*)7J3Y zyKYQL=BaJZ=f$YcTSmc_t(*>2_HfjUtCk;`Ig%+66la5Wk!0Z4$yzgn+2FoaDNHM+ z>Iz-?BD{-d6t+;Ix0B0q`IT;FzLF7gYmQ~&6>lGg0n8gaiuVwh0V*PO@KEu?3>9dVk4=2~ao(@r@K`6lXx8Y& zUpTp4rxRbdHI;f~0Q$lExqXvzXXrY}!EU?=8vA8l8Tv0?LTFQi6ALyQza!5CMN!+9~!jK)D@mfCic zyC3lxAxEnp)NiUO5t_T#>dGo*+@*_T2YCx_pXpzf#UASjtPs>&>=i)OG?&y)VVh!? zX~rvh^g3@KRAGeCJ$7=m0@ICMl5O?+(Uibi;BiHxr*Ql5dpr}3v zT3){z`iFs2J)-Ev+xKc>d|wo^|B~zm=R?to!=H`m`;Q~=jZr;y0W08L1nkvJ-f#4| z?FGDw6gmP_3Q>sCsh@Zx_wFcfKf#O{uROOh)qLd4(Yyi!n~i*ei~@Ul217sl>kIS( z`SWP2x089fB52v|ug&{SO%$l9X_S!b3fcW#2G#(mrAhcTRnjzuVVlclXQm;-9lqep zbd=SRN3xBnEQaUxA+hJL9wI*&VH5{C4{iG!wVyr=m5x~t82I166F6EolxN~Fegxsw zO5e#u9YaD2PT`}Og%#&xH6HET0p}9fY#SQ)`1VtLke+%S9QKpvmM}V+hkcT2l-<}; zpbA_+NRa-=9~zPXx^{$YXg`J@XKVsS;KXIEdiV@V$8cOz`+xmq@UhAapk$y|NhxUk z=Od3!Gr4wWAVFU@_buWHl#PiG3C-gAh>5p-`POOH|6X;dhm;enTA8eU3ojgjFoyqr0Q#Hc_5X{#_l{~R-TuaB#!*ldumCDT#Ks6x zq=yphhzKZMN+KdP0zwEi38OR>0Y^lnMn%BTBGOx;RH=~~AcRN_B!tjHAR+KO%>CZG z?)~0**YDr=U2Fcz%33)m&)IvQ=lSgR*#N8)w-Md0dfr}3;qe6kPox0{RZ6GLU{-6`c`S__L8CJbD zLB34kXvvfBbpQQ&Ky={kkoA++cmG^L=r2H!GW&?y{U=px>3~W&wDii_fj1F{m`GihX1_bzv=zL+gc!~KIJWa188>rk4yjc^_Cx? z=4aZ+o3<0~|9tTluZ{qq0Vp=ad?nAiBe>)WsFU*Dun5y<3^mcP6I*NXt; zDgl53eDDqn)L$M74*{DDhWf zcQz2l0`L4BwP3^|*MXzP{`$V9AHP(o%Vy*Q#ac?kgIjp}|NmvH0kkgeIr(!UyT=qM z0qc_K04=w9{9mHQ-%SCOC*bXrL-EV1%92;jmdV4YIFj^*kA1}waqY9)JV z?aWt%{a-BLQ8`eT=9@n)s$e2a!+84?o|n^?`7bYG`@%=#0DO+sR;C;QT#|tkrV3(m zsKg&&rN3Cf1&3|E3~Pi?(&;>xpfb zg=wdP&9?I;|68ixZGivx?jN}b)aihU`BW zPsv649?;Ld`oC7W{nbMe`2TXR`L{sL0*gF7aP(k(@BY8iz4&iXz(|58K4&}nnv)t3+-U-{>C<@_BrO2ET31{=&;;@A-HZ#?q@4)MP+%h=YTKR>G z>dP7I4qDfPzCZcx0KldO6co5$$X_%0Gdvt30aRtG7{_mCtPh=B*yv42LkCgSR)0_{ zhDLAdvu`X%G`;=}U=EPjhI$tt0YmA+Q;g<`l#u{d!19l}pq!$y_l9;ObA%vRi7)YT zXM*h=s&0KN{jDYGsQVdHohEl%Iz+LsHucV?k>am>q?4aSN&OAQG~@u~x5`JKeq0jK zgVB`rIxx%xw{O2g+y+3<&o&_(O|n*^a&7as#KP)d!Z&*#sIM#tI%7$O8Fo+4CXd`L zr-dZ+*!Cd{5Bratb^Gz@k8HfqPM}@_D7vEHr2sho?~u7o>AR2I20$qST4pG!cf#=< z8eyDS*nIQ50B@y*))qtuOB?1ANTdI>UGrR4b~Q<13+Q-Ep;1F(tA30uPIJi6*6bO^ zj?3{f-mka1pWzbddj>2(-Nz2yUkao;}^5L}r>rce;%YR6Wk0M$+-P#)c za@zMeg&fGf6t}sFrD^8I9rc+PunMb^L)Vp^I{mUpss@4ct^f<0EPJBnu_k**$lOOY zQ9Zx(Ay0B$XYFz)eesz;`z1#`LYy$dN;R6@WWPqDTLIp|FWJ|ni4KOF3ApgU|dz(QM(`ml#YMBX} zr)_6efRY`+>Cx)5(s>^TN|cx@P=ZcAY-Cj(G@E@xh@5?!*FED^Bb6CapYC7(cJS== zrH@ai;|=|1o=$(coS?Q$BK}U6bNZS}zGyM`K~3~n;LBOVA2V&c7C9I<@%r2uRS7C5 zTPpLs(Xqbvj&-IGR8xnyc7FOvmU)MM;VZH+W26;X_#@0R2z3sW}+-VPvtcXf=KDg-e`Ef>BRIH=k_$n5L z8oh0KX>Ccnx=7tzuqlVA?~XYf7wOv=*zv8m<7qBzrvi#S& z0nY~v@T9$$)=q?4hs3XMXL!yY40l}_U7~7H{PhsilK^kmczbnKkp#*&4?k6pb3cuYuEt@Y)#%3F!zgvS}BQLzuC{Tv*e zwimbAYp#DU9yCI9{<-$bA^!wEXQvyT8m9Ni@oVbxPe+2j_i5Pog$d%c+JhsT3Fk=L zYilld$|9{+h;7}A28H|{!dQ&4%&49dDXretIxe-Qx2w#OG#C%it5ILu4*w}J_x~+1 z%}9F7{hfL)(vnryv~X6>D|W3Q8XWlj(R33X8)$PUHhF$~+c3dH+_ICx?-96ytB-Gw z(>D0DX`s$PG~Q2OEfsY0>ZI=5de&1*{6pmdMzv&hmnDf-_IB>0rTk8$5`WtN#=#2* z>XYlrn2K0QsBFN(C{D~`b*KF@O6)_k=a|$6X=_8#PH}QrQTch{X*rZg(C=rgE~B<@KsahI#V|h-<^%*&DO`OC3*VZi^MH{ zS+|BUD11eGdGInfRoczb3mVRnaIe$6w^iHjqm~v(8>sRv33>?LU$0#g)#kUUA@cc} ziQ_*W;#F2z+wDC-3u5Wznxx0#1giar9Z_Tx$NzOKU?fMJ*I0be6p!YGbkbyHjS%e#N6ruG2he;EJ{q_a zeiE^|(>6_6vEWb*mT5n8u--_lNEfE+S(~D@zSn(+=rOIHy+<*hQvg=8489gZC>fxv zQ+LSKr*BT=s|c~f40a~EDlY$07(x*GJXp$r14}A%ZFd41cKs{N_h-ADLha9!&_5%G z+9@4(VtXS{I{qc0RnntT>*FtSC{5{gfJCJ4x$d+ug3QuBV{^Rom%Q#Bb)06nTjPs} z3`=Ty=s=VkTYwq*E)JFNeR9`e_e0Lg^1*%Oo9kxN9k}GQt5Qw{eQ_Cd_g%f+uc~qC zQf3iCx#oH;>6o_Sl!V*Ue;UO7U0z?MfPl)~EStAC05V0759zVjg|X@$)?!A&u>RLs z+d0$=Wjoi--(ju7lY0)<+m>W&x_0~_;NCp8lW0!6++pk@pSn}ZUdQsZ#2WP>=d|18 z`51Y^s3xhDY5&Ic6w2Ku=Ep%>eu?&@5l*3H0Jr6Iec{dbX zQrKb7M8apDV2QO`@(3o!HkIO&?ySMPHr0KyjX3BTRMH=)7pn3kJ9Kl3#7+%kS9j`j z_%V;yuXC=KmSc;`ithMEn0DG2(z*jE!6IyzC7W-y7nYka3(4Hapr1$v9RAxnD8IpE z8Wg_uVd9GY2Eam0)@n!2dT9*?BYM3jIy?6`*_v^FLlLrlHoCp|pX*=Ju_5mpJgED$ zw4{9raYNH|y`AjD5PF(Q@$WFyW=hD)J6cK%yQaN%VJ`7&*v+(GcGjt^WRm&!hCqSF z>B$v~d!`^+j#xC~Jc7&8PPv08ctFu1Zny3_5f2SNs9hhpHufT&4ip~sC3*HG7{~2G zdrp^p)o&#k2<&o6yOPjT*a9D|;Q*78u^b0rNVi@45Y56?V|r)!)`|};LO<5nYl*uKBL0NfRL35g~YjshnSI*`U*-t>t zksjC5mS)Tk>P*;V`pKuZ=VTn@_tZ{fHYqXT=Nl6Azvy$;8f54e-z&aeOG{BI9~}*# ze5hGpY%@GBqO?&r__?wu3aE2}jJ<3N8$t$2J4v`iG;FTYVL|VmR%z?9!7YcF1$ArMJ6M=&PDs$IgA7foUeJeW-}2bm zi)^xfE}1bv1SxZ~sv$7642Qz#B*WB+b*#|km4jkIsDyk0#A|uUfIvd3;iK+IuM3(g zHiuR41t);_gdeSCZn*g*WU9$sPkBKkYB4iwi#H&rv@;lL5!1WL!$%r}7poRdvY5n|W%QjDeicm5#iKlpful?%@nopwwpjt2GZIm!k= z)$~etOF-mQ_a%l1`NhPwG_=^^yVLxxpaSG~KPcKY2h5(cjF_m>LZ6)tnz>uT{y8S_ z`N9p}xD826-}cVZ2H)2w)j9sipvvkC{;ITi2a6&7+f;}?r%5P0D7Wfi+po(@9qyL4 ze0lgr$6U~lF}DP?=)?Fn{xa4r?OhBTyCw|u@CKK@r5HEtY8-e+lZyZVUNca313Nz0 z!kN+>R%R2q@hJh*Z+kF(Nx5-D_C z*c(o@_r2HaV@tStbK6fg?4VLldc5{QbLo`p&@d+fHKXFqMIp9KO}K%!s-v7I>lp7U z#%;&FLef8L0V+r7Wn`Ku#b_`C(rYb-Hkq`H+*g@OTy^` zG@Q(RXi5xdYD#qBib>rdET*;}AkqhVTN3w3W3*s?-IIf~s4{%QQ2+%JuzI>N7zeM- z4U^mqnT_%l&k_%64~D?t6mg;6GW9ef-At#68H6DjtZMGqB}3;>MqOunXM6Oo_B~;% zl(`0i=^55*!9%OKT#(yr_?`AUjZ7fDaZ8DNe)m{A6|zs!34o5JpfL1SH$Z!bREY(){3Ki-nEzaNOd|g>z&u(qn3)^=BgP_p|XP$#cnJq@as0_r9Pl-3Tel`-ydd1naeGJAQe#4df zjkuFBotiJ(xyM35@f-a^Zk=UhF2R^7ZKuCHndLUQ(2(I8ONc>V4t7dtjyrbr`G$GP ztXtb|7mT;f#$p~+MX{Pt7WG~DJ8eY2Azh1cm`?X}9OH!O+*|o|IjhLftN_bgri!#2 zp4fBQz6{Ib9jd}A&h%HcnCXya)Cqgj6!+$7M{=uH2cWi2mZ9Iy?N#?S{B7bUhdPz6 zeodNs=n2KkcZvUsk}G(CJyOICIb3wM7UI6)L9gYN`_EOjL%#++q`qqXJj>rQ2pV~i zbMqK|qxQNk!Dr9jqmZ7JnW1*(wfn*6XmFGPS#95yqsZY?CCl@5OxfG4)KHw39rsAb zOYSd)p_lj_ekU!$wV2u?|MUsF4Cxx`p7m#oJ6XIDoM03)yY8M6o3p9Q@in2e2GMHp z;MK`RH(YiyG7w1)Qz^JSKqE3NFB?7AtmDhRT)UsetY#KGIseu2T@kMK=(-@gyhGU? z;Hz+zfY_9yS6;1MwZyQ{6Uy`Yyv@*!8TAezNMHcJow}rZX)WiIHs=G71)NeLwdNnL zXEw}L=PPTuCxDXHTY^h>q8^hBzX2 z^{m;v`qUeX6Z5eSb%qOSQp!^zPKMu5mzNhxLynPxoXa(=`=#d9&%h-0Esj;xt<hi2w%7ec_s1Ujes)x;c(}yeL^N%x2OH>#d8Hwh?;UldRodBNl$jL-{<*00g zVt>=<7Axb=S1T>f9LAro7OC8;W5zr;0BkP`nRFPtg3jte;?FVB2Qt?@~&*f z5J9A};DIIg3M|XhPm9K&e+^e&Qg7fuY%8~2*iP%@o0?)&u7hp=y{*k?QNd3kAFmGTTz6Qo3K*FNsKFO0J%Jb+VLp_N z6HTokj*h~Txk;%g@wtg=plGl9yoC58lNAfGCbB{#9euKMZt#gXrbf2rjb%K@sv>{bW9c+G4O>|9)$u?P7q8+3@R`G>0pR0o zCaqapgt2jmUzkpi^$Uz!3)m?cBcoaGQREc|L3o#^c@&9b78Y)Q4X{gv5i&cGtlbGt z0cfPGlY?@qe@@BxDaEIYp!(+T+G3xx!I%H2T>vJ0HK<@*ISIF#gT8P)c>N zRboyGRfqGe!?M>ydG=t8Y^si{`$}^; zX}ptjlXbY<8ybN`@jfUpfnjPOBP zq^#xPPD#&Eq4L=eFEOflhT-h6*gj3yi{4HeVk{uaaawr+P$nk@56O}jS^}u{KxBH2 z@161b7dGr%0^}+yS9N~ykzaS}GTXGOoMvvJS?_9NVrJ=P&cC0Kj8E@HxDH0#0 zhu$&=qcZD}b=(z)jaU^(`&3PO(PE+s0b++gSzT3B0}=HDs7MIJzSl!j>A?Hza)@d~ zuCz4Tr%i?-{az>Q!6udk{UI-Qv4BA0@tFe|(c*+Faorv7toQog9Ev0s&D`is>gr^k7Bm%V!{aUPqzuY9Pbq(^sK#IC*P9egS- zs~S9!OyJGu@+qmOQGE1j9zg87HiokWPUelVquGC^0}&14W#bKA%I{rFr0 zNq_O-*wa~re8ZGPS5#DHx zZyF-pK&!I*wOgt^9h|FrJUn8D1Q}xPcr1kbWij_ipnn-(I3`@qp1(%YDt=w9NoE(6CJ>G26YqV zx(BMColc7S)+{QhvqpA5?M+)p;evKb5;(n>?)_mrU(aw=uN6WL$PSUgiQqD?f#?!ynEa{OKy0EPw8M0_W$51kKQwms$DDd`ZJJzxC3)-P0eW!(+t2 za(0Jq32Fk{0n{TIU3%Hjw3ie+NahR`AaVpnx2}NU3A3TT?t=Jf>A*(ntB2GXnmnjlEno4M5E8@s?SAIN)%#xy$hW_eWK_8TfK zi4cc)CictnS45_3Hy88rcgFt2412{RbSM)&J|n8TKJ2d_tLlYLAPokBVhYQt?Ra@!dbMJYl|POmk;Kj*e;QQS*08Uyb%^JIn@6iAjn3)m`GQOU-sTI80Gfgl?9${XLA5|z0ap3G8xiTSVQMi9W)f12AhvHNu?vi-B6 z97?jxiwL{`!>nY7*?eHW)cxL%F7eklevo4#B`*wn;{`6Dh+eUmv81#aRH@V0h;u|j zg46fYEU71zyGl&2PVj%uJ`0JL39+9WiT9M{wDESRRK(AO94Cu?E;TFwn5lYP`guJ? zEneC~_tF|uXH6zkCd_Ug+xMc>15f&;&=`+bN{3@QKBzc*UJ9~U*`r_uer1p|u(o6WF6>Ea`^W@QPiSlTYm?znh zj;~#*J)(Z^)|{0xV~e*xH?7pqVff35c^$u#t&Y&K#d=abl)qAfi9V~}lW5~&e(dGp zzRKwarO$*S<{yk|4k<`2tHpd?BebI2T%Y&Dz-`5Ehf4&ACVz~9-YRo2^zO1=+QRnJ z`6=wO?Au7cx{4B%QLnJ$P9I3tzKNWo_T_6t_=nG=#4zPt4Hl!by{vZ)@sV9k$8;q`eMW^FPo!I&B?n!U zzuqZ&^wc|f8%~{q55mbrqjJ2%PyWr3UX>>X(ImQYs=rj3iX7_p=P3i_?e>hEcc=4j z2;*-b3O!}uW95(<5{90(4-)8@FMrLcsoEo=DKz_7MCsVg_Qe<}>=tp3x_blJUu(E9 zWqiQm132#b*(-==MTcC!9kQ6QdATd|fM;J;kACm<6GdaA?bsVT)HK``_P?L?(jav! zZIN}kne%uWqU#PETS5YdWh`&jL7}w(KYrZ+zh)H-5AV_qtH5|2WoK8mK!gm&<)Xn{ z&5k>TAR!B%y91=1qt}HPTe1&ce6O_(6B>fyg@{eN+ZS^)q%v#Q4jAY3+1;SlXd!?8 zBNScp2-g~dm+%EAl7rLJ`x}!T7otA3nBmQk?6=5M1jy=hfV_ImHUs?8xtHl!Xj+p?PBJe*30Orwm!GwbA{_R{CQlWE)+ z+D{b4xg#NzhZH64AOj19Q%C&|(kW=hh#A_Zsd$raC^+B9A8Y9^vBfaqV-j?u+y#Es<7R~EHF1I zp&~maXwI{c^wuoAioFOXp8~^Pw`fhG9vRjY;$RN~_(mthmD*_jW&jQX@~b*9MEJK$NjEvHqgx{5ok zOP*m2Pm=h9F%BXZss&TE$&KWk`VC!MHkU$9C+{9ZygCDymfN`BU&0=J1@uAb|E`8) z&kbDwEBb^vrPDE=IH?yJ`=5jh+OhN+x=-y7nrBU67-sA{Ycnuo*Chpyc)YRG501eX zFN|}Z3hpUwZhG%$VxJ%dpyUXTcE{KGSR99@H=~`FDjB>NN{7m51w^R7Hb!< zy&r@c=xfk7zOCPZ)*>&XMlV$mp;F%f+Zfs1tz@`mJP1$LUad6@nI}b9O6`F|_#tDF z>JTbVt)MkLBKmhQ=c&NF@Q{}@HHhR?=n%o-fjzn|KVohhN;TCdOQU8Qcic7GI&-wT zV#W(zpn2v8ubr&x-^`-I;e)859K0m25dX)2Uo^C@2|q`V{KS0&-Gn;q9ErN_*O*4FEnWpL&!p&))_+ly*h?CLd0~1+%gJDIyx!JI zu3@Qkr6Y<}2MNc2z|d{*&_!HMeVDF4uv(N|{2;4Io%xA3QEm8G01IKC;g z&WDtuZr%lOWom@C`o#|j?n_kB=^ZSKzNGz`;_BEN0oI(1jzWn;e@5RMS%Vss8 z`{B6Qud6r6!D0>a=aw3uk8+5uZ^z8M?!D4&@jrvFB8q<79gHA70-?C6pC+WC!$^x! zwmFuMw+hGKjJkmXIP)Ra=QdX>h|vwA>6B`+X9Y1`^%PQcYVIWRox|zlPte9_KXvv@ zLg~Cbbyh|G(-VCAz8CJGlT#8EcwS0kD0_wj)+yL*=3|-p(N~ zW5c-=SOw-OuMiI#@k>kR4)%?|91)tzNzd!kbeDylZZwXofntlnk1QC;b{WqOhOdY9 zoR5j_HRs(T^H!@(&AP%+N%UVD9Zs?8D654quK<4gZe4eR7BcRQIs~A*de)N9z^W$~ z4wL(&?q!Agnq=q!6$uPZF{o;JW7Y1uQ%mVIG)7i>Jea+b3}_N(n>eik?hsqgnUo^mDug(2_Rq~ET zM~ZqbZ90Aud1>trRc*#`VE#{%3o7ocTqGMwN%$?frp>S1pHY9phsGM$r$-brVvO~n zj7tWZPiJ&?15^eN$8X0(s+&PRGcTB!zG>FJ1PYnlHUacuzy!$U2~sLQX^l+6>LnfO zbPH;}ipXNVyJqCzS}_WxH=K^=b`__$!o6H?Qclv}t8nXekeN2SGnoap{pf7vc}u#l z8QQ`y2|F~M&c&sxeu%$t8hM+hcxB!yhTJVIl|*b=$FZxxqX|Vo!S;(o%GH6RqQC< zCY|h1!O`F71`s-w%POB-QJ0^2z*eDa8G*_7!1*1B@JB;F4hj$F+&5EFnPSUzN|`N- zl16^-E}?Ec*tqnT0`oFU)wLbRSYq2V;xpPrLY-nJI}#DiZhxv3OgD1E8p1Y4{ufWqxq=WTfvUiEETyavL6X(qW}JF$-Wte0D9? z2i3(v50CFqb@3=)QELxE|MalPr7P-sMeIl)9AUG6>LwJS5|2>k`ODLB%ca=Zw2 zRZa?4H!_G|PRKGPP=qfNdehG1U5lG$T|A&P^aspn=I0dZP~TdtqEW*7LX`~rU0SHO zzRmnIlG)YkA)FF+I%&{HDzky%%ODF|)99A$9k^mc;N66SO(!&%`|dxH&SuDnQAryQ zo|u|JK2*=Uw2%mw6L{C{!ZP-K4$P>wzJWh3U-l!rO$v$Q0)x@6%>{Jn;QYgv{zqk0 zbsLy^I%>eZ8lqZfyWjGwcltyV^BElyE?5stT$ZJ=ba9qx{?jMG7u~~XI6@Q4KRo0$ zZ{#VzEoAdzjW>>R&|07dp4V={w}HRIM;c+bHyF0uNDy^Fut0?u2^SmsJ*RJEPdnid zr)9ISaB8I*uaoj%pzLYgaFR=!x|ZdH$E)S!WAxi-$z~NlGlThvu~#m1WT818mOA~s z=0L^%`eeJZufyjeK^?yLpwty{NLlDP$@guiLITGuXl;S~PaW%bne_HYeUaK+LP`n$ zj?t6vkrxfGdyL`)5pybZ=p5MX{Hp}1Pk0nH&4D|`L~e1Rd=tT`3QD9QM|~vS`oQ+_ z`a>TndL<(L>BFw8<>H%L*R1+QDs<~#=&t@zJ(CyuHE~aNn1Ru8_qpbnfR-4)pw!6h zQ56fQ!13mk<6)$<^tO@^RSY}R&Xb|&;sbDt7CK!cuD4G|c9lr)AmtHM_SSUb5H(#B zEmsv0+%&1zcUEyjHKv_Gq3AnU`=?IXl4o-j*!ysP7Mg2jEIb)?lC$|@k7k&J8Yg7{ zZkDtxi`4_Q@B1TvP6eq~rjSoY_)t^SK|bUYNc11Pr3wdAroNDy?8(dtZE7&OlCgx3 zf#Z2L%(3^>d34aHybr)j`PFQc5ZDme4 za6-fdrCFYMpopXJM1yaFIA*Q+>almTawx`*``^WtG#6Qtjyb~;u{2V}8V(@cru8+R z(scG}yK83ZmG9Wm1ldCRtN$MeSGF??O?HM2UF;RI|Z;oooYW&)PGf!GL5r~Ty`3h)2HwOMAyiqw6 zy+2hwQ0UIAWsI$S0*0$su$eP#8Dwf%v3O)c&p)#g54Mc-#%Yk(`>)F|0?%+kx*0I{hPW6M)h(rssblr? zkzpyA%iJM05(jU)*p&oj=SR#{6cwlBg(Z=q(!GVy7$?I!SIuhNd=r;Vwk}FqulDAg zsl6sli&S`CzVFgncc}KNN3U!>H_R`C_cmcCo8EA$jE1?q)`zh?n3J>jN41L8E-Ea& z6uT8gij1J~yN1u;yFY(~VHw9Ir6Ya-WA66Y!Z3Gq=AZ1S7Ykp=7{)=jrZegv#bk&}Lf8CcxCY;< zdh&~Li^I$T6J%Vc6_wdMuNiI(=B8P%^u}0uUmJRj88$2c0AI{$%7_4~%K z{-RNOUv+TTx``k?aMj$?QtCWT=yN&6iae<~kMDYF&(JrG@&!+44Z3|7|J21R<)>AD z|5hbl-~z&l^f>pqzYyQFgw>t{K*AZcX1*xiOvvm=U>K+aY|EeZ&BLO{IKj6W=)2#S zRb+Kt9fPo;PTxiIeHvyi8}d8utWy-9&(hx*^2WFgxg>BQo6?ruj5;{&fupxvsTj&v zu&ij!4;3kVW!XhHo3GX35LCm`_o~sZ*BMTBTn&q(V5t71ivChp8-X!3Qmr9&4-M&l zU2uP2zg~Pu-acIMOI@LR`?_>FZ!)>lW@U05Hf~WDkS=pD;yJmx*)4DWY)#%4*9fHw*fT6Z*m~WgtD+@E1Z!HoMQcRn!4ul|9?w zb8+anRBavOC4;W&HJq;;kr`fGcXq;g#nW*j;4m6jP3miynb_P_rD=t)x>8#>BI!WX ztzC`t70HJPQtpUB&EwW{I=b^B894B@uFJHTby+*^#@!c!>`_o&$5p)yMckt1H-upx zDhH6Jv62pshq;a9r&Bam;hA10UIi)Lav06n3Ysr2p->srSBXI3{b z=zrD%5Z<+A(xYN^icRZO2DOYHf3LANV%B=U0vVU?;7k zD;tF+5Y`!BBZ^$ehy{PUdQE29RMf-2W#Bm7qJq3<40Klgn~uyibl&{(G-!fQrbIe zPn&vC6cEoxxY6mPj8y_76SVE1CtnkET%`y))?L3H=SJd}pts46lh1rHnsaN>$)f(l zqASDc#bI4XxLfNn6vVBF_C;~(i_)ebul%P)Ee>wvIR41q74(mH zWi;IDvlTMDgbR@UZV7K=fHmG}dJJ&I7ap-VcY#e!GDMo^hU|boBo5WLi~L7#UzCL?+41D_Vhtk z-)rYunC98Ho?Ng5)N1$eu0l_g;4K|C(gGkJ-3}qD5d)z*Z#Zgm0vJ9(qg*bd90qx; zb;-ae%T=mro9(X)ReG^2leqzN_KXpqo@1O&yse{Gyb(t4$w+ucP^6uF4ozh0ey6{58m`~|6S4)5VOZ9*w&AP&G0B|J3-I*&;VZpTkxXK^H`!XZ zO6}TJ#z7})l@VF2Cg4gpV z8Cm2~OMO1H0=+$_#Qcvwf(6+OP-X-d;f+-b@1Ayua)AI|eL%N-Cz+_*>^9;FIF4uO zx1$%pB9Oe=aIRmQ))G(;eeJdD$2b63BvqtmXd6T(yu|q?AwaU=8U-Ssg>N8))oP-c zOsSxAc6tS<(NO75F1umlt_d}FqXi;=b{n8?MPvaR_GGcr3gl^9 z5c!8@QSGLwS=lyy%~yATbe0;%PRbvXRo2}y)O}sW&@Zn`1mLiE?tI9`aejN1^<}Rq zWX1B?E>PgG53|Unl#JJ4Y~IXwDSA_V?dU51M%Wf^S+`7~hAe313u@!>%s|l(K4X?s z={M21^y7HjHNknJNr)4K_(20x4N#S`Z@f8~7P z)@IRjOsl^z`@dTW!?HoRg|p>Zlq+i0%|8iL!q+X=rerFjYSsZfrDc zelN3tXbeA5`{fsr4>$UF+`fjcaV=|1YD(yF`@GxMz9HMNt~|dhmf)P3d$vJ$%So8# zq#g~6A%v3_nn+l(UltUWGjJ!Xy2U5AJo}fAYpDtqe>|h)DtCmTpWdcd>6Q?2-09me z9nsLuCW2|NP9eYcC=fCNUmgi!%0(>4i{OV=m4+^&Hl7PsU8Q0!kJf}OU7W*RP$-u} z`q-vW_Kqj3}RH%RuPYNJ8hYm1W-WHo6xQcbN7=}tH^66JF9UdO1g^8`1^NcUoL(q z_adVWr-N-t13Y zzTsin|KQF^5|*aI+0|&gs>>VD18`!;+KaA`mUPL?&y5xad}+`PEv}63 zJnvWjYHV8IBXXf7?kOxuVgje)d{4UC^oAv|>syFNZwDktIe?dPeTAP$&GSwWe1tC@ zPmGqb?F#snEDhn&mOl-Q8x-LD%yHTa2_hRFZ4 z0}_mSLL8jcNXhV&;vcrXLEY#DMPn=yI%DaCr{mW=(9;cYKlUrrN}Inwp?(P|Zr z$r~uytcnf|s|n`!X9Ur-;TJ7yB|2+@s6|Yva2#w8Q1nFc_UYMh{m%U``L>|)q8Y(& zusAnHN752e6Fk$WM9(WKzz=5FYf06U>+Sl?fGNyL@ZdNlxyXcrDQiDvHi!+^C|*fV zZ}zQ(Z8Ega&?+Z>9Z&By7jBX9yGs^iKYs2U{wZ4)B_T~~#q>{{s~$|$TRn-H zK+RynfFm@>+y5s`)-QO62us69&++Yd?kq83RB6%Cpo)e5SVCWKjspN&jj^`zSjEiu6RV6B?A>&SFd?yWleOPy?#X&{n5UpWY~EbD;<=W?b~iJcDAImbGsQUW2g-Ag@>T zj@nX}BQA22OLTrK5``>%NH{~|-UCep#}N-OHA$w07(n}&7gg8IDpU5@m(VmW30DES z$AZ9ELvTgIGrEIgtE}(4R31}1l9V9^L$A96rxdM6b1t4`5|`gs)iXcg-;O^VuRE3g zX*4=*buO?=(}@w79r3(#C=T8Rps93+<-je5>WwMsDz+b(oeU1Sz(5^cC5nv2D2>z# zM8?u=6N^hf0_@}lDFBGd$FE(p&0RHr2IEv~2RZErg%<_#jE$nz&A@rNL0(BtRM3MG z>BO2gk3xFU!STzCOyX#BA^&X)HnSP)-qbo=<(_e1bAeBDi_6b(`hkQ8Fml}&kvOr1 zU}yivul$t_i7Wgy>Y0~*r$^qgX^I7E0v)(zKy{2Ov0w@dX@nVJq#j_hMnYX{l9 zEEJWH5s0#7CD}SDb?8l>ER3x(JNR~O=wXL5+qdu`Yc*Ndka4UgWBA1$h8w|+Y(SG5 zT`UsVR}8-qB!?-+^(oW=nOgcUiV*x%L`%ACCSmxfjLGYRm!>wB=(&cQ&ddR11=SzX zGBFALX4bA#IHrUjaB5tX1-<4z60CM)9_;V_eFS!{*(JM+b*8J^|CeU7_=sOmBGGP* zf&B)CA6>%1#P81$BM}KY;DYsZdXQ7VA+`|)0NR&FU=>6iBZDa*a?8r4z^LrSh>olN zgj1kNkxa8)xTNw$AefzkD11>ZGXRWwKcu`i?%q%k6 zOJL2Ermhl;6 zB*@y=-KxbMW5^e;=VsZg0uHY$8DBn-e4xHXw8i*(ZAA!P=x!5hJZ8%wXh^Z3t}D9m zt}gWVCb3yxSfKIJ&uQ>lHb!U2yeowkTDCpe%VZ3e1i5u!0JOwX@ zQ!jY{v+m?ZW4SeCXm|AmCg%%tu(&TOWaJD7a-d>p-kU9qply9!Xp~nTNcC-mc?-t4 zL=nH+Upk1MhjY=jP5T6=tB4yP^W|_&KUvevE!m66vYIxGKix&03-(a8pu1mV)D|7R z)n80p3ppg^n$9g2U3deBDeRul~V(0@6!V?XO`O5WAiLZzK$W;cuoZH;6jpK+v z`t}S9YkiZ_&-j9v{*H6tO*$$zy0pOjTf{f+kV2qL=a-9Q?TV3&-i7Yo1Yd*iYFs>J zMA3b}rGB%U%8+g&{nrA*G{SyDVPMXP9F8x$^&5mPM_0jAp*K9~$hvs548@X!ZqIp} zDFlRG4UtvXYR{)_Fhz*6rO0Z+tl(xOwqE?XlR;nrhg>2CY(vutBlu1aw zGPK2a3tv+v`MHc9Xg$ruHN65)1RtUZj~TriDFC{`)2tJU%W{AbzhCR9(cFk*Ei}Lnw>72@CS2 z+P}yCf9$>YBbEREKORv=qGV+!5g83DvlJmC%E=B%A}4#3tTHRJ&{4_=N68-Nh!En~ zvK{N#=g2sRV|*Wn(zDm|^?7~&fOo$X&UHN=_xtTW9`|*wOQ0OGQSUxocwnH{pzcd{ z1@^qynu^1#iO7Nrg^3-YG_j(a+~2%9d)a)H#eVa#Uqi|L9v+GBw?c^t3=1rIi|w>dkzIg!o5{T9_{SEejYz(pJ41F_32kb=1~qLH$nynik3=?7I#+rrBPy_~PU2Vo)d&yV2WrzprDlL>HsZdH*h!4<9G#KqQ1^ z7AK@Om=#$YpECz}3EZ=J$!oKD<=ZNyd+gC~gM|&bE&F7&ICBA(uWxoK0DsbHdp8HX z+c=79AwqW0b-4eN7JT6NK3oWg$Gw}2Jt&R&vU&PK`~BIY0YdN=V!Vhcm+RpCxCybd zgSK3YF0zRA%D_uOgUYRn`%T1yGUt-|2TwA(l%gOkp!{>2d9jZh` zxu~#9;&d1>7aTU%F*eQa?6(uu=+M|Q4EzI1){Uy$c(qAgZa`m*e#ZM-#p5hszvOC^ zF59J+&TbhLS>~vZ_4kd4`yBc_vBV%RJLP6nN0ztm)ivoH=QB~}qlxzA3LH+~edVE@ zto+b9rurbO^xcJ`b0H=nNpMx0|R;Gb6k{ok) z={>P5m-!+$lPHfEDzRwJiQ2dEC_T}-`J>(+v&w2U9sZq$j7W#JBsyYMZx*;aTqO-o)KBvGmC(meWBjw{T$jDfJ2TB(OqU{l z$Z@_^$?Vp;M>T|P$aXhMC~hcjH*2mK&>K9vCBF~HeSTr~!)C3Ry24Uf^T)o-h|CmG zQ*UVg)CBq|zT)iqn5xwEsfp^oTH1PdGDfl6x_;I3P$EGF@2XwkGJ&kaZ&gPr3d@bY zKsERpOkc1~c3pbYR76wfP3Z3uX}zy96!F2hB_A4d@hpv-8D84&L?Q*Ml z`D%8z@9!{spOv}DxY$d%MCy;zzW3!4SM1AbMumgMmkU;G(~wUADY)sG3P+lvXxLUj zQ3eSsv9NC*TvcT-4Tl7h258X4l9h;{(7Ape?B1$KsGr-9&)?^& zR-D3e2)&Fbg7f$38-1=E++gN)Od94qfwXGEugUv)C7)Z6pKsY%$zB((wkO)b_&}vq zZ93on8wefQ^+KOXT%uAuGku3U;|qgAXzi0PQPA}Z(yNp7$FZY*S>y}Ko*~IARAuw4 zgOT(fW>$Jj6~F7I9v^I%Q+T#n%y;n0;Hc!h@F1-_Y=a&;P$W9Y=hng?)`_^bMdVQw zj>4Pt<5TE^tm1s`Id;0-5@%r z`0Ed2Jcn;j^K2O3bm_BB{ydn0YLC%FZYfNz8d>}F`dkT8k--N>5vQ%+>3Flclo!vO zd-jBwJ>wmoWjM5f@W}B>omlUbah2s1>z2d3_D){m#wM0-m5&Wx#S)7?DlZJRg?cdU5Mrg+ zm=SGtAbkSiXZqbD3sMB9cHElwjlzPy=;BPsdBpIP)pIBIZ%H9lwU=cDxIC`RY);?U zyd!!cf)XCcJL!6p0UE0^Qjm73o+YoCEB{cm&|N@ z_3nbfX(CFta5+1HFbfm%TPV3mtgua2M+(ZVjX7ORGIA!ecdzqz%UHKwo;6a$KpPZZ zFJFeZdg$W?9nP z+iCQXM5bgt-PLiLlJw0Fyn)^KuiXX$xMyeEDr6 z7&qrTx zP8MkgC=mFg#p4}WTT)GU#xhgD-w-}oL$lsKIb zid9~ykle&{8Tm5XBgZjO1db?7Jt)@k$~i?~0x`Krhnq7pC_jR~LqMS-a62*}BM^Jj z#6zEey=_!ytunAkD8);C8aj;&#}92Sm83(~@&tY3?&G`M0wD<3vawHM=ViJ#UUZ?1 zkHdopEz`U4ay8RykJ9@t=oUoeYRIP)RA7a|-jA@1eDX7oey=7J7&Vts`c%a9EOIKR zEV!t`Cs$R@ZaL|!mYuw1Dwt9;+y7S1+SgV8zU_hPp#m)LqP$>1gO_u8p~6B&z$d35 z%!jjYG#H?FO$$*jDps-zGO;_whuFTxg8p(@Ugh5O zi{`2#r)?Rv(Fc(w5(Wa_9iBP7I z(1Q2E$JXYW_R_EOtuLjqSA+E7j5oG4tEvLuzlviyG3NvS*yU9HTtlR9t+T3k#*Vei z&?`BzNMy2z&Qvw!xWBvk+9GV=h-d|lHb+c<)aPa&udN&;&cwH-E8t-F(B$PDF%A|| znRXz|e~Av1sf$+{poP9_&cqy~`v})xnA7(%Iz=?W!xL&jy|_7}AHx zPEFD~`>3VUejZw1L*SM*n&~0lqitOc@E6z!l&Mz*0|cC4wZ2^I#_#4_pt6gLn{`sY zeu&C*2z>63eCxuhw&G)AaPQna@_dL_*^5F9n{9T9>rH5?rjc2iYbldvk&kwRbWT~< zO1GVVQplZJ%#APmjTEQqwKH?hR243u#k0+k)|Qv{ ze%g$Z3qiOI#G-?-ei-!3gtSH#RVNoyl{yNkEYcDjf zCoYG_b;>F(xBLS<+PrAA=KkpVF?bu+ty#KxwUKAk>PT+HViw_*>#9{epfK=-ftJ^2 zG>tI)sH87?B8Q0RmMLPtymg0LnM(2C@&cD0m7?iZEr-u@@F<%U$q&4l3<_>mHhas` z)F`MJ5@`H=FA_2zwyKd+)Sh^{h{IoaC3ChgQbwGNT=~$XKp?le@@!0H0%ai1QnZrw zpjaUHUQb4P@NF}T8`IEs7l@y1xkqAC>AbYU7;XS7n?JhOc^Voaf0#$XUr)OPz70Jk(7{CKhQx6)R_9f$8C)kQlGlMimWUyrv4A4Rnq-8v| z`b`Xr_CHq4B31DVe5=Z;)U$%qPkp?7bN!@7;e4*axa$Gf>X#SjVLalKtu=;o<5`za z+{Pi&u4e(QP1#}khZ6MtlZc<=z00a?apY7gy}9N_P1xIjp-)DHhWM?DnKanih?O~bI)~a^1CkN!P?4dl9MJxOak+h1s`%w9KA``_v-HA?fS53jMn8 zj|AL{B7PMBHYwI8cR=Kr(!)LeaSs^=m3Wj=PLfLv;wm11+GIYLXwRIO!qRGByCM_m zC`vnLBumA>`U&v-jq(AZmWt|+7zfN#l&{GVh6B)FQV&vFCwbq_b0Fni-={deLYN>P zhBGS?3u61Qq#}bMiwdcxLTb?Gvj?pGngv+uN6mY2v#xx{q=aDigVzH3(W-KkYdV;DRye`PnJg=7pMWsFpLCTAF7yfMMLm|@*Vr&YfGKg_11opay|v1 z6d%dpn=$4(c+3C#SDE)|w0f%iCS4A?qwU2fvtC8F81k+kzy8sS8%~&jR7XPHZOoFx z7aK{T=^HBU~@? zUe06gi6Qg4S6tf@MBk(+K>krPS5{A+`PAw9eU`LH_0sIox3%dGdiwGLuL~{`)G{pa z3I}wDNJZZ7paMa^)!>--ZYgq)zcDZ;c+A`hpihcZOs|lBzqyrV*!+P}46;1v&qWf%EaJz*Uzf#H+c_yBT{?2_*%7R=`K#0ln@mcVs zAg!F>UR~aG9gqEkt3#V>@egWGs)jhB&dYq!K|~@ivv@gv$L>`Pfs{{ZqEAN|+(nqs zpl5UnqYhJ&RATM;RnAyvgF3Yc?a{PsPpyl#LAYq0nt7k%#rUESAJ;ww(&3aRTiP^J zL{Ib?PQZ=T#DDdTprd9;-~z5=sl!m)3p@xY9U2J!$(`WzIu!`rRC-KbRXUDQqy`?s z038NX%w5*W_T7v#@~y!IbGjbP^%?D}I;h#_oXeHm9g zFbC0n@g~n_CmXWh%s}faKa4k;wLAE$I_{U`QMx4roPyr9JIUXGZ?opn{C?shfm--3 za^O%EURdf?w>+*=u?pqqsaL!Zj1A@z}LdN72f@D(pRqEx0%0E>-Emf>g884LO9be?ZdkkW$2Fw8#O;9;iiO43MrqNi z(7~^KG-!4M<_MCL`p0Udb4DCo7|3)kRrVs`z+0Q|Al0I~(WSc0&_6HscL3t7Gx2Zb zHltGXTvXw@Mm6*`@9vR5S0g#$Kx!(qKz0fn02shs4dAxP$WtJlJAZB+ZUoF_o+f;g z0EQzIrG7jnHSI5_{)=Ub6Ia27=9Ep7;LFl`ZH`JFs?t`DU4HiGY5=HP{lM@YAh(w4 zSgN81%b%$psglY&b@cLo>yv0Z8Z@Pxtl==&~3fOuxrD)?`3s2Lfmv~ONGTgn%RQhFJz8Hj7wvGO_opDZ)576G^4&&0a1 z5QIyWf{q;u!bO}4Qz0FXf3kBm0bE!`^Rktb*Lz>vIlE(luwbDXzJH@#3=Y*%c;#di z2mmTP_@V>@p|=grh5or337jfm28{YG;qz4Jvrp5^8F|;wT{qyS{!az_tBQYB@lWOX ztBQZU;ve4WuUGtgK>y(){vOc(HxKBypn^fS@n3>PGV)PoX{-6L+5w6>?l&Nkd0fmt zXGmqHTL9jg@}Duxt>+*ziN4;nN(4d9?Ajf?78Oj>O8H+w78!W~4HepU+^)Yl5Emg_ z?|u}_xJQ+x{yVY+fxh+%EBMFN=aZK}ASx}7_dhoUxw;{UoC+Kz?X5xiCH7Ll@3?b} zdVRxxfAs}x6Q<1-{MJEQv874eXA{W-v?9eygJJjo5l~iM0krd(yE6QycA3_De7dhH z2r{sOi!?*DHkdaqL$bG&R{jyBD-D4F6fsp!sz>ZZos|TNJMc%)qN;m@h0f|{zr!+T z5LvRb{|-%QjwDpjAO*t~l`Uw0AP4B)0 z)tRM>Bv z!nKA+Z0+eWW*)XHWM&^1gh=~*9UKh)$37im;FVcJ9bCWf>JWYEBu41j?*b+CHr@*P zeXS74c7&rn$bQLZkAEwzv2)WL`VmdmaG!`Xl+fDUaOn3!-;Mw=(f_{xsAvmHh~OHZ z9Sn7Mkcj#P_N@`1bc|*eoV%%kph?Qm4bVX-lk%S8QzGuJs18z(cw_ndyO<=n`(M!i zT;z})3?rDo3E16=4qPZzEd5et_l({F0`CAAbJVY9*Vw(3qLvT9_J_$_q3QTYgYaR< zLPz(5Wck+`;zvMMsB?2}J2~Bky>gh`B?lsn2B*QPpfN<0)uRz<-aO<7%@ER}!MclbScA@DAlgX9<8`2v5j@lZ*bLZtuz zW|DW3a@4bv+Sr*YjxZdQZnoM3LYg1x&mUi}DsL1Nw}i(SU(@{anBjUC+eM&ecgm6O87^SgfZoc664V08mtS?EM5uKdTp zD7=+Na@04pD|mM$qBH#57E5J@7>WB>;GL+cPbX%I$+VP3?A>)t3<*Fy>&GFGp2 zZ_!YU2oaQ<5$D&(H}}^L8fBsDOv&kfBd9~FaWLx_{a!+>1uI0LWKLj|G<14_o14KV zaTVMXmAVB$ASBVOCJntX!TccbnVOb}4;$o7#2^MKv zh8zf!H-G&BLp_v`Yo7ki=Ne%Hw#6k{y0-FQIcokOy}}Y|w$_O5&(p03z;7qSzKcFX zhW2pV%siD@>3ZBOr+t3cRv=c}aO@*J5{$484GtIil`DFW`&ASA_ul_B^&VY=^1C-b zQMhX*JW4#gJb_Y|c6p@=zscjqw4NjrMKhCwxb8l+CLC15vVp`^4D??IE6z*#6@wLD z_EotkBBbP&P=mswK%*9JJ&@jl|T)%Jek@>^Io#! zbYI`rG~SPv#l**m(5yW_!&VFYTDwa4%C4t~IR)OUSK`^L^$S^@B&FONI0whg_0G5h zM)!+#Z(4i|iuP$Vp;q)#Jspl5ZZN9G`>tf+PzOnLX}9(Lx)aEx5WEmOvEd&+ejf`s zyL^+aMVU+sKZlyv3&@KSc{V_cc5gqi4;f6GTPos>wZ=EOUBw5ZL<2y*@|Tt@kvurh zuE|iS92fUuT2H-5h4QIAoYU8Qs)8^oTx8M0fbgmG@?DI7@cBkj&g?DwDp+WZ%%VxU$YzERMg3Z=T zm;DUr6yNxx#dnEd1Wpw;`D2>n*Gfuy6unu)FvPlr`AmfV!A6C5YYq4wpG?_6D0V9z zzaeA%pfd+uShmGFF;{MW6W8kWvMPgfcRh+w5KXW^&d{CMwcu;Rg<7TtK_N!v_Da1rk{O%|mdEd*AW>-ldl0 zHTe+AznuWVL5c&O=(;!T&dyH-QP0$%2ju$$Tzip)D9N4Q}=#BjEYbJn-vornvorVcO zWhmXW3sr&;@FLe^jjVTd=7bvHO0Bbl<(J_7)xb^K_pFw~c75i*4*Y~YU>S-d*I0H9 zG))gIlkC!MySog@(OPwC*zWE`B?rt#igouEs&i&MK<2)X{9TKDSm{hX>#%OM=tAhI zkV+J#sMwVek4{P@P~@#s9|m4t-NpOXd$5b%4g2KX>k@cKq%rA1cK10!ip)w1I?wKs zRu4{Z5LYip?s9k$EW@aKW#E?~F(jM^%XGvVhwPHC4s0v_ro{bSEO{6%9zbt*1%EEn z^1xp{5^0C9mPszf-ldj{bi3oIgkwH5jDnLIZ!zRzSx=n7oUKHe?T1r zj#{x#_J*3fT2ra+Zn^u*LnSg`kL00mpZs3(Jm8Ct_BXKq<`aE{<$vLm>JO-`fJ11^PSpSHk3Jm!LstJ%7ypAGHmiQL zi{*deGw=_nNgl?kOEc>?)HkXBkk!A`MQK0KN%IT4Sf>1&&x?ORO=@eNnMv#X4R!V( zvifTlJK_@jzit*8_Z}YoH4E@lS^k>Hwr>12k-sML_v8Qv=iifKCz|*hP;Cdre*>zW z+~BWS{56ZedB)#7+#l z-40A!NOk+OGjDEem$gzD$k=Z22DN>wKk|TF>yF9t`%~a!gXK2E?Tf{kK^x-ccg~#| zhO40u4?NHn%H+OGBTW`|Dp5syXTtiu?Dkr>SV7cdp3y6?T~$svO2#(a5o4&DC^$@E zXK^Fn=Fh&D52$eyl@@;vxTJ{i>^;X!6@IOfT3W?BY4qnjw``IcN5a!xm)0I-OIr1BMvj-OSE(XYn*G(6@2n??(S>0SK6aKP>QfUD$!97&PA= zD0}Tt*A7&dG+l0K12AY4N~?$l{X5u~_tT8qU}PA8HpAJBf$esTKQ*btb=TY_3rr<= zw~n_Hs1JcZT;X*I*bbTwka}5HO^7?y{Ae%~0ZTHRt{(${38cq)>H?M!{k=9a+bgra z0A$?mIJiS|DCjJ)m?%WRes$|Z4}(A45RKUBPmO|oqUr{&ZCBWpev!IMdpm$fGxzDr z4wd`Be(X9FnmY{sYC&ivgZ-w};nj4Y=OFb#@a4|NFTr;zpoW+8L$*0M2RIn|R(iM7 zne_dYvQ5vS10<0x^uS@Dg%xYJMaUjX0AsI$g?r6>hIM9`6sf_7&Va-ZQ&;(L#!c&SvjDqa-H z|AiX=308Q?eN{y`=p74IF+5i`FbYis^K3`$39GrvN#W%`D6<0Nv&$~d9sJd-4c7;> z8$wn2o&t%ZuI17Bqe0IlWX2Y|L;ET6xlWuPk?2ZqG%(XG*rf*v?_waKiC z5;DLHN3KG0aPph-U|uHY5qG1YgU+_H>HtU)zItBA#WMi5Iu~*U#Q#v=h$DA%gJA>3 znB2nK-|tn&Rz27DGS@03w02^^G=^BJmZ6LZP@JjvMT3$* z6^v=ex-RdI(7=f=7c*3YTp(uenQFxlla^)n5D60Ymmx#Uh{b4Pl`>})e#O6^77=%* zk9zy|yWs$w)9+ds$mxNy(CzyVxdxwTu>~9iG{0EP_%JxF5t1Wmd|J-t*(w+xVc7iV z;75@)fh&p=^4ae}JYDrgT2b-*&A!vyTkwb*0(9Yt z)cilvI)f>XqTu`aU1!kmW)#naYX{+w#P$ueFl2}eUb-+pyJ<+dJN2SNA~`|VX7UKo z#Pp2srM)+Sfmv##n(r7Gmw$gJ?rc001htr zX6pd@bI1e|<5k3UlhRE4{#?+G`Dz05%@4gx@6Qm3Qy~NA4$ynEy&^lFK$+#&AXLE* z2d;|Bqz|nx8v~&xei-lEfiaoJU}0#v0QmN$axC7K$=m9T*v@U2fjbEkj8@SiIjja6 zcv%F=f$V;_XqxG97MflL%wxq9xij4Ad}iksqD;g&N*DLdQx1hB$8Yy+{nG#`iKe`B zi7EikbNVK*#6KL*0kxE&PMnKWoe-h)^4!kI;5k*mO_JeVYJV{4GI*0meCK<)DU>^A zb(|bLwhS>JT*Bf#@McAITj5^v0~OYn&kt4tG_vofs0Blh+3kd&SPQmj5%rrE1kI4}}mAjIcvbLZuGyZp!8bdOr_ee+PJQ5e?#n<;AQW@0Scz z`n<$kn36pB!INVysFDZ#aAB!DZYP5le6S!<6tb9G?lLCgS5uo6DAHwQK33x z&jUVP1bg@Ue+EAUta|J;?FDtg99*!Q7~xpRW0f6MM}W_LK6)JTe@$|44Yn8x(x`^P zRmq+4#%KZY_nkQX&)S3ETlscC(;VLVF?q7YtJ>)%yQvy-?gR}Qp!S&{2Ut&5%l&H-HR`cApKc+fP(}C~A8B?Oj z9`7ODp;SmAi2f8S<;5Pnhu@o3=CqXytxgrh4Kd5Pv)~i*We*8C$Y&=UFIb+6=czoI zI$_qTnX8W_C9nu~h*2L2Zd|th#&vAxb3q+5NHwg**+}NjR!*zxo*g<5kjNIabCqBP zx8HhW(IUj05|}&kphtql1{sAn#q{VsclaaxGmOj*rPpDkb*&n>g2a@lxqX9YFAxAr zXzQqmdCrZ+9QAhy^v^d(_^rP%A-3{nt-Xq z$Po1QUJQa!N+)xJF+zkNw`HuRfWB;QvRNc0nYugeN%6fqFzlmH zcOk*RP8EG7YIX&Rf@c@5lu&$)o;W*)t;L7$LjQjyV?>I!df}JMd+Rn!xj^T!|zE8>8SsJB=e6bu;@wPdl0bXO5P6FMyV}I4e1d!4hE8rEdLs>nAcXzNNVydvsVk<{u z1z|_Et%hV2RZM^>DcKXbrU2RLrZ{<8)rW@_lCl$y?C5D84I!HjWr(wi2$WLZ=DZS! zwS4t4t9Ss|g6%-EiKGDFLG?jbA4vDKDo{RQW1Rx2b-~tE5Gz5s#*Qe+F4s@Ss zCwp-|>7s`>kR|(VKkw%jmfcxjsRG>5O)JcPIYkgG@`m7knw@u=5r+qLSi>J}Z~60|&)@@y=y_mfJ&Vm$ zUx2nb+5NI2owH>8<*&tADSzt5whlf53X*H=9D|Gfgh>YcV_20c;Xngk+X1?QJ`4Ut zdK)wbk`|A@Ne#?RlE;PvsnzWvcLg%1vr?vp3La3|!R@F0+yWm6vv7hNW<9J)9%CQF z2VtN|f{EVz-tqeT*xuo|`yWF9OhYEaTboyFVUqgTm!wxjy)F_YO04$GJ{s~Pa_#h`+ z5Pg6A^Ep73(*d4a%D^sE4#wbu9d8}k(fJ*#rvfH8sILzw`El#$Ph@~rK>7BoyDQ85 zsRV(1-~(Y{K!=Ao9Uz`#FV%NIO3|~uKtvpWin0obuPBxY&>@$wZwEO$57g9|Gs$Ai-yRyS(vMxD_mahCs&wGM9hHAXL^OKZJihD6BB z*XFW$UfY~bovwQXjnx5ruX<=>ap=Hc77e6@coHPZHEb)9zfa+lFie)LS4Mf%X3D8$t3(q5fzzZg|?)xiF9oopnZePbq7VSaZ)Y@yD&%nGe60w-0~+QqYx4WnbHE) z=GLC%I+U5!OVONzlIM6+ud5GlxDCZ+)gFxAzv-E{PBb%Pkq?eDP4--hw$zfo+;!8k z>3W|NlWnGC9PYNf`2+KGjdwPSe7dNc@7bnpWrx-=Lyq|SpT-~F390Yun;%}5jKP^+ zy`VVN9;F!bD!K3L8_KBT^C7RwODER)#wr8or7DncER8y0?Fp6}<|l;j_x+SFms+sO zD6!0^^D;-bD!%qv4v&r~NV^@?h!ynwanIR4{x6DIaw5D=Fa%es;~d z=S3M5CQ`lM_{XPrchn_J8{1LOUTvtVr$$IE55CR1xj6U~!>BF2O5gTr>+xg*p@my< zlaMO6{KfK&tGn6i&=x|&g-M*>dvdA_V^)s4Hs!vVX)4g$e80~?lvBKIiCU=Jjgr5d zm~dq=9E%|8bFI(JwNm$q_ZWK|TIv=UzGJ^+d2 zI_1`!%rxiIOaA<@!uSQo@9hOjoDy&2za=Tu+y2O}i|SUszSL~1R<(6v|4mntZm(PSsVD`~?KZ08--d-A;oXF#qcb)M13Xa^XWI8KBIKnRC8k>h48{P)aHNBrRaZY%tus z0rKjWYZpKU8%`7X=3S2Ip{#f6GTfe@>RzV`H11=URQEQ5eAI`Xg)P>Fz2TQ$Qh|4I z7sS8vm(xMII1TLQ z_g>f!Dj^HOc4YpJpf(Y&*SBFBgR|#*<*!siqE4ilNJ{9}Sb;`zY8wO-(IMPpYnh{| zhX*mQrNrb%XA2#bJ}FyOM@Yt*ty@G)T5YZ3kz*BZkcM*N{8J-qGchc(sLk4`&23V; zwII!Mvs$J%7$~l1Dmm<})Z3(UKJat0OBv)vI*9m^q-|)&8{z%frSW*PD=>S%=N|Zh z7t=X8Ln#FvKWWFn437IrfAp9&)vaRj+oMy(0{zO&AeasqktrC!UZ%!Mj<8Y17=iLx z|42DEc^1tBP+~}ZM5?+l9labD%f)FVtKlT_K#W~n{h%D-0m*fZe3zV zG9N3dan`p%GjAMP7~uoYy4lVWS>lS$D^l(v&{S80F|;(~3a;@-52Svc_+9Mi#v zMWB%8L@F~Jd%aV~Nddob?5DbJ3P}IK)^U|o!U(4cfAenXDZ<3ozMoC1>a{ADz+P3Y z=OTsuy(8xO8dC<7-{>k# zy`JgPPEx2Ns^kq`;Rg>Ud2$%>W!T?d%WvZhI@JG+%gEP9D?D=!*IN>g5Z>te?W5sH z6*5zyHjDk3rw7XRfdJq`?#nn`b%LjoRW#KRP{K7k&LgIpLILRJS31>sLJ+ON&o<%8 z6@=Zo)35q%}o7ZH>NjB~??hkthfGm?q|ELd`8z zc{YsYt5q_}ZS(N0s*WDVel_cagT3Q1g>qIhN824(JNPfz z>aI~+;>UyY1DEY#PRg^BhM`dvo@pE{vmYM0VMpnQqCz**UnOyu(RH71hg;+%95&6R zLEM|wX|0l(YF%!-;CK!1ODP*O8YC(J-1ysDTk@M{h^V$AV$jC`F1L}XJpF336TVV6 zE4Jmm(tc_v5E%BSiDVG)9U!?-ng8KJRbHqX6fSw#bgvy>T^gmg94fhPt2lIK(U9$d zO&zQPRoEvLm$siGkGX2HO-7>(}zyvE!pa z{e+Qyvin)nt%}Xnv&$PUFJ4nmDpE4`awR_DPQ9_F|X6-SC(#fkirMzIUD8ys+)d6d0mEd zwC}zW&-=hWSI9Od`<0w_EnCZauEGu#;zTJ*tei!kchH}0A)ROCTl0O-THCdoqvFCF z24+3t2UcP#R%CP{?>fAhjCfpJn*6~2*36TRTbp(UUZSH zEH+*jml!`BIqMT@Ejws(08AAr~I@>ax1<_@(RL5l+HN_*n+P@DVf5k&6e$R1DP zcVwc5xc+6yXGAZHdMEAr9{{|DqQQ*S^09qwTPi&kSwmmD`eu2&q->6EKtDAVok@1M zEPi$~4S0@&dwv#Fg+LA1VK+W%q5#F(D#1m;Zf#P?WqOzhe|M_K)N7odO|~3*U5M*D zct9~?p*e596uBa*Xj1cX{?hBl)=66kV!71Wwp)Ga%ccHNdW@-{PjGkyjpD|BZ{UkV z?PrhT1(zs-wbfo4DVsG~Rbf^8#~(% z`eb;uDPz2+pVYlURcVOHVfvvW{^yq`1?rL>gl2!Nec6m5%9&3+w|=LbsAr*#7`Knf z7D)7TwP#G$Ik|lL)w%S+tP9#Y#%DKwd_h6%*j%>sDWsJ}wnIz2E?lP~DlFZO^Oc%;Qq)haHq<@6xFlQJ=`lAxcGggU>n#0% zSBP`z@X~ipVt=6ge2oIKzihe``L(qU#zEX%8+fxN@&l7Os<$QotS{r$l5FmM7Ma<} zQH_=4q!YBSY_&;6`4c~j^4CF`dvuR~1F1Kx5bzSj&2&N6YOi^RnpQOE&_0fk8YmBs z9`_T5oykZzJeW?%FuGnAwqk%cR?-f^Z4$#QEoVqH(!Jm1*spuXd; z8r>}m-opAJpY?QW$EjI{oQF;ryBQfe<7X9hH=NqLF|v@q$;M7){dF=e7_gzrhc zS>;@Dg!3?yg1OH|^{3!6jJsjT(k1J0PXL2H5|ITpOfAnYrZ8C-I>a%cNIKP*Asz z#%<8zyKIoD5N)>WSE;d|HcBrSplppH6XQ-zMb6rDm?_20{gDYrL`+8Xz7uXk?o#Jc zt}`3m=Zv-Xv`Bv%GGF)fTK8j9Htxl!^zy{ctfL^P5M^`n80r}J>re8GeK2G`IyS5v zweqSaJQc|(h_EJlX)OfW#z-z z3GYSzfeaI5w28nx&FLS&A9b6rZXP^Y0Scfe39x>8s@Xad0uNNLES0u&5BoPTv&#eL?-Gm!@J@OS?rqfteiFUJz18ipvx{RP3H%8n{KEjb>FVD}wzcVVXMy88xE*RvC(Q^5S zW6}D=ZgUq{iXUWhs5Kssop;Je^KIsqb&k?ni@8_wp<^%ZQ7Fl6$vuM6fk>Ftvr_^& ziOj)Yeff+Rz|-llT5*gc$|f3W<_!4}qsvZQPXi9hJa-dq=v%X)4ldtp_z0+kmv++p{L3IbE=wWWRTcNWM?vKLn+ zq^6gA=!Y;h31fmZO@IjLAhuqAtcux8YY#c8E<6YJ)RMEGwtb zu&Ees6|e4qee8uz;@c3lF%t_iH*xE>Zo?B(666+Tx(7^kWwPIm=K5w%cU}KA3s7KR z4{z&!m$1*+cU(wHnj{B@$HHjEjWNEdzKx47ws1ZQiE7InLyY=r&EWMr@=6L@vy2$8 zc#D%qeHej;L#VeFLa?gu3I;C~DsZX6JYd)t=Z2QgBL^v@rcSh~LAqy#GS`OAJ2ZYj zGNbptKP)+*8$uc%aa>s)eDS~C&P-bN`Oq2eH7gD&p~UB19$f}Nb(d9Mcy?yNtrM5N zy6IL~)AgToDxpD@T9s&$;`&d9MYO7d@mEeB~Dz+60@pz3QOhJHkSINS$eT} zCGvPIZq@ZBEy}4G%Q`TtLyOqjz{+|!)!3eKX=7^b+<>djjawL_ayGylO63f*O{9o} zH|z<7L0PC;(TcTzXZl8s>RgF8t+I*GWRjxm(IWAvwUNw zkc0fJ(p;^o2w9_L+knOutM=zX*K8$BM%23>MR`r)KT~pge&too&sg=kNQYdThP9s2 z_Kc$GuGq6A-OgAjmj|*vsIc4r3O7du;Uk}KT#t3=n9T8RNI7R!WWQL)?H5BCrN9&5 z<>G33tpe}6zu|kmRA?Ma0k?u}XDw5|3!M*~$2sRT)=@n%Yeu?$E+8%xB)En(0(gw4 zUfZF)UMk~S{ngel$YHvdi-uO8leHCEMtvU_be44+@Qij6A)alv5%viQ*EH^`DhhNP zNYGpC9*;1VvUkbJO-6NNq$7;1zWwN#=|*F9*m(7 z<0>2StkQr^Y|Jc6IZq6i4n4F*F3Hx!mY{Tb5zTN;p&H$DYg{#PI5=bVn!Iz(+nIOu z{tGhG)Q9CyN`rL!V_EVN{-tg3IpiycWQwcj?M*aB2}yT5vEz;Vm#(bapB$6zagkfV z{4w9~5Y%Y?Rn2NR7s{-;7B!Q}s9K9i)mFQn=8#(C5Zk!M0in)?bWE)km*!V$h^=eR zBZ*?oS)ZJU3HjcEaGQSkvf4*T8_{s>$iC6^{^LfQclvI6#z$jMl}O=EW_X7l7R-R|5zze?@2%2iT_~$F>O3nVW9`DWWnQ3qJ6qwxG`y+55TG=_b!&IpZ2jwjK?|l zJrF5-ixPet*dg3QbS6fBE5kP5G#eV7`J}BFMT-94zicA&WHm6joG*~&pef8Xb2 z4L%s^6(SwA0Iw_MN?)UW{x)RhxLKyUJB(45#Z2;MuM6VT!tD@S8Ftvai{8o0XR~1y z`j~=fk;2{+7VERoQDdLIpz&VVm%={_j=D=`VI=g4i3HL1(Y5ibZPYBVXkSmJ3Si$; zS>EpOXy?+1gDm*^GP|2?Zl6$YWmvo!?@;|^Zb7?BFcVb%Lh#LnpJnDtFb!4)rIZm+ zPGE`}-l7MlAQ*lo;*Cb&0qz!M`xhSfXJykwY-hZjAtlBzEH)2U@@ODE#W|MF1$rP6 z3Nz7y`(&1B!X7oa`Iwo|sC4`J4(Art)W$j=tHB6a4Lv_6^$-=i47WPrt?u3}>9|Np z;<0t8%DjfIXfB=c;9h|rHtB}L&iUBSws9)(`|?WNbxE#l<8)@KE;!_^wN$LIcWr}^ zn~QwzHt5N>7W7RPisThT=3i29hrV+zFV5xgS+6&phoiJksuRxDmCd(r<^a0`%L$1Qo{qg$&EjCnbDM&{Sfh3 zjOZTQaMN!PZj5_uidL|wTKd9RQX*p_u-6#rDOjUs)m@+cmOXFUcQRKAvANbbdAnYf zyIjoA&&6P=q-z=Nax$qnv9YVEVHy8^#%VNB9!0B1%319HSI&}lO%UCFVJ5ak;8m~C z!oFnqv923cYqv+7QjH-7!$LgmK-NDBS5~}NPET2Hz(+)z4(~6(I1Ut}3a&;9d-;fU z=bpQVN}X{t>m6VJ9?)^ax6|h}>P8)Wv>nsXb#Z<9((pqK+1h#Amj$UVdB zBGqMNQQi=wl?OOZt1S_};c*V4V-$L?>mst&yXH!@hL5Zb7MNjPRxiu^SRHiWM8c!* z!Ld2I(vy<;^$D;!|gd zoUA~%Sb|HGNw;sBh_^B1?KF|Nu3LTM@sw*@e@Z7NI804L^NY`fNsVtWc$Ws2c_4kf z(KNj4R(F+A?%OD@BSuwaG>hKYti`3t2a$4Hvm@V2p3@BK#^5|JV%~pLPG!%kl{aqG z?erZe8rp=Y9GqqI5~GZdo{_D`FFu=)R`Y}dXu7+ssdF_h$>Td19s5Mi-d?CuP37r_>hw5v-)!5E~LBYO; z!2cb~WVv5)3UZREb&c&l3XzKwE&9H@GFiBZoyx5@?Jfq9g`N`H20}dtSKB`>CEDGi_b0Mamw)0knc(9~G|OaVe5t-@7h z>)_U=*XmMx)Y$ktjWMXU;z`dl*S8dwJqR3lg+8>5IXGwf8o*TM&N$+KJ9MN&v)o&* zwK4N9%OJ9hMaR9MWj>Zu-fDiW%W)7R9~Z3VOswN}C9mOgan`0W#KQK8^T4c^750Q? z@~7e?@6hO8=*W4kHs&GtTum&lCN4y@*cxUiXk8?CYQ;v4KP)Ry+o&bx&E&Va$EXPH z_W!TF?+R;j>(&)T5fM=kP?4qr(nTrKf}(C$^kq?gcJ=$x78+WTK;|7Y!+b8(7Z@c0OZ`HeZsJKFmhl+Tyid1KKn+G|@f(7q`? zjnPWJH8Tz(MDL;J#y3pj=2TaXN&>tAliVm_mBUrG5G-g_QPcu_k#SPwNbgSVBvP4p zVv^Le8wIHI|3+Y_~LNf2JEhP^M|`{gacD*2Mv{FcG#71z8y z&C!DK#<7w#CIz0LRpwKrE*_k8$PXUTIRO~Xe5>h8c!m!9?Nk-$G+KvAZt1g3p4&~Q z(M9moh7gO2QNw}JmMYLeD~e+NJ<$jzRVT0C__z$hNmR?nX9vNw9QXH|HTbb?S8eU-)!p70Wd&+w4l@8PkQX-M-j`LDjCpfk?(@NhWw9DXmihz5; z?M{|loHIeqp(i^pkZ*{<_7KEN3pscRQF!&*XS6VAq%@SD#*aG}or12;tQfHQ?TmbU zhq%1v8gDe54J{&2=lio4V}7=m&qFpnA%=~Q$G5T1vw0RuIjufaBrJM9Ya4ZF%(6)L zEEs8spvQ4N81hmF7}EH^!H@-d&XLI@i9tyUcG?Xi&p@>|NO`^B+@7Xq(SXr%oK0a2 zt0yLKw$;sS6BLRrTY|tSbyMMZ*(Dd2&2A=F!=)H*s+b5nd(D7KA@-M*dl`l|K3aTi&7)$~fstroSC>)o#2wT)pUy5~ zm)mJtq6SA+^Mu1Zt7=rLUR4Ne7WREakV+3{|EXJWR?*&YGc)N@l!%357xJ6&HP2#F z*LG}bR3jQ>TvxmLhalC#gogI~Ys||YQ1^Sp3}xuew=S|zfQTsG54ZvqTDKgOFM?(~ z;S=h3GH8(Ute+lz`cB$>8sXVDzw>x3dP#RA^~_4Lq(N;!i`k>T_DR#{XmuRHWV^J} zGa>V?;A-ATY|6XQg44CB{H{Gaemm|WTps;gMaSNw*R2d{(U2bJ*{QCDqLz5xDyr4b zF${O5ZpCI+7*^D!WAcLt5GD)Tx(sNA2FB89B=|*Olfay-N6tbm!G`S1eg4@C3B|Xs zB(6N&t0Goo343aEZ*zKngpFuj z>7oU#!G{1;M9-iSMduj3gm{n#b6w7)2pyyuGU5$LPxi?=Q}jf+$>Um7;#B9{Ru+DK z=O^O^B{Hs@$s|EEn()vbaRm1;#{lMB&f!c^fkR7#fzAvYqKMUFL&RZQP~sAk7wSSm zYfAwC)t;r;{B9545H;vLYLjMjB{@7F`+?@Ymhq^R=bEHaZHN)Yevh>6TZ$MLRl~1@ z-FvHNAY*kVcQg*r%?)TXLDui#43)GhG0~QphzRW-$BrG>Hwi(-whh1cJ_-8;pTmS%7bzmS9qLW5pGesm^g( z7__XF*PEVb8Xx21AdJM6e&ln4LwJILLbczV-7>u^VpW+YXs&$UX=a(%2ksgzz3*Vs zh8&WY_$lRr_p(a?&_UhFvCbnjzv5uMO_lZ&Zp4w*jK2G~VD-UX*#43M7~LCgaKWV7 zoL=uV8g7ZN>vPV+gn+U}$KElnqFdG0ML-7$(hbzcUm0>AR95Ux90Pqw8Fa*5*dQBh zY^m){QjPQiAM64z^ic^!(L&iRSYUc)yIY+PYw z5Xwy@9;yzRb-m%(=UE&76mSA(y1ya3Q`=@;i1m}BQz0Q&&@(5G!2jE7`^0?%xl=v% z%1fb*c6%#!X9qEXgOJHr-(^+#+6?!PcGK$f4j0Hw^_2t*=q=vG?b-m~pLlp&kCsIN zIyEh|yvb%k<2dxHk#|l!kau=@PV3V^hr@#yoz@FH^Y>NvS|A1Ynr+=5&K5>=JG&a{ zeptWuAOK*Pr%|JsHO@Xd(0XP@S6AV%@;Fg7F;=J_~Ogs??Lk|yhU_k>voq1C5~pBx!iN?JY4 zrVvVCmd9f|+AKdhgqiqe-oO3hO`ozB=cc!XzOI5@(fmDTpx_BNjuMr4>b%RR=Bn4| zW$1!lJIs8iVk3}u;e!{NX<1ibb>pWqX?MiNRQ{ied~DTgc?*MbnmlSqmfcI3)>?*@ zNu|j`vrBuTIPJ3H0I_(`s4Z+oG!mtH(8u%dzLO#d>3aFlGN38fb)lH~ZOjLQX6GX4 z%*%{-b0tRlKl+w4!4R6 z?@$|uhd%kj0!9fKS^oiNJa}{(>73+@n0yO0;u%;dcATM>+g>#}+nVPiv-5T64ceKp z8RbPusG;GV)m#Xhq%nYY&UB^17@uIdU=DU~Cng-RrZ?-jJO;xRN)WDw?ySs)InX|R z{$T>n>)T3Lc1#)<0);>|sOuqRY#;SdM-{icXrYH-k@a>JyXc_vy;`=hB9h$&z4Q>* zt9Cs@#P#N8XY1lZ-2i$cyY~218jhj&nu0zPhqTnVcC654r{fp9xhy~yFy9phA8IHv zim{#3dxJ~9j=wk;wOAUQY>b~)!h{TM)q&1qjnJLZ?adA%Y$jX1nrvTJMi{IMUrNYkAG#rozi2_bd`UG%tB$J-SQXT$w#35T*&d^l zC^7bf*cze1kk&#PhzcjRWP==R`}mZ4GH>3+pN7+qMp@>eVo)n3?VqC4ZPky zUX0r5>M0Fa84NP^T1#1-^L#wZSPmI*h^i_L#`!3y#JMon3MJj|`Jt^^Y6}BGg!B{N z_b5o52!ZqL53yDTX_k}&FUVp@4ab392$4_jn~(6r_>x=X#VLckP%Xy1!} z*sx&QLp;spA%gt6XsiNE@zy`!w9l=VA&u2z4VjHcf&y$un2JKOAR6fB2-7~AtLw{< z!~qvsk39+k-=j5I0Yhr^%EnFuM{{Zz{|je*p|mhiXy@+^-QBgg`t-+BUAyu%Lx027 z$@piv7c+l&y&(jTaPrXsp>*AGZpBbXmD;N# zK9nm#;74DHCv{SbBjXmz;W{ziW4u735zI-r)J&{wD(ShT_nPFbzd-R9u0al%pc8oY ztqX!3D^^$9ixj2%tOEs2(+tSQ4x3hUW_M z=#Can_7$F3s0Qw=i)fD!MtZIvZnx`ov*=xnc~kq&>MScFr^T!4I^EL*(tcT4_S9cP zilnt9ioezZ#TZBnT1oOrJBzzSQpx&_6=x5d+Wyke@@jW3-kVA#Ng=MmG84_lxL}M} z({NuKPa&tnID{)ViUK*1U}TyF{U(7kE&5(A?5qntF+;?;tCSYV=^J_My?(UXpJ{6A{w#CTkH{2wY3@%nwZ%#Dd%B4B6M1-k~nouwcn^yOGn?PpqJRn zz!?L^k9H2<1NDAZc{>63=@)O?7h|kyo0IV^TbV57TQbvm*EU~CkG(eWWXHrm32EwQ zS(DUFhE^33Jak7UdnY&S1*J7-=&=uzo_M|;hS?z(t~DunF(!MtPU9!-L*-RA^4*Rl2 z(Kg2fkQ%e0iDOrJw7%rCn9Q?bor!65B>?{Avic6rs-n zL%0g;p7N{JIX*D97-p(Y7 zx*&+!SuTMUykn5r{ECQQQ?cFzUp?F4#g)BIu7$~#$xE?Vjdo#?)fU5M3$(BB>Pp-# z;Z$GZCVaV$iKhWfW|;!*8dL4i$>Drl_eWV<OUc(;rkwTiFz3#2=v2l;tDUbL5fcL zgnAw;@@3BadOK>xV0#U6I3)VYt`L$V&TfgNtsv8R`XeZ98mi08S?fAB6?lrPr_*F; zT5B|tr}+Zkk|0gLL9ZC!UD9My+Z(naJXecgG)t;lq+h6P^?y(&6bEk!U?TIALp3(D7qV4QA69Blkj4ksl;2UQ}u; zWYPUnl>hI^n(*SYveBzY!g-KwQc|e=u{}_VPOO}-k<(aDFzNhGNEttyZGvxH(@o!& zm&L7(bwJckggbW|YOFG=>y_eVR{G6p*OMdE^xWuJuH6Z-bAL91-S(g>vg|M_U1Q@T zptcE@*~`<%WA=CC)urZUkv0QF-~Pvntim?JrMI2-yY(_3X8`}6^V8u(x-YSW+56SU z=ph(w6hP@r?=404CIWh%HV1c%hm>3^_pDwYhJ?NOPXlQgA^5P*yRlRZLeof{FDZL2`?dL4kE9M;yp)x(5*eH6ObB9`d3B=Z| zWTXI^tTJ%T#LhZ%fuQG)Gux!W%M{$}j+?UFj9Ym7pmKXQaN#^^(&8~LU2(tHn4$#2 zkD5!{bVPF5IKj6X{S%nuCk>X<=HazNqfhz*y&{^KKMc!!ihgG7(9$*fsC~7heYQ1; z-gurQFNnV}TX4sw$+{I7xRtV3V5%6FF=Ax~!$Aa$tV}Vc9??#U7_9>WxZZ$u_ zm^j4yYnk@*zlj4?b(djWy|V$iGC`$`UzS-)8AsjW-pf}?0i!@V{Td-+hZ(!6UFB0ULSg2@F!Jhson|5 z?3u}{N|x52e2KbSpL-c(>}w-h-~_9P=)-L-^$6FdsGH?dick&al~&_k(SA3rlB`Dd z6y=%G_o*N=nYzl=6I3Bn zT5rkA2JqkY6i;H{z@WO-O=|*+qMNcB7a= z%!0?3Ou6^`<{ZX7ernCW`$8{qSTAs}z_Yj|{0S;<3zFyNZP2~Blj!;QV}*|N_z%aF zeXhCj={up5L%Z_bmMu1Qlc2tpa9yBUiEa0eADaezuIE8%ffbisMac#99T6THk5It` zGjbb7=pS77fk(fwa<2=<77mxh>p76g#vPXc&19am<&ss`bc=g+pMSQuW|nkH5x5W6F5PUS(}wZP?AV`@KC9FH*y*fnt$}u{4@| zA@eN~c%1a>Bc9cFsm%GgQ|sRyVE-C)xOqPIG-)4)1}qU=Ig?^}*uyqfmmRuH=z_yc zm%z9Iu55#pd-ZTUO{! zfyR&H%C;48tS&xAyV^W zQ@4#jReV|MBlIIbL5yt z)o#wi#onl2pB4^Rwtw=Vh=u40bKdP9nB&0Amd1!$^vmesc=4K|_Ioh;CDQElh+k;k zN{dj4=bYxYFWT12zXr2YG5Qfa&33{z3_mu&v!V=1JKfmUnP5yaMTgTrE7-QW8nKd; z66jFt$CihgEi`l5nTZ;ALlOy}Dw8vEOi{bKAO^HTVmA0zczt|)5*wwRbXjH;sc!5pyL@Ff83 zHi*-K#VzZJW+Q(Ry9dAY@AUV-P*tSB4tsR_Ab(FeqKzomk5f=;f?9RjNJcCVX8z)r zCKu_3!@Q8toua9_69tFfdIGwxy^>KgEa44@)?+`2Sb@`bJ zjlkaNT~Wl3ZSAQ;)!O!2oii$LW#vC!C3T|gg(oq43tss8eeAZnXURJH_C7uk>81)i zBX65LN6JoDV17SNR>77ZWeJ?ZW(uY9rX0Z5|-{RmPwR;}_8y=BF zUeet5x63z=6*uI1NEcK`>o+n+pg^NboX!Dx_8gD~^y^xA`|stHHEBwHw1jt*UAfRu ze?hpZ3Xn9;;!hEWPJ2OJ&9C~wJQu!7e4()|MeB-5rWp(O&STO2r4S3G8+Uca2eia;Z! zglUd(xYj)bxzvjxO@`VWR{W)k|8`82^x>o-@Vr!GLA$JnLVxYDh;8RgLbe-Sq-QTt zvAg7pTEOl)F`E34JNa_Z^_2o?SNpE;A}LJ=9;|@`5unk6Z=>w6LSV7&YJV$fAIH#T zKr2>UPX2`47G>Y_q~MMU3N)a2%LUXlF@Am9YL|!0)7>r{G-UwK%pzvzdxKOS`sDNL zng7Om^grT#;~f5zc<~R3;V=5k|5rF7PwH2)oD2OMnd1R( z4oYrkY0=k`nf7;;H!M}75XTIE?)zd7{Rq9m2oOEXv7D8S%~z?9|3-y*gF}^6xElv_ z2_(8t@9Q9y3!(i-3ePX3q&qN#w0%`}4g8(NhzTY`B_e6bm8Spg<0^oCQhapF{qUO8u$+M%($RLkCYtwn}mcfpU@D2xuWaU)tlcllaMIhfxU$9p*T zIkw2AC`EAR0w%+T)Hqu{+H;~e7=AJGgARl%a1Jn@3EGo)!HZRpu|don_Z+}Kg-7Jx zB(rGpAJl+sCW~5i3)p|)NpO=tAvN{!rQ+U1oL#bhk?mFIna*CDe5)SynoxFOS{8BD zUC90(v0@yBnGfgHO0BE(qtU7`GX64Pi>U|ayKENk9Bo}Z{K{xxV>YiP*_qJ2{Phss zCCL6Kf41MIIM^xq-B;TbQ#6o}WpJG6?I~VRU`Y}A{CgZ6Jsb!hvEoteAr}R zmmp}@1>9Aqse8IM1zpNlM|+ID1epz;-u{Rc<9C5e&le{R!U);9+w&M^?Mg!68fEPp zo`iQW7i5I+rnoW?ZY(o7XQt!^*~P<0L2=YT(5l~msGkE9ni6a$N6D$cX`z#rfSqHZ zH^;=Z^Yi`06sL4{m>GFW-UyD8!Af=OP$g` zxb$1(KB*4qZ7Q(nP(YQ=@ae+m3Ic_OX=LAgRH2xTBCbrfXcP>9?U!P=t7JL608*lO zRa2);da1(NsXQMFkkC+_q`ydh<;iL8lTWD8jV;I7Au?OW2#C7Wbh0^hyqb95rF9$Z z&a#TdK%tFOmwS6sYi9k5O^4Z=nCXtR#>318i+M53x#xpzKi&ysYSSjN*yP{mvz09j zkzMcYqkOcJ}_%*AI^hd}R!j^mQTZBmcvvMNVDU|f08 z_ENXUPPjJ7q&B3jYrOz{8NH2#q!go?AP!@9bxnfB0?rMX@x~TA57GeUm;vi+C6fv8 zr%1%Qk{Cv)tD_uFe1LA_(W*@29z9HUgWjMqO~rI(^cfh-gfNKYMbvY0jPqq z=8rcdoek6DNT%QOXZL(<8=D~^sRpzD^6f~XRjHK-wnJUIev5z>2Dba!DAB6k3utZb zqi+XG=1U1rhb#Tmua)yo=Ua3<9SxRf-Zn5~OVdhIziLtw^xY=v31HUAoVUZwiA#=0 zYU#XBc}EYKi`wCbq9S#&_39Jv1b)CeBYzt|Is5(Z^iz|1AMn`J>zc)LX~^w5&7L42 z33^Kd)_K7UTun`ehKEa;wo1i4+ArF?HFVX7Kw}mv_V*lCnn>g4w)*Y#d#$(VqT*~z zl}P?6Efew>SLW^jo(L`*LyzU){$;@@zW^D19TtIg0ii){@@F63AnB@K^=Gmurzz$6 zhJj17ZHr5(kqrTac;@9BY7#@8EW_J?I@tRVm6Y9bKgM-o>ex<~j=tbRp)q_;OmgMN zwef0Z;~>PslNfMw>)h#6!V`eFCVFyjdm+Z>gjAhHCSl#!b921C!pm#YaYfdff0*XU z=pFJer66g|X{MxSpv4clc0Vua70?=5|0;9xcdMy=A5?~(5s}|ooo2vP!48*2k6W-q z#tWHt@}4yXL>JZ*H`WL2#@khdquwy^aAOgJnj(;E+XgoKKp^$^6z!HSMT%}SWTW^YZR^s@??AtToh_~FnMk=0q|N~nxH2CZf`&dM8(E2 z3QYl0)2?YyKm7X=14)|oQ~0DNAiYSWJ9CA@Wzs`sq?Bcmx0Tpu#$GZWt^d@Y)#Wu} zf55K7P+fMd^Y%`0Txu!(imvNk-Nn$z_t(rCp2gYdJf}umO#_xc%vGqK3QElms87j)vWn^8-K|t8${xwnqHnPuP8Ee z&3TjAP>;v9{ydU@SQs;VwXI+hT{01?U9)7U&STNXv77R>oQUHGL4t#;jF=Y5L-t?~ z;($B~xEl5z_>fF4xenqBNRioLFMouR1ap%Ao*GvfN*^_DpQ)3b4CeGqHFilB*nP9d z)G?gRPe5r@FQCS($pz44q2)=2or2h2cX#EqC}Ba|4F47)J%4%2$`APF`;{@fQ)9H` z#}WW~qOa_udve1I=`LjEJ;x`;-$n2&o?ibpUsBm6KIu-hFtXDY%1Ey zS_J%vlh6o(Y)yTiOEV0w0e&q)1EQP%IaEK-h-w*Z#a+TX_ZW`%nuG?UUZb~LxxBa5 z=U50^K(Aj5StLO*J&1hswhK~9iBJMzYs;Q4Iw`%VDuVVR$+*veVvz(rr3uG9u%eex zMe&;h?+`bcfc`U&cbKwUycp^{sxirQ=ak}kPG%#wPoj1>gKi`E9E^Tv^V!;~RN!1~ zM`9-}NG25UY_>P2?TvqO#0d!3POt>-a#O5Wpr_gw^R`6oANh{}X-?)H#ENXRkRe}M zyi07>!<;8ka^0KxFM7D_R(+3gdFY-{!cmfxb;Vm<>XKYH&8HSiH{`{5*4dRh)C*Pcc z-FH}vEb%o?Mtpi0Oy6m*8DdvGWFeiq6ubdquZ-rC>soR_zx2Wc-YY6Y?nYj#Ev)?|0vCb8?~dbE?BEMCC0ubMVQ7I!=>vW*`b zAJ>%wZ<6I%qjtPTQj8am5Be^?VvHO=!wKHddi$*I?YhH9hi@6(NF^(4*h3Cg&YfTu ziL6HtU5nr)u=QEqB*joB+Hop6w%KhVcM0kBp~B=%;Qv@}S)~n4i|`k5?u^w(n094o zYZ@4wk0~iF?O(QXH!O!~PqZNIWCxZ5cJD0$=Oc;ocM&zh+9uo~Mct!52RJ>>WPCrL z#C_u^dqF@R&gnFVuSRXg6&^AsG^VUPT}gP!!op%&6Li)d9+GyD{`SDRxj>_P_c*k* zwW-s_@{?rNe}dp}X|y&p2A~zr;fGsQzSx#&Wp3Xhf{n4Bp5@$XOI=;@coeg+QGS2# zEWVw!Yh8O~A_BY1Zn11?>2N17~^X&{wU=({z)`{13PLE0wGsnjPc<8*j zccP(>AAd5(!wNWkT?H5=$Y}125V$KhZ(XCyq`T4;=eBuwfV1rJVbfpl{o7|aYH}2P z)7I290=gGyn1zC* zccT{yXnNKZgTVm}IwMX(UJFNwklkM;No@)PMDUl7o~%^-)Q}}I1Z2}uF8_m$91~2v zzr0$^IV>S6T4#kW=O*-^HTu5Jf191PcHf>WG6lTTN}+Z|*JQ-s8NQzH3{aRXbYFQk z-IW=WS;ECoNq8acIv*)wQuCcvU%x>>zfkq+wQJd4a$b97U3!y0zxia(vr9RBw(ieY zTD@T)?*>g7;U+(I6*vT~@RdfI6d;|;jWx-%3>>}^Ssw+cNT>Sgb?`CWurpVw6$XV; z$GMHtT1}P|YA&s`vksn%#(VAWD$&AcI(h3G8zcJr`+ZxuER{yNvxNBg!p9q9R4^`c z22K2ZCymrrR#wJ=(Ph_!vgY?EDbf+}tI`ei^>3`uUZ)lTZUS5FtklDX+5vIoSD&ad zgF}>8W(fxYHGiCS&QV~0?(K2 zpJfSWD)KJEZUBr*3YoeX7n@4=OW;_kjB3u#1wm}G{cGnUXou(YW<>2ok{DWX>($lO z_LI2|0Qk_bwN|7F95mRJ9g}t?O9@n zhFnyRNiDYrv@w3lmV2Dr*N$!07~|43LtWuC-CkT(dqTfJ`nxv!V38d%=)7e6xzU-f zOaL)F`13WKPE}&kxrt;m^VJ2$|D(%fJ{6oYPEWU+k()w(pM0k_7ehIHP=*!-`_CU;3aJOMR|pVW7OlNbVrR! z9PTJ9D?eSE>7vF*G#Cu}F5*2_f}LMj&gO2P;_Oyd+~0cCo~-1su{f-=(q*)zUugXn zR}RPT6oCxTkV#N4^0|%gB1%r!mYlO3O$X|Am!>v97}%UdX_M*hY zSZYRwa)R3kb7i*l`i!jmhe*0Fz^8Jo92{;+rS9PIli+Y4UkiZOL;#eA{rdKzV%CAK`70gKn52jT zrw%HaHj0#bETAew8&?PcK%64*@XHOLfzP(xkPt+ck1^HpGhv-pAM_fh9yRH=Umrp? zgi@rxS|qu1my!j1h1`5BaejzjOiZlXnEE?L^tsns7c|Aa_r_6V=VVnA8MYn)m&x+* zLG)=DxXjj=u)}9KfH%EyN|*d*%o`rw948LgY;sF*dH}}@kb``GksY2pB_lhV6vU+q z(%O1>cXs6TTQ0KlC9_ppHAdG* z@T943fan@n$kkSLpTSTa@l~vDAKbv$V2NX*Y@L{BPoZG{u{%E7p^&Y+r7m-^%jef_ zrm;@JH29d*sXojU=R}LLO1tFGaUy3Za<)Pq$h#rt0cwrV&3jf|FxQ6jX~>Zd;GXDZDLWgTN4`^^m9YKr0fLYkzLM^{DAfy6r7@5$=hd^kvkB#-ie+}g%X z?Kv5N+$@IQ72XGOQ;3SFCd*Bf`FWm-p+54rlh&$q>{zZ58iY7b1gXBea&tAT^)@s^ zP%kzV3Wf4)Zf-g(k164Axykmff?CntUVTI3&kNo0i&i}-wT-xMG&*<%G_7R;$3k{pTpzh1>+>_qK(R7DVK-EVy9p`OSPs|uV@_rs!SGDMAS9OXvrq8gIZMX)B12>&M*g0g|;?LnE)-Khcz9GN|x06u0TWpuLI8ZgEuBU>J zNvdWw{!W4n4*4l0b{m{IXh(qG5pZ{RZ$}wQ59EmT?u|ugj733>-fnHd2H?y>2A4q? z$cFh#cuoBdmjj;Du!tXr>+pB-^SuLrXO6E=B>I<&Tc$M=h&%BL2}iAE)( zA<|h(&e@=>=`RYfRe~)1Hl1&Q^lLHkbRMLKW;fbcSjt#9hD|6gF3t**B!}DRKW4tU zJRTzF+1u2_>sv&#wMG>H!lb@e&d-VVir7{k^HD<<3EN0e%Dr@6!Rurj`?F&5L!7*# z4IZ+yAs2Op20Ua5?8ne)@Q_-3^-|>T(;pKR7uWMg&g06r_cM|)m1|!$)8f~pc;^O; zG&L`bkB{&7NY2b}5%FHe0CNA_EU$mnm%}_`%qX+Jvyy;Y;PUNZ#z;!vSmc53NiPNfgBfls7>pk$hZqYR6$_oPfo>>-gzXj}@miJO4IaBw>^vW=0zkU5hb zhab(&g)TY-&IDUD0IqdE-d{@rdC=U&goO_A>!md1xBO2e)V5P}XX%>k{v2LE2f$-j zp3wk>dr8@=#ot)-y87equTLdnhTyAHr-()%oX|UvU#0zG7&yFF%y4 zH9K9znlq~{s=Zya4Kj1~>{(k|4Y$yqlUM*rmseI;2Z&P?MV8%I1YF)tgK_jR+3Rb8 z*shi>Ksc61Lj9SwgKDQhY)=W#Iz;w`_iy-YWMuI13JIOCR^0jWxGIZn6#%p^qaO4_ zAF2FihLKV|ABAWm#CGP}Qv%WG=kPk~*_3`7ud%wf36np?eC;ePb6png@Yo?2Ax1{V zZe#vSrM=V(C6UL;69*?9fZqsX4x47-1%BhHuI__6a2dCBuB85|JsJK4(NR-J=NYTQ zOixOAmsoE%WYKe0py!IdYlpB=*+WuJ)FVpD+`GSh1UX~=pv!;_Hh92;BaK7K1#L`K zIpbz@YXd|9U7>y!+g#*Ss|HKmW#$tdp6aiuTTo6fg#}bC!kN*VVOv-^h;J zTk~Dy^_r0(zli?PYv2$#{hppxAZdfPIunB?NlHv17UU|-2G7UryPlx^ke;6YmVrmT zPPk&{LYfBBwkucR5D`RVJ^$A;Ar7)01z!7m;qTv1^op%4Io6>x?d2l#Vla;+1$rYofS0?6Ps*~m!^U!8vQjA0(|HSEk~Fq(A8-u!?V+} z;4o8N9~jApA&2T;UrvH!dvIhO4|u@?EKI{gCg_DQ_&?YySC5jsEeR_9$Cp1J`A3$2 zl;~d!g5&=%>+#m%^jJOmP~=~YmTbP1mv0<7!y$C*;?GN8y9U&sS1aex2d{(CQu hf1zD+7dyC5VNM8hOTx4<8~}fm?x^2J$v=AeKL8th87=?- literal 0 HcmV?d00001 diff --git a/usvm-python/structure.md b/usvm-python/structure.md deleted file mode 100644 index 51c5c8044f..0000000000 --- a/usvm-python/structure.md +++ /dev/null @@ -1,7 +0,0 @@ -# Communication between CPython and USVM - -![usvm_scheme](https://github.com/UnitTestBot/usvm/assets/35286460/b55c69f6-b16a-4292-81e0-ea0836409399) - -## API that is provided by patched CPython - -See [API.md](usvm-python/API.md). diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7bbb358339..75679c445d 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -465,11 +465,11 @@ public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "bool_and") - @CPythonFunction( + /*@CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter}, addToSymbolicAdapter = false - ) + )*/ public static SymbolForCPython handlerAND(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { if (left.obj == null || right.obj == null) return null; From bcdc988e7fcce5818f67f362371d9d2ae546858b Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:37:19 +0300 Subject: [PATCH 133/344] Update structure.md --- usvm-python/docs/structure.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usvm-python/docs/structure.md b/usvm-python/docs/structure.md index 6ab9ae684e..7e450d3f50 100644 --- a/usvm-python/docs/structure.md +++ b/usvm-python/docs/structure.md @@ -1,6 +1,8 @@ # Communication between CPython and USVM -![usvm_python_scheme](./usvm_python_scheme.png) +

+usvm_python_scheme +

## API that is provided by patched CPython From 2f2429bdfd1c75110fab4956fa8070f9d0ca4f85 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:59:41 +0300 Subject: [PATCH 134/344] Update API.md --- usvm-python/docs/API.md | 576 +--------------------------------------- 1 file changed, 1 insertion(+), 575 deletions(-) diff --git a/usvm-python/docs/API.md b/usvm-python/docs/API.md index 7b404cef47..7fbbe95ef4 100644 --- a/usvm-python/docs/API.md +++ b/usvm-python/docs/API.md @@ -47,578 +47,4 @@ If return value of handler is `PyObject *`: - 0 if an error has happened (exception must be set). -### instruction - -```c -int (*instruction)(void *, PyFrameObject *frame); -``` - -Notifies that a new byte code instruction is about to be executed. - -### fork_notify - -```c -int (*fork_notify)(void *, PyObject *on); -``` - -Notifies that execution is about to fork on symbolic object `on`. - -### fork_result - -```c -int (*fork_result)(void *, PyObject *on, int result); -``` - -Notifies that the result of the fork on `on` is `result`. - -### function_call - -``` -int (*function_call)(void *, PyObject *code); -``` - -Notifies that `code` is about to be executed. - -### function_return - -``` -int (*function_return)(void *, PyObject *code); -``` - -Notifies that execution is about to return from `code`. - -### unpack - -``` -int (*unpack)(void *, PyObject *iterable, int count); -``` - -Notifies that `iterable` is about to be unpacked into `count` elements on the interpreter stack. - -### load_const - -``` -PyObject *(*load_const)(void *, PyObject *obj); -``` - -Asks for symbolic representation of constant `obj`. - -### create_list - -``` -PyObject *(*create_list)(void *, PyObject **elems); -``` - -Asks for symbolic representation of list. - -`elems`: symbolic representation of contents. The array ends with `NULL`. - -### create_tuple - -```c -PyObject *(*create_tuple)(void *, PyObject **elems); -``` - -Like `create_list` but for `tuple`. - -### create_range - -```c -PyObject *(*create_range)(void *, PyObject *start, PyObject *stop, PyObject *step); -``` - -Asks for symbolic representation of `range` object. - -`start`, `stop` and `step` are symbolic representations of range parameters. - -### gt_long - -```c -PyObject *(*gt_long)(void *, PyObject *left, PyObject *right); -``` - -`>` operation on symbolic integers `left` and `right`. - -### lt_long - -```c -PyObject *(*lt_long)(void *, PyObject *left, PyObject *right); -``` - -`<` operation on symbolic integers `left` and `right`. - -### eq_long - -```c -PyObject *(*eq_long)(void *, PyObject *left, PyObject *right); -``` - -`==` operation on symbolic integers `left` and `right`. - -### ne_long - -```c -PyObject *(*ne_long)(void *, PyObject *left, PyObject *right); -``` - -`!=` operation on symbolic integers `left` and `right`. - -### le_long - -```c -PyObject *(*le_long)(void *, PyObject *left, PyObject *right); -``` - -`<=` operation on symbolic integers `left` and `right`. - -### ge_long - -```c -PyObject *(*ge_long)(void *, PyObject *left, PyObject *right); -``` - -`>=` operation on symbolic integers `left` and `right`. - -### add_long - -```c -PyObject *(*add_long)(void *, PyObject *left, PyObject *right); -``` - -`+` operation on symbolic integers `left` and `right`. - -### sub_long - -```c -PyObject *(*sub_long)(void *, PyObject *left, PyObject *right); -``` - -`-` operation on symbolic integers `left` and `right`. - -### mul_long - -```c -PyObject *(*mul_long)(void *, PyObject *left, PyObject *right); -``` - -`*` operation on symbolic integers `left` and `right`. - -### div_long - -```c -PyObject *(*div_long)(void *, PyObject *left, PyObject *right); -``` - -`//` operation on symbolic integers `left` and `right`. - -### rem_long - -```c -PyObject *(*rem_long)(void *, PyObject *left, PyObject *right); -``` - -`%` operation on symbolic integers `left` and `right`. - -### (skip) - -TODO: `pow_long`, `bool_and`. - -### list_get_item - -```c -PyObject *(*list_get_item)(void *, PyObject *storage, PyObject *index); -``` - -Operation `storage[index]` (when concrete implementation is `PyList_Type.tp_as_mapping->mp_subscript`). - -### list_set_item - -```c -int (*list_set_item)(void *, PyObject *storage, PyObject *index, PyObject *value); -``` - -Notifies about `PyList_Type.tp_as_mapping->mp_ass_subscript`. All arguments are symbolic representations. - -### list_extend - -```c -PyObject *(*list_extend)(void *, PyObject *list, PyObject *iterable); -``` - -Operation https://docs.python.org/3.11/library/dis.html#opcode-LIST_EXTEND. - -Expects resulting list as a return value. - -### list_append - -```c -PyObject *(*list_append)(void *, PyObject *list, PyObject *elem); -``` - -Operation https://docs.python.org/3.11/library/dis.html#opcode-LIST_APPEND. - -Expects resulting list as a return value. - -### list_get_size - -```c -PyObject *(*list_get_size)(void *, PyObject *list); -``` - -Asks for symbolic length of symbolic list. - -### list_iter - -```c -PyObject *(*list_iter)(void *, PyObject *list); -``` - -Operation `iter()` on a symbolic list. - -### list_iterator_next - -```c -PyObject *(*list_iterator_next)(void *, PyObject *iterator); -``` - -Operation `next()` on a symbolic list iterator (list iterator is a result of operation `iter()` on list). - -### list_concat - -```c -PyObject *(*list_concat)(void *, PyObject *, PyObject *); -``` - -`+` operation on symbolic lists. - -### list_inplace_concat - -```c -PyObject *(*list_inplace_concat)(void *, PyObject *, PyObject *); -``` - -Inplace version of `list_concat`. - -### tuple_iter - -```c -PyObject *(*tuple_iter)(void *, PyObject *tuple); -``` - -Operation `iter()` on a symbolic tuple. - -### tuple_iterator_next - -```c -PyObject *(*tuple_iterator_next)(void *, PyObject *iterator); -``` - -Operation `next()` on a symbolic tuple iterator (tuple iterator is a result of operation `iter()` on tuple). - -### range_iter - -```c -PyObject *(*range_iter)(void *, PyObject *range); -``` - -Operation `iter()` on a symbolic representation of range object. - -### range_iterator_next - -```c -PyObject *(*range_iterator_next)(void *, PyObject *iterator); -``` - -Operation `next()` on a symbolic range iterator (range iterator is a result of operation `iter()` on range object). - -### symbolic_isinstance - -```c -PyObject *(*symbolic_isinstance)(void *, PyObject *on, PyObject *type); -``` - -Asks for a symbolic result of operation `isinstance`. - -`on`: symbolic object on which the operation is performed. - -`type`: reference to concrete `PyTypeObject`. - -### nb_add - -```c -int (*nb_add)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_add` is about to be performed on symbolic objects `left` and `right`. - -### nb_subtract - -```c -int (*nb_subtract)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_subtract` is about to be performed on symbolic objects `left` and `right`. - -### nb_multiply - -```c -int (*nb_multiply)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_multiply` is about to be performed on symbolic objects `left` and `right`. - -### nb_remainder - -```c -int (*nb_remainder)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_remainder` is about to be performed on symbolic objects `left` and `right`. - -### nb_divmod - -```c -int (*nb_divmod)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_divmod` is about to be performed on symbolic objects `left` and `right`. - -### nb_bool - -```c -int (*nb_bool)(void *, PyObject *on); -``` - -Notifies that `nb_bool` is about to be performed on symbolic object `on`. - -### nb_int - -```c -int (*nb_int)(void *, PyObject *on); -``` - -Notifies that `nb_int` is about to be performed on symbolic object `on`. - -### nb_lshift - -```c -int (*nb_lshift)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_lshift` is about to be performed on symbolic objects `left` and `right`. - -### nb_rshift - -```c -int (*nb_rshift)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_rshift` is about to be performed on symbolic objects `left` and `right`. - -### nb_and - -```c -int (*nb_and)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_and` is about to be performed on symbolic objects `left` and `right`. - -### nb_xor - -```c -int (*nb_xor)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_xor` is about to be performed on symbolic objects `left` and `right`. - -### nb_or - -```c -int (*nb_or)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_or` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_add - -```c -int (*nb_inplace_add)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_add` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_subtract - -```c -int (*nb_inplace_subtract)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_subtract` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_multiply - -```c -int (*nb_inplace_multiply)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_multiply` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_remainder - -```c -int (*nb_inplace_remainder)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_remainder` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_lshift - -```c -int (*nb_inplace_lshift)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_lshift` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_rshift - -```c -int (*nb_inplace_rshift)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_rshift` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_and - -```c -int (*nb_inplace_and)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_and` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_xor - -```c -int (*nb_inplace_xor)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_xor` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_or - -```c -int (*nb_inplace_or)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_or` is about to be performed on symbolic objects `left` and `right`. - -### nb_floor_divide - -```c -int (*nb_floor_divide)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_floor_divide` is about to be performed on symbolic objects `left` and `right`. - -### nb_true_divide - -```c -int (*nb_true_divide)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_true_divide` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_floor_divide - -```c -int (*nb_inplace_floor_divide)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_floor_divide` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_true_divide - -```c -int (*nb_inplace_true_divide)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_true_divide` is about to be performed on symbolic objects `left` and `right`. - -### nb_matrix_multiply - -```c -int (*nb_matrix_multiply)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_matrix_multiply` is about to be performed on symbolic objects `left` and `right`. - -### nb_inplace_matrix_multiply - -```c -int (*nb_inplace_matrix_multiply)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `nb_inplace_matrix_multiply` is about to be performed on symbolic objects `left` and `right`. - -### sq_length - -```c -int (*sq_length)(void *, PyObject *on); -``` - -Notifies that `sq_length` is about to be performed on symbolic object `on`. - -### sq_concat - -```c -int (*sq_concat)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `sq_concat` is about to be performed on symbolic objects `left` and `right`. - -### sq_inplace_concat - -```c -int (*sq_inplace_concat)(void *, PyObject *left, PyObject *right); -``` - -Notifies that `sq_inplace_concat` is about to be performed on symbolic objects `left` and `right`. - -### mp_subscript - -```c -int (*mp_subscript)(void *, PyObject *storage, PyObject *index); -``` - -Notifies that `mp_subscript` is about to be performed on symbolic objects `storage` and `index`. - -### mp_ass_subscript - -```c -int (*mp_ass_subscript)(void *, PyObject *storage, PyObject *index, PyObject *value); -``` - -Notifies that `mp_ass_subscript` is about to be performed on symbolic objects `storage`, `index` and `value`. - -### tp_richcompare - -```c -int (*tp_richcompare)(void *, int op, PyObject *left, PyObject *right); -``` - -Notifies that `tp_richcompare` with operation `op` is about to be performed on symbolic objects `left` and `right`. - -### tp_iter - -```c -int (*tp_iter)(void *, PyObject *on); -``` - -Notifies that `tp_iter` is about to be performed on symbolic object `on`. - -### tp_iternext - -```c -int (*tp_iternext)(void *, PyObject *on); -``` - -Notifies that `tp_iternext` is about to be performed on symbolic object `on`. +For descriptions of handlers see comments in `symbolicadapter.h`. From 3be6408a9ef2903703a572722d81f5e2a1e212d7 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:07:36 +0300 Subject: [PATCH 135/344] Update API.md --- usvm-python/docs/API.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/docs/API.md b/usvm-python/docs/API.md index 7fbbe95ef4..0b88c4d909 100644 --- a/usvm-python/docs/API.md +++ b/usvm-python/docs/API.md @@ -6,7 +6,7 @@ Current CPython patch: https://github.com/tochilinak/cpython/pull/3/files. All interaction between CPython and USVM is done through structure `SymbolicAdapter`. -Header: `symbolicadapter.h`. +Header: [`symbolicadapter.h`](https://github.com/tochilinak/cpython/blob/wrapper-v2/Include/symbolicadapter.h). Creation of symbolic adapter: ```c From fc74e7e80d3fdd8f1a86d13c1dc5a467cc35002f Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 19:08:50 +0300 Subject: [PATCH 136/344] update of cpython (added docs) --- usvm-python/cpythonadapter/cpython | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 0ac192a220..6f676061b5 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 0ac192a22089c87ee4bd8b26c2959e74062eb961 +Subproject commit 6f676061b5d13adda4454454f89c2442584436a0 From 98b2cdbdb7d7900efb6bb23dbc50b499c4bbb5db Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 19:40:35 +0300 Subject: [PATCH 137/344] added list.extend method --- usvm-python/src/test/kotlin/manualTest.kt | 8 ++++---- .../test/kotlin/org/usvm/samples/ListsTest.kt | 14 +++++++++++++ .../src/test/resources/samples/Lists.py | 7 ++++++- .../org/usvm/annotations/SymbolicMethodId.kt | 3 ++- .../org/usvm/interpreter/CPythonAdapter.java | 20 +++++++++++++------ .../interpreters/operations/basic/List.kt | 6 +++--- .../operations/symbolicmethods/List.kt | 7 +++++++ 7 files changed, 50 insertions(+), 15 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 156ab439e5..2feb00cbee 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,8 +23,8 @@ import java.io.File fun main() { // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -39,8 +39,8 @@ private fun buildSampleRunConfig(): RunConfig { return 2 def f(x: list, elem): - x.insert(0, elem) - assert x[0] == 239 + x.extend([1, 2, 3]) + assert x[-1] == elem """.trimIndent() ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index d71f3e0138..4f7d3d2e89 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -387,4 +387,18 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testExtendUsage() { + check2WithConcreteRun( + constructFunction("extend_usage", listOf(typeSystem.pythonList, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { x, _, _ -> x.typeName == "list" }, + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 9550e716b3..41a4054318 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -196,4 +196,9 @@ def pop_usage_with_index(x: list): def insert_usage(x: list, elem): x.insert(0, elem) - assert x[0] == 239 \ No newline at end of file + assert x[0] == 239 + + +def extend_usage(x: list, elem): + x.extend([1, 2, 3]) + assert x[-1] == elem \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt index 1c789941fc..61378dae5f 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt @@ -8,5 +8,6 @@ enum class SymbolicMethodId( Float, ListAppend, ListInsert, - ListPop + ListPop, + ListExtend } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 75679c445d..cf2c3360e1 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -47,12 +47,6 @@ public class CPythonAdapter { public int pyGE; public int pyGT; - @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "append") - public MemberDescriptor listAppendDescriptor = new MethodDescriptor(SymbolicMethodId.ListAppend); - @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "pop") - public MemberDescriptor listPopDescriptor = new MethodDescriptor(SymbolicMethodId.ListPop); - @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "insert") - public MemberDescriptor listInsertDescriptor = new MethodDescriptor(SymbolicMethodId.ListInsert); @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "stop") @@ -952,16 +946,30 @@ public static SymbolForCPython symbolicMethodFloat(ConcolicRunContext context, @ public static SymbolForCPython symbolicMethodListAppend(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { return withTracing(context, new SymbolicMethodParameters("list_append", self, args), () -> symbolicMethodListAppendKt(context, self, args)); } + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "append") + public MemberDescriptor listAppendDescriptor = new MethodDescriptor(SymbolicMethodId.ListAppend); @CPythonAdapterJavaMethod(cName = "symbolic_method_list_insert") @SymbolicMethod(id = SymbolicMethodId.ListInsert) public static SymbolForCPython symbolicMethodListInsert(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { return withTracing(context, new SymbolicMethodParameters("list_insert", self, args), () -> symbolicMethodListInsertKt(context, self, args)); } + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "insert") + public MemberDescriptor listInsertDescriptor = new MethodDescriptor(SymbolicMethodId.ListInsert); @CPythonAdapterJavaMethod(cName = "symbolic_method_list_pop") @SymbolicMethod(id = SymbolicMethodId.ListPop) public static SymbolForCPython symbolicMethodListPop(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { return withTracing(context, new SymbolicMethodParameters("list_pop", self, args), () -> symbolicMethodListPopKt(context, self, args)); } + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "pop") + public MemberDescriptor listPopDescriptor = new MethodDescriptor(SymbolicMethodId.ListPop); + + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_extend") + @SymbolicMethod(id = SymbolicMethodId.ListExtend) + public static SymbolForCPython symbolicMethodListExtend(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("list_extend", self, args), () -> symbolicMethodListExtendKt(context, self, args)); + } + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "extend") + public MemberDescriptor listExtendDescriptor = new MethodDescriptor(SymbolicMethodId.ListExtend); } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt index fb5868262c..b35734497d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt @@ -48,12 +48,12 @@ private fun listConcat( } } -fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, iterable: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val typeSystem = ctx.typeSystem list.addSupertypeSoft(ctx, typeSystem.pythonList) - tuple.addSupertypeSoft(ctx, typeSystem.pythonTuple) - listConcat(ctx, list, tuple, list) + iterable.addSupertypeSoft(ctx, ArrayType) + listConcat(ctx, list, iterable, list) return list } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt index 15171d1764..6ca918adfb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt @@ -31,4 +31,11 @@ fun symbolicMethodListInsertKt(ctx: ConcolicRunContext, self: SymbolForCPython?, return null handlerListInsertKt(ctx, self.obj!!, args[0].obj!!, args[1].obj!!) return generateNone(ctx) +} + +fun symbolicMethodListExtendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { + if (self?.obj == null || args.size != 1 || args.first().obj == null) + return null + val result = handlerListExtendKt(ctx, self.obj!!, args.first().obj!!) + return SymbolForCPython(result, 0) } \ No newline at end of file From b77b9d4680e0c5c58973f3bb1c043f0f200de4df Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 11 Oct 2023 19:57:17 +0300 Subject: [PATCH 138/344] implemented list.clear() --- usvm-python/src/test/kotlin/manualTest.kt | 9 +++++---- .../src/test/kotlin/org/usvm/samples/ListsTest.kt | 14 ++++++++++++++ usvm-python/src/test/resources/samples/Lists.py | 8 +++++++- .../org/usvm/annotations/SymbolicMethodId.kt | 3 ++- .../java/org/usvm/interpreter/CPythonAdapter.java | 8 ++++++++ .../machine/interpreters/operations/basic/List.kt | 7 +++++++ .../operations/symbolicmethods/List.kt | 7 +++++++ 7 files changed, 50 insertions(+), 6 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 2feb00cbee..836f14fe48 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -38,14 +38,15 @@ private fun buildSampleRunConfig(): RunConfig { return 1 return 2 - def f(x: list, elem): - x.extend([1, 2, 3]) - assert x[-1] == elem + def f(x: int): + y = [1, 2, 3] + y.clear() + assert len(y) == x """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList, PythonAnyType), + listOf(typeSystem.pythonInt), "f" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 4f7d3d2e89..dbe4233628 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -401,4 +401,18 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testClearUsage() { + check1WithConcreteRun( + constructFunction("clear_usage", listOf(typeSystem.pythonInt)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 41a4054318..efef6831b8 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -201,4 +201,10 @@ def insert_usage(x: list, elem): def extend_usage(x: list, elem): x.extend([1, 2, 3]) - assert x[-1] == elem \ No newline at end of file + assert x[-1] == elem + + +def clear_usage(x: int): + y = [1, 2, 3] + y.clear() + assert len(y) == x \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt index 61378dae5f..2cd199f103 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt @@ -9,5 +9,6 @@ enum class SymbolicMethodId( ListAppend, ListInsert, ListPop, - ListExtend + ListExtend, + ListClear } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cf2c3360e1..3196ef7d95 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -972,4 +972,12 @@ public static SymbolForCPython symbolicMethodListExtend(ConcolicRunContext conte } @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "extend") public MemberDescriptor listExtendDescriptor = new MethodDescriptor(SymbolicMethodId.ListExtend); + + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_clear") + @SymbolicMethod(id = SymbolicMethodId.ListClear) + public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("list_clear", self, args), () -> symbolicMethodListClearKt(context, self, args)); + } + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "clear") + public MemberDescriptor listClearDescriptor = new MethodDescriptor(SymbolicMethodId.ListClear); } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt index b35734497d..5942a9500d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt @@ -177,4 +177,11 @@ fun handlerListInsertKt( ctx.curState!!.symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) list.writeElement(ctx, indValue, value) // to assert element constraints } +} + +fun handlerListClearKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) { + ctx.curState ?: return + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + return + ctx.curState!!.memory.writeArrayLength(list.address, ctx.ctx.mkIntNum(0), ArrayType, ctx.ctx.intSort) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt index 6ca918adfb..d02b4d2c4b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt @@ -38,4 +38,11 @@ fun symbolicMethodListExtendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, return null val result = handlerListExtendKt(ctx, self.obj!!, args.first().obj!!) return SymbolForCPython(result, 0) +} + +fun symbolicMethodListClearKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { + if (self?.obj == null || args.isNotEmpty()) + return null + handlerListClearKt(ctx, self.obj!!) + return generateNone(ctx) } \ No newline at end of file From 0e000b619f5f86ad9633db3a8a95d48bba1cee9c Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 17 Oct 2023 17:28:52 +0300 Subject: [PATCH 139/344] New approximations --- usvm-python/build.gradle.kts | 4 ++ usvm-python/cpythonadapter/cpython | 2 +- .../main/c/approximations/python_project.c | 2 + .../src/main/c/include/manual_handlers.h | 18 +++++++ .../org_usvm_interpreter_CPythonAdapter.h | 12 ++++- .../src/main/c/include/symbolic_methods.h | 4 ++ .../cpythonadapter/src/main/c/include/utils.h | 1 - .../src/main/c/manual_handlers.c | 44 +++++++++++++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 25 +++++----- .../src/main/c/symbolic_methods.c | 49 +++++++++++++++++++ usvm-python/cpythonadapter/src/main/c/utils.c | 2 + .../approximations/__init__.py | 0 .../approximations/api.py | 26 ++++++++++ .../implementations/__init__.py | 0 .../approximations/implementations/list.py | 18 +++++++ .../python_approximations.iml | 11 +++++ usvm-python/src/test/kotlin/manualTest.kt | 10 ++-- .../org/usvm/annotations/SymbolicMethod.java | 2 + .../annotations/SymbolicMethodProcessor.kt | 2 +- .../SymbolicMethodGeneration.kt | 2 +- .../usvm/annotations/ids/ApproximationId.kt | 9 ++++ .../annotations/{ => ids}/SymbolicMethodId.kt | 4 +- .../org/usvm/interpreter/CPythonAdapter.java | 30 +++++++----- .../interpreters/ConcretePythonInterpreter.kt | 35 ++++++++++++- .../interpreters/SymbolicClonesOfGlobals.kt | 2 +- .../descriptors/ApproximationDescriptor.kt | 15 ++++++ .../descriptors/MethodDescriptor.kt | 4 +- .../statistics/PythonStatisticsCollector.kt | 5 ++ 28 files changed, 295 insertions(+), 43 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/python_project.c create mode 100644 usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h create mode 100644 usvm-python/cpythonadapter/src/main/c/manual_handlers.c create mode 100644 usvm-python/python_approximations/approximations/__init__.py create mode 100644 usvm-python/python_approximations/approximations/api.py create mode 100644 usvm-python/python_approximations/approximations/implementations/__init__.py create mode 100644 usvm-python/python_approximations/approximations/implementations/list.py create mode 100644 usvm-python/python_approximations/python_approximations.iml create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt rename usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/{ => ids}/SymbolicMethodId.kt (63%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index f701be74c0..74a90ad89a 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -28,10 +28,12 @@ dependencies { val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) val samplesSourceDir = File(projectDir, "src/test/resources/samples") +val approximationsDir = File(projectDir, "python_approximations") val samplesBuildDir = File(project.buildDir, "samples_build") val commonJVMArgs = listOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", + "-Dapproximations.path=${approximationsDir.canonicalPath}", "-Xss50m" ) @@ -105,6 +107,7 @@ tasks.register("manualTestDebugNoLogs") { group = "run" registerCpython(this, debug = true) dependsOn(buildSamples) + maxHeapSize = "2G" if (!isWindows) { registerCpython(this, debug = true) jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml") //, "-Xcheck:jni") @@ -129,6 +132,7 @@ tasks.register("manualTestRelease") { */ tasks.test { + maxHeapSize = "2G" val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() if (!isWindows) { diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 6f676061b5..6692d67270 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 6f676061b5d13adda4454454f89c2442584436a0 +Subproject commit 6692d6727028fdc8b6664d5000aae7c5f03aeb8f diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c b/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c new file mode 100644 index 0000000000..0650e3a22a --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c @@ -0,0 +1,2 @@ +#include "approximations.h" + diff --git a/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h new file mode 100644 index 0000000000..20f473d667 --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h @@ -0,0 +1,18 @@ +#ifndef _Included_CPythonAdapter_manual_handlers +#define _Included_CPythonAdapter_manual_handlers +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "Python.h" + +PyObject *handler_symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs); +int handler_is_pycfunction_with_approximation(void *ctx_raw, PyObject *self); +PyObject *handler_approximate_pycfunction_call(void *ctx_raw, int *approximated, PyObject *callable, PyObject *self, PyObject *args, PyObject *kwargs); +PyObject *handler_extract_symbolic_self_from_pycfunction(void *ctx_raw, PyObject *callable); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index b097212bb9..a6b8fac45e 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -145,10 +145,10 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFr /* * Class: org_usvm_interpreter_CPythonAdapter - * Method: getFunctionFromFrame + * Method: getCodeFromFrame * Signature: (J)J */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getFunctionFromFrame +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getCodeFromFrame (JNIEnv *, jclass, jlong); /* @@ -359,6 +359,14 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedSymbolicMethod (JNIEnv *, jobject, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: constructApproximation + * Signature: (Lorg/usvm/language/SymbolForCPython;J)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation + (JNIEnv *, jobject, jobject, jlong); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 97a8b809f3..84a6b133c6 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -15,11 +15,15 @@ typedef PyObject *(*call_type)(void *ctx, jobject self_reference, PyObject *args typedef struct { call_type call; jobject self_reference; + PyObject *approximation_check_ref; + PyObject *approximation_run_ref; } SymbolicMethod; void clean_methods(); SymbolicMethod *construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call); +SymbolicMethod *construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref); PyObject *call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs); +PyObject *approximate_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, int *approximated, PyObject *wrapped_self, PyObject *args, PyObject *kwargs); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 650f736e8e..6c230de33e 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -14,7 +14,6 @@ extern "C" { typedef struct { PyObject_HEAD jobject reference; // global - // JNIEnv *env; } JavaPythonObject; void initialize_java_python_type(); diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c new file mode 100644 index 0000000000..ed712c3a3b --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -0,0 +1,44 @@ +#include "manual_handlers.h" +#include "symbolic_methods.h" + +static SymbolicMethod * +extract_symbolic_method(ConcolicContext *ctx, PyObject *py_symbol) { + if (!is_wrapped_java_object(py_symbol)) + return 0; + jobject symbol = ((JavaPythonObject *) py_symbol)->reference; + jlong ref = (*ctx->env)->GetLongField(ctx->env, symbol, ctx->symbol_tp_call_ref); + return (SymbolicMethod *) ref; +} + +PyObject * +handler_symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs) { + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + SymbolicMethod *method = extract_symbolic_method(ctx, self); + if (!method || !method->call) + return Py_None; + return call_symbolic_method(method, ctx, args, kwargs); +} + +int +handler_is_pycfunction_with_approximation(void *ctx_raw, PyObject *self) { + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + SymbolicMethod *method = extract_symbolic_method(ctx, self); + return method && method->approximation_check_ref && method->approximation_run_ref; +} + +PyObject * +handler_approximate_pycfunction_call(void *ctx_raw, int *approximated, PyObject *callable, PyObject *self, PyObject *args, PyObject *kwargs) { + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + SymbolicMethod *method = extract_symbolic_method(ctx, callable); + assert(method); + return approximate_symbolic_method(method, ctx, approximated, self, args, kwargs); +} + +PyObject * +handler_extract_symbolic_self_from_pycfunction(void *ctx_raw, PyObject *callable) { + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + SymbolicMethod *method = extract_symbolic_method(ctx, callable); + if (!method || !method->self_reference) + return Py_None; + return wrap_java_object(ctx->env, method->self_reference); +} \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index c6beba3d84..ae43408b55 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -7,6 +7,7 @@ #include "approximations.h" #include "descriptors.h" #include "symbolic_methods.h" +#include "manual_handlers.h" #include "CPythonFunctions.h" // generated #include "SymbolicMethods.h" // generated @@ -192,18 +193,6 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFu return (jlong) result; } -static PyObject * -symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs) { - ConcolicContext *ctx = (ConcolicContext *) ctx_raw; - if (!is_wrapped_java_object(self)) - return Py_None; - jobject symbol = ((JavaPythonObject *) self)->reference; - jlong ref = (*ctx->env)->GetLongField(ctx->env, symbol, ctx->symbol_tp_call_ref); - if (ref == 0) - return Py_None; - return call_symbolic_method((SymbolicMethod *) ref, ctx, args, kwargs); -} - JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( JNIEnv *env, jobject cpython_adapter, @@ -228,7 +217,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( ctx.adapter = adapter; register_virtual_methods(adapter); REGISTER_ADAPTER_METHODS(adapter); - adapter->symbolic_tp_call = symbolic_tp_call; + adapter->symbolic_tp_call = handler_symbolic_tp_call; + adapter->is_pycfunction_with_approximation = handler_is_pycfunction_with_approximation; + adapter->approximate_pycfunction_call = handler_approximate_pycfunction_call; + adapter->extract_symbolic_self_from_pycfunction = handler_extract_symbolic_self_from_pycfunction; register_approximations(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); @@ -340,7 +332,7 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFr return take_instruction_from_frame((PyFrameObject *) frame_ref); } -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getFunctionFromFrame(JNIEnv *env, jclass _, jlong frame_ref) { +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getCodeFromFrame(JNIEnv *env, jclass _, jlong frame_ref) { assert(PyFrame_Check(frame_ref)); return (jlong) PyFrame_GetCode((PyFrameObject *) frame_ref); } @@ -500,4 +492,9 @@ JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDe JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedSymbolicMethod(JNIEnv *env, jobject _, jobject self, jlong method_ref) { assert(method_ref); return (jlong) construct_symbolic_method_with_self(env, self, (call_type) method_ref); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation(JNIEnv *env, jobject _, jobject self, jlong approximation_ref) { + assert(approximation_ref); + return (jlong) construct_approximation(env, self, (PyObject *) approximation_ref); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index d8ae51b14f..c757d9a99a 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -1,3 +1,5 @@ +#include + #include "symbolic_methods.h" #include "utils.h" #include "approximations.h" @@ -25,13 +27,60 @@ construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_typ SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); result->call = call; result->self_reference = create_global_ref(env, symbolic_self); + result->approximation_check_ref = 0; + result->approximation_run_ref = 0; + add_ref_to_list(&methods_holder, result); + return result; +} + +SymbolicMethod * +construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref) { + assert(PyType_Check(approximation_ref)); + PyObject *check_ref = PyObject_GetAttrString(approximation_ref, "accept"); + assert(check_ref && !PyErr_Occurred()); + PyObject *run_ref = PyObject_GetAttrString(approximation_ref, "run"); + assert(run_ref && !PyErr_Occurred()); + SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); + result->call = 0; + result->self_reference = create_global_ref(env, symbolic_self); + result->approximation_check_ref = check_ref; + result->approximation_run_ref = run_ref; add_ref_to_list(&methods_holder, result); return result; } PyObject * call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs) { + assert(method->call); if (kwargs) return Py_None; // TODO return method->call(ctx, method->self_reference, args); +} + +PyObject * +approximate_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, int *approximated, PyObject *wrapped_self, PyObject *args, PyObject *kwargs) { + assert(method->approximation_check_ref && method->approximation_run_ref); + assert(PyFunction_Check(method->approximation_check_ref) && PyFunction_Check(method->approximation_run_ref)); + assert((method->self_reference == 0) == (wrapped_self == 0)); + if (kwargs) { // TODO + *approximated = 0; + return Py_None; + } + PyObject *full_args = 0; + if (wrapped_self) { + PyObject *self = PyTuple_Pack(1, wrapped_self); + full_args = PySequence_Concat(self, args); + Py_DECREF(self); + } else { + full_args = args; + } + PyObject *accepts = PyFunction_Type.tp_call(method->approximation_check_ref, full_args, 0); + assert(accepts == Py_False || accepts == Py_True); + if (accepts == Py_False) { + *approximated = 0; + return Py_None; + } + register_symbolic_tracing(method->approximation_run_ref, ctx->adapter); + *approximated = 1; + return PyFunction_Type.tp_call(method->approximation_run_ref, full_args, 0); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 0efc0bcbd8..bdfd3a5b43 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -262,6 +262,8 @@ RefHolderNode *global_ref_holder = &global_ref_root; jobject create_global_ref(JNIEnv *env, jobject local_ref) { + if (!local_ref) + return 0; jobject result = (*env)->NewGlobalRef(env, local_ref); add_ref_to_list(&global_ref_holder, result); return result; diff --git a/usvm-python/python_approximations/approximations/__init__.py b/usvm-python/python_approximations/approximations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/usvm-python/python_approximations/approximations/api.py b/usvm-python/python_approximations/approximations/api.py new file mode 100644 index 0000000000..a26977a4e7 --- /dev/null +++ b/usvm-python/python_approximations/approximations/api.py @@ -0,0 +1,26 @@ +from abc import ABC, abstractmethod +from typing import Any + + +class ApproximationForMethod(ABC): + @staticmethod + @abstractmethod + def accept(self, *args) -> bool: # TODO: support kwargs + ... + + @staticmethod + @abstractmethod + def run(self, *args) -> Any: # TODO: support kwargs + ... + + +class ApproximationForFunction(ABC): + @staticmethod + @abstractmethod + def accept(*args) -> bool: # TODO: support kwargs + ... + + @staticmethod + @abstractmethod + def run(*args) -> Any: # TODO: support kwargs + ... diff --git a/usvm-python/python_approximations/approximations/implementations/__init__.py b/usvm-python/python_approximations/approximations/implementations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/usvm-python/python_approximations/approximations/implementations/list.py b/usvm-python/python_approximations/approximations/implementations/list.py new file mode 100644 index 0000000000..6c2ef3eea2 --- /dev/null +++ b/usvm-python/python_approximations/approximations/implementations/list.py @@ -0,0 +1,18 @@ +from typing import Any + +from approximations.api import ApproximationForMethod + + +# TODO: optional arguments +class IndexApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: list, *args) -> Any: + target = args[0] + for i in range(len(self)): + if self[i] == target: + return i + raise ValueError() diff --git a/usvm-python/python_approximations/python_approximations.iml b/usvm-python/python_approximations/python_approximations.iml new file mode 100644 index 0000000000..68229bb89d --- /dev/null +++ b/usvm-python/python_approximations/python_approximations.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 836f14fe48..1df1d37154 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -38,15 +38,15 @@ private fun buildSampleRunConfig(): RunConfig { return 1 return 2 - def f(x: int): - y = [1, 2, 3] - y.clear() - assert len(y) == x + def f(x: list): + if x.index(0) == 1: + return 1 + return 2 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), + listOf(typeSystem.pythonList), "f" ) val functions = listOf(function) diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java index 0bc4eecec7..b003908472 100644 --- a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/SymbolicMethod.java @@ -1,5 +1,7 @@ package org.usvm.annotations; +import org.usvm.annotations.ids.SymbolicMethodId; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index 89adeac859..a8587f3f6c 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -1,8 +1,8 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.generateMethodCheck import org.usvm.annotations.codegeneration.generateSymbolicMethod import org.usvm.annotations.codegeneration.generateSymbolicMethodInitialization +import org.usvm.annotations.ids.SymbolicMethodId import java.io.File import javax.annotation.processing.* import javax.lang.model.SourceVersion diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index 1e4368191e..cbe781d54b 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -1,6 +1,6 @@ package org.usvm.annotations.codegeneration -import org.usvm.annotations.SymbolicMethodId +import org.usvm.annotations.ids.SymbolicMethodId fun generateSymbolicMethod(id: SymbolicMethodId): String { val cpythonFunctionInfo = CPythonFunctionDescription( diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt new file mode 100644 index 0000000000..2ebbe74f0b --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt @@ -0,0 +1,9 @@ +package org.usvm.annotations.ids + +enum class ApproximationId( + val pythonModule: String, + val pythonName: String, + var cRef: Long = 0L // will be set during Python initialization +) { + ListIndex("approximations.implementations.list", "IndexApproximation") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt similarity index 63% rename from usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt rename to usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt index 2cd199f103..b53631ecee 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt @@ -1,7 +1,7 @@ -package org.usvm.annotations +package org.usvm.annotations.ids enum class SymbolicMethodId( - var cName: String? = null, // will be set based on annotation CPythonAdapterJavaMethod + var cName: String? = null, // will be set based on @CPythonAdapterJavaMethod var cRef: Long = 0L // will be set in native code during Python initialization ) { Int, diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3196ef7d95..7eb08896cb 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -6,6 +6,8 @@ import org.usvm.annotations.*; import org.usvm.annotations.codegeneration.CType; import org.usvm.annotations.codegeneration.ObjectConverter; +import org.usvm.annotations.ids.SymbolicMethodId; +import org.usvm.annotations.ids.ApproximationId; import org.usvm.language.*; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.PythonObject; @@ -47,13 +49,6 @@ public class CPythonAdapter { public int pyGE; public int pyGT; - @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") - public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; - @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "stop") - public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; - @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "step") - public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; - public native void initializePython(String pythonHome); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict @@ -71,7 +66,7 @@ public class CPythonAdapter { public native long getPythonObjectType(long object); public native String getNameOfPythonType(long type); public static native int getInstructionFromFrame(long frameRef); - public static native long getFunctionFromFrame(long frameRef); + public static native long getCodeFromFrame(long frameRef); public native long allocateVirtualObject(VirtualPythonObject object); public native long makeList(long[] elements); public native long allocateTuple(int size); @@ -99,6 +94,7 @@ public class CPythonAdapter { @Nullable public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); public native long constructPartiallyAppliedSymbolicMethod(SymbolForCPython self, long methodRef); + public native long constructApproximation(SymbolForCPython self, long approximationRef); static { System.loadLibrary("cpythonadapter"); } @@ -111,9 +107,9 @@ public class CPythonAdapter { public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); - long functionRef = getFunctionFromFrame(frameRef); - PythonObject function = new PythonObject(functionRef); - withTracing(context, new NextInstruction(new PythonInstruction(instruction), function), () -> Unit.INSTANCE); + long codeRef = getCodeFromFrame(frameRef); + PythonObject code = new PythonObject(codeRef); + withTracing(context, new NextInstruction(new PythonInstruction(instruction), code), () -> Unit.INSTANCE); } private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { @@ -980,4 +976,16 @@ public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext contex } @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "clear") public MemberDescriptor listClearDescriptor = new MethodDescriptor(SymbolicMethodId.ListClear); + + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "index") + public MemberDescriptor listIndexDescriptor = new ApproximationDescriptor(ApproximationId.ListIndex); + + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") + public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; + + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "stop") + public MemberDescriptor sliceStopDescriptor = SliceStopDescriptor.INSTANCE; + + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "step") + public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index ad72592df5..cdfe0932f2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -1,12 +1,14 @@ package org.usvm.machine.interpreters -import org.usvm.annotations.SymbolicMethodId +import org.usvm.annotations.ids.ApproximationId +import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.utils.withAdditionalPaths +import java.io.File @Suppress("unused") object ConcretePythonInterpreter { @@ -195,6 +197,12 @@ object ConcretePythonInterpreter { return SymbolForCPython(null, ref) } + fun constructApproximation(self: SymbolForCPython?, id: ApproximationId): SymbolForCPython { + val ref = pythonAdapter.constructApproximation(self, id.cRef) + require(ref != 0L) + return SymbolForCPython(null, ref) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) @@ -227,6 +235,21 @@ object ConcretePythonInterpreter { SymbolicClonesOfGlobals.restart() } + private val approximationsPath = System.getProperty("approximations.path") ?: error("approximations.path not specified") + + private fun initializeMethodApproximations() { + withAdditionalPaths(listOf(File(approximationsPath)), null) { + ApproximationId.values().forEach { + val namespace = getNewNamespace() + concreteRun(namespace, "import ${it.pythonModule}") + val ref = eval(namespace, "${it.pythonModule}.${it.pythonName}") + it.cRef = ref.address + incref(ref) + decref(namespace) + } + } + } + private fun initialize() { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") pythonAdapter.initializePython(pythonHome) @@ -256,6 +279,7 @@ object ConcretePythonInterpreter { throw CPythonExecutionException() pythonAdapter.decref(namespace) emptyNamespace = getNewNamespace() + initializeMethodApproximations() } lateinit var initialSysPath: PythonObject @@ -274,10 +298,17 @@ object ConcretePythonInterpreter { } fun printIdInfo() { // for debugging + println("SymbolicMethodId:") SymbolicMethodId.values().forEach { println(it) println(it.cRef) } + println() + println("ApproximationId:") + ApproximationId.values().forEach { + println(it) + println(it.cRef) + } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 2062d6fd27..2e921f3ede 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters -import org.usvm.annotations.SymbolicMethodId +import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.language.NamedSymbolForCPython import org.usvm.language.SymbolForCPython diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt new file mode 100644 index 0000000000..c842ea8bf7 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt @@ -0,0 +1,15 @@ +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.annotations.ids.ApproximationId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +class ApproximationDescriptor(private val id: ApproximationId): MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + System.out.flush() + return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt index c45076313d..d206691c83 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters.operations.descriptors -import org.usvm.annotations.SymbolicMethodId +import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython @@ -9,6 +9,6 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject class MethodDescriptor(private val id: SymbolicMethodId): MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(SymbolForCPython(owner, 0), id) + return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(owner?.let { SymbolForCPython(it, 0) }, id) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt new file mode 100644 index 0000000000..e3e12b91bc --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt @@ -0,0 +1,5 @@ +package org.usvm.machine.statistics + +abstract class PythonStatisticsCollector { + abstract fun enterFunction() +} \ No newline at end of file From 403b00189eb354ca7fbdd71101a218d4f3f19b51 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 18 Oct 2023 15:08:11 +0300 Subject: [PATCH 140/344] Fixed some bugs; some new tests --- .../kotlin/org/usvm/ps/PathSelectorFactory.kt | 2 +- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/list.c | 4 +-- usvm-python/src/test/kotlin/manualTest.kt | 29 ++++++++++++------- .../test/kotlin/org/usvm/samples/ListsTest.kt | 17 +++++++++++ .../kotlin/org/usvm/samples/SlicesTest.kt | 14 +++++++++ .../test/kotlin/org/usvm/samples/TupleTest.kt | 2 +- .../src/test/resources/samples/Lists.py | 8 ++++- .../src/test/resources/samples/Slices.py | 8 ++++- .../org/usvm/language/types/VirtualTypes.kt | 24 ++++++++++++++- .../kotlin/org/usvm/machine/PythonMachine.kt | 16 +++++++++- .../symbolicobjects/SymbolicPythonObject.kt | 8 +++-- .../machine/utils/DefaultValueProvider.kt | 18 +++++++++--- 13 files changed, 125 insertions(+), 27 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/ps/PathSelectorFactory.kt b/usvm-core/src/main/kotlin/org/usvm/ps/PathSelectorFactory.kt index b8c84e2a93..2f4c528063 100644 --- a/usvm-core/src/main/kotlin/org/usvm/ps/PathSelectorFactory.kt +++ b/usvm-core/src/main/kotlin/org/usvm/ps/PathSelectorFactory.kt @@ -333,7 +333,7 @@ private fun > createForkDepthPathSelector( +fun > createForkDepthPathSelector( random: Random? = null, ): UPathSelector { if (random == null) { diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 6692d67270..8957d428e9 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 6692d6727028fdc8b6664d5000aae7c5f03aeb8f +Subproject commit 8957d428e94d5a7eb5bc73119eac2538130da5f4 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 8805470c65..4725ac3228 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -92,10 +92,10 @@ PyObject *slice_adjust_indices = 0; " if slicelength <= 0: \n"\ " return [] \n"\ " else: \n"\ - " result = [None] * slicelength \n"\ + " result = [] \n"\ " cur = start \n"\ " for i in range(slicelength): \n"\ - " result[i] = self[cur] \n"\ + " result.append(self[cur]) \n"\ " cur += step \n"\ " return result \n" diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 1df1d37154..6cbe9ae92b 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -14,6 +14,7 @@ import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.usvm.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.general.FunctionType import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.buildMypyInfo import org.utbot.python.newtyping.mypy.readMypyInfoBuild @@ -23,8 +24,8 @@ import java.io.File fun main() { // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -38,10 +39,11 @@ private fun buildSampleRunConfig(): RunConfig { return 1 return 2 - def f(x: list): - if x.index(0) == 1: - return 1 - return 2 + def f(sequence: list): + if any(not isinstance(x, int) for x in sequence): + raise TypeError("1") + if any(x < 0 for x in sequence): + raise TypeError("2") """.trimIndent() ) @@ -60,7 +62,7 @@ private fun buildSampleRunConfig(): RunConfig { */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\sorts" + val projectPath = "D:\\projects\\Python\\dynamic_programming" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -93,11 +95,16 @@ private fun buildProjectRunConfig(): RunConfig { return@mapNotNull null if (ignoreFunctions.contains(functionName)) return@mapNotNull null - // if (functionName != "bitonic_sort") + // if (functionName != "bead_sort") // return@mapNotNull null + if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + return@mapNotNull null println("$module.$functionName: ${type.pythonTypeRepresentation()}") + val callableType = type as FunctionType PythonUnpinnedCallable.constructCallableFromName( - List(description.numberOfArguments) { PythonAnyType }, + callableType.arguments.map { + SupportsTypeHint(it, typeSystem) + }, functionName, module ) @@ -148,8 +155,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 70, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 5_000, - timeoutMs = 20_000 + timeoutPerRunMs = 4_000, + timeoutMs = 40_000 ) results.forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index dbe4233628..2818416ca4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -415,4 +415,21 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testIndexUsage() { + allowPathDiversions = true + check1WithConcreteRun( + constructFunction("index_usage", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "ValueError" }, + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" } + ) + ) + allowPathDiversions = false + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index e0db4f720a..809e25629f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -89,4 +89,18 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions options = oldOptions allowPathDiversions = false } + + @Test + fun testElementConstraintsSample() { + check1WithConcreteRun( + constructFunction("element_constraints_sample", List(1) { typeSystem.pythonList }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf ( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.typeName == "list" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index 9a51b6b069..257658e786 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -39,7 +39,7 @@ class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(st @Test fun testInputListOfPairs() { val oldOptions = options - options = UMachineOptions(stepLimit = 30U) + options = UMachineOptions(stepLimit = 50U) timeoutPerRunMs = 2000 check1WithConcreteRun( constructFunction("input_list_of_pairs", listOf(PythonAnyType)), diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index efef6831b8..0d2086c4a0 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -207,4 +207,10 @@ def extend_usage(x: list, elem): def clear_usage(x: int): y = [1, 2, 3] y.clear() - assert len(y) == x \ No newline at end of file + assert len(y) == x + + +def index_usage(x: list): + if x.index(0) == 1: + return 1 + return 2 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Slices.py b/usvm-python/src/test/resources/samples/Slices.py index d45ea5671f..f10be9b927 100644 --- a/usvm-python/src/test/resources/samples/Slices.py +++ b/usvm-python/src/test/resources/samples/Slices.py @@ -44,4 +44,10 @@ def slice_usages(x: int, y: int, z: int): lst = [] for i in range(size): lst.append(i) - return lst[x:y:z] \ No newline at end of file + return lst[x:y:z] + + +def element_constraints_sample(sequence: list): + for x in sequence: + assert isinstance(x, int) + return sequence[:-1] diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 191b528adf..fd5ce7bff7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -1,6 +1,10 @@ package org.usvm.language.types import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.utbot.python.newtyping.PythonAnyTypeDescription +import org.utbot.python.newtyping.PythonSubtypeChecker +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.pythonDescription object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true @@ -24,7 +28,7 @@ class HasElementConstraint(private val constraint: ElementConstraint): VirtualPy class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { - if (type is MockType) + if (type is MockType || type == this) return true if (type !is ConcretePythonType) return false @@ -32,6 +36,24 @@ class ConcreteTypeNegation(private val concreteType: ConcretePythonType): Virtua } } +class SupportsTypeHint( + private val typeHint: UtType, + private val typeSystem: PythonTypeSystemWithMypyInfo +): VirtualPythonType() { + override fun accepts(type: PythonType): Boolean { + if (typeHint.pythonDescription() is PythonAnyTypeDescription || type == this) + return true + if (type !is ConcretePythonType) + return false + val correspondingTypeHint = typeSystem.typeHintOfConcreteType(type) ?: return false + return PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft( + typeHint, + correspondingTypeHint, + typeSystem.typeHintsStorage + ) + } +} + sealed class TypeProtocol: VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index c77501ba7f..8cec32303b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -7,15 +7,18 @@ import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemory import org.usvm.ps.DfsPathSelector +import org.usvm.ps.createForkDepthPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver import org.usvm.utils.PythonObjectSerializer +import kotlin.random.Random class PythonMachine( private val program: PythonProgram, @@ -24,6 +27,7 @@ class PythonMachine( private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) + private val random = Random(0) val statistics = PythonMachineStatistics() private fun getInterpreter( @@ -81,7 +85,17 @@ class PythonMachine( } private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { - val ps = PythonVirtualPathSelector(ctx, typeSystem, DfsPathSelector(), DfsPathSelector(), DfsPathSelector()) + val pathSelectorCreation = { + DfsPathSelector() + // createForkDepthPathSelector, PythonExecutionState>(random) + } + val ps = PythonVirtualPathSelector( + ctx, + typeSystem, + pathSelectorCreation(), + pathSelectorCreation(), + pathSelectorCreation(), + ) val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index c9b27f2c38..c66b6b000b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -124,10 +124,12 @@ class UninterpretedSymbolicPythonObject( require(ctx.curState != null) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) - val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> - ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) + if (!isAllocatedObject(ctx)) { + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) + } + myAssert(ctx, cond) } - myAssert(ctx, cond) ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index e16458e83b..87ca617960 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -7,16 +7,26 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { fun provide(type: PythonType): PythonObject { - require(typeSystem.isInstantiable(type)) + require(type is ConcretePythonType) return when (type) { typeSystem.pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") typeSystem.pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") - typeSystem.pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") + typeSystem.pythonFloat -> ConcretePythonInterpreter.eval(emptyNamespace, "0.0") typeSystem.pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - typeSystem.pythonFloat -> ConcretePythonInterpreter.eval(emptyNamespace, "0.0") - else -> TODO() + typeSystem.pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") + typeSystem.pythonTuple -> ConcretePythonInterpreter.eval(emptyNamespace, "tuple()") + typeSystem.pythonStr -> ConcretePythonInterpreter.eval(emptyNamespace, "''") + typeSystem.pythonSlice -> ConcretePythonInterpreter.eval(emptyNamespace, "slice(0, 1, 1)") + else -> { + val ref = typeSystem.addressOfConcreteType(type) + if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { + ConcretePythonInterpreter.callStandardNew(ref) + } else { + error("DefaultValueProvider for type $type is not implemented") + } + } } } } \ No newline at end of file From a3651095fe8f12ea77e9a6220fe4d3ebedd24fa0 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 18 Oct 2023 16:58:26 +0300 Subject: [PATCH 141/344] Added list.reverse(); refactored some old approximations --- .../src/main/c/approximations/list.c | 109 +++------------- .../org_usvm_interpreter_CPythonAdapter.h | 8 ++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +- .../approximations/api.py | 56 ++++---- .../approximations/implementations/list.py | 123 +++++++++++++++--- .../python_approximations.iml | 20 +-- .../test/kotlin/org/usvm/samples/ListsTest.kt | 19 +++ .../src/test/resources/samples/Lists.py | 13 +- .../usvm/annotations/ids/ApproximationId.kt | 3 +- .../org/usvm/interpreter/CPythonAdapter.java | 4 + .../interpreters/ConcretePythonInterpreter.kt | 1 + 11 files changed, 211 insertions(+), 150 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/list.c b/usvm-python/cpythonadapter/src/main/c/approximations/list.c index 4725ac3228..2126d6ef1b 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/list.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/list.c @@ -29,77 +29,13 @@ PyObject *list_richcompare_ne = 0; PyObject *list_richcompare_le = 0; PyObject *list_richcompare_ge = 0; -#define list_multiply_impl \ - "def list_multiply_impl(x, y): \n" \ - " result = [] \n" \ - " for _ in range(y): \n" \ - " result += x \n" \ - " return result \n" - -PyObject *list_multiply = 0; - -#define slice_unpack_impl \ - "def slice_unpack_impl(s: slice): \n"\ - " start, stop, step = None, None, None \n"\ - " min_, max_ = -10**18, 10**18 \n"\ - " if s.step is None: \n"\ - " step = 1 \n"\ - " else: \n"\ - " step = s.step \n"\ - " if step == 0: \n"\ - " raise ValueError('slice step cannot be zero') \n"\ - " if s.start is None: \n"\ - " start = max_ if step < 0 else 0 \n"\ - " else: \n"\ - " start = s.start \n"\ - " if s.stop is None: \n"\ - " stop = min_ if step < 0 else max_\n"\ - " else: \n"\ - " stop = s.stop \n"\ - " return start, stop, step \n" - -PyObject *slice_unpack = 0; - -#define slice_adjust_indices_impl \ - "def slice_adjust_indices_impl(length, start, stop, step): \n"\ - " result_length = 0 \n"\ - " if start < 0: \n"\ - " start += length \n"\ - " if start < 0: \n"\ - " start = -1 if step < 0 else 0 \n"\ - " elif start >= length: \n"\ - " start = length - 1 if step < 0 else length \n"\ - " if stop < 0: \n"\ - " stop += length \n"\ - " if stop < 0: \n"\ - " stop = -1 if step < 0 else 0 \n"\ - " elif stop >= length: \n"\ - " stop = length - 1 if step < 0 else length \n"\ - " if step < 0: \n"\ - " if stop < start: \n"\ - " result_length = (start - stop - 1) // (-step) + 1; \n"\ - " else: \n"\ - " if start < stop: \n"\ - " result_length = (stop - start - 1) // step + 1 \n"\ - " return result_length, start, stop, step \n" - -PyObject *slice_adjust_indices = 0; - -#define slice_get_item_impl \ - "def slice_get_item_impl(self: list, item: slice): \n"\ - " start, stop, step = slice_unpack_impl(item) \n"\ - " slicelength, start, stop, step = slice_adjust_indices_impl(len(self), start, stop, step) \n"\ - " if slicelength <= 0: \n"\ - " return [] \n"\ - " else: \n"\ - " result = [] \n"\ - " cur = start \n"\ - " for i in range(slicelength): \n"\ - " result.append(self[cur]) \n"\ - " cur += step \n"\ - " return result \n" - -PyObject *slice_get_item = 0; +#define list_approximation_module "approximations.implementations.list" + +#define list_multiply_name "MultiplyApproximation" +PyObject *list_multiply_run = 0; + +#define slice_get_item_name "SliceGetItemApproximation" +PyObject *slice_get_item_run = 0; void initialize_list_python_impls() { @@ -141,29 +77,16 @@ initialize_list_python_impls() { assert(!PyErr_Occurred() && list_richcompare_ge); Py_INCREF(list_richcompare_ge); - PyRun_StringFlags(list_multiply_impl, Py_file_input, globals, globals, 0); - assert(!PyErr_Occurred()); - list_multiply = PyRun_StringFlags("list_multiply_impl", Py_eval_input, globals, globals, 0); - assert(!PyErr_Occurred() && list_multiply); - Py_INCREF(list_multiply); - - PyRun_StringFlags(slice_unpack_impl, Py_file_input, globals, globals, 0); + PyRun_StringFlags("import " list_approximation_module, Py_file_input, globals, globals, 0); assert(!PyErr_Occurred()); - slice_unpack = PyRun_StringFlags("slice_unpack_impl", Py_eval_input, globals, globals, 0); - assert(!PyErr_Occurred() && slice_unpack); - Py_INCREF(slice_unpack); - PyRun_StringFlags(slice_adjust_indices_impl, Py_file_input, globals, globals, 0); - assert(!PyErr_Occurred()); - slice_adjust_indices = PyRun_StringFlags("slice_adjust_indices_impl", Py_eval_input, globals, globals, 0); - assert(!PyErr_Occurred() && slice_adjust_indices); - Py_INCREF(slice_adjust_indices); + list_multiply_run = PyRun_StringFlags(list_approximation_module "." list_multiply_name ".run", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && list_multiply_run); + Py_INCREF(list_multiply_run); - PyRun_StringFlags(slice_get_item_impl, Py_file_input, globals, globals, 0); - assert(!PyErr_Occurred()); - slice_get_item = PyRun_StringFlags("slice_get_item_impl", Py_eval_input, globals, globals, 0); - assert(!PyErr_Occurred() && slice_get_item); - Py_INCREF(slice_get_item); + slice_get_item_run = PyRun_StringFlags(list_approximation_module "." slice_get_item_name ".run", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && slice_get_item_run); + Py_INCREF(slice_get_item_run); Py_DECREF(globals); } @@ -210,7 +133,7 @@ Approximation_list_repeat(PyObject *self, PyObject *n) { return 0; if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(n))) return 0; - PyObject *wrapped = wrap(list_multiply, Py_None, adapter); + PyObject *wrapped = wrap(list_multiply_run, Py_None, adapter); PyObject *args = PyTuple_Pack(2, self, n); PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); Py_DECREF(args); @@ -225,7 +148,7 @@ Approximation_list_slice_get_item(PyObject *self, PyObject *slice) { return 0; if (adapter->fixate_type(adapter->handler_param, get_symbolic_or_none(slice))) return 0; - PyObject *wrapped = wrap(slice_get_item, Py_None, adapter); + PyObject *wrapped = wrap(slice_get_item_run, Py_None, adapter); PyObject *args = PyTuple_Pack(2, self, slice); PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); Py_DECREF(args); diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index a6b8fac45e..3136551113 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -15,6 +15,14 @@ extern "C" { JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython (JNIEnv *, jobject, jstring); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: initializeSpecialApproximations + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializeSpecialApproximations + (JNIEnv *, jobject); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: finalizePython diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index ae43408b55..330c0ebbfd 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -79,12 +79,15 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython initialize_java_python_type(); initialize_virtual_object_type(); - INITIALIZE_PYTHON_APPROXIMATIONS PySys_AddAuditHook(audit_hook, &illegal_operation); SYMBOLIC_METHOD_INITIALIZATION } +JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializeSpecialApproximations(JNIEnv *env, jobject _) { + INITIALIZE_PYTHON_APPROXIMATIONS +} + JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(JNIEnv *env, jobject cpython_adapter) { release_global_refs(env); clean_methods(); diff --git a/usvm-python/python_approximations/approximations/api.py b/usvm-python/python_approximations/approximations/api.py index a26977a4e7..862a937c01 100644 --- a/usvm-python/python_approximations/approximations/api.py +++ b/usvm-python/python_approximations/approximations/api.py @@ -1,26 +1,30 @@ -from abc import ABC, abstractmethod -from typing import Any - - -class ApproximationForMethod(ABC): - @staticmethod - @abstractmethod - def accept(self, *args) -> bool: # TODO: support kwargs - ... - - @staticmethod - @abstractmethod - def run(self, *args) -> Any: # TODO: support kwargs - ... - - -class ApproximationForFunction(ABC): - @staticmethod - @abstractmethod - def accept(*args) -> bool: # TODO: support kwargs - ... - - @staticmethod - @abstractmethod - def run(*args) -> Any: # TODO: support kwargs - ... +from abc import ABC, abstractmethod +from typing import Any, Callable + + +class ApproximationForMethod(ABC): + @staticmethod + @abstractmethod + def accept(self, *args) -> bool: # TODO: support kwargs + ... + + @staticmethod + @abstractmethod + def run(self, *args) -> Any: # TODO: support kwargs + ... + + +class ApproximationForFunction(ABC): + @staticmethod + @abstractmethod + def accept(*args) -> bool: # TODO: support kwargs + ... + + @staticmethod + @abstractmethod + def run(*args) -> Any: # TODO: support kwargs + ... + + +class SpecialApproximation(ABC): + run: Callable \ No newline at end of file diff --git a/usvm-python/python_approximations/approximations/implementations/list.py b/usvm-python/python_approximations/approximations/implementations/list.py index 6c2ef3eea2..7ddda93608 100644 --- a/usvm-python/python_approximations/approximations/implementations/list.py +++ b/usvm-python/python_approximations/approximations/implementations/list.py @@ -1,18 +1,105 @@ -from typing import Any - -from approximations.api import ApproximationForMethod - - -# TODO: optional arguments -class IndexApproximation(ApproximationForMethod): - @staticmethod - def accept(self, *args) -> bool: - return len(args) == 1 - - @staticmethod - def run(self: list, *args) -> Any: - target = args[0] - for i in range(len(self)): - if self[i] == target: - return i - raise ValueError() +from typing import Any, Tuple + +from approximations.api import ApproximationForMethod, SpecialApproximation + + +# TODO: optional arguments +class IndexApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: list, *args) -> Any: + target = args[0] + for i in range(len(self)): + if self[i] == target: + return i + raise ValueError() + + +class ReverseApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 0 + + @staticmethod + def run(self: list, *args) -> Any: + n = len(self) + for i in range(n // 2): + self[i], self[n - i - 1] = self[n - i - 1], self[i] + + +class MultiplyApproximation(SpecialApproximation): + @staticmethod + def list_multiply_impl(x: list, y: int): + result = [] + for _ in range(y): + result += x + return result + + run = list_multiply_impl + + +class SliceGetItemApproximation(SpecialApproximation): + @staticmethod + def slice_unpack_impl(s: slice) -> Tuple[int, int, int]: + start: int + stop: int + step: int + min_, max_ = -10**18, 10**18 + if s.step is None: + step = 1 + else: + step = s.step + if step == 0: + raise ValueError('slice step cannot be zero') + if s.start is None: + start = max_ if step < 0 else 0 + else: + start = s.start + if s.stop is None: + stop = min_ if step < 0 else max_ + else: + stop = s.stop + + return start, stop, step + + @staticmethod + def slice_adjust_indices_impl(length, start, stop, step): + result_length = 0 + if start < 0: + start += length + if start < 0: + start = -1 if step < 0 else 0 + elif start >= length: + start = length - 1 if step < 0 else length + if stop < 0: + stop += length + if stop < 0: + stop = -1 if step < 0 else 0 + elif stop >= length: + stop = length - 1 if step < 0 else length + if step < 0: + if stop < start: + result_length = (start - stop - 1) // (-step) + 1 + else: + if start < stop: + result_length = (stop - start - 1) // step + 1 + return result_length, start, stop, step + + @staticmethod + def slice_get_item_impl(self: list, item: slice): + start, stop, step = SliceGetItemApproximation.slice_unpack_impl(item) + slice_length, start, stop, step = SliceGetItemApproximation.slice_adjust_indices_impl(len(self), start, stop, step) + if slice_length <= 0: + return [] + else: + result = [] + cur = start + for i in range(slice_length): + result.append(self[cur]) + cur += step + return result + + run = slice_get_item_impl \ No newline at end of file diff --git a/usvm-python/python_approximations/python_approximations.iml b/usvm-python/python_approximations/python_approximations.iml index 68229bb89d..699e4910b5 100644 --- a/usvm-python/python_approximations/python_approximations.iml +++ b/usvm-python/python_approximations/python_approximations.iml @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 2818416ca4..4ba0a0f55b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -6,6 +6,7 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(stepLimit = 20U)) { @@ -432,4 +433,22 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) allowPathDiversions = false } + + @Test + fun testReverseUsage() { + val oldOptions = options + allowPathDiversions = false + options = UMachineOptions(stepLimit = 50U) + check1WithConcreteRun( + constructFunction("reverse_usage", listOf(typeSystem.pythonList)), + ge(5), + standardConcolicAndConcreteChecks, + /* invariants = */ listOf { _, res -> res.typeName == "tuple" }, + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr.startsWith("(1, ") }, + { _, res -> res.repr.startsWith("(2, ") }, + ) + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 0d2086c4a0..81c573caa8 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -213,4 +213,15 @@ def clear_usage(x: int): def index_usage(x: list): if x.index(0) == 1: return 1 - return 2 \ No newline at end of file + return 2 + + +def reverse_usage(x: list): + x.reverse() + result = 0 + for i in range(len(x) // 2): + if x[i] > x[-1]: + result = 1 + else: + result = 2 + return (result, x) \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt index 2ebbe74f0b..d7b560599d 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt @@ -5,5 +5,6 @@ enum class ApproximationId( val pythonName: String, var cRef: Long = 0L // will be set during Python initialization ) { - ListIndex("approximations.implementations.list", "IndexApproximation") + ListIndex("approximations.implementations.list", "IndexApproximation"), + ListReverse("approximations.implementations.list", "ReverseApproximation") } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 7eb08896cb..33ad6ecfe4 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -50,6 +50,7 @@ public class CPythonAdapter { public int pyGT; public native void initializePython(String pythonHome); + public native void initializeSpecialApproximations(); public native void finalizePython(); public native long getNewNamespace(); // returns reference to a new dict public native void addName(long dict, long object, String name); @@ -980,6 +981,9 @@ public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext contex @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "index") public MemberDescriptor listIndexDescriptor = new ApproximationDescriptor(ApproximationId.ListIndex); + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "reverse") + public MemberDescriptor listReverseDescriptor = new ApproximationDescriptor(ApproximationId.ListReverse); + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index cdfe0932f2..260b0afec1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -247,6 +247,7 @@ object ConcretePythonInterpreter { incref(ref) decref(namespace) } + pythonAdapter.initializeSpecialApproximations() } } From ec6e6db558b3b84a617c062d6dd9a7d64ac00162 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 14:23:41 +0300 Subject: [PATCH 142/344] Added usvm-python runner --- settings.gradle.kts | 2 + usvm-python/build.gradle.kts | 35 +++- usvm-python/cpythonadapter/cpython | 2 +- .../runner/UtBotPythonRunnerEntryPoint.kt | 23 +++ usvm-python/src/test/kotlin/manualTest.kt | 28 ++-- .../org/usvm/runner/PythonTestRunner.kt | 11 +- .../org/usvm/samples/IllegalOperationTest.kt | 2 +- usvm-python/usvm-python-main/build.gradle.kts | 6 +- .../main/kotlin/org/usvm/language/Program.kt | 2 +- .../org/usvm/language/types/TypeSystem.kt | 2 +- .../org/usvm/machine/PythonExecutionState.kt | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 53 ++----- .../interpreters/ConcretePythonInterpreter.kt | 2 +- .../interpreters/USVMPythonInterpreter.kt | 59 +++---- .../usvm/machine/saving/PickledObjectSaver.kt | 33 ++++ .../saving/PythonAnalysisResultSaver.kt | 27 ++++ .../saving}/PythonObjectSerializer.kt | 15 +- .../saving/PythonRepresentationSaver.kt | 57 +++++++ .../org/usvm/machine/saving/SaverAPI.kt | 10 ++ .../{ => machine}/utils/GlobalParameters.kt | 2 +- .../{ => machine}/utils/PythonImportUtils.kt | 2 +- .../usvm/runner/PickledObjectCommunicator.kt | 22 +++ .../usvm/runner/PythonMachineSocketRunner.kt | 61 +++++++ .../usvm-python-runner/build.gradle.kts | 15 ++ .../src/main/kotlin/org/usvm/runner/Config.kt | 21 +++ .../org/usvm/runner/DistributionLayout.kt | 17 ++ .../runner/PythonSymbolicAnalysisRunner.kt | 150 ++++++++++++++++++ .../USVMPythonAnalysisResultReceiver.kt | 5 + .../org/usvm/runner/PrintingResultReceiver.kt | 7 + .../kotlin/org/usvm/runner/TestingLayout.kt | 10 ++ .../test/kotlin/org/usvm/runner/manualTest.kt | 30 ++++ 31 files changed, 613 insertions(+), 100 deletions(-) create mode 100644 usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{utils => machine/saving}/PythonObjectSerializer.kt (65%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{ => machine}/utils/GlobalParameters.kt (60%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{ => machine}/utils/PythonImportUtils.kt (98%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt create mode 100644 usvm-python/usvm-python-runner/build.gradle.kts create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt create mode 100644 usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt create mode 100644 usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt create mode 100644 usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index e0ce74f3dd..9b9037c489 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -14,6 +14,8 @@ include("usvm-python:usvm-python-annotations") findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" include("usvm-python:usvm-python-main") findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" +include("usvm-python:usvm-python-runner") +findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" pluginManagement { resolutionStrategy { diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 74a90ad89a..035d46c5c4 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -2,6 +2,7 @@ import org.apache.tools.ant.taskdefs.condition.Os plugins { id("usvm.kotlin-conventions") + distribution } // from GRADLE_USER_HOME/gradle.properties @@ -67,7 +68,7 @@ val installMypyRunner = tasks.register("installUtbotMypyRunner") { val buildSamples = tasks.register("buildSamples") { dependsOn(installMypyRunner) - inputs.files(fileTree(samplesSourceDir).filter { it.name.endsWith(".py") }.files) + inputs.files(fileTree(samplesSourceDir).exclude("**/__pycache__/**")) outputs.dir(samplesBuildDir) group = "samples" classpath = sourceSets.test.get().runtimeClasspath @@ -146,4 +147,36 @@ tasks.test { dependsOn(":usvm-python:cpythonadapter:linkDebug") dependsOn(buildSamples) environment("PYTHONHOME" to cpythonBuildPath) +} + +distributions { + main { + contents { + into("lib") { + from(cpythonAdapterBuildPath) + from(fileTree(approximationsDir).exclude("**/__pycache__/**").exclude("**/*.iml")) + } + into("cpython") { + from(fileTree(cpythonBuildPath).exclude("**/__pycache__/**")) + } + into("jar") { + from(File(project.buildDir, "libs/usvm-python.jar")) + } + } + } +} + +tasks.jar { + dependsOn(":usvm-python:usvm-python-main:jar") + manifest { + attributes( + "Main-Class" to "org.usvm.runner.UtBotPythonRunnerEntryPointKt", + ) + } + val dependencies = configurations + .runtimeClasspath + .get() + .map(::zipTree) // OR .map { zipTree(it) } + from(dependencies) + duplicatesStrategy = DuplicatesStrategy.EXCLUDE } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 8957d428e9..af680d412c 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 8957d428e94d5a7eb5bc73119eac2538130da5f4 +Subproject commit af680d412c12d4d3fd9c2e4f2f43dc85789c8407 diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt new file mode 100644 index 0000000000..ed30e4634d --- /dev/null +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -0,0 +1,23 @@ +package org.usvm.runner + +import java.io.File + +fun main(args: Array) { + require(args.size >= 7) { "Incorrect number of arguments" } + val mypyDirPath = args[0] + val socketPort = args[1].toIntOrNull() ?: error("Second argument must be integer") + val moduleName = args[2] + val functionName = args[3] + val timeoutPerRunMs = args[4].toLongOrNull() ?: error("Fifth argument must be integer") + val timeoutMs = args[5].toLongOrNull() ?: error("Sixth argument must be integer") + val programRoots = args.drop(6) + val runner = PythonMachineSocketRunner( + File(mypyDirPath), + programRoots.map { File(it) }.toSet(), + "localhost", + socketPort + ) + runner.use { + it.analyzeFunction(moduleName, functionName, timeoutPerRunMs, timeoutMs) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6cbe9ae92b..1426d72d27 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,14 +5,15 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.machine.saving.Fail +import org.usvm.machine.saving.Success import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild -import org.usvm.utils.ReprObjectSerializer +import org.usvm.machine.saving.createReprSaver import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot -import org.usvm.utils.withAdditionalPaths +import org.usvm.machine.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonCallableTypeDescription import org.utbot.python.newtyping.general.FunctionType import org.utbot.python.newtyping.mypy.MypyBuildDirectory @@ -24,14 +25,14 @@ import java.io.File fun main() { // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( + val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( """ def list_concat(x): y = x + [1] @@ -46,10 +47,11 @@ private fun buildSampleRunConfig(): RunConfig { raise TypeError("2") """.trimIndent() - ) + )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList), - "f" + listOf(PythonAnyType, PythonAnyType, PythonAnyType), + "many_branches", + "SimpleExample" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -142,23 +144,23 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { private fun analyze(runConfig: RunConfig) { val (program, typeSystem, functions) = runConfig - val machine = PythonMachine(program, typeSystem, ReprObjectSerializer, printErrorMsg = false) + val machine = PythonMachine(program, typeSystem, printErrorMsg = false) machine.use { activeMachine -> functions.forEach { f -> println("Started analysing function ${f.tag}") try { val start = System.currentTimeMillis() - val results: MutableList> = mutableListOf() + val saver = createReprSaver() val iterations = activeMachine.analyze( f, - results, + saver, maxIterations = 70, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, timeoutMs = 40_000 ) - results.forEach { (_, inputs, result) -> + saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") inputs.map { it.reprFromPythonObject }.forEach { println(it) } println("RESULT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 01109dc77f..b199dd83bb 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -7,11 +7,10 @@ import org.usvm.language.types.* import org.usvm.machine.interpreters.CPythonExecutionException import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.saving.* import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import org.usvm.test.util.checkers.ge -import org.usvm.utils.PythonObjectInfo -import org.usvm.utils.StandardPythonObjectSerializer sealed class PythonTestRunner( override var options: UMachineOptions = UMachineOptions(), @@ -21,7 +20,7 @@ sealed class PythonTestRunner( abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram private val machine by lazy { - PythonMachine(program, typeSystem, StandardPythonObjectSerializer) + PythonMachine(program, typeSystem) } override val typeTransformer: (Any?) -> PythonType get() = { _ -> PythonAnyType } @@ -29,16 +28,16 @@ sealed class PythonTestRunner( get() = { _, _ -> true } override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> get() = { callable, options -> - val results: MutableList> = mutableListOf() + val saver = createStandardSaver() machine.analyze( callable, - results, + saver, options.stepLimit?.toInt() ?: 300, allowPathDiversion = allowPathDiversions, timeoutMs = options.timeoutMs, timeoutPerRunMs = timeoutPerRunMs ) - results + saver.getResults() } override val coverageRunner: (List>) -> PythonCoverage get() = { _ -> PythonCoverage(0) } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt index fa5e96ec19..401187c350 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt @@ -5,7 +5,7 @@ import org.junit.jupiter.api.assertThrows import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -import org.usvm.utils.withAdditionalPaths +import org.usvm.machine.utils.withAdditionalPaths class IllegalOperationTest : PythonTestRunnerForStructuredProgram("SimpleExample") { @Test diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index 326cbb3e30..4fd497b033 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -32,9 +32,9 @@ dependencies { implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") - implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") - implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") - implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") + // implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") + // implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") + // implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index d1f527f6cf..eea38235e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -4,7 +4,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.PythonNamespace -import org.usvm.utils.withAdditionalPaths +import org.usvm.machine.utils.withAdditionalPaths import java.io.File sealed class PythonProgram(val additionalPaths: Set) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 1401e28df7..1e64768c9a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -8,7 +8,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem -import org.usvm.utils.withAdditionalPaths +import org.usvm.machine.utils.withAdditionalPaths import org.utbot.python.newtyping.PythonTypeHintsStorage import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.general.DefaultSubstitutionProvider diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 274fa5ca43..6a1af4fe38 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -17,7 +17,7 @@ import org.usvm.memory.UMemory import org.usvm.model.UModelBase import org.usvm.targets.UTarget import org.usvm.types.UTypeStream -import org.usvm.utils.MAX_CONCRETE_TYPES_TO_CONSIDER +import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER object PythonTarget: UTarget, PythonTarget>() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 8cec32303b..a837fd0587 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -7,38 +7,34 @@ import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter -import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.toPyModel +import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemory import org.usvm.ps.DfsPathSelector -import org.usvm.ps.createForkDepthPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver -import org.usvm.utils.PythonObjectSerializer -import kotlin.random.Random -class PythonMachine( +class PythonMachine( private val program: PythonProgram, private val typeSystem: PythonTypeSystem, - private val serializer: PythonObjectSerializer, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) - private val random = Random(0) + // private val random = Random(0) val statistics = PythonMachineStatistics() - private fun getInterpreter( + private fun getInterpreter( target: PythonUnpinnedCallable, pinnedTarget: PythonPinnedCallable, - results: MutableList>, + saver: PythonAnalysisResultSaver, allowPathDiversion: Boolean, iterationCounter: IterationCounter, maxInstructions: Int, isCancelled: (Long) -> Boolean - ): USVMPythonInterpreter = + ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, typeSystem, @@ -48,12 +44,10 @@ class PythonMachine( printErrorMsg, PythonMachineStatisticsOnFunction(pinnedTarget).also { statistics.functionStatistics.add(it) }, maxInstructions, + saver, isCancelled, - allowPathDiversion, - serializer - ) { - results.add(it) - } + allowPathDiversion + ) private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { val pathConstraints = UPathConstraints(ctx) @@ -101,9 +95,9 @@ class PythonMachine( return ps } - fun analyze( + fun analyze( pythonCallable: PythonUnpinnedCallable, - results: MutableList>, + saver: PythonAnalysisResultSaver, maxIterations: Int = 300, allowPathDiversion: Boolean = true, maxInstructions: Int = 1_000_000_000, @@ -118,7 +112,7 @@ class PythonMachine( val interpreter = getInterpreter( pythonCallable, pinnedCallable, - results, + saver, allowPathDiversion, iterationCounter, maxInstructions @@ -158,25 +152,4 @@ class PythonMachine( } } -data class IterationCounter(var iterations: Int = 0) - -data class InputObject( - val asUExpr: InterpretedInputSymbolicPythonObject, - val type: PythonType, - val reprFromPythonObject: PythonObjectRepresentation -) - -sealed class ExecutionResult -class Success( - val output: PythonObjectRepresentation -): ExecutionResult() - -class Fail( - val exception: PythonObjectRepresentation -): ExecutionResult() - -data class PythonAnalysisResult( - val inputValueConverter: ConverterToPythonObject, - val inputValues: List>, - val result: ExecutionResult -) \ No newline at end of file +data class IterationCounter(var iterations: Int = 0) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 260b0afec1..6f0f62b9ba 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -7,7 +7,7 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor -import org.usvm.utils.withAdditionalPaths +import org.usvm.machine.utils.withAdditionalPaths import java.io.File @Suppress("unused") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index dde9870aab..234e9d124a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -1,5 +1,7 @@ package org.usvm.machine.interpreters +import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext @@ -14,12 +16,11 @@ import org.usvm.machine.* import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModel +import org.usvm.machine.saving.* import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction -import org.usvm.utils.PythonObjectSerializer -import org.usvm.utils.ReprObjectSerializer -class USVMPythonInterpreter( +class USVMPythonInterpreter( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, private val unpinnedCallable: PythonUnpinnedCallable, @@ -28,10 +29,9 @@ class USVMPythonInterpreter( private val printErrorMsg: Boolean, private val statistics: PythonMachineStatisticsOnFunction, private val maxInstructions: Int, + private val saver: PythonAnalysisResultSaver, private val isCancelled: (Long) -> Boolean, private val allowPathDiversion: Boolean = true, - private val serializer: PythonObjectSerializer, - private val saveRunResult: (PythonAnalysisResult) -> Unit ) : UInterpreter() { private fun getSeeds( concolicRunContext: ConcolicRunContext, @@ -50,18 +50,17 @@ class USVMPythonInterpreter( converter: ConverterToPythonObject, concrete: List, seeds: List - ): List>? = + ): List? = if (converter.numberOfVirtualObjectUsages() == 0) { - val serializedInputs = concrete.map { serializer.serialize(it) } - (seeds zip unpinnedCallable.signature zip serializedInputs).map { (p, z) -> - val (x, y) = p - InputObject(x, y, z) + (seeds zip unpinnedCallable.signature zip concrete).map { (p, ref) -> + val (asUExpr, type) = p + GeneratedPythonObject(ref, type, asUExpr) } } else { null } - override fun step(state: PythonExecutionState): StepResult = with(ctx) { + override fun step(state: PythonExecutionState): StepResult = runBlocking { val modelHolder = if (state.meta.lastConverter != null) state.meta.lastConverter!!.modelHolder @@ -96,16 +95,22 @@ class USVMPythonInterpreter( val converter = concolicRunContext.converter val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getPythonVirtualObjects() - val inputs = runCatching { + val madeInputSerialization: Boolean = runCatching { getInputs(converter, concrete, seeds) }.getOrElse { logger.debug( "Error while serializing inputs. Types: {}. Omitting step...", seeds.map { it.getConcreteType() } ) - return StepResult(emptySequence(), false) - } - concolicRunContext.usesVirtualInputs = inputs == null + return@runBlocking StepResult(emptySequence(), false) + }?.let { + val representation = saver.serializeInput(it, converter) + launch { + saver.saveNextInputs(representation) + } + true + } ?: false + concolicRunContext.usesVirtualInputs = !madeInputSerialization if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( @@ -125,9 +130,8 @@ class USVMPythonInterpreter( concolicRunContext, printErrorMsg ) - if (inputs != null) { - val serializedResult = serializer.serialize(result) - saveRunResult(PythonAnalysisResult(converter, inputs, Success(serializedResult))) + if (madeInputSerialization) { + saver.saveExecutionResult(Success(result)) } logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") @@ -142,9 +146,8 @@ class USVMPythonInterpreter( ConcretePythonInterpreter.getNameOfPythonType(exception.pythonExceptionType), ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) ) - if (inputs != null) { - val serializedException = serializer.serialize(exception.pythonExceptionType) - saveRunResult(PythonAnalysisResult(converter, inputs, Fail(serializedException))) + if (madeInputSerialization) { + saver.saveExecutionResult(Fail(exception.pythonExceptionType)) } } @@ -153,23 +156,23 @@ class USVMPythonInterpreter( if (resultState != null) { resultState.meta.wasExecuted = true - if (resultState.delayedForks.isEmpty() && inputs == null) { + if (resultState.delayedForks.isEmpty() && !madeInputSerialization) { resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() resultState.meta.lastConverter = converter } logger.debug("Finished step on state: {}", concolicRunContext.curState) - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } else { logger.debug("Ended step with path diversion") - return StepResult(emptySequence(), !state.isTerminated()) + return@runBlocking StepResult(emptySequence(), !state.isTerminated()) } } catch (_: BadModelException) { iterationCounter.iterations += 1 logger.debug("Step result: Bad model") - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } catch (_: UnregisteredVirtualOperation) { @@ -177,20 +180,20 @@ class USVMPythonInterpreter( logger.debug("Step result: Unregistrered virtual operation") concolicRunContext.curState?.meta?.modelDied = true concolicRunContext.statistics.addUnregisteredVirtualOperation() - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } catch (_: InstructionLimitExceededException) { iterationCounter.iterations += 1 logger.debug("Step result: InstructionLimitExceededException") concolicRunContext.curState?.meta?.wasInterrupted = true - return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) + return@runBlocking StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) } catch (_: CancelledExecutionException) { logger.debug("Step result: execution cancelled") concolicRunContext.curState?.meta?.wasInterrupted = true - return StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) + return@runBlocking StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) } finally { concolicRunContext.converter.restart() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt new file mode 100644 index 0000000000..ba98eba382 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt @@ -0,0 +1,33 @@ +package org.usvm.machine.saving + +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.symbolicobjects.ConverterToPythonObject + +class PickledObjectSaver( + private val sender: PickledObjectSender +): PythonAnalysisResultSaver() { + override fun serializeInput(inputs: List, converter: ConverterToPythonObject): String? { + val pair = ConcretePythonInterpreter.allocateTuple(2) + val tuple = ConcretePythonInterpreter.allocateTuple(inputs.size) + inputs.forEachIndexed { index, generatedPythonObject -> + ConcretePythonInterpreter.setTupleElement(tuple, index, generatedPythonObject.ref) + } + val dict = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) + ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) + val result = PickleObjectSerializer.serialize(pair) + ConcretePythonInterpreter.decref(pair) + return result + } + + override fun saveExecutionResult(result: ExecutionResult) = run { } + + override suspend fun saveNextInputs(input: String?) { + input?.let { sender.sendPickledInputs(it) } + } +} + +abstract class PickledObjectSender { + abstract suspend fun sendPickledInputs(pickledInput: String) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt new file mode 100644 index 0000000000..92ea164cfe --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt @@ -0,0 +1,27 @@ +package org.usvm.machine.saving + +import org.usvm.language.types.PythonType +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject + +abstract class PythonAnalysisResultSaver { + abstract fun serializeInput(inputs: List, converter: ConverterToPythonObject): InputRepr + abstract suspend fun saveNextInputs(input: InputRepr) + abstract fun saveExecutionResult(result: ExecutionResult) +} + +data class GeneratedPythonObject( + val ref: PythonObject, + val type: PythonType, + val asUExpr: InterpretedInputSymbolicPythonObject +) + +sealed class ExecutionResult +class Success( + val output: PythonObjectRepresentation +): ExecutionResult() + +class Fail( + val exception: PythonObjectRepresentation +): ExecutionResult() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt similarity index 65% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt index b4b8907f07..d395314322 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt @@ -1,4 +1,4 @@ -package org.usvm.utils +package org.usvm.machine.saving import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject @@ -24,6 +24,19 @@ object ReprObjectSerializer: PythonObjectSerializer() { } } +object PickleObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String? { + return runCatching { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "x") + ConcretePythonInterpreter.concreteRun(namespace, "import pickle") + val res = ConcretePythonInterpreter.eval(namespace, "pickle.dumps(x)") + ConcretePythonInterpreter.decref(namespace) + ConcretePythonInterpreter.getPythonObjectRepr(res) + }.getOrNull() + } +} + class PythonObjectInfo( val repr: String, val typeName: String, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt new file mode 100644 index 0000000000..a6cd6062f0 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt @@ -0,0 +1,57 @@ +package org.usvm.machine.saving + +import org.usvm.language.types.PythonType +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject + +class PythonRepresentationSaver( + private val serializer: PythonObjectSerializer +): PythonAnalysisResultSaver() { + private val results = mutableListOf>() + private var currentInputs: List>? = null + private var currentConverter: ConverterToPythonObject? = null + override fun serializeInput( + inputs: List, + converter: ConverterToPythonObject + ) { + currentInputs = inputs.map { + InputObject( + it.asUExpr, + it.type, + serializer.serialize(it.ref) + ) + } + currentConverter = converter + } + + override suspend fun saveNextInputs(input: Unit) = run { } + + override fun saveExecutionResult(result: ExecutionResult) { + require(currentInputs != null && currentConverter != null) + val serializedResult = when (result) { + is Success -> Success(serializer.serialize(result.output)) + is Fail -> Fail(serializer.serialize(result.exception)) + } + results.add( + PythonAnalysisResult( + currentConverter!!, + currentInputs!!, + serializedResult + ) + ) + } + fun getResults(): List> = results +} + +data class PythonAnalysisResult( + val inputValueConverter: ConverterToPythonObject, + val inputValues: List>, + val result: ExecutionResult +) + +data class InputObject( + val asUExpr: InterpretedInputSymbolicPythonObject, + val type: PythonType, + val reprFromPythonObject: PythonObjectRepresentation +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt new file mode 100644 index 0000000000..74a2e98db6 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt @@ -0,0 +1,10 @@ +package org.usvm.machine.saving + +fun createStandardSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(StandardPythonObjectSerializer) + +fun createReprSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(ReprObjectSerializer) + +fun createPickleSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(PickleObjectSerializer) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/GlobalParameters.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt similarity index 60% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/GlobalParameters.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt index babb67a658..9169d4dcc5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/GlobalParameters.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt @@ -1,3 +1,3 @@ -package org.usvm.utils +package org.usvm.machine.utils const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt index cd1baf50ee..6733446cc8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/utils/PythonImportUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt @@ -1,4 +1,4 @@ -package org.usvm.utils +package org.usvm.machine.utils import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.ConcretePythonInterpreter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt new file mode 100644 index 0000000000..ffade4c6a7 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt @@ -0,0 +1,22 @@ +package org.usvm.runner + +import org.usvm.machine.saving.PickledObjectSender +import java.io.PrintWriter +import java.net.Socket + +class PickledObjectCommunicator( + ip: String, + port: Int +): AutoCloseable, PickledObjectSender() { + private val clientSocket = Socket(ip, port) + private val writer = PrintWriter(clientSocket.getOutputStream()) + override suspend fun sendPickledInputs(pickledInput: String) { + writer.println(pickledInput) + writer.flush() + } + + override fun close() { + writer.close() + clientSocket.close() + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt new file mode 100644 index 0000000000..d4a78daa09 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -0,0 +1,61 @@ +package org.usvm.runner + +import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.StructuredPythonProgram +import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.language.types.SupportsTypeHint +import org.usvm.machine.PythonMachine +import org.usvm.machine.saving.PickledObjectSaver +import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import org.utbot.python.newtyping.pythonDescription +import java.io.File + +class PythonMachineSocketRunner( + mypyDirPath: File, + programRoots: Set, + socketIp: String, + socketPort: Int +): AutoCloseable { + private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) + private val mypyBuild = readMypyInfoBuild(mypyDir) + private val communicator = PickledObjectCommunicator(socketIp, socketPort) + private val program = StructuredPythonProgram(programRoots) + private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) + private val machine = PythonMachine(program, typeSystem) + override fun close() { + communicator.close() + machine.close() + } + + fun analyzeFunction( + module: String, + functionName: String, + timeoutPerRunMs: Long, + timeoutMs: Long + ) { + val def = mypyBuild.definitions[module]?.let { it[functionName] } + ?: error("Did not find specified function in mypy build") + val type = def.getUtBotType() + val description = type.pythonDescription() as? PythonCallableTypeDescription + ?: error("Specified definition is not a function") + if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + error("Named arguments are not supported in symbolic execution") + val callableType = type as FunctionType + val unpinnedCallable = PythonUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + SupportsTypeHint(it, typeSystem) + }, + functionName, + module + ) + machine.analyze( + unpinnedCallable, + PickledObjectSaver(communicator), + timeoutMs = timeoutMs, + timeoutPerRunMs = timeoutPerRunMs + ) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts new file mode 100644 index 0000000000..56bd2e8bb7 --- /dev/null +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + id("usvm.kotlin-conventions") +} + +dependencies { + api("io.github.microutils:kotlin-logging:${Versions.klogging}") + testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") +} + +tasks.register("manualTestOfRunner") { + group = "run" + classpath = sourceSets.test.get().runtimeClasspath + jvmArgs = listOf("-Dproject.root=${projectDir.parent}") + mainClass.set("org.usvm.runner.ManualTestKt") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt new file mode 100644 index 0000000000..f4e5fb2943 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt @@ -0,0 +1,21 @@ +package org.usvm.runner + +data class USVMPythonConfig( + val distributionLayout: DistributionLayout, + val javaCmd: String, + val mypyBuildDir: String, + val roots: Set +) + +sealed class USVMPythonCallableConfig + +data class USVMPythonFunctionConfig( + val module: String, + val name: String +): USVMPythonCallableConfig() + +data class USVMPythonRunConfig( + val callableConfig: USVMPythonCallableConfig, + val timeoutMs: Long, + val timeoutPerRunMs: Long +) \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt new file mode 100644 index 0000000000..1d95765e3f --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt @@ -0,0 +1,17 @@ +package org.usvm.runner + +import java.io.File + +abstract class DistributionLayout { + abstract val cpythonPath: File + abstract val approximationsPath: File + abstract val nativeLibPath: File + abstract val jarPath: File +} + +class StandardLayout(distributionPath: File): DistributionLayout() { + override val cpythonPath: File = File(distributionPath, "cpython") + override val approximationsPath: File = File(distributionPath, "lib") + override val nativeLibPath: File = File(distributionPath, "lib") + override val jarPath: File = File(distributionPath, "jar/usvm-python.jar") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt new file mode 100644 index 0000000000..1409156d0d --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -0,0 +1,150 @@ +package org.usvm.runner + +import mu.KLogging +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking +import java.io.BufferedReader +import java.io.File +import java.io.InputStreamReader +import java.net.InetSocketAddress +import java.nio.channels.Channels +import java.nio.channels.ClosedChannelException +import java.nio.channels.InterruptibleChannel +import java.nio.channels.ServerSocketChannel +import java.nio.channels.SocketChannel +import java.util.concurrent.TimeUnit + +interface PythonSymbolicAnalysisRunner: AutoCloseable { + fun analyze(runConfig: USVMPythonRunConfig, receiver: USVMPythonAnalysisResultReceiver, isCancelled: () -> Boolean) +} + +class PythonSymbolicAnalysisRunnerImpl( + private val vacantPort: Int, + private val config: USVMPythonConfig +): PythonSymbolicAnalysisRunner { + private val serverSocketChannel = ServerSocketChannel.open() + + init { + serverSocketChannel.socket().bind(InetSocketAddress("localhost", vacantPort)) + } + + override fun analyze( + runConfig: USVMPythonRunConfig, + receiver: USVMPythonAnalysisResultReceiver, + isCancelled: () -> Boolean + ) { + val processBuilder = setupEnvironment(runConfig) + val client = ClientResources(serverSocketChannel, processBuilder) + client.use { + // println(BufferedReader(InputStreamReader(client.process.errorStream)).readLines()) + val channel = it.clientSocketChannel + if (channel == null) { + logger.warn("Could not connect to usvm-python process") + return@use + } + val readingThread = ReadingThread(channel, receiver, isCancelled) + val waitingThread = WaitingThread(runConfig, channel, isCancelled) + readingThread.start() + waitingThread.start() + readingThread.join() + waitingThread.join() + } + if (!client.process.isAlive && client.process.exitValue() != 0) { + logger.warn("usvm-python process ended with non-null value") + } + } + + class ReadingThread( + private val channel: SocketChannel, + private val receiver: USVMPythonAnalysisResultReceiver, + private val isCancelled: () -> Boolean + ): Thread() { + override fun run() { + try { + val input = BufferedReader(Channels.newReader(channel, "UTF-8")) + while (!isCancelled()) { + val byteStr = input.readLine() ?: break + receiver.receivePickledInputValues(byteStr) + } + channel.close() + } catch (_: ClosedChannelException) { + logger.info("Interrupted usvm-python channel") + } + } + } + + class WaitingThread( + private val runConfig: USVMPythonRunConfig, + private val channel: SocketChannel, + private val isCancelled: () -> Boolean + ): Thread() { + override fun run() { + val start = System.currentTimeMillis() + while (System.currentTimeMillis() - start < runConfig.timeoutMs && channel.isOpen) { + if (isCancelled()) { + channel.close() + } + TimeUnit.MILLISECONDS.sleep(200) + } + channel.close() + } + } + + private fun setupEnvironment(runConfig: USVMPythonRunConfig): ProcessBuilder { + val layout = config.distributionLayout + val functionConfig = when (runConfig.callableConfig) { + is USVMPythonFunctionConfig -> runConfig.callableConfig + } + val args = listOf( + config.javaCmd, + "-Xss50m", + "-Xmx2g", + "-Dapproximations.path=${layout.approximationsPath.canonicalPath}", + "-Djava.library.path=${layout.nativeLibPath.canonicalPath}", + "-jar", + layout.jarPath.canonicalPath, + config.mypyBuildDir, + vacantPort.toString(), + functionConfig.module, + functionConfig.name, + runConfig.timeoutPerRunMs.toString(), + runConfig.timeoutMs.toString() + ) + config.roots.toList() + + val processBuilder = ProcessBuilder(args) + + val env = processBuilder.environment() + env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" + env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath + env["PYTHONHOME"] = layout.cpythonPath.canonicalPath + + return processBuilder + } + + override fun close() { + serverSocketChannel.close() + } + + companion object { + val logger = object : KLogging() {}.logger + } +} + +class ClientResources( + serverSocketChannel: ServerSocketChannel, + processBuilder: ProcessBuilder +): AutoCloseable { + val process: Process + val clientSocketChannel: SocketChannel? + + init { + process = processBuilder.start() + clientSocketChannel = serverSocketChannel.accept() + } + + override fun close() { + clientSocketChannel?.close() + process.destroy() + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt new file mode 100644 index 0000000000..ff2cfb31ee --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt @@ -0,0 +1,5 @@ +package org.usvm.runner + +abstract class USVMPythonAnalysisResultReceiver { + abstract fun receivePickledInputValues(pickledTuple: String) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt new file mode 100644 index 0000000000..4f2909b41c --- /dev/null +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt @@ -0,0 +1,7 @@ +package org.usvm.runner + +class PrintingResultReceiver: USVMPythonAnalysisResultReceiver() { + override fun receivePickledInputValues(pickledTuple: String) { + println(pickledTuple) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt new file mode 100644 index 0000000000..1a6dce4ed5 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt @@ -0,0 +1,10 @@ +package org.usvm.runner + +import java.io.File + +class TestingLayout(basePath: String): DistributionLayout() { + override val cpythonPath = File(basePath, "cpythonadapter/build/cpython_build") + override val approximationsPath = File(basePath, "python_approximations") + override val nativeLibPath = File(basePath, "cpythonadapter/build/lib/main/debug") + override val jarPath = File(basePath, "build/libs/usvm-python.jar") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt new file mode 100644 index 0000000000..1d43c1e0d1 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -0,0 +1,30 @@ +package org.usvm.runner + +import java.io.File + +fun main() { + val basePath = System.getProperty("project.root") + val layout = TestingLayout(basePath) // StandardLayout(File(basePath, "build/distributions/usvm-python")) + val mypyDir = File(basePath, "build/samples_build") + val root = File(basePath, "src/test/resources/samples") + val config = USVMPythonConfig( + layout, + "java", + mypyDir.canonicalPath, + setOf(root.canonicalPath) + ) + val runConfig = USVMPythonRunConfig( + USVMPythonFunctionConfig( + "SimpleTypeInference", + "range_loop" + ), + 20_000, + 3_000 + ) + val receiver = PrintingResultReceiver() + val runner = PythonSymbolicAnalysisRunnerImpl(8888, config) + runner.use { + val start = System.currentTimeMillis() + it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } + } +} \ No newline at end of file From b49c6ce933187ccd9a00377a8689bab46f8fa3fa Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 15:02:10 +0300 Subject: [PATCH 143/344] Fixes after rebase --- .../src/test/resources/samples/Tricky.py | 2 +- .../org/usvm/language/types/TypeSystem.kt | 24 +++++++++++++++---- .../org/usvm/machine/PythonComponents.kt | 1 + .../org/usvm/machine/PythonExecutionState.kt | 14 +++++------ .../usvm/machine/PythonVirtualPathSelector.kt | 2 +- .../interpreters/operations/basic/Control.kt | 4 ++-- .../operations/tracing/PathTracing.kt | 2 +- 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/usvm-python/src/test/resources/samples/Tricky.py b/usvm-python/src/test/resources/samples/Tricky.py index bc159cbc32..6e723a0705 100644 --- a/usvm-python/src/test/resources/samples/Tricky.py +++ b/usvm-python/src/test/resources/samples/Tricky.py @@ -11,7 +11,7 @@ def calculate_depth(nodes, i, j): def square_matrix(x, target): n = len(x) - assert n >= 5 + assert n >= 5 and target < 0 for line in x: assert len(line) == n for elem in line: diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 1e64768c9a..c2ab862acd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -26,10 +26,6 @@ abstract class PythonTypeSystem: UTypeSystem { return supertype == type } - override fun isMultipleInheritanceAllowedFor(type: PythonType): Boolean { - return !isInstantiable(type) - } - override fun isFinal(type: PythonType): Boolean { return isInstantiable(type) } @@ -38,6 +34,26 @@ abstract class PythonTypeSystem: UTypeSystem { return type is ConcretePythonType || type is MockType } + override fun hasCommonSubtype(type: PythonType, types: Collection): Boolean { + require(types.count { it is ConcretePythonType } <= 1) { "Error in Python's hasCommonSubtype implementation" } + val concrete = types.firstOrNull { it is ConcretePythonType } + val containsMock = types.any { it is MockType } + require((concrete == null) || !containsMock) { "Error in Python's hasCommonSubtype implementation" } + return when (type) { + is ConcretePythonType -> { + if (concrete != null) { + concrete == type + } else { + types.all { isSupertype(it, type) } + } + } + MockType -> concrete == null + is VirtualPythonType -> { + concrete == null || isSupertype(type, concrete) + } + } + } + protected var allConcreteTypes: List = emptyList() protected val addressToConcreteType = mutableMapOf() private val concreteTypeToAddress = mutableMapOf() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 19ea624e8c..762c76d7b2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -13,6 +13,7 @@ import org.usvm.types.UTypeSystem class PythonComponents( private val typeSystem: PythonTypeSystem ): UComponents { + override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val softConstraintsProvider = USoftConstraintsProvider(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 6a1af4fe38..d00e780775 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -18,8 +18,10 @@ import org.usvm.model.UModelBase import org.usvm.targets.UTarget import org.usvm.types.UTypeStream import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER +import org.usvm.targets.UTargetsSet object PythonTarget: UTarget, PythonTarget>() +private val targets = UTargetsSet.empty>() class PythonExecutionState( ctx: UPythonContext, @@ -32,11 +34,11 @@ class PythonExecutionState( val preAllocatedObjects: PreallocatedObjects, var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), callStack: UCallStack> = UCallStack(), - pathLocation: PathsTrieNode> = ctx.mkInitialLocation(), + pathLocation: PathNode> = PathNode.root(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() -): UState, UPythonContext, PythonTarget, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation) { +): UState, UPythonContext, PythonTarget, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation, targets) { override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) @@ -51,7 +53,7 @@ class PythonExecutionState( preAllocatedObjects.clone(), possibleTypesForNull, callStack, - pathLocation, + pathNode, delayedForks, mocks.toMutableMap(), // copy mockedObjects.toMutableSet() // copy @@ -63,7 +65,7 @@ class PythonExecutionState( get() = PyModelWrapper(models.first()) fun buildPathAsList(): List> = - reversedPath.asSequence().toList().reversed() + pathNode.allStatements.toList().reversed() fun makeTypeRating(delayedFork: DelayedFork): List { val candidates = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).mapNotNull { it as? ConcretePythonType } @@ -78,9 +80,7 @@ class PythonExecutionState( val cached = mocks[what] if (cached != null) return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) - val result = memory.mock { - call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) - } + val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 56152923f8..5f336845f3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -2,7 +2,7 @@ package org.usvm.machine import mu.KLogging import org.usvm.UPathSelector -import org.usvm.fork +import org.usvm.WithSolverStateForker.fork import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.MockType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index 197c29deee..e4ea5ea4c2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -2,8 +2,8 @@ package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KBoolSort import org.usvm.UExpr -import org.usvm.fork -import org.usvm.forkMulti +import org.usvm.WithSolverStateForker.fork +import org.usvm.WithSolverStateForker.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PythonExecutionState diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index cb56394287..f8c9edf8fc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -30,7 +30,7 @@ fun withTracing( return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) // logger.debug("Depth: {}", context.curState!!.pathLocation.depth + 1) - context.curState!!.pathLocation = context.curState!!.pathLocation.pathLocationFor(eventRecord, context.curState!!) + context.curState!!.pathNode += eventRecord return result } val event = context.pathPrefix.first() From 17d2f39ee60e02a87a138c1303ba705fe4370dcb Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 15:06:35 +0300 Subject: [PATCH 144/344] Fixed some warnings --- .../interpreters/operations/basic/Control.kt | 4 +++- .../interpreters/operations/tracing/PathTracing.kt | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index e4ea5ea4c2..c66163f7f6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -84,4 +84,6 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje myFork(ctx, expr) } -object BadModelException: Exception() \ No newline at end of file +object BadModelException: Exception() { + private fun readResolve(): Any = BadModelException +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index f8c9edf8fc..a00ce3af82 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -8,7 +8,9 @@ import org.usvm.machine.symbolicobjects.getToBoolValue import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger -object PathDiversionException: Exception() +object PathDiversionException: Exception() { + private fun readResolve(): Any = PathDiversionException +} fun withTracing( context: ConcolicRunContext, @@ -67,5 +69,10 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res } } -object InstructionLimitExceededException: Exception() -object CancelledExecutionException: Exception() \ No newline at end of file +object InstructionLimitExceededException: Exception() { + private fun readResolve(): Any = InstructionLimitExceededException +} + +object CancelledExecutionException: Exception() { + private fun readResolve(): Any = CancelledExecutionException +} \ No newline at end of file From ffdedd8ceac73e6634e3286bb3c2570d60d86876 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 16:25:58 +0300 Subject: [PATCH 145/344] work on usvm-python package --- usvm-python/build.gradle.kts | 3 ++ usvm-python/buildDistWithoutPip.sh | 6 +++ usvm-python/cpythonadapter/build.gradle.kts | 46 +++++++++++++++++++-- 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100755 usvm-python/buildDistWithoutPip.sh diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 035d46c5c4..f2a8f21e5c 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -54,6 +54,7 @@ val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows val installMypyRunner = tasks.register("installUtbotMypyRunner") { group = "samples" dependsOn(":usvm-python:cpythonadapter:linkDebug") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") inputs.dir(cpythonPath) if (isWindows) { outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) @@ -83,6 +84,7 @@ fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { dependsOn(":usvm-python:cpythonadapter:linkDebug") else dependsOn(":usvm-python:cpythonadapter:linkRelease") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") environment("PYTHONHOME" to cpythonBuildPath) @@ -145,6 +147,7 @@ tasks.test { } jvmArgs = args dependsOn(":usvm-python:cpythonadapter:linkDebug") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") dependsOn(buildSamples) environment("PYTHONHOME" to cpythonBuildPath) } diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh new file mode 100755 index 0000000000..7a335a2e94 --- /dev/null +++ b/usvm-python/buildDistWithoutPip.sh @@ -0,0 +1,6 @@ +../gradlew :usvm-python:cpythonadapter:CPythonClean +../gradlew :usvm-python:cpythonadapter:CPythonDistclean +../gradlew :usvm-python:clean +../gradlew :usvm-python:cpythonadapter:CPythonBuildWithoutPip +../gradlew :usvm-python:jar +../gradlew :usvm-python:distZip diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index e0639a04f4..4eb525f4f7 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -34,6 +34,36 @@ val configCPythonDebug = null } +val configNoPip = + if (!isWindows) { + tasks.register("CPythonConfigureWithoutPip") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + outputs.file("$cpythonPath/Makefile") + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=no", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--with-assertions" + ) + } + } else { + null + } + +if (!isWindows) { + tasks.register("CPythonBuildWithoutPip") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + dependsOn(configNoPip) + commandLine("make") + commandLine("make", "install") + } +} + /* val configCPythonRelease = if (!isWindows) { @@ -113,11 +143,11 @@ library { } compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") - if (!compileTask.isOptimized) { + /*if (!compileTask.isOptimized) { compileTask.dependsOn(cpythonBuildDebug) } else { compileTask.dependsOn(cpythonBuildDebug) // TODO - } + }*/ } if (isWindows) { @@ -133,7 +163,11 @@ val cpythonClean = tasks.register("CPythonClean") { group = cpythonTaskGroup workingDir = File(cpythonPath) if (!isWindows) { - commandLine("make", "clean") + if (File(cpythonPath, "Makefile").exists()) { + commandLine("make", "clean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } } else { commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") } @@ -143,7 +177,11 @@ tasks.register("CPythonDistclean") { group = cpythonTaskGroup workingDir = File(cpythonPath) if (!isWindows) { - commandLine("make", "distclean") + if (File(cpythonPath, "Makefile").exists()) { + commandLine("make", "distclean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } } else { commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") } From 0882a9acdd83235c763196d18fdd8451e0749dda Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 18:22:19 +0300 Subject: [PATCH 146/344] Fixes after rebase; work on gradle scripts --- .github/workflows/gradle-publish.yml | 9 +++- usvm-python/buildDistWithoutPip.sh | 5 ++- usvm-python/cpythonadapter/build.gradle.kts | 43 +++++-------------- .../cpythonadapter/include_pip_in_build | 1 + .../org/usvm/machine/PythonComponents.kt | 27 +++++++++--- .../usvm-python-runner/build.gradle.kts | 14 ++++++ 6 files changed, 59 insertions(+), 40 deletions(-) create mode 100644 usvm-python/cpythonadapter/include_pip_in_build diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index e658a3caf7..79426416ce 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -26,10 +26,17 @@ jobs: server-id: github # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: :usvm-python:usvm-python-runner:build + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle - name: Publish to GitHub Packages uses: gradle/gradle-build-action@v2 with: - arguments: publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ inputs.version }} + arguments: :usvm-python:usvm-python-runner:publish env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index 7a335a2e94..49de86062a 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -1,6 +1,9 @@ ../gradlew :usvm-python:cpythonadapter:CPythonClean ../gradlew :usvm-python:cpythonadapter:CPythonDistclean +../gradlew :usvm-python:cpythonadapter:clean ../gradlew :usvm-python:clean -../gradlew :usvm-python:cpythonadapter:CPythonBuildWithoutPip +echo "false" > cpythonadapter/include_pip_in_build +../gradlew :usvm-python:cpythonadapter:CPythonBuildDebug ../gradlew :usvm-python:jar ../gradlew :usvm-python:distZip +echo "true" > cpythonadapter/include_pip_in_build \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 4eb525f4f7..c932643008 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -19,12 +19,19 @@ val configCPythonDebug = tasks.register("CPythonBuildConfigurationDebug") { group = cpythonTaskGroup workingDir = File(cpythonPath) + val includePipFile = File(projectDir, "include_pip_in_build") + inputs.file(includePipFile) outputs.file("$cpythonPath/Makefile") + val pipLine = if (includePipFile.readText().trim() == "false") { + "--with-ensurepip=no" + } else { + "--with-ensurepip=yes" + } commandLine( "$cpythonPath/configure", "--enable-shared", "--without-static-libpython", - "--with-ensurepip=yes", + pipLine, "--prefix=$cpythonBuildPath", "--disable-test-modules", "--with-assertions" @@ -34,36 +41,6 @@ val configCPythonDebug = null } -val configNoPip = - if (!isWindows) { - tasks.register("CPythonConfigureWithoutPip") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - outputs.file("$cpythonPath/Makefile") - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - "--with-ensurepip=no", - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--with-assertions" - ) - } - } else { - null - } - -if (!isWindows) { - tasks.register("CPythonBuildWithoutPip") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - dependsOn(configNoPip) - commandLine("make") - commandLine("make", "install") - } -} - /* val configCPythonRelease = if (!isWindows) { @@ -143,11 +120,11 @@ library { } compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") - /*if (!compileTask.isOptimized) { + if (!compileTask.isOptimized) { compileTask.dependsOn(cpythonBuildDebug) } else { compileTask.dependsOn(cpythonBuildDebug) // TODO - }*/ + } } if (isWindows) { diff --git a/usvm-python/cpythonadapter/include_pip_in_build b/usvm-python/cpythonadapter/include_pip_in_build new file mode 100644 index 0000000000..27ba77ddaf --- /dev/null +++ b/usvm-python/cpythonadapter/include_pip_in_build @@ -0,0 +1 @@ +true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 762c76d7b2..049376d407 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -1,13 +1,15 @@ package org.usvm.machine +import io.ksmt.solver.KSolver import io.ksmt.solver.z3.KZ3Solver import io.ksmt.sort.KIntSort import org.usvm.* +import org.usvm.constraints.UPathConstraints import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.solver.USoftConstraintsProvider -import org.usvm.solver.USolverBase -import org.usvm.solver.UTypeSolver +import org.usvm.model.UModelBase +import org.usvm.model.UModelDecoder +import org.usvm.solver.* import org.usvm.types.UTypeSystem class PythonComponents( @@ -16,10 +18,10 @@ class PythonComponents( override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) - val softConstraintsProvider = USoftConstraintsProvider(ctx) + // val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) // solver.configure { setZ3Option("timeout", 1) } - return USolverBase(ctx, solver, UTypeSolver(typeSystem), translator, decoder, softConstraintsProvider) + return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { @@ -30,3 +32,18 @@ class PythonComponents( return UInt32SizeExprProvider(ctx) } } + +class PySolver( + ctx: UContext<*>, + smtSolver: KSolver<*>, + typeSolver: UTypeSolver, + translator: UExprTranslator, + decoder: UModelDecoder>, +) : USolverBase( + ctx, smtSolver, typeSolver, translator, decoder +) { + override fun check(query: UPathConstraints): USolverResult> { + val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + return super.checkWithSoftConstraints(query, softConstraints) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index 56bd2e8bb7..09be7fbb15 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -1,5 +1,6 @@ plugins { id("usvm.kotlin-conventions") + `maven-publish` } dependencies { @@ -12,4 +13,17 @@ tasks.register("manualTestOfRunner") { classpath = sourceSets.test.get().runtimeClasspath jvmArgs = listOf("-Dproject.root=${projectDir.parent}") mainClass.set("org.usvm.runner.ManualTestKt") +} + +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/UnitTestBot/usvm") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } } \ No newline at end of file From a39e7804aa6c65795c6d7cff19ae3c3c21372015 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 18:39:20 +0300 Subject: [PATCH 147/344] fixes in configurations --- usvm-python/build.gradle.kts | 7 +++++-- usvm-python/buildDistWithoutPip.sh | 2 +- usvm-python/cpythonadapter/build.gradle.kts | 3 +++ usvm-python/cpythonadapter/include_pip_in_build | 2 +- usvm-python/usvm-python-main/build.gradle.kts | 7 +++++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index f2a8f21e5c..762e5a287d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -6,8 +6,11 @@ plugins { } // from GRADLE_USER_HOME/gradle.properties -val githubUser: String by project -val githubToken: String by project // with permission to read packages +val githubUserFromHome: String? by project +val githubTokenFromHome: String? by project // with permission to read packages + +val githubUser: String = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") ?: error("githubUser not defined") +val githubToken: String = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") ?: error("githubToken not defined") repositories { maven { diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index 49de86062a..16992fd216 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -3,7 +3,7 @@ ../gradlew :usvm-python:cpythonadapter:clean ../gradlew :usvm-python:clean echo "false" > cpythonadapter/include_pip_in_build -../gradlew :usvm-python:cpythonadapter:CPythonBuildDebug +../gradlew :usvm-python:cpythonadapter:linkDebug ../gradlew :usvm-python:jar ../gradlew :usvm-python:distZip echo "true" > cpythonadapter/include_pip_in_build \ No newline at end of file diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index c932643008..5cbdb911bb 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -27,6 +27,9 @@ val configCPythonDebug = } else { "--with-ensurepip=yes" } + doFirst { + println("Pip line: $pipLine") + } commandLine( "$cpythonPath/configure", "--enable-shared", diff --git a/usvm-python/cpythonadapter/include_pip_in_build b/usvm-python/cpythonadapter/include_pip_in_build index 27ba77ddaf..c508d5366f 100644 --- a/usvm-python/cpythonadapter/include_pip_in_build +++ b/usvm-python/cpythonadapter/include_pip_in_build @@ -1 +1 @@ -true +false diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index 4fd497b033..a03a69f25b 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -12,8 +12,11 @@ tasks.compileJava { } // from GRADLE_USER_HOME/gradle.properties -val githubUser: String by project -val githubToken: String by project // with permission to read packages +val githubUserFromHome: String? by project +val githubTokenFromHome: String? by project // with permission to read packages + +val githubUser: String = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") ?: error("githubUser not defined") +val githubToken: String = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") ?: error("githubToken not defined") repositories { maven { From 050677906369b8463b25f3c60840b81cbd2c1b74 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 18:45:44 +0300 Subject: [PATCH 148/344] Added environment to build task in actions --- .github/workflows/gradle-publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index 79426416ce..ea62a34511 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -30,6 +30,9 @@ jobs: uses: gradle/gradle-build-action@v2 with: arguments: :usvm-python:usvm-python-runner:build + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # The USERNAME and TOKEN need to correspond to the credentials environment variables used in # the publishing section of your build.gradle From 8df411a10ec81ae9c0b4ec31aa45b9f3da4e242b Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 18:54:15 +0300 Subject: [PATCH 149/344] Added permissions --- usvm-python/cpythonadapter/include_pip_in_build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/cpythonadapter/include_pip_in_build b/usvm-python/cpythonadapter/include_pip_in_build index c508d5366f..27ba77ddaf 100644 --- a/usvm-python/cpythonadapter/include_pip_in_build +++ b/usvm-python/cpythonadapter/include_pip_in_build @@ -1 +1 @@ -false +true From d83f94ef904fb506472a93b4a4fa8a6a6c2ad8d3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 31 Oct 2023 19:24:37 +0300 Subject: [PATCH 150/344] Added MavenPublication --- .github/workflows/gradle-publish.yml | 8 ++++++-- usvm-python/usvm-python-runner/build.gradle.kts | 7 +++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index ea62a34511..c1c895d656 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -26,10 +26,14 @@ jobs: server-id: github # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file + - name: Get short commit hash + id: commithash + run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + - name: Build with Gradle uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:build + arguments: :usvm-python:usvm-python-runner:build -Pversion=${{ steps.commithash.outputs.sha_short }} env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -39,7 +43,7 @@ jobs: - name: Publish to GitHub Packages uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:publish + arguments: :usvm-python:usvm-python-runner:publish -Pversion=${{ steps.commithash.outputs.sha_short }} env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index 09be7fbb15..e9ece5e40f 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -26,4 +26,11 @@ publishing { } } } + publications { + create("jar") { + from(components["java"]) + groupId = "org.usvm" + artifactId = project.name + } + } } \ No newline at end of file From 52e5cc4aec3ab633e4620860a0d9cde155cd1bfc Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 1 Nov 2023 16:23:48 +0300 Subject: [PATCH 151/344] Added debug runner --- .../kotlin/org/usvm/runner/DebugRunner.kt | 12 +++++ .../runner/PythonSymbolicAnalysisRunner.kt | 49 ++--------------- .../org/usvm/runner/USVMPythonRunner.kt | 52 +++++++++++++++++++ .../test/kotlin/org/usvm/runner/manualTest.kt | 10 ++-- 4 files changed, 74 insertions(+), 49 deletions(-) create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt new file mode 100644 index 0000000000..468b0c7638 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt @@ -0,0 +1,12 @@ +package org.usvm.runner + +class DebugRunner(config: USVMPythonConfig): USVMPythonRunner(config) { + fun runProcessAndPrintInfo(runConfig: USVMPythonRunConfig) { + val builder = setupEnvironment(runConfig) + builder.redirectError(ProcessBuilder.Redirect.INHERIT) + builder.redirectOutput(ProcessBuilder.Redirect.INHERIT) + val process = builder.start() + process.waitFor() + println("Exit status: ${process.exitValue()}") + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 1409156d0d..f709969bcd 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -1,16 +1,9 @@ package org.usvm.runner import mu.KLogging -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking import java.io.BufferedReader -import java.io.File -import java.io.InputStreamReader -import java.net.InetSocketAddress import java.nio.channels.Channels import java.nio.channels.ClosedChannelException -import java.nio.channels.InterruptibleChannel import java.nio.channels.ServerSocketChannel import java.nio.channels.SocketChannel import java.util.concurrent.TimeUnit @@ -20,14 +13,8 @@ interface PythonSymbolicAnalysisRunner: AutoCloseable { } class PythonSymbolicAnalysisRunnerImpl( - private val vacantPort: Int, - private val config: USVMPythonConfig -): PythonSymbolicAnalysisRunner { - private val serverSocketChannel = ServerSocketChannel.open() - - init { - serverSocketChannel.socket().bind(InetSocketAddress("localhost", vacantPort)) - } + config: USVMPythonConfig +): USVMPythonRunner(config), PythonSymbolicAnalysisRunner { override fun analyze( runConfig: USVMPythonRunConfig, @@ -37,6 +24,7 @@ class PythonSymbolicAnalysisRunnerImpl( val processBuilder = setupEnvironment(runConfig) val client = ClientResources(serverSocketChannel, processBuilder) client.use { + println("Here!") // println(BufferedReader(InputStreamReader(client.process.errorStream)).readLines()) val channel = it.clientSocketChannel if (channel == null) { @@ -91,37 +79,6 @@ class PythonSymbolicAnalysisRunnerImpl( } } - private fun setupEnvironment(runConfig: USVMPythonRunConfig): ProcessBuilder { - val layout = config.distributionLayout - val functionConfig = when (runConfig.callableConfig) { - is USVMPythonFunctionConfig -> runConfig.callableConfig - } - val args = listOf( - config.javaCmd, - "-Xss50m", - "-Xmx2g", - "-Dapproximations.path=${layout.approximationsPath.canonicalPath}", - "-Djava.library.path=${layout.nativeLibPath.canonicalPath}", - "-jar", - layout.jarPath.canonicalPath, - config.mypyBuildDir, - vacantPort.toString(), - functionConfig.module, - functionConfig.name, - runConfig.timeoutPerRunMs.toString(), - runConfig.timeoutMs.toString() - ) + config.roots.toList() - - val processBuilder = ProcessBuilder(args) - - val env = processBuilder.environment() - env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" - env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath - env["PYTHONHOME"] = layout.cpythonPath.canonicalPath - - return processBuilder - } - override fun close() { serverSocketChannel.close() } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt new file mode 100644 index 0000000000..e02d0c3286 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -0,0 +1,52 @@ +package org.usvm.runner + +import java.io.File +import java.net.InetSocketAddress +import java.nio.channels.ServerSocketChannel + +open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable { + protected val serverSocketChannel: ServerSocketChannel = ServerSocketChannel.open() + private val port: InetSocketAddress + + init { + serverSocketChannel.socket().bind(InetSocketAddress(0)) + port = serverSocketChannel.localAddress as? InetSocketAddress + ?: error("Couldn't cast SocketAddress ${serverSocketChannel.localAddress} to InetSocketAddress") + println("Port: ${port.port}") + } + + override fun close() { + serverSocketChannel.close() + } + + protected fun setupEnvironment(runConfig: USVMPythonRunConfig): ProcessBuilder { + val layout = config.distributionLayout + val functionConfig = when (runConfig.callableConfig) { + is USVMPythonFunctionConfig -> runConfig.callableConfig + } + val args = listOf( + config.javaCmd, + "-Xss50m", + "-Xmx2g", + "-Dapproximations.path=${layout.approximationsPath.canonicalPath}", + "-Djava.library.path=${layout.nativeLibPath.canonicalPath}", + "-jar", + layout.jarPath.canonicalPath, + config.mypyBuildDir, + port.port.toString(), + functionConfig.module, + functionConfig.name, + runConfig.timeoutPerRunMs.toString(), + runConfig.timeoutMs.toString() + ) + config.roots.toList() + + val processBuilder = ProcessBuilder(args) + + val env = processBuilder.environment() + env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" + env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath + env["PYTHONHOME"] = layout.cpythonPath.canonicalPath + + return processBuilder + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 1d43c1e0d1..64f1a530ca 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -21,10 +21,14 @@ fun main() { 20_000, 3_000 ) - val receiver = PrintingResultReceiver() - val runner = PythonSymbolicAnalysisRunnerImpl(8888, config) + // val receiver = PrintingResultReceiver() + val debugRunner = DebugRunner(config) + debugRunner.use { + it.runProcessAndPrintInfo(runConfig) + } + /*val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { val start = System.currentTimeMillis() it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } - } + }*/ } \ No newline at end of file From 06c36423da0163dfb89ff6a2f4bd17d29418937e Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 1 Nov 2023 16:59:35 +0300 Subject: [PATCH 152/344] Fixed blocking accept() --- usvm-python/buildDistWithoutPip.sh | 1 + .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../runner/PythonSymbolicAnalysisRunner.kt | 57 +++++++++---------- .../org/usvm/runner/USVMPythonRunner.kt | 7 ++- .../test/kotlin/org/usvm/runner/manualTest.kt | 10 ++-- 5 files changed, 39 insertions(+), 38 deletions(-) diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index 16992fd216..5f8f5943af 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -4,6 +4,7 @@ ../gradlew :usvm-python:clean echo "false" > cpythonadapter/include_pip_in_build ../gradlew :usvm-python:cpythonadapter:linkDebug +../gradlew :usvm-core:build ../gradlew :usvm-python:jar ../gradlew :usvm-python:distZip echo "true" > cpythonadapter/include_pip_in_build \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 2fe617cb43..99949c9cd9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -147,7 +147,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 200U) + options = UMachineOptions(stepLimit = 220U) timeoutPerRunMs = 3000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index f709969bcd..56407ef521 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -15,47 +15,44 @@ interface PythonSymbolicAnalysisRunner: AutoCloseable { class PythonSymbolicAnalysisRunnerImpl( config: USVMPythonConfig ): USVMPythonRunner(config), PythonSymbolicAnalysisRunner { - override fun analyze( runConfig: USVMPythonRunConfig, receiver: USVMPythonAnalysisResultReceiver, isCancelled: () -> Boolean ) { val processBuilder = setupEnvironment(runConfig) - val client = ClientResources(serverSocketChannel, processBuilder) - client.use { - println("Here!") - // println(BufferedReader(InputStreamReader(client.process.errorStream)).readLines()) - val channel = it.clientSocketChannel - if (channel == null) { - logger.warn("Could not connect to usvm-python process") - return@use - } - val readingThread = ReadingThread(channel, receiver, isCancelled) - val waitingThread = WaitingThread(runConfig, channel, isCancelled) - readingThread.start() - waitingThread.start() - readingThread.join() - waitingThread.join() - } - if (!client.process.isAlive && client.process.exitValue() != 0) { + val process = processBuilder.start() + val readingThread = ReadingThread(process, serverSocketChannel, receiver, isCancelled) + val waitingThread = WaitingThread(runConfig, readingThread, isCancelled) + readingThread.start() + waitingThread.start() + readingThread.join() + waitingThread.join() + if (!process.isAlive && process.exitValue() != 0) { logger.warn("usvm-python process ended with non-null value") } } class ReadingThread( - private val channel: SocketChannel, + private val process: Process, + private val serverSocketChannel: ServerSocketChannel, private val receiver: USVMPythonAnalysisResultReceiver, private val isCancelled: () -> Boolean ): Thread() { override fun run() { try { - val input = BufferedReader(Channels.newReader(channel, "UTF-8")) - while (!isCancelled()) { - val byteStr = input.readLine() ?: break - receiver.receivePickledInputValues(byteStr) + val client = ClientResources(serverSocketChannel, process) + client.use { + if (client.clientSocketChannel == null) { + logger.warn("Could not connect to usvm-python process") + return@use + } + val input = BufferedReader(Channels.newReader(client.clientSocketChannel, "UTF-8")) + while (!isCancelled()) { + val byteStr = input.readLine() ?: break + receiver.receivePickledInputValues(byteStr) + } } - channel.close() } catch (_: ClosedChannelException) { logger.info("Interrupted usvm-python channel") } @@ -64,18 +61,18 @@ class PythonSymbolicAnalysisRunnerImpl( class WaitingThread( private val runConfig: USVMPythonRunConfig, - private val channel: SocketChannel, + private val readingThread: Thread, private val isCancelled: () -> Boolean ): Thread() { override fun run() { val start = System.currentTimeMillis() - while (System.currentTimeMillis() - start < runConfig.timeoutMs && channel.isOpen) { + while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive) { if (isCancelled()) { - channel.close() + readingThread.interrupt() } TimeUnit.MILLISECONDS.sleep(200) } - channel.close() + readingThread.interrupt() } } @@ -90,13 +87,11 @@ class PythonSymbolicAnalysisRunnerImpl( class ClientResources( serverSocketChannel: ServerSocketChannel, - processBuilder: ProcessBuilder -): AutoCloseable { val process: Process +): AutoCloseable { val clientSocketChannel: SocketChannel? init { - process = processBuilder.start() clientSocketChannel = serverSocketChannel.accept() } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index e02d0c3286..f4e2ae6970 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -1,5 +1,6 @@ package org.usvm.runner +import mu.KLogging import java.io.File import java.net.InetSocketAddress import java.nio.channels.ServerSocketChannel @@ -12,7 +13,7 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable serverSocketChannel.socket().bind(InetSocketAddress(0)) port = serverSocketChannel.localAddress as? InetSocketAddress ?: error("Couldn't cast SocketAddress ${serverSocketChannel.localAddress} to InetSocketAddress") - println("Port: ${port.port}") + logger.info("Port for usvm-python: ${port.port}") } override fun close() { @@ -49,4 +50,8 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable return processBuilder } + + companion object { + val logger = object : KLogging() {}.logger + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 64f1a530ca..6d614f8653 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -21,14 +21,14 @@ fun main() { 20_000, 3_000 ) - // val receiver = PrintingResultReceiver() - val debugRunner = DebugRunner(config) + /*val debugRunner = DebugRunner(config) debugRunner.use { it.runProcessAndPrintInfo(runConfig) - } - /*val runner = PythonSymbolicAnalysisRunnerImpl(config) + }*/ + val receiver = PrintingResultReceiver() + val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { val start = System.currentTimeMillis() it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } - }*/ + } } \ No newline at end of file From 5daab16a6026fa81fe301bca4b614252fc101b66 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 2 Nov 2023 15:45:31 +0300 Subject: [PATCH 153/344] Started working on fields --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 16 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 10 ++ usvm-python/src/test/kotlin/manualTest.kt | 103 ++++++++++++------ .../usvm/samples/SimpleCustomClassesTest.kt | 15 +++ .../usvm/samples/SimpleTypeInferenceTest.kt | 4 +- .../resources/samples/SimpleCustomClasses.py | 11 +- .../org/usvm/interpreter/CPythonAdapter.java | 2 + .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../org/usvm/language/types/TypeSystem.kt | 7 ++ .../kotlin/org/usvm/language/types/Types.kt | 2 + .../interpreters/ConcretePythonInterpreter.kt | 6 + .../interpreters/USVMPythonInterpreter.kt | 2 +- .../interpreters/operations/basic/Common.kt | 25 +++-- .../operations/basic/Constants.kt | 2 +- .../interpreters/operations/basic/Virtual.kt | 10 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 20 +++- .../machine/saving/PythonObjectSerializer.kt | 17 +++ .../org/usvm/machine/saving/SaverAPI.kt | 3 + .../ConverterToPythonObject.kt | 38 ++++++- .../symbolicobjects/ObjectValidator.kt | 8 +- .../symbolicobjects/PreallocatedObjects.kt | 23 +++- .../SymbolicObjectConstruction.kt | 12 ++ .../symbolicobjects/SymbolicObjectContents.kt | 47 +++++++- .../symbolicobjects/SymbolicPythonObject.kt | 60 +++++----- .../org/usvm/machine/utils/UHeapRefUtils.kt | 4 +- 26 files changed, 347 insertions(+), 104 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index af680d412c..8487390d09 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit af680d412c12d4d3fd9c2e4f2f43dc85789c8407 +Subproject commit 8487390d09ae3a50886212263f20b26590947c85 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 3136551113..e28c3e5b19 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -311,6 +311,22 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardN JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasStandardTpGetattro + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpGetattro + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasStandardTpSetattro + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpSetattro + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: extractException diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 330c0ebbfd..fd796c8c81 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -453,6 +453,16 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew return (jlong) result; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpGetattro(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_getattro == PyObject_GenericGetAttr && (type->tp_flags & Py_TPFLAGS_MANAGED_DICT); +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpSetattro(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_setattro == PyObject_GenericSetAttr && (type->tp_flags & Py_TPFLAGS_MANAGED_DICT); +} + JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException(JNIEnv *env, jobject _, jlong exception) { PyObject *wrapped = PyObject_GetAttrString((PyObject *) exception, "java_exception"); if (!is_wrapped_java_object(wrapped)) { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 1426d72d27..a6b811acb2 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,22 +5,23 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.machine.saving.Fail import org.usvm.machine.saving.Success +import org.usvm.machine.saving.createDictSaver import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.machine.saving.createReprSaver import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.usvm.machine.utils.withAdditionalPaths -import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.* import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.buildMypyInfo import org.utbot.python.newtyping.mypy.readMypyInfoBuild -import org.utbot.python.newtyping.pythonDescription -import org.utbot.python.newtyping.pythonTypeRepresentation import java.io.File fun main() { @@ -49,14 +50,57 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType, PythonAnyType), - "many_branches", - "SimpleExample" + listOf(typeSystem.pythonFloat), + "inf_comparison", + "Floats" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) } +private val ignoreFunctions = listOf() +private val ignoreModules = listOf( + "odd_even_transposition_parallel" +) + +private fun getFunctionInfo( + type: UtType, + name: String, + module: String, + typeSystem: PythonTypeSystemWithMypyInfo, + program: StructuredPythonProgram +): PythonUnpinnedCallable? { + val description = type.pythonDescription() + if (description !is PythonCallableTypeDescription) + return null + if (ignoreFunctions.contains(name)) + return null + // if (functionName != "bead_sort") + // return null + if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + return null + runCatching { + withAdditionalPaths(program.roots, typeSystem) { + val namespace = program.getNamespaceOfModule(module)!! + val func = ConcretePythonInterpreter.eval(namespace, name) + if (ConcretePythonInterpreter.getPythonObjectTypeName(func) != "function") { + null + } else { + func + } + } + }.getOrNull() ?: return null + println("$module.$name: ${type.pythonTypeRepresentation()}") + val callableType = type as FunctionType + return PythonUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + SupportsTypeHint(it, typeSystem) + }, + name, + module + ) +} + /* /home/tochilinak/Documents/projects/utbot/Python/dynamic_programming /home/tochilinak/Documents/projects/utbot/mypy_tmp @@ -64,7 +108,7 @@ private fun buildSampleRunConfig(): RunConfig { */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\dynamic_programming" + val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -78,10 +122,6 @@ private fun buildProjectRunConfig(): RunConfig { val mypyBuild = readMypyInfoBuild(mypyDir) val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val ignoreFunctions = listOf() - val ignoreModules = listOf( - "odd_even_transposition_parallel" - ) val functions = modules.flatMap { module -> if (module in ignoreModules) return@flatMap emptyList() @@ -90,29 +130,26 @@ private fun buildProjectRunConfig(): RunConfig { program.getNamespaceOfModule(module) } }.getOrNull() ?: return@flatMap emptyList() // skip bad modules - mypyBuild.definitions[module]!!.mapNotNull { (functionName, def) -> + mypyBuild.definitions[module]!!.flatMap { (defName, def) -> val type = def.getUtBotType() val description = type.pythonDescription() - if (description !is PythonCallableTypeDescription) - return@mapNotNull null - if (ignoreFunctions.contains(functionName)) - return@mapNotNull null - // if (functionName != "bead_sort") - // return@mapNotNull null - if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) - return@mapNotNull null - println("$module.$functionName: ${type.pythonTypeRepresentation()}") - val callableType = type as FunctionType - PythonUnpinnedCallable.constructCallableFromName( - callableType.arguments.map { - SupportsTypeHint(it, typeSystem) - }, - functionName, - module - ) + if (defName.startsWith("__")) { + emptyList() + } else if (description is PythonConcreteCompositeTypeDescription) { + val members = description.getNamedMembers(type) + members.mapNotNull { memberDef -> + if (memberDef.meta.name.startsWith("__")) + return@mapNotNull null + memberDef.type + val name = "$defName.${memberDef.meta.name}" + getFunctionInfo(memberDef.type, name, module, typeSystem, program) + } + } else { + getFunctionInfo(type, defName, module, typeSystem, program)?.let { listOf(it) } ?: emptyList() + } } } - return RunConfig(program, typeSystem, functions.take(100)) + return RunConfig(program, typeSystem, functions) } private fun checkConcolicAndConcrete(runConfig: RunConfig) { @@ -150,15 +187,15 @@ private fun analyze(runConfig: RunConfig) { println("Started analysing function ${f.tag}") try { val start = System.currentTimeMillis() - val saver = createReprSaver() + val saver = createDictSaver() val iterations = activeMachine.analyze( f, saver, - maxIterations = 70, + maxIterations = 50, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, - timeoutMs = 40_000 + timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 4935bd4d7c..3a5d593a87 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -68,4 +68,19 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto ) ) } + + @Test + fun testUseIntField() { + check1WithConcreteRun( + constructFunction("use_int_field", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AttributeError" }, + { x, res -> res.selfTypeName == "AssertionError" && x.typeName == "ClassWithField" }, + { x, res -> res.repr == "None" && x.typeName == "ClassWithField" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 99949c9cd9..4a60b948d1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -147,8 +147,8 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 220U) - timeoutPerRunMs = 3000 + options = UMachineOptions(stepLimit = 250U) + timeoutPerRunMs = 2000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py index 8d04dc6289..cec7996d52 100644 --- a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -46,4 +46,13 @@ def iterable_of_matmul(x): y = ClassWithMatmulAndAdd() for elem in x: y += elem @ 1 - assert len(x) >= 3 \ No newline at end of file + assert len(x) >= 3 + + +class ClassWithField: + def __init__(self, value): + self.field = value + + +def use_int_field(obj): + assert obj.field == 123456 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 33ad6ecfe4..cb0b737494 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -87,6 +87,8 @@ public class CPythonAdapter { public native int typeHasTpIter(long type); public native int typeHasStandardNew(long type); public native long callStandardNew(long type); + public native int typeHasStandardTpGetattro(long type); + public native int typeHasStandardTpSetattro(long type); public native Throwable extractException(long exception); public native void decref(long object); public native void incref(long object); diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index f8d76e0102..e05569387b 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -53,7 +53,7 @@ public ConcolicRunContext( if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { - this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder); + this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects()); } this.maxInstructions = maxInstructions; this.isCancelled = isCancelled; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index c2ab862acd..2a859a9b07 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -21,6 +21,8 @@ import org.utbot.python.newtyping.pythonName abstract class PythonTypeSystem: UTypeSystem { override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { + if (type is ObjectDictType || supertype == ObjectDictType) + return type == supertype if (supertype is VirtualPythonType) return supertype.accepts(type) return supertype == type @@ -40,6 +42,9 @@ abstract class PythonTypeSystem: UTypeSystem { val containsMock = types.any { it is MockType } require((concrete == null) || !containsMock) { "Error in Python's hasCommonSubtype implementation" } return when (type) { + is ObjectDictType -> { + types.all { it == ObjectDictType } + } is ConcretePythonType -> { if (concrete != null) { concrete == type @@ -60,6 +65,7 @@ abstract class PythonTypeSystem: UTypeSystem { private fun addType(type: ConcretePythonType, address: PythonObject) { addressToConcreteType[address] = type concreteTypeToAddress[type] = address + ConcretePythonInterpreter.incref(address) } protected fun addPrimitiveType(isHidden: Boolean, getter: () -> PythonObject): ConcretePythonType { val address = getter() @@ -133,6 +139,7 @@ abstract class PythonTypeSystem: UTypeSystem { val newAddress = type.addressGetter() concreteTypeToAddress[type] = newAddress addressToConcreteType[newAddress] = type + ConcretePythonInterpreter.incref(newAddress) } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 7be81c8b18..dc47805303 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -6,6 +6,8 @@ sealed class PythonType object MockType: PythonType() +object ObjectDictType: PythonType() + abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 6f0f62b9ba..6f6fabffae 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -224,11 +224,17 @@ object ConcretePythonInterpreter { val typeHasTpGetattro = createTypeQuery { pythonAdapter.typeHasTpGetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } + val typeHasStandardTpGetattro = createTypeQuery { pythonAdapter.typeHasStandardTpGetattro(it) } + val typeHasStandardTpSetattro = createTypeQuery { pythonAdapter.typeHasStandardTpSetattro(it) } fun callStandardNew(type: PythonObject): PythonObject { return PythonObject(pythonAdapter.callStandardNew(type.address)) } + fun typeHasStandardDict(type: PythonObject): Boolean { + return typeHasStandardTpGetattro(type) && typeHasStandardTpSetattro(type) && typeHasStandardNew(type) + } + fun restart() { pythonAdapter.finalizePython() initialize() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 234e9d124a..9fe2065bc5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -37,7 +37,7 @@ class USVMPythonInterpreter( concolicRunContext: ConcolicRunContext, symbols: List ): List = - symbols.map { interpretSymbolicPythonObject(it, concolicRunContext.modelHolder) as InterpretedInputSymbolicPythonObject } + symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) as InterpretedInputSymbolicPythonObject } private fun getConcrete( converter: ConverterToPythonObject, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index ee9fcb0588..6c4967e150 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -26,8 +26,8 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho if (type == typeSystem.pythonObjectType) return constructBool(ctx, ctx.ctx.trueExpr) - val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) - val concreteType = interpreted.getConcreteType(ctx) + val interpreted = interpretSymbolicPythonObject(ctx, obj) + val concreteType = interpreted.getConcreteType() return if (concreteType == null) { if (type == typeSystem.pythonInt) { // this is a common case, TODO: better solution val cond = @@ -36,7 +36,7 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho } else { myFork(ctx, obj.evalIs(ctx, type)) } - require(interpreted.getConcreteType(ctx) == null) + require(interpreted.getConcreteType() == null) constructBool(ctx, falseExpr) } else { if (type == typeSystem.pythonInt) { // this is a common case @@ -50,8 +50,8 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho fun fixateTypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject) { ctx.curState ?: return - val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) - val type = interpreted.getConcreteType(ctx) ?: return + val interpreted = interpretSymbolicPythonObject(ctx, obj) + val type = interpreted.getConcreteType() ?: return obj.addSupertype(ctx, type) } @@ -125,9 +125,18 @@ fun handlerStandardTpGetattroKt( return null val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null - val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) ?: return null - val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null - return memberDescriptor.getMember(ctx, obj) + val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) + if (concreteDescriptor != null) { + val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null + return memberDescriptor.getMember(ctx, obj) + } + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + return null + val containsFieldCond = obj.containsField(ctx, name) + myFork(ctx, containsFieldCond) + if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) + return null + return SymbolForCPython(obj.getFieldValue(ctx, name), 0) } fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPythonObject, type: ArrayLikeConcretePythonType): UninterpretedSymbolicPythonObject? { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt index 2464774f40..0e725c1019 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt @@ -26,7 +26,7 @@ fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PythonObject): Uni if (context.curState == null) return null val str = ConcretePythonInterpreter.getPythonObjectStr(value) - return context.curState!!.preAllocatedObjects.allocateStr(context, str) + return context.curState!!.preAllocatedObjects.allocateStr(context, str, value) } fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index 1b877d10da..4478ef282d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -11,7 +11,7 @@ import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) + val interpretedArg = interpretSymbolicPythonObject(context, context.curOperation!!.args.first()) if(context.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) throw UnregisteredVirtualOperation // path diversion @@ -43,7 +43,7 @@ fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boole fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { context.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = context.typeSystem - val interpretedArg = interpretSymbolicPythonObject(context.curOperation!!.args.first(), context.modelHolder) + val interpretedArg = interpretSymbolicPythonObject(context, context.curOperation!!.args.first()) require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) val (interpretedObj, symbolic) = internalVirtualCallKt(context) symbolic.addSupertypeSoft(context, typeSystem.pythonInt) @@ -86,7 +86,7 @@ private fun internalVirtualCallKt( substituteModel(context.curState!!, newModel, constraint, context) } - val concrete = interpretSymbolicPythonObject(symbolic, context.modelHolder) + val concrete = interpretSymbolicPythonObject(context, symbolic) return concrete to symbolic } @@ -99,4 +99,6 @@ fun virtualCallKt(context: ConcolicRunContext): PythonObject { fun virtualCallSymbolKt(context: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(context).second -object UnregisteredVirtualOperation: Exception() \ No newline at end of file +object UnregisteredVirtualOperation: Exception() { + private fun readResolve(): Any = UnregisteredVirtualOperation +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 2f5ee1a739..a1062995bf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -1,13 +1,12 @@ package org.usvm.machine.model import io.ksmt.sort.KIntSort -import org.usvm.UAddressSort -import org.usvm.UConcreteHeapRef -import org.usvm.UExpr -import org.usvm.USort +import org.usvm.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId import org.usvm.collection.array.USymbolicArrayIndex +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.constraints.UPathConstraints import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.language.types.ArrayType import org.usvm.language.types.PythonType @@ -17,7 +16,6 @@ import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase -import org.usvm.uctx class PyModel( @@ -53,6 +51,18 @@ class PyModel( } + /* private inner class WrappedSetRegion( + val region: UReadOnlyMemoryRegion, UBoolSort>, + val ps: UPathConstraints + ): UReadOnlyMemoryRegion, UBoolSort>{ + + val realRegion by lazy { TODO() } + override fun read(key: URefSetEntryLValue): UExpr { + return key.setRef.uctx.mkBool(key in realRegion) + } + + } */ + @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { if (regionId is UArrayRegionId<*, *, *> && diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt index d395314322..07fde0bc77 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt @@ -24,6 +24,23 @@ object ReprObjectSerializer: PythonObjectSerializer() { } } +object ObjectWithDictSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String { + val objRepr = ReprObjectSerializer.serialize(obj) + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") + return runCatching { + val dict = ConcretePythonInterpreter.eval(namespace, "obj.__dict__") + if (ConcretePythonInterpreter.getPythonObjectTypeName(dict) == "dict") { + val dictRepr = ReprObjectSerializer.serialize(dict) + "$objRepr with dict $dictRepr" + } else { + objRepr + } + }.getOrDefault(objRepr) + } +} + object PickleObjectSerializer: PythonObjectSerializer() { override fun serialize(obj: PythonObject): String? { return runCatching { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt index 74a2e98db6..5d364ee861 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt @@ -6,5 +6,8 @@ fun createStandardSaver(): PythonRepresentationSaver = fun createReprSaver(): PythonRepresentationSaver = PythonRepresentationSaver(ReprObjectSerializer) +fun createDictSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(ObjectWithDictSerializer) + fun createPickleSaver(): PythonRepresentationSaver = PythonRepresentationSaver(PickleObjectSerializer) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 240683c376..005141942a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -5,6 +5,8 @@ import org.usvm.UConcreteHeapRef import org.usvm.UHeapRef import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.isStaticHeapRef import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* import org.usvm.machine.UPythonContext @@ -18,7 +20,8 @@ import org.usvm.mkSizeExpr class ConverterToPythonObject( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, - val modelHolder: PyModelHolder + val modelHolder: PyModelHolder, + private val preallocatedObjects: PreallocatedObjects ) { private val defaultValueProvider = DefaultValueProvider(typeSystem) val forcedConcreteTypes = mutableMapOf() @@ -60,7 +63,7 @@ class ConverterToPythonObject( typeSystem.pythonFloat -> convertFloat(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) - constructFromDefaultConstructor(type) + constructFromDefaultConstructor(obj, type) else error("Could not construct instance of type $type") } @@ -108,9 +111,36 @@ class ConverterToPythonObject( } } - private fun constructFromDefaultConstructor(type: ConcretePythonType): PythonObject { + private fun constructFromDefaultConstructor(obj: InterpretedInputSymbolicPythonObject, type: ConcretePythonType): PythonObject { require(type.owner == typeSystem) - return ConcretePythonInterpreter.callStandardNew(type.asObject) + val result = ConcretePythonInterpreter.callStandardNew(type.asObject) + constructedObjects[obj.address] = result + if (ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { + preallocatedObjects.listAllocatedStrs().forEach { + val nameAddress = modelHolder.model.eval(it.address) + require(isStaticHeapRef(nameAddress)) { "Symbolic string object must be static" } + val nameSymbol = InterpretedAllocatedOrStaticSymbolicPythonObject(nameAddress, typeSystem.pythonStr, typeSystem) + if (obj.containsField(nameSymbol)) { + val str = preallocatedObjects.concreteString(it)!! + if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { + val symbolicValue = obj.getFieldValue(ctx, nameSymbol) + val value = convert(symbolicValue) + val ref = preallocatedObjects.refOfString(str)!! + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, ref, "field") + ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") + ConcretePythonInterpreter.addObjectToNamespace(namespace, value, "value") + ConcretePythonInterpreter.concreteRun( + namespace, + "setattr(obj, field, value)", + printErrorMsg = true + ) + ConcretePythonInterpreter.decref(namespace) + } + } + } + } + return result } private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt index e9b446f583..e91e477069 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt @@ -15,11 +15,11 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { private val typeSystem = concolicRunContext.typeSystem fun check(symbol: UninterpretedSymbolicPythonObject) { val modelHolder = concolicRunContext.modelHolder - val concrete = interpretSymbolicPythonObject(symbol, modelHolder) + val concrete = interpretSymbolicPythonObject(concolicRunContext, symbol) if (checked.contains(concrete.address)) return checked.add(concrete.address) - when (concrete.getConcreteType(concolicRunContext)) { + when (concrete.getConcreteType()) { typeSystem.pythonList -> checkList(symbol, modelHolder) typeSystem.pythonTuple -> checkTuple(symbol, modelHolder) else -> Unit @@ -52,8 +52,8 @@ class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { for (index in 0 until size.value) { val element = concolicRunContext.curState!!.memory.readArrayIndex(symbolic.address, mkSizeExpr(index), ArrayType, addressSort) val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) - val interpretedElem = interpretSymbolicPythonObject(elemObj, modelHolder) - if (interpretedElem.getFirstType(concolicRunContext) !is MockType) { + val interpretedElem = interpretSymbolicPythonObject(concolicRunContext, elemObj) + if (interpretedElem.getFirstType() !is MockType) { val elemTime = elemObj.getTimeOfCreation(concolicRunContext) val concreteTime = modelHolder.model.eval(time).toString().toInt() val concreteElemTime = modelHolder.model.eval(elemTime).toString().toInt() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 75d8bee22a..0a9dcbd6d2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -6,6 +6,8 @@ import org.usvm.language.PythonCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject import org.usvm.memory.UMemory class PreallocatedObjects( @@ -13,30 +15,40 @@ class PreallocatedObjects( val trueObject: UninterpretedSymbolicPythonObject, val falseObject: UninterpretedSymbolicPythonObject, private val concreteStrToSymbol: MutableMap, - private val symbolToConcreteStr: MutableMap + private val symbolToConcreteStr: MutableMap, + private val refOfString: MutableMap ) { - fun allocateStr(ctx: ConcolicRunContext, string: String): UninterpretedSymbolicPythonObject { + fun allocateStr(ctx: ConcolicRunContext, string: String, ref: PythonObject): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val cached = concreteStrToSymbol[string] if (cached != null) return cached - val result = constructEmptyObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) + val result = constructEmptyStaticObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) concreteStrToSymbol[string] = result symbolToConcreteStr[result] = string + refOfString[string] = ref + ConcretePythonInterpreter.incref(ref) return result } fun concreteString(symbol: UninterpretedSymbolicPythonObject): String? = symbolToConcreteStr[symbol] + fun refOfString(string: String): PythonObject? = + refOfString[string] + + fun listAllocatedStrs(): List = + symbolToConcreteStr.keys.toList() + fun clone(): PreallocatedObjects = PreallocatedObjects( noneObject, trueObject, falseObject, concreteStrToSymbol.toMutableMap(), - symbolToConcreteStr.toMutableMap() + symbolToConcreteStr.toMutableMap(), + refOfString.toMutableMap() ) companion object { @@ -51,7 +63,8 @@ class PreallocatedObjects( trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), concreteStrToSymbol = mutableMapOf(), - symbolToConcreteStr = mutableMapOf() + symbolToConcreteStr = mutableMapOf(), + refOfString = mutableMapOf() ) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 88531e8ee0..9eab6268e0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -42,6 +42,18 @@ fun constructEmptyObject( } } +fun constructEmptyStaticObject( + ctx: UPythonContext, + memory: UMemory, + typeSystem: PythonTypeSystem, + type: ConcretePythonType +): UninterpretedSymbolicPythonObject { + val address = memory.allocStatic(type) + return UninterpretedSymbolicPythonObject(address, typeSystem).also { + it.setMinimalTimeOfCreation(ctx, memory) + } +} + fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 766e1704d7..c2eb735857 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -6,18 +6,61 @@ import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.readArrayLength import org.usvm.api.readField import org.usvm.api.writeField +import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.ArrayType +import org.usvm.language.types.ObjectDictType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory +/** standard fields **/ + +fun UninterpretedSymbolicPythonObject.getFieldValue( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + name.addSupertype(ctx, typeSystem.pythonStr) + val addr = ctx.curState!!.symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(addr, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.containsField( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject +): UBoolExpr { + require(ctx.curState != null) + name.addSupertype(ctx, typeSystem.pythonStr) + return ctx.curState!!.symbolicObjectMapContains(address, name.address, ObjectDictType) +} + +fun InterpretedInputSymbolicPythonObject.containsField( + name: InterpretedSymbolicPythonObject +): Boolean { + require(!isAllocatedConcreteHeapRef(name.address)) + val result = modelHolder.model.uModel.read(URefSetEntryLValue(address, name.address, ObjectDictType)) + return result.isTrue +} + +fun InterpretedInputSymbolicPythonObject.getFieldValue( + ctx: UPythonContext, + name: InterpretedSymbolicPythonObject +): InterpretedInputSymbolicPythonObject { + require(!isAllocatedConcreteHeapRef(name.address)) + val result = modelHolder.model.uModel.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) + require((result as UConcreteHeapRef).address <= 0) + return InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) +} /** int **/ @@ -51,7 +94,7 @@ fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInt is InterpretedInputSymbolicPythonObject -> { getIntContent(ctx.ctx) } - is InterpretedAllocatedSymbolicPythonObject -> { + is InterpretedAllocatedOrStaticSymbolicPythonObject -> { require(ctx.curState != null) ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue } @@ -183,7 +226,7 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): KIn is InterpretedInputSymbolicPythonObject -> { getBoolContent(ctx.ctx) } - is InterpretedAllocatedSymbolicPythonObject -> { + is InterpretedAllocatedOrStaticSymbolicPythonObject -> { require(ctx.curState != null) ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index c66b6b000b..7b46ab1760 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -12,6 +12,7 @@ import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.language.types.* import org.usvm.machine.UPythonContext import org.usvm.memory.UMemory +import org.usvm.types.USingleTypeStream import org.usvm.types.UTypeStream import org.usvm.types.first @@ -87,12 +88,12 @@ class UninterpretedSymbolicPythonObject( } fun getTypeIfDefined(ctx: ConcolicRunContext): PythonType? { - val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) - return interpreted.getConcreteType(ctx) + val interpreted = interpretSymbolicPythonObject(ctx, this) + return interpreted.getConcreteType() } private fun resolvesToNullInCurrentModel(ctx: ConcolicRunContext): Boolean { - val interpreted = interpretSymbolicPythonObject(this, ctx.modelHolder) + val interpreted = interpretSymbolicPythonObject(ctx, this) return interpreted.address.address == 0 } @@ -152,9 +153,9 @@ sealed class InterpretedSymbolicPythonObject( override val address: UConcreteHeapRef, typeSystem: PythonTypeSystem ): SymbolicPythonObject(address, typeSystem) { - abstract fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? - abstract fun getFirstType(ctx: ConcolicRunContext): PythonType? - abstract fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? + abstract fun getConcreteType(): ConcretePythonType? + abstract fun getFirstType(): PythonType? + abstract fun getTypeStream(): UTypeStream? } class InterpretedInputSymbolicPythonObject( @@ -163,55 +164,54 @@ class InterpretedInputSymbolicPythonObject( typeSystem: PythonTypeSystem ): InterpretedSymbolicPythonObject(address, typeSystem) { init { - require(address.address <= 0) + require(!isStaticHeapRef(address) && !isAllocatedConcreteHeapRef(address)) } - - override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = getConcreteType() - override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getFirstType() - override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream? = getTypeStream() - - fun getFirstType(): PythonType? { + override fun getFirstType(): PythonType? { if (address.address == 0) return MockType return modelHolder.model.getFirstType(address) } - fun getConcreteType(): ConcretePythonType? { + override fun getConcreteType(): ConcretePythonType? { if (address.address == 0) return null return modelHolder.model.getConcreteType(address) } - fun getTypeStream(): UTypeStream? { + override fun getTypeStream(): UTypeStream? { if (address.address == 0) return null return modelHolder.model.uModel.typeStreamOf(address) } } -class InterpretedAllocatedSymbolicPythonObject( +class InterpretedAllocatedOrStaticSymbolicPythonObject( override val address: UConcreteHeapRef, + val type: ConcretePythonType, typeSystem: PythonTypeSystem ): InterpretedSymbolicPythonObject(address, typeSystem) { init { - require(address.address > 0) + require(isAllocatedConcreteHeapRef(address) || isStaticHeapRef(address)) } - override fun getConcreteType(ctx: ConcolicRunContext): ConcretePythonType? = - getTypeStream(ctx).first() as? ConcretePythonType + override fun getConcreteType(): ConcretePythonType = type - override fun getFirstType(ctx: ConcolicRunContext): PythonType? = getConcreteType(ctx) + override fun getFirstType(): PythonType = type - override fun getTypeStream(ctx: ConcolicRunContext): UTypeStream { - require(ctx.curState != null) - return ctx.curState!!.memory.typeStreamOf(address) - } + override fun getTypeStream(): UTypeStream = USingleTypeStream(typeSystem, type) } fun interpretSymbolicPythonObject( - obj: UninterpretedSymbolicPythonObject, - modelHolder: PyModelHolder + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject ): InterpretedSymbolicPythonObject { - val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef - if (evaluated.address > 0) - return InterpretedAllocatedSymbolicPythonObject(evaluated, obj.typeSystem) - return InterpretedInputSymbolicPythonObject(evaluated, modelHolder, obj.typeSystem) + require(ctx.curState != null) + val evaluated = ctx.modelHolder.model.eval(obj.address) as UConcreteHeapRef + if (isAllocatedConcreteHeapRef(evaluated) || isStaticHeapRef(evaluated)) { + val typeStream = ctx.curState!!.memory.typeStreamOf(evaluated) + val type = typeStream.first() + require(typeStream.take(2).size == 1 && type is ConcretePythonType) { + "Static and allocated objects must have concrete types" + } + return InterpretedAllocatedOrStaticSymbolicPythonObject(evaluated, type, obj.typeSystem) + } + return InterpretedInputSymbolicPythonObject(evaluated, ctx.modelHolder, obj.typeSystem) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 3b23460918..7e6e39e5c0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -25,9 +25,9 @@ fun getLeafHeapRef(ref: UHeapRef, model: PyModelWrapper): UHeapRef = fun getTypeStreamForDelayedFork(obj: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext): UTypeStream { require(ctx.curState != null) - val interpreted = interpretSymbolicPythonObject(obj, ctx.modelHolder) + val interpreted = interpretSymbolicPythonObject(ctx, obj) if (interpreted.address.address != 0) - return interpreted.getTypeStream(ctx)!! + return interpreted.getTypeStream()!! val leaf = getLeafHeapRef(obj.address, ctx.curState!!.pyModel) return ctx.curState!!.memory.typeStreamOf(leaf) } \ No newline at end of file From d939644987b25af5ab791483c0647da6b9a23a17 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 2 Nov 2023 19:20:17 +0300 Subject: [PATCH 154/344] Supported calls of python methods --- usvm-python/cpythonadapter/cpython | 2 +- .../cpythonadapter/src/main/c/descriptors.c | 6 ++ .../src/main/c/include/manual_handlers.h | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 +++ .../src/main/c/include/symbolic_methods.h | 1 + .../src/main/c/manual_handlers.c | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 7 +- .../src/main/c/symbolic_methods.c | 12 ++++ usvm-python/src/test/kotlin/manualTest.kt | 10 +-- .../kotlin/org/usvm/samples/MethodsTest.kt | 39 +++++++++++ .../src/test/resources/samples/Methods.py | 16 +++++ .../org/usvm/interpreter/CPythonAdapter.java | 3 + .../interpreters/ConcretePythonInterpreter.kt | 6 ++ .../interpreters/USVMPythonInterpreter.kt | 4 +- .../interpreters/operations/basic/Common.kt | 14 ++-- .../interpreters/operations/basic/List.kt | 12 ++-- .../interpreters/operations/basic/Long.kt | 4 ++ .../interpreters/operations/basic/Tuple.kt | 6 +- .../descriptors/PythonMethodDescriptor.kt | 14 ++++ .../kotlin/org/usvm/machine/model/PyModel.kt | 26 ++++++-- .../ConverterToPythonObject.kt | 6 +- .../symbolicobjects/ObjectValidator.kt | 65 ------------------- .../symbolicobjects/SymbolicObjectContents.kt | 21 ++++-- .../test/kotlin/org/usvm/runner/manualTest.kt | 8 +-- 24 files changed, 185 insertions(+), 109 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt create mode 100644 usvm-python/src/test/resources/samples/Methods.py create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 8487390d09..2ae9b634d2 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 8487390d09ae3a50886212263f20b26590947c85 +Subproject commit 2ae9b634d248372a3a60b85e8880e4afd6c7fa77 diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index fd3c4b17b3..0d6b3f8ae0 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -7,6 +7,12 @@ jobject get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete_descriptor) { jclass cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); + + if (PyFunction_Check(concrete_descriptor)) { + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "pythonMethodDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + return (*env)->GetObjectField(env, cpython_adapter, field_id); + } + METHOD_DESCRIPTORS MEMBER_DESCRIPTORS return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h index 20f473d667..c0350451fb 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h +++ b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h @@ -10,7 +10,7 @@ extern "C" { PyObject *handler_symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args, PyObject *kwargs); int handler_is_pycfunction_with_approximation(void *ctx_raw, PyObject *self); PyObject *handler_approximate_pycfunction_call(void *ctx_raw, int *approximated, PyObject *callable, PyObject *self, PyObject *args, PyObject *kwargs); -PyObject *handler_extract_symbolic_self_from_pycfunction(void *ctx_raw, PyObject *callable); +PyObject *handler_extract_self_from_method(void *ctx_raw, PyObject *callable); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index e28c3e5b19..88c7927369 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -391,6 +391,14 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartia JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation (JNIEnv *, jobject, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: constructPartiallyAppliedPythonMethod + * Signature: (Lorg/usvm/language/SymbolForCPython;)J + */ +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedPythonMethod + (JNIEnv *, jobject, jobject); + #ifdef __cplusplus } #endif diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 84a6b133c6..9a58f3fe32 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -22,6 +22,7 @@ typedef struct { void clean_methods(); SymbolicMethod *construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call); SymbolicMethod *construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref); +SymbolicMethod *construct_python_method_with_self(JNIEnv *env, jobject symbolic_self); PyObject *call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs); PyObject *approximate_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, int *approximated, PyObject *wrapped_self, PyObject *args, PyObject *kwargs); diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index ed712c3a3b..5420c4e3de 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -35,7 +35,7 @@ handler_approximate_pycfunction_call(void *ctx_raw, int *approximated, PyObject } PyObject * -handler_extract_symbolic_self_from_pycfunction(void *ctx_raw, PyObject *callable) { +handler_extract_self_from_method(void *ctx_raw, PyObject *callable) { ConcolicContext *ctx = (ConcolicContext *) ctx_raw; SymbolicMethod *method = extract_symbolic_method(ctx, callable); if (!method || !method->self_reference) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index fd796c8c81..4700b4fd8d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -223,7 +223,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( adapter->symbolic_tp_call = handler_symbolic_tp_call; adapter->is_pycfunction_with_approximation = handler_is_pycfunction_with_approximation; adapter->approximate_pycfunction_call = handler_approximate_pycfunction_call; - adapter->extract_symbolic_self_from_pycfunction = handler_extract_symbolic_self_from_pycfunction; + adapter->extract_symbolic_self_from_pycfunction = handler_extract_self_from_method; + adapter->extract_self_from_method = handler_extract_self_from_method; register_approximations(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); @@ -510,4 +511,8 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartia JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation(JNIEnv *env, jobject _, jobject self, jlong approximation_ref) { assert(approximation_ref); return (jlong) construct_approximation(env, self, (PyObject *) approximation_ref); +} + +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedPythonMethod(JNIEnv *env, jobject _, jobject self) { + return (jlong) construct_python_method_with_self(env, self); } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index c757d9a99a..8c7282d674 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -33,6 +33,18 @@ construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_typ return result; } +SymbolicMethod * +construct_python_method_with_self(JNIEnv *env, jobject symbolic_self) { + assert(methods_holder); + SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); + result->self_reference = create_global_ref(env, symbolic_self); + result->call = 0; + result->approximation_check_ref = 0; + result->approximation_run_ref = 0; + add_ref_to_list(&methods_holder, result); + return result; +} + SymbolicMethod * construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref) { assert(PyType_Check(approximation_ref)); diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a6b811acb2..b8bb0532d7 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -50,9 +50,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonFloat), - "inf_comparison", - "Floats" + listOf(PythonAnyType), + "external_function", + "Methods" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -194,8 +194,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 50, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 30_000 + // timeoutPerRunMs = 4_000, + // timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt new file mode 100644 index 0000000000..d7181bfc98 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -0,0 +1,39 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptions(stepLimit = 20U)) { + @Test + fun testPointGetInfo() { + check1WithConcreteRun( + constructFunction("Point.get_info", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, res -> res.repr == "'same'"}, + {_, res -> res.repr == "'x is less that y'"}, + {_, res -> res.repr == "'y is less that x'"} + ) + ) + } + + @Test + fun testExternalFunction() { + check1WithConcreteRun( + constructFunction("external_function", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, res -> res.repr == "'same'"}, + {_, res -> res.repr == "'x is less that y'"}, + {_, res -> res.repr == "'y is less that x'"} + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py new file mode 100644 index 0000000000..730f48e982 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -0,0 +1,16 @@ +class Point: + def __init__(self, x, y): + self.x = x + self.y = y + + def get_info(self): + if self.x == self.y: + return "same" + elif self.x < self.y: + return "x is less that y" + else: + return "y is less that x" + + +def external_function(p): + return p.get_info() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index cb0b737494..0ff9edcd04 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -98,6 +98,7 @@ public class CPythonAdapter { public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); public native long constructPartiallyAppliedSymbolicMethod(SymbolForCPython self, long methodRef); public native long constructApproximation(SymbolForCPython self, long approximationRef); + public native long constructPartiallyAppliedPythonMethod(SymbolForCPython self); static { System.loadLibrary("cpythonadapter"); } @@ -994,4 +995,6 @@ public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext contex @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "step") public MemberDescriptor sliceStepDescriptor = SliceStepDescriptor.INSTANCE; + + public MemberDescriptor pythonMethodDescriptor = PythonMethodDescriptor.INSTANCE; } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 6f6fabffae..2bea1af481 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -203,6 +203,12 @@ object ConcretePythonInterpreter { return SymbolForCPython(null, ref) } + fun constructPartiallyAppliedPythonMethod(self: SymbolForCPython): SymbolForCPython { + val ref = pythonAdapter.constructPartiallyAppliedPythonMethod(self) + require(ref != 0L) + return SymbolForCPython(null, ref) + } + private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 9fe2065bc5..47f6d470a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -66,6 +66,7 @@ class USVMPythonInterpreter( state.meta.lastConverter!!.modelHolder else PyModelHolder(state.pyModel) + require(modelHolder.model == state.pyModel) { "Bad model inside modelHolder!" } val start = System.currentTimeMillis() val concolicRunContext = ConcolicRunContext( @@ -88,11 +89,10 @@ class USVMPythonInterpreter( require(state.pyModel.uModel is PyModel) { "Did not call .toPyModel on model from solver" } - val validator = ObjectValidator(concolicRunContext) val symbols = state.inputSymbols - symbols.forEach { validator.check(it) } val seeds = getSeeds(concolicRunContext, symbols) val converter = concolicRunContext.converter + state.meta.lastConverter = null val concrete = getConcrete(converter, seeds, symbols) val virtualObjects = converter.getPythonVirtualObjects() val madeInputSerialization: Boolean = runCatching { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 6c4967e150..070dd0339f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -4,7 +4,6 @@ import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized -import org.usvm.api.readArrayLength import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse @@ -133,9 +132,12 @@ fun handlerStandardTpGetattroKt( if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) return null val containsFieldCond = obj.containsField(ctx, name) - myFork(ctx, containsFieldCond) - if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) + if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { + myFork(ctx, containsFieldCond) return null + } else { + myAssert(ctx, containsFieldCond) + } return SymbolForCPython(obj.getFieldValue(ctx, name), 0) } @@ -144,7 +146,7 @@ fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPython return null if (array.getTypeIfDefined(context) != type) return null - val listSize = context.curState!!.memory.readArrayLength(array.address, ArrayType, context.ctx.intSort) + val listSize = array.readArrayLength(context) return constructInt(context, listSize) } @@ -162,7 +164,7 @@ fun resolveSequenceIndex( index.addSupertypeSoft(ctx, typeSystem.pythonInt) seq.addSupertypeSoft(ctx, type) - val listSize = ctx.curState!!.memory.readArrayLength(seq.address, ArrayType, intSort) + val listSize = seq.readArrayLength(ctx) val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) @@ -190,7 +192,7 @@ fun addPossibleSupertypes( possibleTypes: List ) = with(ctx.ctx) { val cond = objs.fold(trueExpr as UBoolExpr) { outerAcc, obj -> - val curCond = possibleTypes.fold(trueExpr as UBoolExpr) { acc, type -> acc or obj.evalIsSoft(ctx, type) } + val curCond = possibleTypes.fold(trueExpr as UBoolExpr) { acc, type -> acc or obj.evalIs(ctx, type) } outerAcc and curCond } myAssert(ctx, cond) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt index 5942a9500d..4c7a0c7c74 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt @@ -40,8 +40,8 @@ private fun listConcat( dst.extendConstraints(ctx, left) dst.extendConstraints(ctx, right) with (ctx.ctx) { - val leftSize = ctx.curState!!.memory.readArrayLength(left.address, ArrayType, intSort) - val rightSize = ctx.curState!!.memory.readArrayLength(right.address, ArrayType, intSort) + val leftSize = left.readArrayLength(ctx) + val rightSize = right.readArrayLength(ctx) ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType, intSort) ctx.curState!!.memory.memcpy(left.address, dst.address, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) ctx.curState!!.memory.memcpy(right.address, dst.address, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) @@ -89,7 +89,7 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) return null with (ctx.ctx) { - val currentSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) + val currentSize = list.readArrayLength(ctx) list.writeElement(ctx, currentSize, elem) ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) return list @@ -110,7 +110,7 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy val typeSystem = ctx.typeSystem val (listAddress, index) = iterator.getListIteratorContent(ctx) - val listSize = ctx.curState!!.memory.readArrayLength(listAddress, ArrayType, intSort) + val listSize = UninterpretedSymbolicPythonObject(listAddress, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt listSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) @@ -127,7 +127,7 @@ private fun listPop( ind: UExpr? = null, ): UninterpretedSymbolicPythonObject? { with(ctx.ctx) { - val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) + val listSize = list.readArrayLength(ctx) val sizeCond = listSize gt (ind ?: mkIntNum(0)) myFork(ctx, sizeCond) if (ctx.modelHolder.model.eval(sizeCond).isFalse) @@ -167,7 +167,7 @@ fun handlerListInsertKt( ind.addSupertype(ctx, ctx.typeSystem.pythonInt) with(ctx.ctx) { - val listSize = ctx.curState!!.memory.readArrayLength(list.address, ArrayType, intSort) + val listSize = list.readArrayLength(ctx) val indValueRaw = ind.getIntContent(ctx) val indValue = mkIte( indValueRaw lt listSize, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt index 62d317b185..4d86063bc1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt @@ -18,6 +18,10 @@ private fun createBinaryIntOp( val typeSystem = ctx.typeSystem val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) + myAssert(ctx, ctx.ctx.mkHeapRefEq(left.address, ctx.ctx.nullRef).not()) + if (ctx.modelHolder.model.eval(left.address) == ctx.modelHolder.model.eval(ctx.ctx.nullRef)) { + println() + } op( ctx, left.getToIntContent(ctx) ?: return@with null, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt index 0bba4537f4..99dfbdd78c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt @@ -1,9 +1,7 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.* -import org.usvm.api.readArrayLength import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.ArrayType import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream import kotlin.streams.asSequence @@ -27,7 +25,7 @@ fun handlerTupleIteratorNextKt( return null val typeSystem = ctx.typeSystem val (tuple, index) = iterator.getTupleIteratorContent(ctx) - val tupleSize = ctx.curState!!.memory.readArrayLength(tuple, ArrayType, ctx.ctx.intSort) + val tupleSize = UninterpretedSymbolicPythonObject(tuple, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt tupleSize myFork(ctx, indexCond) if (ctx.curState!!.pyModel.eval(indexCond).isFalse) @@ -45,7 +43,7 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth myFork(ctx, iterable.evalIs(ctx, typeSystem.pythonTuple)) return } - val tupleSize = ctx.curState!!.memory.readArrayLength(iterable.address, ArrayType, ctx.ctx.intSort) + val tupleSize = iterable.readArrayLength(ctx) myFork(ctx, tupleSize eq mkIntNum(count)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt new file mode 100644 index 0000000000..75cc7813a4 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt @@ -0,0 +1,14 @@ +package org.usvm.machine.interpreters.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object PythonMethodDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + require(owner != null) { "Python method must always have an owner" } + return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index a1062995bf..3d0a92348a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -4,9 +4,9 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId -import org.usvm.collection.array.USymbolicArrayIndex -import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.constraints.UPathConstraints +import org.usvm.collection.array.length.UArrayLengthLValue +import org.usvm.collection.array.length.UArrayLengthsRegion +import org.usvm.collection.array.length.UArrayLengthsRegionId import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.language.types.ArrayType import org.usvm.language.types.PythonType @@ -30,7 +30,7 @@ class PyModel( underlyingModel.regions, underlyingModel.nullRef ) { - private inner class WrappedRegion( + private inner class WrappedArrayIndexRegion( val region: UReadOnlyMemoryRegion, UAddressSort>, val model: PyModel, val ctx: UPythonContext @@ -48,7 +48,19 @@ class PyModel( } return nullRef } + } + private inner class WrappedArrayLengthRegion( + val ctx: UPythonContext, + val region: UReadOnlyMemoryRegion, KIntSort> + ): UReadOnlyMemoryRegion, KIntSort> { + override fun read(key: UArrayLengthLValue): UExpr { + val underlyingResult = region.read(key) + if (ctx.mkArithLt(underlyingResult, ctx.mkIntNum(0)).isTrue) { + return ctx.mkIntNum(0) + } + return underlyingResult + } } /* private inner class WrappedSetRegion( @@ -70,7 +82,11 @@ class PyModel( regionId.arrayType == ArrayType ) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> - return WrappedRegion(region, this, ctx) as UReadOnlyMemoryRegion + return WrappedArrayIndexRegion(region, this, ctx) as UReadOnlyMemoryRegion + } + if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && regionId.arrayType == ArrayType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, KIntSort> + return WrappedArrayLengthRegion(ctx, region) as UReadOnlyMemoryRegion } return super.getRegion(regionId) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 005141942a..ef2247e87d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -4,8 +4,6 @@ import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef import org.usvm.UHeapRef import org.usvm.api.readArrayIndex -import org.usvm.api.readArrayLength -import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.isStaticHeapRef import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* @@ -95,7 +93,7 @@ class ConverterToPythonObject( private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, ): List { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType, ctx.intSort) as KInt32NumExpr + val size = obj.readArrayLength(ctx) as KInt32NumExpr return List(size.value) { index -> val indexExpr = ctx.mkSizeExpr(index) val element = obj.modelHolder.model.uModel.readArrayIndex( @@ -180,7 +178,7 @@ class ConverterToPythonObject( } private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val size = obj.modelHolder.model.uModel.readArrayLength(obj.address, ArrayType, ctx.intSort) as KInt32NumExpr + val size = obj.readArrayLength(ctx) as KInt32NumExpr val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple val listOfPythonObjects = constructArrayContents(obj) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt deleted file mode 100644 index e91e477069..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ObjectValidator.kt +++ /dev/null @@ -1,65 +0,0 @@ -package org.usvm.machine.symbolicobjects - -import io.ksmt.expr.KInt32NumExpr -import org.usvm.* -import org.usvm.api.readArrayIndex -import org.usvm.api.readArrayLength -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.ArrayType -import org.usvm.language.types.MockType -import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.interpreters.operations.basic.myAssert - -class ObjectValidator(private val concolicRunContext: ConcolicRunContext) { - private val checked = mutableSetOf() - private val typeSystem = concolicRunContext.typeSystem - fun check(symbol: UninterpretedSymbolicPythonObject) { - val modelHolder = concolicRunContext.modelHolder - val concrete = interpretSymbolicPythonObject(concolicRunContext, symbol) - if (checked.contains(concrete.address)) - return - checked.add(concrete.address) - when (concrete.getConcreteType()) { - typeSystem.pythonList -> checkList(symbol, modelHolder) - typeSystem.pythonTuple -> checkTuple(symbol, modelHolder) - else -> Unit - } - } - - private fun checkList(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { - require(concolicRunContext.curState != null) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType, intSort) - myAssert(concolicRunContext, mkAnd(symbolicSize ge mkIntNum(0), symbolicSize le mkIntNum(100_000))) - val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr - List(size.value) { index -> - val element = concolicRunContext.curState!!.memory.readArrayIndex( - symbolic.address, - mkSizeExpr(index), - ArrayType, - addressSort - ) - val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) - check(elemObj) - } - } - - private fun checkTuple(symbolic: UninterpretedSymbolicPythonObject, modelHolder: PyModelHolder) = with(concolicRunContext.ctx) { - require(concolicRunContext.curState != null) - val time = symbolic.getTimeOfCreation(concolicRunContext) - val symbolicSize = concolicRunContext.curState!!.memory.readArrayLength(symbolic.address, ArrayType, intSort) - myAssert(concolicRunContext, symbolicSize ge mkIntNum(0)) - val size = modelHolder.model.eval(symbolicSize) as KInt32NumExpr - for (index in 0 until size.value) { - val element = concolicRunContext.curState!!.memory.readArrayIndex(symbolic.address, mkSizeExpr(index), ArrayType, addressSort) - val elemObj = UninterpretedSymbolicPythonObject(element, typeSystem) - val interpretedElem = interpretSymbolicPythonObject(concolicRunContext, elemObj) - if (interpretedElem.getFirstType() !is MockType) { - val elemTime = elemObj.getTimeOfCreation(concolicRunContext) - val concreteTime = modelHolder.model.eval(time).toString().toInt() - val concreteElemTime = modelHolder.model.eval(elemTime).toString().toInt() - require(concreteTime > concreteElemTime) - } - check(elemObj) - } - } -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index c2eb735857..cd06a57246 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -15,11 +15,9 @@ import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.language.types.ArrayType -import org.usvm.language.types.ObjectDictType -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.* import org.usvm.machine.UPythonContext +import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory @@ -62,6 +60,21 @@ fun InterpretedInputSymbolicPythonObject.getFieldValue( return InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) } +/** arrays (list, tuple) **/ + +fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val result = ctx.curState!!.memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) + myAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) + return result +} + +fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: UPythonContext): UExpr { + require(getConcreteType() != null && getConcreteType() is ArrayLikeConcretePythonType) + return modelHolder.model.uModel.readArrayLength(address, ArrayType, ctx.intSort) +} + /** int **/ fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 6d614f8653..35412bf5d7 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -15,10 +15,10 @@ fun main() { ) val runConfig = USVMPythonRunConfig( USVMPythonFunctionConfig( - "SimpleTypeInference", - "range_loop" + "Methods", + "external_function" ), - 20_000, + 10_000, 3_000 ) /*val debugRunner = DebugRunner(config) @@ -29,6 +29,6 @@ fun main() { val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { val start = System.currentTimeMillis() - it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } + it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 20_000 } } } \ No newline at end of file From ec23ad6442fde4daacde4c31886bf21ef518fc60 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Sat, 4 Nov 2023 21:26:06 +0300 Subject: [PATCH 155/344] preparations for further objects support --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++++++ .../src/main/c/manual_handlers.c | 2 ++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +++++ .../src/main/c/virtual_objects.c | 8 ++++++++ usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- .../src/test/resources/samples/Methods.py | 20 +++++++++++++++++++ .../org/usvm/interpreter/CPythonAdapter.java | 13 ++++++++++++ .../kotlin/org/usvm/language/Callables.kt | 1 + .../org/usvm/language/types/VirtualTypes.kt | 5 +++++ .../interpreters/ConcretePythonInterpreter.kt | 1 + .../operations/basic/MethodNotifications.kt | 6 ++++++ .../types/prioritization/SymbolTypeTree.kt | 5 +++++ 13 files changed, 77 insertions(+), 3 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 2ae9b634d2..3bce06a5ef 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 2ae9b634d248372a3a60b85e8880e4afd6c7fa77 +Subproject commit 3bce06a5efa9747bcfb32f546172e17b7878c56e diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 88c7927369..f40a4387d8 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -287,6 +287,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpGetattro (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpSetattro + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpSetattro + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpIter diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index 5420c4e3de..b866ea17cc 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -1,6 +1,8 @@ #include "manual_handlers.h" #include "symbolic_methods.h" +#include "approximation_defs.h" + static SymbolicMethod * extract_symbolic_method(ConcolicContext *ctx, PyObject *py_symbol) { if (!is_wrapped_java_object(py_symbol)) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 4700b4fd8d..ef39013521 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -434,6 +434,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpGetattr return type->tp_getattro != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpSetattro(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_setattro != 0; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_iter != 0; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 6ff5666df1..f1d36476c1 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -149,6 +149,13 @@ mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { } PyType_Slot Virtual_mp_ass_subscript = {Py_mp_ass_subscript, mp_ass_subscript}; +static int +tp_setattro(PyObject *self, PyObject *attr, PyObject *value) { + assert(is_virtual_object(self)); + MAKE_USVM_VIRUAL_CALL_NO_RETURN((VirtualPythonObject *) self, 0) +} +PyType_Slot Virtual_tp_setattro = {Py_tp_setattro, tp_setattro}; + PyTypeObject *VirtualPythonObject_Type = 0; @@ -158,6 +165,7 @@ initialize_virtual_object_type() { Virtual_tp_dealloc, Virtual_tp_richcompare, Virtual_tp_getattro, + Virtual_tp_setattro, Virtual_tp_iter, Virtual_nb_bool, Virtual_nb_add, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index b8bb0532d7..25b6885f84 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -50,8 +50,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "external_function", + listOf(PythonAnyType, typeSystem.pythonInt), + "set_attribute", "Methods" ) val functions = listOf(function) diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index 730f48e982..fcc337e3cf 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -13,4 +13,24 @@ def get_info(self): def external_function(p): + return p.get_info() + + +def set_attribute(p, x: int): + p.x = x + assert p.x == 239 + + +class ClassWithoutInit: + field: int + + +def call_of_object_constructor(value: int): + obj = ClassWithoutInit() + obj.field = value + assert obj.field == 239 + + +def call_of_slot_constructor(x: int, y: int): + p = Point(x, y) return p.get_info() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 0ff9edcd04..351cc5cc33 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -84,6 +84,7 @@ public class CPythonAdapter { public native int typeHasMpAssSubscript(long type); public native int typeHasTpRichcmp(long type); public native int typeHasTpGetattro(long type); + public native int typeHasTpSetattro(long type); public native int typeHasTpIter(long type); public native int typeHasStandardNew(long type); public native long callStandardNew(long type); @@ -877,6 +878,18 @@ public static void notifyTpGetattro(ConcolicRunContext context, SymbolForCPython tpGetattroKt(context, on.obj, name.obj); } + @CPythonAdapterJavaMethod(cName = "tp_setattro") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void notifyTpSetattro(ConcolicRunContext context, SymbolForCPython on, SymbolForCPython name, SymbolForCPython value) { + if (on.obj == null || name.obj == null) + return; + context.curOperation = new MockHeader(TpSetattro.INSTANCE, Arrays.asList(on.obj, name.obj, value.obj), on.obj); + tpSetattroKt(context, on.obj, name.obj); + } + @CPythonAdapterJavaMethod(cName = "tp_iter") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index cc5d01add3..3ee6471c3d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -38,4 +38,5 @@ object MpSubscriptMethod: TypeMethod(false) object MpAssSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) object TpGetattro: TypeMethod(false) +object TpSetattro: TypeMethod(false) object TpIterMethod: TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index fd5ce7bff7..3dd7a23a9d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -125,6 +125,11 @@ object HasTpGetattro: TypeProtocol() { ConcretePythonInterpreter.typeHasTpGetattro(type.asObject) } +object HasTpSetattro: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpSetattro(type.asObject) +} + object HasTpIter: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpIter(type.asObject) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 2bea1af481..dce1b4b871 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -228,6 +228,7 @@ object ConcretePythonInterpreter { val typeHasMpAssSubscript = createTypeQuery { pythonAdapter.typeHasMpAssSubscript(it) } val typeHasTpRichcmp = createTypeQuery { pythonAdapter.typeHasTpRichcmp(it) } val typeHasTpGetattro = createTypeQuery { pythonAdapter.typeHasTpGetattro(it) } + val typeHasTpSetattro = createTypeQuery { pythonAdapter.typeHasTpSetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } val typeHasStandardTpGetattro = createTypeQuery { pythonAdapter.typeHasStandardTpGetattro(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index ae67600a1c..baa4027e8d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -60,6 +60,12 @@ fun tpGetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObj myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) } +fun tpSetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasTpSetattro)) + myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) +} + fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpIter)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index f6aa34f8ae..cf38875936 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -50,6 +50,11 @@ class SymbolTypeTree( ?: return@mapNotNull null { returnType: UtType -> createUnaryProtocol(attribute, returnType) } } + TpSetattro -> { + val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) + ?: return@mapNotNull null + { _: UtType -> createUnaryProtocol(attribute, pythonAnyType) } + } is TpRichcmpMethod -> { returnType: UtType -> when (mockHeader.method.op) { ConcretePythonInterpreter.pyEQ -> From dda4ea1e25106a773991d1900aab7fe92533c5d6 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Sun, 5 Nov 2023 12:44:47 +0300 Subject: [PATCH 156/344] Fixed some crashes --- .../usvm/solver/USoftConstraintsProvider.kt | 4 ++- usvm-python/src/test/kotlin/manualTest.kt | 12 ++++---- .../org/usvm/interpreter/CPythonAdapter.java | 10 +++---- .../org/usvm/machine/PythonExecutionState.kt | 1 + .../interpreters/USVMPythonInterpreter.kt | 8 +++++- .../ConverterToPythonObject.kt | 28 ++++++++++++++----- .../usvm/machine/utils/GlobalParameters.kt | 3 +- 7 files changed, 46 insertions(+), 20 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt index aed3d5b55a..ab414d04f6 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt @@ -146,8 +146,10 @@ open class USoftConstraintsProvider( val arraySize1 = mkSizeLeExpr(expr, mkSizeExpr(1)) val arraySize16 = mkSizeLeExpr(expr, mkSizeExpr(16)) val arraySize256 = mkSizeLeExpr(expr, mkSizeExpr(256)) + val arraySize16000 = mkSizeLeExpr(expr, mkSizeExpr(16_000)) + val arraySize100000 = mkSizeLeExpr(expr, mkSizeExpr(100_000)) - caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + arraySize16000 + arraySize100000 } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 25b6885f84..88add44731 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -26,8 +26,8 @@ import java.io.File fun main() { // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -75,7 +75,9 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - // if (functionName != "bead_sort") + //if (module != "segment_tree_other") + // return null + //if (name != "SegmentTree.update") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -194,8 +196,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 50, allowPathDiversion = true, maxInstructions = 50_000, - // timeoutPerRunMs = 4_000, - // timeoutMs = 30_000 + timeoutPerRunMs = 4_000, + timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 351cc5cc33..e218a6bde8 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -788,7 +788,7 @@ public static void notifyNbAdd(ConcolicRunContext context, SymbolForCPython left argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} ) public static void notifyNbSubtract(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - if (left.obj == null) + if (left.obj == null || right.obj == null) return; context.curOperation = new MockHeader(NbSubtractMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); nbSubtractKt(context, left.obj); @@ -812,7 +812,7 @@ public static void notifyNbMultiply(ConcolicRunContext context, SymbolForCPython argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} ) public static void notifyNbMatrixMultiply(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - if (left.obj == null) + if (left.obj == null || right.obj == null) return; context.curOperation = new MockHeader(NbMatrixMultiplyMethod.INSTANCE, Arrays.asList(left.obj, right.obj), left.obj); nbMatrixMultiplyKt(context, left.obj); @@ -836,7 +836,7 @@ public static void notifySqLength(ConcolicRunContext context, SymbolForCPython o argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} ) public static void notifyMpSubscript(ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item) { - if (storage.obj == null) + if (storage.obj == null || item.obj == null) return; context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj), storage.obj); mpSubscriptKt(context, storage.obj); @@ -848,7 +848,7 @@ public static void notifyMpSubscript(ConcolicRunContext context, SymbolForCPytho argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} ) public static void notifyMpAssSubscript(ConcolicRunContext context, SymbolForCPython storage, SymbolForCPython item, SymbolForCPython value) { - if (storage.obj == null) + if (storage.obj == null || item.obj == null || value.obj == null) return; context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj, value.obj), storage.obj); mpAssSubscriptKt(context, storage.obj); @@ -860,7 +860,7 @@ public static void notifyMpAssSubscript(ConcolicRunContext context, SymbolForCPy argConverters = {ObjectConverter.IntConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} ) public static void notifyTpRichcmp(ConcolicRunContext context, int op, SymbolForCPython left, SymbolForCPython right) { - if (left.obj == null) + if (left.obj == null || right.obj == null) return; context.curOperation = new MockHeader(new TpRichcmpMethod(op), Arrays.asList(left.obj, right.obj), left.obj); tpRichcmpKt(context, left.obj); diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index d00e780775..837c294df9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -80,6 +80,7 @@ class PythonExecutionState( val cached = mocks[what] if (cached != null) return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) + // println("what.args: ${what.args}") val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 47f6d470a6..ba91a458a3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -93,7 +93,13 @@ class USVMPythonInterpreter( val seeds = getSeeds(concolicRunContext, symbols) val converter = concolicRunContext.converter state.meta.lastConverter = null - val concrete = getConcrete(converter, seeds, symbols) + val concrete = try { + getConcrete(converter, seeds, symbols) + } catch (_: LengthOverflowException) { + logger.warn("Step result: length overflow") + state.meta.modelDied = true + return@runBlocking StepResult(emptySequence(), false) + } val virtualObjects = converter.getPythonVirtualObjects() val madeInputSerialization: Boolean = runCatching { getInputs(converter, concrete, seeds) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index ef2247e87d..323262908f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -12,6 +12,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.utils.DefaultValueProvider +import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder import org.usvm.mkSizeExpr @@ -93,7 +94,9 @@ class ConverterToPythonObject( private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, ): List { - val size = obj.readArrayLength(ctx) as KInt32NumExpr + val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException + if (size.value > MAX_INPUT_ARRAY_LENGTH) + throw LengthOverflowException return List(size.value) { index -> val indexExpr = ctx.mkSizeExpr(index) val element = obj.modelHolder.model.uModel.readArrayIndex( @@ -126,13 +129,20 @@ class ConverterToPythonObject( val ref = preallocatedObjects.refOfString(str)!! val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, ref, "field") - ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") - ConcretePythonInterpreter.addObjectToNamespace(namespace, value, "value") - ConcretePythonInterpreter.concreteRun( + ConcretePythonInterpreter.concreteRun(namespace, "import keyword") + val isValidName = ConcretePythonInterpreter.eval( namespace, - "setattr(obj, field, value)", - printErrorMsg = true + "field.isidentifier() and not keyword.iskeyword(field)" ) + if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { + ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") + ConcretePythonInterpreter.addObjectToNamespace(namespace, value, "value") + ConcretePythonInterpreter.concreteRun( + namespace, + "setattr(obj, field, value)", + printErrorMsg = true + ) + } ConcretePythonInterpreter.decref(namespace) } } @@ -178,7 +188,7 @@ class ConverterToPythonObject( } private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val size = obj.readArrayLength(ctx) as KInt32NumExpr + val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple val listOfPythonObjects = constructArrayContents(obj) @@ -195,4 +205,8 @@ class ConverterToPythonObject( val stepStr = step?.toString() ?: "None" return ConcretePythonInterpreter.eval(emptyNamespace, "slice($startStr, $stopStr, $stepStr)") } +} + +object LengthOverflowException: Exception() { + private fun readResolve(): Any = LengthOverflowException } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt index 9169d4dcc5..a73d0d8792 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt @@ -1,3 +1,4 @@ package org.usvm.machine.utils -const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 \ No newline at end of file +const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 +const val MAX_INPUT_ARRAY_LENGTH = 100_000 \ No newline at end of file From 45d496618502e1089253780d5a2b177c7c440d61 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 7 Nov 2023 11:20:28 +0300 Subject: [PATCH 157/344] Fixed one crash --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 3bce06a5ef..71ecbc2e2c 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 3bce06a5efa9747bcfb32f546172e17b7878c56e +Subproject commit 71ecbc2e2c7658d9c9f902c75dc5d061a4582ed7 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 88add44731..ba3f184a17 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -77,7 +77,7 @@ private fun getFunctionInfo( return null //if (module != "segment_tree_other") // return null - //if (name != "SegmentTree.update") + //if (name != "MyQueue.push") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -110,7 +110,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" + val projectPath = "D:\\projects\\Python\\graphs" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) From 557e85894ec3dae8e2d5a9f4a84f029ab7d55d84 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 7 Nov 2023 16:35:27 +0300 Subject: [PATCH 158/344] Added venv; updated usvm-python-runner --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/cpythonadapter/src/main/c/utils.c | 2 + .../runner/UtBotPythonRunnerEntryPoint.kt | 31 +++++++-- usvm-python/src/test/kotlin/manualTest.kt | 16 +++-- .../org/usvm/language/types/TypeSystem.kt | 11 ++-- .../usvm/language/types/UtTypeConversion.kt | 42 ++++++++++++ .../org/usvm/language/types/VirtualTypes.kt | 18 ------ .../interpreters/ConcretePythonInterpreter.kt | 33 ++++++++-- .../machine/interpreters/venv/Activation.kt | 26 ++++++++ .../usvm/machine/interpreters/venv/Config.kt | 9 +++ .../usvm/runner/PythonMachineSocketRunner.kt | 64 +++++++++++++++---- .../src/main/kotlin/org/usvm/runner/Config.kt | 11 +++- .../runner/PythonSymbolicAnalysisRunner.kt | 2 +- .../org/usvm/runner/USVMPythonRunner.kt | 24 +++++-- .../kotlin/org/usvm/runner/venv/VenvConfig.kt | 9 +++ .../kotlin/org/usvm/runner/venv/VenvUtils.kt | 53 +++++++++++++++ .../test/kotlin/org/usvm/runner/manualTest.kt | 10 ++- 17 files changed, 301 insertions(+), 62 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt create mode 100644 usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 71ecbc2e2c..93a83e17ec 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 71ecbc2e2c7658d9c9f902c75dc5d061a4582ed7 +Subproject commit 93a83e17ec52101b571482cbdf0bad61625d554e diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index bdfd3a5b43..4d1729d5d7 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -152,6 +152,8 @@ char *white_list[] = { "marshal.dumps", "sys._getframe", "code.__new__", + "os.putenv", + "os.unsetenv", NULL }; diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index ed30e4634d..a0e38d0822 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -1,16 +1,33 @@ package org.usvm.runner +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.venv.VenvConfig import java.io.File fun main(args: Array) { - require(args.size >= 7) { "Incorrect number of arguments" } + var prefixNumberOfArgs = 8 + require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } val mypyDirPath = args[0] val socketPort = args[1].toIntOrNull() ?: error("Second argument must be integer") val moduleName = args[2] val functionName = args[3] - val timeoutPerRunMs = args[4].toLongOrNull() ?: error("Fifth argument must be integer") - val timeoutMs = args[5].toLongOrNull() ?: error("Sixth argument must be integer") - val programRoots = args.drop(6) + val clsName = if (args[4] == "") null else args[4] + val timeoutPerRunMs = args[5].toLongOrNull() ?: error("Sixth argument must be integer") + val timeoutMs = args[6].toLongOrNull() ?: error("Seventh argument must be integer") + if (args[7] != "") { + prefixNumberOfArgs += 2 + require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } + val venvConfig = VenvConfig( + basePath = File(args[8]), + libPath = File(args[9]), + binPath = File(args[10]) + ) + ConcretePythonInterpreter.setVenv(venvConfig) + System.err.println("VenvConfig: $venvConfig") + } else { + System.err.println("No VenvConfig.") + } + val programRoots = args.drop(prefixNumberOfArgs) val runner = PythonMachineSocketRunner( File(mypyDirPath), programRoots.map { File(it) }.toSet(), @@ -18,6 +35,10 @@ fun main(args: Array) { socketPort ) runner.use { - it.analyzeFunction(moduleName, functionName, timeoutPerRunMs, timeoutMs) + if (clsName == null) { + it.analyzeFunction(moduleName, functionName, timeoutPerRunMs, timeoutMs) + } else { + it.analyzeMethod(moduleName, functionName, clsName, timeoutPerRunMs, timeoutMs) + } } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index ba3f184a17..e66e1b7619 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -7,12 +7,12 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.machine.interpreters.venv.VenvConfig import org.usvm.machine.saving.Fail import org.usvm.machine.saving.Success import org.usvm.machine.saving.createDictSaver import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild -import org.usvm.machine.saving.createReprSaver import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.usvm.machine.utils.withAdditionalPaths @@ -25,9 +25,15 @@ import org.utbot.python.newtyping.mypy.readMypyInfoBuild import java.io.File fun main() { + /*val venvConfig = VenvConfig( + basePath = File("/home/tochilinak/sample_venv/"), + libPath = File("/home/tochilinak/sample_venv/lib/python3.11/site-packages/"), + binPath = File("/home/tochilinak/sample_venv/bin") + ) + ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -96,7 +102,7 @@ private fun getFunctionInfo( val callableType = type as FunctionType return PythonUnpinnedCallable.constructCallableFromName( callableType.arguments.map { - SupportsTypeHint(it, typeSystem) + getTypeFromTypeHint(it, typeSystem) }, name, module @@ -110,7 +116,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\graphs" + val projectPath = "D:\\projects\\Python\\sorts" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 2a859a9b07..2455f3bc16 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -9,14 +9,11 @@ import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem import org.usvm.machine.utils.withAdditionalPaths -import org.utbot.python.newtyping.PythonTypeHintsStorage +import org.utbot.python.newtyping.* import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.general.DefaultSubstitutionProvider import org.utbot.python.newtyping.general.getBoundedParameters import org.utbot.python.newtyping.mypy.MypyInfoBuild -import org.utbot.python.newtyping.pythonAnyType -import org.utbot.python.newtyping.pythonModuleName -import org.utbot.python.newtyping.pythonName abstract class PythonTypeSystem: UTypeSystem { @@ -164,8 +161,13 @@ class PythonTypeSystemWithMypyInfo( } private val utTypeOfConcretePythonType = mutableMapOf() + private val concreteTypeOfUtType = mutableMapOf() fun typeHintOfConcreteType(type: ConcretePythonType): UtType? = utTypeOfConcretePythonType[type] + fun concreteTypeFromTypeHint(type: UtType): ConcretePythonType? { + val wrappedType = PythonTypeWrapperForEqualityCheck(type) + return concreteTypeOfUtType[wrappedType] + } init { withAdditionalPaths(program.additionalPaths, null) { @@ -194,6 +196,7 @@ class PythonTypeSystemWithMypyInfo( addPrimitiveType(isHidden = false, refGetter).also { concreteType -> utTypeOfConcretePythonType[concreteType] = utType + concreteTypeOfUtType[PythonTypeWrapperForEqualityCheck(utType)] = concreteType } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt new file mode 100644 index 0000000000..010fb5bf89 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -0,0 +1,42 @@ +package org.usvm.language.types + +import org.utbot.python.newtyping.general.DefaultSubstitutionProvider +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.general.getBoundedParameters +import org.utbot.python.newtyping.pythonAnyType +import org.utbot.python.newtyping.typesAreEqual + +fun getTypeFromTypeHint( + hint: UtType, + typeSystem: PythonTypeSystemWithMypyInfo +): PythonType { + val hintAfterSubstitution = DefaultSubstitutionProvider.substituteAll( + hint, + hint.getBoundedParameters().map { pythonAnyType } + ) + val fromTypeSystem = typeSystem.concreteTypeFromTypeHint(hintAfterSubstitution) + if (fromTypeSystem != null) + return fromTypeSystem + val storage = typeSystem.typeHintsStorage + val substitutedList = DefaultSubstitutionProvider.substituteAll( + storage.pythonList, + storage.pythonList.getBoundedParameters().map { pythonAnyType } + ) + val substitutedTuple = DefaultSubstitutionProvider.substituteAll( + storage.pythonTuple, + storage.pythonTuple.getBoundedParameters().map { pythonAnyType } + ) + return if (typesAreEqual(hintAfterSubstitution, storage.pythonInt)) { + typeSystem.pythonInt + } else if (typesAreEqual(hintAfterSubstitution, storage.pythonFloat)) { + typeSystem.pythonFloat + } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { + typeSystem.pythonBool + } else if (typesAreEqual(hintAfterSubstitution, substitutedList)) { + typeSystem.pythonList + } else if (typesAreEqual(hintAfterSubstitution, substitutedTuple)) { + typeSystem.pythonTuple + } else { + PythonAnyType + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 3dd7a23a9d..a00c338511 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -36,24 +36,6 @@ class ConcreteTypeNegation(private val concreteType: ConcretePythonType): Virtua } } -class SupportsTypeHint( - private val typeHint: UtType, - private val typeSystem: PythonTypeSystemWithMypyInfo -): VirtualPythonType() { - override fun accepts(type: PythonType): Boolean { - if (typeHint.pythonDescription() is PythonAnyTypeDescription || type == this) - return true - if (type !is ConcretePythonType) - return false - val correspondingTypeHint = typeSystem.typeHintOfConcreteType(type) ?: return false - return PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft( - typeHint, - correspondingTypeHint, - typeSystem.typeHintsStorage - ) - } -} - sealed class TypeProtocol: VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index dce1b4b871..09c833c4fd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -7,6 +7,8 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor +import org.usvm.machine.interpreters.venv.VenvConfig +import org.usvm.machine.interpreters.venv.activateThisScript import org.usvm.machine.utils.withAdditionalPaths import java.io.File @@ -246,6 +248,13 @@ object ConcretePythonInterpreter { pythonAdapter.finalizePython() initialize() SymbolicClonesOfGlobals.restart() + if (venvConfig != null) + activateVenv(venvConfig!!) + } + + fun setVenv(config: VenvConfig) { + venvConfig = config + activateVenv(config) } private val approximationsPath = System.getProperty("approximations.path") ?: error("approximations.path not specified") @@ -275,27 +284,41 @@ object ConcretePythonInterpreter { pyGE = pythonAdapter.pyGE pyNoneRef = pythonAdapter.pyNoneRef val namespace = pythonAdapter.newNamespace - val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") - pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) pythonAdapter.concreteRun( namespace, """ + import sys sys.setrecursionlimit(1000) """.trimIndent(), true, false ) + initializeSysPath(namespace) + pythonAdapter.decref(namespace) + emptyNamespace = getNewNamespace() + initializeMethodApproximations() + } + + private fun initializeSysPath(namespace: Long) { + val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") + pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true, false)) if (initialSysPath.address == 0L) throw CPythonExecutionException() initialSysModulesKeys = PythonObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true, false)) if (initialSysModulesKeys.address == 0L) throw CPythonExecutionException() - pythonAdapter.decref(namespace) - emptyNamespace = getNewNamespace() - initializeMethodApproximations() } + private fun activateVenv(config: VenvConfig) { + val script = activateThisScript(config) + val namespace = getNewNamespace() + concreteRun(namespace, script, printErrorMsg = true) + initializeSysPath(namespace.address) + decref(namespace) + } + + private var venvConfig: VenvConfig? = null lateinit var initialSysPath: PythonObject lateinit var initialSysModulesKeys: PythonObject var pyEQ: Int = 0 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt new file mode 100644 index 0000000000..7be5f467f6 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt @@ -0,0 +1,26 @@ +package org.usvm.machine.interpreters.venv + +// original: https://github.com/pypa/virtualenv/blob/main/src/virtualenv/activation/python/activate_this.py +fun activateThisScript(config: VenvConfig): String = + """ + import os + import site + import sys + + bin_dir = r"${config.binPath.canonicalPath}" + base = r"${config.basePath.canonicalPath}" + + # prepend bin to PATH (this file is inside the bin directory) + os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)]) + os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory + + # add the virtual environments libraries to the host python import mechanism + prev_length = len(sys.path) + for lib in r"${config.binPath.toPath().relativize(config.libPath.toPath())}".split(os.pathsep): + path = os.path.realpath(os.path.join(bin_dir, lib)) + site.addsitedir(path.decode("utf-8") if "" else path) + sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length] + + sys.real_prefix = sys.prefix + sys.prefix = base + """.trimIndent() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt new file mode 100644 index 0000000000..8ca1b02dbe --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt @@ -0,0 +1,9 @@ +package org.usvm.machine.interpreters.venv + +import java.io.File + +data class VenvConfig( + val basePath: File, + val libPath: File, + val binPath: File +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index d4a78daa09..dd75ee361d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -3,11 +3,13 @@ package org.usvm.runner import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.language.types.SupportsTypeHint +import org.usvm.language.types.getTypeFromTypeHint import org.usvm.machine.PythonMachine import org.usvm.machine.saving.PickledObjectSaver import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.readMypyInfoBuild import org.utbot.python.newtyping.pythonDescription @@ -30,6 +32,27 @@ class PythonMachineSocketRunner( machine.close() } + private fun validateFunctionType(type: UtType): FunctionType { + val description = type.pythonDescription() as? PythonCallableTypeDescription + ?: error("Specified definition is not a function") + if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + error("Named arguments are not supported in symbolic execution") + return type as FunctionType + } + + private fun analyze( + callable: PythonUnpinnedCallable, + timeoutPerRunMs: Long, + timeoutMs: Long + ) { + machine.analyze( + callable, + PickledObjectSaver(communicator), + timeoutMs = timeoutMs, + timeoutPerRunMs = timeoutPerRunMs + ) + } + fun analyzeFunction( module: String, functionName: String, @@ -39,23 +62,40 @@ class PythonMachineSocketRunner( val def = mypyBuild.definitions[module]?.let { it[functionName] } ?: error("Did not find specified function in mypy build") val type = def.getUtBotType() - val description = type.pythonDescription() as? PythonCallableTypeDescription - ?: error("Specified definition is not a function") - if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) - error("Named arguments are not supported in symbolic execution") - val callableType = type as FunctionType + val callableType = validateFunctionType(type) val unpinnedCallable = PythonUnpinnedCallable.constructCallableFromName( callableType.arguments.map { - SupportsTypeHint(it, typeSystem) + getTypeFromTypeHint(it, typeSystem) }, functionName, module ) - machine.analyze( - unpinnedCallable, - PickledObjectSaver(communicator), - timeoutMs = timeoutMs, - timeoutPerRunMs = timeoutPerRunMs + analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) + } + + fun analyzeMethod( + module: String, + functionName: String, + clsName: String, + timeoutPerRunMs: Long, + timeoutMs: Long + ) { + val def = mypyBuild.definitions[module]?.let { it[clsName] } + ?: error("Did not find specified class in mypy build") + val clsType = def.getUtBotType() + val clsDescr = clsType.pythonDescription() as? PythonCompositeTypeDescription + ?: error("Specified class UtType description is not PythonCompositeTypeDescription") + val funcDef = clsDescr.getMemberByName(typeSystem.typeHintsStorage, clsType, functionName) + ?: error("Did not find method $functionName in $clsName members") + val type = funcDef.type + val callableType = validateFunctionType(type) + val unpinnedCallable = PythonUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + getTypeFromTypeHint(it, typeSystem) + }, + "$clsName.$functionName", + module ) + analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt index f4e5fb2943..5afb07749a 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt @@ -1,10 +1,13 @@ package org.usvm.runner +import org.usvm.runner.venv.VenvConfig + data class USVMPythonConfig( val distributionLayout: DistributionLayout, val javaCmd: String, val mypyBuildDir: String, - val roots: Set + val roots: Set, + val venvConfig: VenvConfig? ) sealed class USVMPythonCallableConfig @@ -14,6 +17,12 @@ data class USVMPythonFunctionConfig( val name: String ): USVMPythonCallableConfig() +data class USVMPythonMethodConfig( + val module: String, + val name: String, + val cls: String +): USVMPythonCallableConfig() + data class USVMPythonRunConfig( val callableConfig: USVMPythonCallableConfig, val timeoutMs: Long, diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 56407ef521..5dfa75ace2 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -70,7 +70,7 @@ class PythonSymbolicAnalysisRunnerImpl( if (isCancelled()) { readingThread.interrupt() } - TimeUnit.MILLISECONDS.sleep(200) + TimeUnit.MILLISECONDS.sleep(100) } readingThread.interrupt() } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index f4e2ae6970..260691f223 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -22,8 +22,18 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable protected fun setupEnvironment(runConfig: USVMPythonRunConfig): ProcessBuilder { val layout = config.distributionLayout - val functionConfig = when (runConfig.callableConfig) { - is USVMPythonFunctionConfig -> runConfig.callableConfig + val venvArgs = if (config.venvConfig == null) { + listOf("") + } else { + listOf( + config.venvConfig.basePath.canonicalPath, + config.venvConfig.libPath.canonicalPath, + config.venvConfig.binPath.canonicalPath + ) + } + val functionConfigArgs = when (val funcConfig = runConfig.callableConfig) { + is USVMPythonFunctionConfig -> listOf(funcConfig.module, funcConfig.name, "") + is USVMPythonMethodConfig -> listOf(funcConfig.module, funcConfig.name, funcConfig.cls) } val args = listOf( config.javaCmd, @@ -35,14 +45,14 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable layout.jarPath.canonicalPath, config.mypyBuildDir, port.port.toString(), - functionConfig.module, - functionConfig.name, + *functionConfigArgs.toTypedArray(), runConfig.timeoutPerRunMs.toString(), - runConfig.timeoutMs.toString() - ) + config.roots.toList() + runConfig.timeoutMs.toString(), + *venvArgs.toTypedArray(), + *config.roots.toList().toTypedArray() + ) val processBuilder = ProcessBuilder(args) - val env = processBuilder.environment() env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt new file mode 100644 index 0000000000..76b695fff8 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt @@ -0,0 +1,9 @@ +package org.usvm.runner.venv + +import java.io.File + +data class VenvConfig( + val basePath: File, + val libPath: File, + val binPath: File +) \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt new file mode 100644 index 0000000000..9c5e9de074 --- /dev/null +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt @@ -0,0 +1,53 @@ +package org.usvm.runner.venv + +import mu.KLogging +import java.io.BufferedReader +import java.io.File +import java.io.InputStreamReader + +private val logger = object : KLogging() {}.logger + +fun extractVenvConfig(pythonPath: String): VenvConfig? { + val basePrefix = runPythonAndReadline( + pythonPath, + "import sys; print(sys.base_prefix)" + ) + val prefix = runPythonAndReadline( + pythonPath, + "import sys; print(sys.prefix)" + ) + if (basePrefix == prefix) { + logger.warn("Given Python is not run inside venv. Setting VenvConfig to null") + return null + } + val version = runPythonAndReadline( + pythonPath, + "import sys; print(sys.version_info.major, sys.version_info.minor, sep='.')" + ) + if (version.trim() != "3.11") { + logger.warn("Given Python's version is not 3.11. Setting VenvConfig to null") + return null + } + val basePath = File(prefix) + require(basePath.exists()) + val assumedBinPath = File(basePath, "bin") + if (!assumedBinPath.exists()) { + logger.warn("Did not find venv's bin path. Setting VenvConfig to null") + return null + } + val assumedLibPath = File(basePath, "lib/python3.11/site-packages") + if (!assumedLibPath.exists()) { + logger.warn("Did not find venv's site-packages path. Setting VenvConfig to null") + return null + } + return VenvConfig(basePath = basePath, binPath = assumedBinPath, libPath = assumedLibPath) +} + +private fun runPythonAndReadline(pythonPath: String, cmd: String): String { + val process = ProcessBuilder(pythonPath, "-c", cmd).start() + val reader = BufferedReader(InputStreamReader(process.inputStream)) + val result = reader.readLine() + process.waitFor() + require(process.exitValue() == 0) { "Something went wrong in Python run" } + return result +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 35412bf5d7..dcbff39243 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -1,5 +1,6 @@ package org.usvm.runner +import org.usvm.runner.venv.extractVenvConfig import java.io.File fun main() { @@ -7,16 +8,19 @@ fun main() { val layout = TestingLayout(basePath) // StandardLayout(File(basePath, "build/distributions/usvm-python")) val mypyDir = File(basePath, "build/samples_build") val root = File(basePath, "src/test/resources/samples") + val venvConfig = extractVenvConfig("/home/tochilinak/sample_venv/bin/python") val config = USVMPythonConfig( layout, "java", mypyDir.canonicalPath, - setOf(root.canonicalPath) + setOf(root.canonicalPath), + venvConfig ) val runConfig = USVMPythonRunConfig( - USVMPythonFunctionConfig( + USVMPythonMethodConfig( "Methods", - "external_function" + "get_info", + "Point" ), 10_000, 3_000 From bd0d8738e57cf2016bb925aee3a81a416e6c8aef Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 8 Nov 2023 12:06:25 +0300 Subject: [PATCH 159/344] Fix in getTypeFromTypeHint --- usvm-python/src/test/kotlin/manualTest.kt | 6 +++--- .../main/kotlin/org/usvm/language/types/UtTypeConversion.kt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index e66e1b7619..c3493e162e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -116,7 +116,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\sorts" + val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index 010fb5bf89..ab40f3bd15 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -10,9 +10,9 @@ fun getTypeFromTypeHint( hint: UtType, typeSystem: PythonTypeSystemWithMypyInfo ): PythonType { - val hintAfterSubstitution = DefaultSubstitutionProvider.substituteAll( + val hintAfterSubstitution = DefaultSubstitutionProvider.substitute( hint, - hint.getBoundedParameters().map { pythonAnyType } + hint.getBoundedParameters().associateWith { pythonAnyType } ) val fromTypeSystem = typeSystem.concreteTypeFromTypeHint(hintAfterSubstitution) if (fromTypeSystem != null) From d7cb91fa4c3ce3e7675639b991c54adce13eb463 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 12:56:17 +0300 Subject: [PATCH 160/344] Several fixes; core update --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 4 ++ usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../kotlin/org/usvm/samples/MethodsTest.kt | 15 +++++ .../src/test/resources/samples/Methods.py | 6 +- .../org/usvm/interpreter/CPythonAdapter.java | 15 +++++ .../org/usvm/language/types/TypeSystem.kt | 27 ++++++-- .../kotlin/org/usvm/language/types/Types.kt | 6 +- .../usvm/language/types/UtTypeConversion.kt | 5 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 65 ++++++++++--------- .../interpreters/ConcretePythonInterpreter.kt | 2 + .../interpreters/operations/basic/Common.kt | 16 +++++ .../operations/basic/Constants.kt | 8 ++- .../interpreters/operations/basic/Long.kt | 11 ++-- .../operations/tracing/PathTracing.kt | 1 + .../symbolicobjects/SymbolicObjectContents.kt | 11 ++++ .../runner/PythonSymbolicAnalysisRunner.kt | 2 + .../test/kotlin/org/usvm/runner/manualTest.kt | 2 +- 19 files changed, 159 insertions(+), 49 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 93a83e17ec..2aa645b2dc 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 93a83e17ec52101b571482cbdf0bad61625d554e +Subproject commit 2aa645b2dc0a58f2a815febe3a03c74d482e7e41 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index f40a4387d8..ece976b199 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -31,6 +31,14 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializeSpecia JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython (JNIEnv *, jobject); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: pythonExceptionOccurred + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_pythonExceptionOccurred + (JNIEnv *, jclass); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: getNewNamespace diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index ef39013521..43a3d73958 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -97,6 +97,10 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(J SET_BOOLEAN_FIELD("isInitialized", JNI_FALSE) } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_pythonExceptionOccurred(JNIEnv *env, jclass _) { + return PyErr_Occurred(); +} + JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace(JNIEnv *env, jobject cpython_adapter) { return (jlong) PyDict_New(); } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c3493e162e..23aa5b4f1c 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -83,7 +83,7 @@ private fun getFunctionInfo( return null //if (module != "segment_tree_other") // return null - //if (name != "MyQueue.push") + //if (name != "BinarySearchTree._reassign_nodes") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index d7181bfc98..f1297d99d0 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -36,4 +36,19 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio ) ) } + + @Test + fun testSetAttribute() { + check2WithConcreteRun( + constructFunction("set_attribute", listOf(PythonAnyType, typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteTypes, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {p, _, res -> res.repr == "1" && p.typeName == "Point"}, + {p, x, res -> res.repr == "2" && p.typeName == "Point" && x.repr == "239"}, + {p, _, res -> res.repr == "3" && p.typeName == "Point"}, + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index fcc337e3cf..3dc3ca0704 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -17,8 +17,12 @@ def external_function(p): def set_attribute(p, x: int): + if p.x != 128: + return 1 p.x = x - assert p.x == 239 + if p.x == 239: + return 2 + return 3 class ClassWithoutInit: diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index e218a6bde8..9a7d275d89 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -52,6 +52,7 @@ public class CPythonAdapter { public native void initializePython(String pythonHome); public native void initializeSpecialApproximations(); public native void finalizePython(); + public static native int pythonExceptionOccurred(); public native long getNewNamespace(); // returns reference to a new dict public native void addName(long dict, long object, String name); public native int concreteRun(long globals, String code, boolean printErrorMessage, boolean setHook); // returns 0 on success @@ -110,6 +111,8 @@ public class CPythonAdapter { argConverters = {ObjectConverter.FrameConverter} ) public static void handlerInstruction(@NotNull ConcolicRunContext context, long frameRef) { + if (pythonExceptionOccurred() != 0) + return; context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); long codeRef = getCodeFromFrame(frameRef); @@ -920,6 +923,7 @@ public static long virtualCall(ConcolicRunContext context, int owner) { return virtualCallKt(context).getAddress(); } + @CPythonAdapterJavaMethod(cName = "lost_symbolic_value") @CPythonFunction( argCTypes = {CType.CStr}, @@ -940,6 +944,17 @@ public static SymbolForCPython handlerStandardTpGetattro(ConcolicRunContext cont return withTracing(context, new MethodParameters("tp_getattro", Arrays.asList(obj, name)), () -> handlerStandardTpGetattroKt(context, obj.obj, name.obj)); } + @CPythonAdapterJavaMethod(cName = "standard_tp_setattro") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void handlerStandardTpSetattro(ConcolicRunContext context, SymbolForCPython obj, SymbolForCPython name, SymbolForCPython value) { + if (obj.obj == null || name.obj == null || value.obj == null) + return; + withTracing(context, new MethodParametersNoReturn("tp_setattro", Arrays.asList(obj, name, value)), unit(() -> handlerStandardTpSetattroKt(context, obj.obj, name.obj, value.obj))); + } + @CPythonAdapterJavaMethod(cName = "symbolic_method_int") @SymbolicMethod(id = SymbolicMethodId.Int) public static SymbolForCPython symbolicMethodInt(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 2455f3bc16..67a01795b8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -64,10 +64,16 @@ abstract class PythonTypeSystem: UTypeSystem { concreteTypeToAddress[type] = address ConcretePythonInterpreter.incref(address) } - protected fun addPrimitiveType(isHidden: Boolean, getter: () -> PythonObject): ConcretePythonType { + protected fun addPrimitiveType(isHidden: Boolean, module: String?, getter: () -> PythonObject): ConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") - val type = PrimitiveConcretePythonType(this, ConcretePythonInterpreter.getNameOfPythonType(address), isHidden, getter) + val type = PrimitiveConcretePythonType( + this, + ConcretePythonInterpreter.getNameOfPythonType(address), + module, + isHidden, + getter + ) addType(type, address) return type } @@ -105,7 +111,7 @@ abstract class PythonTypeSystem: UTypeSystem { } private fun createConcreteTypeByName(name: String, isHidden: Boolean = false): ConcretePythonType = - addPrimitiveType(isHidden) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + addPrimitiveType(isHidden, null) { ConcretePythonInterpreter.eval(emptyNamespace, name) } private fun createArrayLikeTypeByName(name: String, constraints: Set): ArrayLikeConcretePythonType = addArrayLikeType(constraints) { ConcretePythonInterpreter.eval(emptyNamespace, name) } @@ -169,6 +175,16 @@ class PythonTypeSystemWithMypyInfo( return concreteTypeOfUtType[wrappedType] } + fun resortTypes(module: String) { + allConcreteTypes = allConcreteTypes.sortedBy { + when (it.typeModule) { + null -> 0 + module -> 1 + else -> 2 + } + } + } + init { withAdditionalPaths(program.additionalPaths, null) { allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utTypeRaw -> @@ -176,8 +192,9 @@ class PythonTypeSystemWithMypyInfo( utTypeRaw, utTypeRaw.getBoundedParameters().map { pythonAnyType } ) + val moduleName = utType.pythonModuleName() val refGetter = { - val namespace = program.getNamespaceOfModule(utType.pythonModuleName()) + val namespace = program.getNamespaceOfModule(moduleName) ?: throw CPythonExecutionException() ConcretePythonInterpreter.eval(namespace, utType.pythonName()) } @@ -194,7 +211,7 @@ class PythonTypeSystemWithMypyInfo( return@mapNotNull null } - addPrimitiveType(isHidden = false, refGetter).also { concreteType -> + addPrimitiveType(isHidden = false, module = moduleName, refGetter).also { concreteType -> utTypeOfConcretePythonType[concreteType] = utType concreteTypeOfUtType[PythonTypeWrapperForEqualityCheck(utType)] = concreteType } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index dc47805303..44e0bcd3e5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -15,6 +15,7 @@ abstract class VirtualPythonType: PythonType() { sealed class ConcretePythonType( val owner: PythonTypeSystem, val typeName: String, + val typeModule: String?, val isHidden: Boolean = false, val addressGetter: () -> PythonObject ): PythonType() { @@ -29,13 +30,14 @@ sealed class ConcretePythonType( class PrimitiveConcretePythonType( owner: PythonTypeSystem, typeName: String, + typeModule: String?, isHidden: Boolean = false, addressGetter: () -> PythonObject -): ConcretePythonType(owner, typeName, isHidden, addressGetter) +): ConcretePythonType(owner, typeName, typeModule, isHidden, addressGetter) class ArrayLikeConcretePythonType( val elementConstraints: Set, owner: PythonTypeSystem, typeName: String, addressGetter: () -> PythonObject -): ConcretePythonType(owner, typeName, false, addressGetter) +): ConcretePythonType(owner, typeName, null, false, addressGetter) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index ab40f3bd15..c88871cb37 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -1,5 +1,6 @@ package org.usvm.language.types +import org.utbot.python.newtyping.PythonSubtypeChecker import org.utbot.python.newtyping.general.DefaultSubstitutionProvider import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.general.getBoundedParameters @@ -32,9 +33,9 @@ fun getTypeFromTypeHint( typeSystem.pythonFloat } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { typeSystem.pythonBool - } else if (typesAreEqual(hintAfterSubstitution, substitutedList)) { + } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { typeSystem.pythonList - } else if (typesAreEqual(hintAfterSubstitution, substitutedTuple)) { + } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedTuple, hintAfterSubstitution, storage)) { typeSystem.pythonTuple } else { PythonAnyType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index a837fd0587..36994156ff 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -5,6 +5,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter import org.usvm.machine.model.toPyModel @@ -23,6 +24,7 @@ class PythonMachine( private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = UPythonContext(typeSystem) + // private val random = Random(0) val statistics = PythonMachineStatistics() @@ -103,38 +105,43 @@ class PythonMachine( maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, timeoutPerRunMs: Long? = null - ): Int = program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> - typeSystem.restart() - val observer = PythonMachineObserver() - val iterationCounter = IterationCounter() - val startTime = System.currentTimeMillis() - val stopTime = timeoutMs?.let { startTime + it } - val interpreter = getInterpreter( - pythonCallable, - pinnedCallable, - saver, - allowPathDiversion, - iterationCounter, - maxInstructions - ) { startIterationTime -> - (timeoutPerRunMs?.let {(System.currentTimeMillis() - startIterationTime) >= it} ?: false) || - (stopTime != null && System.currentTimeMillis() >= stopTime) + ): Int { + if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { + typeSystem.resortTypes(pythonCallable.module) } - val pathSelector = getPathSelector(pythonCallable) - run( - interpreter, - pathSelector, - observer = observer, - isStateTerminated = { !it.isInterestingForPathSelector() }, - stopStrategy = { - observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations || + return program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> + typeSystem.restart() + val observer = PythonMachineObserver() + val iterationCounter = IterationCounter() + val startTime = System.currentTimeMillis() + val stopTime = timeoutMs?.let { startTime + it } + val interpreter = getInterpreter( + pythonCallable, + pinnedCallable, + saver, + allowPathDiversion, + iterationCounter, + maxInstructions + ) { startIterationTime -> + (timeoutPerRunMs?.let { (System.currentTimeMillis() - startIterationTime) >= it } ?: false) || (stopTime != null && System.currentTimeMillis() >= stopTime) } - ) - iterationCounter.iterations - }.also { - ConcretePythonInterpreter.restart() - ctx.restartSolver() + val pathSelector = getPathSelector(pythonCallable) + run( + interpreter, + pathSelector, + observer = observer, + isStateTerminated = { !it.isInterestingForPathSelector() }, + stopStrategy = { + observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations || + (stopTime != null && System.currentTimeMillis() >= stopTime) + } + ) + iterationCounter.iterations + }.also { + ConcretePythonInterpreter.restart() + ctx.restartSolver() + } } override fun close() { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 09c833c4fd..5bb0d1114a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -23,6 +23,8 @@ object ConcretePythonInterpreter { return PythonNamespace(result) } + fun pythonExceptionOccurred(): Boolean = CPythonAdapter.pythonExceptionOccurred() != 0 + fun addObjectToNamespace(namespace: PythonNamespace, pythonObject: PythonObject, name: String) { pythonAdapter.addName(namespace.address, pythonObject.address, name) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 070dd0339f..e07228045e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -141,6 +141,22 @@ fun handlerStandardTpGetattroKt( return SymbolForCPython(obj.getFieldValue(ctx, name), 0) } +fun handlerStandardTpSetattroKt( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, + name: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return + val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + return + if (ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) != null) + return + obj.setFieldValue(ctx, name, value) +} + fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPythonObject, type: ArrayLikeConcretePythonType): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt index 0e725c1019..aed1375d57 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt @@ -5,8 +5,10 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.* -fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? = - when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { +fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { + if (ConcretePythonInterpreter.pythonExceptionOccurred()) + return null + return when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { "int" -> handlerLoadConstLongKt(context, value) "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) "NoneType" -> context.curState?.preAllocatedObjects?.noneObject @@ -17,10 +19,12 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte } handlerLoadConstTupleKt(context, symbolicElements) } + "str" -> handlerLoadConstStrKt(context, value) "float" -> handlerLoadConstFloatKt(context, value) else -> null } +} fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt index 4d86063bc1..53d56bb54f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt @@ -16,11 +16,12 @@ private fun createBinaryIntOp( null else with (ctx.ctx) { val typeSystem = ctx.typeSystem - val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) - addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) - myAssert(ctx, ctx.ctx.mkHeapRefEq(left.address, ctx.ctx.nullRef).not()) - if (ctx.modelHolder.model.eval(left.address) == ctx.modelHolder.model.eval(ctx.ctx.nullRef)) { - println() + // val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) + // addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) + if (left.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) } op( ctx, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt index a00ce3af82..fce12433d8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt @@ -4,6 +4,7 @@ import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.getToBoolValue import java.util.concurrent.Callable diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index cd06a57246..2b786ae4cc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -8,6 +8,7 @@ import io.ksmt.sort.KRealSort import org.usvm.* import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut import org.usvm.api.readArrayLength import org.usvm.api.readField import org.usvm.api.writeField @@ -33,6 +34,16 @@ fun UninterpretedSymbolicPythonObject.getFieldValue( return UninterpretedSymbolicPythonObject(addr, typeSystem) } +fun UninterpretedSymbolicPythonObject.setFieldValue( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + name.addSupertypeSoft(ctx, typeSystem.pythonStr) + ctx.curState!!.symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) +} + fun UninterpretedSymbolicPythonObject.containsField( ctx: ConcolicRunContext, name: UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 5dfa75ace2..c70758aba0 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -55,6 +55,8 @@ class PythonSymbolicAnalysisRunnerImpl( } } catch (_: ClosedChannelException) { logger.info("Interrupted usvm-python channel") + } catch (_: InterruptedException) { + logger.info("Interrupted usvm-python thread") } } } diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index dcbff39243..0d28dcfb12 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -8,7 +8,7 @@ fun main() { val layout = TestingLayout(basePath) // StandardLayout(File(basePath, "build/distributions/usvm-python")) val mypyDir = File(basePath, "build/samples_build") val root = File(basePath, "src/test/resources/samples") - val venvConfig = extractVenvConfig("/home/tochilinak/sample_venv/bin/python") + val venvConfig = null // extractVenvConfig("/home/tochilinak/sample_venv/bin/python") val config = USVMPythonConfig( layout, "java", From 51440f29d09bdca9ef98d78edb199b06e717d360 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 15:27:42 +0300 Subject: [PATCH 161/344] fixed compilation on linux --- usvm-python/buildDistWithoutPip.sh | 18 +++++++++--------- .../c/org_usvm_interpreter_CPythonAdapter.c | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index 5f8f5943af..0866ad1b24 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -1,10 +1,10 @@ -../gradlew :usvm-python:cpythonadapter:CPythonClean -../gradlew :usvm-python:cpythonadapter:CPythonDistclean -../gradlew :usvm-python:cpythonadapter:clean -../gradlew :usvm-python:clean -echo "false" > cpythonadapter/include_pip_in_build -../gradlew :usvm-python:cpythonadapter:linkDebug -../gradlew :usvm-core:build -../gradlew :usvm-python:jar -../gradlew :usvm-python:distZip +../gradlew :usvm-python:cpythonadapter:CPythonClean &&\ +../gradlew :usvm-python:cpythonadapter:CPythonDistclean &&\ +../gradlew :usvm-python:cpythonadapter:clean &&\ +../gradlew :usvm-python:clean &&\ +echo "false" > cpythonadapter/include_pip_in_build &&\ +../gradlew :usvm-python:cpythonadapter:linkDebug &&\ +../gradlew :usvm-core:jar &&\ +../gradlew :usvm-python:jar &&\ +../gradlew :usvm-python:distZip &&\ echo "true" > cpythonadapter/include_pip_in_build \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 43a3d73958..b1470ca7cd 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -98,7 +98,7 @@ JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython(J } JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_pythonExceptionOccurred(JNIEnv *env, jclass _) { - return PyErr_Occurred(); + return PyErr_Occurred() != 0; } JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace(JNIEnv *env, jobject cpython_adapter) { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 23aa5b4f1c..3370a07c81 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } From 109262836ff16527389b7caddf8739b21eb9c2ce Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 15:42:03 +0300 Subject: [PATCH 162/344] Fix in build script --- usvm-python/buildDistWithoutPip.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index 0866ad1b24..a7e914a48c 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -4,6 +4,7 @@ ../gradlew :usvm-python:clean &&\ echo "false" > cpythonadapter/include_pip_in_build &&\ ../gradlew :usvm-python:cpythonadapter:linkDebug &&\ +../gradlew :usvm-util:jar &&\ ../gradlew :usvm-core:jar &&\ ../gradlew :usvm-python:jar &&\ ../gradlew :usvm-python:distZip &&\ From 9f9e01cae0f9c2199e3f22722af72da0606e1880 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 17:21:08 +0300 Subject: [PATCH 163/344] fix in usvm-python-runner --- usvm-python/build.gradle.kts | 5 ++ .../runner/PythonSymbolicAnalysisRunner.kt | 50 ++++++++----------- 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 762e5a287d..66418d94b6 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -30,6 +30,11 @@ dependencies { testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } +tasks.jar { + dependsOn(":usvm-util:jar") + dependsOn(":usvm-core:jar") +} + val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) val samplesSourceDir = File(projectDir, "src/test/resources/samples") val approximationsDir = File(projectDir, "python_approximations") diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index c70758aba0..848b484058 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -22,32 +22,37 @@ class PythonSymbolicAnalysisRunnerImpl( ) { val processBuilder = setupEnvironment(runConfig) val process = processBuilder.start() - val readingThread = ReadingThread(process, serverSocketChannel, receiver, isCancelled) - val waitingThread = WaitingThread(runConfig, readingThread, isCancelled) - readingThread.start() - waitingThread.start() - readingThread.join() - waitingThread.join() - if (!process.isAlive && process.exitValue() != 0) { - logger.warn("usvm-python process ended with non-null value") + val readingThread = ReadingThread(serverSocketChannel, receiver, isCancelled) + val waitingThread = WaitingThread(process, runConfig, readingThread, isCancelled) + try { + readingThread.start() + waitingThread.start() + readingThread.join() + waitingThread.join() + if (!process.isAlive && process.exitValue() != 0) { + logger.warn("usvm-python process ended with non-null value") + } + } finally { + process.destroyForcibly() + readingThread.client?.close() } } class ReadingThread( - private val process: Process, private val serverSocketChannel: ServerSocketChannel, private val receiver: USVMPythonAnalysisResultReceiver, private val isCancelled: () -> Boolean ): Thread() { + var client: SocketChannel? = null override fun run() { try { - val client = ClientResources(serverSocketChannel, process) - client.use { - if (client.clientSocketChannel == null) { + client = serverSocketChannel.accept() + client?.use { + if (client == null) { logger.warn("Could not connect to usvm-python process") return@use } - val input = BufferedReader(Channels.newReader(client.clientSocketChannel, "UTF-8")) + val input = BufferedReader(Channels.newReader(client!!, "UTF-8")) while (!isCancelled()) { val byteStr = input.readLine() ?: break receiver.receivePickledInputValues(byteStr) @@ -62,13 +67,14 @@ class PythonSymbolicAnalysisRunnerImpl( } class WaitingThread( + private val process: Process, private val runConfig: USVMPythonRunConfig, private val readingThread: Thread, private val isCancelled: () -> Boolean ): Thread() { override fun run() { val start = System.currentTimeMillis() - while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive) { + while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive && process.isAlive) { if (isCancelled()) { readingThread.interrupt() } @@ -85,20 +91,4 @@ class PythonSymbolicAnalysisRunnerImpl( companion object { val logger = object : KLogging() {}.logger } -} - -class ClientResources( - serverSocketChannel: ServerSocketChannel, - val process: Process -): AutoCloseable { - val clientSocketChannel: SocketChannel? - - init { - clientSocketChannel = serverSocketChannel.accept() - } - - override fun close() { - clientSocketChannel?.close() - process.destroy() - } } \ No newline at end of file From 9298b39c8127fc3d73483a6bc27ba6643ebe9309 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 21:50:31 +0300 Subject: [PATCH 164/344] supported constructor calls --- usvm-python/cpythonadapter/build.gradle.kts | 1 + .../src/main/c/include/manual_handlers.h | 1 + .../src/main/c/manual_handlers.c | 34 +++++++++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 1 + usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../kotlin/org/usvm/samples/MethodsTest.kt | 50 ++++++++++++++++++- .../src/test/resources/samples/Methods.py | 5 ++ .../annotations/CPythonFunctionProcessor.kt | 13 +++-- .../CPythonFunctionGeneration.kt | 31 +++++++++--- .../SymbolicMethodGeneration.kt | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 11 ++++ .../interpreters/operations/basic/Common.kt | 16 +++--- .../tracing/SymbolicHandlerEvent.kt | 1 + 13 files changed, 145 insertions(+), 25 deletions(-) diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 5cbdb911bb..b8a9b439f5 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -114,6 +114,7 @@ library { compileTask.includes.from(adapterHeaderPath) compileTask.includes.from("src/main/c/include") compileTask.source.from(fileTree("src/main/c")) + compileTask.source.from(fileTree(adapterHeaderPath).filter { it.name.endsWith(".c") }) if (!isWindows) { compileTask.includes.from("$cpythonBuildPath/include/python3.11") compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) diff --git a/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h index c0350451fb..7ae51de145 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h +++ b/usvm-python/cpythonadapter/src/main/c/include/manual_handlers.h @@ -11,6 +11,7 @@ PyObject *handler_symbolic_tp_call(void *ctx_raw, PyObject *self, PyObject *args int handler_is_pycfunction_with_approximation(void *ctx_raw, PyObject *self); PyObject *handler_approximate_pycfunction_call(void *ctx_raw, int *approximated, PyObject *callable, PyObject *self, PyObject *args, PyObject *kwargs); PyObject *handler_extract_self_from_method(void *ctx_raw, PyObject *callable); +PyObject *handler_approximate_type_call(void *, int *approximated, PyObject *type, PyObject *args, PyObject *kwargs); #ifdef __cplusplus } diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index b866ea17cc..ca6443f81f 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -1,6 +1,8 @@ #include "manual_handlers.h" #include "symbolic_methods.h" +#include "CPythonFunctions.h" // generated + #include "approximation_defs.h" static SymbolicMethod * @@ -43,4 +45,36 @@ handler_extract_self_from_method(void *ctx_raw, PyObject *callable) { if (!method || !method->self_reference) return Py_None; return wrap_java_object(ctx->env, method->self_reference); +} + +PyObject * +handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *type_raw, PyObject *args, PyObject *kwargs) { + assert(PyType_Check(type_raw)); + assert(args && PyTuple_Check(args)); + ConcolicContext *ctx = (ConcolicContext *) ctx_raw; + SymbolicAdapter *adapter = ctx->adapter; + PyTypeObject *type = (PyTypeObject *) type_raw; + if (type->tp_init == EXPORT_OBJECT_INIT && !kwargs && PyTuple_Size(args) == 0) { + PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); + PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); + *approximated = 1; + return wrap(concrete_obj, symbolic_obj, adapter); + } else if (type->tp_init == EXPORT_SLOT_INIT) { + PyObject *descr = _PyType_Lookup(type, PyUnicode_FromString("__init__")); + if (descr && PyFunction_Check(descr)) { + PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); + PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); + PyObject *self = wrap(concrete_obj, symbolic_obj, adapter); + PyObject *new_args = PySequence_Concat(PyTuple_Pack(1, self), args); + int r = register_symbolic_tracing(descr, adapter); + assert(!r); + *approximated = 1; + PyObject *init_res = PyFunction_Type.tp_call(descr, new_args, kwargs); + if (!init_res) + return 0; + return self; + } + } + *approximated = 0; + return Py_None; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index b1470ca7cd..0f6d395bd9 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -229,6 +229,7 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun( adapter->approximate_pycfunction_call = handler_approximate_pycfunction_call; adapter->extract_symbolic_self_from_pycfunction = handler_extract_self_from_method; adapter->extract_self_from_method = handler_extract_self_from_method; + adapter->approximate_type_call = handler_approximate_type_call; register_approximations(adapter); construct_args_for_symbolic_adapter(adapter, &ctx, &concrete_args, &virtual_args, &symbolic_args, &args); diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 3370a07c81..b51011fd77 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -56,8 +56,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, typeSystem.pythonInt), - "set_attribute", + listOf(typeSystem.pythonInt, typeSystem.pythonInt), + "call_of_slot_constructor", "Methods" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index f1297d99d0..19b94eb4e4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptions(stepLimit = 20U)) { @@ -12,7 +13,7 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio check1WithConcreteRun( constructFunction("Point.get_info", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, - compareConcolicAndConcreteTypes, + standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( {_, res -> res.repr == "'same'"}, @@ -27,7 +28,7 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio check1WithConcreteRun( constructFunction("external_function", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, - compareConcolicAndConcreteTypes, + standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( {_, res -> res.repr == "'same'"}, @@ -51,4 +52,49 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio ) ) } + + @Test + fun testCallOfObjectConstructor() { + check1WithConcreteRun( + constructFunction("call_of_object_constructor", List(1) { typeSystem.pythonInt }), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, res -> res.repr == "None"}, + {_, res -> res.selfTypeName == "AssertionError"} + ) + ) + } + + @Test + fun testCallOfSlotConstructor() { + check2WithConcreteRun( + constructFunction("call_of_slot_constructor", listOf(typeSystem.pythonInt, typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, _, res -> res.repr == "'same'"}, + {_, _, res -> res.repr == "'x is less that y'"}, + {_, _, res -> res.repr == "'y is less that x'"} + ) + ) + } + + + @Test + fun testCallOfSlotConstructorWithNamedArgs() { + check2WithConcreteRun( + constructFunction("call_of_slot_constructor_with_named_args", listOf(typeSystem.pythonInt, typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, _, res -> res.repr == "'same'"}, + {_, _, res -> res.repr == "'x is less that y'"}, + {_, _, res -> res.repr == "'y is less that x'"} + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index 3dc3ca0704..748951468a 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -37,4 +37,9 @@ def call_of_object_constructor(value: int): def call_of_slot_constructor(x: int, y: int): p = Point(x, y) + return p.get_info() + + +def call_of_slot_constructor_with_named_args(x: int, y: int): + p = Point(y=y, x=x) return p.get_info() \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index b3ac62d660..36085a6030 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -22,11 +22,16 @@ class CPythonFunctionProcessor: AbstractProcessor() { val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val descriptions = getDescriptions(annotatedElements) - val code = generateCPythonFunctions(descriptions) + val headerName = "CPythonFunctions.h" + val implCode = generateCPythonFunctionsImpls(descriptions, headerName) + val headerCode = generateCPythonFunctionHeader(descriptions) val headerPath = getHeaderPath(processingEnv) - val file = File(headerPath, "CPythonFunctions.h") - file.writeText(code) - file.createNewFile() + val headerFile = File(headerPath, headerName) + headerFile.writeText(headerCode) + headerFile.createNewFile() + val implFile = File(headerPath, "CPythonFunctions.c") + implFile.writeText(implCode) + implFile.createNewFile() return true } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index d73f5b9449..e7e05741f4 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -46,7 +46,7 @@ data class CPythonFunctionDescription( val addToSymbolicAdapter: Boolean ) -fun generateCPythonFunction(description: CPythonFunctionDescription): String { +fun generateCPythonFunction(description: CPythonFunctionDescription): Pair { val cName = description.cName val numberOfArgs = description.args.size val defaultValue = description.defaultValue @@ -72,8 +72,8 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): String { "return $returnConverter(ctx, java_return);" val cReturnType = description.result.cType.repr val failValue = description.failValue - return """ - static $cReturnType + val implementation = """ + $cReturnType $cName(${(listOf("void *arg") + cArgs).joinToString(", ")}) { // printf("INSIDE $cName!\n"); fflush(stdout); ConcolicContext *ctx = (ConcolicContext *) arg; @@ -85,19 +85,36 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): String { $returnStmt } """.trimIndent() + val header = "$cReturnType $cName(${(listOf("void *arg") + cArgs).joinToString(", ")});" + + return implementation to header } -fun generateCPythonFunctions(descriptions: List): String { - val functions = descriptions.map(::generateCPythonFunction) +fun generateCPythonFunctionsImpls(descriptions: List, headerName: String): String { + val header = """ + #include "$headerName" + """.trimIndent() + val functions = descriptions.map { generateCPythonFunction(it).first } val registrations = descriptions.filter { it.addToSymbolicAdapter }.joinToString(separator = " ") { val name = it.cName "adapter->$name = $name;" } val registration = """ - static void + void REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter) { $registrations } """.trimIndent() - return functions.joinToString("\n\n") + "\n\n" + registration + return header + "\n\n" + functions.joinToString("\n\n") + "\n\n" + registration +} + +fun generateCPythonFunctionHeader(descriptions: List): String { + val header = """ + #include + #include "Python.h" + #include "converters.h" + """.trimIndent() + val functions = descriptions.map { generateCPythonFunction(it).second } + val registration = "void REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter);" + return header + "\n\n" + functions.joinToString("\n\n") + "\n\n" + registration } \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index cbe781d54b..e6b91010f2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -26,7 +26,7 @@ fun generateSymbolicMethod(id: SymbolicMethodId): String { "Py_None", addToSymbolicAdapter = false ) - return generateCPythonFunction(cpythonFunctionInfo) + return "static " + generateCPythonFunction(cpythonFunctionInfo).first } fun generateSymbolicMethodInitialization(): String { diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 9a7d275d89..4b72bdd367 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -955,6 +955,17 @@ public static void handlerStandardTpSetattro(ConcolicRunContext context, SymbolF withTracing(context, new MethodParametersNoReturn("tp_setattro", Arrays.asList(obj, name, value)), unit(() -> handlerStandardTpSetattroKt(context, obj.obj, name.obj, value.obj))); } + @CPythonAdapterJavaMethod(cName = "create_empty_object") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.RefConverter}, + addToSymbolicAdapter = false + ) + public static SymbolForCPython handlerCreateEmptyObject(ConcolicRunContext context, long type_ref) { + PythonObject ref = new PythonObject(type_ref); + return methodWrapper(context, new EmptyObjectCreation(ref), () -> handlerCreateEmptyObjectKt(context, ref)); + } + @CPythonAdapterJavaMethod(cName = "symbolic_method_int") @SymbolicMethod(id = SymbolicMethodId.Int) public static SymbolForCPython symbolicMethodInt(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index e07228045e..fee8ea4882 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -202,14 +202,12 @@ fun resolveSequenceIndex( } } -fun addPossibleSupertypes( +fun handlerCreateEmptyObjectKt( ctx: ConcolicRunContext, - objs: List, - possibleTypes: List -) = with(ctx.ctx) { - val cond = objs.fold(trueExpr as UBoolExpr) { outerAcc, obj -> - val curCond = possibleTypes.fold(trueExpr as UBoolExpr) { acc, type -> acc or obj.evalIs(ctx, type) } - outerAcc and curCond - } - myAssert(ctx, cond) + typeRef: PythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val typeSystem = ctx.typeSystem + val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null + return constructEmptyObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, type) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index e05c36f17c..dc57543e04 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -18,6 +18,7 @@ data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandl data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() +data class EmptyObjectCreation(val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( val name: String, val operands: List From e623bf95c2899c2f1cab9a05cefd48f76448b5c5 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 9 Nov 2023 23:28:07 +0300 Subject: [PATCH 165/344] Supported load of default parameters --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 20 +++++++++---------- .../org/usvm/samples/SimpleExampleTest.kt | 14 +++++++++++++ .../test/resources/samples/SimpleExample.py | 10 +++++++++- 4 files changed, 34 insertions(+), 12 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 2aa645b2dc..9bb2973948 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 2aa645b2dc0a58f2a815febe3a03c74d482e7e41 +Subproject commit 9bb2973948d405eb02fd2bac8bb391f617d77813 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index b51011fd77..609afdb8c4 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -39,7 +39,7 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( + val (program, typeSystem) = constructPrimitiveProgram( """ def list_concat(x): y = x + [1] @@ -47,18 +47,18 @@ private fun buildSampleRunConfig(): RunConfig { return 1 return 2 - def f(sequence: list): - if any(not isinstance(x, int) for x in sequence): - raise TypeError("1") - if any(x < 0 for x in sequence): - raise TypeError("2") + def f(x, y=1): + return x + y + + def g(x): + a = f(x) + assert a == 10 """.trimIndent() - )*/ + ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt), - "call_of_slot_constructor", - "Methods" + listOf(typeSystem.pythonInt), + "g", ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 6006116d03..2a834e87d9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -247,4 +247,18 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } + + @Test + fun testCallWithDefault() { + check1WithConcreteRun( + constructFunction("call_with_default", listOf(typeSystem.pythonInt)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> res.repr == "None" && x.repr == "9" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 1405347c88..319c5d7a67 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -147,4 +147,12 @@ def is_none(x): def is_not_none(x): - assert x is not None \ No newline at end of file + assert x is not None + + +def f_with_default(x, y=1): + return x + y + + +def call_with_default(x): + assert f_with_default(x) == 10 \ No newline at end of file From ca71b05f1d3e5c2336bfd967757331f11008dab3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 10 Nov 2023 00:12:43 +0300 Subject: [PATCH 166/344] some tests --- usvm-python/src/test/kotlin/manualTest.kt | 32 ++++++++++--------- .../kotlin/org/usvm/samples/MethodsTest.kt | 15 +++++++++ .../org/usvm/samples/TrickyExamplesTest.kt | 2 +- .../src/test/resources/samples/Methods.py | 17 +++++++++- .../resources/samples/SimpleCustomClasses.py | 20 +++++++++++- .../kotlin/org/usvm/machine/PythonMachine.kt | 3 ++ 6 files changed, 71 insertions(+), 18 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 609afdb8c4..9bdc1d7dd6 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -31,34 +31,29 @@ fun main() { binPath = File("/home/tochilinak/sample_venv/bin") ) ConcretePythonInterpreter.setVenv(venvConfig)*/ + val int = ConcretePythonInterpreter.eval(ConcretePythonInterpreter.emptyNamespace, "int") + println(ConcretePythonInterpreter.typeHasStandardTpGetattro(int)) // ConcretePythonInterpreter.printIdInfo() // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() - analyze(config) + // val config = buildSampleRunConfig() + // analyze(config) // checkConcolicAndConcrete(config) } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( + val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( """ def list_concat(x): y = x + [1] if len(y[::-1]) == 5: return 1 return 2 - - def f(x, y=1): - return x + y - - def g(x): - a = f(x) - assert a == 10 - """.trimIndent() - ) + )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), - "g", + listOf(typeSystem.pythonInt, typeSystem.pythonInt), + "use_dataclass", + "SimpleCustomClasses" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -83,7 +78,7 @@ private fun getFunctionInfo( return null //if (module != "segment_tree_other") // return null - //if (name != "BinarySearchTree._reassign_nodes") + // if (name != "viterbi") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -190,6 +185,7 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { private fun analyze(runConfig: RunConfig) { val (program, typeSystem, functions) = runConfig val machine = PythonMachine(program, typeSystem, printErrorMsg = false) + val emptyCoverage = mutableListOf() machine.use { activeMachine -> functions.forEach { f -> println("Started analysing function ${f.tag}") @@ -215,6 +211,9 @@ private fun analyze(runConfig: RunConfig) { } println() } + if (machine.statistics.functionStatistics.last().coverage == 0.0) { + emptyCoverage.add(f.tag) + } println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") println("FUNCTION STATISTICS") println(machine.statistics.functionStatistics.last().writeReport()) @@ -226,6 +225,9 @@ private fun analyze(runConfig: RunConfig) { println("GENERAL STATISTICS") println(machine.statistics.writeReport()) } + println() + println("Empty coverage for:") + emptyCoverage.forEach { println(it) } } private data class RunConfig( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index 19b94eb4e4..00d2526af4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -97,4 +97,19 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio ) ) } + + @Test + fun testConstructorWithDefaultValues() { + check2WithConcreteRun( + constructFunction("constructor_with_default_values", listOf(typeSystem.pythonInt, typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, _, res -> res.repr == "1"}, + {_, _, res -> res.repr == "2"}, + {_, _, res -> res.repr == "3"} + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt index f081bc9107..2b9f9b2790 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt @@ -8,7 +8,7 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class TrickyExamplesTest: PythonTestRunnerForStructuredProgram( "Tricky", - UMachineOptions(stepLimit = 80U), + UMachineOptions(stepLimit = 150U), allowPathDiversions = true ) { @Test diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index 748951468a..7a7044ec2c 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -42,4 +42,19 @@ def call_of_slot_constructor(x: int, y: int): def call_of_slot_constructor_with_named_args(x: int, y: int): p = Point(y=y, x=x) - return p.get_info() \ No newline at end of file + return p.get_info() + + +class ClassWithDefaultValues: + def __init__(self, a, b=1): + self.a = a + self.b = b + + +def constructor_with_default_values(a: int, x: int): + obj = ClassWithDefaultValues(a) + if obj.a == 123: + return 1 + elif obj.b == x: + return 2 + return 3 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py index cec7996d52..cfe27a56c3 100644 --- a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -1,3 +1,6 @@ +import dataclasses + + class ClassWithMatmulAndAdd: def __init__(self): pass @@ -55,4 +58,19 @@ def __init__(self, value): def use_int_field(obj): - assert obj.field == 123456 \ No newline at end of file + assert obj.field == 123456 + + +@dataclasses.dataclass +class MyDataClass: + data: int + root: int = 239 + + +def use_dataclass(x: int, y: int): + obj = MyDataClass(x) + if obj.data == 1: + return 1 + if obj.root == y: + return 2 + return 3 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 36994156ff..5cfd2f714b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -8,6 +8,7 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.toPyModel import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.* @@ -15,8 +16,10 @@ import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemory import org.usvm.ps.DfsPathSelector +import org.usvm.ps.createForkDepthPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver +import kotlin.random.Random class PythonMachine( private val program: PythonProgram, From 13f220c20cd2f8a65640d42b32b0dfe60b34529d Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 10 Nov 2023 00:41:40 +0300 Subject: [PATCH 167/344] Fix in standard tp_getattro/tp_setattro logic --- .../org_usvm_interpreter_CPythonAdapter.h | 16 +++++++++++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 10 ++++++++++ usvm-python/src/test/kotlin/manualTest.kt | 8 +++----- .../usvm/samples/SimpleCustomClassesTest.kt | 13 ++++++++++++ .../resources/samples/SimpleCustomClasses.py | 7 +++++-- .../org/usvm/interpreter/CPythonAdapter.java | 2 ++ .../interpreters/ConcretePythonInterpreter.kt | 2 ++ .../interpreters/operations/basic/Common.kt | 20 +++++++++++++++---- 8 files changed, 67 insertions(+), 11 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index ece976b199..8d74177394 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -311,6 +311,22 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpSetattr JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpDescrGet + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrGet + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpDescrSet + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrSet + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasStandardNew diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 0f6d395bd9..e2d47c81d7 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -449,6 +449,16 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JN return type->tp_iter != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrGet(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_descr_get != 0; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrSet(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_descr_set != 0; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardNew(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_new == PyBaseObject_Type.tp_new; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9bdc1d7dd6..f59bf8ef29 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -31,12 +31,10 @@ fun main() { binPath = File("/home/tochilinak/sample_venv/bin") ) ConcretePythonInterpreter.setVenv(venvConfig)*/ - val int = ConcretePythonInterpreter.eval(ConcretePythonInterpreter.emptyNamespace, "int") - println(ConcretePythonInterpreter.typeHasStandardTpGetattro(int)) // ConcretePythonInterpreter.printIdInfo() // val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() - // analyze(config) + val config = buildSampleRunConfig() + analyze(config) // checkConcolicAndConcrete(config) } @@ -51,7 +49,7 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt), + listOf(typeSystem.pythonInt, typeSystem.pythonInt, typeSystem.pythonInt), "use_dataclass", "SimpleCustomClasses" ) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 3a5d593a87..125b709301 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -83,4 +83,17 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto ) ) } + + @Test + fun testUseDataclass() { + check3WithConcreteRun( + constructFunction("use_dataclass", List(3) { typeSystem.pythonInt }), + eq(4), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ List(4) { + { _, _, _, res -> res.repr == (it + 1).toString() } + } + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py index cfe27a56c3..796750b271 100644 --- a/usvm-python/src/test/resources/samples/SimpleCustomClasses.py +++ b/usvm-python/src/test/resources/samples/SimpleCustomClasses.py @@ -67,10 +67,13 @@ class MyDataClass: root: int = 239 -def use_dataclass(x: int, y: int): +def use_dataclass(x: int, y: int, z: int): obj = MyDataClass(x) if obj.data == 1: return 1 if obj.root == y: return 2 - return 3 \ No newline at end of file + obj.root += 100 + if obj.root == z: + return 3 + return 4 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 4b72bdd367..ba9956eaaa 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -87,6 +87,8 @@ public class CPythonAdapter { public native int typeHasTpGetattro(long type); public native int typeHasTpSetattro(long type); public native int typeHasTpIter(long type); + public native int typeHasTpDescrGet(long type); + public native int typeHasTpDescrSet(long type); public native int typeHasStandardNew(long type); public native long callStandardNew(long type); public native int typeHasStandardTpGetattro(long type); diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 5bb0d1114a..600d655b43 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -234,6 +234,8 @@ object ConcretePythonInterpreter { val typeHasTpGetattro = createTypeQuery { pythonAdapter.typeHasTpGetattro(it) } val typeHasTpSetattro = createTypeQuery { pythonAdapter.typeHasTpSetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } + val typeHasTpDescrGet = createTypeQuery { pythonAdapter.typeHasTpDescrGet(it) } + val typeHasTpDescrSet = createTypeQuery { pythonAdapter.typeHasTpDescrSet(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } val typeHasStandardTpGetattro = createTypeQuery { pythonAdapter.typeHasStandardTpGetattro(it) } val typeHasStandardTpSetattro = createTypeQuery { pythonAdapter.typeHasStandardTpSetattro(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index fee8ea4882..c0420c3b49 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -125,14 +125,22 @@ fun handlerStandardTpGetattroKt( val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) + var defaultValue: UninterpretedSymbolicPythonObject? = null if (concreteDescriptor != null) { - val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null - return memberDescriptor.getMember(ctx, obj) + val typeOfDescriptor = ConcretePythonInterpreter.getPythonObjectType(concreteDescriptor) + if (ConcretePythonInterpreter.typeHasTpDescrGet(typeOfDescriptor)) { + val memberDescriptor = ConcretePythonInterpreter.getSymbolicDescriptor(concreteDescriptor) ?: return null + return memberDescriptor.getMember(ctx, obj) + } else { + defaultValue = handlerLoadConstKt(ctx, concreteDescriptor) + } } if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) return null val containsFieldCond = obj.containsField(ctx, name) if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { + if (defaultValue != null) + return SymbolForCPython(defaultValue, 0) myFork(ctx, containsFieldCond) return null } else { @@ -152,8 +160,12 @@ fun handlerStandardTpSetattroKt( val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) return - if (ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) != null) - return + val descriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) + if (descriptor != null) { + val descrType = ConcretePythonInterpreter.getPythonObjectType(descriptor) + if (ConcretePythonInterpreter.typeHasTpDescrSet(descrType)) + return + } obj.setFieldValue(ctx, name, value) } From e9ea83efc7ecf1e4a9c8a2188771ea9b64fc0772 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 14 Nov 2023 18:23:16 +0300 Subject: [PATCH 168/344] Added WrappedSetRegion --- usvm-python/src/test/kotlin/manualTest.kt | 12 +-- .../src/test/resources/samples/Tricky.py | 17 +++- .../kotlin/org/usvm/machine/PythonMachine.kt | 2 +- .../usvm/machine/PythonVirtualPathSelector.kt | 2 +- .../interpreters/operations/basic/Common.kt | 2 + .../interpreters/operations/basic/Control.kt | 4 +- .../interpreters/operations/basic/Virtual.kt | 92 ++++++++++--------- .../kotlin/org/usvm/machine/model/PyModel.kt | 72 ++++----------- .../usvm/machine/model/PythonMockEvaluator.kt | 5 +- .../machine/model/WrappedArrayIndexRegion.kt | 33 +++++++ .../machine/model/WrappedArrayLengthRegion.kt | 22 +++++ .../usvm/machine/model/WrappedSetRegion.kt | 56 +++++++++++ .../symbolicobjects/SymbolicObjectContents.kt | 13 ++- 13 files changed, 224 insertions(+), 108 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index f59bf8ef29..9d3178448a 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt, typeSystem.pythonInt), - "use_dataclass", - "SimpleCustomClasses" + listOf(PythonAnyType), + "is_full_binary_tree", + "Tricky" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -193,7 +193,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 50, + maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/src/test/resources/samples/Tricky.py b/usvm-python/src/test/resources/samples/Tricky.py index 6e723a0705..2319830f66 100644 --- a/usvm-python/src/test/resources/samples/Tricky.py +++ b/usvm-python/src/test/resources/samples/Tricky.py @@ -18,4 +18,19 @@ def square_matrix(x, target): assert elem == target # ... some smart work ... - return "Success" \ No newline at end of file + return "Success" + + +class Node: + def __init__(self): + self.left = None + self.right = None + + +def is_full_binary_tree(node): + if not node: + return True + if node.left and node.right: + return is_full_binary_tree(node.left) and is_full_binary_tree(node.right) + else: + return not node.left and not node.right \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 5cfd2f714b..8e286261e9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -75,7 +75,7 @@ class PythonMachine( symbols, pathConstraints, memory, - solverRes.model.toPyModel(ctx, typeSystem), + solverRes.model.toPyModel(ctx, typeSystem, pathConstraints), typeSystem, preAllocatedObjects ).also { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 5f336845f3..03e2d938b3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -57,7 +57,7 @@ class PythonVirtualPathSelector( if (forkResult.negativeState == null) return null val stateWithConcreteType = forkResult.negativeState!! - stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem)) + stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem, stateWithConcreteType.pathConstraints)) if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index c0420c3b49..a4ce929db3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -123,6 +123,7 @@ fun handlerStandardTpGetattroKt( if (ctx.curState == null) return null val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null + // println("Attr: $concreteStr") val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) var defaultValue: UninterpretedSymbolicPythonObject? = null @@ -138,6 +139,7 @@ fun handlerStandardTpGetattroKt( if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) return null val containsFieldCond = obj.containsField(ctx, name) + // println("Attr result: ${ctx.modelHolder.model.eval(containsFieldCond).isTrue}") if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { if (defaultValue != null) return SymbolForCPython(defaultValue, 0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index c66163f7f6..7d6a187e14 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -27,7 +27,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { error("Should not be reachable") } val applyToPyModel = { state: PythonExecutionState -> - state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem)) + state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem, state.pathConstraints)) } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) @@ -43,7 +43,7 @@ fun myAssertOnState(state: PythonExecutionState, cond: UExpr): Python val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) - forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem)) + forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem, state.pathConstraints)) } return forkResult diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index 4478ef282d..f1ba139581 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -9,95 +9,103 @@ import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PyModelWrapper import org.usvm.machine.utils.substituteModel -fun virtualNbBoolKt(context: ConcolicRunContext, on: VirtualPythonObject): Boolean { - context.curOperation ?: throw UnregisteredVirtualOperation - val interpretedArg = interpretSymbolicPythonObject(context, context.curOperation!!.args.first()) - if(context.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) +fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { + ctx.curOperation ?: throw UnregisteredVirtualOperation + val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) + if(ctx.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) throw UnregisteredVirtualOperation // path diversion - val oldModel = context.modelHolder.model - val (interpretedObj, _) = internalVirtualCallKt(context) { mockSymbol -> - val trueObject = context.modelHolder.model.eval(context.curState!!.preAllocatedObjects.trueObject.address) - val falseObject = context.modelHolder.model.eval(context.curState!!.preAllocatedObjects.falseObject.address) + val oldModel = ctx.modelHolder.model + val (interpretedObj, _) = internalVirtualCallKt(ctx) { mockSymbol -> + val trueObject = ctx.modelHolder.model.eval(ctx.curState!!.preAllocatedObjects.trueObject.address) + val falseObject = ctx.modelHolder.model.eval(ctx.curState!!.preAllocatedObjects.falseObject.address) listOf( constructModelWithNewMockEvaluator( - context.ctx, + ctx.ctx, oldModel, mockSymbol, - context.typeSystem, + ctx.typeSystem, + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) falseObject as UConcreteHeapRef ), constructModelWithNewMockEvaluator( - context.ctx, + ctx.ctx, oldModel, mockSymbol, - context.typeSystem, + ctx.typeSystem, + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) trueObject as UConcreteHeapRef ) ) } - return interpretedObj.getBoolContent(context).isTrue + return interpretedObj.getBoolContent(ctx).isTrue } -fun virtualSqLengthKt(context: ConcolicRunContext, on: VirtualPythonObject): Int = with(context.ctx) { - context.curOperation ?: throw UnregisteredVirtualOperation - val typeSystem = context.typeSystem - val interpretedArg = interpretSymbolicPythonObject(context, context.curOperation!!.args.first()) - require(context.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) - val (interpretedObj, symbolic) = internalVirtualCallKt(context) - symbolic.addSupertypeSoft(context, typeSystem.pythonInt) - val intValue = interpretedObj.getIntContent(context) - myAssert(context, intValue ge mkIntNum(0)) - myAssert(context, intValue le mkIntNum(Int.MAX_VALUE)) +fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = with(ctx.ctx) { + ctx.curOperation ?: throw UnregisteredVirtualOperation + val typeSystem = ctx.typeSystem + val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) + require(ctx.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) + val (interpretedObj, symbolic) = internalVirtualCallKt(ctx) + symbolic.addSupertypeSoft(ctx, typeSystem.pythonInt) + val intValue = interpretedObj.getIntContent(ctx) + myAssert(ctx, intValue ge mkIntNum(0)) + myAssert(ctx, intValue le mkIntNum(Int.MAX_VALUE)) return intValue.toString().toInt() } private fun internalVirtualCallKt( - context: ConcolicRunContext, + ctx: ConcolicRunContext, customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } -): Pair = with(context.ctx) { - context.curOperation ?: throw UnregisteredVirtualOperation - context.curState ?: throw UnregisteredVirtualOperation - val owner = context.curOperation.methodOwner ?: throw UnregisteredVirtualOperation - val ownerIsAlreadyMocked = context.curState!!.mockedObjects.contains(owner) - var clonedState = if (!ownerIsAlreadyMocked) context.curState!!.clone() else null +): Pair = with(ctx.ctx) { + ctx.curOperation ?: throw UnregisteredVirtualOperation + ctx.curState ?: throw UnregisteredVirtualOperation + val owner = ctx.curOperation.methodOwner ?: throw UnregisteredVirtualOperation + val ownerIsAlreadyMocked = ctx.curState!!.mockedObjects.contains(owner) + var clonedState = if (!ownerIsAlreadyMocked) ctx.curState!!.clone() else null if (clonedState != null) { clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) } - val (symbolic, isNew, mockSymbol) = context.curState!!.mock(context.curOperation) + val (symbolic, isNew, mockSymbol) = ctx.curState!!.mock(ctx.curOperation) if (!ownerIsAlreadyMocked && clonedState != null) { - addDelayedFork(context, owner, clonedState) + addDelayedFork(ctx, owner, clonedState) } - if (context.curOperation.method.isMethodWithNonVirtualReturn && isNew) { + if (ctx.curOperation.method.isMethodWithNonVirtualReturn && isNew) { val customNewModels = customNewModelsCreation(mockSymbol) val (newModel, constraint) = if (customNewModels.isEmpty()) - constructModelWithNewMockEvaluator(context.ctx, context.modelHolder.model, mockSymbol, context.typeSystem) + constructModelWithNewMockEvaluator( + ctx.ctx, + ctx.modelHolder.model, + mockSymbol, + ctx.typeSystem, + ctx.curState!!.pathConstraints // one constraint will be missing (TODO: is it ok?) + ) else customNewModels.first() customNewModels.drop(1).forEach { (nextNewModel, constraint) -> - val newState = context.curState!!.clone() + val newState = ctx.curState!!.clone() newState.models = listOf(nextNewModel.uModel) newState.pathConstraints += constraint - context.forkedStates.add(newState) + ctx.forkedStates.add(newState) } - substituteModel(context.curState!!, newModel, constraint, context) + substituteModel(ctx.curState!!, newModel, constraint, ctx) } - val concrete = interpretSymbolicPythonObject(context, symbolic) + val concrete = interpretSymbolicPythonObject(ctx, symbolic) return concrete to symbolic } -fun virtualCallKt(context: ConcolicRunContext): PythonObject { - val (interpreted, _) = internalVirtualCallKt(context) - val converter = context.converter +fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { + val (interpreted, _) = internalVirtualCallKt(ctx) + val converter = ctx.converter require(interpreted is InterpretedInputSymbolicPythonObject) return converter.convert(interpreted) } -fun virtualCallSymbolKt(context: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(context).second +fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(ctx).second object UnregisteredVirtualOperation: Exception() { private fun readResolve(): Any = UnregisteredVirtualOperation diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 3d0a92348a..13b65a3d5a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -5,23 +5,26 @@ import org.usvm.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId import org.usvm.collection.array.length.UArrayLengthLValue -import org.usvm.collection.array.length.UArrayLengthsRegion import org.usvm.collection.array.length.UArrayLengthsRegionId -import org.usvm.language.types.ArrayLikeConcretePythonType +import org.usvm.collection.set.primitive.USetRegionId +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.collection.set.ref.URefSetRegionId +import org.usvm.constraints.UPathConstraints import org.usvm.language.types.ArrayType +import org.usvm.language.types.ObjectDictType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext -import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase class PyModel( - val ctx: UPythonContext, + private val ctx: UPythonContext, private val underlyingModel: UModelBase, - val typeSystem: PythonTypeSystem + private val typeSystem: PythonTypeSystem, + ps: UPathConstraints ) : UModelBase( ctx, underlyingModel.stack, @@ -30,50 +33,7 @@ class PyModel( underlyingModel.regions, underlyingModel.nullRef ) { - private inner class WrappedArrayIndexRegion( - val region: UReadOnlyMemoryRegion, UAddressSort>, - val model: PyModel, - val ctx: UPythonContext - ) : UReadOnlyMemoryRegion, UAddressSort> { - override fun read(key: UArrayIndexLValue): UExpr { - val underlyingResult = region.read(key) - val array = key.ref as UConcreteHeapRef - if (array.address > 0) // allocated object - return underlyingResult - val arrayType = PyModelWrapper(model).getConcreteType(array) - require(arrayType != null && arrayType is ArrayLikeConcretePythonType) - val constraints = arrayType.elementConstraints - if (constraints.all { it.applyInterpreted(array, underlyingResult as UConcreteHeapRef, model, ctx) }) { - return underlyingResult - } - return nullRef - } - } - - private inner class WrappedArrayLengthRegion( - val ctx: UPythonContext, - val region: UReadOnlyMemoryRegion, KIntSort> - ): UReadOnlyMemoryRegion, KIntSort> { - override fun read(key: UArrayLengthLValue): UExpr { - val underlyingResult = region.read(key) - if (ctx.mkArithLt(underlyingResult, ctx.mkIntNum(0)).isTrue) { - return ctx.mkIntNum(0) - } - return underlyingResult - } - } - - /* private inner class WrappedSetRegion( - val region: UReadOnlyMemoryRegion, UBoolSort>, - val ps: UPathConstraints - ): UReadOnlyMemoryRegion, UBoolSort>{ - - val realRegion by lazy { TODO() } - override fun read(key: URefSetEntryLValue): UExpr { - return key.setRef.uctx.mkBool(key in realRegion) - } - - } */ + private val setKeys = WrappedSetRegion.constructKeys(ctx, ps, underlyingModel) @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { @@ -82,12 +42,16 @@ class PyModel( regionId.arrayType == ArrayType ) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> - return WrappedArrayIndexRegion(region, this, ctx) as UReadOnlyMemoryRegion + return WrappedArrayIndexRegion(region, this, ctx, nullRef) as UReadOnlyMemoryRegion } if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && regionId.arrayType == ArrayType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, KIntSort> return WrappedArrayLengthRegion(ctx, region) as UReadOnlyMemoryRegion } + if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + return WrappedSetRegion(ctx, region, setKeys) as UReadOnlyMemoryRegion + } return super.getRegion(regionId) } @@ -102,8 +66,12 @@ class PyModel( } } -fun UModelBase.toPyModel(ctx: UPythonContext, typeSystem: PythonTypeSystem): PyModel { +fun UModelBase.toPyModel( + ctx: UPythonContext, + typeSystem: PythonTypeSystem, + ps: UPathConstraints +): PyModel { if (this is PyModel) return this - return PyModel(ctx, this, typeSystem) + return PyModel(ctx, this, typeSystem, ps) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 8188d74105..588689312e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -1,6 +1,8 @@ package org.usvm.machine.model import org.usvm.* +import org.usvm.constraints.UPathConstraints +import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext import org.usvm.machine.utils.PyModelWrapper @@ -30,6 +32,7 @@ fun constructModelWithNewMockEvaluator( oldModel: PyModelWrapper, mockSymbol: UMockSymbol, typeSystem: PythonTypeSystem, + ps: UPathConstraints, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null ): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) @@ -40,7 +43,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.uModel.regions, oldModel.uModel.nullRef - ).toPyModel(ctx, typeSystem) + ).toPyModel(ctx, typeSystem, ps) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return PyModelWrapper(newModel) to constraint } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt new file mode 100644 index 0000000000..0cd3da717e --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt @@ -0,0 +1,33 @@ +package org.usvm.machine.model + +import io.ksmt.sort.KIntSort +import org.usvm.UAddressSort +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.USort +import org.usvm.collection.array.UArrayIndexLValue +import org.usvm.language.types.ArrayLikeConcretePythonType +import org.usvm.machine.UPythonContext +import org.usvm.machine.utils.PyModelWrapper +import org.usvm.memory.UReadOnlyMemoryRegion + +class WrappedArrayIndexRegion( + private val region: UReadOnlyMemoryRegion, UAddressSort>, + private val model: PyModel, + private val ctx: UPythonContext, + private val nullRef: UConcreteHeapRef +) : UReadOnlyMemoryRegion, UAddressSort> { + override fun read(key: UArrayIndexLValue): UExpr { + val underlyingResult = region.read(key) + val array = key.ref as UConcreteHeapRef + if (array.address > 0) // allocated object + return underlyingResult + val arrayType = PyModelWrapper(model).getConcreteType(array) + require(arrayType != null && arrayType is ArrayLikeConcretePythonType) + val constraints = arrayType.elementConstraints + if (constraints.all { it.applyInterpreted(array, underlyingResult as UConcreteHeapRef, model, ctx) }) { + return underlyingResult + } + return nullRef + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt new file mode 100644 index 0000000000..bf5ceccb3c --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt @@ -0,0 +1,22 @@ +package org.usvm.machine.model + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.collection.array.length.UArrayLengthLValue +import org.usvm.isTrue +import org.usvm.language.types.ArrayType +import org.usvm.machine.UPythonContext +import org.usvm.memory.UReadOnlyMemoryRegion + +class WrappedArrayLengthRegion( + val ctx: UPythonContext, + val region: UReadOnlyMemoryRegion, KIntSort> +): UReadOnlyMemoryRegion, KIntSort> { + override fun read(key: UArrayLengthLValue): UExpr { + val underlyingResult = region.read(key) + if (ctx.mkArithLt(underlyingResult, ctx.mkIntNum(0)).isTrue) { + return ctx.mkIntNum(0) + } + return underlyingResult + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt new file mode 100644 index 0000000000..8955cdc260 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt @@ -0,0 +1,56 @@ +package org.usvm.machine.model + +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.collection.set.ref.UAllocatedRefSetWithInputElementsReading +import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.constraints.UPathConstraints +import org.usvm.language.types.PythonType +import org.usvm.machine.UPythonContext +import org.usvm.memory.UReadOnlyMemoryRegion +import org.usvm.model.UModelBase +import org.usvm.solver.UExprTranslator + +class WrappedSetRegion( + private val ctx: UPythonContext, + private val region: UReadOnlyMemoryRegion, UBoolSort>, + private val keys: Set +): UReadOnlyMemoryRegion, UBoolSort> { + override fun read(key: URefSetEntryLValue): UExpr { + if (key.setElement !in keys) { + return ctx.falseExpr + } + return region.read(key) + } + + companion object { + fun constructKeys( + ctx: UPythonContext, + ps: UPathConstraints, + underlyingModel: UModelBase + ): Set { + val visitor = VisitorForSetRegion(ctx) + ps.constraints(visitor).toList() + val keys = mutableSetOf() // TODO: add True and False + visitor.keys.forEach { + val interpreted = underlyingModel.eval(it) as UConcreteHeapRef + keys.add(interpreted) + } + return keys + } + } +} + +private class VisitorForSetRegion(ctx: UPythonContext): UExprTranslator(ctx) { + val keys: MutableSet = mutableSetOf() + override fun transform(expr: UAllocatedRefSetWithInputElementsReading): UBoolExpr { + keys.add(expr.elementRef) + return super.transform(expr) + } + + override fun transform(expr: UInputRefSetWithInputElementsReading): UBoolExpr { + keys.add(expr.elementRef) + return super.transform(expr) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 2b786ae4cc..4d6156d4e1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -18,6 +18,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.* import org.usvm.machine.UPythonContext +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory @@ -232,10 +233,18 @@ fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): U fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { require(ctx.curState != null) - return when (getTypeIfDefined(ctx)) { + return when (val type = getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList -> ctx.curState!!.memory.readArrayLength(address, ArrayType, intSort) gt mkIntNum(0) + typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) + typeSystem.pythonNoneType -> falseExpr + is ConcretePythonType -> { + val address = ctx.typeSystem.addressOfConcreteType(type) + if (!ConcretePythonInterpreter.typeHasNbBool(address) && !ConcretePythonInterpreter.typeHasSqLength(address)) + trueExpr + else + null + } else -> null } } From adcc694504769022dc4de69304d334d9bf7195e0 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 15 Nov 2023 14:21:19 +0300 Subject: [PATCH 169/344] Added virtual tp_call --- usvm-python/build.gradle.kts | 2 +- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 ++++ .../src/main/c/virtual_objects.c | 8 ++++++ usvm-python/src/test/kotlin/manualTest.kt | 8 +++--- .../kotlin/org/usvm/samples/GeneratorsTest.kt | 22 +++++++++++++++ .../kotlin/org/usvm/samples/MethodsTest.kt | 14 ++++++++++ .../src/test/resources/samples/Generators.py | 12 ++++++++ .../src/test/resources/samples/Methods.py | 15 +++++++++- usvm-python/usvm-python-main/build.gradle.kts | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 13 +++++++++ .../kotlin/org/usvm/language/Callables.kt | 3 +- .../org/usvm/language/types/VirtualTypes.kt | 5 ++++ .../kotlin/org/usvm/machine/PythonMachine.kt | 3 +- .../interpreters/ConcretePythonInterpreter.kt | 1 + .../operations/basic/MethodNotifications.kt | 5 ++++ .../types/prioritization/SymbolTypeTree.kt | 23 +++++++++++---- .../org/usvm/machine/utils/Generators.kt | 28 +++++++++++++++++++ 19 files changed, 164 insertions(+), 15 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt create mode 100644 usvm-python/src/test/resources/samples/Generators.py create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 66418d94b6..a78ea19367 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -25,7 +25,7 @@ repositories { dependencies { implementation(project(":usvm-core")) implementation(project(":usvm-python:usvm-python-main")) - implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") + implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 9bb2973948..8b895f350c 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 9bb2973948d405eb02fd2bac8bb391f617d77813 +Subproject commit 8b895f350c82048bd8864f66c89ea494e9ab65b1 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 8d74177394..91cad1d037 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -311,6 +311,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpSetattr JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpCall + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpCall + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpDescrGet diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index e2d47c81d7..97a1fb61a5 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -449,6 +449,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter(JN return type->tp_iter != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpCall(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_call != 0; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrGet(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_descr_get != 0; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index f1d36476c1..4db7121f97 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -70,6 +70,13 @@ tp_iter(PyObject *o1) { } PyType_Slot Virtual_tp_iter = {Py_tp_iter, tp_iter}; +static PyObject * +tp_call(PyObject *o1, PyObject *args, PyObject *kwargs) { + assert(is_virtual_object(o1)); + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) +} +PyType_Slot Virtual_tp_call = {Py_tp_call, tp_call}; + static int nb_bool(PyObject *self) { VirtualPythonObject *obj = (VirtualPythonObject *) self; @@ -167,6 +174,7 @@ initialize_virtual_object_type() { Virtual_tp_getattro, Virtual_tp_setattro, Virtual_tp_iter, + Virtual_tp_call, Virtual_nb_bool, Virtual_nb_add, Virtual_nb_subtract, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9d3178448a..96614efafc 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -50,8 +50,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "is_full_binary_tree", - "Tricky" + "point2_usage", + "Methods" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt new file mode 100644 index 0000000000..5bb734517a --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt @@ -0,0 +1,22 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.eq + +class GeneratorsTest : PythonTestRunnerForPrimitiveProgram("Generators") { + @Test + fun testGeneratorUsage() { + check1WithConcreteRun( + constructFunction("generator_usage", listOf(typeSystem.pythonInt)), + eq(3), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "'one'" }, + { _, res -> res.repr == "'two'" }, + { _, res -> res.repr == "'other'" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index 00d2526af4..90e01a1139 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -112,4 +112,18 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio ) ) } + + @Test + fun testPoint2Inference() { + val oldOptions = options + options = UMachineOptions(stepLimit = 2U) + check1WithConcreteRun( + constructFunction("point2_inference", List(1) { PythonAnyType }), + eq(1), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf { x, _ -> x.typeName == "Point2" } + ) + options = oldOptions + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Generators.py b/usvm-python/src/test/resources/samples/Generators.py new file mode 100644 index 0000000000..9a6136ffd2 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Generators.py @@ -0,0 +1,12 @@ +def simple_generator(x: int): + if x == 1: + yield "one" + elif x == 2: + yield "two" + else: + yield "other" + + +def generator_usage(x: int): + for elem in simple_generator(x): + return elem \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index 7a7044ec2c..21bee8dada 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -57,4 +57,17 @@ def constructor_with_default_values(a: int, x: int): return 1 elif obj.b == x: return 2 - return 3 \ No newline at end of file + return 3 + + +class Point2: + def get_info(self): + return "" + + def func(self): + return "" + + +def point2_inference(p): + s = p.get_info() + return p.func() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index a03a69f25b..c6a9377df2 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) annotationProcessor(project(":usvm-python:usvm-python-annotations")) - implementation("org.utbot:utbot-python-types:2023.09-SNAPSHOT") + implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") // implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") // implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ba9956eaaa..b09e9c8683 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -87,6 +87,7 @@ public class CPythonAdapter { public native int typeHasTpGetattro(long type); public native int typeHasTpSetattro(long type); public native int typeHasTpIter(long type); + public native int typeHasTpCall(long type); public native int typeHasTpDescrGet(long type); public native int typeHasTpDescrSet(long type); public native int typeHasStandardNew(long type); @@ -907,6 +908,18 @@ public static void notifyTpIter(ConcolicRunContext context, SymbolForCPython on) tpIterKt(context, on.obj); } + @CPythonAdapterJavaMethod(cName = "tp_call") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyTpCall(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return; + context.curOperation = new MockHeader(TpCallMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); + tpCallKt(context, on.obj); + } + @CPythonAdapterJavaMethod(cName = "virtual_nb_bool") public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index 3ee6471c3d..2534e31995 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -39,4 +39,5 @@ object MpAssSubscriptMethod: TypeMethod(false) data class TpRichcmpMethod(val op: Int): TypeMethod(false) object TpGetattro: TypeMethod(false) object TpSetattro: TypeMethod(false) -object TpIterMethod: TypeMethod(false) \ No newline at end of file +object TpIterMethod: TypeMethod(false) +object TpCallMethod: TypeMethod(false) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index a00c338511..1f115bfa6d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -115,4 +115,9 @@ object HasTpSetattro: TypeProtocol() { object HasTpIter: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpIter(type.asObject) +} + +object HasTpCall: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpCall(type.asObject) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 8e286261e9..6108e9bf37 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -107,7 +107,8 @@ class PythonMachine( allowPathDiversion: Boolean = true, maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, - timeoutPerRunMs: Long? = null + timeoutPerRunMs: Long? = null, + // unfoldGenerator: Boolean = true ): Int { if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 600d655b43..ef42716787 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -234,6 +234,7 @@ object ConcretePythonInterpreter { val typeHasTpGetattro = createTypeQuery { pythonAdapter.typeHasTpGetattro(it) } val typeHasTpSetattro = createTypeQuery { pythonAdapter.typeHasTpSetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } + val typeHasTpCall = createTypeQuery { pythonAdapter.typeHasTpCall(it) } val typeHasTpDescrGet = createTypeQuery { pythonAdapter.typeHasTpDescrGet(it) } val typeHasTpDescrSet = createTypeQuery { pythonAdapter.typeHasTpDescrSet(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index baa4027e8d..fe2f7bd82c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -69,4 +69,9 @@ fun tpSetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObj fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpIter)) +} + +fun tpCallKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasTpCall)) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index cf38875936..3270655ca1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -5,14 +5,12 @@ import org.usvm.machine.PythonExecutionState import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.getConcreteStrIfDefined -import org.utbot.python.newtyping.PythonTypeHintsStorage -import org.utbot.python.newtyping.createBinaryProtocol -import org.utbot.python.newtyping.createUnaryProtocol +import org.utbot.python.newtyping.* +import org.utbot.python.newtyping.general.FunctionTypeCreator import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.inference.TypeInferenceEdgeWithBound import org.utbot.python.newtyping.inference.TypeInferenceNode import org.utbot.python.newtyping.inference.addEdge -import org.utbot.python.newtyping.pythonAnyType class SymbolTypeTree( private val state: PythonExecutionState, @@ -24,7 +22,7 @@ class SymbolTypeTree( private fun generateSuccessors(node: SymbolTreeNode): List = state.getMocksForSymbol(node.symbol).mapNotNull { (mockHeader, resultSymbol) -> val protocol = - when (mockHeader.method) { + when (mockHeader.method) { MpAssSubscriptMethod -> { returnType: UtType -> createBinaryProtocol("__setitem__", pythonAnyType, returnType) } MpSubscriptMethod -> @@ -72,6 +70,21 @@ class SymbolTypeTree( else -> error("Wrong OP in TpRichcmpMethod") } } + is TpCallMethod -> { returnType: UtType -> + createProtocolWithAttribute( + "__call__", + createPythonCallableType( + 1, + listOf(PythonCallableTypeDescription.ArgKind.ARG_STAR), + listOf(null) + ) { + FunctionTypeCreator.InitializationData( + listOf(pythonAnyType), + returnType + ) + } + ) + } } node.upperBounds.add(protocol(pythonAnyType)) val newNode = SymbolTreeNode(resultSymbol) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt new file mode 100644 index 0000000000..87990daa77 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt @@ -0,0 +1,28 @@ +package org.usvm.machine.utils + +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject + +/* +fun isGenerator(funcRef: PythonObject): Boolean { + TODO() +} +*/ + +fun unfoldGenerator(funcRef: PythonObject): PythonObject { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, funcRef, "f") + ConcretePythonInterpreter.concreteRun( + namespace, + """ + def new_f(*args): + result = [] + for elem in f(*args): + result.append(elem) + return result + """.trimIndent() + ) + return ConcretePythonInterpreter.eval(namespace, "new_f").also { + ConcretePythonInterpreter.decref(namespace) + } +} \ No newline at end of file From 7626df95780361375df48102c3b29397f7d7f937 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 15 Nov 2023 17:01:40 +0300 Subject: [PATCH 170/344] Several fixes --- usvm-python/src/test/kotlin/manualTest.kt | 12 ++-- .../org/usvm/samples/TrickyExamplesTest.kt | 6 +- .../test/kotlin/org/usvm/samples/TupleTest.kt | 2 +- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../interpreters/USVMPythonInterpreter.kt | 8 +-- .../interpreters/operations/basic/Common.kt | 16 ++++-- .../saving/PythonAnalysisResultSaver.kt | 3 +- .../saving/PythonRepresentationSaver.kt | 4 +- .../ConverterToPythonObject.kt | 57 ++++++++++++------- .../symbolicobjects/PreallocatedObjects.kt | 2 +- .../SymbolicObjectConstruction.kt | 4 +- .../symbolicobjects/SymbolicObjectContents.kt | 55 ++++++++++++++---- .../types/prioritization/SymbolTypeTree.kt | 4 +- 13 files changed, 118 insertions(+), 57 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 96614efafc..d9d7062ed7 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -50,8 +50,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "point2_usage", - "Methods" + "square_matrix", + "Tricky" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -74,9 +74,9 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - //if (module != "segment_tree_other") + //if (module != "binary_search_tree") // return null - // if (name != "viterbi") + //if (name != "BinarySearchTree.remove") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt index 2b9f9b2790..549149fcf1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt @@ -1,5 +1,6 @@ package org.usvm.samples +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType @@ -8,13 +9,14 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class TrickyExamplesTest: PythonTestRunnerForStructuredProgram( "Tricky", - UMachineOptions(stepLimit = 150U), + UMachineOptions(stepLimit = 200U), allowPathDiversions = true ) { + @Disabled @Test fun testSquareMatrix() { check2WithConcreteRun( - constructFunction("square_matrix", List(2) { PythonAnyType }), + constructFunction("square_matrix", listOf(PythonAnyType, PythonAnyType)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index 257658e786..5c27675ec0 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -100,7 +100,7 @@ class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(st @Test fun testGetItemOfInput() { val oldOptions = options - options = UMachineOptions(stepLimit = 50U) + options = UMachineOptions(stepLimit = 80U) allowPathDiversions = true check2WithConcreteRun( constructFunction("get_item_of_input", listOf(PythonAnyType, PythonAnyType)), diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index e05569387b..7a56284ec2 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -53,7 +53,7 @@ public ConcolicRunContext( if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { - this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects()); + this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects(), curState.getMemory().clone(curState.getPathConstraints().getTypeConstraints())); } this.maxInstructions = maxInstructions; this.isCancelled = isCancelled; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index ba91a458a3..cc0d643451 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -36,12 +36,12 @@ class USVMPythonInterpreter( private fun getSeeds( concolicRunContext: ConcolicRunContext, symbols: List - ): List = - symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) as InterpretedInputSymbolicPythonObject } + ): List = + symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } private fun getConcrete( converter: ConverterToPythonObject, - seeds: List, + seeds: List, symbols: List ): List = (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } @@ -49,7 +49,7 @@ class USVMPythonInterpreter( private fun getInputs( converter: ConverterToPythonObject, concrete: List, - seeds: List + seeds: List ): List? = if (converter.numberOfVirtualObjectUsages() == 0) { (seeds zip unpinnedCallable.signature zip concrete).map { (p, ref) -> diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index a4ce929db3..179176c953 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -1,7 +1,6 @@ package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KIntSort -import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength @@ -94,18 +93,25 @@ fun handlerIsOpKt( left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject ) = with(ctx.ctx) { + ctx.curState ?: return val leftType = left.getTypeIfDefined(ctx) val rightType = right.getTypeIfDefined(ctx) - if (leftType == null || rightType == null) { - myFork(ctx, mkHeapRefEq(left.address, right.address)) + if (leftType != null && rightType == null) { + myFork(ctx, right.evalIs(ctx, leftType)) + } else if (rightType != null && leftType == null) { + myFork(ctx, left.evalIs(ctx, rightType)) } - if (leftType != rightType) + if (leftType != rightType) { + myFork(ctx, mkHeapRefEq(left.address, right.address)) return + } when (leftType) { ctx.typeSystem.pythonBool -> myFork(ctx, left.getBoolContent(ctx) xor right.getBoolContent(ctx)) ctx.typeSystem.pythonInt -> myFork(ctx, left.getIntContent(ctx) eq right.getIntContent(ctx)) + ctx.typeSystem.pythonNoneType -> + return else -> myFork(ctx, mkHeapRefEq(left.address, right.address)) } @@ -223,5 +229,5 @@ fun handlerCreateEmptyObjectKt( ctx.curState ?: return null val typeSystem = ctx.typeSystem val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null - return constructEmptyObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, type) + return constructEmptyAllocatedObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, type) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt index 92ea164cfe..9a35d81e8d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt @@ -4,6 +4,7 @@ import org.usvm.language.types.PythonType import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.ConverterToPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject abstract class PythonAnalysisResultSaver { abstract fun serializeInput(inputs: List, converter: ConverterToPythonObject): InputRepr @@ -14,7 +15,7 @@ abstract class PythonAnalysisResultSaver { data class GeneratedPythonObject( val ref: PythonObject, val type: PythonType, - val asUExpr: InterpretedInputSymbolicPythonObject + val asUExpr: InterpretedSymbolicPythonObject ) sealed class ExecutionResult diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt index a6cd6062f0..47b30dee4b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt @@ -3,7 +3,7 @@ package org.usvm.machine.saving import org.usvm.language.types.PythonType import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.symbolicobjects.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject class PythonRepresentationSaver( private val serializer: PythonObjectSerializer @@ -51,7 +51,7 @@ data class PythonAnalysisResult( ) data class InputObject( - val asUExpr: InterpretedInputSymbolicPythonObject, + val asUExpr: InterpretedSymbolicPythonObject, val type: PythonType, val reprFromPythonObject: PythonObjectRepresentation ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 323262908f..603f104f7b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -1,10 +1,9 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr -import org.usvm.UConcreteHeapRef -import org.usvm.UHeapRef +import org.usvm.* import org.usvm.api.readArrayIndex -import org.usvm.isStaticHeapRef +import org.usvm.language.PythonCallable import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* import org.usvm.machine.UPythonContext @@ -14,13 +13,14 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder -import org.usvm.mkSizeExpr +import org.usvm.memory.UMemory class ConverterToPythonObject( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder, - private val preallocatedObjects: PreallocatedObjects + private val preallocatedObjects: PreallocatedObjects, + private val memory: UMemory ) { private val defaultValueProvider = DefaultValueProvider(typeSystem) val forcedConcreteTypes = mutableMapOf() @@ -45,8 +45,12 @@ class ConverterToPythonObject( fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() fun numberOfVirtualObjectUsages(): Int = numberOfUsagesOfVirtualObjects - fun convert(obj: InterpretedInputSymbolicPythonObject): PythonObject { - require(obj.modelHolder == modelHolder) + fun convert(obj: InterpretedSymbolicPythonObject): PythonObject { + if (obj is InterpretedInputSymbolicPythonObject) + require(obj.modelHolder == modelHolder) + require(!isAllocatedConcreteHeapRef(obj.address)) { + "Cannot convert allocated objects" + } val cached = constructedObjects[obj.address] if (cached != null) return cached @@ -77,8 +81,8 @@ class ConverterToPythonObject( } } - private fun convertFloat(obj: InterpretedInputSymbolicPythonObject): PythonObject { - val cmd = when (val floatValue = obj.getFloatContent(ctx)) { + private fun convertFloat(obj: InterpretedSymbolicPythonObject): PythonObject { + val cmd = when (val floatValue = obj.getFloatContent(ctx, memory)) { is FloatNan -> "float('nan')" is FloatPlusInfinity -> "float('inf')" is FloatMinusInfinity -> "float('-inf')" @@ -112,7 +116,10 @@ class ConverterToPythonObject( } } - private fun constructFromDefaultConstructor(obj: InterpretedInputSymbolicPythonObject, type: ConcretePythonType): PythonObject { + private fun constructFromDefaultConstructor(obj: InterpretedSymbolicPythonObject, type: ConcretePythonType): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Instance of type with default constructor cannot be static" + } require(type.owner == typeSystem) val result = ConcretePythonInterpreter.callStandardNew(type.asObject) constructedObjects[obj.address] = result @@ -124,7 +131,7 @@ class ConverterToPythonObject( if (obj.containsField(nameSymbol)) { val str = preallocatedObjects.concreteString(it)!! if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { - val symbolicValue = obj.getFieldValue(ctx, nameSymbol) + val symbolicValue = obj.getFieldValue(ctx, nameSymbol, memory) val value = convert(symbolicValue) val ref = preallocatedObjects.refOfString(str)!! val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -151,7 +158,10 @@ class ConverterToPythonObject( return result } - private fun constructVirtualObject(obj: InterpretedInputSymbolicPythonObject): PythonObject { + private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Virtual object cannot be static" + } val default = forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } if (default != null) return default @@ -163,17 +173,20 @@ class ConverterToPythonObject( return result } - private fun convertInt(obj: InterpretedInputSymbolicPythonObject): PythonObject = - ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx).toString()) + private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = + ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx, memory).toString()) - private fun convertBool(obj: InterpretedInputSymbolicPythonObject): PythonObject = - when (obj.getBoolContent(ctx)) { + private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject = + when (obj.getBoolContent(ctx, memory)) { ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") else -> error("Not reachable") } - private fun convertList(obj: InterpretedInputSymbolicPythonObject): PythonObject { + private fun convertList(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "List object cannot be static" + } val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList val listOfPythonObjects = constructArrayContents(obj) @@ -187,7 +200,10 @@ class ConverterToPythonObject( return resultList } - private fun convertTuple(obj: InterpretedInputSymbolicPythonObject): PythonObject { + private fun convertTuple(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Tuple object cannot be static" + } val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple @@ -198,7 +214,10 @@ class ConverterToPythonObject( return resultTuple } - private fun convertSlice(obj: InterpretedInputSymbolicPythonObject): PythonObject { + private fun convertSlice(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Slice cannot be static" + } val (start, stop, step) = obj.getSliceContent(ctx, typeSystem) val startStr = start?.toString() ?: "None" val stopStr = stop?.toString() ?: "None" diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 0a9dcbd6d2..736a1e8bb1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -59,7 +59,7 @@ class PreallocatedObjects( typeSystem: PythonTypeSystem ): PreallocatedObjects = PreallocatedObjects( - noneObject = constructEmptyObject(ctx, initialMemory, typeSystem, typeSystem.pythonNoneType), + noneObject = constructEmptyStaticObject(ctx, initialMemory, typeSystem, typeSystem.pythonNoneType), trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), concreteStrToSymbol = mutableMapOf(), diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 9eab6268e0..7b740f1a44 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -30,7 +30,7 @@ fun constructInputObject( return result } -fun constructEmptyObject( +fun constructEmptyAllocatedObject( ctx: UPythonContext, memory: UMemory, typeSystem: PythonTypeSystem, @@ -91,7 +91,7 @@ fun constructInitialBool( typeSystem: PythonTypeSystem, expr: UExpr ): UninterpretedSymbolicPythonObject { - val address = memory.allocConcrete(typeSystem.pythonBool) + val address = memory.allocStatic(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 4d6156d4e1..3872ffafa7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -11,6 +11,7 @@ import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut import org.usvm.api.readArrayLength import org.usvm.api.readField +import org.usvm.api.typeStreamOf import org.usvm.api.writeField import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue @@ -22,6 +23,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory +import org.usvm.types.first /** standard fields **/ @@ -64,12 +66,19 @@ fun InterpretedInputSymbolicPythonObject.containsField( fun InterpretedInputSymbolicPythonObject.getFieldValue( ctx: UPythonContext, - name: InterpretedSymbolicPythonObject -): InterpretedInputSymbolicPythonObject { + name: InterpretedSymbolicPythonObject, + memory: UMemory +): InterpretedSymbolicPythonObject { require(!isAllocatedConcreteHeapRef(name.address)) val result = modelHolder.model.uModel.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) require((result as UConcreteHeapRef).address <= 0) - return InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) + return if (!isStaticHeapRef(result)) + InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) + else { + val type = memory.typeStreamOf(result).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(result, type, typeSystem) + } } /** arrays (list, tuple) **/ @@ -114,18 +123,22 @@ fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: UPythonContext): KIn return modelHolder.model.readField(address, IntContents.content, ctx.intSort) } -fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInterpretedValue { +fun InterpretedSymbolicPythonObject.getIntContent(ctx: UPythonContext, memory: UMemory): KInterpretedValue { return when (this) { is InterpretedInputSymbolicPythonObject -> { - getIntContent(ctx.ctx) + getIntContent(ctx) } is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - require(ctx.curState != null) - ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) as KInterpretedValue + memory.readField(address, IntContents.content, ctx.intSort) as KInterpretedValue } } } +fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInterpretedValue { + require(ctx.curState != null) + return getIntContent(ctx.ctx, ctx.curState!!.memory) +} + /** float **/ @@ -165,6 +178,22 @@ fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): F return FloatNormalValue(floatValue.value) } +fun InterpretedSymbolicPythonObject.getFloatContent(ctx: UPythonContext, memory: UMemory): FloatInterpretedContent { + if (this is InterpretedInputSymbolicPythonObject) + return getFloatContent(ctx) + val isNan = memory.readField(address, FloatContents.isNan, ctx.boolSort) + if (isNan.isTrue) + return FloatNan + val isInf = memory.readField(address, FloatContents.isInf, ctx.boolSort) + if (isInf.isTrue) { + val isPositive = memory.readField(address, FloatContents.infSign, ctx.boolSort) + return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity + } + val realValue = memory.readField(address, FloatContents.content, ctx.realSort) + val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value + return FloatNormalValue(floatValue.value) +} + data class FloatUninterpretedContent( val isNan: UBoolExpr, val isInf: UBoolExpr, @@ -254,18 +283,22 @@ fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: UPythonContext): KI return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) } -fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: UPythonContext, memory: UMemory): KInterpretedValue { return when (this) { is InterpretedInputSymbolicPythonObject -> { - getBoolContent(ctx.ctx) + getBoolContent(ctx) } is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - require(ctx.curState != null) - ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) as KInterpretedValue + memory.readField(address, BoolContents.content, ctx.boolSort) as KInterpretedValue } } } +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { + require(ctx.curState != null) + return getBoolContent(ctx.ctx, ctx.curState!!.memory) +} + /** list_iterator **/ diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index 3270655ca1..80269763bd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -46,12 +46,12 @@ class SymbolTypeTree( TpGetattro -> { val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) ?: return@mapNotNull null - { returnType: UtType -> createUnaryProtocol(attribute, returnType) } + { returnType: UtType -> createProtocolWithAttribute(attribute, returnType) } } TpSetattro -> { val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) ?: return@mapNotNull null - { _: UtType -> createUnaryProtocol(attribute, pythonAnyType) } + { _: UtType -> createProtocolWithAttribute(attribute, pythonAnyType) } } is TpRichcmpMethod -> { returnType: UtType -> when (mockHeader.method.op) { From 98445bcc09a7dedb063134e41dd29f7bc0c1a0c5 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 15 Nov 2023 18:25:48 +0300 Subject: [PATCH 171/344] Reduced waiting time in loop --- .../kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt | 7 ++----- .../src/test/kotlin/org/usvm/runner/manualTest.kt | 7 ++++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 848b484058..9ca639331a 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -74,11 +74,8 @@ class PythonSymbolicAnalysisRunnerImpl( ): Thread() { override fun run() { val start = System.currentTimeMillis() - while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive && process.isAlive) { - if (isCancelled()) { - readingThread.interrupt() - } - TimeUnit.MILLISECONDS.sleep(100) + while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive && process.isAlive && !isCancelled()) { + sleep(10) } readingThread.interrupt() } diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 0d28dcfb12..c32b305c3f 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -4,6 +4,7 @@ import org.usvm.runner.venv.extractVenvConfig import java.io.File fun main() { + val start = System.currentTimeMillis() val basePath = System.getProperty("project.root") val layout = TestingLayout(basePath) // StandardLayout(File(basePath, "build/distributions/usvm-python")) val mypyDir = File(basePath, "build/samples_build") @@ -22,7 +23,7 @@ fun main() { "get_info", "Point" ), - 10_000, + 30_000, 3_000 ) /*val debugRunner = DebugRunner(config) @@ -32,7 +33,7 @@ fun main() { val receiver = PrintingResultReceiver() val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { - val start = System.currentTimeMillis() - it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 20_000 } + it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } } + println("Time: ${System.currentTimeMillis() - start}") } \ No newline at end of file From 00738ffe12e9c2f57c8bc5c2fcffcd45bde1dff2 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 15 Nov 2023 19:29:30 +0300 Subject: [PATCH 172/344] Trying to catch segfault --- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../machine/interpreters/USVMPythonInterpreter.kt | 12 +++++++++++- .../usvm/machine/saving/PythonObjectSerializer.kt | 10 ++++++++++ .../symbolicobjects/ConverterToPythonObject.kt | 6 ++++-- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index d9d7062ed7..a6c883f15e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -76,7 +76,7 @@ private fun getFunctionInfo( return null //if (module != "binary_search_tree") // return null - //if (name != "BinarySearchTree.remove") + //if (name != "RedBlackTree.insert") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index cc0d643451..d0ae1568e3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -110,7 +110,11 @@ class USVMPythonInterpreter( ) return@runBlocking StepResult(emptySequence(), false) }?.let { + // println("Getting representation") + // System.out.flush() val representation = saver.serializeInput(it, converter) + // println("Finished getting representation") + // System.out.flush() launch { saver.saveNextInputs(representation) } @@ -139,7 +143,9 @@ class USVMPythonInterpreter( if (madeInputSerialization) { saver.saveExecutionResult(Success(result)) } - logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") + if (logger.isDebugEnabled) { + logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") + } } catch (exception: CPythonExecutionException) { require(exception.pythonExceptionType != null) @@ -153,7 +159,11 @@ class USVMPythonInterpreter( ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) ) if (madeInputSerialization) { + // println("Saving result") + // System.out.flush() saver.saveExecutionResult(Fail(exception.pythonExceptionType)) + // println("Finished saving result") + // System.out.flush() } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt index 07fde0bc77..efcb2c0895 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt @@ -18,6 +18,16 @@ object StandardPythonObjectSerializer: PythonObjectSerializer( object ReprObjectSerializer: PythonObjectSerializer() { override fun serialize(obj: PythonObject): String { + /*val type = ConcretePythonInterpreter.getPythonObjectType(obj) + println("Serializing ${ConcretePythonInterpreter.getPythonObjectRepr(type)}") + kotlin.runCatching { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") + ConcretePythonInterpreter.eval(namespace, "obj.__dict__") + println("(Managed to get __dict__)") + }.getOrElse { + println("(Exception while trying to get __dict__)") + }*/ return runCatching { ConcretePythonInterpreter.getPythonObjectRepr(obj) }.getOrDefault("") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 603f104f7b..00cf7c2b8d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -133,15 +133,17 @@ class ConverterToPythonObject( if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { val symbolicValue = obj.getFieldValue(ctx, nameSymbol, memory) val value = convert(symbolicValue) - val ref = preallocatedObjects.refOfString(str)!! + val strRef = preallocatedObjects.refOfString(str)!! val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, ref, "field") + ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") ConcretePythonInterpreter.concreteRun(namespace, "import keyword") val isValidName = ConcretePythonInterpreter.eval( namespace, "field.isidentifier() and not keyword.iskeyword(field)" ) if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { + // ConcretePythonInterpreter.incref(value) + // ConcretePythonInterpreter.incref(strRef) ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") ConcretePythonInterpreter.addObjectToNamespace(namespace, value, "value") ConcretePythonInterpreter.concreteRun( From 3eccce4d98e8325e582ae3786d8167a29a20986d Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 15 Nov 2023 19:45:53 +0300 Subject: [PATCH 173/344] Started working on dicts --- usvm-python/src/test/kotlin/manualTest.kt | 10 ++++----- .../test/kotlin/org/usvm/samples/DictsTest.kt | 22 +++++++++++++++++++ .../src/test/resources/samples/Dicts.py | 2 ++ .../org/usvm/language/types/TypeSystem.kt | 1 + .../ConverterToPythonObject.kt | 8 +++++++ .../machine/utils/DefaultValueProvider.kt | 1 + 6 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt create mode 100644 usvm-python/src/test/resources/samples/Dicts.py diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a6c883f15e..c832ff34ce 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -50,8 +50,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "square_matrix", - "Tricky" + "expect_dict", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -74,8 +74,8 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - //if (module != "binary_search_tree") - // return null + if (module != "viterbi") + return null //if (name != "RedBlackTree.insert") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) @@ -109,7 +109,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" + val projectPath = "D:\\projects\\Python\\dynamic_programming" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt new file mode 100644 index 0000000000..e376754919 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -0,0 +1,22 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.eq + +class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { + @Test + fun testFloatInput() { + check1WithConcreteRun( + constructFunction("expect_dict", listOf(PythonAnyType)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py new file mode 100644 index 0000000000..31e521b067 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -0,0 +1,2 @@ +def expect_dict(x): + assert isinstance(x, dict) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 67a01795b8..981696b42a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -129,6 +129,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonRangeIterator = createConcreteTypeByName("type(range(1).__iter__())", isHidden = true) val pythonStr = createConcreteTypeByName("str") val pythonSlice = createConcreteTypeByName("slice") + val pythonDict = createConcreteTypeByName("dict") protected val basicTypes: List by lazy { concreteTypeToAddress.keys.filter { !it.isHidden } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 00cf7c2b8d..757e549088 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -64,6 +64,7 @@ class ConverterToPythonObject( typeSystem.pythonStr -> convertString() typeSystem.pythonSlice -> convertSlice(obj) typeSystem.pythonFloat -> convertFloat(obj) + typeSystem.pythonDict -> convertDict(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(obj, type) @@ -81,6 +82,13 @@ class ConverterToPythonObject( } } + private fun convertDict(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Input dict cannot be static" + } + return ConcretePythonInterpreter.eval(emptyNamespace, "dict()") + } + private fun convertFloat(obj: InterpretedSymbolicPythonObject): PythonObject { val cmd = when (val floatValue = obj.getFloatContent(ctx, memory)) { is FloatNan -> "float('nan')" diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt index 87ca617960..1bbd6a59d4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt @@ -19,6 +19,7 @@ class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { typeSystem.pythonTuple -> ConcretePythonInterpreter.eval(emptyNamespace, "tuple()") typeSystem.pythonStr -> ConcretePythonInterpreter.eval(emptyNamespace, "''") typeSystem.pythonSlice -> ConcretePythonInterpreter.eval(emptyNamespace, "slice(0, 1, 1)") + typeSystem.pythonDict -> ConcretePythonInterpreter.eval(emptyNamespace, "dict()") else -> { val ref = typeSystem.addressOfConcreteType(type) if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { From dcc29986991da6ea31e84c403749110035ffb621 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 15 Nov 2023 22:13:26 +0300 Subject: [PATCH 174/344] usvm-python-runner: wrapped interruped in while loop --- .../kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 9ca639331a..49f1f01b92 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -77,7 +77,9 @@ class PythonSymbolicAnalysisRunnerImpl( while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive && process.isAlive && !isCancelled()) { sleep(10) } - readingThread.interrupt() + while (readingThread.isAlive) { + readingThread.interrupt() + } } } From 9a79472f13d4de9c6fb5ec8c63da4b71c01976ee Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 15 Nov 2023 22:24:49 +0300 Subject: [PATCH 175/344] small fix --- usvm-python/src/test/kotlin/manualTest.kt | 14 ++++++++------ .../symbolicobjects/ConverterToPythonObject.kt | 11 ++++++++++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c832ff34ce..ca0879e280 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -57,7 +57,9 @@ private fun buildSampleRunConfig(): RunConfig { return RunConfig(program, typeSystem, functions) } -private val ignoreFunctions = listOf() +private val ignoreFunctions = listOf( + "get_transitions" +) private val ignoreModules = listOf( "odd_even_transposition_parallel" ) @@ -74,10 +76,10 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - if (module != "viterbi") - return null - //if (name != "RedBlackTree.insert") - // return null + // if (module != "markov_chain") + // return null + // if (name != "get_transitions") + // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { @@ -109,7 +111,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\dynamic_programming" + val projectPath = "D:\\projects\\Python\\graphs" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 757e549088..29a6bc25cb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -3,6 +3,7 @@ package org.usvm.machine.symbolicobjects import io.ksmt.expr.KInt32NumExpr import org.usvm.* import org.usvm.api.readArrayIndex +import org.usvm.api.typeStreamOf import org.usvm.language.PythonCallable import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* @@ -14,6 +15,7 @@ import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder import org.usvm.memory.UMemory +import org.usvm.types.first class ConverterToPythonObject( private val ctx: UPythonContext, @@ -119,7 +121,14 @@ class ConverterToPythonObject( ) as UConcreteHeapRef if (element.address == 0 && forcedConcreteTypes[element] == null) numberOfUsagesOfVirtualObjects += 1 - val elemInterpretedObject = InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) + val elemInterpretedObject = + if (isStaticHeapRef(element)) { + val type = memory.typeStreamOf(element).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(element, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) + } convert(elemInterpretedObject) } } From 232c118c5dda6ade26db612dccef1d925df779bb Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 15 Nov 2023 23:18:14 +0300 Subject: [PATCH 176/344] new attempt --- .../usvm/runner/PythonSymbolicAnalysisRunner.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 49f1f01b92..d3576d9706 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -20,10 +20,14 @@ class PythonSymbolicAnalysisRunnerImpl( receiver: USVMPythonAnalysisResultReceiver, isCancelled: () -> Boolean ) { + val start = System.currentTimeMillis() val processBuilder = setupEnvironment(runConfig) val process = processBuilder.start() - val readingThread = ReadingThread(serverSocketChannel, receiver, isCancelled) - val waitingThread = WaitingThread(process, runConfig, readingThread, isCancelled) + val newIsCancelled = { + isCancelled() || System.currentTimeMillis() - start < runConfig.timeoutMs + } + val readingThread = ReadingThread(serverSocketChannel, receiver, newIsCancelled) + val waitingThread = WaitingThread(process, readingThread, newIsCancelled) try { readingThread.start() waitingThread.start() @@ -68,18 +72,15 @@ class PythonSymbolicAnalysisRunnerImpl( class WaitingThread( private val process: Process, - private val runConfig: USVMPythonRunConfig, private val readingThread: Thread, private val isCancelled: () -> Boolean ): Thread() { override fun run() { val start = System.currentTimeMillis() - while (System.currentTimeMillis() - start < runConfig.timeoutMs && readingThread.isAlive && process.isAlive && !isCancelled()) { + while (readingThread.isAlive && process.isAlive && !isCancelled()) { sleep(10) } - while (readingThread.isAlive) { - readingThread.interrupt() - } + readingThread.interrupt() } } From 96b300a84c1a64e01fc39be91fee4b2ea816cd52 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 15 Nov 2023 23:21:03 +0300 Subject: [PATCH 177/344] fix --- .../org/usvm/runner/PythonSymbolicAnalysisRunner.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index d3576d9706..1d57d97576 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -24,7 +24,7 @@ class PythonSymbolicAnalysisRunnerImpl( val processBuilder = setupEnvironment(runConfig) val process = processBuilder.start() val newIsCancelled = { - isCancelled() || System.currentTimeMillis() - start < runConfig.timeoutMs + isCancelled() || System.currentTimeMillis() - start >= runConfig.timeoutMs } val readingThread = ReadingThread(serverSocketChannel, receiver, newIsCancelled) val waitingThread = WaitingThread(process, readingThread, newIsCancelled) @@ -76,11 +76,13 @@ class PythonSymbolicAnalysisRunnerImpl( private val isCancelled: () -> Boolean ): Thread() { override fun run() { - val start = System.currentTimeMillis() while (readingThread.isAlive && process.isAlive && !isCancelled()) { sleep(10) } - readingThread.interrupt() + while (readingThread.isAlive) { + readingThread.interrupt() + sleep(10) + } } } From 5c605c75f82711f0ce8cd6d83e89cbe1c04f0499 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 16 Nov 2023 18:29:43 +0300 Subject: [PATCH 178/344] preparations for dict --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 8 +++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 ++ .../src/main/c/virtual_objects.c | 8 +++ usvm-python/src/test/kotlin/manualTest.kt | 8 +-- .../src/test/resources/samples/Dicts.py | 31 +++++++++- .../org/usvm/interpreter/CPythonAdapter.java | 12 ++++ .../usvm/language/types/ElementConstraints.kt | 2 +- .../kotlin/org/usvm/language/types/Types.kt | 2 +- .../org/usvm/language/types/VirtualTypes.kt | 11 ++++ .../kotlin/org/usvm/machine/PythonMachine.kt | 9 ++- .../interpreters/ConcretePythonInterpreter.kt | 1 + .../interpreters/operations/basic/Dict.kt | 18 ++++++ .../interpreters/operations/basic/List.kt | 16 ++--- .../operations/basic/MethodNotifications.kt | 5 ++ .../interpreters/operations/basic/Tuple.kt | 4 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 9 +-- .../ConverterToPythonObject.kt | 11 +++- .../symbolicobjects}/Fields.kt | 2 +- .../SymbolicObjectConstruction.kt | 7 ++- .../symbolicobjects/SymbolicObjectContents.kt | 58 +++++++++++++++++-- .../symbolicobjects/SymbolicPythonObject.kt | 40 +------------ .../org/usvm/machine/utils/PyModelWrapper.kt | 2 +- 23 files changed, 195 insertions(+), 76 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine/symbolicobjects}/Fields.kt (97%) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 8b895f350c..f6f86af473 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 8b895f350c82048bd8864f66c89ea494e9ab65b1 +Subproject commit f6f86af473010ccffc3d4248542d4c0a32260cdc diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 91cad1d037..6f0f3ebbe9 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -319,6 +319,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpCall (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasTpHash + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpHash + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasTpDescrGet diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 97a1fb61a5..19fa5167eb 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -454,6 +454,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpCall(JN return type->tp_call != 0; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpHash(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_hash != 0; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrGet(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_descr_get != 0; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 4db7121f97..bb0619c032 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -70,6 +70,13 @@ tp_iter(PyObject *o1) { } PyType_Slot Virtual_tp_iter = {Py_tp_iter, tp_iter}; +static Py_hash_t +tp_hash(PyObject *o1) { + assert(is_virtual_object(o1)); + return PyBaseObject_Type.tp_hash(o1); +} +PyType_Slot Virtual_tp_hash = {Py_tp_hash, tp_hash}; + static PyObject * tp_call(PyObject *o1, PyObject *args, PyObject *kwargs) { assert(is_virtual_object(o1)); @@ -174,6 +181,7 @@ initialize_virtual_object_type() { Virtual_tp_getattro, Virtual_tp_setattro, Virtual_tp_iter, + Virtual_tp_hash, Virtual_tp_call, Virtual_nb_bool, Virtual_nb_add, diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index ca0879e280..937d53c216 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -49,8 +49,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "expect_dict", + listOf(typeSystem.pythonDict, PythonAnyType), + "input_dict_virtual_get_item", "Dicts" ) val functions = listOf(function) diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 31e521b067..1883f056e8 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -1,2 +1,31 @@ def expect_dict(x): - assert isinstance(x, dict) \ No newline at end of file + assert isinstance(x, dict) + + +def input_dict_int_get_item(d: dict): + assert d[15] == 10 + + +def input_dict_virtual_get_item(d: dict, i): + assert d[i] == 10 + + +def allocate_dict(x: int, y: int): + d = {x: 15} + assert d[x] == y + + +def dfs(g, s): + vis, _s = {s}, [s] + print(s) + while _s: + flag = 0 + for i in g[_s[-1]]: + if i not in vis: + _s.append(i) + vis.add(i) + flag = 1 + print(i) + break + if not flag: + _s.pop() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index b09e9c8683..5f7982daa9 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -88,6 +88,7 @@ public class CPythonAdapter { public native int typeHasTpSetattro(long type); public native int typeHasTpIter(long type); public native int typeHasTpCall(long type); + public native int typeHasTpHash(long type); public native int typeHasTpDescrGet(long type); public native int typeHasTpDescrSet(long type); public native int typeHasStandardNew(long type); @@ -920,6 +921,17 @@ public static void notifyTpCall(ConcolicRunContext context, SymbolForCPython on) tpCallKt(context, on.obj); } + @CPythonAdapterJavaMethod(cName = "tp_hash") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyTpHash(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return; + tpHashKt(context, on.obj); + } + @CPythonAdapterJavaMethod(cName = "virtual_nb_bool") public static boolean virtualNbBool(ConcolicRunContext context, VirtualPythonObject obj) { return virtualNbBoolKt(context, obj); diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt index 107c4b6221..721e11cdb1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -5,7 +5,7 @@ import org.usvm.UConcreteHeapRef import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.language.TimeOfCreation +import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.UPythonContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 44e0bcd3e5..936f6bc85c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -40,4 +40,4 @@ class ArrayLikeConcretePythonType( owner: PythonTypeSystem, typeName: String, addressGetter: () -> PythonObject -): ConcretePythonType(owner, typeName, null, false, addressGetter) +): ConcretePythonType(owner, typeName, null, false, addressGetter) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 1f115bfa6d..78a48b135c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -16,6 +16,12 @@ object ArrayType: VirtualPythonType() { } } +data class DictType(val typeSystem: PythonTypeSystem): VirtualPythonType() { + override fun accepts(type: PythonType): Boolean { + return type == this || type == typeSystem.pythonDict + } +} + class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type == this) @@ -120,4 +126,9 @@ object HasTpIter: TypeProtocol() { object HasTpCall: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpCall(type.asObject) +} + +object HasTpHash: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasTpHash(type.asObject) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 6108e9bf37..73494f5852 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -62,10 +62,10 @@ class PythonMachine( ).apply { stack.push(target.numberOfArguments) } + val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) val symbols = target.signature.mapIndexed { index, type -> constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem) } - val preAllocatedObjects = PreallocatedObjects.initialize(ctx, memory, pathConstraints, typeSystem) val solverRes = ctx.solver().check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") @@ -83,19 +83,22 @@ class PythonMachine( } } - private fun getPathSelector(target: PythonUnpinnedCallable): UPathSelector { + private fun getPathSelector( + target: PythonUnpinnedCallable + ): UPathSelector { val pathSelectorCreation = { DfsPathSelector() // createForkDepthPathSelector, PythonExecutionState>(random) } + val initialState = getInitialState(target) val ps = PythonVirtualPathSelector( ctx, typeSystem, pathSelectorCreation(), pathSelectorCreation(), pathSelectorCreation(), + // initialState.preAllocatedObjects ) - val initialState = getInitialState(target) ps.add(listOf(initialState)) return ps } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index ef42716787..a90cbf525e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -235,6 +235,7 @@ object ConcretePythonInterpreter { val typeHasTpSetattro = createTypeQuery { pythonAdapter.typeHasTpSetattro(it) } val typeHasTpIter = createTypeQuery { pythonAdapter.typeHasTpIter(it) } val typeHasTpCall = createTypeQuery { pythonAdapter.typeHasTpCall(it) } + val typeHasTpHash = createTypeQuery { pythonAdapter.typeHasTpHash(it) } val typeHasTpDescrGet = createTypeQuery { pythonAdapter.typeHasTpDescrGet(it) } val typeHasTpDescrSet = createTypeQuery { pythonAdapter.typeHasTpDescrSet(it) } val typeHasStandardNew = createTypeQuery { pythonAdapter.typeHasStandardNew(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt new file mode 100644 index 0000000000..d64a66a155 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -0,0 +1,18 @@ +package org.usvm.machine.interpreters.operations.basic + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +/* +fun handlerDictGetItemKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val keyType = key.getTypeIfDefined(ctx) + ?: // TODO + return null + val typeSystem = ctx.typeSystem +} +*/ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt index 4c7a0c7c74..cdcffea342 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt @@ -20,14 +20,14 @@ fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt if (ctx.curState == null) return null val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return null - return list.readElement(ctx, indexInt) + return list.readArrayElement(ctx, indexInt) } fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { if (ctx.curState == null) return val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return - list.writeElement(ctx, indexInt, value) + list.writeArrayElement(ctx, indexInt, value) } @@ -37,8 +37,8 @@ private fun listConcat( right: UninterpretedSymbolicPythonObject, dst: UninterpretedSymbolicPythonObject, ) { - dst.extendConstraints(ctx, left) - dst.extendConstraints(ctx, right) + dst.extendArrayConstraints(ctx, left) + dst.extendArrayConstraints(ctx, right) with (ctx.ctx) { val leftSize = left.readArrayLength(ctx) val rightSize = right.readArrayLength(ctx) @@ -90,7 +90,7 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth return null with (ctx.ctx) { val currentSize = list.readArrayLength(ctx) - list.writeElement(ctx, currentSize, elem) + list.writeArrayElement(ctx, currentSize, elem) ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) return list } @@ -118,7 +118,7 @@ fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSy iterator.increaseListIteratorCounter(ctx) val list = UninterpretedSymbolicPythonObject(listAddress, typeSystem) - return list.readElement(ctx, index) + return list.readArrayElement(ctx, index) } private fun listPop( @@ -133,7 +133,7 @@ private fun listPop( if (ctx.modelHolder.model.eval(sizeCond).isFalse) return null val newSize = mkArithSub(listSize, mkIntNum(1)) - val result = list.readElement(ctx, ind ?: newSize) + val result = list.readArrayElement(ctx, ind ?: newSize) ctx.curState!!.memory.writeArrayLength(list.address, newSize, ArrayType, intSort) return result } @@ -175,7 +175,7 @@ fun handlerListInsertKt( listSize ) ctx.curState!!.symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) - list.writeElement(ctx, indValue, value) // to assert element constraints + list.writeArrayElement(ctx, indValue, value) // to assert element constraints } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index fe2f7bd82c..8796d5bb1b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -74,4 +74,9 @@ fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) fun tpCallKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpCall)) +} + +fun tpHashKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasTpHash)) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt index 99dfbdd78c..e46dcffaa4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt @@ -32,7 +32,7 @@ fun handlerTupleIteratorNextKt( return null iterator.increaseTupleIteratorCounter(ctx) val tupleObject = UninterpretedSymbolicPythonObject(tuple, typeSystem) - return tupleObject.readElement(ctx, index) + return tupleObject.readArrayElement(ctx, index) } fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPythonObject, count: Int) = with(ctx.ctx) { @@ -58,5 +58,5 @@ fun handlerTupleGetItemKt( if (ctx.curState == null) return null val indexInt = resolveSequenceIndex(ctx, tuple, index, ctx.typeSystem.pythonTuple) ?: return null - return tuple.readElement(ctx, indexInt) + return tuple.readArrayElement(ctx, indexInt) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 13b65a3d5a..2626b7bb84 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -10,10 +10,7 @@ import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints -import org.usvm.language.types.ArrayType -import org.usvm.language.types.ObjectDictType -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.* import org.usvm.machine.UPythonContext import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion @@ -52,6 +49,10 @@ class PyModel( val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, setKeys) as UReadOnlyMemoryRegion } + if (regionId is URefSetRegionId<*> && regionId.setType == DictType(typeSystem)) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + return WrappedSetRegion(ctx, region, setKeys) as UReadOnlyMemoryRegion + } return super.getRegion(regionId) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 29a6bc25cb..956d8b13be 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -63,7 +63,7 @@ class ConverterToPythonObject( typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") typeSystem.pythonList -> convertList(obj) typeSystem.pythonTuple -> convertTuple(obj) - typeSystem.pythonStr -> convertString() + typeSystem.pythonStr -> convertString(obj) typeSystem.pythonSlice -> convertSlice(obj) typeSystem.pythonFloat -> convertFloat(obj) typeSystem.pythonDict -> convertDict(obj) @@ -101,7 +101,14 @@ class ConverterToPythonObject( return ConcretePythonInterpreter.eval(emptyNamespace, cmd) } - private fun convertString(): PythonObject { + private fun convertString(obj: InterpretedSymbolicPythonObject): PythonObject { + if (isStaticHeapRef(obj.address)) { + val uninterpreted = UninterpretedSymbolicPythonObject(obj.address, typeSystem) + val str = preallocatedObjects.concreteString(uninterpreted) + val ref = str?.let { preallocatedObjects.refOfString(str) } + if (ref != null) + return ref + } return ConcretePythonInterpreter.eval(emptyNamespace, "'${strNumber++}'") } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Fields.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt index 463de0172c..e735405393 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Fields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt @@ -1,4 +1,4 @@ -package org.usvm.language +package org.usvm.machine.symbolicobjects sealed class PropertyOfPythonObject data class ContentOfType(val id: String): PropertyOfPythonObject() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 7b740f1a44..7abcd44659 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -20,13 +20,14 @@ fun constructInputObject( ctx: UPythonContext, memory: UMemory, pathConstraints: UPathConstraints, - typeSystem: PythonTypeSystem + typeSystem: PythonTypeSystem, + // preallocatedObjects: PreallocatedObjects ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") val address = memory.read(URegisterStackLValue(ctx.addressSort, stackIndex)) as UExpr pathConstraints += ctx.mkNot(ctx.mkHeapRefEq(address, ctx.nullRef)) val result = UninterpretedSymbolicPythonObject(address, typeSystem) - pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, type) + pathConstraints += result.evalIs(ctx, pathConstraints.typeConstraints, type) return result } @@ -93,7 +94,7 @@ fun constructInitialBool( ): UninterpretedSymbolicPythonObject { val address = memory.allocStatic(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) - pathConstraints += result.evalIsSoft(ctx, pathConstraints.typeConstraints, typeSystem.pythonBool) + pathConstraints += pathConstraints.typeConstraints.evalIsSubtype(address, typeSystem.pythonBool) val lvalue = UFieldLValue(expr.sort, address, BoolContents.content) memory.write(lvalue, expr, ctx.trueExpr) result.setMinimalTimeOfCreation(ctx, memory) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 3872ffafa7..5d6918c189 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -6,13 +6,10 @@ import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* +import org.usvm.api.* import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut -import org.usvm.api.readArrayLength -import org.usvm.api.readField -import org.usvm.api.typeStreamOf -import org.usvm.api.writeField import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext @@ -96,6 +93,43 @@ fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: UPythonContext): U return modelHolder.model.uModel.readArrayLength(address, ArrayType, ctx.intSort) } +fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) + val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) + if (isAllocatedObject(ctx)) + return elem + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) + } + myAssert(ctx, cond) + return elem +} + +fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + if (!isAllocatedObject(ctx)) { + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) + } + myAssert(ctx, cond) + } + ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.extendArrayConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + type.elementConstraints.forEach { constraint -> + on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) + } +} + /** int **/ fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { @@ -514,4 +548,18 @@ fun UninterpretedSymbolicPythonObject.setSliceStep(ctx: ConcolicRunContext, cont /** str **/ fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = - preallocatedObjects.concreteString(this) \ No newline at end of file + preallocatedObjects.concreteString(this) + + +/** dict **/ + +fun UninterpretedSymbolicPythonObject.readDictElement( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, DictType(typeSystem), ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 7b46ab1760..b75155f2ad 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -6,7 +6,6 @@ import org.usvm.api.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable -import org.usvm.language.TimeOfCreation import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.language.types.* @@ -106,44 +105,7 @@ class UninterpretedSymbolicPythonObject( memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) } - fun readElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) - val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) - if (isAllocatedObject(ctx)) - return elem - val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> - ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) - } - myAssert(ctx, cond) - return elem - } - - fun writeElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - if (!isAllocatedObject(ctx)) { - val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> - ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) - } - myAssert(ctx, cond) - } - ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) - } - - fun extendConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - type.elementConstraints.forEach { constraint -> - on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) - } - } - - private fun isAllocatedObject(ctx: ConcolicRunContext): Boolean { + fun isAllocatedObject(ctx: ConcolicRunContext): Boolean { val evaluated = ctx.modelHolder.model.eval(address) as UConcreteHeapRef return evaluated.address > 0 } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt index f8eff345c3..30f9fa4d83 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt @@ -4,7 +4,7 @@ import io.ksmt.expr.KInterpretedValue import org.usvm.* import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PropertyOfPythonObject +import org.usvm.machine.symbolicobjects.PropertyOfPythonObject import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.MockType From a401bfed486c06fcc0e79e093d2357a05bad1bb8 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 16 Nov 2023 19:37:35 +0300 Subject: [PATCH 179/344] Added heuristic that adds default fields to an object --- usvm-python/src/test/kotlin/manualTest.kt | 8 ++--- .../src/test/resources/samples/Tricky.py | 20 ++++++++++++- .../kotlin/org/usvm/machine/PythonMachine.kt | 4 +-- .../usvm/machine/PythonVirtualPathSelector.kt | 6 ++-- .../interpreters/USVMPythonInterpreter.kt | 5 ++-- .../interpreters/operations/basic/Control.kt | 4 +-- .../interpreters/operations/basic/Virtual.kt | 5 +++- .../kotlin/org/usvm/machine/model/PyModel.kt | 15 ++++++---- .../usvm/machine/model/PythonMockEvaluator.kt | 4 ++- .../usvm/machine/model/WrappedSetRegion.kt | 30 ++++++++++++++++++- .../ConverterToPythonObject.kt | 21 +++++++++++-- .../org/usvm/machine/utils/UtTypeUtils.kt | 18 +++++++++++ .../test/kotlin/org/usvm/runner/manualTest.kt | 1 - 13 files changed, 116 insertions(+), 25 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 937d53c216..0c20feae42 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonDict, PythonAnyType), - "input_dict_virtual_get_item", - "Dicts" + listOf(PythonAnyType, PythonAnyType, PythonAnyType), + "build_tree", + "Tricky" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -111,7 +111,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\graphs" + val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/src/test/resources/samples/Tricky.py b/usvm-python/src/test/resources/samples/Tricky.py index 2319830f66..0c9f6a2718 100644 --- a/usvm-python/src/test/resources/samples/Tricky.py +++ b/usvm-python/src/test/resources/samples/Tricky.py @@ -33,4 +33,22 @@ def is_full_binary_tree(node): if node.left and node.right: return is_full_binary_tree(node.left) and is_full_binary_tree(node.right) else: - return not node.left and not node.right \ No newline at end of file + return not node.left and not node.right + + +class SegmentTreeNode: + def __init__(self, start, end, left=None, right=None): + self.start = start + self.end = end + self.mid = (start + end) // 2 + self.left = left + self.right = right + + +def build_tree(self, start, end): + if start == end: + return SegmentTreeNode(start, end) + mid = (start + end) // 2 + left = build_tree(self, start, mid) + right = build_tree(self, mid + 1, end) + return SegmentTreeNode(start, end, left, right) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 73494f5852..a73ad73b70 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -75,7 +75,7 @@ class PythonMachine( symbols, pathConstraints, memory, - solverRes.model.toPyModel(ctx, typeSystem, pathConstraints), + solverRes.model.toPyModel(ctx, typeSystem, pathConstraints, preAllocatedObjects), typeSystem, preAllocatedObjects ).also { @@ -97,7 +97,7 @@ class PythonMachine( pathSelectorCreation(), pathSelectorCreation(), pathSelectorCreation(), - // initialState.preAllocatedObjects + initialState.preAllocatedObjects ) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 03e2d938b3..c7b64090fd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -8,6 +8,7 @@ import org.usvm.language.types.PythonType import org.usvm.language.types.MockType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.model.toPyModel +import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.types.first import kotlin.random.Random @@ -16,7 +17,8 @@ class PythonVirtualPathSelector( private val typeSystem: PythonTypeSystem, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, - private val pathSelectorForStatesWithConcretizedTypes: UPathSelector + private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, + private val preallocatedObjects: PreallocatedObjects ) : UPathSelector { private val unservedDelayedForks = mutableSetOf() private val servedDelayedForks = mutableSetOf() @@ -57,7 +59,7 @@ class PythonVirtualPathSelector( if (forkResult.negativeState == null) return null val stateWithConcreteType = forkResult.negativeState!! - stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem, stateWithConcreteType.pathConstraints)) + stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem, stateWithConcreteType.pathConstraints, preallocatedObjects)) if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index d0ae1568e3..484b55e443 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -40,11 +40,12 @@ class USVMPythonInterpreter( symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } private fun getConcrete( + concolicRunContext: ConcolicRunContext, converter: ConverterToPythonObject, seeds: List, symbols: List ): List = - (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } + (seeds zip symbols).map { (seed, _) -> converter.convert(seed, concolicRunContext) } private fun getInputs( converter: ConverterToPythonObject, @@ -94,7 +95,7 @@ class USVMPythonInterpreter( val converter = concolicRunContext.converter state.meta.lastConverter = null val concrete = try { - getConcrete(converter, seeds, symbols) + getConcrete(concolicRunContext, converter, seeds, symbols) } catch (_: LengthOverflowException) { logger.warn("Step result: length overflow") state.meta.modelDied = true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index 7d6a187e14..c6072c9531 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -27,7 +27,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { error("Should not be reachable") } val applyToPyModel = { state: PythonExecutionState -> - state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem, state.pathConstraints)) + state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem, state.pathConstraints, state.preAllocatedObjects)) } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) @@ -43,7 +43,7 @@ fun myAssertOnState(state: PythonExecutionState, cond: UExpr): Python val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) - forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem, state.pathConstraints)) + forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem, state.pathConstraints, state.preAllocatedObjects)) } return forkResult diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index f1ba139581..23f12f4e4c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -26,6 +26,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { mockSymbol, ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.preAllocatedObjects, falseObject as UConcreteHeapRef ), constructModelWithNewMockEvaluator( @@ -34,6 +35,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { mockSymbol, ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.preAllocatedObjects, trueObject as UConcreteHeapRef ) ) @@ -80,7 +82,8 @@ private fun internalVirtualCallKt( ctx.modelHolder.model, mockSymbol, ctx.typeSystem, - ctx.curState!!.pathConstraints // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.preAllocatedObjects ) else customNewModels.first() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 2626b7bb84..bcb1a76c45 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -12,6 +12,7 @@ import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints import org.usvm.language.types.* import org.usvm.machine.UPythonContext +import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase @@ -21,7 +22,8 @@ class PyModel( private val ctx: UPythonContext, private val underlyingModel: UModelBase, private val typeSystem: PythonTypeSystem, - ps: UPathConstraints + ps: UPathConstraints, + private val preallocatedObjects: PreallocatedObjects ) : UModelBase( ctx, underlyingModel.stack, @@ -47,11 +49,13 @@ class PyModel( } if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, setKeys) as UReadOnlyMemoryRegion + return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, true) + as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == DictType(typeSystem)) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, setKeys) as UReadOnlyMemoryRegion + return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, false) + as UReadOnlyMemoryRegion } return super.getRegion(regionId) } @@ -70,9 +74,10 @@ class PyModel( fun UModelBase.toPyModel( ctx: UPythonContext, typeSystem: PythonTypeSystem, - ps: UPathConstraints + ps: UPathConstraints, + preallocatedObjects: PreallocatedObjects ): PyModel { if (this is PyModel) return this - return PyModel(ctx, this, typeSystem, ps) + return PyModel(ctx, this, typeSystem, ps, preallocatedObjects) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 588689312e..b02a9281d0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -5,6 +5,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.UPythonContext +import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.utils.PyModelWrapper import org.usvm.model.UModelBase @@ -33,6 +34,7 @@ fun constructModelWithNewMockEvaluator( mockSymbol: UMockSymbol, typeSystem: PythonTypeSystem, ps: UPathConstraints, + preallocatedObjects: PreallocatedObjects, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null ): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) @@ -43,7 +45,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.uModel.regions, oldModel.uModel.nullRef - ).toPyModel(ctx, typeSystem, ps) + ).toPyModel(ctx, typeSystem, ps, preallocatedObjects) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return PyModelWrapper(newModel) to constraint } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt index 8955cdc260..1cc4599b24 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt @@ -6,19 +6,47 @@ import org.usvm.collection.set.ref.UAllocatedRefSetWithInputElementsReading import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.constraints.UPathConstraints +import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.UPythonContext +import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.utils.getMembersFromType import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase +import org.usvm.model.UTypeModel import org.usvm.solver.UExprTranslator +import org.usvm.types.first +import org.utbot.python.newtyping.PythonCompositeTypeDescription +import org.utbot.python.newtyping.pythonDescription class WrappedSetRegion( private val ctx: UPythonContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, - private val keys: Set + private val keys: Set, + private val typeSystem: PythonTypeSystem, + private val preallocatedObjects: PreallocatedObjects, + private val types: UTypeModel, + private val isRegionForObjectDict: Boolean ): UReadOnlyMemoryRegion, UBoolSort> { override fun read(key: URefSetEntryLValue): UExpr { if (key.setElement !in keys) { + if (isRegionForObjectDict && typeSystem is PythonTypeSystemWithMypyInfo) { + val ref = key.setRef as? UConcreteHeapRef + ?: return ctx.falseExpr + val type = types.typeStream(ref).first() as? ConcretePythonType + ?: return ctx.falseExpr + val members = getMembersFromType(type, typeSystem) + val str = preallocatedObjects.concreteString(UninterpretedSymbolicPythonObject(key.setElement, typeSystem)) + ?: return ctx.falseExpr + return if (str in members) { + ctx.trueExpr + } else { + ctx.falseExpr + } + } return ctx.falseExpr } return region.read(key) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 956d8b13be..6b77c838ce 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -4,6 +4,7 @@ import io.ksmt.expr.KInt32NumExpr import org.usvm.* import org.usvm.api.readArrayIndex import org.usvm.api.typeStreamOf +import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* @@ -14,6 +15,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder +import org.usvm.machine.utils.getMembersFromType import org.usvm.memory.UMemory import org.usvm.types.first @@ -47,7 +49,7 @@ class ConverterToPythonObject( fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() fun numberOfVirtualObjectUsages(): Int = numberOfUsagesOfVirtualObjects - fun convert(obj: InterpretedSymbolicPythonObject): PythonObject { + fun convert(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext? = null): PythonObject { if (obj is InterpretedInputSymbolicPythonObject) require(obj.modelHolder == modelHolder) require(!isAllocatedConcreteHeapRef(obj.address)) { @@ -69,7 +71,7 @@ class ConverterToPythonObject( typeSystem.pythonDict -> convertDict(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) - constructFromDefaultConstructor(obj, type) + constructFromDefaultConstructor(obj, type, concolicCtx) else error("Could not construct instance of type $type") } @@ -140,13 +142,26 @@ class ConverterToPythonObject( } } - private fun constructFromDefaultConstructor(obj: InterpretedSymbolicPythonObject, type: ConcretePythonType): PythonObject { + private fun constructFromDefaultConstructor( + obj: InterpretedSymbolicPythonObject, + type: ConcretePythonType, + concolicCtx: ConcolicRunContext? + ): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Instance of type with default constructor cannot be static" } require(type.owner == typeSystem) val result = ConcretePythonInterpreter.callStandardNew(type.asObject) constructedObjects[obj.address] = result + if (concolicCtx != null) { + val members = getMembersFromType(type, typeSystem) + members.forEach { + if (it.contains('\'')) + return@forEach + val ref = ConcretePythonInterpreter.eval(emptyNamespace, "'$it'") + preallocatedObjects.allocateStr(concolicCtx, it, ref) + } + } if (ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { preallocatedObjects.listAllocatedStrs().forEach { val nameAddress = modelHolder.model.eval(it.address) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt new file mode 100644 index 0000000000..794ef1e423 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -0,0 +1,18 @@ +package org.usvm.machine.utils + +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.utbot.python.newtyping.PythonCompositeTypeDescription +import org.utbot.python.newtyping.pythonDescription + +fun getMembersFromType( + type: ConcretePythonType, + typeSystem: PythonTypeSystem +): List { + if (typeSystem !is PythonTypeSystemWithMypyInfo) + return emptyList() + val utType = typeSystem.typeHintOfConcreteType(type) ?: return emptyList() + val description = utType.pythonDescription() as? PythonCompositeTypeDescription ?: return emptyList() + return description.getNamedMembers(utType).map { it.meta.name } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index c32b305c3f..aef6c6372e 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -1,6 +1,5 @@ package org.usvm.runner -import org.usvm.runner.venv.extractVenvConfig import java.io.File fun main() { From cf9449c34cd7e27105104e0d715d12ed5d3a0807 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 16 Nov 2023 19:48:16 +0300 Subject: [PATCH 180/344] Added filtration --- usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- .../src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 0c20feae42..4c38748b2c 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt index 794ef1e423..8dfdaf5823 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -3,6 +3,7 @@ package org.usvm.machine.utils import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.pythonDescription @@ -14,5 +15,9 @@ fun getMembersFromType( return emptyList() val utType = typeSystem.typeHintOfConcreteType(type) ?: return emptyList() val description = utType.pythonDescription() as? PythonCompositeTypeDescription ?: return emptyList() - return description.getNamedMembers(utType).map { it.meta.name } + return description.getNamedMembers(utType).map { + it.meta.name + }.filter { + !it.startsWith("__") && ConcretePythonInterpreter.typeLookup(type.asObject, it) == null + } } \ No newline at end of file From c1a82f5170cf8ab1dc45d7e388951c37d4185316 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 17 Nov 2023 10:13:32 +0300 Subject: [PATCH 181/344] Fixed segfault --- .../c/org_usvm_interpreter_CPythonAdapter.c | 17 ++++++++ .../src/main/c/virtual_objects.c | 42 +++++++++++++++++++ usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../kotlin/org/usvm/samples/SlicesTest.kt | 2 +- .../org/usvm/language/types/TypeSystem.kt | 1 + .../interpreters/USVMPythonInterpreter.kt | 1 + .../machine/saving/PythonObjectSerializer.kt | 10 ----- .../ConverterToPythonObject.kt | 7 +++- 8 files changed, 70 insertions(+), 14 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 19fa5167eb..3d65c4014f 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -276,6 +276,23 @@ JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterabl return result; } +/* +static int +trace_function(PyObject *obj, PyFrameObject *frame, int what, PyObject *arg) { + PyObject_SetAttrString((PyObject *) frame, "f_trace_opcodes", Py_True); + // frame->f_trace_opcodes = 1; + // printf("Inside tracer!\n"); fflush(stdout); + Py_ssize_t lasti = PyFrame_GetLasti(frame); + PyObject *code_bytes = PyCode_GetCode(PyFrame_GetCode(frame)); + assert(PyBytes_Check(code_bytes)); + PyObject *cur_instruction_as_long = PySequence_GetItem(code_bytes, lasti); + assert(PyLong_Check(cur_instruction_as_long)); + long cur_instruction = PyLong_AsLong(cur_instruction_as_long); + // printf("instruction: %ld\n", cur_instruction); fflush(stdout); + return 0; +} +*/ + JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr(JNIEnv *env, jobject _, jlong object_ref, jboolean print_error_message) { assert(!PyErr_Occurred()); PyObject *repr = PyObject_Repr((PyObject *) object_ref); diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index bb0619c032..5373928958 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -1,5 +1,9 @@ #include "virtual_objects.h" +#define DEBUG_OUTPUT(name) \ + /*printf("Virtual " name "\n"); \ + fflush(stdout);*/ + static void virtual_object_dealloc(PyObject *op) { //printf("DELETING: %p\n", op); @@ -33,9 +37,17 @@ PyType_Slot Virtual_tp_dealloc = {Py_tp_dealloc, virtual_object_dealloc}; CHECK_FOR_EXCEPTION(ctx, -1) \ return 0; +#define CHECK_IF_ACTIVATED(self, fail_value) \ + if (!((VirtualPythonObject *)self)->ctx) { \ + PyErr_Format(PyExc_RuntimeError, "ConcolicRunContext is not yet activated"); \ + return fail_value; \ + } + static PyObject * tp_richcompare(PyObject *o1, PyObject *o2, int op) { + DEBUG_OUTPUT("tp_richcompare") assert(is_virtual_object(o1)); + CHECK_IF_ACTIVATED(o1, 0) MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } PyType_Slot Virtual_tp_richcompare = {Py_tp_richcompare, tp_richcompare}; @@ -50,7 +62,9 @@ is_special_attribute(PyObject *name) { static PyObject * tp_getattro(PyObject *self, PyObject *name) { + DEBUG_OUTPUT("tp_getattro") assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, 0) /*printf("tp_getattro on "); PyObject_Print(name, stdout, 0); printf("\n"); @@ -65,27 +79,36 @@ PyType_Slot Virtual_tp_getattro = {Py_tp_getattro, tp_getattro}; static PyObject * tp_iter(PyObject *o1) { + DEBUG_OUTPUT("tp_iter") assert(is_virtual_object(o1)); + CHECK_IF_ACTIVATED(o1, 0) MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } PyType_Slot Virtual_tp_iter = {Py_tp_iter, tp_iter}; static Py_hash_t tp_hash(PyObject *o1) { + DEBUG_OUTPUT("tp_hash") assert(is_virtual_object(o1)); + CHECK_IF_ACTIVATED(o1, -1) return PyBaseObject_Type.tp_hash(o1); } PyType_Slot Virtual_tp_hash = {Py_tp_hash, tp_hash}; static PyObject * tp_call(PyObject *o1, PyObject *args, PyObject *kwargs) { + DEBUG_OUTPUT("tp_call") assert(is_virtual_object(o1)); + CHECK_IF_ACTIVATED(o1, 0) MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) o1, 0) } PyType_Slot Virtual_tp_call = {Py_tp_call, tp_call}; static int nb_bool(PyObject *self) { + DEBUG_OUTPUT("nb_bool") + assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, -1) VirtualPythonObject *obj = (VirtualPythonObject *) self; SymbolicAdapter *adapter = obj->adapter; ConcolicContext *ctx = obj->ctx; @@ -98,6 +121,12 @@ nb_bool(PyObject *self) { PyType_Slot Virtual_nb_bool = {Py_nb_bool, nb_bool}; #define BINARY_FUNCTION \ + if (is_virtual_object(first)) { \ + CHECK_IF_ACTIVATED(first, 0) \ + } \ + if (is_virtual_object(second)) { \ + CHECK_IF_ACTIVATED(second, 0) \ + } \ PyObject *owner = 0; \ int owner_id = -1; \ if (is_virtual_object(first)) { \ @@ -114,30 +143,37 @@ PyType_Slot Virtual_nb_bool = {Py_nb_bool, nb_bool}; static PyObject * nb_add(PyObject *first, PyObject *second) { + DEBUG_OUTPUT("nb_add") BINARY_FUNCTION } PyType_Slot Virtual_nb_add = {Py_nb_add, nb_add}; static PyObject * nb_subtract(PyObject *first, PyObject *second) { + DEBUG_OUTPUT("nb_subtract") BINARY_FUNCTION } PyType_Slot Virtual_nb_subtract = {Py_nb_subtract, nb_subtract}; static PyObject * nb_multiply(PyObject *first, PyObject *second) { + DEBUG_OUTPUT("nb_multiply") BINARY_FUNCTION } PyType_Slot Virtual_nb_multiply = {Py_nb_multiply, nb_multiply}; static PyObject * nb_matrix_multiply(PyObject *first, PyObject *second) { + DEBUG_OUTPUT("nb_matrix_multiply") BINARY_FUNCTION } PyType_Slot Virtual_nb_matrix_multiply = {Py_nb_matrix_multiply, nb_matrix_multiply}; static Py_ssize_t sq_length(PyObject *self) { + DEBUG_OUTPUT("sq_length") + assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, -1) VirtualPythonObject *obj = (VirtualPythonObject *) self; SymbolicAdapter *adapter = obj->adapter; ConcolicContext *ctx = obj->ctx; @@ -151,21 +187,27 @@ PyType_Slot Virtual_sq_length = {Py_sq_length, sq_length}; static PyObject * mp_subscript(PyObject *self, PyObject *item) { + DEBUG_OUTPUT("mp_subscript") assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, 0) MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) } PyType_Slot Virtual_mp_subscript = {Py_mp_subscript, mp_subscript}; static int mp_ass_subscript(PyObject *self, PyObject *item, PyObject *value) { + DEBUG_OUTPUT("mp_ass_subscript") assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, -1) MAKE_USVM_VIRUAL_CALL_NO_RETURN((VirtualPythonObject *) self, 0) } PyType_Slot Virtual_mp_ass_subscript = {Py_mp_ass_subscript, mp_ass_subscript}; static int tp_setattro(PyObject *self, PyObject *attr, PyObject *value) { + DEBUG_OUTPUT("tp_setattro") assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, -1) MAKE_USVM_VIRUAL_CALL_NO_RETURN((VirtualPythonObject *) self, 0) } PyType_Slot Virtual_tp_setattro = {Py_tp_setattro, tp_setattro}; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 4c38748b2c..d52f55a537 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -78,8 +78,8 @@ private fun getFunctionInfo( return null // if (module != "markov_chain") // return null - // if (name != "get_transitions") - // return null + if (name != "RedBlackTree._remove_repair") + return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index 809e25629f..c8c102bd4d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -50,7 +50,7 @@ class SlicesTest: PythonTestRunnerForStructuredProgram("Slices", UMachineOptions @Test fun testNoneFields() { check1WithConcreteRun( - constructFunction("none_fields", List(1) { PythonAnyType }), + constructFunction("none_fields", List(1) { typeSystem.pythonSlice }), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 981696b42a..6e1d29c4d4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -204,6 +204,7 @@ class PythonTypeSystemWithMypyInfo( } catch (_: CPythonExecutionException) { return@mapNotNull null } + ConcretePythonInterpreter.incref(ref) if (!isWorkableType(ref)) return@mapNotNull null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 484b55e443..7bd427a308 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -101,6 +101,7 @@ class USVMPythonInterpreter( state.meta.modelDied = true return@runBlocking StepResult(emptySequence(), false) } + // logger.debug("Finished constructing") val virtualObjects = converter.getPythonVirtualObjects() val madeInputSerialization: Boolean = runCatching { getInputs(converter, concrete, seeds) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt index efcb2c0895..07fde0bc77 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt @@ -18,16 +18,6 @@ object StandardPythonObjectSerializer: PythonObjectSerializer( object ReprObjectSerializer: PythonObjectSerializer() { override fun serialize(obj: PythonObject): String { - /*val type = ConcretePythonInterpreter.getPythonObjectType(obj) - println("Serializing ${ConcretePythonInterpreter.getPythonObjectRepr(type)}") - kotlin.runCatching { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") - ConcretePythonInterpreter.eval(namespace, "obj.__dict__") - println("(Managed to get __dict__)") - }.getOrElse { - println("(Exception while trying to get __dict__)") - }*/ return runCatching { ConcretePythonInterpreter.getPythonObjectRepr(obj) }.getOrDefault("") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 6b77c838ce..6ea8bbaf32 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -56,8 +56,10 @@ class ConverterToPythonObject( "Cannot convert allocated objects" } val cached = constructedObjects[obj.address] - if (cached != null) + if (cached != null) { + // ConcretePythonInterpreter.incref(cached) return cached + } val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { MockType -> constructVirtualObject(obj) typeSystem.pythonInt -> convertInt(obj) @@ -181,6 +183,9 @@ class ConverterToPythonObject( "field.isidentifier() and not keyword.iskeyword(field)" ) if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { + // println("Setting field: $str") + // val valueType = ConcretePythonInterpreter.getPythonObjectType(value) + // println("With value of type: ${ConcretePythonInterpreter.getNameOfPythonType(valueType)}") // ConcretePythonInterpreter.incref(value) // ConcretePythonInterpreter.incref(strRef) ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") From d2475f04510ab489134f83f29b27b438923ae8fd Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 17 Nov 2023 10:47:53 +0300 Subject: [PATCH 182/344] Supported propertied --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 10 +++++----- .../test/kotlin/org/usvm/samples/MethodsTest.kt | 14 ++++++++++++++ usvm-python/src/test/resources/samples/Methods.py | 9 +++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index f6f86af473..1326e0bbe0 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit f6f86af473010ccffc3d4248542d4c0a32260cdc +Subproject commit 1326e0bbe0c30e58b861ea1b1de4e44f5f07d984 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index d52f55a537..080ca01662 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType, PythonAnyType), - "build_tree", - "Tricky" + listOf(PythonAnyType), + "use_property", + "Methods" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index 90e01a1139..6c3a79435a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -126,4 +126,18 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio ) options = oldOptions } + + @Test + fun testUseProperty() { + check1WithConcreteRun( + constructFunction("use_property", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + {_, res -> res.repr == "None"}, + {_, res -> res.selfTypeName == "AssertionError"} + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Methods.py b/usvm-python/src/test/resources/samples/Methods.py index 21bee8dada..a1bc36842e 100644 --- a/usvm-python/src/test/resources/samples/Methods.py +++ b/usvm-python/src/test/resources/samples/Methods.py @@ -11,6 +11,10 @@ def get_info(self): else: return "y is less that x" + @property + def my_property(self): + return self.x + 10 + def external_function(p): return p.get_info() @@ -25,6 +29,11 @@ def set_attribute(p, x: int): return 3 +def use_property(x): + assert isinstance(x, Point) + assert x.my_property == 25 + + class ClassWithoutInit: field: int From 2260caa5e8f321d65ccc4fbbccb32ef951414e35 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 17 Nov 2023 14:45:58 +0300 Subject: [PATCH 183/344] Fixes after rebase --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 6 +++--- .../kotlin/org/usvm/language/types/TypeSystem.kt | 4 ++++ .../org/usvm/language/types/UtTypeConversion.kt | 2 ++ .../kotlin/org/usvm/machine/PythonComponents.kt | 3 ++- .../kotlin/org/usvm/machine/PythonExecutionState.kt | 7 ++++++- .../org/usvm/machine/PythonVirtualPathSelector.kt | 13 +++++++++++-- .../machine/symbolicobjects/SymbolicPythonObject.kt | 4 +++- .../kotlin/org/usvm/machine/utils/PyModelWrapper.kt | 7 ++++--- 9 files changed, 36 insertions(+), 12 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 1326e0bbe0..389612d94f 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 1326e0bbe0c30e58b861ea1b1de4e44f5f07d984 +Subproject commit 389612d94f0f2c76bf34e673b01f44be08e98b58 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 080ca01662..f9adb251b4 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "use_property", - "Methods" + listOf(typeSystem.pythonDict), + "input_dict_int_get_item", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 6e1d29c4d4..0795df8699 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -14,8 +14,12 @@ import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.general.DefaultSubstitutionProvider import org.utbot.python.newtyping.general.getBoundedParameters import org.utbot.python.newtyping.mypy.MypyInfoBuild +import kotlin.time.Duration +import kotlin.time.Duration.Companion.milliseconds abstract class PythonTypeSystem: UTypeSystem { + override val typeOperationsTimeout: Duration + get() = 100.milliseconds override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { if (type is ObjectDictType || supertype == ObjectDictType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index c88871cb37..b40a047529 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -33,6 +33,8 @@ fun getTypeFromTypeHint( typeSystem.pythonFloat } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { typeSystem.pythonBool + } else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { + typeSystem.pythonDict } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { typeSystem.pythonList } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedTuple, hintAfterSubstitution, storage)) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt index 049376d407..b6e9d439ea 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt @@ -11,6 +11,7 @@ import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder import org.usvm.solver.* import org.usvm.types.UTypeSystem +import kotlin.time.Duration.Companion.milliseconds class PythonComponents( private val typeSystem: PythonTypeSystem @@ -40,7 +41,7 @@ class PySolver( translator: UExprTranslator, decoder: UModelDecoder>, ) : USolverBase( - ctx, smtSolver, typeSolver, translator, decoder + ctx, smtSolver, typeSolver, translator, decoder, 500.milliseconds ) { override fun check(query: UPathConstraints): USolverResult> { val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 837c294df9..40692b15b0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -19,6 +19,7 @@ import org.usvm.targets.UTarget import org.usvm.types.UTypeStream import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.targets.UTargetsSet +import org.usvm.types.TypesResult object PythonTarget: UTarget, PythonTarget>() private val targets = UTargetsSet.empty>() @@ -68,7 +69,11 @@ class PythonExecutionState( pathNode.allStatements.toList().reversed() fun makeTypeRating(delayedFork: DelayedFork): List { - val candidates = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER).mapNotNull { it as? ConcretePythonType } + val candidates = when (val types = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER)) { + is TypesResult.SuccessfulTypesResult -> types.mapNotNull { it as? ConcretePythonType } + is TypesResult.TypesResultWithExpiredTimeout, is TypesResult.EmptyTypesResult -> + return emptyList() + } if (typeSystem is PythonTypeSystemWithMypyInfo) { val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, delayedFork.symbol) return prioritizeTypes(candidates, typeGraph, typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index c7b64090fd..6a8cc059e5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -9,6 +9,8 @@ import org.usvm.language.types.MockType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER +import org.usvm.types.TypesResult import org.usvm.types.first import kotlin.random.Random @@ -75,8 +77,15 @@ class PythonVirtualPathSelector( val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } - val typeStreams = objects.map { it.getTypeStream() ?: state.possibleTypesForNull } - if (typeStreams.any { it.take(2).size < 2 }) { + val typeStreamsRaw = objects.map { it.getTypeStream() ?: state.possibleTypesForNull } + val typeStreams = typeStreamsRaw.map { + @Suppress("unchecked_cast") + when (val taken = it.take(2)) { + is TypesResult.SuccessfulTypesResult<*> -> taken.types as Collection + else -> return null + } + } + if (typeStreams.any { it.size < 2 }) { return generateStateWithConcretizedTypeWithoutDelayedForks() } require(typeStreams.all { it.first() == MockType }) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index b75155f2ad..088496af4f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -11,6 +11,7 @@ import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.language.types.* import org.usvm.machine.UPythonContext import org.usvm.memory.UMemory +import org.usvm.types.TypesResult import org.usvm.types.USingleTypeStream import org.usvm.types.UTypeStream import org.usvm.types.first @@ -170,7 +171,8 @@ fun interpretSymbolicPythonObject( if (isAllocatedConcreteHeapRef(evaluated) || isStaticHeapRef(evaluated)) { val typeStream = ctx.curState!!.memory.typeStreamOf(evaluated) val type = typeStream.first() - require(typeStream.take(2).size == 1 && type is ConcretePythonType) { + val taken = typeStream.take(2) + require(taken is TypesResult.SuccessfulTypesResult && taken.types.size == 1 && type is ConcretePythonType) { "Static and allocated objects must have concrete types" } return InterpretedAllocatedOrStaticSymbolicPythonObject(evaluated, type, obj.typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt index 30f9fa4d83..21d589e559 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt @@ -10,6 +10,7 @@ import org.usvm.language.types.PythonType import org.usvm.language.types.MockType import org.usvm.machine.PythonExecutionState import org.usvm.model.UModelBase +import org.usvm.types.TypesResult class PyModelWrapper(val uModel: UModelBase) { fun eval(expr: UExpr): KInterpretedValue = @@ -29,8 +30,8 @@ class PyModelWrapper(val uModel: UModelBase) { } fun getFirstType(ref: UConcreteHeapRef): PythonType? { - val typeStream = uModel.types.typeStream(ref) - if (typeStream.isEmpty) + val typeStream = uModel.types.typeStream(ref).take(1) + if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) return null val first = typeStream.take(1).first() val concrete = getConcreteType(ref) @@ -42,7 +43,7 @@ class PyModelWrapper(val uModel: UModelBase) { fun getConcreteType(ref: UConcreteHeapRef): ConcretePythonType? { val typeStream = uModel.types.typeStream(ref) val prefix = typeStream.take(2) - if (prefix.size > 1) + if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) return null return prefix.first() as? ConcretePythonType } From 391ec295452fb6802fca1d1447ace6f29028a00c Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 17 Nov 2023 19:52:32 +0300 Subject: [PATCH 184/344] Added restriction for index type --- .../org_usvm_interpreter_CPythonAdapter.h | 8 ++++++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 5 +++++ usvm-python/src/test/kotlin/manualTest.kt | 12 ++++++------ .../org/usvm/interpreter/CPythonAdapter.java | 5 +++-- .../org/usvm/language/types/VirtualTypes.kt | 5 +++++ .../interpreters/ConcretePythonInterpreter.kt | 1 + .../operations/basic/MethodNotifications.kt | 18 ++++++++++++++++-- 7 files changed, 44 insertions(+), 10 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index 6f0f3ebbe9..cfca47786c 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -215,6 +215,14 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbIndex + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbIndex + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasNbAdd diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 3d65c4014f..44271680d9 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -406,6 +406,11 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt(JNI return type->tp_as_number && type->tp_as_number->nb_int; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbIndex(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_index; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_number && type->tp_as_number->nb_add; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index f9adb251b4..7ebb38142e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonDict), - "input_dict_int_get_item", - "Dicts" + listOf(PythonAnyType, PythonAnyType, PythonAnyType), + "dijkstra", + "Tricky" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -76,9 +76,9 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - // if (module != "markov_chain") - // return null - if (name != "RedBlackTree._remove_repair") + if (module != "dijkstra_2") + return null + if (name != "dijkstra") return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 5f7982daa9..3c5a6d6b1c 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -75,6 +75,7 @@ public class CPythonAdapter { public native void setTupleElement(long tuple, int index, long element); public native int typeHasNbBool(long type); public native int typeHasNbInt(long type); + public native int typeHasNbIndex(long type); public native int typeHasNbAdd(long type); public native int typeHasNbSubtract(long type); public native int typeHasNbMultiply(long type); @@ -846,7 +847,7 @@ public static void notifyMpSubscript(ConcolicRunContext context, SymbolForCPytho if (storage.obj == null || item.obj == null) return; context.curOperation = new MockHeader(MpSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj), storage.obj); - mpSubscriptKt(context, storage.obj); + mpSubscriptKt(context, storage.obj, item.obj); } @CPythonAdapterJavaMethod(cName = "mp_ass_subscript") @@ -858,7 +859,7 @@ public static void notifyMpAssSubscript(ConcolicRunContext context, SymbolForCPy if (storage.obj == null || item.obj == null || value.obj == null) return; context.curOperation = new MockHeader(MpAssSubscriptMethod.INSTANCE, Arrays.asList(storage.obj, item.obj, value.obj), storage.obj); - mpAssSubscriptKt(context, storage.obj); + mpAssSubscriptKt(context, storage.obj, item.obj); } @CPythonAdapterJavaMethod(cName = "tp_richcompare") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 78a48b135c..386f5e73a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -63,6 +63,11 @@ object HasNbInt: TypeProtocol() { ConcretePythonInterpreter.typeHasNbInt(type.asObject) } +object HasNbIndex: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbIndex(type.asObject) +} + object HasNbAdd: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbAdd(type.asObject) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index a90cbf525e..c85c897b51 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -222,6 +222,7 @@ object ConcretePythonInterpreter { val typeHasNbBool = createTypeQuery { pythonAdapter.typeHasNbBool(it) } val typeHasNbInt = createTypeQuery { pythonAdapter.typeHasNbInt(it) } + val typeHasNbIndex = createTypeQuery { pythonAdapter.typeHasNbIndex(it) } val typeHasNbAdd = createTypeQuery { pythonAdapter.typeHasNbAdd(it) } val typeHasNbSubtract = createTypeQuery { pythonAdapter.typeHasNbSubtract(it) } val typeHasNbMultiply = createTypeQuery { pythonAdapter.typeHasNbMultiply(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index 8796d5bb1b..0c402f4543 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -39,14 +39,28 @@ fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObjec on.addSupertypeSoft(context, HasSqLength) } -fun mpSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { +fun mpSubscriptKt( + context: ConcolicRunContext, + on: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject +) { context.curState ?: return on.addSupertypeSoft(context, HasMpSubscript) + if (index.getTypeIfDefined(context) == null && on.getTypeIfDefined(context) != context.typeSystem.pythonDict) { + index.addSupertype(context, HasNbIndex) + } } -fun mpAssSubscriptKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { +fun mpAssSubscriptKt( + context: ConcolicRunContext, + on: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject +) { context.curState ?: return on.addSupertypeSoft(context, HasMpAssSubscript) + if (index.getTypeIfDefined(context) == null && on.getTypeIfDefined(context) != context.typeSystem.pythonDict) { + index.addSupertype(context, HasNbIndex) + } } fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { From 7372ea91ecbb620ff5948284a3ca814ef5273ea8 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 17 Nov 2023 22:36:32 +0300 Subject: [PATCH 185/344] Fixed silly bug --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 8 ++++---- .../kotlin/org/usvm/language/types/UtTypeConversion.kt | 2 ++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 389612d94f..1326e0bbe0 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 389612d94f0f2c76bf34e673b01f44be08e98b58 +Subproject commit 1326e0bbe0c30e58b861ea1b1de4e44f5f07d984 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 7ebb38142e..61d54c985f 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -58,7 +58,7 @@ private fun buildSampleRunConfig(): RunConfig { } private val ignoreFunctions = listOf( - "get_transitions" + // "SegmentTree.build" ) private val ignoreModules = listOf( "odd_even_transposition_parallel" @@ -111,7 +111,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" + val projectPath = "D:\\projects\\Python\\graphs" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index b40a047529..d0341cfb26 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -11,6 +11,8 @@ fun getTypeFromTypeHint( hint: UtType, typeSystem: PythonTypeSystemWithMypyInfo ): PythonType { + if (typesAreEqual(hint, pythonAnyType)) + return PythonAnyType val hintAfterSubstitution = DefaultSubstitutionProvider.substitute( hint, hint.getBoundedParameters().associateWith { pythonAnyType } From 1a0061cf8e7337854eb98230fd56472d392eb5d6 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 21 Nov 2023 14:14:17 +0300 Subject: [PATCH 186/344] Added approximation for contains_op --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 43 ++++++++++++++++--- .../main/c/approximations/python_project.c | 2 - .../src/main/c/include/approximations.h | 1 + usvm-python/cpythonadapter/src/main/c/utils.c | 1 + .../implementations/__init__.py | 10 +++++ usvm-python/src/test/kotlin/manualTest.kt | 16 ++++--- .../test/kotlin/org/usvm/samples/ListsTest.kt | 14 ++++++ .../src/test/resources/samples/Dicts.py | 4 ++ .../src/test/resources/samples/Lists.py | 6 ++- .../org/usvm/interpreter/CPythonAdapter.java | 12 ++++++ .../interpreters/operations/basic/Dict.kt | 19 +++++--- .../symbolicobjects/SymbolicObjectContents.kt | 11 +++++ .../usvm/runner/PythonMachineSocketRunner.kt | 3 +- 14 files changed, 124 insertions(+), 20 deletions(-) delete mode 100644 usvm-python/cpythonadapter/src/main/c/approximations/python_project.c diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 1326e0bbe0..5e4dc6178e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 1326e0bbe0c30e58b861ea1b1de4e44f5f07d984 +Subproject commit 5e4dc6178e61a5f9498648262552b023eccc9a26 diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index e69492589c..997489bf20 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -115,17 +115,50 @@ Approximation_range(void *adapter_raw, PyObject *args) { PyObject *builtin_sum = 0; +#define contains_op_name "ContainsOpApproximation" +PyObject *contains_op = 0; + +#define builtins_approximation_module "approximations.implementations" + void initialize_builtin_python_impls() { PyObject *globals = PyDict_New(); - if (!builtin_sum) { - PyRun_StringFlags(builtin_sum_impl, Py_file_input, globals, globals, 0); - builtin_sum = PyRun_StringFlags("builtin_sum_impl", Py_eval_input, globals, globals, 0); - Py_INCREF(builtin_sum); - } + + PyRun_StringFlags(builtin_sum_impl, Py_file_input, globals, globals, 0); + builtin_sum = PyRun_StringFlags("builtin_sum_impl", Py_eval_input, globals, globals, 0); + Py_INCREF(builtin_sum); + + PyRun_StringFlags("import " builtins_approximation_module, Py_file_input, globals, globals, 0); + assert(!PyErr_Occurred()); + + contains_op = PyRun_StringFlags(builtins_approximation_module "." contains_op_name ".run", Py_eval_input, globals, globals, 0); + assert(!PyErr_Occurred() && contains_op); + Py_INCREF(contains_op); + Py_DECREF(globals); } +int +Approximation_contains_op(PyObject *storage, PyObject *item, int *approximated) { + assert(is_wrapped(storage) && is_wrapped(item)); + PyObject *concrete_storage = unwrap(storage); + SymbolicAdapter *adapter = get_adapter(storage); + if (PyList_Check(concrete_storage) || PyTuple_Check(concrete_storage)) { + *approximated = 1; + PyObject *wrapped = wrap(contains_op, Py_None, adapter); + PyObject *args = PyTuple_Pack(2, storage, item); + PyObject *result = Py_TYPE(wrapped)->tp_call(wrapped, args, 0); + Py_DECREF(args); + if (!result) + return -1; + PyObject *concrete_result = unwrap(result); + Py_DECREF(result); + return concrete_result == Py_True ? 1 : 0; + } + *approximated = 0; + return 0; +} + PyObject * Approximation_sum(PyObject *iterable) { assert(is_wrapped(iterable)); diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c b/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c deleted file mode 100644 index 0650e3a22a..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/approximations/python_project.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "approximations.h" - diff --git a/usvm-python/cpythonadapter/src/main/c/include/approximations.h b/usvm-python/cpythonadapter/src/main/c/include/approximations.h index e625c981ca..d6928bf193 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/approximations.h +++ b/usvm-python/cpythonadapter/src/main/c/include/approximations.h @@ -21,6 +21,7 @@ PyObject *Approximation_len(PyObject *o); // builtins.len PyObject *Approximation_isinstance(PyObject *obj, PyObject *type); // builtins.isinstance PyObject *Approximation_range(void *adapter_raw, PyObject *args); // builtins.range PyObject *Approximation_sum(PyObject *iterable); // builtins.sum +int Approximation_contains_op(PyObject *storage, PyObject *item, int *approximated); // `item` in `storage` PyObject *Approximation_list_richcompare(PyObject *, PyObject *, int op); // PyList_Type.tp_richcompare PyObject *Approximation_list_repeat(PyObject *self, PyObject *n); // PyList_Type.tp_as_sequence.sq_repeat diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 4d1729d5d7..89467518e8 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -65,6 +65,7 @@ void register_approximations(SymbolicAdapter *adapter) { adapter->approximation_range = Approximation_range; adapter->approximation_list_repeat = Approximation_list_repeat; adapter->approximation_list_slice_get_item = Approximation_list_slice_get_item; + adapter->approximation_contains_op = Approximation_contains_op; } static void diff --git a/usvm-python/python_approximations/approximations/implementations/__init__.py b/usvm-python/python_approximations/approximations/implementations/__init__.py index e69de29bb2..a25c86721e 100644 --- a/usvm-python/python_approximations/approximations/implementations/__init__.py +++ b/usvm-python/python_approximations/approximations/implementations/__init__.py @@ -0,0 +1,10 @@ +from approximations.api import SpecialApproximation + + +class ContainsOpApproximation(SpecialApproximation): + @staticmethod + def run(storage, item) -> bool: + for elem in storage: + if elem == item: + return True + return False \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 61d54c985f..6485d34437 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -39,19 +39,25 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( + val (program, typeSystem) = constructPrimitiveProgram( """ def list_concat(x): y = x + [1] if len(y[::-1]) == 5: return 1 return 2 + + def f(x): + if 1 in x: + return 1 + return 2 """.trimIndent() - )*/ + ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType, PythonAnyType), - "dijkstra", - "Tricky" + listOf(PythonAnyType), + "f" + //"input_dict_str_get_item", + //"Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 4ba0a0f55b..9111f9941d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -451,4 +451,18 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) options = oldOptions } + + @Test + fun testContainsOp() { + check1WithConcreteRun( + constructFunction("contains_op", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 1883f056e8..2387b706c8 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -10,6 +10,10 @@ def input_dict_virtual_get_item(d: dict, i): assert d[i] == 10 +def input_dict_str_get_item(d: dict): + assert d["my_key"] == 155 + + def allocate_dict(x: int, y: int): d = {x: 15} assert d[x] == y diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 81c573caa8..8889c3a08e 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -224,4 +224,8 @@ def reverse_usage(x: list): result = 1 else: result = 2 - return (result, x) \ No newline at end of file + return (result, x) + + +def contains_op(x: list): + assert 1 in x \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3c5a6d6b1c..ca2193bd4e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -22,6 +22,7 @@ import static org.usvm.machine.interpreters.operations.basic.CommonKt.*; import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; +import static org.usvm.machine.interpreters.operations.basic.DictKt.handlerDictGetItemKt; import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; import static org.usvm.machine.interpreters.operations.basic.ListKt.*; import static org.usvm.machine.interpreters.operations.basic.LongKt.*; @@ -692,6 +693,17 @@ public static SymbolForCPython handlerTupleIteratorNext(ConcolicRunContext conte return methodWrapper(context, new MethodParameters("tuple_iterator_next", Collections.singletonList(iterator)), () -> handlerTupleIteratorNextKt(context, iterator.obj)); } + @CPythonAdapterJavaMethod(cName = "dict_get_item") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerDictGetItem(ConcolicRunContext context, SymbolForCPython dict, SymbolForCPython key) { + if (dict.obj == null || key.obj == null) + return null; + return methodWrapper(context, new MethodParameters("dict_get_item", Arrays.asList(dict, key)), () -> handlerDictGetItemKt(context, dict.obj, key.obj)); + } + @CPythonAdapterJavaMethod(cName = "function_call") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index d64a66a155..28c9d60b96 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -1,18 +1,27 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.HasTpHash import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.readDictElement -/* fun handlerDictGetItemKt( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, key: UninterpretedSymbolicPythonObject ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null + key.addSupertypeSoft(ctx, HasTpHash) val keyType = key.getTypeIfDefined(ctx) - ?: // TODO - return null val typeSystem = ctx.typeSystem -} -*/ \ No newline at end of file + return when (keyType) { + null, + typeSystem.pythonInt, + typeSystem.pythonFloat, + typeSystem.pythonBool, + typeSystem.pythonNoneType -> null + else -> { + dict.readDictElement(ctx, key) + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 5d6918c189..f0b388d501 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -562,4 +562,15 @@ fun UninterpretedSymbolicPythonObject.readDictElement( addSupertype(ctx, typeSystem.pythonDict) val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, DictType(typeSystem), ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.writeDictElement( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, DictType(typeSystem), ctx.ctx.addressSort) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index dd75ee361d..880730e208 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -49,7 +49,8 @@ class PythonMachineSocketRunner( callable, PickledObjectSaver(communicator), timeoutMs = timeoutMs, - timeoutPerRunMs = timeoutPerRunMs + timeoutPerRunMs = timeoutPerRunMs, + maxIterations = 1000 ) } From 1aa79a9588ac28bafb293e65827622670de1e901 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 21 Nov 2023 16:55:02 +0300 Subject: [PATCH 187/344] Changed processing of UnregisteredVirtualOperation --- usvm-python/src/test/kotlin/manualTest.kt | 11 ++++---- .../org/usvm/language/types/TypeSystem.kt | 6 ++--- .../kotlin/org/usvm/language/types/Types.kt | 6 ++++- .../usvm/language/types/UtTypeConversion.kt | 4 +-- .../interpreters/USVMPythonInterpreter.kt | 26 ++++++++++++------- 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6485d34437..3b00798ff3 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -64,7 +64,8 @@ private fun buildSampleRunConfig(): RunConfig { } private val ignoreFunctions = listOf( - // "SegmentTree.build" + // "SegmentTree.build", + "get_transitions" ) private val ignoreModules = listOf( "odd_even_transposition_parallel" @@ -82,10 +83,10 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - if (module != "dijkstra_2") - return null - if (name != "dijkstra") - return null + //if (module != "bidirectional_a_star") + // return null + //if (name != "AStar.get_successors") + // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 0795df8699..5d3122b160 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -22,7 +22,7 @@ abstract class PythonTypeSystem: UTypeSystem { get() = 100.milliseconds override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { - if (type is ObjectDictType || supertype == ObjectDictType) + if (type is InternalDictType || supertype is InternalDictType) return type == supertype if (supertype is VirtualPythonType) return supertype.accepts(type) @@ -43,8 +43,8 @@ abstract class PythonTypeSystem: UTypeSystem { val containsMock = types.any { it is MockType } require((concrete == null) || !containsMock) { "Error in Python's hasCommonSubtype implementation" } return when (type) { - is ObjectDictType -> { - types.all { it == ObjectDictType } + is InternalDictType -> { + types.all { it == type } } is ConcretePythonType -> { if (concrete != null) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 936f6bc85c..a62ab01be7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -6,7 +6,11 @@ sealed class PythonType object MockType: PythonType() -object ObjectDictType: PythonType() +sealed class InternalDictType: PythonType() + +object ObjectDictType: InternalDictType() +object RefDictType: InternalDictType() +object IntDictType: InternalDictType() abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index d0341cfb26..68b0b04784 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -35,9 +35,9 @@ fun getTypeFromTypeHint( typeSystem.pythonFloat } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { typeSystem.pythonBool - } else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { + } /*else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { typeSystem.pythonDict - } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { + }*/ else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { typeSystem.pythonList } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedTuple, hintAfterSubstitution, storage)) { typeSystem.pythonTuple diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 7bd427a308..cad8008dff 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -153,7 +153,23 @@ class USVMPythonInterpreter( require(exception.pythonExceptionType != null) require(exception.pythonExceptionValue != null) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { - throw ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) + val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) + if (javaException == UnregisteredVirtualOperation) { + iterationCounter.iterations += 1 + logger.debug("Step result: Unregistrered virtual operation") + val resultState = concolicRunContext.curState + concolicRunContext.statistics.addUnregisteredVirtualOperation() + require(!madeInputSerialization) + if (resultState != null && resultState.delayedForks.isEmpty()) { + resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() + resultState.meta.lastConverter = converter + resultState.meta.wasExecuted = true + } else if (resultState != null) { + resultState.meta.modelDied = true + } + return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } + throw javaException } logger.debug( "Step result: exception from CPython: {} - {}", @@ -192,14 +208,6 @@ class USVMPythonInterpreter( logger.debug("Step result: Bad model") return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) - } catch (_: UnregisteredVirtualOperation) { - - iterationCounter.iterations += 1 - logger.debug("Step result: Unregistrered virtual operation") - concolicRunContext.curState?.meta?.modelDied = true - concolicRunContext.statistics.addUnregisteredVirtualOperation() - return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) - } catch (_: InstructionLimitExceededException) { iterationCounter.iterations += 1 From d255b6aadd11031c171c1d939fd47734d4a7dab3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 21 Nov 2023 18:11:41 +0300 Subject: [PATCH 188/344] Added nb_positive and nb_negative --- usvm-python/cpythonadapter/cpython | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 16 +++++ .../c/org_usvm_interpreter_CPythonAdapter.c | 10 +++ .../src/main/c/virtual_objects.c | 22 ++++++ usvm-python/src/test/kotlin/manualTest.kt | 10 +-- .../kotlin/org/usvm/samples/FloatsTest.kt | 15 ++++ .../org/usvm/samples/SimpleExampleTest.kt | 15 ++++ .../src/test/resources/samples/Floats.py | 10 ++- .../test/resources/samples/SimpleExample.py | 10 ++- .../org/usvm/interpreter/CPythonAdapter.java | 70 +++++++++++++++++++ .../kotlin/org/usvm/language/Callables.kt | 2 + .../org/usvm/language/types/VirtualTypes.kt | 10 +++ .../interpreters/ConcretePythonInterpreter.kt | 2 + .../interpreters/operations/basic/Float.kt | 13 ++++ .../interpreters/operations/basic/Long.kt | 49 ++++++++++--- .../operations/basic/MethodNotifications.kt | 12 +++- .../types/prioritization/SymbolTypeTree.kt | 4 ++ 17 files changed, 256 insertions(+), 16 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 5e4dc6178e..9e9e3281d8 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 5e4dc6178e61a5f9498648262552b023eccc9a26 +Subproject commit 9e9e3281d8767f39808ab55f39847b1545dc9618 diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index cfca47786c..fea7bfec0f 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -255,6 +255,22 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultipl JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMatrixMultiply (JNIEnv *, jobject, jlong); +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbNegative + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbNegative + (JNIEnv *, jobject, jlong); + +/* + * Class: org_usvm_interpreter_CPythonAdapter + * Method: typeHasNbPositive + * Signature: (J)I + */ +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbPositive + (JNIEnv *, jobject, jlong); + /* * Class: org_usvm_interpreter_CPythonAdapter * Method: typeHasSqLength diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 44271680d9..99756cd30d 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -431,6 +431,16 @@ JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMatrixM return type->tp_as_number && type->tp_as_number->nb_matrix_multiply; } +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbNegative(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_negative; +} + +JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbPositive(JNIEnv *env, jobject _, jlong type_ref) { + QUERY_TYPE_HAS_PREFIX + return type->tp_as_number && type->tp_as_number->nb_positive; +} + JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength(JNIEnv *env, jobject _, jlong type_ref) { QUERY_TYPE_HAS_PREFIX return type->tp_as_sequence && type->tp_as_sequence->sq_length; diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 5373928958..234f562f86 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -120,6 +120,24 @@ nb_bool(PyObject *self) { } PyType_Slot Virtual_nb_bool = {Py_nb_bool, nb_bool}; +static PyObject * +nb_negative(PyObject *self) { + DEBUG_OUTPUT("nb_negative") + assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, 0) + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) +} +PyType_Slot Virtual_nb_negative = {Py_nb_negative, nb_negative}; + +static PyObject * +nb_positive(PyObject *self) { + DEBUG_OUTPUT("nb_positive") + assert(is_virtual_object(self)); + CHECK_IF_ACTIVATED(self, 0) + MAKE_USVM_VIRUAL_CALL((VirtualPythonObject *) self, 0) +} +PyType_Slot Virtual_nb_positive = {Py_nb_positive, nb_positive}; + #define BINARY_FUNCTION \ if (is_virtual_object(first)) { \ CHECK_IF_ACTIVATED(first, 0) \ @@ -230,6 +248,8 @@ initialize_virtual_object_type() { Virtual_nb_subtract, Virtual_nb_multiply, Virtual_nb_matrix_multiply, + Virtual_nb_negative, + Virtual_nb_positive, Virtual_sq_length, Virtual_mp_subscript, Virtual_mp_ass_subscript, @@ -289,4 +309,6 @@ void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_nb_multiply = nb_multiply; adapter->virtual_nb_matrix_multiply = nb_matrix_multiply; adapter->virtual_mp_subscript = mp_subscript; + adapter->virtual_nb_positive = nb_positive; + adapter->virtual_nb_negative = nb_negative; } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 3b00798ff3..67f790c1e7 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -48,9 +48,11 @@ private fun buildSampleRunConfig(): RunConfig { return 2 def f(x): - if 1 in x: + if -x == 10: return 1 - return 2 + elif +x == 15: + return 2 + return 3 """.trimIndent() ) val function = PythonUnpinnedCallable.constructCallableFromName( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt index 8147e124aa..ab6dfdbb98 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -106,4 +106,19 @@ class FloatsTest : PythonTestRunnerForPrimitiveProgram("Floats") { ) ) } + + @Test + fun testUnaryOps() { + check1WithConcreteRun( + constructFunction("unary_ops", listOf(typeSystem.pythonFloat)), + eq(3), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" }, + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 2a834e87d9..91b09cd074 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -261,4 +261,19 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { ) ) } + + @Test + fun testUnaryIntOps() { + check1WithConcreteRun( + constructFunction("unary_int_ops", listOf(typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" }, + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Floats.py b/usvm-python/src/test/resources/samples/Floats.py index b0ca7bd4df..7d46755ecd 100644 --- a/usvm-python/src/test/resources/samples/Floats.py +++ b/usvm-python/src/test/resources/samples/Floats.py @@ -82,4 +82,12 @@ def infinity_ops(x: float): def int_true_div(x: int, y: int): - assert x / y == 10.5 \ No newline at end of file + assert x / y == 10.5 + + +def unary_ops(x: float): + if -x == 10: + return 1 + elif +x == 15: + return 2 + return 3 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleExample.py b/usvm-python/src/test/resources/samples/SimpleExample.py index 319c5d7a67..c45c069910 100644 --- a/usvm-python/src/test/resources/samples/SimpleExample.py +++ b/usvm-python/src/test/resources/samples/SimpleExample.py @@ -155,4 +155,12 @@ def f_with_default(x, y=1): def call_with_default(x): - assert f_with_default(x) == 10 \ No newline at end of file + assert f_with_default(x) == 10 + + +def unary_int_ops(x: int): + if -x == 10: + return 1 + elif +x == 15: + return 2 + return 3 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ca2193bd4e..f4ac140dc1 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -81,6 +81,8 @@ public class CPythonAdapter { public native int typeHasNbSubtract(long type); public native int typeHasNbMultiply(long type); public native int typeHasNbMatrixMultiply(long type); + public native int typeHasNbNegative(long type); + public native int typeHasNbPositive(long type); public native int typeHasSqLength(long type); public native int typeHasMpLength(long type); public native int typeHasMpSubscript(long type); @@ -347,6 +349,28 @@ public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "neg_long") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerNEGLong(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return null; + return methodWrapper(context, new MethodParameters("neg_long", Collections.singletonList(on)), () -> handlerNEGLongKt(context, on.obj)); + } + + @CPythonAdapterJavaMethod(cName = "pos_long") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerPOSLong(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return null; + return methodWrapper(context, new MethodParameters("pos_long", Collections.singletonList(on)), () -> handlerPOSLongKt(context, on.obj)); + } + @CPythonAdapterJavaMethod(cName = "true_div_long") @CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, @@ -468,6 +492,28 @@ public static SymbolForCPython handlerDIVFloat(ConcolicRunContext context, Symbo return methodWrapper(context, new MethodParameters("div_float", Arrays.asList(left, right)), () -> handlerDIVFloatKt(context, left.obj, right.obj)); } + @CPythonAdapterJavaMethod(cName = "neg_float") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerNEGFloat(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return null; + return methodWrapper(context, new MethodParameters("neg_float", Collections.singletonList(on)), () -> handlerNEGFloatKt(context, on.obj)); + } + + @CPythonAdapterJavaMethod(cName = "pos_float") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerPOSFloat(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return null; + return methodWrapper(context, new MethodParameters("pos_float", Collections.singletonList(on)), () -> handlerPOSFloatKt(context, on.obj)); + } + @CPythonAdapterJavaMethod(cName = "bool_and") /*@CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, @@ -838,6 +884,30 @@ public static void notifyNbMatrixMultiply(ConcolicRunContext context, SymbolForC nbMatrixMultiplyKt(context, left.obj); } + @CPythonAdapterJavaMethod(cName = "nb_negative") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyNbNegative(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return; + context.curOperation = new MockHeader(NbNegativeMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); + nbNegativeKt(context, on.obj); + } + + @CPythonAdapterJavaMethod(cName = "nb_positive") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static void notifyNbPositive(ConcolicRunContext context, SymbolForCPython on) { + if (on.obj == null) + return; + context.curOperation = new MockHeader(NbPositiveMethod.INSTANCE, Collections.singletonList(on.obj), on.obj); + nbPositiveKt(context, on.obj); + } + @CPythonAdapterJavaMethod(cName = "sq_length") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index 2534e31995..555c09c8e0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -33,6 +33,8 @@ object NbAddMethod: TypeMethod(false) object NbSubtractMethod: TypeMethod(false) object NbMultiplyMethod: TypeMethod(false) object NbMatrixMultiplyMethod: TypeMethod(false) +object NbNegativeMethod: TypeMethod(false) +object NbPositiveMethod: TypeMethod(false) object SqLengthMethod: TypeMethod(true) object MpSubscriptMethod: TypeMethod(false) object MpAssSubscriptMethod: TypeMethod(false) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 386f5e73a6..9558ff5b5b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -88,6 +88,16 @@ object HasNbMatrixMultiply: TypeProtocol() { ConcretePythonInterpreter.typeHasNbMatrixMultiply(type.asObject) } +object HasNbNegative: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbNegative(type.asObject) +} + +object HasNbPositive: TypeProtocol() { + override fun acceptsConcrete(type: ConcretePythonType): Boolean = + ConcretePythonInterpreter.typeHasNbPositive(type.asObject) +} + object HasSqLength: TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasSqLength(type.asObject) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index c85c897b51..6402b3b716 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -227,6 +227,8 @@ object ConcretePythonInterpreter { val typeHasNbSubtract = createTypeQuery { pythonAdapter.typeHasNbSubtract(it) } val typeHasNbMultiply = createTypeQuery { pythonAdapter.typeHasNbMultiply(it) } val typeHasNbMatrixMultiply = createTypeQuery { pythonAdapter.typeHasNbMatrixMultiply(it) } + val typeHasNbNegative = createTypeQuery { pythonAdapter.typeHasNbNegative(it) } + val typeHasNbPositive = createTypeQuery { pythonAdapter.typeHasNbPositive(it) } val typeHasSqLength = createTypeQuery { pythonAdapter.typeHasSqLength(it) } val typeHasMpLength = createTypeQuery { pythonAdapter.typeHasMpLength(it) } val typeHasMpSubscript = createTypeQuery { pythonAdapter.typeHasMpSubscript(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt index 7f2b9fa0af..e639808e59 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt @@ -263,6 +263,19 @@ fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt return constructFloat(ctx, floatValue) } +fun handlerNEGFloatKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val value = obj.getToFloatContent(ctx) ?: return null + val result = constructNegExpr(ctx, value) + return constructFloat(ctx, result) +} + +fun handlerPOSFloatKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val value = obj.getToFloatContent(ctx) ?: return null + return constructFloat(ctx, value) +} + fun castFloatToInt( ctx: ConcolicRunContext, float: UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt index 53d56bb54f..6cc92e6a39 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt @@ -9,6 +9,19 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.symbolicobjects.* +private fun extractValue( + ctx: ConcolicRunContext, + expr: UExpr +): UninterpretedSymbolicPythonObject = with(ctx.ctx) { + @Suppress("unchecked_cast") + when (expr.sort) { + intSort -> constructInt(ctx, expr as UExpr) + boolSort -> constructBool(ctx, expr as UBoolExpr) + realSort -> constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, expr as UExpr)) + else -> error("Bad return sort of int operation: ${expr.sort}") + } +} + private fun createBinaryIntOp( op: (ConcolicRunContext, UExpr, UExpr) -> UExpr? ): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> @@ -23,19 +36,35 @@ private fun createBinaryIntOp( } else { myAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) } + if (right.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + } op( ctx, left.getToIntContent(ctx) ?: return@with null, right.getToIntContent(ctx) ?: return@with null - )?.let { - @Suppress("unchecked_cast") - when (it.sort) { - intSort -> constructInt(ctx, it as UExpr) - boolSort -> constructBool(ctx, it as UBoolExpr) - realSort -> constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, it as UExpr)) - else -> error("Bad return sort of int operation: ${it.sort}") - } + )?.let { extractValue(ctx, it) } + } +} + +private fun createUnaryIntOp( + op: (ConcolicRunContext, UExpr) -> UExpr? +): (ConcolicRunContext, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, on -> + if (ctx.curState == null) + null + else with (ctx.ctx) { + val typeSystem = ctx.typeSystem + if (on.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, on.evalIs(ctx, typeSystem.pythonInt)) } + op( + ctx, + on.getToIntContent(ctx) ?: return@with null + )?.let { extractValue(ctx, it) } } } @@ -67,6 +96,10 @@ fun handlerDIVLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject mkArithDiv(left, right) } } (x, y, z) +fun handlerNEGLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) } (x, y) +fun handlerPOSLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createUnaryIntOp { _, on -> on } (x, y) fun handlerREMLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) } (x, y, z) @Suppress("unused_parameter") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index 0c402f4543..98bdb0cb07 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -29,11 +29,21 @@ fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonO myAssert(context, left.evalIsSoft(context, HasNbMultiply) or right.evalIsSoft(context, HasNbMultiply)) } -fun nbMatrixMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { +fun nbMatrixMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, left.evalIsSoft(context, HasNbMatrixMultiply)) } +fun nbNegativeKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasNbNegative)) +} + +fun nbPositiveKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + context.curState ?: return + myAssert(context, on.evalIsSoft(context, HasNbPositive)) +} + fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return on.addSupertypeSoft(context, HasSqLength) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index 80269763bd..567bf074ef 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -35,6 +35,10 @@ class SymbolTypeTree( { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } NbIntMethod -> { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } + NbNegativeMethod -> + { returnType: UtType -> createUnaryProtocol("__neg__", returnType) } + NbPositiveMethod -> + { returnType: UtType -> createUnaryProtocol("__pos__", returnType) } NbMatrixMultiplyMethod -> { returnType: UtType -> createBinaryProtocol("__matmul__", pythonAnyType, returnType) } NbMultiplyMethod -> From f59d67515bc30d1cfc3dc8859d819561d8c1aeee Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 22 Nov 2023 12:06:44 +0300 Subject: [PATCH 189/344] Started implementing dicts --- usvm-python/src/test/kotlin/manualTest.kt | 18 ++----- .../test/kotlin/org/usvm/samples/DictsTest.kt | 31 ++++++++++- .../src/test/resources/samples/Dicts.py | 20 +------ .../org/usvm/language/types/VirtualTypes.kt | 6 --- .../interpreters/USVMPythonInterpreter.kt | 4 ++ .../interpreters/operations/basic/Dict.kt | 14 +++-- .../kotlin/org/usvm/machine/model/PyModel.kt | 7 ++- .../ConverterToPythonObject.kt | 29 +++++++++- .../symbolicobjects/SymbolicObjectContents.kt | 53 +++++++++++++++++-- 9 files changed, 134 insertions(+), 48 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 67f790c1e7..5317e24632 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -39,27 +39,19 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( + val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( """ def list_concat(x): y = x + [1] if len(y[::-1]) == 5: return 1 return 2 - - def f(x): - if -x == 10: - return 1 - elif +x == 15: - return 2 - return 3 """.trimIndent() - ) + )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "f" - //"input_dict_str_get_item", - //"Dicts" + listOf(typeSystem.pythonDict, PythonAnyType), + "input_dict_virtual_get_item", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index e376754919..539cc5a616 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -4,10 +4,11 @@ import org.junit.jupiter.api.Test import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { @Test - fun testFloatInput() { + fun testExpectDict() { check1WithConcreteRun( constructFunction("expect_dict", listOf(PythonAnyType)), eq(2), @@ -19,4 +20,32 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { ) ) } + + @Test + fun testInputDictStrGetItem() { + check1WithConcreteRun( + constructFunction("input_dict_str_get_item", listOf(typeSystem.pythonDict)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testInputDictVirtualGetItem() { + check2WithConcreteRun( + constructFunction("input_dict_virtual_get_item", listOf(typeSystem.pythonDict, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 2387b706c8..0616c4f519 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -14,22 +14,6 @@ def input_dict_str_get_item(d: dict): assert d["my_key"] == 155 -def allocate_dict(x: int, y: int): +def allocate_dict(x, y: int): d = {x: 15} - assert d[x] == y - - -def dfs(g, s): - vis, _s = {s}, [s] - print(s) - while _s: - flag = 0 - for i in g[_s[-1]]: - if i not in vis: - _s.append(i) - vis.add(i) - flag = 1 - print(i) - break - if not flag: - _s.pop() \ No newline at end of file + assert d[x] == y \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 9558ff5b5b..ffdf32d916 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -16,12 +16,6 @@ object ArrayType: VirtualPythonType() { } } -data class DictType(val typeSystem: PythonTypeSystem): VirtualPythonType() { - override fun accepts(type: PythonType): Boolean { - return type == this || type == typeSystem.pythonDict - } -} - class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type == this) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index cad8008dff..39a973d195 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -100,6 +100,10 @@ class USVMPythonInterpreter( logger.warn("Step result: length overflow") state.meta.modelDied = true return@runBlocking StepResult(emptySequence(), false) + } catch (_: CPythonExecutionException) { + logger.info("Step result: could not assemble Python object") + state.meta.modelDied = true + return@runBlocking StepResult(emptySequence(), false) } // logger.debug("Finished constructing") val virtualObjects = converter.getPythonVirtualObjects() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index 28c9d60b96..19e7b72d18 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -3,7 +3,8 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.HasTpHash import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.readDictElement +import org.usvm.machine.symbolicobjects.dictContainsRef +import org.usvm.machine.symbolicobjects.readDictRefElement fun handlerDictGetItemKt( ctx: ConcolicRunContext, @@ -15,13 +16,20 @@ fun handlerDictGetItemKt( val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { - null, typeSystem.pythonInt, typeSystem.pythonFloat, typeSystem.pythonBool, typeSystem.pythonNoneType -> null + null -> { + val clonedState = ctx.curState!!.clone() + val stateForDelayedFork = + myAssertOnState(clonedState, ctx.ctx.mkNot(ctx.ctx.mkHeapRefEq(key.address, ctx.ctx.nullRef))) + stateForDelayedFork?.let { addDelayedFork(ctx, key, it) } + null + } else -> { - dict.readDictElement(ctx, key) + myFork(ctx, dict.dictContainsRef(ctx, key)) + dict.readDictRefElement(ctx, key) } } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index bcb1a76c45..1fdc1c84d0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -34,6 +34,9 @@ class PyModel( ) { private val setKeys = WrappedSetRegion.constructKeys(ctx, ps, underlyingModel) + val possibleRefKeys: Set + get() = setKeys + @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { if (regionId is UArrayRegionId<*, *, *> && @@ -52,8 +55,8 @@ class PyModel( return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, true) as UReadOnlyMemoryRegion } - if (regionId is URefSetRegionId<*> && regionId.setType == DictType(typeSystem)) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, false) as UReadOnlyMemoryRegion } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 6ea8bbaf32..5051082447 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -12,6 +12,7 @@ import org.usvm.machine.UPythonContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.model.PyModel import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder @@ -92,7 +93,33 @@ class ConverterToPythonObject( require(obj is InterpretedInputSymbolicPythonObject) { "Input dict cannot be static" } - return ConcretePythonInterpreter.eval(emptyNamespace, "dict()") + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "x = dict()") + val result = ConcretePythonInterpreter.eval(namespace, "x") + constructedObjects[obj.address] = result + val model = modelHolder.model.uModel + require(model is PyModel) + model.possibleRefKeys.forEach { + val key = if (isStaticHeapRef(it)) { + val type = memory.typeStreamOf(it).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) + } + if (obj.dictContainsRef(key)) { + val value = obj.readDictRefElement(ctx, key, memory) + val convertedValue = convert(value) + val convertedKey = convert(key) + ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") + ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedValue, "value") + ConcretePythonInterpreter.concreteRun(namespace, "x[key] = value", printErrorMsg = false) + } + } + return result.also { + ConcretePythonInterpreter.incref(it) + ConcretePythonInterpreter.decref(namespace) + } } private fun convertFloat(obj: InterpretedSymbolicPythonObject): PythonObject { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index f0b388d501..d26529b5c4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -10,6 +10,7 @@ import org.usvm.api.* import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut +import org.usvm.collection.map.primitive.UMapEntryLValue import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext @@ -553,18 +554,62 @@ fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObject /** dict **/ -fun UninterpretedSymbolicPythonObject.readDictElement( +fun UninterpretedSymbolicPythonObject.readDictRefElement( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, DictType(typeSystem), ctx.ctx.addressSort) + val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) } -fun UninterpretedSymbolicPythonObject.writeDictElement( +fun UninterpretedSymbolicPythonObject.dictContainsRef( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + return ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) +} + +/* +fun UninterpretedSymbolicPythonObject.readDictIntElement( + ctx: ConcolicRunContext, + key: UExpr +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType) +} + */ + +fun InterpretedInputSymbolicPythonObject.readDictRefElement( + ctx: UPythonContext, + key: InterpretedSymbolicPythonObject, + memory: UMemory +): InterpretedSymbolicPythonObject { + val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) + val elemAddress = modelHolder.model.uModel.read(lvalue) + return if (isStaticHeapRef(elemAddress)) { + val type = memory.typeStreamOf(elemAddress).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(elemAddress, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(elemAddress as UConcreteHeapRef, modelHolder, typeSystem) + } +} + +fun InterpretedInputSymbolicPythonObject.dictContainsRef(key: InterpretedSymbolicPythonObject): Boolean { + val lvalue = URefSetEntryLValue(address, key.address, RefDictType) + val result = modelHolder.model.uModel.read(lvalue) + return result.isTrue +} + +fun UninterpretedSymbolicPythonObject.writeDictRefElement( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject @@ -572,5 +617,5 @@ fun UninterpretedSymbolicPythonObject.writeDictElement( require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) - ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, DictType(typeSystem), ctx.ctx.addressSort) + ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) } \ No newline at end of file From 2946a9494d434f881cb1bd5b65c1da2d5368afc6 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 22 Nov 2023 19:19:46 +0300 Subject: [PATCH 190/344] Further work on dicts: int keys --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 8 +- .../test/kotlin/org/usvm/samples/DictsTest.kt | 51 +++++++++- .../src/test/resources/samples/Dicts.py | 14 ++- .../org/usvm/interpreter/CPythonAdapter.java | 13 +++ .../interpreters/operations/basic/Dict.kt | 75 ++++++++++++--- .../tracing/SymbolicHandlerEvent.kt | 1 + .../usvm/machine/model/ConstraintsVisitor.kt | 58 ++++++++++++ .../kotlin/org/usvm/machine/model/PyModel.kt | 23 ++++- .../{ => regions}/WrappedArrayIndexRegion.kt | 3 +- .../{ => regions}/WrappedArrayLengthRegion.kt | 2 +- .../WrappedRefSetRegion.kt} | 44 +-------- .../machine/model/regions/WrappedSetRegion.kt | 23 +++++ .../ConverterToPythonObject.kt | 45 ++++++--- .../symbolicobjects/SymbolicObjectContents.kt | 92 +++++++++++++++---- 15 files changed, 350 insertions(+), 104 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/{ => regions}/WrappedArrayIndexRegion.kt (94%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/{ => regions}/WrappedArrayLengthRegion.kt (95%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/{WrappedSetRegion.kt => regions/WrappedRefSetRegion.kt} (54%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 9e9e3281d8..981e8b1e8f 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 9e9e3281d8767f39808ab55f39847b1545dc9618 +Subproject commit 981e8b1e8fd3e175f66efbe34fa03446b9530aeb diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 5317e24632..c6e27f7fb5 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,8 +49,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonDict, PythonAnyType), - "input_dict_virtual_get_item", + listOf(typeSystem.pythonInt, typeSystem.pythonInt), + "allocate_dict_with_int_key", "Dicts" ) val functions = listOf(function) @@ -199,8 +199,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 30_000 + // timeoutPerRunMs = 4_000, + // timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index 539cc5a616..b26374382d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -30,7 +30,8 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { _, res -> res.repr == "None" }, - { _, res -> res.selfTypeName == "AssertionError" } + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.selfTypeName == "KeyError" } ) ) } @@ -44,7 +45,53 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { _, _, res -> res.repr == "None" }, - { _, _, res -> res.selfTypeName == "AssertionError" } + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } + ) + ) + } + + @Test + fun testAllocateDict() { + check2WithConcreteRun( + constructFunction("allocate_dict", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } + ) + ) + } + + @Test + fun testInputDictIntGetItem() { + check1WithConcreteRun( + constructFunction("input_dict_int_get_item", listOf(typeSystem.pythonDict)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.selfTypeName == "KeyError" } + ) + ) + } + + @Test + fun testAllocateDictWithIntKey() { + check2WithConcreteRun( + constructFunction("allocate_dict_with_int_key", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } ) ) } diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 0616c4f519..4aba1c252a 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -14,6 +14,16 @@ def input_dict_str_get_item(d: dict): assert d["my_key"] == 155 -def allocate_dict(x, y: int): +def allocate_dict(x, y): d = {x: 15} - assert d[x] == y \ No newline at end of file + assert d[x] == y + + +def allocate_dict_with_int_key(x, y): + d = {25: 15, y: 0} + assert d[x] == 15 + + +def allocate_const_key_dict(x): + d = {25: 15, 10: 0} + assert d[x] == 15 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index f4ac140dc1..ab55ec523e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -22,6 +22,7 @@ import static org.usvm.machine.interpreters.operations.basic.CommonKt.*; import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; +import static org.usvm.machine.interpreters.operations.basic.DictKt.handlerCreateDictKt; import static org.usvm.machine.interpreters.operations.basic.DictKt.handlerDictGetItemKt; import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; import static org.usvm.machine.interpreters.operations.basic.ListKt.*; @@ -574,6 +575,18 @@ public static SymbolForCPython handlerCreateSlice(ConcolicRunContext context, Sy return withTracing(context, event, () -> wrap(handlerCreateSliceKt(context, start.obj, stop.obj, step.obj))); } + @CPythonAdapterJavaMethod(cName = "create_dict") + @CPythonFunction( + argCTypes = {CType.PyObjectArray, CType.PyObjectArray}, + argConverters = {ObjectConverter.ArrayConverter, ObjectConverter.ArrayConverter} + ) + public static SymbolForCPython handlerCreateDict(ConcolicRunContext context, SymbolForCPython[] keys, SymbolForCPython[] elements) { + if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null) || Arrays.stream(keys).anyMatch(elem -> elem.obj == null)) + return null; + DictCreation event = new DictCreation(Arrays.asList(keys), Arrays.asList(elements)); + return withTracing(context, event, () -> wrap(handlerCreateDictKt(context, Arrays.stream(keys).map(s -> s.obj), Arrays.stream(elements).map(s -> s.obj)))); + } + @CPythonAdapterJavaMethod(cName = "range_iter") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index 19e7b72d18..501d42d911 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -1,10 +1,21 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue import org.usvm.language.types.HasTpHash -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.dictContainsRef -import org.usvm.machine.symbolicobjects.readDictRefElement +import org.usvm.machine.symbolicobjects.* +import java.util.stream.Stream +import kotlin.streams.asSequence + +private fun forkOnUnknownType( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) { + val clonedState = ctx.curState!!.clone() + val stateForDelayedFork = + myAssertOnState(clonedState, ctx.ctx.mkNot(ctx.ctx.mkHeapRefEq(key.address, ctx.ctx.nullRef))) + stateForDelayedFork?.let { addDelayedFork(ctx, key, it) } +} fun handlerDictGetItemKt( ctx: ConcolicRunContext, @@ -16,20 +27,58 @@ fun handlerDictGetItemKt( val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { - typeSystem.pythonInt, - typeSystem.pythonFloat, - typeSystem.pythonBool, - typeSystem.pythonNoneType -> null + typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = key.getToIntContent(ctx) ?: return null + val containsCond = dict.dictContainsInt(ctx, intValue) + myFork(ctx, containsCond) + if (ctx.modelHolder.model.eval(containsCond).isTrue) { + dict.readDictIntElement(ctx, intValue) + } else { + null + } + } null -> { - val clonedState = ctx.curState!!.clone() - val stateForDelayedFork = - myAssertOnState(clonedState, ctx.ctx.mkNot(ctx.ctx.mkHeapRefEq(key.address, ctx.ctx.nullRef))) - stateForDelayedFork?.let { addDelayedFork(ctx, key, it) } + forkOnUnknownType(ctx, key) null } else -> { - myFork(ctx, dict.dictContainsRef(ctx, key)) - dict.readDictRefElement(ctx, key) + val containsCond = dict.dictContainsRef(ctx, key) + myFork(ctx, containsCond) + if (ctx.modelHolder.model.eval(containsCond).isTrue) { + dict.readDictRefElement(ctx, key) + } else { + null + } + } + } +} + +fun handlerCreateDictKt( + ctx: ConcolicRunContext, + keysStream: Stream, + elemsStream: Stream +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val keys = keysStream.asSequence().toList() + val elems = elemsStream.asSequence().toList() + require(keys.size == elems.size) + val typeSystem = ctx.typeSystem + val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) + (keys zip elems).forEach { (key, elem) -> + val keyType = key.getTypeIfDefined(ctx) + when (keyType) { + null -> forkOnUnknownType(ctx, key) + typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val keyValue = key.getToIntContent(ctx) ?: return@forEach + result.writeDictIntElement(ctx, keyValue, elem) + } + else -> { + result.writeDictRefElement(ctx, key, elem) + } } } + return result } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index dc57543e04..5fd3067e45 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -16,6 +16,7 @@ data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters< data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() +data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class EmptyObjectCreation(val type: PythonObject): SymbolicHandlerEventParameters() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt new file mode 100644 index 0000000000..804053934d --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt @@ -0,0 +1,58 @@ +package org.usvm.machine.model + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.collection.set.primitive.UInputSetReading +import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading +import org.usvm.constraints.UPathConstraints +import org.usvm.language.types.PythonType +import org.usvm.machine.UPythonContext +import org.usvm.model.UModelBase +import org.usvm.regions.Region +import org.usvm.solver.UExprTranslator + + +data class PathConstraintsInfo( + val setRefKeys: Set, + val setIntKeys: Set> +) + + +fun getPathConstraintsInfo( + ctx: UPythonContext, + ps: UPathConstraints, + underlyingModel: UModelBase +): PathConstraintsInfo { + val visitor = ConstraintsVisitor(ctx) + ps.constraints(visitor).toList() + val refKeys = mutableSetOf() + visitor.refKeys.forEach { + val interpreted = underlyingModel.eval(it) as UConcreteHeapRef + refKeys.add(interpreted) + } + val intKeys = mutableSetOf>(ctx.mkIntNum(0), ctx.mkIntNum(1)) + visitor.intKeys.forEach { + val interpreted = underlyingModel.eval(it) + intKeys.add(interpreted as KInterpretedValue) + } + return PathConstraintsInfo(refKeys, intKeys) +} + + +@Suppress("unchecked_cast") +private class ConstraintsVisitor(ctx: UPythonContext): UExprTranslator(ctx) { + val refKeys: MutableSet = mutableSetOf() + val intKeys: MutableSet> = mutableSetOf() + + override fun transform(expr: UInputRefSetWithInputElementsReading): UBoolExpr { + refKeys.add(expr.elementRef) + return super.transform(expr) + } + + override fun > transform(expr: UInputSetReading): UBoolExpr { + if (expr.element.sort == ctx.intSort) + intKeys.add(expr.element as UExpr) + return super.transform(expr) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 1fdc1c84d0..9379de126d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -1,23 +1,29 @@ package org.usvm.machine.model +import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId import org.usvm.collection.array.length.UArrayLengthLValue import org.usvm.collection.array.length.UArrayLengthsRegionId +import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints import org.usvm.language.types.* import org.usvm.machine.UPythonContext +import org.usvm.machine.model.regions.WrappedArrayIndexRegion +import org.usvm.machine.model.regions.WrappedArrayLengthRegion +import org.usvm.machine.model.regions.WrappedRefSetRegion +import org.usvm.machine.model.regions.WrappedSetRegion import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion +import org.usvm.memory.key.USizeRegion import org.usvm.model.UModelBase - class PyModel( private val ctx: UPythonContext, private val underlyingModel: UModelBase, @@ -32,10 +38,13 @@ class PyModel( underlyingModel.regions, underlyingModel.nullRef ) { - private val setKeys = WrappedSetRegion.constructKeys(ctx, ps, underlyingModel) + private val psInfo = getPathConstraintsInfo(ctx, ps, underlyingModel) val possibleRefKeys: Set - get() = setKeys + get() = psInfo.setRefKeys + + val possibleIntKeys: Set> + get() = psInfo.setIntKeys @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { @@ -52,14 +61,18 @@ class PyModel( } if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, true) + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys, typeSystem, preallocatedObjects, underlyingModel.types, true) as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, setKeys, typeSystem, preallocatedObjects, underlyingModel.types, false) + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys, typeSystem, preallocatedObjects, underlyingModel.types, false) as UReadOnlyMemoryRegion } + if (regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion + } return super.getRegion(regionId) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt similarity index 94% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt index 0cd3da717e..9dc432f31c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayIndexRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.model +package org.usvm.machine.model.regions import io.ksmt.sort.KIntSort import org.usvm.UAddressSort @@ -8,6 +8,7 @@ import org.usvm.USort import org.usvm.collection.array.UArrayIndexLValue import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.machine.UPythonContext +import org.usvm.machine.model.PyModel import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UReadOnlyMemoryRegion diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt similarity index 95% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt index bf5ceccb3c..13d7bbd84d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedArrayLengthRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.model +package org.usvm.machine.model.regions import io.ksmt.sort.KIntSort import org.usvm.UExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt similarity index 54% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt index 1cc4599b24..05f1af8ae2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/WrappedSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt @@ -1,11 +1,7 @@ -package org.usvm.machine.model +package org.usvm.machine.model.regions -import io.ksmt.sort.KIntSort import org.usvm.* -import org.usvm.collection.set.ref.UAllocatedRefSetWithInputElementsReading -import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.constraints.UPathConstraints import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem @@ -15,14 +11,10 @@ import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.utils.getMembersFromType import org.usvm.memory.UReadOnlyMemoryRegion -import org.usvm.model.UModelBase import org.usvm.model.UTypeModel -import org.usvm.solver.UExprTranslator import org.usvm.types.first -import org.utbot.python.newtyping.PythonCompositeTypeDescription -import org.utbot.python.newtyping.pythonDescription -class WrappedSetRegion( +class WrappedRefSetRegion( private val ctx: UPythonContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, private val keys: Set, @@ -32,7 +24,7 @@ class WrappedSetRegion( private val isRegionForObjectDict: Boolean ): UReadOnlyMemoryRegion, UBoolSort> { override fun read(key: URefSetEntryLValue): UExpr { - if (key.setElement !in keys) { + if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) { if (isRegionForObjectDict && typeSystem is PythonTypeSystemWithMypyInfo) { val ref = key.setRef as? UConcreteHeapRef ?: return ctx.falseExpr @@ -51,34 +43,4 @@ class WrappedSetRegion( } return region.read(key) } - - companion object { - fun constructKeys( - ctx: UPythonContext, - ps: UPathConstraints, - underlyingModel: UModelBase - ): Set { - val visitor = VisitorForSetRegion(ctx) - ps.constraints(visitor).toList() - val keys = mutableSetOf() // TODO: add True and False - visitor.keys.forEach { - val interpreted = underlyingModel.eval(it) as UConcreteHeapRef - keys.add(interpreted) - } - return keys - } - } -} - -private class VisitorForSetRegion(ctx: UPythonContext): UExprTranslator(ctx) { - val keys: MutableSet = mutableSetOf() - override fun transform(expr: UAllocatedRefSetWithInputElementsReading): UBoolExpr { - keys.add(expr.elementRef) - return super.transform(expr) - } - - override fun transform(expr: UInputRefSetWithInputElementsReading): UBoolExpr { - keys.add(expr.elementRef) - return super.transform(expr) - } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt new file mode 100644 index 0000000000..b916e5e6bf --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt @@ -0,0 +1,23 @@ +package org.usvm.machine.model.regions + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.UBoolSort +import org.usvm.UExpr +import org.usvm.collection.set.primitive.USetEntryLValue +import org.usvm.isAllocatedConcreteHeapRef +import org.usvm.machine.UPythonContext +import org.usvm.memory.UReadOnlyMemoryRegion +import org.usvm.memory.key.USizeRegion + +class WrappedSetRegion( + private val ctx: UPythonContext, + private val region: UReadOnlyMemoryRegion, UBoolSort>, + private val keys: Set> +): UReadOnlyMemoryRegion, UBoolSort> { + override fun read(key: USetEntryLValue): UExpr { + if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) + return ctx.falseExpr + return region.read(key) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index 5051082447..b965c2d9e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -12,6 +12,7 @@ import org.usvm.machine.UPythonContext import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.model.PyModel import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH @@ -66,12 +67,12 @@ class ConverterToPythonObject( typeSystem.pythonInt -> convertInt(obj) typeSystem.pythonBool -> convertBool(obj) typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - typeSystem.pythonList -> convertList(obj) - typeSystem.pythonTuple -> convertTuple(obj) + typeSystem.pythonList -> convertList(obj, concolicCtx) + typeSystem.pythonTuple -> convertTuple(obj, concolicCtx) typeSystem.pythonStr -> convertString(obj) typeSystem.pythonSlice -> convertSlice(obj) typeSystem.pythonFloat -> convertFloat(obj) - typeSystem.pythonDict -> convertDict(obj) + typeSystem.pythonDict -> convertDict(obj, concolicCtx) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(obj, type, concolicCtx) @@ -89,7 +90,17 @@ class ConverterToPythonObject( } } - private fun convertDict(obj: InterpretedSymbolicPythonObject): PythonObject { + private fun addEntryToDict( + namespace: PythonNamespace, + value: InterpretedSymbolicPythonObject, + concolicCtx: ConcolicRunContext? + ) { + val convertedValue = convert(value, concolicCtx) + ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedValue, "value") + ConcretePythonInterpreter.concreteRun(namespace, "x[key] = value", printErrorMsg = false) + } + + private fun convertDict(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Input dict cannot be static" } @@ -108,12 +119,17 @@ class ConverterToPythonObject( InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) } if (obj.dictContainsRef(key)) { - val value = obj.readDictRefElement(ctx, key, memory) - val convertedValue = convert(value) - val convertedKey = convert(key) + val convertedKey = convert(key, concolicCtx) ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") - ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedValue, "value") - ConcretePythonInterpreter.concreteRun(namespace, "x[key] = value", printErrorMsg = false) + val value = obj.readDictRefElement(ctx, key, memory) + addEntryToDict(namespace, value, concolicCtx) + } + } + model.possibleIntKeys.forEach { + if (obj.dictContainsInt(ctx, it)) { + ConcretePythonInterpreter.concreteRun(namespace, "key = $it") + val value = obj.readDictIntElement(ctx, it, memory) + addEntryToDict(namespace, value, concolicCtx) } } return result.also { @@ -145,6 +161,7 @@ class ConverterToPythonObject( private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, + concolicCtx: ConcolicRunContext? ): List { val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException if (size.value > MAX_INPUT_ARRAY_LENGTH) @@ -167,7 +184,7 @@ class ConverterToPythonObject( } else { InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) } - convert(elemInterpretedObject) + convert(elemInterpretedObject, concolicCtx) } } @@ -256,13 +273,13 @@ class ConverterToPythonObject( else -> error("Not reachable") } - private fun convertList(obj: InterpretedSymbolicPythonObject): PythonObject { + private fun convertList(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "List object cannot be static" } val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList - val listOfPythonObjects = constructArrayContents(obj) + val listOfPythonObjects = constructArrayContents(obj, concolicCtx) val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, resultList, "x") listOfPythonObjects.forEach { @@ -273,14 +290,14 @@ class ConverterToPythonObject( return resultList } - private fun convertTuple(obj: InterpretedSymbolicPythonObject): PythonObject { + private fun convertTuple(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Tuple object cannot be static" } val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple - val listOfPythonObjects = constructArrayContents(obj) + val listOfPythonObjects = constructArrayContents(obj, concolicCtx) listOfPythonObjects.forEachIndexed { index, pythonObject -> ConcretePythonInterpreter.setTupleElement(resultTuple, index, pythonObject) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index d26529b5c4..14adfd8e20 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -12,6 +12,7 @@ import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut import org.usvm.collection.map.primitive.UMapEntryLValue import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* @@ -21,6 +22,7 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory +import org.usvm.memory.key.USizeExprKeyInfo import org.usvm.types.first /** standard fields **/ @@ -575,7 +577,17 @@ fun UninterpretedSymbolicPythonObject.dictContainsRef( return ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) } -/* +fun UninterpretedSymbolicPythonObject.writeDictRefElement( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) +} + fun UninterpretedSymbolicPythonObject.readDictIntElement( ctx: ConcolicRunContext, key: UExpr @@ -583,9 +595,48 @@ fun UninterpretedSymbolicPythonObject.readDictIntElement( require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType) + val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + val resultAddress = ctx.curState!!.memory.read(lvalue) + return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.dictContainsInt( + ctx: ConcolicRunContext, + key: UExpr +): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + return ctx.curState!!.memory.read(lvalue) +} + +fun UninterpretedSymbolicPythonObject.writeDictIntElement( + ctx: ConcolicRunContext, + key: UExpr, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) + val lvalueSet = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalueSet, ctx.ctx.trueExpr, ctx.ctx.trueExpr) + // TODO: size? } - */ + +private fun InterpretedInputSymbolicPythonObject.constructResultObject( + resultAddress: UConcreteHeapRef, + memory: UMemory +): InterpretedSymbolicPythonObject = + if (isStaticHeapRef(resultAddress)) { + val type = memory.typeStreamOf(resultAddress).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(resultAddress, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(resultAddress, modelHolder, typeSystem) + } fun InterpretedInputSymbolicPythonObject.readDictRefElement( ctx: UPythonContext, @@ -593,14 +644,8 @@ fun InterpretedInputSymbolicPythonObject.readDictRefElement( memory: UMemory ): InterpretedSymbolicPythonObject { val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) - val elemAddress = modelHolder.model.uModel.read(lvalue) - return if (isStaticHeapRef(elemAddress)) { - val type = memory.typeStreamOf(elemAddress).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(elemAddress, type, typeSystem) - } else { - InterpretedInputSymbolicPythonObject(elemAddress as UConcreteHeapRef, modelHolder, typeSystem) - } + val elemAddress = modelHolder.model.uModel.read(lvalue) as UConcreteHeapRef + return constructResultObject(elemAddress, memory) } fun InterpretedInputSymbolicPythonObject.dictContainsRef(key: InterpretedSymbolicPythonObject): Boolean { @@ -609,13 +654,20 @@ fun InterpretedInputSymbolicPythonObject.dictContainsRef(key: InterpretedSymboli return result.isTrue } -fun UninterpretedSymbolicPythonObject.writeDictRefElement( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject -) { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertypeSoft(ctx, typeSystem.pythonDict) - ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) +fun InterpretedInputSymbolicPythonObject.readDictIntElement( + ctx: UPythonContext, + key: KInterpretedValue, + memory: UMemory +): InterpretedSymbolicPythonObject { + val lvalue = UMapEntryLValue(ctx.intSort, ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + val resultAddress = modelHolder.model.uModel.read(lvalue) as UConcreteHeapRef + return constructResultObject(resultAddress, memory) +} + +fun InterpretedInputSymbolicPythonObject.dictContainsInt( + ctx: UPythonContext, + key: KInterpretedValue +): Boolean { + val lvalue = USetEntryLValue(ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + return modelHolder.model.uModel.read(lvalue).isTrue } \ No newline at end of file From 2b0711df3eebc295ef695e589ac595bfc9d77f71 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 23 Nov 2023 12:35:57 +0300 Subject: [PATCH 191/344] Added some samples --- usvm-python/src/test/kotlin/manualTest.kt | 4 ++-- .../test/kotlin/org/usvm/samples/DictsTest.kt | 3 +-- .../src/test/resources/samples/Dicts.py | 20 ++++++++++++++++++- .../interpreters/USVMPythonInterpreter.kt | 2 +- .../ConverterToPythonObject.kt | 2 +- 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c6e27f7fb5..b2bb0222d0 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,8 +49,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt, typeSystem.pythonInt), - "allocate_dict_with_int_key", + listOf(PythonAnyType, PythonAnyType), + "dict_int_set_item", "Dicts" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index b26374382d..25027b2486 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -60,8 +60,7 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf( { _, _, res -> res.repr == "None" }, - { _, _, res -> res.selfTypeName == "AssertionError" }, - { _, _, res -> res.selfTypeName == "KeyError" } + { _, _, res -> res.selfTypeName == "AssertionError" } ) ) } diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 4aba1c252a..ae10bf85b2 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -26,4 +26,22 @@ def allocate_dict_with_int_key(x, y): def allocate_const_key_dict(x): d = {25: 15, 10: 0} - assert d[x] == 15 \ No newline at end of file + assert d[x] == 15 + + +def dict_int_set_item(x, y): + d = {} + d[10] = 10 + assert d[x] == y + + +def dict_str_set_item(x, y): + d = {} + d[10] = 10 + assert d["hello"] == y + + +def dict_virtual_set_item(x, y): + d = {} + d[x] = 10 + assert d[155] == y \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 39a973d195..1ebeb6f56c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -178,7 +178,7 @@ class USVMPythonInterpreter( logger.debug( "Step result: exception from CPython: {} - {}", ConcretePythonInterpreter.getNameOfPythonType(exception.pythonExceptionType), - ConcretePythonInterpreter.getPythonObjectRepr(exception.pythonExceptionValue) + ReprObjectSerializer.serialize(exception.pythonExceptionValue) ) if (madeInputSerialization) { // println("Saving result") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index b965c2d9e7..d5fc9fb67b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -59,7 +59,7 @@ class ConverterToPythonObject( } val cached = constructedObjects[obj.address] if (cached != null) { - // ConcretePythonInterpreter.incref(cached) + ConcretePythonInterpreter.incref(cached) return cached } val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { From 519ef4ffa11ab2779f7ec42e43e4973044795c13 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 23 Nov 2023 14:17:38 +0300 Subject: [PATCH 192/344] Added dict_set_item --- usvm-python/src/test/kotlin/manualTest.kt | 4 +- .../test/kotlin/org/usvm/samples/DictsTest.kt | 45 +++++++++++++ .../src/test/resources/samples/Dicts.py | 4 +- .../org/usvm/interpreter/CPythonAdapter.java | 26 +++++++- .../interpreters/operations/basic/Dict.kt | 66 +++++++++++++++---- .../tracing/SymbolicHandlerEvent.kt | 1 + 6 files changed, 128 insertions(+), 18 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index b2bb0222d0..9c69b182b6 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,8 +49,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType), - "dict_int_set_item", + listOf(PythonAnyType), + "allocate_const_key_dict", "Dicts" ) val functions = listOf(function) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index 25027b2486..ef4d8b6609 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -94,4 +94,49 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { ) ) } + + @Test + fun testDictIntSetItem() { + check2WithConcreteRun( + constructFunction("dict_int_set_item", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } + ) + ) + } + + @Test + fun testDictStrSetItem() { + check2WithConcreteRun( + constructFunction("dict_str_set_item", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } + ) + ) + } + + @Test + fun testDictVirtualSetItem() { + check2WithConcreteRun( + constructFunction("dict_virtual_set_item", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, res -> res.selfTypeName == "KeyError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index ae10bf85b2..627efbee21 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -37,8 +37,8 @@ def dict_int_set_item(x, y): def dict_str_set_item(x, y): d = {} - d[10] = 10 - assert d["hello"] == y + d["hello"] = 10 + assert d[x] == y def dict_virtual_set_item(x, y): diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ab55ec523e..bd8a11e440 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -22,8 +22,7 @@ import static org.usvm.machine.interpreters.operations.basic.CommonKt.*; import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; -import static org.usvm.machine.interpreters.operations.basic.DictKt.handlerCreateDictKt; -import static org.usvm.machine.interpreters.operations.basic.DictKt.handlerDictGetItemKt; +import static org.usvm.machine.interpreters.operations.basic.DictKt.*; import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; import static org.usvm.machine.interpreters.operations.basic.ListKt.*; import static org.usvm.machine.interpreters.operations.basic.LongKt.*; @@ -587,6 +586,18 @@ public static SymbolForCPython handlerCreateDict(ConcolicRunContext context, Sym return withTracing(context, event, () -> wrap(handlerCreateDictKt(context, Arrays.stream(keys).map(s -> s.obj), Arrays.stream(elements).map(s -> s.obj)))); } + @CPythonAdapterJavaMethod(cName = "create_dict_const_key") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObjectArray}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.ArrayConverter} + ) + public static SymbolForCPython handlerCreateDictConstKey(ConcolicRunContext context, SymbolForCPython keys, SymbolForCPython[] elements) { + if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null) || keys.obj == null) + return null; + DictCreationConstKey event = new DictCreationConstKey(keys, Arrays.asList(elements)); + return withTracing(context, event, () -> wrap(handlerCreateDictConstKeyKt(context, keys.obj, Arrays.stream(elements).map(s -> s.obj)))); + } + @CPythonAdapterJavaMethod(cName = "range_iter") @CPythonFunction( argCTypes = {CType.PyObject}, @@ -763,6 +774,17 @@ public static SymbolForCPython handlerDictGetItem(ConcolicRunContext context, Sy return methodWrapper(context, new MethodParameters("dict_get_item", Arrays.asList(dict, key)), () -> handlerDictGetItemKt(context, dict.obj, key.obj)); } + @CPythonAdapterJavaMethod(cName = "dict_set_item") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static void handlerDictGetItem(ConcolicRunContext context, SymbolForCPython dict, SymbolForCPython key, SymbolForCPython value) { + if (dict.obj == null || key.obj == null || value.obj == null) + return; + withTracing(context, new MethodParametersNoReturn("dict_set_item", Arrays.asList(dict, key, value)), unit(() -> handlerDictSetItemKt(context, dict.obj, key.obj, value.obj))); + } + @CPythonAdapterJavaMethod(cName = "function_call") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index 501d42d911..05b6224447 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -54,6 +54,41 @@ fun handlerDictGetItemKt( } } +private fun setItem( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + val typeSystem = ctx.typeSystem + when (key.getTypeIfDefined(ctx)) { + null -> { + forkOnUnknownType(ctx, key) + } + typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO + typeSystem.pythonInt -> { + val intValue = key.getToIntContent(ctx) ?: return + dict.writeDictIntElement(ctx, intValue, value) + } + else -> { + dict.writeDictRefElement(ctx, key, value) + } + } +} + +fun handlerDictSetItemKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + val typeSystem = ctx.typeSystem + dict.addSupertypeSoft(ctx, typeSystem.pythonDict) + key.addSupertypeSoft(ctx, HasTpHash) + setItem(ctx, dict, key, value) +} + fun handlerCreateDictKt( ctx: ConcolicRunContext, keysStream: Stream, @@ -67,18 +102,25 @@ fun handlerCreateDictKt( val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) (keys zip elems).forEach { (key, elem) -> - val keyType = key.getTypeIfDefined(ctx) - when (keyType) { - null -> forkOnUnknownType(ctx, key) - typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO - typeSystem.pythonInt, typeSystem.pythonBool -> { - val keyValue = key.getToIntContent(ctx) ?: return@forEach - result.writeDictIntElement(ctx, keyValue, elem) - } - else -> { - result.writeDictRefElement(ctx, key, elem) - } - } + setItem(ctx, result, key, elem) + } + return result +} + +fun handlerCreateDictConstKeyKt( + ctx: ConcolicRunContext, + keys: UninterpretedSymbolicPythonObject, + elemsStream: Stream +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val elems = elemsStream.asSequence().toList() + val typeSystem = ctx.typeSystem + keys.addSupertypeSoft(ctx, typeSystem.pythonTuple) + val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) + elems.forEachIndexed { index, elem -> + val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) + setItem(ctx, result, key, elem) } return result } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index 5fd3067e45..cbda4c6015 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -17,6 +17,7 @@ data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() +data class DictCreationConstKey(val keys: SymbolForCPython, val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class EmptyObjectCreation(val type: PythonObject): SymbolicHandlerEventParameters() From 96831c3b1e01f143fbb15c8771048c6de3b8a3cc Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 23 Nov 2023 14:34:21 +0300 Subject: [PATCH 193/344] fixed create_dict_const_key --- usvm-python/cpythonadapter/cpython | 2 +- .../src/test/kotlin/org/usvm/samples/DictsTest.kt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 981e8b1e8f..bdd42b72f4 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 981e8b1e8fd3e175f66efbe34fa03446b9530aeb +Subproject commit bdd42b72f492b64281bbe46aa167970eaa0f3a1f diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index ef4d8b6609..a48c94ddef 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -139,4 +139,19 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { ) ) } + + @Test + fun testAllocateConstKeyDict() { + check1WithConcreteRun( + constructFunction("allocate_const_key_dict", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.selfTypeName == "KeyError" } + ) + ) + } } \ No newline at end of file From f9fb2c9b8ccf0920f60877bab5807e3962666fd6 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 23 Nov 2023 19:55:55 +0300 Subject: [PATCH 194/344] Fixed one case of underapproximation --- .../org/usvm/constraints/PathConstraints.kt | 11 ++++++--- usvm-python/src/test/kotlin/manualTest.kt | 10 ++++---- .../usvm/language/types/UtTypeConversion.kt | 4 ++-- .../interpreters/operations/basic/Common.kt | 5 ++++ .../interpreters/operations/basic/Virtual.kt | 8 ++++++- .../kotlin/org/usvm/machine/model/PyModel.kt | 11 +++++---- .../model/regions/WrappedRefMapRegion.kt | 23 +++++++++++++++++++ .../ConverterToPythonObject.kt | 2 +- 8 files changed, 58 insertions(+), 16 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt diff --git a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt index e325f0fc6a..91ff39691e 100644 --- a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt +++ b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt @@ -1,5 +1,7 @@ package org.usvm.constraints +import kotlinx.collections.immutable.PersistentSet +import kotlinx.collections.immutable.persistentHashSetOf import org.usvm.UAndExpr import org.usvm.UBoolExpr import org.usvm.UBv32Sort @@ -39,6 +41,7 @@ open class UPathConstraints private constructor( * Specially represented numeric constraints (e.g. >, <, >=, ...). */ private val numericConstraints: UNumericConstraints = UNumericConstraints(ctx, sort = ctx.bv32Sort), + var pythonSoftConstraints: PersistentSet = persistentHashSetOf() ) : UMergeable, MutableMergeGuard> { init { // Use the information from the type constraints to check whether any static ref is assignable to any symbolic ref @@ -49,7 +52,7 @@ open class UPathConstraints private constructor( * Constraints solved by SMT solver. */ val softConstraintsSourceSequence: Sequence - get() = logicalConstraints.asSequence() + numericConstraints.constraints() + get() = logicalConstraints.asSequence() + numericConstraints.constraints() + pythonSoftConstraints.asSequence() constructor(ctx: UContext<*>) : this(ctx, ULogicalConstraints.empty()) @@ -170,7 +173,8 @@ open class UPathConstraints private constructor( logicalConstraints = clonedLogicalConstraints, equalityConstraints = clonedEqualityConstraints, typeConstraints = clonedTypeConstraints, - numericConstraints = clonedNumericConstraints + numericConstraints = clonedNumericConstraints, + pythonSoftConstraints = pythonSoftConstraints, ) } @@ -206,7 +210,8 @@ open class UPathConstraints private constructor( mergedLogicalConstraints, mergedEqualityConstraints, mergedTypeConstraints, - mergedNumericConstraints + mergedNumericConstraints, + pythonSoftConstraints.addAll(other.pythonSoftConstraints), ) } } diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9c69b182b6..8ef92da045 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -79,7 +79,7 @@ private fun getFunctionInfo( return null //if (module != "bidirectional_a_star") // return null - //if (name != "AStar.get_successors") + //if (name != "Graph.boruvka") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -199,8 +199,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - // timeoutPerRunMs = 4_000, - // timeoutMs = 30_000 + timeoutPerRunMs = 4_000, + timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index 68b0b04784..d0341cfb26 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -35,9 +35,9 @@ fun getTypeFromTypeHint( typeSystem.pythonFloat } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { typeSystem.pythonBool - } /*else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { + } else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { typeSystem.pythonDict - }*/ else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { + } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { typeSystem.pythonList } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedTuple, hintAfterSubstitution, storage)) { typeSystem.pythonTuple diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 179176c953..b58acba0eb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -149,6 +149,11 @@ fun handlerStandardTpGetattroKt( if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { if (defaultValue != null) return SymbolForCPython(defaultValue, 0) + + val softConstraint = ctx.ctx.mkHeapRefEq(obj.getFieldValue(ctx, name).address, ctx.ctx.nullRef) + val ps = ctx.curState!!.pathConstraints + ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) + myFork(ctx, containsFieldCond) return null } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index 23f12f4e4c..fa45f6541a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -10,6 +10,7 @@ import org.usvm.machine.utils.PyModelWrapper import org.usvm.machine.utils.substituteModel fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { + ctx.curState ?: throw UnregisteredVirtualOperation ctx.curOperation ?: throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) if(ctx.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) @@ -45,6 +46,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { } fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = with(ctx.ctx) { + ctx.curState ?: throw UnregisteredVirtualOperation ctx.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = ctx.typeSystem val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) @@ -102,13 +104,17 @@ private fun internalVirtualCallKt( } fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { + ctx.curState ?: throw UnregisteredVirtualOperation val (interpreted, _) = internalVirtualCallKt(ctx) val converter = ctx.converter require(interpreted is InterpretedInputSymbolicPythonObject) return converter.convert(interpreted) } -fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject = internalVirtualCallKt(ctx).second +fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { + ctx.curState ?: throw UnregisteredVirtualOperation + return internalVirtualCallKt(ctx).second +} object UnregisteredVirtualOperation: Exception() { private fun readResolve(): Any = UnregisteredVirtualOperation diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 9379de126d..f6bd6533a7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -7,6 +7,8 @@ import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId import org.usvm.collection.array.length.UArrayLengthLValue import org.usvm.collection.array.length.UArrayLengthsRegionId +import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.collection.map.ref.URefMapRegionId import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue @@ -14,10 +16,7 @@ import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints import org.usvm.language.types.* import org.usvm.machine.UPythonContext -import org.usvm.machine.model.regions.WrappedArrayIndexRegion -import org.usvm.machine.model.regions.WrappedArrayLengthRegion -import org.usvm.machine.model.regions.WrappedRefSetRegion -import org.usvm.machine.model.regions.WrappedSetRegion +import org.usvm.machine.model.regions.* import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion @@ -73,6 +72,10 @@ class PyModel( val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion } + if (regionId is URefMapRegionId<*, *> && regionId.mapType == ObjectDictType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> + return WrappedRefMapRegion(ctx, region, psInfo.setRefKeys, underlyingModel) as UReadOnlyMemoryRegion + } return super.getRegion(regionId) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt new file mode 100644 index 0000000000..19b516d38a --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt @@ -0,0 +1,23 @@ +package org.usvm.machine.model.regions + +import org.usvm.UAddressSort +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.language.types.PythonType +import org.usvm.machine.UPythonContext +import org.usvm.memory.UReadOnlyMemoryRegion +import org.usvm.model.UModelBase + +class WrappedRefMapRegion( + private val ctx: UPythonContext, + private val region: UReadOnlyMemoryRegion, UAddressSort>, + private val keys: Set, + private val underlyingModel: UModelBase +): UReadOnlyMemoryRegion, UAddressSort> { + override fun read(key: URefMapEntryLValue): UExpr { + if (key.mapKey !in keys) + return underlyingModel.eval(ctx.nullRef) + return region.read(key) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt index d5fc9fb67b..27f96693df 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt @@ -217,7 +217,7 @@ class ConverterToPythonObject( val str = preallocatedObjects.concreteString(it)!! if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { val symbolicValue = obj.getFieldValue(ctx, nameSymbol, memory) - val value = convert(symbolicValue) + val value = convert(symbolicValue, concolicCtx) val strRef = preallocatedObjects.refOfString(str)!! val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") From 54a97b2022da2b2687f7d525ad3c3cee26b8692d Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 24 Nov 2023 18:07:33 +0300 Subject: [PATCH 195/344] Fixed a case of path diversion --- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../main/kotlin/org/usvm/language/types/TypeSystem.kt | 2 +- .../operations/basic/MethodNotifications.kt | 3 ++- .../machine/interpreters/operations/basic/Virtual.kt | 10 ++++++---- .../src/main/kotlin/org/usvm/machine/model/PyModel.kt | 10 ++++++---- .../org/usvm/machine/model/PythonMockEvaluator.kt | 11 +++++++++-- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 8ef92da045..c3e6ebdadc 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -79,7 +79,7 @@ private fun getFunctionInfo( return null //if (module != "bidirectional_a_star") // return null - //if (name != "Graph.boruvka") + //if (name != "BidirectionalBreadthFirstSearch.search") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 5d3122b160..280e1ef336 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -19,7 +19,7 @@ import kotlin.time.Duration.Companion.milliseconds abstract class PythonTypeSystem: UTypeSystem { override val typeOperationsTimeout: Duration - get() = 100.milliseconds + get() = 1000.milliseconds override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { if (type is InternalDictType || supertype is InternalDictType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index 98bdb0cb07..b36ebc8323 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -4,9 +4,10 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.* +@Suppress("unused_parameter") fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertypeSoft(context, HasNbBool) + // on.addSupertypeSoft(context, HasNbBool) // TODO } fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index fa45f6541a..2e276dcbd6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -28,7 +28,8 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) ctx.curState!!.preAllocatedObjects, - falseObject as UConcreteHeapRef + falseObject as UConcreteHeapRef, + useOldPossibleRefs = true ), constructModelWithNewMockEvaluator( ctx.ctx, @@ -37,7 +38,8 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) ctx.curState!!.preAllocatedObjects, - trueObject as UConcreteHeapRef + trueObject as UConcreteHeapRef, + useOldPossibleRefs = true ) ) } @@ -85,7 +87,8 @@ private fun internalVirtualCallKt( mockSymbol, ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) - ctx.curState!!.preAllocatedObjects + ctx.curState!!.preAllocatedObjects, + useOldPossibleRefs = true ) else customNewModels.first() @@ -107,7 +110,6 @@ fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { ctx.curState ?: throw UnregisteredVirtualOperation val (interpreted, _) = internalVirtualCallKt(ctx) val converter = ctx.converter - require(interpreted is InterpretedInputSymbolicPythonObject) return converter.convert(interpreted) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index f6bd6533a7..a8c3103869 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -28,7 +28,8 @@ class PyModel( private val underlyingModel: UModelBase, private val typeSystem: PythonTypeSystem, ps: UPathConstraints, - private val preallocatedObjects: PreallocatedObjects + private val preallocatedObjects: PreallocatedObjects, + suggestedPsInfo: PathConstraintsInfo? = null ) : UModelBase( ctx, underlyingModel.stack, @@ -37,7 +38,7 @@ class PyModel( underlyingModel.regions, underlyingModel.nullRef ) { - private val psInfo = getPathConstraintsInfo(ctx, ps, underlyingModel) + val psInfo = suggestedPsInfo ?: getPathConstraintsInfo(ctx, ps, underlyingModel) val possibleRefKeys: Set get() = psInfo.setRefKeys @@ -94,9 +95,10 @@ fun UModelBase.toPyModel( ctx: UPythonContext, typeSystem: PythonTypeSystem, ps: UPathConstraints, - preallocatedObjects: PreallocatedObjects + preallocatedObjects: PreallocatedObjects, + suggestedPsInfo: PathConstraintsInfo? = null ): PyModel { if (this is PyModel) return this - return PyModel(ctx, this, typeSystem, ps, preallocatedObjects) + return PyModel(ctx, this, typeSystem, ps, preallocatedObjects, suggestedPsInfo) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index b02a9281d0..74968b2c5a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -35,9 +35,16 @@ fun constructModelWithNewMockEvaluator( typeSystem: PythonTypeSystem, ps: UPathConstraints, preallocatedObjects: PreallocatedObjects, - suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null + suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, + useOldPossibleRefs: Boolean = false ): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) + val suggestedPsInfo = if (useOldPossibleRefs) { + require(oldModel.uModel is PyModel) + oldModel.uModel.psInfo + } else { + null + } val newModel = UModelBase( ctx, oldModel.uModel.stack, @@ -45,7 +52,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.uModel.regions, oldModel.uModel.nullRef - ).toPyModel(ctx, typeSystem, ps, preallocatedObjects) + ).toPyModel(ctx, typeSystem, ps, preallocatedObjects, suggestedPsInfo) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return PyModelWrapper(newModel) to constraint } \ No newline at end of file From 68bc86bff804ca604281e5667ee617a28862b5ec Mon Sep 17 00:00:00 2001 From: tochilinak Date: Fri, 24 Nov 2023 21:46:42 +0300 Subject: [PATCH 196/344] More work on underapproximations --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/virtual_objects.c | 1 + usvm-python/src/test/kotlin/manualTest.kt | 12 ++++---- .../org/usvm/samples/TrickyExamplesTest.kt | 29 ------------------- .../samples/tricky/CompositeObjectsTest.kt | 28 ++++++++++++++++++ .../samples/tricky/CompositeObjects.py | 21 ++++++++++++++ .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 3 +- .../interpreters/operations/basic/Common.kt | 10 +++---- .../interpreters/operations/basic/Virtual.kt | 12 ++++++-- .../tracing/SymbolicHandlerEvent.kt | 1 + .../types/prioritization/SymbolTypeTree.kt | 2 +- 12 files changed, 76 insertions(+), 47 deletions(-) delete mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt create mode 100644 usvm-python/src/test/resources/samples/tricky/CompositeObjects.py diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index bdd42b72f4..a0a404d2e2 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit bdd42b72f492b64281bbe46aa167970eaa0f3a1f +Subproject commit a0a404d2e2a8a3098bbb9537f4528163f05f50ad diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 234f562f86..73ef4dacd3 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -304,6 +304,7 @@ void register_virtual_methods(SymbolicAdapter *adapter) { adapter->virtual_tp_richcompare = tp_richcompare; adapter->virtual_tp_getattro = tp_getattro; adapter->virtual_tp_iter = tp_iter; + adapter->virtual_tp_call = tp_call; adapter->virtual_nb_add = nb_add; adapter->virtual_nb_subtract = nb_subtract; adapter->virtual_nb_multiply = nb_multiply; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c3e6ebdadc..41bf3dacbd 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -50,8 +50,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "allocate_const_key_dict", - "Dicts" + "f", + "tricky.CompositeObjects" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -199,8 +199,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 30_000 + // timeoutPerRunMs = 4_000, + // timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt deleted file mode 100644 index 549149fcf1..0000000000 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TrickyExamplesTest.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.usvm.samples - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType -import org.usvm.runner.PythonTestRunnerForStructuredProgram -import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults - -class TrickyExamplesTest: PythonTestRunnerForStructuredProgram( - "Tricky", - UMachineOptions(stepLimit = 200U), - allowPathDiversions = true -) { - @Disabled - @Test - fun testSquareMatrix() { - check2WithConcreteRun( - constructFunction("square_matrix", listOf(PythonAnyType, PythonAnyType)), - ignoreNumberOfAnalysisResults, - standardConcolicAndConcreteChecks, - /* invariants = */ emptyList(), - /* propertiesToDiscover = */ listOf( - { _, _, res -> res.selfTypeName == "AssertionError" }, - { _, _, res -> res.repr == "'Success'" } - ) - ) - } -} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt new file mode 100644 index 0000000000..9dd895633e --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt @@ -0,0 +1,28 @@ +package org.usvm.samples.tricky + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForStructuredProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( + "tricky.CompositeObjects", + allowPathDiversions = false, + options = UMachineOptions(stepLimit = 100U) +) { + @Test + fun testF() { + check1WithConcreteRun( + constructFunction("f", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "1" }, + { _, res -> res.repr == "2" }, + { _, res -> res.repr == "3" }, + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py new file mode 100644 index 0000000000..6fc222c8e0 --- /dev/null +++ b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py @@ -0,0 +1,21 @@ +class A: + def __init__(self, left: 'B', right: 'B'): + self.left = left + self.right = right + + +class B: + def __init__(self, data): + self.data_list = data + + +def f(x): + if x.left.data_list and x.right.data_list: + # print("left data_list:", x.left.data_list, flush=True) + # print("right data_list:", x.right.data_list, flush=True) + a = x.left.data_list.pop(0) + b = x.right.data_list.pop(0) + if a + b == 155: + return 1 + return 2 + return 3 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index bd8a11e440..05ba4d8a1a 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -184,7 +184,7 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond argConverters = {ObjectConverter.StandardConverter, ObjectConverter.IntConverter} ) public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { - PathTracingKt.handlerForkResultKt(context, cond, result); + withTracing(context, new ForkResult(cond, result), unit(() -> PathTracingKt.handlerForkResultKt(context, cond, result))); } @CPythonAdapterJavaMethod(cName = "unpack") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index a73ad73b70..39bc65aebd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -15,6 +15,7 @@ import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemory +import org.usvm.ps.BfsPathSelector import org.usvm.ps.DfsPathSelector import org.usvm.ps.createForkDepthPathSelector import org.usvm.solver.USatResult @@ -95,7 +96,7 @@ class PythonMachine( ctx, typeSystem, pathSelectorCreation(), - pathSelectorCreation(), + pathSelectorForStatesWithDelayedForks = BfsPathSelector(), pathSelectorCreation(), initialState.preAllocatedObjects ) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index b58acba0eb..7a751a619b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -146,14 +146,14 @@ fun handlerStandardTpGetattroKt( return null val containsFieldCond = obj.containsField(ctx, name) // println("Attr result: ${ctx.modelHolder.model.eval(containsFieldCond).isTrue}") + + val softConstraint = ctx.ctx.mkHeapRefEq(obj.getFieldValue(ctx, name).address, ctx.ctx.nullRef) + val ps = ctx.curState!!.pathConstraints + ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) + if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { if (defaultValue != null) return SymbolForCPython(defaultValue, 0) - - val softConstraint = ctx.ctx.mkHeapRefEq(obj.getFieldValue(ctx, name).address, ctx.ctx.nullRef) - val ps = ctx.curState!!.pathConstraints - ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) - myFork(ctx, containsFieldCond) return null } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index 2e276dcbd6..0899d70640 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -28,7 +28,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) ctx.curState!!.preAllocatedObjects, - falseObject as UConcreteHeapRef, + trueObject as UConcreteHeapRef, useOldPossibleRefs = true ), constructModelWithNewMockEvaluator( @@ -38,7 +38,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) ctx.curState!!.preAllocatedObjects, - trueObject as UConcreteHeapRef, + falseObject as UConcreteHeapRef, useOldPossibleRefs = true ) ) @@ -115,7 +115,13 @@ fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { ctx.curState ?: throw UnregisteredVirtualOperation - return internalVirtualCallKt(ctx).second + val result = internalVirtualCallKt(ctx).second + if (!ctx.curOperation!!.method.isMethodWithNonVirtualReturn) { + val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) + val ps = ctx.curState!!.pathConstraints + ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) + } + return result } object UnregisteredVirtualOperation: Exception() { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index cbda4c6015..f994890718 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -14,6 +14,7 @@ data class NextInstruction( data class PythonFunctionCall(val code: PythonObject): SymbolicHandlerEventParameters() data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() +data class ForkResult(val condition: SymbolForCPython, val expectedResult: Boolean): SymbolicHandlerEventParameters() data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() data class ListCreation(val elements: List): SymbolicHandlerEventParameters() data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt index 567bf074ef..e2b0f6836d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt @@ -32,7 +32,7 @@ class SymbolTypeTree( NbSubtractMethod -> { returnType: UtType -> createBinaryProtocol("__sub__", pythonAnyType, returnType) } NbBoolMethod -> - { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } + { _: UtType -> pythonAnyType /* createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) */ } NbIntMethod -> { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } NbNegativeMethod -> From ca5e0e0e449dddc556e41b7acd6ee97f455eae7b Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 27 Nov 2023 13:19:19 +0300 Subject: [PATCH 197/344] Fixed message in DebugRunner --- .../src/main/kotlin/org/usvm/runner/DebugRunner.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt index 468b0c7638..2efcc37ef2 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt @@ -7,6 +7,9 @@ class DebugRunner(config: USVMPythonConfig): USVMPythonRunner(config) { builder.redirectOutput(ProcessBuilder.Redirect.INHERIT) val process = builder.start() process.waitFor() - println("Exit status: ${process.exitValue()}") + when (val status = process.exitValue()) { + 0 -> println("Exit status: 0 (Success)") + else -> println("Exit status: $status (Failure)") + } } -} \ No newline at end of file +} From 877010dbf965f3d1e00c3db754805d7d05880a42 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 27 Nov 2023 13:58:12 +0300 Subject: [PATCH 198/344] Fixed parsing of venv info --- .../kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index a0e38d0822..2470f999ce 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -18,9 +18,9 @@ fun main(args: Array) { prefixNumberOfArgs += 2 require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } val venvConfig = VenvConfig( - basePath = File(args[8]), - libPath = File(args[9]), - binPath = File(args[10]) + basePath = File(args[7]), + libPath = File(args[8]), + binPath = File(args[9]) ) ConcretePythonInterpreter.setVenv(venvConfig) System.err.println("VenvConfig: $venvConfig") @@ -41,4 +41,4 @@ fun main(args: Array) { it.analyzeMethod(moduleName, functionName, clsName, timeoutPerRunMs, timeoutMs) } } -} \ No newline at end of file +} From 3759d0d25e0cb3804df305731ac010ebee8cb001 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 27 Nov 2023 14:12:25 +0300 Subject: [PATCH 199/344] Removed warning about loggin --- usvm-python/build.gradle.kts | 2 +- usvm-python/src/main/resources/logback.xml | 12 ++++++++++++ .../src/test/kotlin/org/usvm/runner/manualTest.kt | 8 ++++---- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 usvm-python/src/main/resources/logback.xml diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index a78ea19367..de9b3c1f01 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { implementation(project(":usvm-python:usvm-python-main")) implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") - testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") + implementation("ch.qos.logback:logback-classic:${Versions.logback}") } tasks.jar { diff --git a/usvm-python/src/main/resources/logback.xml b/usvm-python/src/main/resources/logback.xml new file mode 100644 index 0000000000..0eca66e26f --- /dev/null +++ b/usvm-python/src/main/resources/logback.xml @@ -0,0 +1,12 @@ + + + + + %d{HH:mm:ss.SSS} |%.-1level| %replace(%c{0}){'(\$Companion)?\$logger\$1',''} - %msg%n + + + + + + + \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index aef6c6372e..18aa5e26a5 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -25,14 +25,14 @@ fun main() { 30_000, 3_000 ) - /*val debugRunner = DebugRunner(config) + val debugRunner = DebugRunner(config) debugRunner.use { it.runProcessAndPrintInfo(runConfig) - }*/ - val receiver = PrintingResultReceiver() + } + /*val receiver = PrintingResultReceiver() val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } - } + }*/ println("Time: ${System.currentTimeMillis() - start}") } \ No newline at end of file From 3637a2a664bc15744f99d8d41becca9b23b3a614 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 28 Nov 2023 16:21:20 +0300 Subject: [PATCH 200/344] Changed logic of standard tp_getattro --- .../cpythonadapter/src/main/c/include/utils.h | 1 + usvm-python/src/test/kotlin/manualTest.kt | 11 +++++---- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 10 ++------ .../usvm/machine/PythonVirtualPathSelector.kt | 4 +--- .../interpreters/operations/basic/Common.kt | 24 +++++++++++++------ .../interpreters/operations/basic/Control.kt | 4 ++-- .../interpreters/operations/basic/Tuple.kt | 7 +++++- .../interpreters/operations/basic/Virtual.kt | 6 ----- .../kotlin/org/usvm/machine/model/PyModel.kt | 10 +++----- .../usvm/machine/model/PythonMockEvaluator.kt | 4 +--- .../model/regions/WrappedRefSetRegion.kt | 18 -------------- 12 files changed, 40 insertions(+), 61 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/include/utils.h b/usvm-python/cpythonadapter/src/main/c/include/utils.h index 6c230de33e..622fde9918 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/utils.h +++ b/usvm-python/cpythonadapter/src/main/c/include/utils.h @@ -51,6 +51,7 @@ long extract_long_value(PyObject *int_object); #define CHECK_FOR_EXCEPTION(ctx, fail_value) \ jthrowable cur_exception = (*ctx->env)->ExceptionOccurred(ctx->env); \ if (cur_exception && !PyErr_Occurred()) { \ + /*(*ctx->env)->ExceptionDescribe(ctx->env);*/ \ (*ctx->env)->ExceptionClear(ctx->env); \ PyObject *exception_instance = ((PyTypeObject *)ctx->java_exception)->tp_new((PyTypeObject *)ctx->java_exception, 0, 0); \ PyObject_SetAttrString(exception_instance, "java_exception", wrap_java_object(ctx->env, cur_exception)); \ diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 41bf3dacbd..4f07b3e17b 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -59,7 +59,8 @@ private fun buildSampleRunConfig(): RunConfig { private val ignoreFunctions = listOf( // "SegmentTree.build", - "get_transitions" + "get_transitions", + "BidirectionalAStar.retrace_bidirectional_path" ) private val ignoreModules = listOf( "odd_even_transposition_parallel" @@ -79,8 +80,8 @@ private fun getFunctionInfo( return null //if (module != "bidirectional_a_star") // return null - //if (name != "BidirectionalBreadthFirstSearch.search") - // return null + if (name != "Graph.boruvka") + return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 4a60b948d1..5e2c3ccda9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -147,7 +147,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 250U) + options = UMachineOptions(stepLimit = 300U) timeoutPerRunMs = 2000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 39bc65aebd..1151d7cbf8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -8,19 +8,15 @@ import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.USVMPythonInterpreter -import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.toPyModel import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.memory.UMemory -import org.usvm.ps.BfsPathSelector import org.usvm.ps.DfsPathSelector -import org.usvm.ps.createForkDepthPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver -import kotlin.random.Random class PythonMachine( private val program: PythonProgram, @@ -76,7 +72,7 @@ class PythonMachine( symbols, pathConstraints, memory, - solverRes.model.toPyModel(ctx, typeSystem, pathConstraints, preAllocatedObjects), + solverRes.model.toPyModel(ctx, pathConstraints), typeSystem, preAllocatedObjects ).also { @@ -94,11 +90,9 @@ class PythonMachine( val initialState = getInitialState(target) val ps = PythonVirtualPathSelector( ctx, - typeSystem, pathSelectorCreation(), - pathSelectorForStatesWithDelayedForks = BfsPathSelector(), + pathSelectorForStatesWithDelayedForks = DfsPathSelector(), pathSelectorCreation(), - initialState.preAllocatedObjects ) ps.add(listOf(initialState)) return ps diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index 6a8cc059e5..b255db676e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -16,11 +16,9 @@ import kotlin.random.Random class PythonVirtualPathSelector( private val ctx: UPythonContext, - private val typeSystem: PythonTypeSystem, private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, - private val preallocatedObjects: PreallocatedObjects ) : UPathSelector { private val unservedDelayedForks = mutableSetOf() private val servedDelayedForks = mutableSetOf() @@ -61,7 +59,7 @@ class PythonVirtualPathSelector( if (forkResult.negativeState == null) return null val stateWithConcreteType = forkResult.negativeState!! - stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, typeSystem, stateWithConcreteType.pathConstraints, preallocatedObjects)) + stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, stateWithConcreteType.pathConstraints)) if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 7a751a619b..3823e71792 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.operations.basic import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength @@ -8,14 +9,12 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython -import org.usvm.language.types.ArrayLikeConcretePythonType -import org.usvm.language.types.ArrayType -import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.* import org.usvm.machine.interpreters.PythonObject -import org.usvm.language.types.ConcreteTypeNegation import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.MethodDescription +import org.utbot.python.newtyping.getPythonAttributeByName fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null @@ -146,20 +145,31 @@ fun handlerStandardTpGetattroKt( return null val containsFieldCond = obj.containsField(ctx, name) // println("Attr result: ${ctx.modelHolder.model.eval(containsFieldCond).isTrue}") + val result = obj.getFieldValue(ctx, name) - val softConstraint = ctx.ctx.mkHeapRefEq(obj.getFieldValue(ctx, name).address, ctx.ctx.nullRef) + val typeSystem = ctx.typeSystem + val additionalCond: UBoolExpr = (typeSystem as? PythonTypeSystemWithMypyInfo)?.let { + val utType = it.typeHintOfConcreteType(type) ?: return@let null + val attrDef = utType.getPythonAttributeByName(it.typeHintsStorage, concreteStr) ?: return@let null + val attrType = attrDef.type + val concreteAttrType = getTypeFromTypeHint(attrType, it) + result.evalIs(ctx, concreteAttrType) + } ?: ctx.ctx.trueExpr + + val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) val ps = ctx.curState!!.pathConstraints ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { if (defaultValue != null) return SymbolForCPython(defaultValue, 0) - myFork(ctx, containsFieldCond) + myFork(ctx, ctx.ctx.mkAnd(containsFieldCond, additionalCond)) return null } else { myAssert(ctx, containsFieldCond) + myAssert(ctx, additionalCond) } - return SymbolForCPython(obj.getFieldValue(ctx, name), 0) + return SymbolForCPython(result, 0) } fun handlerStandardTpSetattroKt( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt index c6072c9531..9e36a138f1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt @@ -27,7 +27,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { error("Should not be reachable") } val applyToPyModel = { state: PythonExecutionState -> - state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, ctx.typeSystem, state.pathConstraints, state.preAllocatedObjects)) + state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, state.pathConstraints)) } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) @@ -43,7 +43,7 @@ fun myAssertOnState(state: PythonExecutionState, cond: UExpr): Python val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) - forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.typeSystem, state.pathConstraints, state.preAllocatedObjects)) + forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.pathConstraints)) } return forkResult diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt index e46dcffaa4..c2061be926 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt @@ -44,7 +44,12 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth return } val tupleSize = iterable.readArrayLength(ctx) - myFork(ctx, tupleSize eq mkIntNum(count)) + val sizeCond = tupleSize eq mkIntNum(count) + if (ctx.modelHolder.model.eval(sizeCond).isTrue) { + myAssert(ctx, sizeCond) + } else { + myFork(ctx, sizeCond) + } } fun handlerTupleGetSizeKt(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt index 0899d70640..cfdaf526a8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt @@ -25,9 +25,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) - ctx.curState!!.preAllocatedObjects, trueObject as UConcreteHeapRef, useOldPossibleRefs = true ), @@ -35,9 +33,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) - ctx.curState!!.preAllocatedObjects, falseObject as UConcreteHeapRef, useOldPossibleRefs = true ) @@ -85,9 +81,7 @@ private fun internalVirtualCallKt( ctx.ctx, ctx.modelHolder.model, mockSymbol, - ctx.typeSystem, ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) - ctx.curState!!.preAllocatedObjects, useOldPossibleRefs = true ) else diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index a8c3103869..2de3cf633a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -26,9 +26,7 @@ import org.usvm.model.UModelBase class PyModel( private val ctx: UPythonContext, private val underlyingModel: UModelBase, - private val typeSystem: PythonTypeSystem, ps: UPathConstraints, - private val preallocatedObjects: PreallocatedObjects, suggestedPsInfo: PathConstraintsInfo? = null ) : UModelBase( ctx, @@ -61,12 +59,12 @@ class PyModel( } if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys, typeSystem, preallocatedObjects, underlyingModel.types, true) + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys, typeSystem, preallocatedObjects, underlyingModel.types, false) + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion } if (regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType) { @@ -93,12 +91,10 @@ class PyModel( fun UModelBase.toPyModel( ctx: UPythonContext, - typeSystem: PythonTypeSystem, ps: UPathConstraints, - preallocatedObjects: PreallocatedObjects, suggestedPsInfo: PathConstraintsInfo? = null ): PyModel { if (this is PyModel) return this - return PyModel(ctx, this, typeSystem, ps, preallocatedObjects, suggestedPsInfo) + return PyModel(ctx, this, ps, suggestedPsInfo) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 74968b2c5a..3309b1bc50 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -32,9 +32,7 @@ fun constructModelWithNewMockEvaluator( ctx: UPythonContext, oldModel: PyModelWrapper, mockSymbol: UMockSymbol, - typeSystem: PythonTypeSystem, ps: UPathConstraints, - preallocatedObjects: PreallocatedObjects, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, useOldPossibleRefs: Boolean = false ): Pair { @@ -52,7 +50,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.uModel.regions, oldModel.uModel.nullRef - ).toPyModel(ctx, typeSystem, ps, preallocatedObjects, suggestedPsInfo) + ).toPyModel(ctx, ps, suggestedPsInfo) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return PyModelWrapper(newModel) to constraint } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt index 05f1af8ae2..5c5801b67f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt @@ -18,27 +18,9 @@ class WrappedRefSetRegion( private val ctx: UPythonContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, private val keys: Set, - private val typeSystem: PythonTypeSystem, - private val preallocatedObjects: PreallocatedObjects, - private val types: UTypeModel, - private val isRegionForObjectDict: Boolean ): UReadOnlyMemoryRegion, UBoolSort> { override fun read(key: URefSetEntryLValue): UExpr { if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) { - if (isRegionForObjectDict && typeSystem is PythonTypeSystemWithMypyInfo) { - val ref = key.setRef as? UConcreteHeapRef - ?: return ctx.falseExpr - val type = types.typeStream(ref).first() as? ConcretePythonType - ?: return ctx.falseExpr - val members = getMembersFromType(type, typeSystem) - val str = preallocatedObjects.concreteString(UninterpretedSymbolicPythonObject(key.setElement, typeSystem)) - ?: return ctx.falseExpr - return if (str in members) { - ctx.trueExpr - } else { - ctx.falseExpr - } - } return ctx.falseExpr } return region.read(key) From b8167e53ee6fc6dfbfda694f16a8805f5e4bacd5 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 28 Nov 2023 17:11:08 +0300 Subject: [PATCH 201/344] Added support for generators --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 10 +++++----- .../kotlin/org/usvm/samples/GeneratorsTest.kt | 15 +++++++++++++++ .../main/kotlin/org/usvm/machine/PythonMachine.kt | 12 ++++++++++-- .../kotlin/org/usvm/machine/utils/Generators.kt | 9 ++++++--- 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index a0a404d2e2..fcca722800 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit a0a404d2e2a8a3098bbb9537f4528163f05f50ad +Subproject commit fcca72280028332e76692b4b7a9ac46f4d01ab74 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 4f07b3e17b..dd43836968 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "f", - "tricky.CompositeObjects" + listOf(typeSystem.pythonInt), + "simple_generator", + "Generators" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -80,7 +80,7 @@ private fun getFunctionInfo( return null //if (module != "bidirectional_a_star") // return null - if (name != "Graph.boruvka") + if (name != "SegmentTree.traverse") return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -113,7 +113,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\graphs" + val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt index 5bb734517a..8c8c5e7f4c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/GeneratorsTest.kt @@ -3,6 +3,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class GeneratorsTest : PythonTestRunnerForPrimitiveProgram("Generators") { @Test @@ -19,4 +20,18 @@ class GeneratorsTest : PythonTestRunnerForPrimitiveProgram("Generators") { ) ) } + + @Test + fun testSimpleGenerator() { + check1( + constructFunction("simple_generator", listOf(typeSystem.pythonInt)), + ignoreNumberOfAnalysisResults, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "['one']" }, + { _, res -> res.repr == "['two']" }, + { _, res -> res.repr == "['other']" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index 1151d7cbf8..f2b225820d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -13,6 +13,8 @@ import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PythonMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction +import org.usvm.machine.utils.isGenerator +import org.usvm.machine.utils.unfoldGenerator import org.usvm.memory.UMemory import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult @@ -106,13 +108,19 @@ class PythonMachine( maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, timeoutPerRunMs: Long? = null, - // unfoldGenerator: Boolean = true + unfoldGenerator: Boolean = true ): Int { if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) } - return program.withPinnedCallable(pythonCallable, typeSystem) { pinnedCallable -> + return program.withPinnedCallable(pythonCallable, typeSystem) { rawPinnedCallable -> typeSystem.restart() + val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.asPythonObject)) { + rawPinnedCallable + } else { + val substituted = unfoldGenerator(rawPinnedCallable.asPythonObject) + PythonPinnedCallable(substituted) + } val observer = PythonMachineObserver() val iterationCounter = IterationCounter() val startTime = System.currentTimeMillis() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt index 87990daa77..084fb31e55 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt @@ -3,11 +3,14 @@ package org.usvm.machine.utils import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -/* fun isGenerator(funcRef: PythonObject): Boolean { - TODO() + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, funcRef, "x") + ConcretePythonInterpreter.concreteRun(namespace, "import inspect") + val res = ConcretePythonInterpreter.eval(namespace, "inspect.isgeneratorfunction(x)", printErrorMsg = true) + ConcretePythonInterpreter.decref(namespace) + return ConcretePythonInterpreter.getPythonObjectRepr(res) == "True" } -*/ fun unfoldGenerator(funcRef: PythonObject): PythonObject { val namespace = ConcretePythonInterpreter.getNewNamespace() From 0253a7802380f934d8defe4826801a1b1ff157ba Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 28 Nov 2023 18:42:04 +0300 Subject: [PATCH 202/344] Working on sending inputs from new states --- .../samples/tricky/CompositeObjectsTest.kt | 2 +- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../org/usvm/machine/PythonExecutionState.kt | 2 +- .../kotlin/org/usvm/machine/PythonMachine.kt | 32 ++++++++--- .../usvm/machine/PythonVirtualPathSelector.kt | 12 ++++- .../interpreters/USVMPythonInterpreter.kt | 7 +-- .../ConverterToPythonObject.kt | 53 ++++++++----------- .../usvm/machine/rendering/StateSeedSender.kt | 50 +++++++++++++++++ .../usvm/machine/saving/PickledObjectSaver.kt | 2 +- .../saving/PythonAnalysisResultSaver.kt | 3 +- .../saving/PythonRepresentationSaver.kt | 2 +- .../org/usvm/machine/saving/SaverAPI.kt | 11 +++- .../usvm/machine/utils/GlobalParameters.kt | 2 +- .../usvm/runner/NewStateObserverForRunner.kt | 22 ++++++++ .../usvm/runner/PythonMachineSocketRunner.kt | 10 ++-- 15 files changed, 155 insertions(+), 57 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{symbolicobjects => rendering}/ConverterToPythonObject.kt (88%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt index 9dd895633e..36c82dfb10 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt @@ -9,7 +9,7 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( "tricky.CompositeObjects", allowPathDiversions = false, - options = UMachineOptions(stepLimit = 100U) + options = UMachineOptions(stepLimit = 150U) ) { @Test fun testF() { diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 7a56284ec2..bb32ef149e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -9,7 +9,7 @@ import org.usvm.machine.PythonExecutionState; import org.usvm.machine.UPythonContext; import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; -import org.usvm.machine.symbolicobjects.ConverterToPythonObject; +import org.usvm.machine.rendering.ConverterToPythonObject; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; import java.util.*; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index 40692b15b0..c422d73dc5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -5,7 +5,7 @@ import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent -import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index f2b225820d..a1c5523ce2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -83,7 +83,8 @@ class PythonMachine( } private fun getPathSelector( - target: PythonUnpinnedCallable + target: PythonUnpinnedCallable, + newStateObserver: NewStateObserver ): UPathSelector { val pathSelectorCreation = { DfsPathSelector() @@ -95,6 +96,7 @@ class PythonMachine( pathSelectorCreation(), pathSelectorForStatesWithDelayedForks = DfsPathSelector(), pathSelectorCreation(), + newStateObserver ) ps.add(listOf(initialState)) return ps @@ -108,7 +110,8 @@ class PythonMachine( maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, timeoutPerRunMs: Long? = null, - unfoldGenerator: Boolean = true + unfoldGenerator: Boolean = true, + newStateObserver: NewStateObserver = DummyNewStateObserver ): Int { if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) @@ -121,7 +124,7 @@ class PythonMachine( val substituted = unfoldGenerator(rawPinnedCallable.asPythonObject) PythonPinnedCallable(substituted) } - val observer = PythonMachineObserver() + val observer = PythonMachineObserver(newStateObserver) val iterationCounter = IterationCounter() val startTime = System.currentTimeMillis() val stopTime = timeoutMs?.let { startTime + it } @@ -136,14 +139,14 @@ class PythonMachine( (timeoutPerRunMs?.let { (System.currentTimeMillis() - startIterationTime) >= it } ?: false) || (stopTime != null && System.currentTimeMillis() >= stopTime) } - val pathSelector = getPathSelector(pythonCallable) + val pathSelector = getPathSelector(pythonCallable, newStateObserver) run( interpreter, pathSelector, observer = observer, isStateTerminated = { !it.isInterestingForPathSelector() }, stopStrategy = { - observer.stateCounter >= 1000 || iterationCounter.iterations >= maxIterations || + iterationCounter.iterations >= maxIterations || (stopTime != null && System.currentTimeMillis() >= stopTime) } ) @@ -160,13 +163,26 @@ class PythonMachine( } private class PythonMachineObserver( - var stateCounter: Int = 0 + val newStateObserver: NewStateObserver ): UMachineObserver { override fun onState(parent: PythonExecutionState, forks: Sequence) { super.onState(parent, forks) - stateCounter += 1 + if (!parent.isTerminated()) + newStateObserver.onNewState(parent) + forks.forEach { + if (!it.isTerminated()) + newStateObserver.onNewState(it) + } } } } -data class IterationCounter(var iterations: Int = 0) \ No newline at end of file +data class IterationCounter(var iterations: Int = 0) + +abstract class NewStateObserver { + abstract fun onNewState(state: PythonExecutionState) +} + +object DummyNewStateObserver: NewStateObserver() { + override fun onNewState(state: PythonExecutionState) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt index b255db676e..e907b0d9e0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt @@ -19,6 +19,7 @@ class PythonVirtualPathSelector( private val basePathSelector: UPathSelector, private val pathSelectorForStatesWithDelayedForks: UPathSelector, private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, + private val newStateObserver: NewStateObserver ) : UPathSelector { private val unservedDelayedForks = mutableSetOf() private val servedDelayedForks = mutableSetOf() @@ -109,6 +110,7 @@ class PythonVirtualPathSelector( } val stateWithConcreteType = generateStateWithConcretizedTypeWithoutDelayedForks() if (stateWithConcreteType != null) { + newStateObserver.onNewState(stateWithConcreteType) pathSelectorForStatesWithConcretizedTypes.add(listOf(stateWithConcreteType)) return nullablePeek() } @@ -125,7 +127,10 @@ class PythonVirtualPathSelector( } else if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.9 || pathSelectorForStatesWithDelayedForks.isEmpty() && servedDelayedForks.isEmpty())) { logger.debug("Trying to make delayed fork") val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) - newState?.let { add(listOf(it)) } + newState?.let { + add(listOf(it)) + newStateObserver.onNewState(it) + } return nullablePeek() } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < 0.7 || servedDelayedForks.isEmpty())) { @@ -136,7 +141,10 @@ class PythonVirtualPathSelector( } else if (servedDelayedForks.isNotEmpty()) { val newState = generateStateWithConcretizedTypeFromDelayedFork(servedDelayedForks) - newState?.let { add(listOf(it)) } + newState?.let { + add(listOf(it)) + newStateObserver.onNewState(it) + } return nullablePeek() } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt index 1ebeb6f56c..c42751b3c2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt @@ -16,6 +16,8 @@ import org.usvm.machine.* import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModel +import org.usvm.machine.rendering.ConverterToPythonObject +import org.usvm.machine.rendering.LengthOverflowException import org.usvm.machine.saving.* import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction @@ -40,12 +42,11 @@ class USVMPythonInterpreter( symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } private fun getConcrete( - concolicRunContext: ConcolicRunContext, converter: ConverterToPythonObject, seeds: List, symbols: List ): List = - (seeds zip symbols).map { (seed, _) -> converter.convert(seed, concolicRunContext) } + (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } private fun getInputs( converter: ConverterToPythonObject, @@ -95,7 +96,7 @@ class USVMPythonInterpreter( val converter = concolicRunContext.converter state.meta.lastConverter = null val concrete = try { - getConcrete(concolicRunContext, converter, seeds, symbols) + getConcrete(converter, seeds, symbols) } catch (_: LengthOverflowException) { logger.warn("Step result: length overflow") state.meta.modelDied = true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index 27f96693df..cf9624248e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.symbolicobjects +package org.usvm.machine.rendering import io.ksmt.expr.KInt32NumExpr import org.usvm.* @@ -14,6 +14,7 @@ import org.usvm.machine.interpreters.PythonObject import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.model.PyModel +import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder @@ -25,7 +26,7 @@ class ConverterToPythonObject( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder, - private val preallocatedObjects: PreallocatedObjects, + val preallocatedObjects: PreallocatedObjects, private val memory: UMemory ) { private val defaultValueProvider = DefaultValueProvider(typeSystem) @@ -51,7 +52,7 @@ class ConverterToPythonObject( fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() fun numberOfVirtualObjectUsages(): Int = numberOfUsagesOfVirtualObjects - fun convert(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext? = null): PythonObject { + fun convert(obj: InterpretedSymbolicPythonObject): PythonObject { if (obj is InterpretedInputSymbolicPythonObject) require(obj.modelHolder == modelHolder) require(!isAllocatedConcreteHeapRef(obj.address)) { @@ -67,15 +68,15 @@ class ConverterToPythonObject( typeSystem.pythonInt -> convertInt(obj) typeSystem.pythonBool -> convertBool(obj) typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - typeSystem.pythonList -> convertList(obj, concolicCtx) - typeSystem.pythonTuple -> convertTuple(obj, concolicCtx) + typeSystem.pythonList -> convertList(obj) + typeSystem.pythonTuple -> convertTuple(obj) typeSystem.pythonStr -> convertString(obj) typeSystem.pythonSlice -> convertSlice(obj) typeSystem.pythonFloat -> convertFloat(obj) - typeSystem.pythonDict -> convertDict(obj, concolicCtx) + typeSystem.pythonDict -> convertDict(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) - constructFromDefaultConstructor(obj, type, concolicCtx) + constructFromDefaultConstructor(obj, type) else error("Could not construct instance of type $type") } @@ -93,14 +94,13 @@ class ConverterToPythonObject( private fun addEntryToDict( namespace: PythonNamespace, value: InterpretedSymbolicPythonObject, - concolicCtx: ConcolicRunContext? ) { - val convertedValue = convert(value, concolicCtx) + val convertedValue = convert(value) ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedValue, "value") ConcretePythonInterpreter.concreteRun(namespace, "x[key] = value", printErrorMsg = false) } - private fun convertDict(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { + private fun convertDict(obj: InterpretedSymbolicPythonObject): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Input dict cannot be static" } @@ -119,17 +119,17 @@ class ConverterToPythonObject( InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) } if (obj.dictContainsRef(key)) { - val convertedKey = convert(key, concolicCtx) + val convertedKey = convert(key) ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") val value = obj.readDictRefElement(ctx, key, memory) - addEntryToDict(namespace, value, concolicCtx) + addEntryToDict(namespace, value) } } model.possibleIntKeys.forEach { if (obj.dictContainsInt(ctx, it)) { ConcretePythonInterpreter.concreteRun(namespace, "key = $it") val value = obj.readDictIntElement(ctx, it, memory) - addEntryToDict(namespace, value, concolicCtx) + addEntryToDict(namespace, value) } } return result.also { @@ -160,8 +160,7 @@ class ConverterToPythonObject( } private fun constructArrayContents( - obj: InterpretedInputSymbolicPythonObject, - concolicCtx: ConcolicRunContext? + obj: InterpretedInputSymbolicPythonObject ): List { val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException if (size.value > MAX_INPUT_ARRAY_LENGTH) @@ -184,14 +183,13 @@ class ConverterToPythonObject( } else { InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) } - convert(elemInterpretedObject, concolicCtx) + convert(elemInterpretedObject) } } private fun constructFromDefaultConstructor( obj: InterpretedSymbolicPythonObject, - type: ConcretePythonType, - concolicCtx: ConcolicRunContext? + type: ConcretePythonType ): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Instance of type with default constructor cannot be static" @@ -199,15 +197,6 @@ class ConverterToPythonObject( require(type.owner == typeSystem) val result = ConcretePythonInterpreter.callStandardNew(type.asObject) constructedObjects[obj.address] = result - if (concolicCtx != null) { - val members = getMembersFromType(type, typeSystem) - members.forEach { - if (it.contains('\'')) - return@forEach - val ref = ConcretePythonInterpreter.eval(emptyNamespace, "'$it'") - preallocatedObjects.allocateStr(concolicCtx, it, ref) - } - } if (ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { preallocatedObjects.listAllocatedStrs().forEach { val nameAddress = modelHolder.model.eval(it.address) @@ -217,7 +206,7 @@ class ConverterToPythonObject( val str = preallocatedObjects.concreteString(it)!! if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { val symbolicValue = obj.getFieldValue(ctx, nameSymbol, memory) - val value = convert(symbolicValue, concolicCtx) + val value = convert(symbolicValue) val strRef = preallocatedObjects.refOfString(str)!! val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") @@ -273,13 +262,13 @@ class ConverterToPythonObject( else -> error("Not reachable") } - private fun convertList(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { + private fun convertList(obj: InterpretedSymbolicPythonObject): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "List object cannot be static" } val resultList = ConcretePythonInterpreter.makeList(emptyList()) constructedObjects[obj.address] = resultList - val listOfPythonObjects = constructArrayContents(obj, concolicCtx) + val listOfPythonObjects = constructArrayContents(obj) val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, resultList, "x") listOfPythonObjects.forEach { @@ -290,14 +279,14 @@ class ConverterToPythonObject( return resultList } - private fun convertTuple(obj: InterpretedSymbolicPythonObject, concolicCtx: ConcolicRunContext?): PythonObject { + private fun convertTuple(obj: InterpretedSymbolicPythonObject): PythonObject { require(obj is InterpretedInputSymbolicPythonObject) { "Tuple object cannot be static" } val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) constructedObjects[obj.address] = resultTuple - val listOfPythonObjects = constructArrayContents(obj, concolicCtx) + val listOfPythonObjects = constructArrayContents(obj) listOfPythonObjects.forEachIndexed { index, pythonObject -> ConcretePythonInterpreter.setTupleElement(resultTuple, index, pythonObject) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt new file mode 100644 index 0000000000..3c880dbfca --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt @@ -0,0 +1,50 @@ +package org.usvm.machine.rendering + +import org.usvm.UConcreteHeapRef +import org.usvm.api.typeStreamOf +import org.usvm.isStaticHeapRef +import org.usvm.language.types.ConcretePythonType +import org.usvm.machine.PythonExecutionState +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.saving.GeneratedPythonObject +import org.usvm.machine.saving.PythonAnalysisResultSaver +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.utils.PyModelHolder +import org.usvm.types.first + +class StateSeedSender( + private val saver: PythonAnalysisResultSaver +) { + fun getData(state: PythonExecutionState): InputRepr? { + val converter = if (state.meta.lastConverter != null) { + state.meta.lastConverter!! + } else { + val modelHolder = PyModelHolder(state.pyModel) + ConverterToPythonObject(state.ctx, state.typeSystem, modelHolder, state.preAllocatedObjects, state.memory) + } + converter.restart() + val inputs = state.inputSymbols.map { + val interpretedRaw = state.pyModel.eval(it.address) as UConcreteHeapRef + val interpreted = if (isStaticHeapRef(interpretedRaw)) { + val type = state.memory.typeStreamOf(interpretedRaw).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(interpretedRaw, type, state.typeSystem) + } else { + InterpretedInputSymbolicPythonObject(interpretedRaw, converter.modelHolder, state.typeSystem) + } + val type = interpreted.getConcreteType() ?: return null + val concrete = converter.convert(interpreted) + GeneratedPythonObject(concrete, type, interpreted) + } + val serialized = saver.serializeInput(inputs, converter) + inputs.forEach { + ConcretePythonInterpreter.decref(it.ref) + } + return serialized + } + + suspend fun sendStateSeeds(data: InputRepr) { + saver.saveNextInputs(data) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt index ba98eba382..aa51caf0e3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt @@ -2,7 +2,7 @@ package org.usvm.machine.saving import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.rendering.ConverterToPythonObject class PickledObjectSaver( private val sender: PickledObjectSender diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt index 9a35d81e8d..d0a85e2a89 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt @@ -2,8 +2,7 @@ package org.usvm.machine.saving import org.usvm.language.types.PythonType import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject abstract class PythonAnalysisResultSaver { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt index 47b30dee4b..0323313f55 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt @@ -2,7 +2,7 @@ package org.usvm.machine.saving import org.usvm.language.types.PythonType import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.symbolicobjects.ConverterToPythonObject +import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject class PythonRepresentationSaver( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt index 5d364ee861..5d3349f12f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt @@ -1,5 +1,8 @@ package org.usvm.machine.saving +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.rendering.ConverterToPythonObject + fun createStandardSaver(): PythonRepresentationSaver = PythonRepresentationSaver(StandardPythonObjectSerializer) @@ -10,4 +13,10 @@ fun createDictSaver(): PythonRepresentationSaver = PythonRepresentationSaver(ObjectWithDictSerializer) fun createPickleSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(PickleObjectSerializer) \ No newline at end of file + PythonRepresentationSaver(PickleObjectSerializer) + +object DummySaver: PythonAnalysisResultSaver() { + override suspend fun saveNextInputs(input: Unit) = run {} + override fun saveExecutionResult(result: ExecutionResult) = run {} + override fun serializeInput(inputs: List, converter: ConverterToPythonObject) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt index a73d0d8792..cc794db230 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt @@ -1,4 +1,4 @@ package org.usvm.machine.utils const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 -const val MAX_INPUT_ARRAY_LENGTH = 100_000 \ No newline at end of file +const val MAX_INPUT_ARRAY_LENGTH = 1_000 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt new file mode 100644 index 0000000000..0cdd48bc2c --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -0,0 +1,22 @@ +package org.usvm.runner + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch +import org.usvm.machine.NewStateObserver +import org.usvm.machine.PythonExecutionState +import org.usvm.machine.rendering.StateSeedSender +import org.usvm.machine.saving.PickledObjectSaver + +class NewStateObserverForRunner( + communicator: PickledObjectCommunicator, + private val scope: CoroutineScope +): NewStateObserver() { + private val saver = PickledObjectSaver(communicator) + private val seedSender = StateSeedSender(saver) + override fun onNewState(state: PythonExecutionState) { + val data = seedSender.getData(state) ?: return + scope.launch { + seedSender.sendStateSeeds(data) + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index 880730e208..fdc03158fa 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -1,10 +1,12 @@ package org.usvm.runner +import kotlinx.coroutines.runBlocking import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.language.types.getTypeFromTypeHint import org.usvm.machine.PythonMachine +import org.usvm.machine.saving.DummySaver import org.usvm.machine.saving.PickledObjectSaver import org.utbot.python.newtyping.PythonCallableTypeDescription import org.utbot.python.newtyping.PythonCompositeTypeDescription @@ -44,13 +46,15 @@ class PythonMachineSocketRunner( callable: PythonUnpinnedCallable, timeoutPerRunMs: Long, timeoutMs: Long - ) { + ) = runBlocking { + val newStateObserver = NewStateObserverForRunner(communicator, this) machine.analyze( callable, - PickledObjectSaver(communicator), + DummySaver, timeoutMs = timeoutMs, timeoutPerRunMs = timeoutPerRunMs, - maxIterations = 1000 + maxIterations = 1000, + newStateObserver = newStateObserver ) } From daf9e37d21ddecc84a83411f392d8853446a5fee Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 28 Nov 2023 19:44:02 +0300 Subject: [PATCH 203/344] Added substitution of virtual objects to None --- .../samples/tricky/CompositeObjectsTest.kt | 2 +- .../samples/tricky/CompositeObjects.py | 14 ++++++++++++- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../rendering/ConverterToPythonObject.kt | 8 ++++++-- .../usvm/machine/rendering/StateSeedSender.kt | 14 ++++++++++--- .../org/usvm/runner/PrintingResultReceiver.kt | 2 ++ .../test/kotlin/org/usvm/runner/manualTest.kt | 20 +++++++++---------- 7 files changed, 44 insertions(+), 18 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt index 36c82dfb10..e3114ebd8a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt @@ -9,7 +9,7 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( "tricky.CompositeObjects", allowPathDiversions = false, - options = UMachineOptions(stepLimit = 150U) + options = UMachineOptions(stepLimit = 250U) ) { @Test fun testF() { diff --git a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py index 6fc222c8e0..4368e6ff3b 100644 --- a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py +++ b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py @@ -18,4 +18,16 @@ def f(x): if a + b == 155: return 1 return 2 - return 3 \ No newline at end of file + return 3 + + + +def g(x): + while x.left.data_list or x.right.data_list: + # print("left data_list:", x.left.data_list, flush=True) + # print("right data_list:", x.right.data_list, flush=True) + a = x.left.data_list.pop(0) + b = x.right.data_list.pop(0) + if a.pos + b.pos == 155: + return 1 + return 2 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index bb32ef149e..765b646d84 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -53,7 +53,7 @@ public ConcolicRunContext( if (curState.getMeta().getLastConverter() != null) { this.converter = curState.getMeta().getLastConverter(); } else { - this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects(), curState.getMemory().clone(curState.getPathConstraints().getTypeConstraints())); + this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects(), curState.getMemory().clone(curState.getPathConstraints().getTypeConstraints()), false); } this.maxInstructions = maxInstructions; this.isCancelled = isCancelled; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index cf9624248e..ab00ddf302 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -26,8 +26,9 @@ class ConverterToPythonObject( private val ctx: UPythonContext, private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder, - val preallocatedObjects: PreallocatedObjects, - private val memory: UMemory + private val preallocatedObjects: PreallocatedObjects, + private val memory: UMemory, + private val useNoneInsteadOfVirtual: Boolean = false ) { private val defaultValueProvider = DefaultValueProvider(typeSystem) val forcedConcreteTypes = mutableMapOf() @@ -238,6 +239,9 @@ class ConverterToPythonObject( } private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject): PythonObject { + if (useNoneInsteadOfVirtual) { + return ConcretePythonInterpreter.eval(emptyNamespace, "None") + } require(obj is InterpretedInputSymbolicPythonObject) { "Virtual object cannot be static" } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt index 3c880dbfca..539374ba48 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt @@ -16,12 +16,19 @@ import org.usvm.types.first class StateSeedSender( private val saver: PythonAnalysisResultSaver ) { - fun getData(state: PythonExecutionState): InputRepr? { + fun getData(state: PythonExecutionState): InputRepr { val converter = if (state.meta.lastConverter != null) { state.meta.lastConverter!! } else { val modelHolder = PyModelHolder(state.pyModel) - ConverterToPythonObject(state.ctx, state.typeSystem, modelHolder, state.preAllocatedObjects, state.memory) + ConverterToPythonObject( + state.ctx, + state.typeSystem, + modelHolder, + state.preAllocatedObjects, + state.memory, + useNoneInsteadOfVirtual = true + ) } converter.restart() val inputs = state.inputSymbols.map { @@ -33,7 +40,7 @@ class StateSeedSender( } else { InterpretedInputSymbolicPythonObject(interpretedRaw, converter.modelHolder, state.typeSystem) } - val type = interpreted.getConcreteType() ?: return null + val type = interpreted.getConcreteType() ?: state.typeSystem.pythonNoneType val concrete = converter.convert(interpreted) GeneratedPythonObject(concrete, type, interpreted) } @@ -45,6 +52,7 @@ class StateSeedSender( } suspend fun sendStateSeeds(data: InputRepr) { + // println("Sending!") saver.saveNextInputs(data) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt index 4f2909b41c..890f5bba76 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt @@ -1,7 +1,9 @@ package org.usvm.runner class PrintingResultReceiver: USVMPythonAnalysisResultReceiver() { + var cnt: Int = 0 override fun receivePickledInputValues(pickledTuple: String) { println(pickledTuple) + cnt += 1 } } \ No newline at end of file diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 18aa5e26a5..5f03a2b018 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -17,22 +17,22 @@ fun main() { venvConfig ) val runConfig = USVMPythonRunConfig( - USVMPythonMethodConfig( - "Methods", - "get_info", - "Point" + USVMPythonFunctionConfig( + "tricky.CompositeObjects", + "g" ), - 30_000, + 20_000, 3_000 ) - val debugRunner = DebugRunner(config) + /*val debugRunner = DebugRunner(config) debugRunner.use { it.runProcessAndPrintInfo(runConfig) - } - /*val receiver = PrintingResultReceiver() + }*/ + val receiver = PrintingResultReceiver() val runner = PythonSymbolicAnalysisRunnerImpl(config) runner.use { - it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 5_000 } - }*/ + it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 20_000 } + } println("Time: ${System.currentTimeMillis() - start}") + println("Number of executions: ${receiver.cnt}") } \ No newline at end of file From aafef787af649622d4e4b372d937c09716c6f516 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 28 Nov 2023 19:51:36 +0300 Subject: [PATCH 204/344] onNewState for initial state --- .../src/main/kotlin/org/usvm/machine/PythonMachine.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt index a1c5523ce2..2e167fe107 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt @@ -91,6 +91,7 @@ class PythonMachine( // createForkDepthPathSelector, PythonExecutionState>(random) } val initialState = getInitialState(target) + newStateObserver.onNewState(initialState) val ps = PythonVirtualPathSelector( ctx, pathSelectorCreation(), From 1c083b6536d9122454aec86c6665c0345701af8e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 29 Nov 2023 00:17:06 +0300 Subject: [PATCH 205/344] Fixed dict type conversion --- .../kotlin/org/usvm/language/types/UtTypeConversion.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index d0341cfb26..b592c6ca37 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -21,6 +21,10 @@ fun getTypeFromTypeHint( if (fromTypeSystem != null) return fromTypeSystem val storage = typeSystem.typeHintsStorage + val substitutedDict = DefaultSubstitutionProvider.substituteAll( + storage.pythonDict, + storage.pythonTuple.getBoundedParameters().map { pythonAnyType } + ) val substitutedList = DefaultSubstitutionProvider.substituteAll( storage.pythonList, storage.pythonList.getBoundedParameters().map { pythonAnyType } @@ -35,7 +39,7 @@ fun getTypeFromTypeHint( typeSystem.pythonFloat } else if (typesAreEqual(hintAfterSubstitution, storage.pythonBool)) { typeSystem.pythonBool - } else if (typesAreEqual(hintAfterSubstitution, storage.pythonDict)) { + } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedDict, hintAfterSubstitution, storage)) { typeSystem.pythonDict } else if (PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(substitutedList, hintAfterSubstitution, storage)) { typeSystem.pythonList @@ -44,4 +48,4 @@ fun getTypeFromTypeHint( } else { PythonAnyType } -} \ No newline at end of file +} From 02bd5f5e58ab05663722f50e40c7a505d9805e3a Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 29 Nov 2023 19:23:14 +0300 Subject: [PATCH 206/344] Added dict.isEmpty and dict contains_op --- .../src/main/c/approximations/builtins.c | 7 ++++ usvm-python/src/test/kotlin/manualTest.kt | 18 +++++----- .../test/kotlin/org/usvm/samples/DictsTest.kt | 14 ++++++++ .../src/test/resources/samples/Dicts.py | 6 +++- .../org/usvm/interpreter/CPythonAdapter.java | 12 +++++++ .../usvm/language/types/UtTypeConversion.kt | 2 +- .../interpreters/operations/basic/Dict.kt | 25 +++++++++++++ .../operations/basic/MethodNotifications.kt | 4 ++- .../rendering/ConverterToPythonObject.kt | 15 ++++++++ .../usvm/machine/symbolicobjects/Fields.kt | 4 +++ .../symbolicobjects/SymbolicObjectContents.kt | 36 ++++++++++++++++--- 11 files changed, 126 insertions(+), 17 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 997489bf20..6264453da2 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -4,6 +4,8 @@ #include "wrapper.h" #include "virtual_objects.h" +#include "CPythonFunctions.h" // generated + PyObject * Approximation_len(PyObject *o) { @@ -154,6 +156,11 @@ Approximation_contains_op(PyObject *storage, PyObject *item, int *approximated) PyObject *concrete_result = unwrap(result); Py_DECREF(result); return concrete_result == Py_True ? 1 : 0; + } else if (PyDict_Check(concrete_storage)) { + *approximated = 1; + if (dict_contains(adapter->handler_param, get_symbolic_or_none(storage), get_symbolic_or_none(item))) + return -1; + return PySequence_Contains(concrete_storage, unwrap(item)); } *approximated = 0; return 0; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index dd43836968..bcf421a849 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), - "simple_generator", - "Generators" + listOf(typeSystem.pythonDict), + "dict_empty_check", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -78,9 +78,9 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - //if (module != "bidirectional_a_star") - // return null - if (name != "SegmentTree.traverse") + if (module != "breadth_first_search_shortest_path_2") + return null + if (name != "bfs_shortest_path_distance") return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null @@ -113,7 +113,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\data_structures\\binary_tree" + val projectPath = "D:\\projects\\Python\\graphs" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath) val modules = getModulesFromFiles(projectPath, files) @@ -200,8 +200,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - // timeoutPerRunMs = 4_000, - // timeoutMs = 30_000 + timeoutPerRunMs = 4_000, + timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index a48c94ddef..4e85129a29 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -154,4 +154,18 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { ) ) } + + @Test + fun testDictEmptyCheck() { + check1WithConcreteRun( + constructFunction("dict_empty_check", listOf(typeSystem.pythonDict)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 627efbee21..0bc5eac32c 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -44,4 +44,8 @@ def dict_str_set_item(x, y): def dict_virtual_set_item(x, y): d = {} d[x] = 10 - assert d[155] == y \ No newline at end of file + assert d[155] == y + + +def dict_empty_check(d: dict): + assert d \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 05ba4d8a1a..24da05b13f 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -785,6 +785,18 @@ public static void handlerDictGetItem(ConcolicRunContext context, SymbolForCPyth withTracing(context, new MethodParametersNoReturn("dict_set_item", Arrays.asList(dict, key, value)), unit(() -> handlerDictSetItemKt(context, dict.obj, key.obj, value.obj))); } + @CPythonAdapterJavaMethod(cName = "dict_contains") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter}, + addToSymbolicAdapter = false + ) + public static void handlerDictContains(ConcolicRunContext context, SymbolForCPython dict, SymbolForCPython key) { + if (dict.obj == null || key.obj == null) + return; + withTracing(context, new MethodParametersNoReturn("dict_contains", Arrays.asList(dict, key)), unit(() -> handlerDictContainsKt(context, dict.obj, key.obj))); + } + @CPythonAdapterJavaMethod(cName = "function_call") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index b592c6ca37..256a7a55b8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -23,7 +23,7 @@ fun getTypeFromTypeHint( val storage = typeSystem.typeHintsStorage val substitutedDict = DefaultSubstitutionProvider.substituteAll( storage.pythonDict, - storage.pythonTuple.getBoundedParameters().map { pythonAnyType } + storage.pythonDict.getBoundedParameters().map { pythonAnyType } ) val substitutedList = DefaultSubstitutionProvider.substituteAll( storage.pythonList, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index 05b6224447..b3fd0b53c3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters.operations.basic +import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.types.HasTpHash @@ -123,4 +124,28 @@ fun handlerCreateDictConstKeyKt( setItem(ctx, result, key, elem) } return result +} + +fun handlerDictContainsKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + key.addSupertypeSoft(ctx, HasTpHash) + val keyType = key.getTypeIfDefined(ctx) + val typeSystem = ctx.typeSystem + val result: UBoolExpr = when (keyType) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = key.getToIntContent(ctx) ?: return + dict.dictContainsInt(ctx, intValue) + } + null -> { + forkOnUnknownType(ctx, key) + return + } + else -> dict.dictContainsRef(ctx, key) + } + myFork(ctx, result) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt index b36ebc8323..188b74c0b0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt @@ -47,7 +47,9 @@ fun nbPositiveKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObj fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - on.addSupertypeSoft(context, HasSqLength) + val sqLength = on.evalIsSoft(context, HasSqLength) + val mpLength = on.evalIsSoft(context, HasMpLength) + myAssert(context, context.ctx.mkOr(sqLength, mpLength)) } fun mpSubscriptKt( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index ab00ddf302..8e347020fb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -105,12 +105,16 @@ class ConverterToPythonObject( require(obj is InterpretedInputSymbolicPythonObject) { "Input dict cannot be static" } + if (obj.dictIsEmpty(ctx)) { + return ConcretePythonInterpreter.eval(emptyNamespace, "dict()") + } val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, "x = dict()") val result = ConcretePythonInterpreter.eval(namespace, "x") constructedObjects[obj.address] = result val model = modelHolder.model.uModel require(model is PyModel) + var addedElems = 0 model.possibleRefKeys.forEach { val key = if (isStaticHeapRef(it)) { val type = memory.typeStreamOf(it).first() @@ -123,6 +127,7 @@ class ConverterToPythonObject( val convertedKey = convert(key) ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") val value = obj.readDictRefElement(ctx, key, memory) + addedElems += 1 addEntryToDict(namespace, value) } } @@ -130,9 +135,19 @@ class ConverterToPythonObject( if (obj.dictContainsInt(ctx, it)) { ConcretePythonInterpreter.concreteRun(namespace, "key = $it") val value = obj.readDictIntElement(ctx, it, memory) + addedElems += 1 addEntryToDict(namespace, value) } } + if (addedElems == 0) { + ConcretePythonInterpreter.concreteRun( + namespace, + """ + elem = object() + x[elem] = None + """.trimIndent() + ) + } return result.also { ConcretePythonInterpreter.incref(it) ConcretePythonInterpreter.decref(namespace) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt index e735405393..a351802d54 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt @@ -52,4 +52,8 @@ object SliceContents { val stepIsNone = ContentOfType("step_none_of_slice") } +object DictContents { + val isNotEmpty = ContentOfType("dict_is_empty") +} + object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 14adfd8e20..782646c294 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -18,7 +18,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* import org.usvm.language.types.* import org.usvm.machine.UPythonContext -import org.usvm.machine.interpreters.ConcretePythonInterpreter import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.machine.utils.PyModelWrapper import org.usvm.memory.UMemory @@ -304,9 +303,9 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) typeSystem.pythonNoneType -> falseExpr + typeSystem.pythonDict -> dictIsEmpty(ctx).not() is ConcretePythonType -> { - val address = ctx.typeSystem.addressOfConcreteType(type) - if (!ConcretePythonInterpreter.typeHasNbBool(address) && !ConcretePythonInterpreter.typeHasSqLength(address)) + if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) trueExpr else null @@ -556,6 +555,25 @@ fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObject /** dict **/ +fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) +} + +fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: UPythonContext): Boolean { + val field = modelHolder.model.readField(address, DictContents.isNotEmpty, ctx.boolSort) + return modelHolder.model.eval(field).isFalse +} + +fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + ctx.curState!!.memory.writeField(address, DictContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) +} + fun UninterpretedSymbolicPythonObject.readDictRefElement( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject @@ -574,7 +592,10 @@ fun UninterpretedSymbolicPythonObject.dictContainsRef( require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - return ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) + val contains = ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) + return with(ctx.ctx) { + dictIsEmpty(ctx).not() and contains + } } fun UninterpretedSymbolicPythonObject.writeDictRefElement( @@ -585,6 +606,7 @@ fun UninterpretedSymbolicPythonObject.writeDictRefElement( require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) + setDictNotEmpty(ctx) ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) } @@ -608,7 +630,10 @@ fun UninterpretedSymbolicPythonObject.dictContainsInt( val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - return ctx.curState!!.memory.read(lvalue) + val contains = ctx.curState!!.memory.read(lvalue) + return with(ctx.ctx) { + dictIsEmpty(ctx).not() and contains + } } fun UninterpretedSymbolicPythonObject.writeDictIntElement( @@ -619,6 +644,7 @@ fun UninterpretedSymbolicPythonObject.writeDictIntElement( require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) + setDictNotEmpty(ctx) val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) val lvalueSet = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) From 694be0c8572052eab1a87fc5dabfd89cc6c73c24 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 30 Nov 2023 16:18:42 +0300 Subject: [PATCH 207/344] Added approximation scheme for constructors; started working on sets --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/manual_handlers.c | 13 ++++--- .../src/main/c/symbolic_methods.c | 3 +- .../approximations/implementations/list.py | 17 ++++++++- .../approximations/implementations/set.py | 15 ++++++++ usvm-python/src/test/kotlin/manualTest.kt | 10 +++--- .../test/kotlin/org/usvm/samples/ListsTest.kt | 28 +++++++++++++++ .../test/kotlin/org/usvm/samples/SetsTest.kt | 35 +++++++++++++++++++ .../samples/tricky/CompositeObjectsTest.kt | 2 +- .../src/test/resources/samples/Lists.py | 12 ++++++- .../src/test/resources/samples/Sets.py | 6 ++++ .../usvm/annotations/ids/ApproximationId.kt | 4 ++- .../org/usvm/language/types/TypeSystem.kt | 1 + .../interpreters/SymbolicClonesOfGlobals.kt | 5 +++ .../rendering/ConverterToPythonObject.kt | 11 ++++-- .../DefaultValueProvider.kt | 3 +- 16 files changed, 147 insertions(+), 20 deletions(-) create mode 100644 usvm-python/python_approximations/approximations/implementations/set.py create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt create mode 100644 usvm-python/src/test/resources/samples/Sets.py rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{utils => rendering}/DefaultValueProvider.kt (93%) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index fcca722800..55dc6d497d 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit fcca72280028332e76692b4b7a9ac46f4d01ab74 +Subproject commit 55dc6d497dfe988f9768a1130222213f10d9e3ea diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index ca6443f81f..5718fd4c3d 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -48,7 +48,9 @@ handler_extract_self_from_method(void *ctx_raw, PyObject *callable) { } PyObject * -handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *type_raw, PyObject *args, PyObject *kwargs) { +handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrapped_type, PyObject *args, PyObject *kwargs) { + assert(is_wrapped(wrapped_type)); + PyObject *type_raw = unwrap(wrapped_type); assert(PyType_Check(type_raw)); assert(args && PyTuple_Check(args)); ConcolicContext *ctx = (ConcolicContext *) ctx_raw; @@ -66,15 +68,18 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *type_r PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); PyObject *self = wrap(concrete_obj, symbolic_obj, adapter); PyObject *new_args = PySequence_Concat(PyTuple_Pack(1, self), args); - int r = register_symbolic_tracing(descr, adapter); - assert(!r); *approximated = 1; - PyObject *init_res = PyFunction_Type.tp_call(descr, new_args, kwargs); + PyObject *init_res = call_function_with_symbolic_tracing(adapter, descr, new_args, kwargs); if (!init_res) return 0; return self; } } + PyObject *symbolic_type = get_symbolic_or_none(wrapped_type); + SymbolicMethod *symbolic_method = extract_symbolic_method(ctx, symbolic_type); + if (symbolic_method && symbolic_method->approximation_check_ref && symbolic_method->approximation_run_ref) { + return approximate_symbolic_method(symbolic_method, ctx, approximated, 0, args, kwargs); + } *approximated = 0; return Py_None; } \ No newline at end of file diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index 8c7282d674..3e3b534d24 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -92,7 +92,6 @@ approximate_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, int *a *approximated = 0; return Py_None; } - register_symbolic_tracing(method->approximation_run_ref, ctx->adapter); *approximated = 1; - return PyFunction_Type.tp_call(method->approximation_run_ref, full_args, 0); + return call_function_with_symbolic_tracing(ctx->adapter, method->approximation_run_ref, full_args, 0); } \ No newline at end of file diff --git a/usvm-python/python_approximations/approximations/implementations/list.py b/usvm-python/python_approximations/approximations/implementations/list.py index 7ddda93608..18b7ca9fc4 100644 --- a/usvm-python/python_approximations/approximations/implementations/list.py +++ b/usvm-python/python_approximations/approximations/implementations/list.py @@ -1,6 +1,21 @@ from typing import Any, Tuple -from approximations.api import ApproximationForMethod, SpecialApproximation +from approximations.api import * + + +class ConstructorApproximation(ApproximationForFunction): + @staticmethod + def accept(*args) -> bool: + return len(args) <= 1 + + @staticmethod + def run(*args) -> list: + if len(args) == 0: + return [] + result = [] + for elem in args[0]: + result.append(elem) + return result # TODO: optional arguments diff --git a/usvm-python/python_approximations/approximations/implementations/set.py b/usvm-python/python_approximations/approximations/implementations/set.py new file mode 100644 index 0000000000..29203aa64a --- /dev/null +++ b/usvm-python/python_approximations/approximations/implementations/set.py @@ -0,0 +1,15 @@ +from approximations.api import * + + +class ConstructorApproximation(ApproximationForFunction): + @staticmethod + def accept(*args) -> bool: + return len(args) == 1 + + @staticmethod + def run(*args) -> list: + result = set() + x = args[0] + for elem in x: + result.add(elem) + return result \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index bcf421a849..2f1e2081d4 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonDict), - "dict_empty_check", - "Dicts" + listOf(PythonAnyType), + "use_set_constructor_with_args", + "Sets" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 9111f9941d..001323a952 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -465,4 +465,32 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testUseConstructor() { + check1WithConcreteRun( + constructFunction("use_constructor", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testListFromRange() { + check3WithConcreteRun( + constructFunction("list_from_range", List(3) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, _, res -> res.selfTypeName == "AssertionError" }, + { _, _, _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt new file mode 100644 index 0000000000..727f84917b --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt @@ -0,0 +1,35 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.eq +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class SetsTest: PythonTestRunnerForPrimitiveProgram("Sets", UMachineOptions(stepLimit = 40U)) { + @Test + fun testExpectSet() { + check1WithConcreteRun( + constructFunction("expect_set", listOf(PythonAnyType)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testUseConstructorWithArg() { + check1WithConcreteRun( + constructFunction("use_constructor_with_arg", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf { _, res -> res.repr == "None" } + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt index e3114ebd8a..ffe31d7574 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt @@ -9,7 +9,7 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( "tricky.CompositeObjects", allowPathDiversions = false, - options = UMachineOptions(stepLimit = 250U) + options = UMachineOptions(stepLimit = 300U) ) { @Test fun testF() { diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 8889c3a08e..0bd8d023cb 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -228,4 +228,14 @@ def reverse_usage(x: list): def contains_op(x: list): - assert 1 in x \ No newline at end of file + assert 1 in x + + +def use_constructor(x): + y = list(x) + assert y[2] == 15 + + +def list_from_range(x, y, z): + a = list(range(x, y, z)) + assert a[0] == -239 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Sets.py b/usvm-python/src/test/resources/samples/Sets.py new file mode 100644 index 0000000000..0fc4d34770 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Sets.py @@ -0,0 +1,6 @@ +def expect_set(x): + assert isinstance(x, set) + + +def use_constructor_with_arg(x): + set(x) \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt index d7b560599d..4d5a50c563 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt @@ -6,5 +6,7 @@ enum class ApproximationId( var cRef: Long = 0L // will be set during Python initialization ) { ListIndex("approximations.implementations.list", "IndexApproximation"), - ListReverse("approximations.implementations.list", "ReverseApproximation") + ListReverse("approximations.implementations.list", "ReverseApproximation"), + ListConstructor("approximations.implementations.list", "ConstructorApproximation"), + SetConstructor("approximations.implementations.set", "ConstructorApproximation") } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 280e1ef336..f57d577862 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -134,6 +134,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonStr = createConcreteTypeByName("str") val pythonSlice = createConcreteTypeByName("slice") val pythonDict = createConcreteTypeByName("dict") + val pythonSet = createConcreteTypeByName("set") protected val basicTypes: List by lazy { concreteTypeToAddress.keys.filter { !it.isHidden } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 2e921f3ede..9cbe7201af 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters +import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.language.NamedSymbolForCPython import org.usvm.language.SymbolForCPython @@ -13,6 +14,10 @@ object SymbolicClonesOfGlobals { ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Int) clonesMap["float"] = ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Float) + clonesMap["list"] = + ConcretePythonInterpreter.constructApproximation(null, ApproximationId.ListConstructor) + clonesMap["set"] = + ConcretePythonInterpreter.constructApproximation(null, ApproximationId.SetConstructor) } init { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index 8e347020fb..2ea88fd928 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -4,7 +4,6 @@ import io.ksmt.expr.KInt32NumExpr import org.usvm.* import org.usvm.api.readArrayIndex import org.usvm.api.typeStreamOf -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* @@ -15,10 +14,8 @@ import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.PythonNamespace import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.utils.DefaultValueProvider import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.utils.getMembersFromType import org.usvm.memory.UMemory import org.usvm.types.first @@ -75,6 +72,7 @@ class ConverterToPythonObject( typeSystem.pythonSlice -> convertSlice(obj) typeSystem.pythonFloat -> convertFloat(obj) typeSystem.pythonDict -> convertDict(obj) + typeSystem.pythonSet -> convertSet(obj) else -> { if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) constructFromDefaultConstructor(obj, type) @@ -92,6 +90,13 @@ class ConverterToPythonObject( } } + private fun convertSet(obj: InterpretedSymbolicPythonObject): PythonObject { + require(obj is InterpretedInputSymbolicPythonObject) { + "Input set cannot be static" + } + return ConcretePythonInterpreter.eval(emptyNamespace, "set()") + } + private fun addEntryToDict( namespace: PythonNamespace, value: InterpretedSymbolicPythonObject, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt similarity index 93% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt index 1bbd6a59d4..84b6035f79 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/DefaultValueProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.utils +package org.usvm.machine.rendering import org.usvm.language.types.* import org.usvm.machine.interpreters.ConcretePythonInterpreter @@ -20,6 +20,7 @@ class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { typeSystem.pythonStr -> ConcretePythonInterpreter.eval(emptyNamespace, "''") typeSystem.pythonSlice -> ConcretePythonInterpreter.eval(emptyNamespace, "slice(0, 1, 1)") typeSystem.pythonDict -> ConcretePythonInterpreter.eval(emptyNamespace, "dict()") + typeSystem.pythonSet -> ConcretePythonInterpreter.eval(emptyNamespace, "set()") else -> { val ref = typeSystem.addressOfConcreteType(type) if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { From 2cc19140a63d0ff38519c25938df284f6d401f4a Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 30 Nov 2023 17:55:41 +0300 Subject: [PATCH 208/344] Changed logic of virtual objects as keys in dicts --- .../src/main/c/virtual_objects.c | 1 - usvm-python/src/test/kotlin/manualTest.kt | 14 ++--- .../test/kotlin/org/usvm/samples/DictsTest.kt | 3 +- .../interpreters/operations/basic/Dict.kt | 62 +++++++++++++------ .../usvm/machine/rendering/StateSeedSender.kt | 4 +- 5 files changed, 53 insertions(+), 31 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c index 73ef4dacd3..a3519b9299 100644 --- a/usvm-python/cpythonadapter/src/main/c/virtual_objects.c +++ b/usvm-python/cpythonadapter/src/main/c/virtual_objects.c @@ -90,7 +90,6 @@ static Py_hash_t tp_hash(PyObject *o1) { DEBUG_OUTPUT("tp_hash") assert(is_virtual_object(o1)); - CHECK_IF_ACTIVATED(o1, -1) return PyBaseObject_Type.tp_hash(o1); } PyType_Slot Virtual_tp_hash = {Py_tp_hash, tp_hash}; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 2f1e2081d4..94eb1d343d 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -49,9 +49,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "use_set_constructor_with_args", - "Sets" + listOf(PythonAnyType, PythonAnyType), + "allocate_dict_with_int_key", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -200,8 +200,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 30_000 + // timeoutPerRunMs = 4_000, + // timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index 4e85129a29..a1ea77a21b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -1,12 +1,13 @@ package org.usvm.samples import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts") { +class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts", UMachineOptions(stepLimit = 60U)) { @Test fun testExpectDict() { check1WithConcreteRun( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index b3fd0b53c3..ded4d58c2e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -2,7 +2,9 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse import org.usvm.isTrue +import org.usvm.language.types.ConcreteTypeNegation import org.usvm.language.types.HasTpHash import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream @@ -11,11 +13,29 @@ import kotlin.streams.asSequence private fun forkOnUnknownType( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject -) { - val clonedState = ctx.curState!!.clone() - val stateForDelayedFork = - myAssertOnState(clonedState, ctx.ctx.mkNot(ctx.ctx.mkHeapRefEq(key.address, ctx.ctx.nullRef))) - stateForDelayedFork?.let { addDelayedFork(ctx, key, it) } +) = with(ctx.ctx) { + require(key.getTypeIfDefined(ctx) == null) + val keyIsInt = key.evalIs(ctx, ctx.typeSystem.pythonInt) + val keyIsBool = key.evalIs(ctx, ctx.typeSystem.pythonBool) + val keyIsFloat = key.evalIs(ctx, ctx.typeSystem.pythonFloat) + val keyIsNone = key.evalIs(ctx, ctx.typeSystem.pythonNoneType) + require(ctx.modelHolder.model.eval(keyIsInt or keyIsBool).isFalse) + myFork(ctx, keyIsInt) + myFork(ctx, keyIsBool) + require(ctx.modelHolder.model.eval(keyIsFloat or keyIsNone).isFalse) + myAssert(ctx, (keyIsFloat or keyIsNone).not()) +} + +private fun addKeyTypeConstrains( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + var cond: UBoolExpr = trueExpr + cond = cond and key.evalIsSoft(ctx, HasTpHash) + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonList).not() + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonDict).not() + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonSet).not() + myAssert(ctx, cond) } fun handlerDictGetItemKt( @@ -24,7 +44,7 @@ fun handlerDictGetItemKt( key: UninterpretedSymbolicPythonObject ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null - key.addSupertypeSoft(ctx, HasTpHash) + addKeyTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { @@ -39,11 +59,10 @@ fun handlerDictGetItemKt( null } } - null -> { - forkOnUnknownType(ctx, key) - null - } else -> { + if (keyType == null) { + forkOnUnknownType(ctx, key) + } val containsCond = dict.dictContainsRef(ctx, key) myFork(ctx, containsCond) if (ctx.modelHolder.model.eval(containsCond).isTrue) { @@ -62,16 +81,16 @@ private fun setItem( value: UninterpretedSymbolicPythonObject ) { val typeSystem = ctx.typeSystem - when (key.getTypeIfDefined(ctx)) { - null -> { - forkOnUnknownType(ctx, key) - } + when (val keyType = key.getTypeIfDefined(ctx)) { typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO typeSystem.pythonInt -> { val intValue = key.getToIntContent(ctx) ?: return dict.writeDictIntElement(ctx, intValue, value) } else -> { + if (keyType == null) { + forkOnUnknownType(ctx, key) + } dict.writeDictRefElement(ctx, key, value) } } @@ -84,9 +103,9 @@ fun handlerDictSetItemKt( value: UninterpretedSymbolicPythonObject ) { ctx.curState ?: return + addKeyTypeConstrains(ctx, key) val typeSystem = ctx.typeSystem dict.addSupertypeSoft(ctx, typeSystem.pythonDict) - key.addSupertypeSoft(ctx, HasTpHash) setItem(ctx, dict, key, value) } @@ -103,6 +122,7 @@ fun handlerCreateDictKt( val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) (keys zip elems).forEach { (key, elem) -> + addKeyTypeConstrains(ctx, key) setItem(ctx, result, key, elem) } return result @@ -121,6 +141,7 @@ fun handlerCreateDictConstKeyKt( val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) elems.forEachIndexed { index, elem -> val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) + addKeyTypeConstrains(ctx, key) setItem(ctx, result, key, elem) } return result @@ -132,7 +153,7 @@ fun handlerDictContainsKt( key: UninterpretedSymbolicPythonObject ) { ctx.curState ?: return - key.addSupertypeSoft(ctx, HasTpHash) + addKeyTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (keyType) { @@ -141,11 +162,12 @@ fun handlerDictContainsKt( val intValue = key.getToIntContent(ctx) ?: return dict.dictContainsInt(ctx, intValue) } - null -> { - forkOnUnknownType(ctx, key) - return + else -> { + if (keyType == null) { + forkOnUnknownType(ctx, key) + } + dict.dictContainsRef(ctx, key) } - else -> dict.dictContainsRef(ctx, key) } myFork(ctx, result) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt index 539374ba48..0655317ba4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt @@ -16,7 +16,7 @@ import org.usvm.types.first class StateSeedSender( private val saver: PythonAnalysisResultSaver ) { - fun getData(state: PythonExecutionState): InputRepr { + fun getData(state: PythonExecutionState): InputRepr? = runCatching { val converter = if (state.meta.lastConverter != null) { state.meta.lastConverter!! } else { @@ -49,7 +49,7 @@ class StateSeedSender( ConcretePythonInterpreter.decref(it.ref) } return serialized - } + }.getOrNull() suspend fun sendStateSeeds(data: InputRepr) { // println("Sending!") From 4b1f02e0608708fbac237b2c18b0037b5ff870b9 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 30 Nov 2023 21:33:39 +0300 Subject: [PATCH 209/344] Further work on sets --- .../src/main/c/approximations/builtins.c | 5 ++ .../org_usvm_interpreter_CPythonAdapter.h | 4 +- .../src/main/c/include/symbolic_methods.h | 2 +- .../c/org_usvm_interpreter_CPythonAdapter.c | 4 +- .../src/main/c/symbolic_methods.c | 4 +- usvm-python/src/test/kotlin/manualTest.kt | 29 ++++--- .../test/kotlin/org/usvm/samples/SetsTest.kt | 42 ++++++++++ .../src/test/resources/samples/Sets.py | 34 +++++++- .../org/usvm/interpreter/CPythonAdapter.java | 15 +++- .../org/usvm/language/types/TypeSystem.kt | 8 +- .../kotlin/org/usvm/language/types/Types.kt | 7 +- .../interpreters/ConcretePythonInterpreter.kt | 2 +- .../interpreters/operations/basic/Common.kt | 28 +++++++ .../interpreters/operations/basic/Dict.kt | 46 ++--------- .../interpreters/operations/basic/Set.kt | 49 ++++++++++++ .../kotlin/org/usvm/machine/model/PyModel.kt | 11 ++- .../rendering/ConverterToPythonObject.kt | 38 ++++++++- .../usvm/machine/symbolicobjects/Fields.kt | 11 ++- .../symbolicobjects/SymbolicObjectContents.kt | 78 ++++++++++++++++--- 19 files changed, 338 insertions(+), 79 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 6264453da2..35bd02941b 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -161,6 +161,11 @@ Approximation_contains_op(PyObject *storage, PyObject *item, int *approximated) if (dict_contains(adapter->handler_param, get_symbolic_or_none(storage), get_symbolic_or_none(item))) return -1; return PySequence_Contains(concrete_storage, unwrap(item)); + } else if (PySet_Check(concrete_storage)) { + *approximated = 1; + if (set_contains(adapter->handler_param, get_symbolic_or_none(storage), get_symbolic_or_none(item))) + return -1; + return PySequence_Contains(concrete_storage, unwrap(item)); } *approximated = 0; return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h index fea7bfec0f..45a4f202d0 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h @@ -458,10 +458,10 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartia /* * Class: org_usvm_interpreter_CPythonAdapter * Method: constructApproximation - * Signature: (Lorg/usvm/language/SymbolForCPython;J)J + * Signature: (Lorg/usvm/language/SymbolForCPython;JJ)J */ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation - (JNIEnv *, jobject, jobject, jlong); + (JNIEnv *, jobject, jobject, jlong, jlong); /* * Class: org_usvm_interpreter_CPythonAdapter diff --git a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h index 9a58f3fe32..29867fe048 100644 --- a/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h +++ b/usvm-python/cpythonadapter/src/main/c/include/symbolic_methods.h @@ -21,7 +21,7 @@ typedef struct { void clean_methods(); SymbolicMethod *construct_symbolic_method_with_self(JNIEnv *env, jobject symbolic_self, call_type call); -SymbolicMethod *construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref); +SymbolicMethod *construct_approximation(JNIEnv *env, jobject symbolic_self, call_type call, PyObject *approximation_ref); SymbolicMethod *construct_python_method_with_self(JNIEnv *env, jobject symbolic_self); PyObject *call_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, PyObject *args, PyObject *kwargs); PyObject *approximate_symbolic_method(SymbolicMethod *method, ConcolicContext *ctx, int *approximated, PyObject *wrapped_self, PyObject *args, PyObject *kwargs); diff --git a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c index 99756cd30d..b547607539 100644 --- a/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c +++ b/usvm-python/cpythonadapter/src/main/c/org_usvm_interpreter_CPythonAdapter.c @@ -570,9 +570,9 @@ JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartia return (jlong) construct_symbolic_method_with_self(env, self, (call_type) method_ref); } -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation(JNIEnv *env, jobject _, jobject self, jlong approximation_ref) { +JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation(JNIEnv *env, jobject _, jobject self, jlong method_ref, jlong approximation_ref) { assert(approximation_ref); - return (jlong) construct_approximation(env, self, (PyObject *) approximation_ref); + return (jlong) construct_approximation(env, self, (call_type) method_ref, (PyObject *) approximation_ref); } JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedPythonMethod(JNIEnv *env, jobject _, jobject self) { diff --git a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c index 3e3b534d24..d810d9b3aa 100644 --- a/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c +++ b/usvm-python/cpythonadapter/src/main/c/symbolic_methods.c @@ -46,14 +46,14 @@ construct_python_method_with_self(JNIEnv *env, jobject symbolic_self) { } SymbolicMethod * -construct_approximation(JNIEnv *env, jobject symbolic_self, PyObject *approximation_ref) { +construct_approximation(JNIEnv *env, jobject symbolic_self, call_type call, PyObject *approximation_ref) { assert(PyType_Check(approximation_ref)); PyObject *check_ref = PyObject_GetAttrString(approximation_ref, "accept"); assert(check_ref && !PyErr_Occurred()); PyObject *run_ref = PyObject_GetAttrString(approximation_ref, "run"); assert(run_ref && !PyErr_Occurred()); SymbolicMethod *result = malloc(sizeof(SymbolicMethod)); - result->call = 0; + result->call = call; result->self_reference = create_global_ref(env, symbolic_self); result->approximation_check_ref = check_ref; result->approximation_run_ref = run_ref; diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 94eb1d343d..f03c470891 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -46,12 +46,19 @@ private fun buildSampleRunConfig(): RunConfig { if len(y[::-1]) == 5: return 1 return 2 + + + def f(x): + s = 0 + for i, a in enumerate(x): + s += i + a + assert s == 10 """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType), - "allocate_dict_with_int_key", - "Dicts" + listOf(typeSystem.pythonInt), + "construct_set_with_call", + "Sets" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -78,10 +85,10 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - if (module != "breadth_first_search_shortest_path_2") - return null - if (name != "bfs_shortest_path_distance") - return null + //if (module != "breadth_first_search_shortest_path_2") + // return null + //if (name != "bfs_shortest_path_distance") + // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { @@ -200,8 +207,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - // timeoutPerRunMs = 4_000, - // timeoutMs = 30_000 + timeoutPerRunMs = 4_000, + timeoutMs = 30_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt index 727f84917b..7415d23d39 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt @@ -32,4 +32,46 @@ class SetsTest: PythonTestRunnerForPrimitiveProgram("Sets", UMachineOptions(step /* propertiesToDiscover = */ listOf { _, res -> res.repr == "None" } ) } + + @Test + fun testInputSetIntCheck() { + check1WithConcreteRun( + constructFunction("input_set_int_check", listOf(typeSystem.pythonSet)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testInputSetStrCheck() { + check1WithConcreteRun( + constructFunction("input_set_str_check", listOf(typeSystem.pythonSet)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testInputSetVirtualCheck() { + check2WithConcreteRun( + constructFunction("input_set_virtual_check", listOf(typeSystem.pythonSet, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Sets.py b/usvm-python/src/test/resources/samples/Sets.py index 0fc4d34770..0506be265e 100644 --- a/usvm-python/src/test/resources/samples/Sets.py +++ b/usvm-python/src/test/resources/samples/Sets.py @@ -3,4 +3,36 @@ def expect_set(x): def use_constructor_with_arg(x): - set(x) \ No newline at end of file + set(x) + + +def input_set_int_check(s: set): + assert 1 in s + + +def input_set_str_check(s: set): + assert "aaa" in s + + +def input_set_virtual_check(s: set, x): + assert x in s + + +def construct_set_with_call(x: int): + s = set([1, 2, 3]) + assert x in s + + +def add_str_to_set(x): + s = set() + s.add("bbb") + assert x in s + + +def construct_set_with_syntax(x: int): + s = {1, 2, 3} + assert x in s + + +def empty_check(s: set): + assert s \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 24da05b13f..5a36f05de9 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -28,6 +28,7 @@ import static org.usvm.machine.interpreters.operations.basic.LongKt.*; import static org.usvm.machine.interpreters.operations.basic.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.basic.RangeKt.*; +import static org.usvm.machine.interpreters.operations.basic.SetKt.handlerSetContainsKt; import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; @@ -107,7 +108,7 @@ public class CPythonAdapter { @Nullable public native MemberDescriptor getSymbolicDescriptor(long concreteDescriptorRef); public native long constructPartiallyAppliedSymbolicMethod(SymbolForCPython self, long methodRef); - public native long constructApproximation(SymbolForCPython self, long approximationRef); + public native long constructApproximation(SymbolForCPython self, long methodRef, long approximationRef); public native long constructPartiallyAppliedPythonMethod(SymbolForCPython self); static { System.loadLibrary("cpythonadapter"); @@ -797,6 +798,18 @@ public static void handlerDictContains(ConcolicRunContext context, SymbolForCPyt withTracing(context, new MethodParametersNoReturn("dict_contains", Arrays.asList(dict, key)), unit(() -> handlerDictContainsKt(context, dict.obj, key.obj))); } + @CPythonAdapterJavaMethod(cName = "set_contains") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter}, + addToSymbolicAdapter = false + ) + public static void handlerSetContains(ConcolicRunContext context, SymbolForCPython set, SymbolForCPython elem) { + if (set.obj == null || elem.obj == null) + return; + withTracing(context, new MethodParametersNoReturn("set_contains", Arrays.asList(set, elem)), unit(() -> handlerSetContainsKt(context, set.obj, elem.obj))); + } + @CPythonAdapterJavaMethod(cName = "function_call") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index f57d577862..8fc79798e8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -22,8 +22,7 @@ abstract class PythonTypeSystem: UTypeSystem { get() = 1000.milliseconds override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { - if (type is InternalDictType || supertype is InternalDictType) - return type == supertype + require(supertype !is IntDictType) if (supertype is VirtualPythonType) return supertype.accepts(type) return supertype == type @@ -43,9 +42,7 @@ abstract class PythonTypeSystem: UTypeSystem { val containsMock = types.any { it is MockType } require((concrete == null) || !containsMock) { "Error in Python's hasCommonSubtype implementation" } return when (type) { - is InternalDictType -> { - types.all { it == type } - } + is InternalType -> error("Should not be reachable") is ConcretePythonType -> { if (concrete != null) { concrete == type @@ -135,6 +132,7 @@ abstract class PythonTypeSystem: UTypeSystem { val pythonSlice = createConcreteTypeByName("slice") val pythonDict = createConcreteTypeByName("dict") val pythonSet = createConcreteTypeByName("set") + val pythonEnumerate = createConcreteTypeByName("enumerate", isHidden = true) protected val basicTypes: List by lazy { concreteTypeToAddress.keys.filter { !it.isHidden } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index a62ab01be7..c5c99dcf96 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -6,12 +6,17 @@ sealed class PythonType object MockType: PythonType() -sealed class InternalDictType: PythonType() +open class InternalType: PythonType() +sealed class InternalDictType: InternalType() object ObjectDictType: InternalDictType() object RefDictType: InternalDictType() object IntDictType: InternalDictType() +sealed class InternalSetType: InternalType() +object RefSetType: InternalSetType() +object IntSetType: InternalSetType() + abstract class VirtualPythonType: PythonType() { abstract fun accepts(type: PythonType): Boolean } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt index 6402b3b716..b2bacbc1b6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt @@ -202,7 +202,7 @@ object ConcretePythonInterpreter { } fun constructApproximation(self: SymbolForCPython?, id: ApproximationId): SymbolForCPython { - val ref = pythonAdapter.constructApproximation(self, id.cRef) + val ref = pythonAdapter.constructApproximation(self, 0, id.cRef) require(ref != 0L) return SymbolForCPython(null, ref) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 3823e71792..48260098a5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -245,4 +245,32 @@ fun handlerCreateEmptyObjectKt( val typeSystem = ctx.typeSystem val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null return constructEmptyAllocatedObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, type) +} + +fun addHashableTypeConstrains( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + var cond: UBoolExpr = trueExpr + cond = cond and key.evalIsSoft(ctx, HasTpHash) + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonList).not() + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonDict).not() + cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonSet).not() + myAssert(ctx, cond) +} + +fun forkOnUnknownHashableType( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(key.getTypeIfDefined(ctx) == null) + val keyIsInt = key.evalIs(ctx, ctx.typeSystem.pythonInt) + val keyIsBool = key.evalIs(ctx, ctx.typeSystem.pythonBool) + val keyIsFloat = key.evalIs(ctx, ctx.typeSystem.pythonFloat) + val keyIsNone = key.evalIs(ctx, ctx.typeSystem.pythonNoneType) + require(ctx.modelHolder.model.eval(keyIsInt or keyIsBool).isFalse) + myFork(ctx, keyIsInt) + myFork(ctx, keyIsBool) + require(ctx.modelHolder.model.eval(keyIsFloat or keyIsNone).isFalse) + myAssert(ctx, (keyIsFloat or keyIsNone).not()) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index ded4d58c2e..af739ca10d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -4,47 +4,17 @@ import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue -import org.usvm.language.types.ConcreteTypeNegation -import org.usvm.language.types.HasTpHash import org.usvm.machine.symbolicobjects.* import java.util.stream.Stream import kotlin.streams.asSequence -private fun forkOnUnknownType( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - require(key.getTypeIfDefined(ctx) == null) - val keyIsInt = key.evalIs(ctx, ctx.typeSystem.pythonInt) - val keyIsBool = key.evalIs(ctx, ctx.typeSystem.pythonBool) - val keyIsFloat = key.evalIs(ctx, ctx.typeSystem.pythonFloat) - val keyIsNone = key.evalIs(ctx, ctx.typeSystem.pythonNoneType) - require(ctx.modelHolder.model.eval(keyIsInt or keyIsBool).isFalse) - myFork(ctx, keyIsInt) - myFork(ctx, keyIsBool) - require(ctx.modelHolder.model.eval(keyIsFloat or keyIsNone).isFalse) - myAssert(ctx, (keyIsFloat or keyIsNone).not()) -} - -private fun addKeyTypeConstrains( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - var cond: UBoolExpr = trueExpr - cond = cond and key.evalIsSoft(ctx, HasTpHash) - cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonList).not() - cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonDict).not() - cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonSet).not() - myAssert(ctx, cond) -} - fun handlerDictGetItemKt( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, key: UninterpretedSymbolicPythonObject ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null - addKeyTypeConstrains(ctx, key) + addHashableTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { @@ -61,7 +31,7 @@ fun handlerDictGetItemKt( } else -> { if (keyType == null) { - forkOnUnknownType(ctx, key) + forkOnUnknownHashableType(ctx, key) } val containsCond = dict.dictContainsRef(ctx, key) myFork(ctx, containsCond) @@ -89,7 +59,7 @@ private fun setItem( } else -> { if (keyType == null) { - forkOnUnknownType(ctx, key) + forkOnUnknownHashableType(ctx, key) } dict.writeDictRefElement(ctx, key, value) } @@ -103,7 +73,7 @@ fun handlerDictSetItemKt( value: UninterpretedSymbolicPythonObject ) { ctx.curState ?: return - addKeyTypeConstrains(ctx, key) + addHashableTypeConstrains(ctx, key) val typeSystem = ctx.typeSystem dict.addSupertypeSoft(ctx, typeSystem.pythonDict) setItem(ctx, dict, key, value) @@ -122,7 +92,7 @@ fun handlerCreateDictKt( val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) (keys zip elems).forEach { (key, elem) -> - addKeyTypeConstrains(ctx, key) + addHashableTypeConstrains(ctx, key) setItem(ctx, result, key, elem) } return result @@ -141,7 +111,7 @@ fun handlerCreateDictConstKeyKt( val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) elems.forEachIndexed { index, elem -> val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) - addKeyTypeConstrains(ctx, key) + addHashableTypeConstrains(ctx, key) setItem(ctx, result, key, elem) } return result @@ -153,7 +123,7 @@ fun handlerDictContainsKt( key: UninterpretedSymbolicPythonObject ) { ctx.curState ?: return - addKeyTypeConstrains(ctx, key) + addHashableTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (keyType) { @@ -164,7 +134,7 @@ fun handlerDictContainsKt( } else -> { if (keyType == null) { - forkOnUnknownType(ctx, key) + forkOnUnknownHashableType(ctx, key) } dict.dictContainsRef(ctx, key) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt new file mode 100644 index 0000000000..7ed6984884 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt @@ -0,0 +1,49 @@ +package org.usvm.machine.interpreters.operations.basic + +import org.usvm.UBoolExpr +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.* + +fun handlerSetContainsKt( + ctx: ConcolicRunContext, + set: UninterpretedSymbolicPythonObject, + elem: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + set.addSupertype(ctx, ctx.typeSystem.pythonSet) + addHashableTypeConstrains(ctx, elem) + val elemType = elem.getTypeIfDefined(ctx) + val typeSystem = ctx.typeSystem + val result: UBoolExpr = when (elemType) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = elem.getToIntContent(ctx) ?: return + set.setContainsInt(ctx, intValue) + } + else -> { + if (elemType == null) { + forkOnUnknownHashableType(ctx, elem) + } + set.setContainsRef(ctx, elem) + } + } + myFork(ctx, result) +} + +/* +fun handlerSetAddKt( + ctx: ConcolicRunContext, + set: UninterpretedSymbolicPythonObject, + elem: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + set.addSupertype(ctx, ctx.typeSystem.pythonSet) + addHashableTypeConstrains(ctx, elem) +} +*/ + +fun handlerCreateEmptySetKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonSet) + return UninterpretedSymbolicPythonObject(address, ctx.typeSystem) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 2de3cf633a..1bcada8b42 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -64,13 +64,20 @@ class PyModel( } if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) - as UReadOnlyMemoryRegion + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion } if (regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion } + if (regionId is URefSetRegionId<*> && regionId.setType == RefSetType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion + } + if (regionId is USetRegionId<*, *, *> && regionId.setType == IntSetType) { + val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion + } if (regionId is URefMapRegionId<*, *> && regionId.mapType == ObjectDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> return WrappedRefMapRegion(ctx, region, psInfo.setRefKeys, underlyingModel) as UReadOnlyMemoryRegion diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index 2ea88fd928..e70fec2739 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -94,7 +94,41 @@ class ConverterToPythonObject( require(obj is InterpretedInputSymbolicPythonObject) { "Input set cannot be static" } - return ConcretePythonInterpreter.eval(emptyNamespace, "set()") + if (obj.setIsEmpty(ctx)) { + return ConcretePythonInterpreter.eval(emptyNamespace, "set()") + } + var addedElems = 0 + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "x = set()") + val result = ConcretePythonInterpreter.eval(namespace, "x") + constructedObjects[obj.address] = result + val model = modelHolder.model.uModel + require(model is PyModel) + model.possibleRefKeys.forEach { + val key = if (isStaticHeapRef(it)) { + val type = memory.typeStreamOf(it).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) + } + if (obj.setContainsRef(ctx, key)) { + addedElems += 1 + val convertedElem = convert(key) + ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedElem, "elem") + ConcretePythonInterpreter.concreteRun(namespace, "x.add(elem)") + } + } + model.possibleIntKeys.forEach { + if (obj.setContainsInt(ctx, it)) { + addedElems += 1 + ConcretePythonInterpreter.concreteRun(namespace, "x.add($it)") + } + } + if (addedElems == 0) { + ConcretePythonInterpreter.concreteRun(namespace, "x.add(object())") + } + return result } private fun addEntryToDict( @@ -128,7 +162,7 @@ class ConverterToPythonObject( } else { InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) } - if (obj.dictContainsRef(key)) { + if (obj.dictContainsRef(ctx, key)) { val convertedKey = convert(key) ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") val value = obj.readDictRefElement(ctx, key, memory) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt index a351802d54..704a10865a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt @@ -53,7 +53,16 @@ object SliceContents { } object DictContents { - val isNotEmpty = ContentOfType("dict_is_empty") + val isNotEmpty = ContentOfType("dict_is_not_empty") +} + +object SetContents { + val isNotEmpty = ContentOfType("set_is_not_empty") +} + +object EnumerateContents { + val iterator = ContentOfType("iterator_of_enumerate") + val index = ContentOfType("index_of_enumerate") } object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 782646c294..9aa7a6a168 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -562,11 +562,6 @@ fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoo return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) } -fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: UPythonContext): Boolean { - val field = modelHolder.model.readField(address, DictContents.isNotEmpty, ctx.boolSort) - return modelHolder.model.eval(field).isFalse -} - fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -652,6 +647,11 @@ fun UninterpretedSymbolicPythonObject.writeDictIntElement( // TODO: size? } +fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: UPythonContext): Boolean { + val field = modelHolder.model.readField(address, DictContents.isNotEmpty, ctx.boolSort) + return modelHolder.model.eval(field).isFalse +} + private fun InterpretedInputSymbolicPythonObject.constructResultObject( resultAddress: UConcreteHeapRef, memory: UMemory @@ -674,10 +674,13 @@ fun InterpretedInputSymbolicPythonObject.readDictRefElement( return constructResultObject(elemAddress, memory) } -fun InterpretedInputSymbolicPythonObject.dictContainsRef(key: InterpretedSymbolicPythonObject): Boolean { +fun InterpretedInputSymbolicPythonObject.dictContainsRef( + ctx: UPythonContext, + key: InterpretedSymbolicPythonObject +): Boolean { val lvalue = URefSetEntryLValue(address, key.address, RefDictType) val result = modelHolder.model.uModel.read(lvalue) - return result.isTrue + return !dictIsEmpty(ctx) && result.isTrue } fun InterpretedInputSymbolicPythonObject.readDictIntElement( @@ -695,5 +698,62 @@ fun InterpretedInputSymbolicPythonObject.dictContainsInt( key: KInterpretedValue ): Boolean { val lvalue = USetEntryLValue(ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - return modelHolder.model.uModel.read(lvalue).isTrue -} \ No newline at end of file + return !dictIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue +} + +/** set **/ + +fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonSet) + return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) +} + +fun UninterpretedSymbolicPythonObject.setContainsInt( + ctx: ConcolicRunContext, + key: UExpr +): UBoolExpr = with(ctx.ctx) { + require(ctx.curState != null) + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) +} + +/* +fun UninterpretedSymbolicPythonObject.addIntToSet( + ctx: ConcolicRunContext, + key: UExpr +): UBoolExpr { +} +*/ + +fun UninterpretedSymbolicPythonObject.setContainsRef( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UBoolExpr = with(ctx.ctx) { + require(ctx.curState != null) + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) +} + +fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: UPythonContext): Boolean = with(ctx) { + return modelHolder.model.readField(address, SetContents.isNotEmpty, boolSort).isFalse +} + +fun InterpretedInputSymbolicPythonObject.setContainsInt( + ctx: UPythonContext, + key: KInterpretedValue +): Boolean = with(ctx) { + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + return !setIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue +} + +fun InterpretedInputSymbolicPythonObject.setContainsRef( + ctx: UPythonContext, + key: InterpretedSymbolicPythonObject +): Boolean { + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + return !setIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue +} + +/** enumerate **/ \ No newline at end of file From e4c990d82f673d5982ce35c39d17c04a90585d66 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 1 Dec 2023 19:54:30 +0300 Subject: [PATCH 210/344] Fixed segfault with PyTuple_Pack --- .gitignore | 1 + usvm-python/build.gradle.kts | 5 ++++- .../cpythonadapter/src/main/c/manual_handlers.c | 11 ++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 03d6d4a0e1..3322abd66b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ buildSrc/.gradle # Ignore Python execution cache __pycache__/ +run_python_with_gdb.sh diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index de9b3c1f01..de9aaec676 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -129,6 +129,9 @@ tasks.register("manualTestDebugNoLogs") { } classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") + //doFirst { + // println(sourceSets.test.get().runtimeClasspath.joinToString(separator = ":")) + //} } /* @@ -190,4 +193,4 @@ tasks.jar { .map(::zipTree) // OR .map { zipTree(it) } from(dependencies) duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} \ No newline at end of file +} diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index 5718fd4c3d..5b54ae05b1 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -64,10 +64,15 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe } else if (type->tp_init == EXPORT_SLOT_INIT) { PyObject *descr = _PyType_Lookup(type, PyUnicode_FromString("__init__")); if (descr && PyFunction_Check(descr)) { - PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); + if (!concrete_obj) + return 0; + PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); PyObject *self = wrap(concrete_obj, symbolic_obj, adapter); - PyObject *new_args = PySequence_Concat(PyTuple_Pack(1, self), args); + assert(self); + PyObject *tuple = PyTuple_Pack(1, self); + PyObject *new_args = PySequence_Concat(tuple, args); + Py_DECREF(tuple); *approximated = 1; PyObject *init_res = call_function_with_symbolic_tracing(adapter, descr, new_args, kwargs); if (!init_res) @@ -82,4 +87,4 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe } *approximated = 0; return Py_None; -} \ No newline at end of file +} From 57f4e2cc9c5af1b69381eeb65c6eb9a20ae2bc3f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 1 Dec 2023 19:59:41 +0300 Subject: [PATCH 211/344] One more check --- usvm-python/cpythonadapter/src/main/c/manual_handlers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index 5b54ae05b1..ed5b4583ab 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -68,6 +68,8 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe if (!concrete_obj) return 0; PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); + if (!symbolic_obj) + return 0; PyObject *self = wrap(concrete_obj, symbolic_obj, adapter); assert(self); PyObject *tuple = PyTuple_Pack(1, self); From e640c8da517fdfa9ba60bd7ade4897ebb5526a72 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 5 Dec 2023 16:36:05 +0300 Subject: [PATCH 212/344] set.add; fork on dict_iter; fixed constructor call --- usvm-python/cpythonadapter/cpython | 2 +- .../src/main/c/approximations/builtins.c | 2 + .../src/main/c/manual_handlers.c | 17 +++++-- usvm-python/src/test/kotlin/manualTest.kt | 8 ++-- .../test/kotlin/org/usvm/samples/SetsTest.kt | 42 ++++++++++++++++ .../usvm/annotations/ids/SymbolicMethodId.kt | 3 +- .../org/usvm/interpreter/CPythonAdapter.java | 48 +++++++++++++++++++ .../interpreters/operations/basic/Dict.kt | 16 +++++++ .../interpreters/operations/basic/Set.kt | 17 ++++++- .../operations/symbolicmethods/Set.kt | 20 ++++++++ .../symbolicobjects/SymbolicObjectContents.kt | 26 ++++++++-- 11 files changed, 187 insertions(+), 14 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 55dc6d497d..132dc6445e 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 55dc6d497dfe988f9768a1130222213f10d9e3ea +Subproject commit 132dc6445e67baf26ff8bf37edd3a7fc4a0ab39d diff --git a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c index 35bd02941b..a38ce66c76 100644 --- a/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c +++ b/usvm-python/cpythonadapter/src/main/c/approximations/builtins.c @@ -26,6 +26,8 @@ Approximation_len(PyObject *o) { symbolic = adapter->tuple_get_size(adapter->handler_param, get_symbolic_or_none(o)); } else if (is_virtual_object(concrete)) { symbolic = adapter->symbolic_virtual_unary_fun(adapter->handler_param, get_symbolic_or_none(o)); + } else if (PyDict_Check(concrete)) { + symbolic = dict_get_size(adapter->handler_param, get_symbolic_or_none(o)); } else { sprintf(adapter->msg_buffer, "__len__ of %s", Py_TYPE(concrete)->tp_name); if (adapter->lost_symbolic_value(adapter->handler_param, adapter->msg_buffer)) return 0; diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index ed5b4583ab..d1c225263d 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -56,15 +56,17 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe ConcolicContext *ctx = (ConcolicContext *) ctx_raw; SymbolicAdapter *adapter = ctx->adapter; PyTypeObject *type = (PyTypeObject *) type_raw; - if (type->tp_init == EXPORT_OBJECT_INIT && !kwargs && PyTuple_Size(args) == 0) { + if (type->tp_init == EXPORT_OBJECT_INIT && PyTuple_Size(args) == 0 && !kwargs) { PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); *approximated = 1; return wrap(concrete_obj, symbolic_obj, adapter); - } else if (type->tp_init == EXPORT_SLOT_INIT) { + } else if (type->tp_init == EXPORT_SLOT_INIT && type->tp_new == PyBaseObject_Type.tp_new) { PyObject *descr = _PyType_Lookup(type, PyUnicode_FromString("__init__")); if (descr && PyFunction_Check(descr)) { - PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, args, 0); + PyObject *tmp_args = PyTuple_Pack(0); + PyObject *concrete_obj = PyBaseObject_Type.tp_new(type, tmp_args, 0); + Py_DECREF(tmp_args); if (!concrete_obj) return 0; PyObject *symbolic_obj = create_empty_object(ctx_raw, type_raw); @@ -81,6 +83,15 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe return 0; return self; } + } else if (type == &PySet_Type && PyTuple_Size(args) == 0 && !kwargs) { + *approximated = 1; + PyObject *concrete_result = Py_TYPE(type)->tp_call(type, args, kwargs); + if (!concrete_result) + return 0; + PyObject *symbolic_result = create_empty_set(adapter->handler_param); + if (!symbolic_result) + return 0; + return wrap(concrete_result, symbolic_result, adapter); } PyObject *symbolic_type = get_symbolic_or_none(wrapped_type); SymbolicMethod *symbolic_method = extract_symbolic_method(ctx, symbolic_type); diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index f03c470891..56f7489269 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -56,8 +56,8 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonInt), - "construct_set_with_call", + listOf(typeSystem.pythonSet), + "empty_check", "Sets" ) val functions = listOf(function) @@ -85,8 +85,8 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - //if (module != "breadth_first_search_shortest_path_2") - // return null + if (module != "depth_first_search_2") + return null //if (name != "bfs_shortest_path_distance") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt index 7415d23d39..6c929b35d9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt @@ -74,4 +74,46 @@ class SetsTest: PythonTestRunnerForPrimitiveProgram("Sets", UMachineOptions(step ) ) } + + @Test + fun testConstructSetWithCall() { + check1WithConcreteRun( + constructFunction("construct_set_with_call", listOf(typeSystem.pythonInt)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testAddStrToSet() { + check1WithConcreteRun( + constructFunction("add_str_to_set", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testEmptyCheck() { + check1WithConcreteRun( + constructFunction("empty_check", listOf(typeSystem.pythonSet)), + eq(2), + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt index b53631ecee..dab0ac3886 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt @@ -10,5 +10,6 @@ enum class SymbolicMethodId( ListInsert, ListPop, ListExtend, - ListClear + ListClear, + SetAdd } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 5a36f05de9..e85dbb6e8e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -28,6 +28,7 @@ import static org.usvm.machine.interpreters.operations.basic.LongKt.*; import static org.usvm.machine.interpreters.operations.basic.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.basic.RangeKt.*; +import static org.usvm.machine.interpreters.operations.basic.SetKt.handlerCreateEmptySetKt; import static org.usvm.machine.interpreters.operations.basic.SetKt.handlerSetContainsKt; import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; @@ -35,6 +36,7 @@ import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodFloatKt; import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodIntKt; import static org.usvm.machine.interpreters.operations.symbolicmethods.ListKt.*; +import static org.usvm.machine.interpreters.operations.symbolicmethods.SetKt.symbolicMethodSetAddKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") @@ -599,6 +601,16 @@ public static SymbolForCPython handlerCreateDictConstKey(ConcolicRunContext cont return withTracing(context, event, () -> wrap(handlerCreateDictConstKeyKt(context, keys.obj, Arrays.stream(elements).map(s -> s.obj)))); } + @CPythonAdapterJavaMethod(cName = "create_empty_set") + @CPythonFunction( + argCTypes = {}, + argConverters = {}, + addToSymbolicAdapter = false + ) + public static SymbolForCPython handlerCreateEmptySet(ConcolicRunContext context) { + return methodWrapper(context, new MethodParameters("create_empty_set", Collections.emptyList()), () -> handlerCreateEmptySetKt(context)); + } + @CPythonAdapterJavaMethod(cName = "range_iter") @CPythonFunction( argCTypes = {CType.PyObject}, @@ -786,6 +798,33 @@ public static void handlerDictGetItem(ConcolicRunContext context, SymbolForCPyth withTracing(context, new MethodParametersNoReturn("dict_set_item", Arrays.asList(dict, key, value)), unit(() -> handlerDictSetItemKt(context, dict.obj, key.obj, value.obj))); } + @SuppressWarnings("all") + @CPythonAdapterJavaMethod(cName = "dict_iter") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerDictIter(ConcolicRunContext context, SymbolForCPython dict) { + if (dict.obj == null) + return null; + withTracing(context, new MethodParametersNoReturn("dict_iter", Collections.singletonList(dict)), unit(() -> handlerDictIterKt(context, dict.obj))); + return null; + } + + @SuppressWarnings("all") + @CPythonAdapterJavaMethod(cName = "dict_get_size") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter}, + addToSymbolicAdapter = false + ) + public static SymbolForCPython handlerDictSize(ConcolicRunContext context, SymbolForCPython dict) { + if (dict.obj == null) + return null; + withTracing(context, new MethodParametersNoReturn("dict_size", Collections.singletonList(dict)), unit(() -> handlerDictLengthKt(context, dict.obj))); + return null; + } + @CPythonAdapterJavaMethod(cName = "dict_contains") @CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, @@ -1196,6 +1235,15 @@ public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext contex @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "reverse") public MemberDescriptor listReverseDescriptor = new ApproximationDescriptor(ApproximationId.ListReverse); + @CPythonAdapterJavaMethod(cName = "symbolic_method_set_add") + @SymbolicMethod(id = SymbolicMethodId.SetAdd) + public static SymbolForCPython symbolicMethodSetAdd(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + return withTracing(context, new SymbolicMethodParameters("set_add", self, args), () -> symbolicMethodSetAddKt(context, self, args)); + } + + @SymbolicMethodDescriptor(nativeTypeName = "PySet_Type", nativeMemberName = "add") + public MemberDescriptor setAddDescriptor = new MethodDescriptor(SymbolicMethodId.SetAdd); + @SymbolicMemberDescriptor(nativeTypeName = "PySlice_Type", nativeMemberName = "start") public MemberDescriptor sliceStartDescriptor = SliceStartDescriptor.INSTANCE; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt index af739ca10d..c0dc286058 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt @@ -140,4 +140,20 @@ fun handlerDictContainsKt( } } myFork(ctx, result) +} + +fun handlerDictIterKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + myFork(ctx, dict.dictIsEmpty(ctx)) +} + +fun handlerDictLengthKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + myFork(ctx, dict.dictIsEmpty(ctx)) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt index 7ed6984884..9a399ee9e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt @@ -30,7 +30,6 @@ fun handlerSetContainsKt( myFork(ctx, result) } -/* fun handlerSetAddKt( ctx: ConcolicRunContext, set: UninterpretedSymbolicPythonObject, @@ -39,8 +38,22 @@ fun handlerSetAddKt( ctx.curState ?: return set.addSupertype(ctx, ctx.typeSystem.pythonSet) addHashableTypeConstrains(ctx, elem) + val elemType = elem.getTypeIfDefined(ctx) + val typeSystem = ctx.typeSystem + when (elemType) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = elem.getToIntContent(ctx) ?: return + set.addIntToSet(ctx, intValue) + } + else -> { + if (elemType == null) { + forkOnUnknownHashableType(ctx, elem) + } + set.addRefToSet(ctx, elem) + } + } } -*/ fun handlerCreateEmptySetKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt new file mode 100644 index 0000000000..2b44f426c0 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt @@ -0,0 +1,20 @@ +package org.usvm.machine.interpreters.operations.symbolicmethods + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.operations.basic.handlerLoadConstKt +import org.usvm.machine.interpreters.operations.basic.handlerSetAddKt + +fun symbolicMethodSetAddKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array +): SymbolForCPython? { + if (self?.obj == null || ctx.curState == null || args.size != 1 || args[0].obj == null) + return null + handlerSetAddKt(ctx, self.obj!!, args[0].obj!!) + val none = PythonObject(ConcretePythonInterpreter.pyNoneRef) + return SymbolForCPython(handlerLoadConstKt(ctx, none), 0) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 9aa7a6a168..49e999f5a4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -304,6 +304,7 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) typeSystem.pythonNoneType -> falseExpr typeSystem.pythonDict -> dictIsEmpty(ctx).not() + typeSystem.pythonSet -> setIsEmpty(ctx).not() is ConcretePythonType -> { if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) trueExpr @@ -710,6 +711,13 @@ fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBool return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) } +fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonSet) + ctx.curState!!.memory.writeField(address, SetContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) +} + fun UninterpretedSymbolicPythonObject.setContainsInt( ctx: ConcolicRunContext, key: UExpr @@ -719,13 +727,15 @@ fun UninterpretedSymbolicPythonObject.setContainsInt( return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) } -/* fun UninterpretedSymbolicPythonObject.addIntToSet( ctx: ConcolicRunContext, key: UExpr -): UBoolExpr { +) = with(ctx.ctx) { + require(ctx.curState != null) + makeSetNotEmpty(ctx) + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) } -*/ fun UninterpretedSymbolicPythonObject.setContainsRef( ctx: ConcolicRunContext, @@ -736,6 +746,16 @@ fun UninterpretedSymbolicPythonObject.setContainsRef( return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) } +fun UninterpretedSymbolicPythonObject.addRefToSet( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + makeSetNotEmpty(ctx) + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) +} + fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: UPythonContext): Boolean = with(ctx) { return modelHolder.model.readField(address, SetContents.isNotEmpty, boolSort).isFalse } From 3001c9be5898012f531a8a9e57e781ad5ce47553 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 5 Dec 2023 17:12:11 +0300 Subject: [PATCH 213/344] Fixed compilation error on linux --- usvm-python/cpythonadapter/src/main/c/manual_handlers.c | 2 +- .../annotations/codegeneration/CPythonFunctionGeneration.kt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c index d1c225263d..b4675a7817 100644 --- a/usvm-python/cpythonadapter/src/main/c/manual_handlers.c +++ b/usvm-python/cpythonadapter/src/main/c/manual_handlers.c @@ -85,7 +85,7 @@ handler_approximate_type_call(void *ctx_raw, int *approximated, PyObject *wrappe } } else if (type == &PySet_Type && PyTuple_Size(args) == 0 && !kwargs) { *approximated = 1; - PyObject *concrete_result = Py_TYPE(type)->tp_call(type, args, kwargs); + PyObject *concrete_result = Py_TYPE(type)->tp_call(type_raw, args, kwargs); if (!concrete_result) return 0; PyObject *symbolic_result = create_empty_set(adapter->handler_param); diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index e7e05741f4..beaec94953 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -72,12 +72,13 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): Pair 0) "int fail = 0;" else "" val implementation = """ $cReturnType $cName(${(listOf("void *arg") + cArgs).joinToString(", ")}) { // printf("INSIDE $cName!\n"); fflush(stdout); ConcolicContext *ctx = (ConcolicContext *) arg; - int fail = 0; + $failLine ${javaArgsCreation.joinToString("\n ")} // printf("CALLING JAVA METHOD IN $cName!\n"); fflush(stdout); $returnValueCreation From a4eca7cdd368bc5319db78f60e617dda97410a35 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 5 Dec 2023 19:44:09 +0300 Subject: [PATCH 214/344] Supported enumerate --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 6 +- .../kotlin/org/usvm/samples/EnumerateTest.kt | 51 ++++++++++++++++ .../src/test/resources/samples/Enumerate.py | 5 ++ .../usvm/annotations/ids/SymbolicMethodId.kt | 1 + .../org/usvm/interpreter/CPythonAdapter.java | 34 ++++++++++- .../interpreters/SymbolicClonesOfGlobals.kt | 2 + .../operations/basic/Enumerate.kt | 59 +++++++++++++++++++ .../operations/symbolicmethods/Builtins.kt | 9 +++ .../symbolicobjects/SymbolicObjectContents.kt | 28 ++++++++- 10 files changed, 190 insertions(+), 7 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt create mode 100644 usvm-python/src/test/resources/samples/Enumerate.py create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 132dc6445e..94fad37f34 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 132dc6445e67baf26ff8bf37edd3a7fc4a0ab39d +Subproject commit 94fad37f346e7c8177d8324f2a69a33c589f9e12 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 56f7489269..4e4b8d9eaf 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -56,9 +56,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonSet), - "empty_check", - "Sets" + listOf(PythonAnyType), + "use_enumerate", + "Enumerate" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt new file mode 100644 index 0000000000..0f7451158f --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt @@ -0,0 +1,51 @@ +package org.usvm.samples + +import org.junit.jupiter.api.Test +import org.usvm.UMachineOptions +import org.usvm.language.types.PythonAnyType +import org.usvm.runner.PythonTestRunnerForPrimitiveProgram +import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults + +class EnumerateTest: PythonTestRunnerForPrimitiveProgram("Enumerate", UMachineOptions(stepLimit = 30U)) { + @Test + fun testEnumerateOnList() { + check1WithConcreteRun( + constructFunction("use_enumerate", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testEnumerateOnTuple() { + check1WithConcreteRun( + constructFunction("use_enumerate", listOf(typeSystem.pythonTuple)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testEnumerateOnAny() { + check1WithConcreteRun( + constructFunction("use_enumerate", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } +} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Enumerate.py b/usvm-python/src/test/resources/samples/Enumerate.py new file mode 100644 index 0000000000..fbc8608046 --- /dev/null +++ b/usvm-python/src/test/resources/samples/Enumerate.py @@ -0,0 +1,5 @@ +def use_enumerate(x): + sum_ = 0 + for i, a in enumerate(x): + sum_ += i + a + assert sum_ == 239 \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt index dab0ac3886..761fc2cf9e 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt @@ -6,6 +6,7 @@ enum class SymbolicMethodId( ) { Int, Float, + Enumerate, ListAppend, ListInsert, ListPop, diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index e85dbb6e8e..3f111c42d8 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -23,6 +23,8 @@ import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; import static org.usvm.machine.interpreters.operations.basic.DictKt.*; +import static org.usvm.machine.interpreters.operations.basic.EnumerateKt.handlerEnumerateIterKt; +import static org.usvm.machine.interpreters.operations.basic.EnumerateKt.handlerEnumerateNextKt; import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; import static org.usvm.machine.interpreters.operations.basic.ListKt.*; import static org.usvm.machine.interpreters.operations.basic.LongKt.*; @@ -33,8 +35,7 @@ import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; -import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodFloatKt; -import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.symbolicMethodIntKt; +import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.*; import static org.usvm.machine.interpreters.operations.symbolicmethods.ListKt.*; import static org.usvm.machine.interpreters.operations.symbolicmethods.SetKt.symbolicMethodSetAddKt; import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; @@ -633,6 +634,28 @@ public static SymbolForCPython handlerRangeIteratorNext(ConcolicRunContext conte return methodWrapper(context, new MethodParameters("range_iterator_next", Collections.singletonList(rangeIterator)), () -> handlerRangeIteratorNextKt(context, rangeIterator.obj)); } + @CPythonAdapterJavaMethod(cName = "enumerate_iter") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerEnumerateIter(ConcolicRunContext context, SymbolForCPython enumerate) { + if (enumerate.obj == null) + return null; + return methodWrapper(context, new MethodParameters("enumerate_iter", Collections.singletonList(enumerate)), () -> handlerEnumerateIterKt(context, enumerate.obj)); + } + + @CPythonAdapterJavaMethod(cName = "enumerate_iternext") + @CPythonFunction( + argCTypes = {CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerEnumerateNext(ConcolicRunContext context, SymbolForCPython enumerate) { + if (enumerate.obj == null) + return null; + return methodWrapper(context, new MethodParameters("enumerate_iternext", Collections.singletonList(enumerate)), () -> handlerEnumerateNextKt(context, enumerate.obj)); + } + @CPythonAdapterJavaMethod(cName = "list_get_item") @CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, @@ -1189,6 +1212,13 @@ public static SymbolForCPython symbolicMethodFloat(ConcolicRunContext context, @ return withTracing(context, new SymbolicMethodParameters("float", null, args), () -> symbolicMethodFloatKt(context, args)); } + @CPythonAdapterJavaMethod(cName = "symbolic_method_enumerate") + @SymbolicMethod(id = SymbolicMethodId.Enumerate) + public static SymbolForCPython symbolicMethodEnumerate(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { + assert(self == null); + return withTracing(context, new SymbolicMethodParameters("enumerate", null, args), () -> symbolicMethodEnumerateKt(context, args)); + } + @CPythonAdapterJavaMethod(cName = "symbolic_method_list_append") @SymbolicMethod(id = SymbolicMethodId.ListAppend) public static SymbolForCPython symbolicMethodListAppend(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 9cbe7201af..3eb381ff9a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -14,6 +14,8 @@ object SymbolicClonesOfGlobals { ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Int) clonesMap["float"] = ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Float) + clonesMap["enumerate"] = + ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(null, SymbolicMethodId.Enumerate) clonesMap["list"] = ConcretePythonInterpreter.constructApproximation(null, ApproximationId.ListConstructor) clonesMap["set"] = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt new file mode 100644 index 0000000000..14a6547400 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt @@ -0,0 +1,59 @@ +package org.usvm.machine.interpreters.operations.basic + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.HasTpIter +import org.usvm.machine.symbolicobjects.* +import java.util.stream.Stream + +fun handlerCreateEnumerateKt( + ctx: ConcolicRunContext, + iterable: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + iterable.addSupertype(ctx, HasTpIter) + val typeSystem = ctx.typeSystem + val iterator: UninterpretedSymbolicPythonObject = when (iterable.getTypeIfDefined(ctx)) { + null -> { + addDelayedFork(ctx, iterable, ctx.curState!!.clone()) + return null + } + typeSystem.pythonList -> { + handlerListIterKt(ctx, iterable) ?: return null + } + typeSystem.pythonTuple -> { + handlerTupleIterKt(ctx, iterable) ?: return null + } + else -> return null + } + val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonEnumerate) + val result = UninterpretedSymbolicPythonObject(address, ctx.typeSystem) + result.initializeEnumerate(ctx, iterator) + return result +} + +fun handlerEnumerateIterKt( + ctx: ConcolicRunContext, + enumerate: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + return enumerate +} + +fun handlerEnumerateNextKt( + ctx: ConcolicRunContext, + enumerate: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val iterator = enumerate.getEnumerateIterator(ctx) + val typeSystem = ctx.typeSystem + val item: UninterpretedSymbolicPythonObject = when (iterator.getTypeIfDefined(ctx)) { + typeSystem.pythonListIteratorType -> + handlerListIteratorNextKt(ctx, iterator) ?: return null + typeSystem.pythonTupleIteratorType -> + handlerTupleIteratorNextKt(ctx, iterator) ?: return null + else -> return null + } + val indexValue = enumerate.getEnumerateIndexAndIncrement(ctx) + val index = constructInt(ctx, indexValue) + return handlerCreateTupleKt(ctx, Stream.of(index, item)) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt index 75c0454af0..e16b844ceb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt @@ -2,6 +2,7 @@ package org.usvm.machine.interpreters.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.operations.basic.handlerCreateEnumerateKt import org.usvm.machine.interpreters.operations.basic.handlerFloatCastKt import org.usvm.machine.interpreters.operations.basic.handlerIntCastKt @@ -17,4 +18,12 @@ fun symbolicMethodFloatKt(ctx: ConcolicRunContext, args: Array return null val value = args[0].obj ?: return null return handlerFloatCastKt(ctx, value)?.let { SymbolForCPython(it, 0) } +} + +fun symbolicMethodEnumerateKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { + if (args.size != 1) + return null + val iterable = args[0].obj ?: return null + val result = handlerCreateEnumerateKt(ctx, iterable) ?: return null + return SymbolForCPython(result, 0) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt index 49e999f5a4..f567217832 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt @@ -776,4 +776,30 @@ fun InterpretedInputSymbolicPythonObject.setContainsRef( return !setIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue } -/** enumerate **/ \ No newline at end of file +/** enumerate **/ + +fun UninterpretedSymbolicPythonObject.initializeEnumerate( + ctx: ConcolicRunContext, + arg: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) + ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getEnumerateIterator( + ctx: ConcolicRunContext +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(result, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( + ctx: ConcolicRunContext +): UExpr = with(ctx.ctx) { + require(ctx.curState != null) + val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) + ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkArithAdd(result, mkIntNum(1)), trueExpr) + return result +} \ No newline at end of file From d4b80da3eb8864a24ac465e95ec1719375a481d3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 5 Dec 2023 20:16:46 +0300 Subject: [PATCH 215/344] Added repetition check in NewStateObserverForRunner --- usvm-python/src/test/kotlin/manualTest.kt | 8 ++++---- .../org/usvm/samples/tricky/CompositeObjectsTest.kt | 2 +- .../kotlin/org/usvm/runner/NewStateObserverForRunner.kt | 8 ++++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 4e4b8d9eaf..073f0b5e62 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -85,8 +85,8 @@ private fun getFunctionInfo( return null if (ignoreFunctions.contains(name)) return null - if (module != "depth_first_search_2") - return null + //if (module != "depth_first_search_2") + // return null //if (name != "bfs_shortest_path_distance") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt index ffe31d7574..1043c21a9b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt @@ -9,7 +9,7 @@ import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( "tricky.CompositeObjects", allowPathDiversions = false, - options = UMachineOptions(stepLimit = 300U) + options = UMachineOptions(stepLimit = 400U) ) { @Test fun testF() { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index 0cdd48bc2c..af6c62b66f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -13,10 +13,14 @@ class NewStateObserverForRunner( ): NewStateObserver() { private val saver = PickledObjectSaver(communicator) private val seedSender = StateSeedSender(saver) + private val sentData = mutableSetOf() override fun onNewState(state: PythonExecutionState) { val data = seedSender.getData(state) ?: return - scope.launch { - seedSender.sendStateSeeds(data) + if (data !in sentData) { + sentData.add(data) + scope.launch { + seedSender.sendStateSeeds(data) + } } } } \ No newline at end of file From ad3d41799e861e405b8238779ae5cd9260bd9fc8 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 6 Dec 2023 18:50:45 +0300 Subject: [PATCH 216/344] Added several approximations --- .../approximations/implementations/dict.py | 42 ++++++++++++ .../approximations/implementations/list.py | 64 ++++++++++++++++++- .../approximations/implementations/tuple.py | 30 +++++++++ usvm-python/src/test/kotlin/manualTest.kt | 14 ++-- .../test/kotlin/org/usvm/samples/DictsTest.kt | 56 ++++++++++++++++ .../test/kotlin/org/usvm/samples/ListsTest.kt | 61 ++++++++++++++++++ .../test/kotlin/org/usvm/samples/TupleTest.kt | 28 ++++++++ .../samples/tricky/CompositeObjectsTest.kt | 28 -------- .../src/test/resources/samples/Dicts.py | 27 +++++++- .../src/test/resources/samples/Lists.py | 25 +++++++- .../src/test/resources/samples/Tuple.py | 11 +++- .../usvm/annotations/ids/ApproximationId.kt | 9 +++ .../org/usvm/interpreter/CPythonAdapter.java | 24 +++++++ .../interpreters/SymbolicClonesOfGlobals.kt | 2 + 14 files changed, 380 insertions(+), 41 deletions(-) create mode 100644 usvm-python/python_approximations/approximations/implementations/dict.py create mode 100644 usvm-python/python_approximations/approximations/implementations/tuple.py delete mode 100644 usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt diff --git a/usvm-python/python_approximations/approximations/implementations/dict.py b/usvm-python/python_approximations/approximations/implementations/dict.py new file mode 100644 index 0000000000..8fffb4abd4 --- /dev/null +++ b/usvm-python/python_approximations/approximations/implementations/dict.py @@ -0,0 +1,42 @@ +from approximations.api import * + + +class ConstructorApproximation(ApproximationForFunction): + @staticmethod + def accept(*args) -> bool: + return len(args) == 0 + + @staticmethod + def run(*args) -> list: + return {} + + +class GetApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return 1 <= len(args) <= 2 + + @staticmethod + def run(self: dict, *args) -> Any: + default = None + if len(args) == 2: + default = args[1] + if args[0] not in self: + return default + return self[args[0]] + + +class SetdefaultApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return 1 <= len(args) <= 2 + + @staticmethod + def run(self: dict, *args) -> Any: + default = None + if len(args) == 2: + default = args[1] + if args[0] in self: + return self[args[0]] + self[args[0]] = default + return default \ No newline at end of file diff --git a/usvm-python/python_approximations/approximations/implementations/list.py b/usvm-python/python_approximations/approximations/implementations/list.py index 18b7ca9fc4..25034fb45a 100644 --- a/usvm-python/python_approximations/approximations/implementations/list.py +++ b/usvm-python/python_approximations/approximations/implementations/list.py @@ -117,4 +117,66 @@ def slice_get_item_impl(self: list, item: slice): cur += step return result - run = slice_get_item_impl \ No newline at end of file + run = slice_get_item_impl + + +class SortApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 0 + + @staticmethod + def run(self: list, *args) -> Any: + for i in range(len(self)): + new_elem = self[i] + for j in range(i): + if new_elem < self[j]: + for k in range(i, j, -1): + self[k] = self[k - 1] + self[j] = new_elem + break + + +class CopyApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 0 + + @staticmethod + def run(self: list, *args) -> Any: + result = [] + for elem in self: + result.append(elem) + return result + + +class RemoveApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: list, *args) -> Any: + elem = args[0] + cnt = -1 + for x in self: + cnt += 1 + if x == elem: + self.pop(cnt) + return + raise ValueError() + + +class CountApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: list, *args) -> Any: + elem = args[0] + result = 0 + for x in self: + if x == elem: + result += 1 + return result \ No newline at end of file diff --git a/usvm-python/python_approximations/approximations/implementations/tuple.py b/usvm-python/python_approximations/approximations/implementations/tuple.py new file mode 100644 index 0000000000..58fb62aca2 --- /dev/null +++ b/usvm-python/python_approximations/approximations/implementations/tuple.py @@ -0,0 +1,30 @@ +from approximations.api import * + + +class IndexApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: tuple, *args) -> Any: + target = args[0] + for i in range(len(self)): + if self[i] == target: + return i + raise ValueError() + + +class CountApproximation(ApproximationForMethod): + @staticmethod + def accept(self, *args) -> bool: + return len(args) == 1 + + @staticmethod + def run(self: tuple, *args) -> Any: + elem = args[0] + result = 0 + for x in self: + if x == elem: + result += 1 + return result \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 073f0b5e62..06fb344d41 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -56,19 +56,15 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "use_enumerate", - "Enumerate" + listOf(PythonAnyType, PythonAnyType), + "use_setdefault", + "Dicts" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) } -private val ignoreFunctions = listOf( - // "SegmentTree.build", - "get_transitions", - "BidirectionalAStar.retrace_bidirectional_path" -) +private val ignoreFunctions = listOf() private val ignoreModules = listOf( "odd_even_transposition_parallel" ) @@ -87,7 +83,7 @@ private fun getFunctionInfo( return null //if (module != "depth_first_search_2") // return null - //if (name != "bfs_shortest_path_distance") + //if (name != "BidirectionalAStar.search") // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index a1ea77a21b..01c582fabe 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -169,4 +169,60 @@ class DictsTest : PythonTestRunnerForPrimitiveProgram("Dicts", UMachineOptions(s ) ) } + + @Test + fun testUseGet() { + check1WithConcreteRun( + constructFunction("use_get", listOf(typeSystem.pythonDict)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.repr == "None" }, + { _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testUseGetWithDefault() { + check2WithConcreteRun( + constructFunction("use_get_with_default", listOf(typeSystem.pythonDict, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testUseSetdefault() { + check2WithConcreteRun( + constructFunction("use_setdefault", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } + + @Test + fun testUseConstructor() { + check2WithConcreteRun( + constructFunction("use_constructor", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 001323a952..1e31620a40 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -493,4 +493,65 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) } + + @Test + fun testUseSort() { + val oldOptions = options + options = UMachineOptions(stepLimit = 100U) + check1WithConcreteRun( + constructFunction("use_sort", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + options = oldOptions + } + + @Test + fun testUseCopy() { + check1WithConcreteRun( + constructFunction("use_copy", listOf(typeSystem.pythonList)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testUseRemove() { + allowPathDiversions = true + check1WithConcreteRun( + constructFunction("use_remove", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + allowPathDiversions = false + } + + @Test + fun testUseCount() { + check1WithConcreteRun( + constructFunction("use_count", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index 5c27675ec0..ff6e565c32 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -119,4 +119,32 @@ class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(st options = oldOptions allowPathDiversions = false } + + @Test + fun testUseCount() { + check1WithConcreteRun( + constructFunction("use_count", listOf(PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } + + @Test + fun testUseIndex() { + check1WithConcreteRun( + constructFunction("use_index", listOf(typeSystem.pythonTuple)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt deleted file mode 100644 index 1043c21a9b..0000000000 --- a/usvm-python/src/test/kotlin/org/usvm/samples/tricky/CompositeObjectsTest.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.usvm.samples.tricky - -import org.junit.jupiter.api.Test -import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType -import org.usvm.runner.PythonTestRunnerForStructuredProgram -import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults - -class CompositeObjectsTest: PythonTestRunnerForStructuredProgram( - "tricky.CompositeObjects", - allowPathDiversions = false, - options = UMachineOptions(stepLimit = 400U) -) { - @Test - fun testF() { - check1WithConcreteRun( - constructFunction("f", listOf(PythonAnyType)), - ignoreNumberOfAnalysisResults, - standardConcolicAndConcreteChecks, - /* invariants = */ emptyList(), - /* propertiesToDiscover = */ listOf( - { _, res -> res.repr == "1" }, - { _, res -> res.repr == "2" }, - { _, res -> res.repr == "3" }, - ) - ) - } -} \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Dicts.py b/usvm-python/src/test/resources/samples/Dicts.py index 0bc5eac32c..f4f9ad5da3 100644 --- a/usvm-python/src/test/resources/samples/Dicts.py +++ b/usvm-python/src/test/resources/samples/Dicts.py @@ -48,4 +48,29 @@ def dict_virtual_set_item(x, y): def dict_empty_check(d: dict): - assert d \ No newline at end of file + assert d + + +def use_get(d: dict): + assert d.get(0) == 239 + + +def use_get_with_default(d: dict, x): + a = d.get(0, 25) + b = d.get(0, 24) + assert a != b + assert a == x + + +def use_setdefault(x, y): + d = {} + d.setdefault(1) + d.setdefault(2, 15) + assert x == d[1] + assert y == d[2] + + +def use_constructor(x, y): + d = dict() + d[1] = 15 + assert d[x] == y \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index 0bd8d023cb..c312772232 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -238,4 +238,27 @@ def use_constructor(x): def list_from_range(x, y, z): a = list(range(x, y, z)) - assert a[0] == -239 \ No newline at end of file + assert a[0] == -239 + + +def use_sort(x: list): + assert len(x) == 3 + assert x != [1, 2, 3] + x.sort() + assert x == [1, 2, 3] + + +def use_copy(x: list): + y = x.copy() + assert y[0] == 239 + + +def use_remove(x): + lst = [1, 2, 3] + lst.remove(x) + assert lst == [1, 2] + + +def use_count(x): + lst = [1, 3, 3, 2] + assert lst.count(x) == 2 \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Tuple.py b/usvm-python/src/test/resources/samples/Tuple.py index 37c66f8c5d..e3df9e0022 100644 --- a/usvm-python/src/test/resources/samples/Tuple.py +++ b/usvm-python/src/test/resources/samples/Tuple.py @@ -56,4 +56,13 @@ def get_item_of_input(x, t): elif x == t[2]: return 3 else: - return 4 \ No newline at end of file + return 4 + + +def use_count(x): + lst = (1, 3, 3, 2) + assert lst.count(x) == 2 + + +def use_index(x: tuple): + assert x.index(0) == 1 \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt index 4d5a50c563..ddd3707cbd 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt @@ -8,5 +8,14 @@ enum class ApproximationId( ListIndex("approximations.implementations.list", "IndexApproximation"), ListReverse("approximations.implementations.list", "ReverseApproximation"), ListConstructor("approximations.implementations.list", "ConstructorApproximation"), + ListSort("approximations.implementations.list", "SortApproximation"), + ListCopy("approximations.implementations.list", "CopyApproximation"), + ListRemove("approximations.implementations.list", "RemoveApproximation"), + ListCount("approximations.implementations.list", "CountApproximation"), + DictConstructor("approximations.implementations.dict", "ConstructorApproximation"), + DictGet("approximations.implementations.dict", "GetApproximation"), + DictSetdefault("approximations.implementations.dict", "SetdefaultApproximation"), + TupleIndex("approximations.implementations.tuple", "IndexApproximation"), + TupleCount("approximations.implementations.tuple", "CountApproximation"), SetConstructor("approximations.implementations.set", "ConstructorApproximation") } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 3f111c42d8..e581fcb8e4 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -1265,6 +1265,30 @@ public static SymbolForCPython symbolicMethodListClear(ConcolicRunContext contex @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "reverse") public MemberDescriptor listReverseDescriptor = new ApproximationDescriptor(ApproximationId.ListReverse); + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "sort") + public MemberDescriptor listSortDescriptor = new ApproximationDescriptor(ApproximationId.ListSort); + + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "copy") + public MemberDescriptor listCopyDescriptor = new ApproximationDescriptor(ApproximationId.ListCopy); + + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "remove") + public MemberDescriptor listRemoveDescriptor = new ApproximationDescriptor(ApproximationId.ListRemove); + + @SymbolicMethodDescriptor(nativeTypeName = "PyList_Type", nativeMemberName = "count") + public MemberDescriptor listCountDescriptor = new ApproximationDescriptor(ApproximationId.ListCount); + + @SymbolicMethodDescriptor(nativeTypeName = "PyDict_Type", nativeMemberName = "get") + public MemberDescriptor dictGetDescriptor = new ApproximationDescriptor(ApproximationId.DictGet); + + @SymbolicMethodDescriptor(nativeTypeName = "PyDict_Type", nativeMemberName = "setdefault") + public MemberDescriptor dictSetdefaultDescriptor = new ApproximationDescriptor(ApproximationId.DictSetdefault); + + @SymbolicMethodDescriptor(nativeTypeName = "PyTuple_Type", nativeMemberName = "count") + public MemberDescriptor tupleCountDescriptor = new ApproximationDescriptor(ApproximationId.TupleCount); + + @SymbolicMethodDescriptor(nativeTypeName = "PyTuple_Type", nativeMemberName = "index") + public MemberDescriptor tupleIndexDescriptor = new ApproximationDescriptor(ApproximationId.TupleIndex); + @CPythonAdapterJavaMethod(cName = "symbolic_method_set_add") @SymbolicMethod(id = SymbolicMethodId.SetAdd) public static SymbolForCPython symbolicMethodSetAdd(ConcolicRunContext context, @Nullable SymbolForCPython self, SymbolForCPython[] args) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt index 3eb381ff9a..8b797c393e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt @@ -20,6 +20,8 @@ object SymbolicClonesOfGlobals { ConcretePythonInterpreter.constructApproximation(null, ApproximationId.ListConstructor) clonesMap["set"] = ConcretePythonInterpreter.constructApproximation(null, ApproximationId.SetConstructor) + clonesMap["dict"] = + ConcretePythonInterpreter.constructApproximation(null, ApproximationId.DictConstructor) } init { From ad6dc88557584ed1c3b20d87b4ca6b4be7c54750 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 6 Dec 2023 19:43:04 +0300 Subject: [PATCH 217/344] Supported build_set --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 8 ++--- .../test/kotlin/org/usvm/samples/SetsTest.kt | 14 ++++++++ .../src/test/resources/samples/Sets.py | 6 ++-- .../org/usvm/interpreter/CPythonAdapter.java | 15 +++++++-- .../interpreters/operations/basic/Set.kt | 33 ++++++++++++++++--- .../tracing/SymbolicHandlerEvent.kt | 1 + 7 files changed, 65 insertions(+), 14 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 94fad37f34..9648352465 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 94fad37f346e7c8177d8324f2a69a33c589f9e12 +Subproject commit 964835246560dcba40868cd4c269d90602706c63 diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 06fb344d41..5956412e62 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -32,8 +32,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -57,8 +57,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType, PythonAnyType), - "use_setdefault", - "Dicts" + "construct_set_with_syntax", + "Sets" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt index 6c929b35d9..ecc05b708a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt @@ -116,4 +116,18 @@ class SetsTest: PythonTestRunnerForPrimitiveProgram("Sets", UMachineOptions(step ) ) } + + @Test + fun testConstructSetWithSyntax() { + check2WithConcreteRun( + constructFunction("construct_set_with_syntax", listOf(PythonAnyType, PythonAnyType)), + ignoreNumberOfAnalysisResults, + standardConcolicAndConcreteChecks, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, _, res -> res.repr == "None" }, + { _, _, res -> res.selfTypeName == "AssertionError" } + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/Sets.py b/usvm-python/src/test/resources/samples/Sets.py index 0506be265e..f66c1ffc54 100644 --- a/usvm-python/src/test/resources/samples/Sets.py +++ b/usvm-python/src/test/resources/samples/Sets.py @@ -28,9 +28,9 @@ def add_str_to_set(x): s.add("bbb") assert x in s - -def construct_set_with_syntax(x: int): - s = {1, 2, 3} +# TODO: from frosetset +def construct_set_with_syntax(x, y): + s = {y} assert x in s diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index e581fcb8e4..2cd23b7cd2 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -30,8 +30,7 @@ import static org.usvm.machine.interpreters.operations.basic.LongKt.*; import static org.usvm.machine.interpreters.operations.basic.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.operations.basic.RangeKt.*; -import static org.usvm.machine.interpreters.operations.basic.SetKt.handlerCreateEmptySetKt; -import static org.usvm.machine.interpreters.operations.basic.SetKt.handlerSetContainsKt; +import static org.usvm.machine.interpreters.operations.basic.SetKt.*; import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; @@ -602,6 +601,18 @@ public static SymbolForCPython handlerCreateDictConstKey(ConcolicRunContext cont return withTracing(context, event, () -> wrap(handlerCreateDictConstKeyKt(context, keys.obj, Arrays.stream(elements).map(s -> s.obj)))); } + @CPythonAdapterJavaMethod(cName = "create_set") + @CPythonFunction( + argCTypes = {CType.PyObjectArray}, + argConverters = {ObjectConverter.ArrayConverter} + ) + public static SymbolForCPython handlerCreateSet(ConcolicRunContext context, SymbolForCPython[] elements) { + if (Arrays.stream(elements).anyMatch(elem -> elem.obj == null)) + return null; + SetCreation event = new SetCreation(Arrays.asList(elements)); + return withTracing(context, event, () -> wrap(handlerCreateSetKt(context, Arrays.stream(elements).map(s -> s.obj)))); + } + @CPythonAdapterJavaMethod(cName = "create_empty_set") @CPythonFunction( argCTypes = {}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt index 9a399ee9e7..b299a48595 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt @@ -3,6 +3,8 @@ package org.usvm.machine.interpreters.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.* +import java.util.stream.Stream +import kotlin.streams.asSequence fun handlerSetContainsKt( ctx: ConcolicRunContext, @@ -30,14 +32,11 @@ fun handlerSetContainsKt( myFork(ctx, result) } -fun handlerSetAddKt( +private fun addItem( ctx: ConcolicRunContext, set: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject ) { - ctx.curState ?: return - set.addSupertype(ctx, ctx.typeSystem.pythonSet) - addHashableTypeConstrains(ctx, elem) val elemType = elem.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem when (elemType) { @@ -55,8 +54,34 @@ fun handlerSetAddKt( } } +fun handlerSetAddKt( + ctx: ConcolicRunContext, + set: UninterpretedSymbolicPythonObject, + elem: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + set.addSupertype(ctx, ctx.typeSystem.pythonSet) + addHashableTypeConstrains(ctx, elem) + addItem(ctx, set, elem) +} + fun handlerCreateEmptySetKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonSet) return UninterpretedSymbolicPythonObject(address, ctx.typeSystem) +} + + +fun handlerCreateSetKt( + ctx: ConcolicRunContext, + elemsStream: Stream +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val elems = elemsStream.asSequence().toList() + val result = handlerCreateEmptySetKt(ctx) ?: return null + elems.forEach { elem -> + addHashableTypeConstrains(ctx, elem) + addItem(ctx, result, elem) + } + return result } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt index f994890718..ae4bcf4aa0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt @@ -20,6 +20,7 @@ data class ListCreation(val elements: List): SymbolicHandlerEv data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() data class DictCreationConstKey(val keys: SymbolForCPython, val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() +data class SetCreation(val elements: List): SymbolicHandlerEventParameters() data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() data class EmptyObjectCreation(val type: PythonObject): SymbolicHandlerEventParameters() data class MethodParameters( From d3eed1ac9d2cba539245842110cbcb7c6308a878 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 7 Dec 2023 13:24:54 +0300 Subject: [PATCH 218/344] Added str_eq and str_neq --- usvm-python/cpythonadapter/cpython | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 14 ++++------- .../org/usvm/interpreter/CPythonAdapter.java | 22 +++++++++++++++++ .../interpreters/operations/basic/Common.kt | 24 +++++++++++++++++++ 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/usvm-python/cpythonadapter/cpython b/usvm-python/cpythonadapter/cpython index 9648352465..bf05f18fe1 160000 --- a/usvm-python/cpythonadapter/cpython +++ b/usvm-python/cpythonadapter/cpython @@ -1 +1 @@ -Subproject commit 964835246560dcba40868cd4c269d90602706c63 +Subproject commit bf05f18fe114ec1f7edcf853d27a2da5e44f4b3b diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 5956412e62..cbbc1d096e 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -39,7 +39,7 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( + val (program, typeSystem) = constructPrimitiveProgram( """ def list_concat(x): y = x + [1] @@ -49,16 +49,12 @@ private fun buildSampleRunConfig(): RunConfig { def f(x): - s = 0 - for i, a in enumerate(x): - s += i + a - assert s == 10 + assert x != "aaaa" """.trimIndent() - )*/ + ) val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType), - "construct_set_with_syntax", - "Sets" + listOf(PythonAnyType), + "f", ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 2cd23b7cd2..fe5f5a1e6d 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -212,6 +212,28 @@ public static void handlerIsOp(ConcolicRunContext context, SymbolForCPython left withTracing(context, new MethodParametersNoReturn("is_op", Arrays.asList(left, right)), unit(() -> handlerIsOpKt(context, left.obj, right.obj))); } + @CPythonAdapterJavaMethod(cName = "str_eq") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerStrEq(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("str_eq", Arrays.asList(left, right)), () -> handlerStrEqKt(context, left.obj, right.obj)); + } + + @CPythonAdapterJavaMethod(cName = "str_neq") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter} + ) + public static SymbolForCPython handlerStrNeq(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { + if (left.obj == null || right.obj == null) + return null; + return methodWrapper(context, new MethodParameters("str_neq", Arrays.asList(left, right)), () -> handlerStrNeqKt(context, left.obj, right.obj)); + } + @CPythonAdapterJavaMethod(cName = "none_check") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt index 48260098a5..eda86b39e9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt @@ -87,6 +87,30 @@ fun createIterable( } } +fun handlerStrEqKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + left.addSupertype(ctx, ctx.typeSystem.pythonStr) + right.addSupertype(ctx, ctx.typeSystem.pythonStr) + val result = ctx.ctx.mkHeapRefEq(left.address, right.address) + return constructBool(ctx, result) +} + +fun handlerStrNeqKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + left.addSupertype(ctx, ctx.typeSystem.pythonStr) + right.addSupertype(ctx, ctx.typeSystem.pythonStr) + val result = ctx.ctx.mkNot(ctx.ctx.mkHeapRefEq(left.address, right.address)) + return constructBool(ctx, result) +} + fun handlerIsOpKt( ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, From 4ded8b768f26a96f19424db0aeaab0bb04abaad3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 7 Dec 2023 13:33:24 +0300 Subject: [PATCH 219/344] Some tests --- .../usvm/samples/SimpleTypeInferenceTest.kt | 28 +++++++++++++++++++ .../resources/samples/SimpleTypeInference.py | 10 ++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 5e2c3ccda9..dc92de9013 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -208,4 +208,32 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn ) ) } + + @Test + fun testUseStrEq() { + check1WithConcreteRun( + constructFunction("use_str_eq", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteReprsIfSuccess, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { _, res -> res.selfTypeName == "AssertionError" }, + { x, res -> x.typeName == "str" && res.repr == "None" }, + ) + ) + } + + @Test + fun testUseStrNeq() { + check1WithConcreteRun( + constructFunction("use_str_neq", List(1) { PythonAnyType }), + ignoreNumberOfAnalysisResults, + compareConcolicAndConcreteReprsIfSuccess, + /* invariants = */ emptyList(), + /* propertiesToDiscover = */ listOf( + { x, res -> x.typeName == "str" && res.selfTypeName == "AssertionError" }, + { _, res -> res.repr == "None" }, + ) + ) + } } \ No newline at end of file diff --git a/usvm-python/src/test/resources/samples/SimpleTypeInference.py b/usvm-python/src/test/resources/samples/SimpleTypeInference.py index 00b1f0ad01..95c402f88b 100644 --- a/usvm-python/src/test/resources/samples/SimpleTypeInference.py +++ b/usvm-python/src/test/resources/samples/SimpleTypeInference.py @@ -95,4 +95,12 @@ def range_loop(x): def sum_usage(x): s = sum(x) - assert s == 10 \ No newline at end of file + assert s == 10 + + +def use_str_eq(x): + assert x == "aaaaa" + + +def use_str_neq(x): + assert x != "aaaa" \ No newline at end of file From dda0d1447a9ce528d70ef9836380505de24aa084 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 12 Dec 2023 15:23:44 +0300 Subject: [PATCH 220/344] Fixes after rebase --- usvm-python/src/test/kotlin/manualTest.kt | 3 ++- .../src/test/kotlin/org/usvm/runner/PythonTestRunner.kt | 2 +- .../src/main/kotlin/org/usvm/machine/PythonExecutionState.kt | 2 ++ .../src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index cbbc1d096e..9931b61601 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -23,6 +23,7 @@ import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.buildMypyInfo import org.utbot.python.newtyping.mypy.readMypyInfoBuild import java.io.File +import kotlin.time.Duration.Companion.seconds fun main() { /*val venvConfig = VenvConfig( @@ -161,7 +162,7 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { val runner = CustomPythonTestRunner( program, typeSystem, - UMachineOptions(stepLimit = 60U, timeoutMs = 60_000), + UMachineOptions(stepLimit = 60U, timeout = 60.seconds), allowPathDiversions = true ) runner.timeoutPerRunMs = 10_000 diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index b199dd83bb..05e2465323 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -34,7 +34,7 @@ sealed class PythonTestRunner( saver, options.stepLimit?.toInt() ?: 300, allowPathDiversion = allowPathDiversions, - timeoutMs = options.timeoutMs, + timeoutMs = options.timeout.inWholeMilliseconds, timeoutPerRunMs = timeoutPerRunMs ) saver.getResults() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt index c422d73dc5..85cd136783 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt @@ -60,6 +60,8 @@ class PythonExecutionState( mockedObjects.toMutableSet() // copy ) } + + override val entrypoint = pythonCallable override val isExceptional: Boolean = false // TODO val meta = PythonExecutionStateMeta() val pyModel: PyModelWrapper diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt index 21d589e559..6feb8ea683 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt @@ -30,7 +30,7 @@ class PyModelWrapper(val uModel: UModelBase) { } fun getFirstType(ref: UConcreteHeapRef): PythonType? { - val typeStream = uModel.types.typeStream(ref).take(1) + val typeStream = uModel.types.getTypeStream(ref).take(1) if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) return null val first = typeStream.take(1).first() @@ -41,7 +41,7 @@ class PyModelWrapper(val uModel: UModelBase) { } fun getConcreteType(ref: UConcreteHeapRef): ConcretePythonType? { - val typeStream = uModel.types.typeStream(ref) + val typeStream = uModel.types.getTypeStream(ref) val prefix = typeStream.take(2) if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) return null From bc161e48cb01465780a6111d2b8ff10ad7080c6d Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 13 Dec 2023 19:36:03 +0300 Subject: [PATCH 221/344] Structure refactoring --- .../runner/UtBotPythonRunnerEntryPoint.kt | 4 +- usvm-python/src/test/kotlin/manualTest.kt | 18 +- .../org/usvm/runner/PythonTestRunner.kt | 8 +- .../org/usvm/samples/IllegalOperationTest.kt | 2 +- .../org/usvm/samples/PathDiversionTest.kt | 2 +- .../org/usvm/samples/SimpleExampleTest.kt | 2 - .../samples/tricky/CompositeObjects.py | 8 +- .../org/usvm/interpreter/CPythonAdapter.java | 47 +- .../usvm/interpreter/ConcolicRunContext.java | 20 +- .../kotlin/org/usvm/language/Callables.kt | 6 +- .../main/kotlin/org/usvm/language/Program.kt | 6 +- .../usvm/language/types/ElementConstraints.kt | 6 +- .../org/usvm/language/types/TypeSystem.kt | 8 +- .../kotlin/org/usvm/language/types/Types.kt | 2 +- .../org/usvm/language/types/VirtualTypes.kt | 6 +- .../{PythonComponents.kt => PyComponents.kt} | 2 +- .../{UPythonContext.kt => PyContext.kt} | 5 +- .../{PythonMachine.kt => PyMachine.kt} | 33 +- .../{PythonExecutionState.kt => PyState.kt} | 31 +- .../ConcretePythonInterpreter.kt | 9 +- .../{ => concrete}/venv/Activation.kt | 50 +- .../{ => concrete}/venv/Config.kt | 16 +- .../operations/symbolicmethods/Utils.kt | 10 - .../{ => symbolic}/SymbolicClonesOfGlobals.kt | 3 +- .../{ => symbolic}/USVMPythonInterpreter.kt | 24 +- .../{ => symbolic}/operations/basic/Common.kt | 7 +- .../operations/basic/Constants.kt | 7 +- .../operations/basic/Control.kt | 28 +- .../{ => symbolic}/operations/basic/Dict.kt | 316 +++---- .../operations/basic/Enumerate.kt | 119 +-- .../{ => symbolic}/operations/basic/Float.kt | 3 +- .../{ => symbolic}/operations/basic/List.kt | 3 +- .../{ => symbolic}/operations/basic/Long.kt | 4 +- .../operations/basic/MethodNotifications.kt | 2 +- .../{ => symbolic}/operations/basic/Range.kt | 5 +- .../{ => symbolic}/operations/basic/Set.kt | 3 +- .../{ => symbolic}/operations/basic/Slice.kt | 6 +- .../{ => symbolic}/operations/basic/Tuple.kt | 6 +- .../operations/basic/Virtual.kt | 14 +- .../descriptors/ApproximationDescriptor.kt | 28 +- .../descriptors/MethodDescriptor.kt | 26 +- .../descriptors/PythonMethodDescriptor.kt | 26 +- .../operations/descriptors/Slice.kt | 7 +- .../operations/symbolicmethods/Builtins.kt | 8 +- .../operations/symbolicmethods/List.kt | 6 +- .../operations/symbolicmethods/Set.kt | 10 +- .../operations/symbolicmethods/Utils.kt | 10 + .../operations/tracing/PathTracing.kt | 5 +- .../tracing/SymbolicHandlerEvent.kt | 4 +- .../usvm/machine/model/ConstraintsVisitor.kt | 8 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 17 +- .../usvm/machine/model/PythonMockEvaluator.kt | 28 +- .../kotlin/org/usvm/machine/model/Utils.kt | 51 ++ .../model/regions/WrappedArrayIndexRegion.kt | 8 +- .../model/regions/WrappedArrayLengthRegion.kt | 4 +- .../model/regions/WrappedRefMapRegion.kt | 4 +- .../model/regions/WrappedRefSetRegion.kt | 13 +- .../machine/model/regions/WrappedSetRegion.kt | 4 +- .../PyVirtualPathSelector.kt} | 44 +- .../types}/Prioritization.kt | 2 +- .../types}/SymbolTypeTree.kt | 10 +- .../rendering/ConverterToPythonObject.kt | 24 +- .../machine/rendering/DefaultValueProvider.kt | 6 +- .../usvm/machine/rendering/StateSeedSender.kt | 8 +- .../usvm/machine/saving/PickledObjectSaver.kt | 4 +- .../saving/PythonAnalysisResultSaver.kt | 2 +- .../machine/saving/PythonObjectSerializer.kt | 4 +- .../saving/PythonRepresentationSaver.kt | 2 +- .../org/usvm/machine/saving/SaverAPI.kt | 2 +- .../symbolicobjects/PreallocatedObjects.kt | 8 +- .../SymbolicObjectConstruction.kt | 11 +- .../symbolicobjects/SymbolicObjectContents.kt | 805 ------------------ .../symbolicobjects/SymbolicPythonObject.kt | 17 +- .../symbolicobjects/memory/ArrayLike.kt | 67 ++ .../machine/symbolicobjects/memory/Bool.kt | 60 ++ .../machine/symbolicobjects/memory/Dict.kt | 173 ++++ .../symbolicobjects/memory/Enumerate.kt | 36 + .../machine/symbolicobjects/memory/Float.kt | 125 +++ .../machine/symbolicobjects/memory/Int.kt | 55 ++ .../symbolicobjects/memory/ListIterator.kt | 44 + .../machine/symbolicobjects/memory/Range.kt | 42 + .../symbolicobjects/memory/RangeIterator.kt | 50 ++ .../machine/symbolicobjects/memory/Set.kt | 94 ++ .../machine/symbolicobjects/memory/Slice.kt | 81 ++ .../symbolicobjects/memory/StandardFields.kt | 75 ++ .../machine/symbolicobjects/memory/Str.kt | 8 + .../symbolicobjects/memory/TupleIterator.kt | 39 + .../org/usvm/machine/utils/Generators.kt | 4 +- ...neStatistics.kt => PyMachineStatistics.kt} | 8 +- .../org/usvm/machine/utils/PyModelWrapper.kt | 58 -- .../usvm/machine/utils/PythonImportUtils.kt | 2 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 3 +- .../org/usvm/machine/utils/UtTypeUtils.kt | 2 +- .../usvm/runner/NewStateObserverForRunner.kt | 4 +- .../usvm/runner/PythonMachineSocketRunner.kt | 5 +- 95 files changed, 1615 insertions(+), 1487 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{PythonComponents.kt => PyComponents.kt} (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{UPythonContext.kt => PyContext.kt} (90%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{PythonMachine.kt => PyMachine.kt} (88%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{PythonExecutionState.kt => PyState.kt} (87%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => concrete}/ConcretePythonInterpreter.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => concrete}/venv/Activation.kt (94%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => concrete}/venv/Config.kt (68%) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/SymbolicClonesOfGlobals.kt (91%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/USVMPythonInterpreter.kt (92%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Common.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Constants.kt (91%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Control.kt (74%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Dict.kt (95%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Enumerate.kt (88%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Float.kt (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/List.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Long.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/MethodNotifications.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Range.kt (83%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Set.kt (95%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Slice.kt (86%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Tuple.kt (88%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/basic/Virtual.kt (92%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/descriptors/ApproximationDescriptor.kt (80%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/descriptors/MethodDescriptor.kt (80%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/descriptors/PythonMethodDescriptor.kt (80%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/descriptors/Slice.kt (82%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/symbolicmethods/Builtins.kt (74%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/symbolicmethods/List.kt (88%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/symbolicmethods/Set.kt (58%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/tracing/PathTracing.kt (93%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/{ => symbolic}/operations/tracing/SymbolicHandlerEvent.kt (95%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{PythonVirtualPathSelector.kt => ps/PyVirtualPathSelector.kt} (88%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{types/prioritization => ps/types}/Prioritization.kt (95%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{types/prioritization => ps/types}/SymbolTypeTree.kt (96%) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/{PythonMachineStatistics.kt => PyMachineStatistics.kt} (96%) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index 2470f999ce..5dd88e0271 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -1,7 +1,7 @@ package org.usvm.runner -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.venv.VenvConfig +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.venv.VenvConfig import java.io.File fun main(args: Array) { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 9931b61601..39f2005c7b 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -5,9 +5,8 @@ import org.usvm.machine.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.IllegalOperationException -import org.usvm.machine.interpreters.venv.VenvConfig +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.saving.Fail import org.usvm.machine.saving.Success import org.usvm.machine.saving.createDictSaver @@ -40,7 +39,7 @@ fun main() { } private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructPrimitiveProgram( + val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( """ def list_concat(x): y = x + [1] @@ -52,10 +51,11 @@ private fun buildSampleRunConfig(): RunConfig { def f(x): assert x != "aaaa" """.trimIndent() - ) + )*/ val function = PythonUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "f", + "g", + "tricky.CompositeObjects" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -186,7 +186,7 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { private fun analyze(runConfig: RunConfig) { val (program, typeSystem, functions) = runConfig - val machine = PythonMachine(program, typeSystem, printErrorMsg = false) + val machine = PyMachine(program, typeSystem, printErrorMsg = false) val emptyCoverage = mutableListOf() machine.use { activeMachine -> functions.forEach { f -> @@ -197,11 +197,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 60, + maxIterations = 150, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, - timeoutMs = 30_000 + timeoutMs = 60_000 ) saver.getResults().forEach { (_, inputs, result) -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 05e2465323..b80559b300 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -4,9 +4,9 @@ import org.usvm.UMachineOptions import org.usvm.machine.* import org.usvm.language.* import org.usvm.language.types.* -import org.usvm.machine.interpreters.CPythonExecutionException -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.CPythonExecutionException +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.saving.* import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher @@ -20,7 +20,7 @@ sealed class PythonTestRunner( abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram private val machine by lazy { - PythonMachine(program, typeSystem) + PyMachine(program, typeSystem) } override val typeTransformer: (Any?) -> PythonType get() = { _ -> PythonAnyType } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt index 401187c350..913291d816 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows -import org.usvm.machine.interpreters.IllegalOperationException +import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults import org.usvm.machine.utils.withAdditionalPaths diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt index 0e0247de7a..06641c9010 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/PathDiversionTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows -import org.usvm.machine.interpreters.operations.tracing.PathDiversionException +import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 91b09cd074..f239a443b5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -1,11 +1,9 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.usvm.UMachineOptions import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.types.PythonAnyType -import org.usvm.machine.interpreters.IllegalOperationException import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py index 4368e6ff3b..fe686cdff9 100644 --- a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py +++ b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py @@ -1,5 +1,5 @@ class A: - def __init__(self, left: 'B', right: 'B'): + def __init__(self, left, right): self.left = left self.right = right @@ -21,13 +21,15 @@ def f(x): return 3 - def g(x): - while x.left.data_list or x.right.data_list: + # print("left:", x.left, flush=True) + # print("right:", x.left, flush=True) + while x.left.data_list and x.right.data_list: # print("left data_list:", x.left.data_list, flush=True) # print("right data_list:", x.right.data_list, flush=True) a = x.left.data_list.pop(0) b = x.right.data_list.pop(0) if a.pos + b.pos == 155: return 1 + # print("(2) left data_list:", x.left.data_list, flush=True) return 2 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index fe5f5a1e6d..9762d2a97e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -10,34 +10,35 @@ import org.usvm.annotations.ids.ApproximationId; import org.usvm.language.*; import org.usvm.machine.MockHeader; -import org.usvm.machine.interpreters.PythonObject; -import org.usvm.machine.interpreters.operations.descriptors.*; -import org.usvm.machine.interpreters.operations.tracing.*; +import org.usvm.machine.interpreters.concrete.PythonObject; +import org.usvm.machine.interpreters.symbolic.operations.descriptors.*; +import org.usvm.machine.interpreters.symbolic.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; import java.util.Arrays; import java.util.Collections; import java.util.concurrent.Callable; -import static org.usvm.machine.interpreters.operations.basic.CommonKt.*; -import static org.usvm.machine.interpreters.operations.basic.ConstantsKt.handlerLoadConstKt; -import static org.usvm.machine.interpreters.operations.basic.ControlKt.handlerForkKt; -import static org.usvm.machine.interpreters.operations.basic.DictKt.*; -import static org.usvm.machine.interpreters.operations.basic.EnumerateKt.handlerEnumerateIterKt; -import static org.usvm.machine.interpreters.operations.basic.EnumerateKt.handlerEnumerateNextKt; -import static org.usvm.machine.interpreters.operations.basic.FloatKt.*; -import static org.usvm.machine.interpreters.operations.basic.ListKt.*; -import static org.usvm.machine.interpreters.operations.basic.LongKt.*; -import static org.usvm.machine.interpreters.operations.basic.MethodNotificationsKt.*; -import static org.usvm.machine.interpreters.operations.basic.RangeKt.*; -import static org.usvm.machine.interpreters.operations.basic.SetKt.*; -import static org.usvm.machine.interpreters.operations.basic.SliceKt.handlerCreateSliceKt; -import static org.usvm.machine.interpreters.operations.basic.TupleKt.*; -import static org.usvm.machine.interpreters.operations.basic.VirtualKt.*; -import static org.usvm.machine.interpreters.operations.symbolicmethods.BuiltinsKt.*; -import static org.usvm.machine.interpreters.operations.symbolicmethods.ListKt.*; -import static org.usvm.machine.interpreters.operations.symbolicmethods.SetKt.symbolicMethodSetAddKt; -import static org.usvm.machine.interpreters.operations.tracing.PathTracingKt.withTracing; +import static org.usvm.machine.interpreters.symbolic.operations.basic.CommonKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.ConstantsKt.handlerLoadConstKt; +import static org.usvm.machine.interpreters.symbolic.operations.basic.ControlKt.handlerForkKt; +import static org.usvm.machine.interpreters.symbolic.operations.basic.DictKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.EnumerateKt.handlerEnumerateIterKt; +import static org.usvm.machine.interpreters.symbolic.operations.basic.EnumerateKt.handlerEnumerateNextKt; +import static org.usvm.machine.interpreters.symbolic.operations.basic.FloatKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.ListKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.LongKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.MethodNotificationsKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.RangeKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.SetKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.SliceKt.handlerCreateSliceKt; +import static org.usvm.machine.interpreters.symbolic.operations.basic.TupleKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.VirtualKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.symbolicmethods.BuiltinsKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.symbolicmethods.ListKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.symbolicmethods.SetKt.symbolicMethodSetAddKt; +import static org.usvm.machine.interpreters.symbolic.operations.tracing.PathTracingKt.handlerForkResultKt; +import static org.usvm.machine.interpreters.symbolic.operations.tracing.PathTracingKt.withTracing; @SuppressWarnings("unused") public class CPythonAdapter { @@ -187,7 +188,7 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond argConverters = {ObjectConverter.StandardConverter, ObjectConverter.IntConverter} ) public static void handlerForkResult(ConcolicRunContext context, SymbolForCPython cond, boolean result) { - withTracing(context, new ForkResult(cond, result), unit(() -> PathTracingKt.handlerForkResultKt(context, cond, result))); + withTracing(context, new ForkResult(cond, result), unit(() -> handlerForkResultKt(context, cond, result))); } @CPythonAdapterJavaMethod(cName = "unpack") diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 765b646d84..cd18b1af5b 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -4,11 +4,11 @@ import org.jetbrains.annotations.Nullable; import org.usvm.language.types.PythonTypeSystem; import org.usvm.machine.MockHeader; -import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent; -import org.usvm.machine.utils.PyModelHolder; -import org.usvm.machine.PythonExecutionState; -import org.usvm.machine.UPythonContext; -import org.usvm.machine.interpreters.operations.tracing.PathDiversionException; +import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException; +import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent; +import org.usvm.machine.PyState; +import org.usvm.machine.PyContext; +import org.usvm.machine.model.PyModelHolder; import org.usvm.machine.rendering.ConverterToPythonObject; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; @@ -18,9 +18,9 @@ public class ConcolicRunContext { @Nullable - public PythonExecutionState curState; - public UPythonContext ctx; - public ArrayList forkedStates = new ArrayList<>(); + public PyState curState; + public PyContext ctx; + public ArrayList forkedStates = new ArrayList<>(); public List> pathPrefix; public MockHeader curOperation = null; public PyModelHolder modelHolder; @@ -34,8 +34,8 @@ public class ConcolicRunContext { public Callable isCancelled; public ConcolicRunContext( - @NotNull PythonExecutionState curState, - UPythonContext ctx, + @NotNull PyState curState, + PyContext ctx, PyModelHolder modelHolder, PythonTypeSystem typeSystem, boolean allowPathDiversion, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index 555c09c8e0..e86174c30e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -1,8 +1,8 @@ package org.usvm.language -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonNamespace -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonNamespace +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.language.types.PythonType sealed class PythonCallable diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index eea38235e7..c4c4aa7db7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -1,9 +1,9 @@ package org.usvm.language import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace -import org.usvm.machine.interpreters.PythonNamespace +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.PythonNamespace import org.usvm.machine.utils.withAdditionalPaths import java.io.File diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt index 721e11cdb1..fa367a15ee 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -6,7 +6,7 @@ import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.symbolicobjects.TimeOfCreation -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -21,7 +21,7 @@ abstract class ElementConstraint { array: UConcreteHeapRef, element: UConcreteHeapRef, model: PyModel, - ctx: UPythonContext + ctx: PyContext ): Boolean } @@ -44,7 +44,7 @@ object NonRecursiveConstraint: ElementConstraint() { array: UConcreteHeapRef, element: UConcreteHeapRef, model: PyModel, - ctx: UPythonContext + ctx: PyContext ): Boolean = with(ctx) { if (element.address == 0 || element.address > 0) return true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 8fc79798e8..6931d54b78 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,10 +1,10 @@ package org.usvm.language.types import org.usvm.language.StructuredPythonProgram -import org.usvm.machine.interpreters.CPythonExecutionException -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.CPythonExecutionException +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index c5c99dcf96..7288b22086 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -1,6 +1,6 @@ package org.usvm.language.types -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject sealed class PythonType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index ffdf32d916..5395fa77ec 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -1,10 +1,6 @@ package org.usvm.language.types -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.utbot.python.newtyping.PythonAnyTypeDescription -import org.utbot.python.newtyping.PythonSubtypeChecker -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.pythonDescription +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter object PythonAnyType: VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index b6e9d439ea..cb8972d554 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -13,7 +13,7 @@ import org.usvm.solver.* import org.usvm.types.UTypeSystem import kotlin.time.Duration.Companion.milliseconds -class PythonComponents( +class PyComponents( private val typeSystem: PythonTypeSystem ): UComponents { override val useSolverForForks: Boolean = true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/UPythonContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt similarity index 90% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/UPythonContext.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index 2b348fc725..eeb96a83d5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/UPythonContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -1,7 +1,6 @@ package org.usvm.machine import io.ksmt.expr.KFpRoundingMode -import io.ksmt.sort.KFp64Sort import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* @@ -9,9 +8,9 @@ import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.solver.USolverBase -class UPythonContext( +class PyContext( typeSystem: PythonTypeSystem, - private val components: PythonComponents = PythonComponents(typeSystem) + private val components: PyComponents = PyComponents(typeSystem) ): UContext(components) { private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 2e167fe107..ba76685588 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -6,12 +6,13 @@ import org.usvm.language.* import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.USVMPythonInterpreter +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel +import org.usvm.machine.ps.PyVirtualPathSelector import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.utils.PythonMachineStatistics +import org.usvm.machine.utils.PyMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.machine.utils.isGenerator import org.usvm.machine.utils.unfoldGenerator @@ -20,15 +21,15 @@ import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult import org.usvm.statistics.UMachineObserver -class PythonMachine( +class PyMachine( private val program: PythonProgram, private val typeSystem: PythonTypeSystem, private val printErrorMsg: Boolean = false -): UMachine() { - private val ctx = UPythonContext(typeSystem) +): UMachine() { + private val ctx = PyContext(typeSystem) // private val random = Random(0) - val statistics = PythonMachineStatistics() + val statistics = PyMachineStatistics() private fun getInterpreter( target: PythonUnpinnedCallable, @@ -53,7 +54,7 @@ class PythonMachine( allowPathDiversion ) - private fun getInitialState(target: PythonUnpinnedCallable): PythonExecutionState { + private fun getInitialState(target: PythonUnpinnedCallable): PyState { val pathConstraints = UPathConstraints(ctx) val memory = UMemory( ctx, @@ -68,7 +69,7 @@ class PythonMachine( val solverRes = ctx.solver().check(pathConstraints) if (solverRes !is USatResult) error("Failed to construct initial model") - return PythonExecutionState( + return PyState( ctx, target, symbols, @@ -85,14 +86,14 @@ class PythonMachine( private fun getPathSelector( target: PythonUnpinnedCallable, newStateObserver: NewStateObserver - ): UPathSelector { + ): UPathSelector { val pathSelectorCreation = { - DfsPathSelector() + DfsPathSelector() // createForkDepthPathSelector, PythonExecutionState>(random) } val initialState = getInitialState(target) newStateObserver.onNewState(initialState) - val ps = PythonVirtualPathSelector( + val ps = PyVirtualPathSelector( ctx, pathSelectorCreation(), pathSelectorForStatesWithDelayedForks = DfsPathSelector(), @@ -165,8 +166,8 @@ class PythonMachine( private class PythonMachineObserver( val newStateObserver: NewStateObserver - ): UMachineObserver { - override fun onState(parent: PythonExecutionState, forks: Sequence) { + ): UMachineObserver { + override fun onState(parent: PyState, forks: Sequence) { super.onState(parent, forks) if (!parent.isTerminated()) newStateObserver.onNewState(parent) @@ -181,9 +182,9 @@ class PythonMachine( data class IterationCounter(var iterations: Int = 0) abstract class NewStateObserver { - abstract fun onNewState(state: PythonExecutionState) + abstract fun onNewState(state: PyState) } object DummyNewStateObserver: NewStateObserver() { - override fun onNewState(state: PythonExecutionState) = run {} + override fun onNewState(state: PyState) = run {} } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt similarity index 87% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 85cd136783..81109870af 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonExecutionState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -4,15 +4,15 @@ import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.machine.interpreters.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.* +import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent +import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects -import org.usvm.machine.types.prioritization.SymbolTypeTree -import org.usvm.machine.types.prioritization.prioritizeTypes -import org.usvm.machine.utils.PyModelWrapper +import org.usvm.machine.ps.types.SymbolTypeTree +import org.usvm.machine.ps.types.prioritizeTypes import org.usvm.memory.UMemory import org.usvm.model.UModelBase import org.usvm.targets.UTarget @@ -24,13 +24,13 @@ import org.usvm.types.TypesResult object PythonTarget: UTarget, PythonTarget>() private val targets = UTargetsSet.empty>() -class PythonExecutionState( - ctx: UPythonContext, +class PyState( + ctx: PyContext, private val pythonCallable: PythonUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemory, - uModel: UModelBase, + uModel: PyModel, val typeSystem: PythonTypeSystem, val preAllocatedObjects: PreallocatedObjects, var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), @@ -39,17 +39,17 @@ class PythonExecutionState( var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf() -): UState, UPythonContext, PythonTarget, PythonExecutionState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation, targets) { - override fun clone(newConstraints: UPathConstraints?): PythonExecutionState { +): UState, PyContext, PythonTarget, PyState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation, targets) { + override fun clone(newConstraints: UPathConstraints?): PyState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) - return PythonExecutionState( + return PyState( ctx, pythonCallable, inputSymbols, newPathConstraints, newMemory, - pyModel.uModel, + pyModel, typeSystem, preAllocatedObjects.clone(), possibleTypesForNull, @@ -64,9 +64,8 @@ class PythonExecutionState( override val entrypoint = pythonCallable override val isExceptional: Boolean = false // TODO val meta = PythonExecutionStateMeta() - val pyModel: PyModelWrapper - get() = PyModelWrapper(models.first()) - + val pyModel: PyModel + get() = models.first() as? PyModel ?: error("Model PyState must be PyModel") fun buildPathAsList(): List> = pathNode.allStatements.toList().reversed() @@ -112,7 +111,7 @@ class PythonExecutionState( } class DelayedFork( - val state: PythonExecutionState, + val state: PyState, val symbol: UninterpretedSymbolicPythonObject, val possibleTypes: UTypeStream, val delayedForkPrefix: PersistentList @@ -131,7 +130,7 @@ data class MockResult( ) class PythonExecutionStateMeta { - var extractedFrom: UPathSelector? = null + var extractedFrom: UPathSelector? = null var wasExecuted: Boolean = false var wasInterrupted: Boolean = false var modelDied: Boolean = false diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index b2bacbc1b6..b0deb341f9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters +package org.usvm.machine.interpreters.concrete import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.SymbolicMethodId @@ -7,8 +7,9 @@ import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor -import org.usvm.machine.interpreters.venv.VenvConfig -import org.usvm.machine.interpreters.venv.activateThisScript +import org.usvm.machine.interpreters.symbolic.SymbolicClonesOfGlobals +import org.usvm.machine.interpreters.concrete.venv.VenvConfig +import org.usvm.machine.interpreters.concrete.venv.activateThisScript import org.usvm.machine.utils.withAdditionalPaths import java.io.File @@ -245,7 +246,7 @@ object ConcretePythonInterpreter { val typeHasStandardTpGetattro = createTypeQuery { pythonAdapter.typeHasStandardTpGetattro(it) } val typeHasStandardTpSetattro = createTypeQuery { pythonAdapter.typeHasStandardTpSetattro(it) } - fun callStandardNew(type: PythonObject): PythonObject { + fun callStandardNew(type: PythonObject): PythonObject { return PythonObject(pythonAdapter.callStandardNew(type.address)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt similarity index 94% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt index 7be5f467f6..cfb18080fc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Activation.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt @@ -1,26 +1,26 @@ -package org.usvm.machine.interpreters.venv - -// original: https://github.com/pypa/virtualenv/blob/main/src/virtualenv/activation/python/activate_this.py -fun activateThisScript(config: VenvConfig): String = - """ - import os - import site - import sys - - bin_dir = r"${config.binPath.canonicalPath}" - base = r"${config.basePath.canonicalPath}" - - # prepend bin to PATH (this file is inside the bin directory) - os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)]) - os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory - - # add the virtual environments libraries to the host python import mechanism - prev_length = len(sys.path) - for lib in r"${config.binPath.toPath().relativize(config.libPath.toPath())}".split(os.pathsep): - path = os.path.realpath(os.path.join(bin_dir, lib)) - site.addsitedir(path.decode("utf-8") if "" else path) - sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length] - - sys.real_prefix = sys.prefix - sys.prefix = base +package org.usvm.machine.interpreters.concrete.venv + +// original: https://github.com/pypa/virtualenv/blob/main/src/virtualenv/activation/python/activate_this.py +fun activateThisScript(config: VenvConfig): String = + """ + import os + import site + import sys + + bin_dir = r"${config.binPath.canonicalPath}" + base = r"${config.basePath.canonicalPath}" + + # prepend bin to PATH (this file is inside the bin directory) + os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)]) + os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory + + # add the virtual environments libraries to the host python import mechanism + prev_length = len(sys.path) + for lib in r"${config.binPath.toPath().relativize(config.libPath.toPath())}".split(os.pathsep): + path = os.path.realpath(os.path.join(bin_dir, lib)) + site.addsitedir(path.decode("utf-8") if "" else path) + sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length] + + sys.real_prefix = sys.prefix + sys.prefix = base """.trimIndent() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt similarity index 68% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt index 8ca1b02dbe..8e597154ac 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/venv/Config.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt @@ -1,9 +1,9 @@ -package org.usvm.machine.interpreters.venv - -import java.io.File - -data class VenvConfig( - val basePath: File, - val libPath: File, - val binPath: File +package org.usvm.machine.interpreters.concrete.venv + +import java.io.File + +data class VenvConfig( + val basePath: File, + val libPath: File, + val binPath: File ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt deleted file mode 100644 index 14ae5eb2b9..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Utils.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.usvm.machine.interpreters.operations.symbolicmethods - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.operations.basic.handlerLoadConstKt - -fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = - SymbolForCPython(handlerLoadConstKt(ctx, PythonObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt similarity index 91% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt index 8b797c393e..0a209673bf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt @@ -1,9 +1,10 @@ -package org.usvm.machine.interpreters +package org.usvm.machine.interpreters.symbolic import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.language.NamedSymbolForCPython import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter object SymbolicClonesOfGlobals { private val clonesMap: MutableMap = mutableMapOf() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt similarity index 92% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index c42751b3c2..2927d2207d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters +package org.usvm.machine.interpreters.symbolic import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking @@ -6,24 +6,27 @@ import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonPinnedCallable -import org.usvm.machine.interpreters.operations.basic.BadModelException -import org.usvm.machine.interpreters.operations.basic.UnregisteredVirtualOperation import org.usvm.machine.symbolicobjects.* import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* -import org.usvm.machine.interpreters.operations.tracing.CancelledExecutionException -import org.usvm.machine.interpreters.operations.tracing.InstructionLimitExceededException +import org.usvm.machine.interpreters.concrete.CPythonExecutionException +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.symbolic.operations.basic.BadModelException +import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation +import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException +import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModel +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.rendering.LengthOverflowException import org.usvm.machine.saving.* -import org.usvm.machine.utils.PyModelHolder import org.usvm.machine.utils.PythonMachineStatisticsOnFunction class USVMPythonInterpreter( - private val ctx: UPythonContext, + private val ctx: PyContext, private val typeSystem: PythonTypeSystem, private val unpinnedCallable: PythonUnpinnedCallable, private val pinnedCallable: PythonPinnedCallable, @@ -34,7 +37,7 @@ class USVMPythonInterpreter( private val saver: PythonAnalysisResultSaver, private val isCancelled: (Long) -> Boolean, private val allowPathDiversion: Boolean = true, -) : UInterpreter() { +) : UInterpreter() { private fun getSeeds( concolicRunContext: ConcolicRunContext, symbols: List @@ -62,7 +65,7 @@ class USVMPythonInterpreter( null } - override fun step(state: PythonExecutionState): StepResult = runBlocking { + override fun step(state: PyState): StepResult = runBlocking { val modelHolder = if (state.meta.lastConverter != null) state.meta.lastConverter!!.modelHolder @@ -88,9 +91,6 @@ class USVMPythonInterpreter( try { logger.debug("Step on state: {}", state) logger.debug("Source of the state: {}", state.meta.generatedFrom) - require(state.pyModel.uModel is PyModel) { - "Did not call .toPyModel on model from solver" - } val symbols = state.inputSymbols val seeds = getSeeds(concolicRunContext, symbols) val converter = concolicRunContext.converter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index eda86b39e9..5b27c4fe27 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr @@ -10,9 +10,10 @@ import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython import org.usvm.language.types.* -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* import org.usvm.machine.utils.MethodDescription import org.utbot.python.newtyping.getPythonAttributeByName diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt similarity index 91% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index aed1375d57..bc4aff7b25 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -1,9 +1,10 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { if (ConcretePythonInterpreter.pythonExceptionOccurred()) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt similarity index 74% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 9e36a138f1..c1ca284eb9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KBoolSort import org.usvm.UExpr @@ -6,11 +6,10 @@ import org.usvm.WithSolverStateForker.fork import org.usvm.WithSolverStateForker.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork -import org.usvm.machine.PythonExecutionState -import org.usvm.machine.model.PyModel +import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.getToBoolValue +import org.usvm.machine.symbolicobjects.memory.getToBoolValue import org.usvm.machine.utils.getTypeStreamForDelayedFork fun myFork(ctx: ConcolicRunContext, cond: UExpr) { @@ -19,15 +18,13 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { val model = ctx.curState!!.pyModel val oldCurState = ctx.curState val forkResult = fork(ctx.curState!!, cond) - if (forkResult.positiveState?.pyModel == model) { - ctx.curState = forkResult.positiveState - } else if (forkResult.negativeState?.pyModel == model) { - ctx.curState = forkResult.negativeState - } else { - error("Should not be reachable") + when (model) { + forkResult.positiveState?.models?.first() -> ctx.curState = forkResult.positiveState + forkResult.negativeState?.models?.first() -> ctx.curState = forkResult.negativeState + else -> error("Should not be reachable") } - val applyToPyModel = { state: PythonExecutionState -> - state.models = listOf(state.pyModel.uModel.toPyModel(ctx.ctx, state.pathConstraints)) + val applyToPyModel = { state: PyState -> + state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) @@ -39,11 +36,11 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } } -fun myAssertOnState(state: PythonExecutionState, cond: UExpr): PythonExecutionState? { +fun myAssertOnState(state: PyState, cond: UExpr): PyState? { val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) - forkResult.models = listOf(forkResult.pyModel.uModel.toPyModel(state.ctx, state.pathConstraints)) + forkResult.models = listOf(forkResult.models.first().toPyModel(state.ctx, state.pathConstraints)) } return forkResult @@ -53,7 +50,6 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) return val oldModel = ctx.curState!!.pyModel - require(oldModel.uModel is PyModel) val forkResult = myAssertOnState(ctx.curState!!, cond) if (forkResult == null) ctx.curState!!.meta.modelDied = true @@ -61,7 +57,7 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { throw BadModelException } -fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PythonExecutionState) { +fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PyState) { if (ctx.curState == null) return ctx.curState!!.delayedForks = ctx.curState!!.delayedForks.add( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt similarity index 95% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index c0dc286058..399984daf6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -1,159 +1,159 @@ -package org.usvm.machine.interpreters.operations.basic - -import org.usvm.UBoolExpr -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.isFalse -import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* -import java.util.stream.Stream -import kotlin.streams.asSequence - -fun handlerDictGetItemKt( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - addHashableTypeConstrains(ctx, key) - val keyType = key.getTypeIfDefined(ctx) - val typeSystem = ctx.typeSystem - return when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO - typeSystem.pythonInt, typeSystem.pythonBool -> { - val intValue = key.getToIntContent(ctx) ?: return null - val containsCond = dict.dictContainsInt(ctx, intValue) - myFork(ctx, containsCond) - if (ctx.modelHolder.model.eval(containsCond).isTrue) { - dict.readDictIntElement(ctx, intValue) - } else { - null - } - } - else -> { - if (keyType == null) { - forkOnUnknownHashableType(ctx, key) - } - val containsCond = dict.dictContainsRef(ctx, key) - myFork(ctx, containsCond) - if (ctx.modelHolder.model.eval(containsCond).isTrue) { - dict.readDictRefElement(ctx, key) - } else { - null - } - } - } -} - -private fun setItem( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject -) { - val typeSystem = ctx.typeSystem - when (val keyType = key.getTypeIfDefined(ctx)) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO - typeSystem.pythonInt -> { - val intValue = key.getToIntContent(ctx) ?: return - dict.writeDictIntElement(ctx, intValue, value) - } - else -> { - if (keyType == null) { - forkOnUnknownHashableType(ctx, key) - } - dict.writeDictRefElement(ctx, key, value) - } - } -} - -fun handlerDictSetItemKt( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject -) { - ctx.curState ?: return - addHashableTypeConstrains(ctx, key) - val typeSystem = ctx.typeSystem - dict.addSupertypeSoft(ctx, typeSystem.pythonDict) - setItem(ctx, dict, key, value) -} - -fun handlerCreateDictKt( - ctx: ConcolicRunContext, - keysStream: Stream, - elemsStream: Stream -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - val keys = keysStream.asSequence().toList() - val elems = elemsStream.asSequence().toList() - require(keys.size == elems.size) - val typeSystem = ctx.typeSystem - val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) - val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) - (keys zip elems).forEach { (key, elem) -> - addHashableTypeConstrains(ctx, key) - setItem(ctx, result, key, elem) - } - return result -} - -fun handlerCreateDictConstKeyKt( - ctx: ConcolicRunContext, - keys: UninterpretedSymbolicPythonObject, - elemsStream: Stream -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - val elems = elemsStream.asSequence().toList() - val typeSystem = ctx.typeSystem - keys.addSupertypeSoft(ctx, typeSystem.pythonTuple) - val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) - val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) - elems.forEachIndexed { index, elem -> - val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) - addHashableTypeConstrains(ctx, key) - setItem(ctx, result, key, elem) - } - return result -} - -fun handlerDictContainsKt( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject -) { - ctx.curState ?: return - addHashableTypeConstrains(ctx, key) - val keyType = key.getTypeIfDefined(ctx) - val typeSystem = ctx.typeSystem - val result: UBoolExpr = when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO - typeSystem.pythonInt, typeSystem.pythonBool -> { - val intValue = key.getToIntContent(ctx) ?: return - dict.dictContainsInt(ctx, intValue) - } - else -> { - if (keyType == null) { - forkOnUnknownHashableType(ctx, key) - } - dict.dictContainsRef(ctx, key) - } - } - myFork(ctx, result) -} - -fun handlerDictIterKt( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject -) { - ctx.curState ?: return - myFork(ctx, dict.dictIsEmpty(ctx)) -} - -fun handlerDictLengthKt( - ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject -) { - ctx.curState ?: return - myFork(ctx, dict.dictIsEmpty(ctx)) +package org.usvm.machine.interpreters.symbolic.operations.basic + +import org.usvm.UBoolExpr +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* +import java.util.stream.Stream +import kotlin.streams.asSequence + +fun handlerDictGetItemKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + addHashableTypeConstrains(ctx, key) + val keyType = key.getTypeIfDefined(ctx) + val typeSystem = ctx.typeSystem + return when (keyType) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = key.getToIntContent(ctx) ?: return null + val containsCond = dict.dictContainsInt(ctx, intValue) + myFork(ctx, containsCond) + if (ctx.modelHolder.model.eval(containsCond).isTrue) { + dict.readDictIntElement(ctx, intValue) + } else { + null + } + } + else -> { + if (keyType == null) { + forkOnUnknownHashableType(ctx, key) + } + val containsCond = dict.dictContainsRef(ctx, key) + myFork(ctx, containsCond) + if (ctx.modelHolder.model.eval(containsCond).isTrue) { + dict.readDictRefElement(ctx, key) + } else { + null + } + } + } +} + +private fun setItem( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + val typeSystem = ctx.typeSystem + when (val keyType = key.getTypeIfDefined(ctx)) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO + typeSystem.pythonInt -> { + val intValue = key.getToIntContent(ctx) ?: return + dict.writeDictIntElement(ctx, intValue, value) + } + else -> { + if (keyType == null) { + forkOnUnknownHashableType(ctx, key) + } + dict.writeDictRefElement(ctx, key, value) + } + } +} + +fun handlerDictSetItemKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + addHashableTypeConstrains(ctx, key) + val typeSystem = ctx.typeSystem + dict.addSupertypeSoft(ctx, typeSystem.pythonDict) + setItem(ctx, dict, key, value) +} + +fun handlerCreateDictKt( + ctx: ConcolicRunContext, + keysStream: Stream, + elemsStream: Stream +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val keys = keysStream.asSequence().toList() + val elems = elemsStream.asSequence().toList() + require(keys.size == elems.size) + val typeSystem = ctx.typeSystem + val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) + (keys zip elems).forEach { (key, elem) -> + addHashableTypeConstrains(ctx, key) + setItem(ctx, result, key, elem) + } + return result +} + +fun handlerCreateDictConstKeyKt( + ctx: ConcolicRunContext, + keys: UninterpretedSymbolicPythonObject, + elemsStream: Stream +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val elems = elemsStream.asSequence().toList() + val typeSystem = ctx.typeSystem + keys.addSupertypeSoft(ctx, typeSystem.pythonTuple) + val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) + elems.forEachIndexed { index, elem -> + val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) + addHashableTypeConstrains(ctx, key) + setItem(ctx, result, key, elem) + } + return result +} + +fun handlerDictContainsKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject, + key: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + addHashableTypeConstrains(ctx, key) + val keyType = key.getTypeIfDefined(ctx) + val typeSystem = ctx.typeSystem + val result: UBoolExpr = when (keyType) { + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonInt, typeSystem.pythonBool -> { + val intValue = key.getToIntContent(ctx) ?: return + dict.dictContainsInt(ctx, intValue) + } + else -> { + if (keyType == null) { + forkOnUnknownHashableType(ctx, key) + } + dict.dictContainsRef(ctx, key) + } + } + myFork(ctx, result) +} + +fun handlerDictIterKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + myFork(ctx, dict.dictIsEmpty(ctx)) +} + +fun handlerDictLengthKt( + ctx: ConcolicRunContext, + dict: UninterpretedSymbolicPythonObject +) { + ctx.curState ?: return + myFork(ctx, dict.dictIsEmpty(ctx)) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index 14a6547400..f0f3f68a8a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -1,59 +1,62 @@ -package org.usvm.machine.interpreters.operations.basic - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.HasTpIter -import org.usvm.machine.symbolicobjects.* -import java.util.stream.Stream - -fun handlerCreateEnumerateKt( - ctx: ConcolicRunContext, - iterable: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - iterable.addSupertype(ctx, HasTpIter) - val typeSystem = ctx.typeSystem - val iterator: UninterpretedSymbolicPythonObject = when (iterable.getTypeIfDefined(ctx)) { - null -> { - addDelayedFork(ctx, iterable, ctx.curState!!.clone()) - return null - } - typeSystem.pythonList -> { - handlerListIterKt(ctx, iterable) ?: return null - } - typeSystem.pythonTuple -> { - handlerTupleIterKt(ctx, iterable) ?: return null - } - else -> return null - } - val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonEnumerate) - val result = UninterpretedSymbolicPythonObject(address, ctx.typeSystem) - result.initializeEnumerate(ctx, iterator) - return result -} - -fun handlerEnumerateIterKt( - ctx: ConcolicRunContext, - enumerate: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - return enumerate -} - -fun handlerEnumerateNextKt( - ctx: ConcolicRunContext, - enumerate: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject? { - ctx.curState ?: return null - val iterator = enumerate.getEnumerateIterator(ctx) - val typeSystem = ctx.typeSystem - val item: UninterpretedSymbolicPythonObject = when (iterator.getTypeIfDefined(ctx)) { - typeSystem.pythonListIteratorType -> - handlerListIteratorNextKt(ctx, iterator) ?: return null - typeSystem.pythonTupleIteratorType -> - handlerTupleIteratorNextKt(ctx, iterator) ?: return null - else -> return null - } - val indexValue = enumerate.getEnumerateIndexAndIncrement(ctx) - val index = constructInt(ctx, indexValue) - return handlerCreateTupleKt(ctx, Stream.of(index, item)) +package org.usvm.machine.interpreters.symbolic.operations.basic + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.HasTpIter +import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.getEnumerateIndexAndIncrement +import org.usvm.machine.symbolicobjects.memory.getEnumerateIterator +import org.usvm.machine.symbolicobjects.memory.initializeEnumerate +import java.util.stream.Stream + +fun handlerCreateEnumerateKt( + ctx: ConcolicRunContext, + iterable: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + iterable.addSupertype(ctx, HasTpIter) + val typeSystem = ctx.typeSystem + val iterator: UninterpretedSymbolicPythonObject = when (iterable.getTypeIfDefined(ctx)) { + null -> { + addDelayedFork(ctx, iterable, ctx.curState!!.clone()) + return null + } + typeSystem.pythonList -> { + handlerListIterKt(ctx, iterable) ?: return null + } + typeSystem.pythonTuple -> { + handlerTupleIterKt(ctx, iterable) ?: return null + } + else -> return null + } + val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonEnumerate) + val result = UninterpretedSymbolicPythonObject(address, ctx.typeSystem) + result.initializeEnumerate(ctx, iterator) + return result +} + +fun handlerEnumerateIterKt( + ctx: ConcolicRunContext, + enumerate: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + return enumerate +} + +fun handlerEnumerateNextKt( + ctx: ConcolicRunContext, + enumerate: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? { + ctx.curState ?: return null + val iterator = enumerate.getEnumerateIterator(ctx) + val typeSystem = ctx.typeSystem + val item: UninterpretedSymbolicPythonObject = when (iterator.getTypeIfDefined(ctx)) { + typeSystem.pythonListIteratorType -> + handlerListIteratorNextKt(ctx, iterator) ?: return null + typeSystem.pythonTupleIteratorType -> + handlerTupleIteratorNextKt(ctx, iterator) ?: return null + else -> return null + } + val indexValue = enumerate.getEnumerateIndexAndIncrement(ctx) + val index = constructInt(ctx, indexValue) + return handlerCreateTupleKt(ctx, Stream.of(index, item)) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index e639808e59..fbce441b2b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.UExpr @@ -6,6 +6,7 @@ import org.usvm.USort import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { mkIte( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index cdcffea342..db18ef3bbc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort import org.usvm.* @@ -7,6 +7,7 @@ import org.usvm.api.collection.ListCollectionApi.symbolicListInsert import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayType import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index 6cc92e6a39..bf502166b8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort @@ -8,6 +8,8 @@ import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.getToIntContent +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue private fun extractValue( ctx: ConcolicRunContext, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index 188b74c0b0..acfb157013 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt similarity index 83% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt index ac1f87a99a..da8c07d482 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt @@ -1,8 +1,11 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.getIntContent +import org.usvm.machine.symbolicobjects.memory.getRangeIteratorNext +import org.usvm.machine.symbolicobjects.memory.getRangeIteratorState fun handlerCreateRangeKt( ctx: ConcolicRunContext, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt similarity index 95% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index b299a48595..32f61fa16c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -1,8 +1,9 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt similarity index 86% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt index eaed5da159..3255223248 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt @@ -1,10 +1,10 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.SliceUninterpretedField import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructSlice -import org.usvm.machine.symbolicobjects.getIntContent +import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField +import org.usvm.machine.symbolicobjects.memory.getIntContent private fun getFieldContent( ctx: ConcolicRunContext, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index c2061be926..6be02f5bee 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -1,8 +1,12 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.getTupleIteratorContent +import org.usvm.machine.symbolicobjects.memory.increaseTupleIteratorCounter +import org.usvm.machine.symbolicobjects.memory.readArrayElement +import org.usvm.machine.symbolicobjects.memory.readArrayLength import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt similarity index 92% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index cfdaf526a8..afc46f0a20 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -1,13 +1,15 @@ -package org.usvm.machine.interpreters.operations.basic +package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.model.PyModel import org.usvm.machine.model.constructModelWithNewMockEvaluator +import org.usvm.machine.model.substituteModel import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.utils.PyModelWrapper -import org.usvm.machine.utils.substituteModel +import org.usvm.machine.symbolicobjects.memory.getBoolContent +import org.usvm.machine.symbolicobjects.memory.getIntContent fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.curState ?: throw UnregisteredVirtualOperation @@ -59,7 +61,7 @@ fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = w private fun internalVirtualCallKt( ctx: ConcolicRunContext, - customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } + customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } ): Pair = with(ctx.ctx) { ctx.curOperation ?: throw UnregisteredVirtualOperation ctx.curState ?: throw UnregisteredVirtualOperation @@ -89,7 +91,7 @@ private fun internalVirtualCallKt( customNewModels.drop(1).forEach { (nextNewModel, constraint) -> val newState = ctx.curState!!.clone() - newState.models = listOf(nextNewModel.uModel) + newState.models = listOf(nextNewModel) newState.pathConstraints += constraint ctx.forkedStates.add(newState) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt similarity index 80% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt index c842ea8bf7..c9f8a87298 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/ApproximationDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt @@ -1,15 +1,15 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.annotations.ids.ApproximationId -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -class ApproximationDescriptor(private val id: ApproximationId): MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - System.out.flush() - return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) - } +package org.usvm.machine.interpreters.symbolic.operations.descriptors + +import org.usvm.annotations.ids.ApproximationId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +class ApproximationDescriptor(private val id: ApproximationId): MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + System.out.flush() + return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt similarity index 80% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt index d206691c83..bf76282745 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/MethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt @@ -1,14 +1,14 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.annotations.ids.SymbolicMethodId -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -class MethodDescriptor(private val id: SymbolicMethodId): MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(owner?.let { SymbolForCPython(it, 0) }, id) - } +package org.usvm.machine.interpreters.symbolic.operations.descriptors + +import org.usvm.annotations.ids.SymbolicMethodId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +class MethodDescriptor(private val id: SymbolicMethodId): MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(owner?.let { SymbolForCPython(it, 0) }, id) + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt similarity index 80% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt index 75cc7813a4..9972548c20 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/PythonMethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt @@ -1,14 +1,14 @@ -package org.usvm.machine.interpreters.operations.descriptors - -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -object PythonMethodDescriptor: MemberDescriptor() { - override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - require(owner != null) { "Python method must always have an owner" } - return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) - } +package org.usvm.machine.interpreters.symbolic.operations.descriptors + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.interpreter.MemberDescriptor +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object PythonMethodDescriptor: MemberDescriptor() { + override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { + require(owner != null) { "Python method must always have an owner" } + return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) + } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt similarity index 82% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt index 4c9c44d756..d7d7551b52 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt @@ -1,10 +1,13 @@ -package org.usvm.machine.interpreters.operations.descriptors +package org.usvm.machine.interpreters.symbolic.operations.descriptors import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.getSliceStart +import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField +import org.usvm.machine.symbolicobjects.memory.getSliceStart +import org.usvm.machine.symbolicobjects.memory.getSliceStep +import org.usvm.machine.symbolicobjects.memory.getSliceStop private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunContext): SymbolForCPython { val (isNone, content) = field diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt similarity index 74% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt index e16b844ceb..56deefd330 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Builtins.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt @@ -1,10 +1,10 @@ -package org.usvm.machine.interpreters.operations.symbolicmethods +package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.operations.basic.handlerCreateEnumerateKt -import org.usvm.machine.interpreters.operations.basic.handlerFloatCastKt -import org.usvm.machine.interpreters.operations.basic.handlerIntCastKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerCreateEnumerateKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerFloatCastKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerIntCastKt fun symbolicMethodIntKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { if (args.size != 1) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt index d02b4d2c4b..a4f3bf8ada 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt @@ -1,10 +1,8 @@ -package org.usvm.machine.interpreters.operations.symbolicmethods +package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.operations.basic.* +import org.usvm.machine.interpreters.symbolic.operations.basic.* fun symbolicMethodListAppendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { if (self?.obj == null || args.size != 1 || args.first().obj == null) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt similarity index 58% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt index 2b44f426c0..6cf3d05878 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/symbolicmethods/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt @@ -1,11 +1,11 @@ -package org.usvm.machine.interpreters.operations.symbolicmethods +package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.operations.basic.handlerLoadConstKt -import org.usvm.machine.interpreters.operations.basic.handlerSetAddKt +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerSetAddKt fun symbolicMethodSetAddKt( ctx: ConcolicRunContext, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt new file mode 100644 index 0000000000..3b66dcfbe7 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt @@ -0,0 +1,10 @@ +package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods + +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt + +fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = + SymbolForCPython(handlerLoadConstKt(ctx, PythonObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt similarity index 93% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index fce12433d8..2cb8dad94f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -1,11 +1,10 @@ -package org.usvm.machine.interpreters.operations.tracing +package org.usvm.machine.interpreters.symbolic.operations.tracing import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.symbolicobjects.getToBoolValue +import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt similarity index 95% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt index ae4bcf4aa0..74a4c17622 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt @@ -1,6 +1,6 @@ -package org.usvm.machine.interpreters.operations.tracing +package org.usvm.machine.interpreters.symbolic.operations.tracing -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.language.PythonInstruction import org.usvm.language.SymbolForCPython diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt index 804053934d..e3710549c0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt @@ -7,20 +7,18 @@ import org.usvm.collection.set.primitive.UInputSetReading import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading import org.usvm.constraints.UPathConstraints import org.usvm.language.types.PythonType -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.model.UModelBase import org.usvm.regions.Region import org.usvm.solver.UExprTranslator - data class PathConstraintsInfo( val setRefKeys: Set, val setIntKeys: Set> ) - fun getPathConstraintsInfo( - ctx: UPythonContext, + ctx: PyContext, ps: UPathConstraints, underlyingModel: UModelBase ): PathConstraintsInfo { @@ -41,7 +39,7 @@ fun getPathConstraintsInfo( @Suppress("unchecked_cast") -private class ConstraintsVisitor(ctx: UPythonContext): UExprTranslator(ctx) { +private class ConstraintsVisitor(ctx: PyContext): UExprTranslator(ctx) { val refKeys: MutableSet = mutableSetOf() val intKeys: MutableSet> = mutableSetOf() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 1bcada8b42..6dd426af86 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -14,17 +14,18 @@ import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.* -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.model.regions.* -import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.memory.key.USizeRegion import org.usvm.model.UModelBase class PyModel( - private val ctx: UPythonContext, + private val ctx: PyContext, private val underlyingModel: UModelBase, ps: UPathConstraints, suggestedPsInfo: PathConstraintsInfo? = null @@ -94,14 +95,4 @@ class PyModel( override fun hashCode(): Int { return underlyingModel.hashCode() } -} - -fun UModelBase.toPyModel( - ctx: UPythonContext, - ps: UPathConstraints, - suggestedPsInfo: PathConstraintsInfo? = null -): PyModel { - if (this is PyModel) - return this - return PyModel(ctx, this, ps, suggestedPsInfo) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 3309b1bc50..0477608de3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -3,14 +3,11 @@ package org.usvm.machine.model import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.UPythonContext -import org.usvm.machine.symbolicobjects.PreallocatedObjects -import org.usvm.machine.utils.PyModelWrapper +import org.usvm.machine.PyContext import org.usvm.model.UModelBase class PythonMockEvaluator( - ctx: UPythonContext, + ctx: PyContext, private val baseMockEvaluator: UMockEvaluator, val mockSymbol: UMockSymbol, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null @@ -29,28 +26,27 @@ class PythonMockEvaluator( } fun constructModelWithNewMockEvaluator( - ctx: UPythonContext, - oldModel: PyModelWrapper, + ctx: PyContext, + oldModel: PyModel, mockSymbol: UMockSymbol, ps: UPathConstraints, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, useOldPossibleRefs: Boolean = false -): Pair { - val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.uModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) +): Pair { + val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) val suggestedPsInfo = if (useOldPossibleRefs) { - require(oldModel.uModel is PyModel) - oldModel.uModel.psInfo + oldModel.psInfo } else { null } val newModel = UModelBase( ctx, - oldModel.uModel.stack, - oldModel.uModel.types, + oldModel.stack, + oldModel.types, newMockEvaluator, - oldModel.uModel.regions, - oldModel.uModel.nullRef + oldModel.regions, + oldModel.nullRef ).toPyModel(ctx, ps, suggestedPsInfo) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) - return PyModelWrapper(newModel) to constraint + return newModel to constraint } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt new file mode 100644 index 0000000000..b80519302a --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -0,0 +1,51 @@ +package org.usvm.machine.model + +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.constraints.UPathConstraints +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.MockType +import org.usvm.language.types.PythonType +import org.usvm.machine.PyContext +import org.usvm.machine.PyState +import org.usvm.model.UModelBase +import org.usvm.types.TypesResult + + +fun UModelBase.toPyModel( + ctx: PyContext, + ps: UPathConstraints, + suggestedPsInfo: PathConstraintsInfo? = null +): PyModel { + if (this is PyModel) + return this + return PyModel(ctx, this, ps, suggestedPsInfo) +} + +class PyModelHolder(var model: PyModel) + +fun substituteModel(state: PyState, newModel: PyModel, constraint: UBoolExpr, ctx: ConcolicRunContext) { + state.models = listOf(newModel) + state.pathConstraints += constraint + ctx.modelHolder.model = newModel +} + +fun PyModel.getConcreteType(address: UConcreteHeapRef): ConcretePythonType? { + val typeStream = types.getTypeStream(address) + val prefix = typeStream.take(2) + if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) + return null + return prefix.first() as? ConcretePythonType +} + +fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { + val typeStream = types.getTypeStream(address).take(1) + if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) + return null + val first = typeStream.take(1).first() + val concrete = getConcreteType(address) + if (concrete == null) + require(first is MockType) + return first +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt index 9dc432f31c..fa75d9d47e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt @@ -7,15 +7,15 @@ import org.usvm.UExpr import org.usvm.USort import org.usvm.collection.array.UArrayIndexLValue import org.usvm.language.types.ArrayLikeConcretePythonType -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel -import org.usvm.machine.utils.PyModelWrapper +import org.usvm.machine.model.getConcreteType import org.usvm.memory.UReadOnlyMemoryRegion class WrappedArrayIndexRegion( private val region: UReadOnlyMemoryRegion, UAddressSort>, private val model: PyModel, - private val ctx: UPythonContext, + private val ctx: PyContext, private val nullRef: UConcreteHeapRef ) : UReadOnlyMemoryRegion, UAddressSort> { override fun read(key: UArrayIndexLValue): UExpr { @@ -23,7 +23,7 @@ class WrappedArrayIndexRegion( val array = key.ref as UConcreteHeapRef if (array.address > 0) // allocated object return underlyingResult - val arrayType = PyModelWrapper(model).getConcreteType(array) + val arrayType = model.getConcreteType(array) require(arrayType != null && arrayType is ArrayLikeConcretePythonType) val constraints = arrayType.elementConstraints if (constraints.all { it.applyInterpreted(array, underlyingResult as UConcreteHeapRef, model, ctx) }) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt index 13d7bbd84d..255e838c3d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt @@ -5,11 +5,11 @@ import org.usvm.UExpr import org.usvm.collection.array.length.UArrayLengthLValue import org.usvm.isTrue import org.usvm.language.types.ArrayType -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion class WrappedArrayLengthRegion( - val ctx: UPythonContext, + val ctx: PyContext, val region: UReadOnlyMemoryRegion, KIntSort> ): UReadOnlyMemoryRegion, KIntSort> { override fun read(key: UArrayLengthLValue): UExpr { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt index 19b516d38a..f2c9336a68 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt @@ -5,12 +5,12 @@ import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.language.types.PythonType -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase class WrappedRefMapRegion( - private val ctx: UPythonContext, + private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UAddressSort>, private val keys: Set, private val underlyingModel: UModelBase diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt index 5c5801b67f..a9cc53946c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt @@ -2,20 +2,11 @@ package org.usvm.machine.model.regions import org.usvm.* import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.UPythonContext -import org.usvm.machine.symbolicobjects.PreallocatedObjects -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.utils.getMembersFromType +import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion -import org.usvm.model.UTypeModel -import org.usvm.types.first class WrappedRefSetRegion( - private val ctx: UPythonContext, + private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, private val keys: Set, ): UReadOnlyMemoryRegion, UBoolSort> { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt index b916e5e6bf..0e2a797175 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt @@ -6,12 +6,12 @@ import org.usvm.UBoolSort import org.usvm.UExpr import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.isAllocatedConcreteHeapRef -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.memory.key.USizeRegion class WrappedSetRegion( - private val ctx: UPythonContext, + private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, private val keys: Set> ): UReadOnlyMemoryRegion, UBoolSort> { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index e907b0d9e0..1d517cb7e0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PythonVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -1,4 +1,4 @@ -package org.usvm.machine +package org.usvm.machine.ps import mu.KLogging import org.usvm.UPathSelector @@ -6,24 +6,24 @@ import org.usvm.WithSolverStateForker.fork import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.MockType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.DelayedFork +import org.usvm.machine.NewStateObserver +import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel -import org.usvm.machine.symbolicobjects.PreallocatedObjects -import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.types.TypesResult -import org.usvm.types.first import kotlin.random.Random -class PythonVirtualPathSelector( - private val ctx: UPythonContext, - private val basePathSelector: UPathSelector, - private val pathSelectorForStatesWithDelayedForks: UPathSelector, - private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, +class PyVirtualPathSelector( + private val ctx: PyContext, + private val basePathSelector: UPathSelector, + private val pathSelectorForStatesWithDelayedForks: UPathSelector, + private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, private val newStateObserver: NewStateObserver -) : UPathSelector { +) : UPathSelector { private val unservedDelayedForks = mutableSetOf() private val servedDelayedForks = mutableSetOf() - private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() + private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() private val triedTypesForDelayedForks = mutableSetOf>() private val random = Random(0) @@ -33,7 +33,7 @@ class PythonVirtualPathSelector( private fun generateStateWithConcretizedTypeFromDelayedFork( delayedForkStorage: MutableSet - ): PythonExecutionState? = with(ctx) { + ): PyState? = with(ctx) { if (delayedForkStorage.isEmpty()) return null val delayedFork = delayedForkStorage.random(random) @@ -60,7 +60,7 @@ class PythonVirtualPathSelector( if (forkResult.negativeState == null) return null val stateWithConcreteType = forkResult.negativeState!! - stateWithConcreteType.models = listOf(stateWithConcreteType.pyModel.uModel.toPyModel(ctx, stateWithConcreteType.pathConstraints)) + stateWithConcreteType.models = listOf(stateWithConcreteType.models.first().toPyModel(ctx, stateWithConcreteType.pathConstraints)) if (unservedDelayedForks.remove(delayedFork)) servedDelayedForks.add(delayedFork) @@ -70,7 +70,7 @@ class PythonVirtualPathSelector( } } - private fun generateStateWithConcretizedTypeWithoutDelayedForks(): PythonExecutionState? { + private fun generateStateWithConcretizedTypeWithoutDelayedForks(): PyState? { if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) return null val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) @@ -97,9 +97,9 @@ class PythonVirtualPathSelector( return state } - private var peekCache: PythonExecutionState? = null + private var peekCache: PyState? = null - private fun nullablePeek(): PythonExecutionState? { + private fun nullablePeek(): PyState? { if (peekCache != null) return peekCache if (!pathSelectorForStatesWithConcretizedTypes.isEmpty()) { @@ -153,7 +153,7 @@ class PythonVirtualPathSelector( } } - override fun peek(): PythonExecutionState { + override fun peek(): PyState { val result = nullablePeek()!! val source = when (result.meta.extractedFrom) { basePathSelector -> "basePathSelector" @@ -165,7 +165,7 @@ class PythonVirtualPathSelector( return result } - private fun processDelayedForksOfExecutedState(state: PythonExecutionState) { + private fun processDelayedForksOfExecutedState(state: PyState) { require(state.isTerminated()) state.delayedForks.firstOrNull()?.let { unservedDelayedForks.add( @@ -177,13 +177,13 @@ class PythonVirtualPathSelector( } } - override fun update(state: PythonExecutionState) { + override fun update(state: PyState) { peekCache = null state.meta.extractedFrom?.remove(state) add(listOf(state)) } - override fun add(states: Collection) { + override fun add(states: Collection) { peekCache = null states.forEach { state -> if (state.isTerminated()) { @@ -201,7 +201,7 @@ class PythonVirtualPathSelector( } } - override fun remove(state: PythonExecutionState) { + override fun remove(state: PyState) { peekCache = null state.meta.extractedFrom?.remove(state) processDelayedForksOfExecutedState(state) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt similarity index 95% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index e6d03d19bd..1cebc6cda6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.types.prioritization +package org.usvm.machine.ps.types import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonTypeSystemWithMypyInfo diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index e2b0f6836d..bbfd7b5f94 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/prioritization/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -1,10 +1,10 @@ -package org.usvm.machine.types.prioritization +package org.usvm.machine.ps.types import org.usvm.language.* -import org.usvm.machine.PythonExecutionState -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.PyState +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.getConcreteStrIfDefined +import org.usvm.machine.symbolicobjects.memory.getConcreteStrIfDefined import org.utbot.python.newtyping.* import org.utbot.python.newtyping.general.FunctionTypeCreator import org.utbot.python.newtyping.general.UtType @@ -13,7 +13,7 @@ import org.utbot.python.newtyping.inference.TypeInferenceNode import org.utbot.python.newtyping.inference.addEdge class SymbolTypeTree( - private val state: PythonExecutionState, + private val state: PyState, private val typeHintsStorage: PythonTypeHintsStorage, rootSymbol: UninterpretedSymbolicPythonObject, private val maxDepth: Int = 5 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt index e70fec2739..be49c19c4a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt @@ -7,20 +7,20 @@ import org.usvm.api.typeStreamOf import org.usvm.language.PythonCallable import org.usvm.language.VirtualPythonObject import org.usvm.language.types.* -import org.usvm.machine.UPythonContext -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace -import org.usvm.machine.interpreters.PythonNamespace -import org.usvm.machine.model.PyModel +import org.usvm.machine.PyContext +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.PythonNamespace +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.memory.* import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH -import org.usvm.machine.utils.PyModelHolder import org.usvm.memory.UMemory import org.usvm.types.first class ConverterToPythonObject( - private val ctx: UPythonContext, + private val ctx: PyContext, private val typeSystem: PythonTypeSystem, val modelHolder: PyModelHolder, private val preallocatedObjects: PreallocatedObjects, @@ -102,8 +102,7 @@ class ConverterToPythonObject( ConcretePythonInterpreter.concreteRun(namespace, "x = set()") val result = ConcretePythonInterpreter.eval(namespace, "x") constructedObjects[obj.address] = result - val model = modelHolder.model.uModel - require(model is PyModel) + val model = modelHolder.model model.possibleRefKeys.forEach { val key = if (isStaticHeapRef(it)) { val type = memory.typeStreamOf(it).first() @@ -151,8 +150,7 @@ class ConverterToPythonObject( ConcretePythonInterpreter.concreteRun(namespace, "x = dict()") val result = ConcretePythonInterpreter.eval(namespace, "x") constructedObjects[obj.address] = result - val model = modelHolder.model.uModel - require(model is PyModel) + val model = modelHolder.model var addedElems = 0 model.possibleRefKeys.forEach { val key = if (isStaticHeapRef(it)) { @@ -222,7 +220,7 @@ class ConverterToPythonObject( throw LengthOverflowException return List(size.value) { index -> val indexExpr = ctx.mkSizeExpr(index) - val element = obj.modelHolder.model.uModel.readArrayIndex( + val element = obj.modelHolder.model.readArrayIndex( obj.address, indexExpr, ArrayType, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt index 84b6035f79..23402f110c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt @@ -1,9 +1,9 @@ package org.usvm.machine.rendering import org.usvm.language.types.* -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { fun provide(type: PythonType): PythonObject { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt index 0655317ba4..b37ca70050 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt @@ -4,19 +4,19 @@ import org.usvm.UConcreteHeapRef import org.usvm.api.typeStreamOf import org.usvm.isStaticHeapRef import org.usvm.language.types.ConcretePythonType -import org.usvm.machine.PythonExecutionState -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.PyState +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.saving.GeneratedPythonObject import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.machine.utils.PyModelHolder import org.usvm.types.first class StateSeedSender( private val saver: PythonAnalysisResultSaver ) { - fun getData(state: PythonExecutionState): InputRepr? = runCatching { + fun getData(state: PyState): InputRepr? = runCatching { val converter = if (state.meta.lastConverter != null) { state.meta.lastConverter!! } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt index aa51caf0e3..7afcce33cf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt @@ -1,7 +1,7 @@ package org.usvm.machine.saving -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.rendering.ConverterToPythonObject class PickledObjectSaver( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt index d0a85e2a89..4e5fedacf4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt @@ -1,7 +1,7 @@ package org.usvm.machine.saving import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt index 07fde0bc77..05a0d36111 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt @@ -1,7 +1,7 @@ package org.usvm.machine.saving -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject abstract class PythonObjectSerializer { abstract fun serialize(obj: PythonObject): PythonObjectRepresentation diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt index 0323313f55..1f8b4bd0b1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt @@ -1,7 +1,7 @@ package org.usvm.machine.saving import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt index 5d3349f12f..b0151b8f3e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt @@ -1,6 +1,6 @@ package org.usvm.machine.saving -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.rendering.ConverterToPythonObject fun createStandardSaver(): PythonRepresentationSaver = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 736a1e8bb1..01c25a5dd6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -5,9 +5,9 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.UPythonContext -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.PyContext +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.memory.UMemory class PreallocatedObjects( @@ -53,7 +53,7 @@ class PreallocatedObjects( companion object { fun initialize( - ctx: UPythonContext, + ctx: PyContext, initialMemory: UMemory, initialPathConstraints: UPathConstraints, typeSystem: PythonTypeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 7abcd44659..0b49590b8e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -10,14 +10,15 @@ import org.usvm.language.* import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.memory.* import org.usvm.memory.UMemory import org.usvm.memory.URegisterStackLValue fun constructInputObject( stackIndex: Int, type: PythonType, - ctx: UPythonContext, + ctx: PyContext, memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, @@ -32,7 +33,7 @@ fun constructInputObject( } fun constructEmptyAllocatedObject( - ctx: UPythonContext, + ctx: PyContext, memory: UMemory, typeSystem: PythonTypeSystem, type: ConcretePythonType @@ -44,7 +45,7 @@ fun constructEmptyAllocatedObject( } fun constructEmptyStaticObject( - ctx: UPythonContext, + ctx: PyContext, memory: UMemory, typeSystem: PythonTypeSystem, type: ConcretePythonType @@ -86,7 +87,7 @@ fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSy } fun constructInitialBool( - ctx: UPythonContext, + ctx: PyContext, memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt deleted file mode 100644 index f567217832..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectContents.kt +++ /dev/null @@ -1,805 +0,0 @@ -package org.usvm.machine.symbolicobjects - -import io.ksmt.expr.KFp64Value -import io.ksmt.expr.KInterpretedValue -import io.ksmt.sort.KBoolSort -import io.ksmt.sort.KIntSort -import io.ksmt.sort.KRealSort -import org.usvm.* -import org.usvm.api.* -import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains -import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet -import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut -import org.usvm.collection.map.primitive.UMapEntryLValue -import org.usvm.collection.map.ref.URefMapEntryLValue -import org.usvm.collection.set.primitive.USetEntryLValue -import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.* -import org.usvm.language.types.* -import org.usvm.machine.UPythonContext -import org.usvm.machine.interpreters.operations.basic.myAssert -import org.usvm.machine.utils.PyModelWrapper -import org.usvm.memory.UMemory -import org.usvm.memory.key.USizeExprKeyInfo -import org.usvm.types.first - -/** standard fields **/ - -fun UninterpretedSymbolicPythonObject.getFieldValue( - ctx: ConcolicRunContext, - name: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - name.addSupertype(ctx, typeSystem.pythonStr) - val addr = ctx.curState!!.symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) - return UninterpretedSymbolicPythonObject(addr, typeSystem) -} - -fun UninterpretedSymbolicPythonObject.setFieldValue( - ctx: ConcolicRunContext, - name: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject -) { - require(ctx.curState != null) - name.addSupertypeSoft(ctx, typeSystem.pythonStr) - ctx.curState!!.symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) -} - -fun UninterpretedSymbolicPythonObject.containsField( - ctx: ConcolicRunContext, - name: UninterpretedSymbolicPythonObject -): UBoolExpr { - require(ctx.curState != null) - name.addSupertype(ctx, typeSystem.pythonStr) - return ctx.curState!!.symbolicObjectMapContains(address, name.address, ObjectDictType) -} - -fun InterpretedInputSymbolicPythonObject.containsField( - name: InterpretedSymbolicPythonObject -): Boolean { - require(!isAllocatedConcreteHeapRef(name.address)) - val result = modelHolder.model.uModel.read(URefSetEntryLValue(address, name.address, ObjectDictType)) - return result.isTrue -} - -fun InterpretedInputSymbolicPythonObject.getFieldValue( - ctx: UPythonContext, - name: InterpretedSymbolicPythonObject, - memory: UMemory -): InterpretedSymbolicPythonObject { - require(!isAllocatedConcreteHeapRef(name.address)) - val result = modelHolder.model.uModel.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) - require((result as UConcreteHeapRef).address <= 0) - return if (!isStaticHeapRef(result)) - InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) - else { - val type = memory.typeStreamOf(result).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(result, type, typeSystem) - } -} - -/** arrays (list, tuple) **/ - -fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - val result = ctx.curState!!.memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) - myAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) - return result -} - -fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: UPythonContext): UExpr { - require(getConcreteType() != null && getConcreteType() is ArrayLikeConcretePythonType) - return modelHolder.model.uModel.readArrayLength(address, ArrayType, ctx.intSort) -} - -fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) - val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) - if (isAllocatedObject(ctx)) - return elem - val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> - ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) - } - myAssert(ctx, cond) - return elem -} - -fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - if (!isAllocatedObject(ctx)) { - val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> - ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) - } - myAssert(ctx, cond) - } - ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.extendArrayConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { - require(ctx.curState != null) - val type = getTypeIfDefined(ctx) - require(type != null && type is ArrayLikeConcretePythonType) - type.elementConstraints.forEach { constraint -> - on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) - } -} - -/** int **/ - -fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonInt) - ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonInt) - return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) -} - -fun UninterpretedSymbolicPythonObject.getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonInt -> getIntContent(ctx) - typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) - else -> null - } -} - -fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: UPythonContext): KInterpretedValue { - require(getConcreteType() == typeSystem.pythonInt) - return modelHolder.model.readField(address, IntContents.content, ctx.intSort) -} - -fun InterpretedSymbolicPythonObject.getIntContent(ctx: UPythonContext, memory: UMemory): KInterpretedValue { - return when (this) { - is InterpretedInputSymbolicPythonObject -> { - getIntContent(ctx) - } - is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - memory.readField(address, IntContents.content, ctx.intSort) as KInterpretedValue - } - } -} - -fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): KInterpretedValue { - require(ctx.curState != null) - return getIntContent(ctx.ctx, ctx.curState!!.memory) -} - - -/** float **/ - -sealed class FloatInterpretedContent -object FloatNan: FloatInterpretedContent() -object FloatPlusInfinity: FloatInterpretedContent() -object FloatMinusInfinity: FloatInterpretedContent() -data class FloatNormalValue(val value: Double): FloatInterpretedContent() - -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModelWrapper, address: UConcreteHeapRef, ctx: UPythonContext): UBoolExpr { - val value = model.readField(address, field, ctx.intSort) - return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) -} - -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: UPythonContext): UBoolExpr { - val value = memory.readField(address, field, ctx.intSort) - return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) -} - -private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: UPythonContext, value: UBoolExpr) { - val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.bound + 1), ctx.mkIntNum(0)) - memory.writeField(address, field, ctx.intSort, intValue, ctx.trueExpr) -} - -fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: UPythonContext): FloatInterpretedContent { - require(getConcreteType() == typeSystem.pythonFloat) - val isNan = readBoolFieldWithSoftConstraint(FloatContents.isNan, modelHolder.model, address, ctx) - if (isNan.isTrue) - return FloatNan - val isInf = readBoolFieldWithSoftConstraint(FloatContents.isInf, modelHolder.model, address, ctx) - if (isInf.isTrue) { - val isPositive = modelHolder.model.readField(address, FloatContents.infSign, ctx.boolSort) - return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity - } - val realValue = modelHolder.model.readField(address, FloatContents.content, ctx.realSort) - val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value - return FloatNormalValue(floatValue.value) -} - -fun InterpretedSymbolicPythonObject.getFloatContent(ctx: UPythonContext, memory: UMemory): FloatInterpretedContent { - if (this is InterpretedInputSymbolicPythonObject) - return getFloatContent(ctx) - val isNan = memory.readField(address, FloatContents.isNan, ctx.boolSort) - if (isNan.isTrue) - return FloatNan - val isInf = memory.readField(address, FloatContents.isInf, ctx.boolSort) - if (isInf.isTrue) { - val isPositive = memory.readField(address, FloatContents.infSign, ctx.boolSort) - return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity - } - val realValue = memory.readField(address, FloatContents.content, ctx.realSort) - val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value - return FloatNormalValue(floatValue.value) -} - -data class FloatUninterpretedContent( - val isNan: UBoolExpr, - val isInf: UBoolExpr, - val infSign: UBoolExpr, - val realValue: UExpr -) - -fun mkUninterpretedNan(ctx: UPythonContext): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.trueExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkRealNum(0)) - -fun mkUninterpretedPlusInfinity(ctx: UPythonContext): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.trueExpr, ctx.mkRealNum(0)) - -fun mkUninterpretedMinusInfinity(ctx: UPythonContext): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.falseExpr, ctx.mkRealNum(0)) - -fun mkUninterpretedSignedInfinity(ctx: UPythonContext, infSign: UBoolExpr): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, infSign, ctx.mkRealNum(0)) - -fun mkUninterpretedFloatWithValue(ctx: UPythonContext, value: Double): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkFpToRealExpr(ctx.mkFp64(value))) - -fun mkUninterpretedFloatWithValue(ctx: UPythonContext, value: UExpr): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) - -fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonFloat) - writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx, expr.isNan) - writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx, expr.isInf) - ctx.curState!!.memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) - ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonFloat) - return FloatUninterpretedContent( - readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx), - readBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx), - ctx.curState!!.memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), - ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) - ) -} - -private fun wrapRealValue(ctx: UPythonContext, value: UExpr): FloatUninterpretedContent = - FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) - -fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent? = with(ctx.ctx) { - return when (getTypeIfDefined(ctx)) { - typeSystem.pythonFloat -> getFloatContent(ctx) - typeSystem.pythonInt -> wrapRealValue(ctx.ctx, intToFloat(getIntContent(ctx))) - typeSystem.pythonBool -> wrapRealValue(ctx.ctx, intToFloat(getToIntContent(ctx)!!)) - else -> null - } -} - - -/** bool **/ - -fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonBool) - return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) -} - -fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { - require(ctx.curState != null) - return when (val type = getTypeIfDefined(ctx)) { - typeSystem.pythonBool -> getBoolContent(ctx) - typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) - typeSystem.pythonNoneType -> falseExpr - typeSystem.pythonDict -> dictIsEmpty(ctx).not() - typeSystem.pythonSet -> setIsEmpty(ctx).not() - is ConcretePythonType -> { - if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) - trueExpr - else - null - } - else -> null - } -} - -fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: UPythonContext): KInterpretedValue { - require(getConcreteType() == typeSystem.pythonBool) - return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) -} - -fun InterpretedSymbolicPythonObject.getBoolContent(ctx: UPythonContext, memory: UMemory): KInterpretedValue { - return when (this) { - is InterpretedInputSymbolicPythonObject -> { - getBoolContent(ctx) - } - is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - memory.readField(address, BoolContents.content, ctx.boolSort) as KInterpretedValue - } - } -} - -fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): KInterpretedValue { - require(ctx.curState != null) - return getBoolContent(ctx.ctx, ctx.curState!!.memory) -} - - -/** list_iterator **/ - -fun UninterpretedSymbolicPythonObject.setListIteratorContent( - ctx: ConcolicRunContext, - list: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) - ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) -} - -fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( - address, - ListIteratorContents.index, - intSort, - mkArithAdd(oldIndexValue, mkIntNum(1)), - trueExpr - ) -} - -fun UninterpretedSymbolicPythonObject.getListIteratorContent( - ctx: ConcolicRunContext -): Pair> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, typeSystem.pythonListIteratorType) - val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) - val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) - return listRef to index -} - - -/** tuple_iterator **/ - -fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) - val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) - return tupleRef to index -} - -fun UninterpretedSymbolicPythonObject.increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( - address, - TupleIteratorContents.index, - intSort, - mkArithAdd(oldIndexValue, mkIntNum(1)), - trueExpr - ) -} - - -/** range **/ - -fun UninterpretedSymbolicPythonObject.setRangeContent( - ctx: ConcolicRunContext, - start: UExpr, - stop: UExpr, - step: UExpr -) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, typeSystem.pythonRange) - ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents.step, intSort, step, trueExpr) - val lengthRValue = mkIte( - step gt mkIntNum(0), - mkIte( - stop gt start, - mkArithDiv( - mkArithAdd(stop, mkArithUnaryMinus(start), step, mkIntNum(-1)), - step - ), - mkIntNum(0) - ), - mkIte( - start gt stop, - mkArithDiv( - mkArithAdd(start, mkArithUnaryMinus(stop), mkArithUnaryMinus(step), mkIntNum(-1)), - mkArithUnaryMinus(step) - ), - mkIntNum(0) - ) - ) - ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) -} - - -/** range_iterator **/ - -fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( - ctx: ConcolicRunContext, - range: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - require(ctx.curState != null) - addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) - val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) - val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) - val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) - val index = mkIntNum(0) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getRangeIteratorState( - ctx: ConcolicRunContext -): Pair, UExpr> = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) - val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) - return index to length -} - -fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( - ctx: ConcolicRunContext -): UExpr = with(ctx.ctx) { - require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) - val newIndex = mkArithAdd(index, mkIntNum(1)) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) - val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) - val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) - return mkArithAdd(start, mkArithMul(index, step)) -} - -/** slice **/ - -data class SliceInterpretedContent( - val start: KInterpretedValue?, - val stop: KInterpretedValue?, - val step: KInterpretedValue? -) - -fun InterpretedInputSymbolicPythonObject.getSliceContent(ctx: UPythonContext, typeSystem: PythonTypeSystem): SliceInterpretedContent { - require(getConcreteType() == typeSystem.pythonSlice) - val startIsNone = modelHolder.model.readField(address, SliceContents.startIsNone, ctx.boolSort).isTrue - val start = if (startIsNone) null else modelHolder.model.readField(address, SliceContents.start, ctx.intSort) - val stopIsNone = modelHolder.model.readField(address, SliceContents.stopIsNone, ctx.boolSort).isTrue - val stop = if (stopIsNone) null else modelHolder.model.readField(address, SliceContents.stop, ctx.intSort) - val stepIsNone = modelHolder.model.readField(address, SliceContents.stepIsNone, ctx.boolSort).isTrue - val step = if (stepIsNone) null else modelHolder.model.readField(address, SliceContents.step, ctx.intSort) - return SliceInterpretedContent(start, stop, step) -} - -data class SliceUninterpretedField( - val isNone: UBoolExpr, - val content: UExpr -) - -private fun UninterpretedSymbolicPythonObject.getSliceField( - ctx: ConcolicRunContext, - fieldIsNone: PropertyOfPythonObject, - field: PropertyOfPythonObject -): SliceUninterpretedField { - require(ctx.curState != null) - addSupertype(ctx, ctx.typeSystem.pythonSlice) - val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) - val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) - return SliceUninterpretedField(isNone, value) -} - -private fun UninterpretedSymbolicPythonObject.setSliceField( - ctx: ConcolicRunContext, - fieldIsNone: PropertyOfPythonObject, - field: PropertyOfPythonObject, - content: SliceUninterpretedField -) { - require(ctx.curState != null) - addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) - ctx.curState!!.memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) - ctx.curState!!.memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField = - getSliceField(ctx, SliceContents.startIsNone, SliceContents.start) - -fun UninterpretedSymbolicPythonObject.setSliceStart(ctx: ConcolicRunContext, content: SliceUninterpretedField) = - setSliceField(ctx, SliceContents.startIsNone, SliceContents.start, content) - -fun UninterpretedSymbolicPythonObject.getSliceStop(ctx: ConcolicRunContext): SliceUninterpretedField = - getSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop) - -fun UninterpretedSymbolicPythonObject.setSliceStop(ctx: ConcolicRunContext, content: SliceUninterpretedField) = - setSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop, content) - -fun UninterpretedSymbolicPythonObject.getSliceStep(ctx: ConcolicRunContext): SliceUninterpretedField = - getSliceField(ctx, SliceContents.stepIsNone, SliceContents.step) - -fun UninterpretedSymbolicPythonObject.setSliceStep(ctx: ConcolicRunContext, content: SliceUninterpretedField) = - setSliceField(ctx, SliceContents.stepIsNone, SliceContents.step, content) - - -/** str **/ - -fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = - preallocatedObjects.concreteString(this) - - -/** dict **/ - -fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoolExpr { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonDict) - return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) -} - -fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertypeSoft(ctx, typeSystem.pythonDict) - ctx.curState!!.memory.writeField(address, DictContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.readDictRefElement( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonDict) - val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) - return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) -} - -fun UninterpretedSymbolicPythonObject.dictContainsRef( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -): UBoolExpr { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonDict) - val contains = ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) - return with(ctx.ctx) { - dictIsEmpty(ctx).not() and contains - } -} - -fun UninterpretedSymbolicPythonObject.writeDictRefElement( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject -) { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertypeSoft(ctx, typeSystem.pythonDict) - setDictNotEmpty(ctx) - ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) -} - -fun UninterpretedSymbolicPythonObject.readDictIntElement( - ctx: ConcolicRunContext, - key: UExpr -): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonDict) - val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) - val resultAddress = ctx.curState!!.memory.read(lvalue) - return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) -} - -fun UninterpretedSymbolicPythonObject.dictContainsInt( - ctx: ConcolicRunContext, - key: UExpr -): UBoolExpr { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonDict) - val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - val contains = ctx.curState!!.memory.read(lvalue) - return with(ctx.ctx) { - dictIsEmpty(ctx).not() and contains - } -} - -fun UninterpretedSymbolicPythonObject.writeDictIntElement( - ctx: ConcolicRunContext, - key: UExpr, - value: UninterpretedSymbolicPythonObject -) { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertypeSoft(ctx, typeSystem.pythonDict) - setDictNotEmpty(ctx) - val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) - val lvalueSet = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalueSet, ctx.ctx.trueExpr, ctx.ctx.trueExpr) - // TODO: size? -} - -fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: UPythonContext): Boolean { - val field = modelHolder.model.readField(address, DictContents.isNotEmpty, ctx.boolSort) - return modelHolder.model.eval(field).isFalse -} - -private fun InterpretedInputSymbolicPythonObject.constructResultObject( - resultAddress: UConcreteHeapRef, - memory: UMemory -): InterpretedSymbolicPythonObject = - if (isStaticHeapRef(resultAddress)) { - val type = memory.typeStreamOf(resultAddress).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(resultAddress, type, typeSystem) - } else { - InterpretedInputSymbolicPythonObject(resultAddress, modelHolder, typeSystem) - } - -fun InterpretedInputSymbolicPythonObject.readDictRefElement( - ctx: UPythonContext, - key: InterpretedSymbolicPythonObject, - memory: UMemory -): InterpretedSymbolicPythonObject { - val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) - val elemAddress = modelHolder.model.uModel.read(lvalue) as UConcreteHeapRef - return constructResultObject(elemAddress, memory) -} - -fun InterpretedInputSymbolicPythonObject.dictContainsRef( - ctx: UPythonContext, - key: InterpretedSymbolicPythonObject -): Boolean { - val lvalue = URefSetEntryLValue(address, key.address, RefDictType) - val result = modelHolder.model.uModel.read(lvalue) - return !dictIsEmpty(ctx) && result.isTrue -} - -fun InterpretedInputSymbolicPythonObject.readDictIntElement( - ctx: UPythonContext, - key: KInterpretedValue, - memory: UMemory -): InterpretedSymbolicPythonObject { - val lvalue = UMapEntryLValue(ctx.intSort, ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) - val resultAddress = modelHolder.model.uModel.read(lvalue) as UConcreteHeapRef - return constructResultObject(resultAddress, memory) -} - -fun InterpretedInputSymbolicPythonObject.dictContainsInt( - ctx: UPythonContext, - key: KInterpretedValue -): Boolean { - val lvalue = USetEntryLValue(ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - return !dictIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue -} - -/** set **/ - -fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonSet) - return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) -} - -fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { - require(ctx.curState != null) - val typeSystem = ctx.typeSystem - addSupertype(ctx, typeSystem.pythonSet) - ctx.curState!!.memory.writeField(address, SetContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) -} - -fun UninterpretedSymbolicPythonObject.setContainsInt( - ctx: ConcolicRunContext, - key: UExpr -): UBoolExpr = with(ctx.ctx) { - require(ctx.curState != null) - val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) - return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) -} - -fun UninterpretedSymbolicPythonObject.addIntToSet( - ctx: ConcolicRunContext, - key: UExpr -) = with(ctx.ctx) { - require(ctx.curState != null) - makeSetNotEmpty(ctx) - val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) -} - -fun UninterpretedSymbolicPythonObject.setContainsRef( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -): UBoolExpr = with(ctx.ctx) { - require(ctx.curState != null) - val lvalue = URefSetEntryLValue(address, key.address, RefSetType) - return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) -} - -fun UninterpretedSymbolicPythonObject.addRefToSet( - ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - require(ctx.curState != null) - makeSetNotEmpty(ctx) - val lvalue = URefSetEntryLValue(address, key.address, RefSetType) - ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) -} - -fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: UPythonContext): Boolean = with(ctx) { - return modelHolder.model.readField(address, SetContents.isNotEmpty, boolSort).isFalse -} - -fun InterpretedInputSymbolicPythonObject.setContainsInt( - ctx: UPythonContext, - key: KInterpretedValue -): Boolean = with(ctx) { - val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) - return !setIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue -} - -fun InterpretedInputSymbolicPythonObject.setContainsRef( - ctx: UPythonContext, - key: InterpretedSymbolicPythonObject -): Boolean { - val lvalue = URefSetEntryLValue(address, key.address, RefSetType) - return !setIsEmpty(ctx) && modelHolder.model.uModel.read(lvalue).isTrue -} - -/** enumerate **/ - -fun UninterpretedSymbolicPythonObject.initializeEnumerate( - ctx: ConcolicRunContext, - arg: UninterpretedSymbolicPythonObject -) = with(ctx.ctx) { - require(ctx.curState != null) - ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) - ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) -} - -fun UninterpretedSymbolicPythonObject.getEnumerateIterator( - ctx: ConcolicRunContext -): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) - val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) - return UninterpretedSymbolicPythonObject(result, typeSystem) -} - -fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( - ctx: ConcolicRunContext -): UExpr = with(ctx.ctx) { - require(ctx.curState != null) - val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) - ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkArithAdd(result, mkIntNum(1)), trueExpr) - return result -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 088496af4f..8e12176e8e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -6,10 +6,12 @@ import org.usvm.api.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonCallable -import org.usvm.machine.utils.PyModelHolder -import org.usvm.machine.interpreters.operations.basic.myAssert import org.usvm.language.types.* -import org.usvm.machine.UPythonContext +import org.usvm.machine.PyContext +import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.model.getConcreteType +import org.usvm.machine.model.getFirstType import org.usvm.memory.UMemory import org.usvm.types.TypesResult import org.usvm.types.USingleTypeStream @@ -59,7 +61,7 @@ class UninterpretedSymbolicPythonObject( } fun evalIs( - ctx: UPythonContext, + ctx: PyContext, typeConstraints: UTypeConstraints, type: PythonType ): UBoolExpr { @@ -77,7 +79,7 @@ class UninterpretedSymbolicPythonObject( } fun evalIsSoft( - ctx: UPythonContext, + ctx: PyContext, typeConstraints: UTypeConstraints, type: PythonType ): UBoolExpr { @@ -102,7 +104,7 @@ class UninterpretedSymbolicPythonObject( return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } - fun setMinimalTimeOfCreation(ctx: UPythonContext, memory: UMemory) { // must not be called on nullref + fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) } @@ -134,6 +136,7 @@ class InterpretedInputSymbolicPythonObject( return MockType return modelHolder.model.getFirstType(address) } + override fun getConcreteType(): ConcretePythonType? { if (address.address == 0) return null @@ -143,7 +146,7 @@ class InterpretedInputSymbolicPythonObject( override fun getTypeStream(): UTypeStream? { if (address.address == 0) return null - return modelHolder.model.uModel.typeStreamOf(address) + return modelHolder.model.typeStreamOf(address) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt new file mode 100644 index 0000000000..7443f8924a --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -0,0 +1,67 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.api.readArrayIndex +import org.usvm.api.readArrayLength +import org.usvm.api.writeArrayIndex +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayLikeConcretePythonType +import org.usvm.language.types.ArrayType +import org.usvm.language.types.HasElementConstraint +import org.usvm.machine.PyContext +import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val result = ctx.curState!!.memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) + myAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) + return result +} + +fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: PyContext): UExpr { + require(getConcreteType() != null && getConcreteType() is ArrayLikeConcretePythonType) + return modelHolder.model.readArrayLength(address, ArrayType, ctx.intSort) +} + +fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) + val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) + if (isAllocatedObject(ctx)) + return elem + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) + } + myAssert(ctx, cond) + return elem +} + +fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + if (!isAllocatedObject(ctx)) { + val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> + ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) + } + myAssert(ctx, cond) + } + ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.extendArrayConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { + require(ctx.curState != null) + val type = getTypeIfDefined(ctx) + require(type != null && type is ArrayLikeConcretePythonType) + type.elementConstraints.forEach { constraint -> + on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt new file mode 100644 index 0000000000..6b50754b70 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -0,0 +1,60 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KBoolSort +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable +import org.usvm.language.types.* +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.* +import org.usvm.memory.UMemory + + +fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonBool) + return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) +} + +fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { + require(ctx.curState != null) + return when (val type = getTypeIfDefined(ctx)) { + typeSystem.pythonBool -> getBoolContent(ctx) + typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) + typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) + typeSystem.pythonNoneType -> falseExpr + typeSystem.pythonDict -> dictIsEmpty(ctx).not() + typeSystem.pythonSet -> setIsEmpty(ctx).not() + is ConcretePythonType -> { + if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) + trueExpr + else + null + } + else -> null + } +} + +fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: PyContext): UBoolExpr { + require(getConcreteType() == typeSystem.pythonBool) + return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) +} + +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemory): UBoolExpr { + return when (this) { + is InterpretedInputSymbolicPythonObject -> { + getBoolContent(ctx) + } + is InterpretedAllocatedOrStaticSymbolicPythonObject -> { + memory.readField(address, BoolContents.content, ctx.boolSort) as KInterpretedValue + } + } +} + +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UBoolExpr { + require(ctx.curState != null) + return getBoolContent(ctx.ctx, ctx.curState!!.memory) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt new file mode 100644 index 0000000000..a2d5e43668 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -0,0 +1,173 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.* +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut +import org.usvm.api.readField +import org.usvm.api.typeStreamOf +import org.usvm.api.writeField +import org.usvm.collection.map.primitive.UMapEntryLValue +import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.collection.set.primitive.USetEntryLValue +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.IntDictType +import org.usvm.language.types.PythonType +import org.usvm.language.types.RefDictType +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.* +import org.usvm.memory.UMemory +import org.usvm.memory.key.USizeExprKeyInfo +import org.usvm.types.first + + +fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) +} + +fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + ctx.curState!!.memory.writeField(address, DictContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.readDictRefElement( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.dictContainsRef( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val contains = ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) + return with(ctx.ctx) { + dictIsEmpty(ctx).not() and contains + } +} + +fun UninterpretedSymbolicPythonObject.writeDictRefElement( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + setDictNotEmpty(ctx) + ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) +} + +fun UninterpretedSymbolicPythonObject.readDictIntElement( + ctx: ConcolicRunContext, + key: UExpr +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + val resultAddress = ctx.curState!!.memory.read(lvalue) + return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.dictContainsInt( + ctx: ConcolicRunContext, + key: UExpr +): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonDict) + val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + val contains = ctx.curState!!.memory.read(lvalue) + return with(ctx.ctx) { + dictIsEmpty(ctx).not() and contains + } +} + +fun UninterpretedSymbolicPythonObject.writeDictIntElement( + ctx: ConcolicRunContext, + key: UExpr, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertypeSoft(ctx, typeSystem.pythonDict) + setDictNotEmpty(ctx) + val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) + val lvalueSet = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalueSet, ctx.ctx.trueExpr, ctx.ctx.trueExpr) + // TODO: size? +} + +fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: PyContext): Boolean { + val field = modelHolder.model.readField(address, DictContents.isNotEmpty, ctx.boolSort) + return modelHolder.model.eval(field).isFalse +} + +private fun InterpretedInputSymbolicPythonObject.constructResultObject( + resultAddress: UConcreteHeapRef, + memory: UMemory +): InterpretedSymbolicPythonObject = + if (isStaticHeapRef(resultAddress)) { + val type = memory.typeStreamOf(resultAddress).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(resultAddress, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(resultAddress, modelHolder, typeSystem) + } + +fun InterpretedInputSymbolicPythonObject.readDictRefElement( + ctx: PyContext, + key: InterpretedSymbolicPythonObject, + memory: UMemory +): InterpretedSymbolicPythonObject { + val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) + val elemAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef + return constructResultObject(elemAddress, memory) +} + +fun InterpretedInputSymbolicPythonObject.dictContainsRef( + ctx: PyContext, + key: InterpretedSymbolicPythonObject +): Boolean { + val lvalue = URefSetEntryLValue(address, key.address, RefDictType) + val result = modelHolder.model.read(lvalue) + return !dictIsEmpty(ctx) && result.isTrue +} + +fun InterpretedInputSymbolicPythonObject.readDictIntElement( + ctx: PyContext, + key: KInterpretedValue, + memory: UMemory +): InterpretedSymbolicPythonObject { + val lvalue = UMapEntryLValue(ctx.intSort, ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) + val resultAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef + return constructResultObject(resultAddress, memory) +} + +fun InterpretedInputSymbolicPythonObject.dictContainsInt( + ctx: PyContext, + key: KInterpretedValue +): Boolean { + val lvalue = USetEntryLValue(ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) + return !dictIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt new file mode 100644 index 0000000000..a4c743317f --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -0,0 +1,36 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.EnumerateContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.initializeEnumerate( + ctx: ConcolicRunContext, + arg: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) + ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getEnumerateIterator( + ctx: ConcolicRunContext +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(result, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( + ctx: ConcolicRunContext +): UExpr = with(ctx.ctx) { + require(ctx.curState != null) + val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) + ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkArithAdd(result, mkIntNum(1)), trueExpr) + return result +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt new file mode 100644 index 0000000000..c2d2968334 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -0,0 +1,125 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KFp64Value +import io.ksmt.sort.KRealSort +import org.usvm.* +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable +import org.usvm.language.types.PythonType +import org.usvm.machine.PyContext +import org.usvm.machine.model.PyModel +import org.usvm.machine.symbolicobjects.* +import org.usvm.memory.UMemory + + +sealed class FloatInterpretedContent +object FloatNan: FloatInterpretedContent() +object FloatPlusInfinity: FloatInterpretedContent() +object FloatMinusInfinity: FloatInterpretedContent() +data class FloatNormalValue(val value: Double): FloatInterpretedContent() + +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel, address: UConcreteHeapRef, ctx: PyContext): UBoolExpr { + val value = model.readField(address, field, ctx.intSort) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +} + +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { + val value = memory.readField(address, field, ctx.intSort) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +} + +private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { + val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.bound + 1), ctx.mkIntNum(0)) + memory.writeField(address, field, ctx.intSort, intValue, ctx.trueExpr) +} + +fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatInterpretedContent { + require(getConcreteType() == typeSystem.pythonFloat) + val isNan = readBoolFieldWithSoftConstraint(FloatContents.isNan, modelHolder.model, address, ctx) + if (isNan.isTrue) + return FloatNan + val isInf = readBoolFieldWithSoftConstraint(FloatContents.isInf, modelHolder.model, address, ctx) + if (isInf.isTrue) { + val isPositive = modelHolder.model.readField(address, FloatContents.infSign, ctx.boolSort) + return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity + } + val realValue = modelHolder.model.readField(address, FloatContents.content, ctx.realSort) + val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value + return FloatNormalValue(floatValue.value) +} + +fun InterpretedSymbolicPythonObject.getFloatContent(ctx: PyContext, memory: UMemory): FloatInterpretedContent { + if (this is InterpretedInputSymbolicPythonObject) + return getFloatContent(ctx) + val isNan = memory.readField(address, FloatContents.isNan, ctx.boolSort) + if (isNan.isTrue) + return FloatNan + val isInf = memory.readField(address, FloatContents.isInf, ctx.boolSort) + if (isInf.isTrue) { + val isPositive = memory.readField(address, FloatContents.infSign, ctx.boolSort) + return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity + } + val realValue = memory.readField(address, FloatContents.content, ctx.realSort) + val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value + return FloatNormalValue(floatValue.value) +} + +data class FloatUninterpretedContent( + val isNan: UBoolExpr, + val isInf: UBoolExpr, + val infSign: UBoolExpr, + val realValue: UExpr +) + +fun mkUninterpretedNan(ctx: PyContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.trueExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedPlusInfinity(ctx: PyContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.trueExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedMinusInfinity(ctx: PyContext): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, ctx.falseExpr, ctx.mkRealNum(0)) + +fun mkUninterpretedSignedInfinity(ctx: PyContext, infSign: UBoolExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.trueExpr, infSign, ctx.mkRealNum(0)) + +fun mkUninterpretedFloatWithValue(ctx: PyContext, value: Double): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, ctx.mkFpToRealExpr(ctx.mkFp64(value))) + +fun mkUninterpretedFloatWithValue(ctx: PyContext, value: UExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) + +fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonFloat) + writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx, expr.isNan) + writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx, expr.isInf) + ctx.curState!!.memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonFloat) + return FloatUninterpretedContent( + readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx), + readBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx), + ctx.curState!!.memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), + ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) + ) +} + +private fun wrapRealValue(ctx: PyContext, value: UExpr): FloatUninterpretedContent = + FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) + +fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonFloat -> getFloatContent(ctx) + typeSystem.pythonInt -> wrapRealValue(ctx.ctx, intToFloat(getIntContent(ctx))) + typeSystem.pythonBool -> wrapRealValue(ctx.ctx, intToFloat(getToIntContent(ctx)!!)) + else -> null + } +} + diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt new file mode 100644 index 0000000000..4172ff17bf --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -0,0 +1,55 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable +import org.usvm.language.types.PythonType +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.* +import org.usvm.memory.UMemory + + +fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonInt) + ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonInt) + return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) +} + +fun UninterpretedSymbolicPythonObject.getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { + return when (getTypeIfDefined(ctx)) { + typeSystem.pythonInt -> getIntContent(ctx) + typeSystem.pythonBool -> mkIte(getBoolContent(ctx), mkIntNum(1), mkIntNum(0)) + else -> null + } +} + +fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: PyContext): UExpr { + require(getConcreteType() == typeSystem.pythonInt) + return modelHolder.model.readField(address, IntContents.content, ctx.intSort) +} + +fun InterpretedSymbolicPythonObject.getIntContent(ctx: PyContext, memory: UMemory): UExpr { + return when (this) { + is InterpretedInputSymbolicPythonObject -> { + getIntContent(ctx) + } + is InterpretedAllocatedOrStaticSymbolicPythonObject -> { + memory.readField(address, IntContents.content, ctx.intSort) + } + } +} + +fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { + require(ctx.curState != null) + return getIntContent(ctx.ctx, ctx.curState!!.memory) +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt new file mode 100644 index 0000000000..8ec4ac2f6f --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt @@ -0,0 +1,44 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.UHeapRef +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.ListIteratorContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.setListIteratorContent( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) + ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + ListIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) +} + +fun UninterpretedSymbolicPythonObject.getListIteratorContent( + ctx: ConcolicRunContext +): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, typeSystem.pythonListIteratorType) + val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) + val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + return listRef to index +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt new file mode 100644 index 0000000000..09c30bfa86 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -0,0 +1,42 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.RangeContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.setRangeContent( + ctx: ConcolicRunContext, + start: UExpr, + stop: UExpr, + step: UExpr +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonRange) + ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) + ctx.curState!!.memory.writeField(address, RangeContents.step, intSort, step, trueExpr) + val lengthRValue = mkIte( + step gt mkIntNum(0), + mkIte( + stop gt start, + mkArithDiv( + mkArithAdd(stop, mkArithUnaryMinus(start), step, mkIntNum(-1)), + step + ), + mkIntNum(0) + ), + mkIte( + start gt stop, + mkArithDiv( + mkArithAdd(start, mkArithUnaryMinus(stop), mkArithUnaryMinus(step), mkIntNum(-1)), + mkArithUnaryMinus(step) + ), + mkIntNum(0) + ) + ) + ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt new file mode 100644 index 0000000000..38804a8389 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -0,0 +1,50 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.RangeContents +import org.usvm.machine.symbolicobjects.RangeIteratorContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( + ctx: ConcolicRunContext, + range: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) + val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) + val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) + val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) + val index = mkIntNum(0) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getRangeIteratorState( + ctx: ConcolicRunContext +): Pair, UExpr> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) + return index to length +} + +fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( + ctx: ConcolicRunContext +): UExpr = with(ctx.ctx) { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) + val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val newIndex = mkArithAdd(index, mkIntNum(1)) + ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) + val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) + val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) + return mkArithAdd(start, mkArithMul(index, step)) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt new file mode 100644 index 0000000000..c14f633fbc --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -0,0 +1,94 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.collection.set.primitive.USetEntryLValue +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse +import org.usvm.isTrue +import org.usvm.language.types.IntSetType +import org.usvm.language.types.RefSetType +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.SetContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.memory.key.USizeExprKeyInfo + + +fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonSet) + return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) +} + +fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { + require(ctx.curState != null) + val typeSystem = ctx.typeSystem + addSupertype(ctx, typeSystem.pythonSet) + ctx.curState!!.memory.writeField(address, SetContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.setContainsInt( + ctx: ConcolicRunContext, + key: UExpr +): UBoolExpr = with(ctx.ctx) { + require(ctx.curState != null) + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) +} + +fun UninterpretedSymbolicPythonObject.addIntToSet( + ctx: ConcolicRunContext, + key: UExpr +) = with(ctx.ctx) { + require(ctx.curState != null) + makeSetNotEmpty(ctx) + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) +} + +fun UninterpretedSymbolicPythonObject.setContainsRef( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +): UBoolExpr = with(ctx.ctx) { + require(ctx.curState != null) + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) +} + +fun UninterpretedSymbolicPythonObject.addRefToSet( + ctx: ConcolicRunContext, + key: UninterpretedSymbolicPythonObject +) = with(ctx.ctx) { + require(ctx.curState != null) + makeSetNotEmpty(ctx) + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) +} + +fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: PyContext): Boolean = with(ctx) { + return modelHolder.model.readField(address, SetContents.isNotEmpty, boolSort).isFalse +} + +fun InterpretedInputSymbolicPythonObject.setContainsInt( + ctx: PyContext, + key: KInterpretedValue +): Boolean = with(ctx) { + val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) + return !setIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue +} + +fun InterpretedInputSymbolicPythonObject.setContainsRef( + ctx: PyContext, + key: InterpretedSymbolicPythonObject +): Boolean { + val lvalue = URefSetEntryLValue(address, key.address, RefSetType) + return !setIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt new file mode 100644 index 0000000000..c23c8e4867 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -0,0 +1,81 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort +import org.usvm.UBoolExpr +import org.usvm.UExpr +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.PropertyOfPythonObject +import org.usvm.machine.symbolicobjects.SliceContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +data class SliceInterpretedContent( + val start: KInterpretedValue?, + val stop: KInterpretedValue?, + val step: KInterpretedValue? +) + +fun InterpretedInputSymbolicPythonObject.getSliceContent(ctx: PyContext, typeSystem: PythonTypeSystem): SliceInterpretedContent { + require(getConcreteType() == typeSystem.pythonSlice) + val startIsNone = modelHolder.model.readField(address, SliceContents.startIsNone, ctx.boolSort).isTrue + val start = if (startIsNone) null else modelHolder.model.readField(address, SliceContents.start, ctx.intSort) as KInterpretedValue + val stopIsNone = modelHolder.model.readField(address, SliceContents.stopIsNone, ctx.boolSort).isTrue + val stop = if (stopIsNone) null else modelHolder.model.readField(address, SliceContents.stop, ctx.intSort) as KInterpretedValue + val stepIsNone = modelHolder.model.readField(address, SliceContents.stepIsNone, ctx.boolSort).isTrue + val step = if (stepIsNone) null else modelHolder.model.readField(address, SliceContents.step, ctx.intSort) as KInterpretedValue + return SliceInterpretedContent(start, stop, step) +} + +data class SliceUninterpretedField( + val isNone: UBoolExpr, + val content: UExpr +) + +private fun UninterpretedSymbolicPythonObject.getSliceField( + ctx: ConcolicRunContext, + fieldIsNone: PropertyOfPythonObject, + field: PropertyOfPythonObject +): SliceUninterpretedField { + require(ctx.curState != null) + addSupertype(ctx, ctx.typeSystem.pythonSlice) + val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) + val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) + return SliceUninterpretedField(isNone, value) +} + +private fun UninterpretedSymbolicPythonObject.setSliceField( + ctx: ConcolicRunContext, + fieldIsNone: PropertyOfPythonObject, + field: PropertyOfPythonObject, + content: SliceUninterpretedField +) { + require(ctx.curState != null) + addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) + ctx.curState!!.memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.startIsNone, SliceContents.start) + +fun UninterpretedSymbolicPythonObject.setSliceStart(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.startIsNone, SliceContents.start, content) + +fun UninterpretedSymbolicPythonObject.getSliceStop(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop) + +fun UninterpretedSymbolicPythonObject.setSliceStop(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.stopIsNone, SliceContents.stop, content) + +fun UninterpretedSymbolicPythonObject.getSliceStep(ctx: ConcolicRunContext): SliceUninterpretedField = + getSliceField(ctx, SliceContents.stepIsNone, SliceContents.step) + +fun UninterpretedSymbolicPythonObject.setSliceStep(ctx: ConcolicRunContext, content: SliceUninterpretedField) = + setSliceField(ctx, SliceContents.stepIsNone, SliceContents.step, content) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt new file mode 100644 index 0000000000..ee797c16ce --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -0,0 +1,75 @@ +package org.usvm.machine.symbolicobjects.memory + +import org.usvm.* +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet +import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut +import org.usvm.api.typeStreamOf +import org.usvm.collection.map.ref.URefMapEntryLValue +import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.PythonCallable +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.ObjectDictType +import org.usvm.language.types.PythonType +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.memory.UMemory +import org.usvm.types.first + +fun UninterpretedSymbolicPythonObject.getFieldValue( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject { + require(ctx.curState != null) + name.addSupertype(ctx, typeSystem.pythonStr) + val addr = ctx.curState!!.symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) + return UninterpretedSymbolicPythonObject(addr, typeSystem) +} + +fun UninterpretedSymbolicPythonObject.setFieldValue( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject +) { + require(ctx.curState != null) + name.addSupertypeSoft(ctx, typeSystem.pythonStr) + ctx.curState!!.symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) +} + +fun UninterpretedSymbolicPythonObject.containsField( + ctx: ConcolicRunContext, + name: UninterpretedSymbolicPythonObject +): UBoolExpr { + require(ctx.curState != null) + name.addSupertype(ctx, typeSystem.pythonStr) + return ctx.curState!!.symbolicObjectMapContains(address, name.address, ObjectDictType) +} + +fun InterpretedInputSymbolicPythonObject.containsField( + name: InterpretedSymbolicPythonObject +): Boolean { + require(!isAllocatedConcreteHeapRef(name.address)) + val result = modelHolder.model.read(URefSetEntryLValue(address, name.address, ObjectDictType)) + return result.isTrue +} + +fun InterpretedInputSymbolicPythonObject.getFieldValue( + ctx: PyContext, + name: InterpretedSymbolicPythonObject, + memory: UMemory +): InterpretedSymbolicPythonObject { + require(!isAllocatedConcreteHeapRef(name.address)) + val result = modelHolder.model.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) + require((result as UConcreteHeapRef).address <= 0) + return if (!isStaticHeapRef(result)) + InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) + else { + val type = memory.typeStreamOf(result).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(result, type, typeSystem) + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt new file mode 100644 index 0000000000..d456d6b0f9 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt @@ -0,0 +1,8 @@ +package org.usvm.machine.symbolicobjects.memory + +import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = + preallocatedObjects.concreteString(this) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt new file mode 100644 index 0000000000..ec652e30e1 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -0,0 +1,39 @@ +package org.usvm.machine.symbolicobjects.memory + +import io.ksmt.sort.KIntSort +import org.usvm.UExpr +import org.usvm.UHeapRef +import org.usvm.api.readField +import org.usvm.api.writeField +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.TupleIteratorContents +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + + +fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) + ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) +} + +fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) + val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + return tupleRef to index +} + +fun UninterpretedSymbolicPythonObject.increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { + require(ctx.curState != null) + addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) + val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + ctx.curState!!.memory.writeField( + address, + TupleIteratorContents.index, + intSort, + mkArithAdd(oldIndexValue, mkIntNum(1)), + trueExpr + ) +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt index 084fb31e55..519fc0de9d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt @@ -1,7 +1,7 @@ package org.usvm.machine.utils -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject fun isGenerator(funcRef: PythonObject): Boolean { val namespace = ConcretePythonInterpreter.getNewNamespace() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index c5706a6686..5a62608b80 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -1,9 +1,9 @@ package org.usvm.machine.utils import org.usvm.language.PythonPinnedCallable -import org.usvm.machine.interpreters.ConcretePythonInterpreter -import org.usvm.machine.interpreters.PythonObject -import org.usvm.machine.interpreters.operations.tracing.NextInstruction +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.symbolic.operations.tracing.NextInstruction fun writeLostSymbolicValuesReport(lostValues: Map): String { val result = StringBuilder() @@ -29,7 +29,7 @@ private fun addWithDefault(map: MutableMap, descr: Metho map[descr] = map[descr]!! + value } -class PythonMachineStatistics { +class PyMachineStatistics { val functionStatistics = mutableListOf() val meanCoverage: Double get() = functionStatistics.sumOf { it.coverage } / functionStatistics.size diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt deleted file mode 100644 index 6feb8ea683..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyModelWrapper.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.usvm.machine.utils - -import io.ksmt.expr.KInterpretedValue -import org.usvm.* -import org.usvm.api.readField -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.PropertyOfPythonObject -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonType -import org.usvm.language.types.MockType -import org.usvm.machine.PythonExecutionState -import org.usvm.model.UModelBase -import org.usvm.types.TypesResult - -class PyModelWrapper(val uModel: UModelBase) { - fun eval(expr: UExpr): KInterpretedValue = - uModel.eval(expr) as KInterpretedValue - - fun readField(ref: UConcreteHeapRef, field: PropertyOfPythonObject, sort: Sort): KInterpretedValue = - uModel.readField(ref, field, sort) as KInterpretedValue - - override fun equals(other: Any?): Boolean { - if (other !is PyModelWrapper) - return false - return uModel == other.uModel - } - - override fun hashCode(): Int { - return uModel.hashCode() - } - - fun getFirstType(ref: UConcreteHeapRef): PythonType? { - val typeStream = uModel.types.getTypeStream(ref).take(1) - if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) - return null - val first = typeStream.take(1).first() - val concrete = getConcreteType(ref) - if (concrete == null) - require(first is MockType) - return first - } - - fun getConcreteType(ref: UConcreteHeapRef): ConcretePythonType? { - val typeStream = uModel.types.getTypeStream(ref) - val prefix = typeStream.take(2) - if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) - return null - return prefix.first() as? ConcretePythonType - } -} - -class PyModelHolder(var model: PyModelWrapper) - -fun substituteModel(state: PythonExecutionState, newModel: PyModelWrapper, constraint: UBoolExpr, ctx: ConcolicRunContext) { - state.models = listOf(newModel.uModel) - state.pathConstraints += constraint - ctx.modelHolder.model = newModel -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt index 6733446cc8..c271d5d716 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt @@ -1,7 +1,7 @@ package org.usvm.machine.utils import org.usvm.language.types.PythonTypeSystem -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import java.io.File fun withAdditionalPaths(additionalPaths: Collection, typeSystem: PythonTypeSystem?, block: () -> T): T { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 7e6e39e5c0..2bd4dcc27c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -4,11 +4,12 @@ import org.usvm.* import org.usvm.api.typeStreamOf import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.PythonType +import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.types.UTypeStream -fun getLeafHeapRef(ref: UHeapRef, model: PyModelWrapper): UHeapRef = +fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = when (ref) { is UConcreteHeapRef -> ref is UNullRef -> ref diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt index 8dfdaf5823..b4964f1cb5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -3,7 +3,7 @@ package org.usvm.machine.utils import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.interpreters.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.pythonDescription diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index af6c62b66f..94fc23e569 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -3,7 +3,7 @@ package org.usvm.runner import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.usvm.machine.NewStateObserver -import org.usvm.machine.PythonExecutionState +import org.usvm.machine.PyState import org.usvm.machine.rendering.StateSeedSender import org.usvm.machine.saving.PickledObjectSaver @@ -14,7 +14,7 @@ class NewStateObserverForRunner( private val saver = PickledObjectSaver(communicator) private val seedSender = StateSeedSender(saver) private val sentData = mutableSetOf() - override fun onNewState(state: PythonExecutionState) { + override fun onNewState(state: PyState) { val data = seedSender.getData(state) ?: return if (data !in sentData) { sentData.add(data) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index fdc03158fa..d8443a5f46 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -5,9 +5,8 @@ import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.language.types.getTypeFromTypeHint -import org.usvm.machine.PythonMachine +import org.usvm.machine.PyMachine import org.usvm.machine.saving.DummySaver -import org.usvm.machine.saving.PickledObjectSaver import org.utbot.python.newtyping.PythonCallableTypeDescription import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.general.FunctionType @@ -28,7 +27,7 @@ class PythonMachineSocketRunner( private val communicator = PickledObjectCommunicator(socketIp, socketPort) private val program = StructuredPythonProgram(programRoots) private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - private val machine = PythonMachine(program, typeSystem) + private val machine = PyMachine(program, typeSystem) override fun close() { communicator.close() machine.close() From ee60196e6075789fe6dc1ac861f247c7133c0fd1 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 20 Dec 2023 15:51:09 +0300 Subject: [PATCH 222/344] Refactoring: removed ConverterToPythonObject + started changing API for saving results --- settings.gradle.kts | 4 +- usvm-python/build.gradle.kts | 1 + usvm-python/src/test/kotlin/manualTest.kt | 19 +- .../org/usvm/runner/PythonTestRunner.kt | 58 +-- usvm-python/usvm-python-main/build.gradle.kts | 1 + .../usvm/interpreter/ConcolicRunContext.java | 11 +- .../usvm/language/VirtualPythonObject.java | 7 +- .../org/usvm/language/types/TypeSystem.kt | 28 +- .../kotlin/org/usvm/language/types/Types.kt | 13 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 44 +-- .../main/kotlin/org/usvm/machine/PyState.kt | 21 +- .../symbolic/USVMPythonInterpreter.kt | 365 +++++++++-------- .../symbolic/operations/basic/Virtual.kt | 8 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 1 + .../usvm/machine/ps/PyVirtualPathSelector.kt | 19 +- .../rendering/ConverterToPythonObject.kt | 366 ------------------ .../rendering/DefaultPyObjectModelProvider.kt | 38 ++ .../machine/rendering/DefaultValueProvider.kt | 34 -- .../machine/rendering/PyObjectModelBuilder.kt | 308 +++++++++++++++ .../machine/rendering/PythonObjectRenderer.kt | 103 +++++ .../usvm/machine/rendering/StateSeedSender.kt | 6 +- .../{saving => results}/PickledObjectSaver.kt | 67 ++-- .../results/PyMachineResultsReceiver.kt | 20 + .../PythonAnalysisResultSaver.kt | 56 +-- .../PythonObjectSerializer.kt | 2 +- .../PythonRepresentationSaver.kt | 115 +++--- .../machine/{saving => results}/SaverAPI.kt | 45 +-- .../results/observers/InputModelObserver.kt | 11 + .../observers/InputPythonObjectObserver.kt | 11 + .../results/observers/NewStateObserver.kt | 11 + .../results/observers/PyTestObserver.kt | 18 + ...{PythonImportUtils.kt => PyImportUtils.kt} | 0 .../usvm/runner/NewStateObserverForRunner.kt | 8 +- .../usvm/runner/PickledObjectCommunicator.kt | 3 +- .../usvm/runner/PythonMachineSocketRunner.kt | 12 +- .../usvm-python-object-model/build.gradle.kts | 3 + .../org/usvm/python/model/PyObjectModel.kt | 24 ++ .../kotlin/org/usvm/python/model/PyTest.kt | 21 + 38 files changed, 1035 insertions(+), 847 deletions(-) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{saving => results}/PickledObjectSaver.kt (91%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{saving => results}/PythonAnalysisResultSaver.kt (90%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{saving => results}/PythonObjectSerializer.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{saving => results}/PythonRepresentationSaver.kt (93%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{saving => results}/SaverAPI.kt (88%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/{PythonImportUtils.kt => PyImportUtils.kt} (100%) create mode 100644 usvm-python/usvm-python-object-model/build.gradle.kts create mode 100644 usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt create mode 100644 usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 9b9037c489..20a5bc762d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -25,4 +25,6 @@ pluginManagement { } } } -} \ No newline at end of file +} +include("usvm-python:usvm-python-object-model") +findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index de9aaec676..688e73c76c 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -25,6 +25,7 @@ repositories { dependencies { implementation(project(":usvm-core")) implementation(project(":usvm-python:usvm-python-main")) + implementation(project(":usvm-python:usvm-python-object-model")) implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") implementation("ch.qos.logback:logback-classic:${Versions.logback}") diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 39f2005c7b..8158b59f66 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -7,14 +7,15 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException -import org.usvm.machine.saving.Fail -import org.usvm.machine.saving.Success -import org.usvm.machine.saving.createDictSaver +import org.usvm.machine.results.DefaultPyMachineResultsReceiver +import org.usvm.machine.results.ObjectWithDictSerializer import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.usvm.machine.utils.withAdditionalPaths +import org.usvm.python.model.PyResultFailure +import org.usvm.python.model.PyResultSuccess import org.utbot.python.newtyping.* import org.utbot.python.newtyping.general.FunctionType import org.utbot.python.newtyping.general.UtType @@ -193,7 +194,7 @@ private fun analyze(runConfig: RunConfig) { println("Started analysing function ${f.tag}") try { val start = System.currentTimeMillis() - val saver = createDictSaver() + val saver = DefaultPyMachineResultsReceiver(ObjectWithDictSerializer) val iterations = activeMachine.analyze( f, saver, @@ -203,13 +204,13 @@ private fun analyze(runConfig: RunConfig) { timeoutPerRunMs = 4_000, timeoutMs = 60_000 ) - saver.getResults().forEach { (_, inputs, result) -> + saver.pyTestObserver.tests.forEach { test -> println("INPUT:") - inputs.map { it.reprFromPythonObject }.forEach { println(it) } + test.inputArgs.forEach { println(it) } println("RESULT:") - when (result) { - is Success -> println(result.output) - is Fail -> println(result.exception) + when (val result = test.result) { + is PyResultSuccess -> println(result.output) + is PyResultFailure -> println(result.exception) } println() } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index b80559b300..b2830b2d52 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -7,7 +7,11 @@ import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.saving.* +import org.usvm.machine.rendering.PythonObjectRenderer +import org.usvm.machine.results.* +import org.usvm.python.model.PyResultFailure +import org.usvm.python.model.PyResultSuccess +import org.usvm.python.model.PyTest import org.usvm.test.util.TestRunner import org.usvm.test.util.checkers.AnalysisResultsNumberMatcher import org.usvm.test.util.checkers.ge @@ -15,7 +19,7 @@ import org.usvm.test.util.checkers.ge sealed class PythonTestRunner( override var options: UMachineOptions = UMachineOptions(), protected var allowPathDiversions: Boolean = false -): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { +): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { var timeoutPerRunMs: Long? = null abstract val typeSystem: PythonTypeSystem protected abstract val program: PythonProgram @@ -26,9 +30,9 @@ sealed class PythonTestRunner( get() = { _ -> PythonAnyType } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> + override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> get() = { callable, options -> - val saver = createStandardSaver() + val saver = DefaultPyMachineResultsReceiver(StandardPythonObjectSerializer) machine.analyze( callable, saver, @@ -37,20 +41,20 @@ sealed class PythonTestRunner( timeoutMs = options.timeout.inWholeMilliseconds, timeoutPerRunMs = timeoutPerRunMs ) - saver.getResults() + saver.pyTestObserver.tests } - override val coverageRunner: (List>) -> PythonCoverage + override val coverageRunner: (List>) -> PythonCoverage get() = { _ -> PythonCoverage(0) } private fun compareWithConcreteRun( target: PythonUnpinnedCallable, - test: PythonAnalysisResult, + test: PyTest, check: (PythonObject) -> String? ): String? = program.withPinnedCallable(target, typeSystem) { pinnedCallable -> - val converter = test.inputValueConverter - converter.restart() - val args = test.inputValues.map { converter.convert(it.asUExpr) } + val argModels = test.inputModel.inputArgs + val renderer = PythonObjectRenderer() + val args = argModels.map { renderer.convert(it) } try { val concreteResult = ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPythonObject, args) @@ -62,18 +66,18 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PythonAnalysisResult, PythonObject) -> String?, List, List) -> Unit = + (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PyTest, PythonObject) -> String?, List, List) -> Unit = { target: PythonUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - compareConcolicAndConcrete: (PythonAnalysisResult, PythonObject) -> String?, + compareConcolicAndConcrete: (PyTest, PythonObject) -> String?, invariants: List, propertiesToDiscover: List -> - val onAnalysisResult = { pythonTest: PythonAnalysisResult -> + val onAnalysisResult = { pythonTest: PyTest -> val executionResult = when (val result = pythonTest.result) { - is Success -> result.output - is Fail -> result.exception + is PyResultSuccess -> result.output + is PyResultFailure -> result.exception } - val result = pythonTest.inputValues.map { it.reprFromPythonObject } + executionResult + val result = pythonTest.inputArgs + executionResult if (concreteRun) { val comparisonResult = compareWithConcreteRun(target, pythonTest) { compareConcolicAndConcrete(pythonTest, it) @@ -81,7 +85,7 @@ sealed class PythonTestRunner( require(comparisonResult == null) { "Error in CPython patch or approximation: concrete and concolic results differ. " + "Checker msg: $comparisonResult. " + - "Inputs: ${pythonTest.inputValues.map { it.reprFromPythonObject }.joinToString(", ")}" + "Inputs: ${pythonTest.inputArgs.joinToString(", ")}" } } result @@ -99,9 +103,9 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRunAndNoPredicates(): - (PythonUnpinnedCallable, (PythonAnalysisResult, PythonObject) -> String?) -> Unit = + (PythonUnpinnedCallable, (PyTest, PythonObject) -> String?) -> Unit = { target: PythonUnpinnedCallable, - compareConcolicAndConcrete: (PythonAnalysisResult, PythonObject) -> String? -> + compareConcolicAndConcrete: (PyTest, PythonObject) -> String? -> createCheckWithConcreteRun(concreteRun = true)( target, ge(0), @@ -150,8 +154,8 @@ sealed class PythonTestRunner( createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: - (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? Success)?.let { + (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultSuccess)?.let { val concolic = it.output.repr val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) if (concolic == concrete) null else "(Success) Expected $concrete, got $concolic" @@ -159,8 +163,8 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfSuccess: - (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? Success)?.let { + (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultSuccess)?.let { val concolic = it.output.typeName val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) if (concolic == concrete) null else "(Success) Expected result type $concrete, got $concolic" @@ -168,8 +172,8 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfFail: - (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? Fail)?.let { + (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultFailure)?.let { if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" else { @@ -181,13 +185,13 @@ sealed class PythonTestRunner( } val standardConcolicAndConcreteChecks: - (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } val compareConcolicAndConcreteTypes: - (PythonAnalysisResult, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index c6a9377df2..a315c32da0 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -31,6 +31,7 @@ repositories { dependencies { implementation(project(":usvm-core")) implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) + implementation(project(mapOf("path" to ":usvm-python:usvm-python-object-model"))) annotationProcessor(project(":usvm-python:usvm-python-annotations")) implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index cd18b1af5b..d335f42e19 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -9,7 +9,8 @@ import org.usvm.machine.PyState; import org.usvm.machine.PyContext; import org.usvm.machine.model.PyModelHolder; -import org.usvm.machine.rendering.ConverterToPythonObject; +import org.usvm.machine.rendering.PyObjectModelBuilder; +import org.usvm.machine.rendering.PythonObjectRenderer; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; import java.util.*; @@ -25,13 +26,14 @@ public class ConcolicRunContext { public MockHeader curOperation = null; public PyModelHolder modelHolder; public boolean allowPathDiversion; - public ConverterToPythonObject converter; public PythonTypeSystem typeSystem; public PythonMachineStatisticsOnFunction statistics; public int maxInstructions; public int instructionCounter = 0; public boolean usesVirtualInputs = false; public Callable isCancelled; + public PyObjectModelBuilder builder = null; + public PythonObjectRenderer renderer = null; public ConcolicRunContext( @NotNull PyState curState, @@ -50,11 +52,6 @@ public ConcolicRunContext( this.typeSystem = typeSystem; this.pathPrefix = curState.buildPathAsList(); this.statistics = statistics; - if (curState.getMeta().getLastConverter() != null) { - this.converter = curState.getMeta().getLastConverter(); - } else { - this.converter = new ConverterToPythonObject(ctx, typeSystem, modelHolder, curState.getPreAllocatedObjects(), curState.getMemory().clone(curState.getPathConstraints().getTypeConstraints()), false); - } this.maxInstructions = maxInstructions; this.isCancelled = isCancelled; } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java index 7c5ed7a73f..afda53393a 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java @@ -3,8 +3,11 @@ import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject; public class VirtualPythonObject { - public InterpretedInputSymbolicPythonObject interpretedObj; + public int interpretedObjRef; public VirtualPythonObject(InterpretedInputSymbolicPythonObject interpretedObj) { - this.interpretedObj = interpretedObj; + this.interpretedObjRef = interpretedObj.getAddress().getAddress(); + } + public VirtualPythonObject(int interpretedObjRef) { + this.interpretedObjRef = interpretedObjRef; } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 6931d54b78..50d93572a4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -9,6 +9,7 @@ import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem import org.usvm.machine.utils.withAdditionalPaths +import org.usvm.python.model.PyIdentifier import org.utbot.python.newtyping.* import org.utbot.python.newtyping.general.UtType import org.utbot.python.newtyping.general.DefaultSubstitutionProvider @@ -65,13 +66,13 @@ abstract class PythonTypeSystem: UTypeSystem { concreteTypeToAddress[type] = address ConcretePythonInterpreter.incref(address) } - protected fun addPrimitiveType(isHidden: Boolean, module: String?, getter: () -> PythonObject): ConcretePythonType { + protected fun addPrimitiveType(isHidden: Boolean, id: PyIdentifier, getter: () -> PythonObject): ConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") val type = PrimitiveConcretePythonType( this, ConcretePythonInterpreter.getNameOfPythonType(address), - module, + id, isHidden, getter ) @@ -79,13 +80,14 @@ abstract class PythonTypeSystem: UTypeSystem { return type } - private fun addArrayLikeType(constraints: Set, getter: () -> PythonObject): ArrayLikeConcretePythonType { + private fun addArrayLikeType(constraints: Set, id: PyIdentifier, getter: () -> PythonObject): ArrayLikeConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") val type = ArrayLikeConcretePythonType( constraints, this, ConcretePythonInterpreter.getNameOfPythonType(address), + id, getter ) addType(type, address) @@ -112,10 +114,10 @@ abstract class PythonTypeSystem: UTypeSystem { } private fun createConcreteTypeByName(name: String, isHidden: Boolean = false): ConcretePythonType = - addPrimitiveType(isHidden, null) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + addPrimitiveType(isHidden, PyIdentifier("builtins", name)) { ConcretePythonInterpreter.eval(emptyNamespace, name) } private fun createArrayLikeTypeByName(name: String, constraints: Set): ArrayLikeConcretePythonType = - addArrayLikeType(constraints) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + addArrayLikeType(constraints, PyIdentifier("builtins", name)) { ConcretePythonInterpreter.eval(emptyNamespace, name) } val pythonInt = createConcreteTypeByName("int") val pythonBool = createConcreteTypeByName("bool") @@ -181,11 +183,12 @@ class PythonTypeSystemWithMypyInfo( fun resortTypes(module: String) { allConcreteTypes = allConcreteTypes.sortedBy { - when (it.typeModule) { - null -> 0 - module -> 1 - else -> 2 - } + if (it in basicTypes) + 0 + else if (it.typeModule == module) + 1 + else + 2 } } @@ -197,10 +200,11 @@ class PythonTypeSystemWithMypyInfo( utTypeRaw.getBoundedParameters().map { pythonAnyType } ) val moduleName = utType.pythonModuleName() + val name = utType.pythonName() val refGetter = { val namespace = program.getNamespaceOfModule(moduleName) ?: throw CPythonExecutionException() - ConcretePythonInterpreter.eval(namespace, utType.pythonName()) + ConcretePythonInterpreter.eval(namespace, name) } val ref = try { refGetter() @@ -216,7 +220,7 @@ class PythonTypeSystemWithMypyInfo( return@mapNotNull null } - addPrimitiveType(isHidden = false, module = moduleName, refGetter).also { concreteType -> + addPrimitiveType(isHidden = false, PyIdentifier(moduleName, name), refGetter).also { concreteType -> utTypeOfConcretePythonType[concreteType] = utType concreteTypeOfUtType[PythonTypeWrapperForEqualityCheck(utType)] = concreteType } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 7288b22086..34438bf880 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -1,6 +1,7 @@ package org.usvm.language.types import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.python.model.PyIdentifier sealed class PythonType @@ -24,13 +25,16 @@ abstract class VirtualPythonType: PythonType() { sealed class ConcretePythonType( val owner: PythonTypeSystem, val typeName: String, - val typeModule: String?, + val id: PyIdentifier, val isHidden: Boolean = false, val addressGetter: () -> PythonObject ): PythonType() { val asObject: PythonObject get() = owner.addressOfConcreteType(this) + val typeModule: String + get() = id.module + override fun toString(): String { return "ConcretePythonType(\"$typeName\")" } @@ -39,14 +43,15 @@ sealed class ConcretePythonType( class PrimitiveConcretePythonType( owner: PythonTypeSystem, typeName: String, - typeModule: String?, + id: PyIdentifier, isHidden: Boolean = false, addressGetter: () -> PythonObject -): ConcretePythonType(owner, typeName, typeModule, isHidden, addressGetter) +): ConcretePythonType(owner, typeName, id, isHidden, addressGetter) class ArrayLikeConcretePythonType( val elementConstraints: Set, owner: PythonTypeSystem, typeName: String, + id: PyIdentifier, addressGetter: () -> PythonObject -): ConcretePythonType(owner, typeName, null, false, addressGetter) \ No newline at end of file +): ConcretePythonType(owner, typeName, id,false, addressGetter) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index ba76685588..df9207e90c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -10,7 +10,9 @@ import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.PyVirtualPathSelector -import org.usvm.machine.saving.PythonAnalysisResultSaver +import org.usvm.machine.results.PyMachineResultsReceiver +import org.usvm.machine.results.observers.EmptyNewStateObserver +import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PyMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction @@ -31,21 +33,17 @@ class PyMachine( // private val random = Random(0) val statistics = PyMachineStatistics() - private fun getInterpreter( - target: PythonUnpinnedCallable, + private fun getInterpreter( pinnedTarget: PythonPinnedCallable, - saver: PythonAnalysisResultSaver, + saver: PyMachineResultsReceiver, allowPathDiversion: Boolean, - iterationCounter: IterationCounter, maxInstructions: Int, isCancelled: (Long) -> Boolean - ): USVMPythonInterpreter = + ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, typeSystem, - target, pinnedTarget, - iterationCounter, printErrorMsg, PythonMachineStatisticsOnFunction(pinnedTarget).also { statistics.functionStatistics.add(it) }, maxInstructions, @@ -104,16 +102,15 @@ class PyMachine( return ps } - fun analyze( + fun analyze( pythonCallable: PythonUnpinnedCallable, - saver: PythonAnalysisResultSaver, + saver: PyMachineResultsReceiver, maxIterations: Int = 300, allowPathDiversion: Boolean = true, maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, timeoutPerRunMs: Long? = null, - unfoldGenerator: Boolean = true, - newStateObserver: NewStateObserver = DummyNewStateObserver + unfoldGenerator: Boolean = true ): Int { if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) @@ -126,33 +123,30 @@ class PyMachine( val substituted = unfoldGenerator(rawPinnedCallable.asPythonObject) PythonPinnedCallable(substituted) } - val observer = PythonMachineObserver(newStateObserver) - val iterationCounter = IterationCounter() + val observer = PythonMachineObserver(saver.newStateObserver) val startTime = System.currentTimeMillis() val stopTime = timeoutMs?.let { startTime + it } val interpreter = getInterpreter( - pythonCallable, pinnedCallable, saver, allowPathDiversion, - iterationCounter, maxInstructions ) { startIterationTime -> (timeoutPerRunMs?.let { (System.currentTimeMillis() - startIterationTime) >= it } ?: false) || (stopTime != null && System.currentTimeMillis() >= stopTime) } - val pathSelector = getPathSelector(pythonCallable, newStateObserver) + val pathSelector = getPathSelector(pythonCallable, saver.newStateObserver) run( interpreter, pathSelector, observer = observer, isStateTerminated = { !it.isInterestingForPathSelector() }, stopStrategy = { - iterationCounter.iterations >= maxIterations || + observer.iterations >= maxIterations || (stopTime != null && System.currentTimeMillis() >= stopTime) } ) - iterationCounter.iterations + observer.iterations }.also { ConcretePythonInterpreter.restart() ctx.restartSolver() @@ -167,8 +161,10 @@ class PyMachine( private class PythonMachineObserver( val newStateObserver: NewStateObserver ): UMachineObserver { + var iterations: Int = 0 override fun onState(parent: PyState, forks: Sequence) { super.onState(parent, forks) + iterations += 1 if (!parent.isTerminated()) newStateObserver.onNewState(parent) forks.forEach { @@ -177,14 +173,4 @@ class PyMachine( } } } -} - -data class IterationCounter(var iterations: Int = 0) - -abstract class NewStateObserver { - abstract fun onNewState(state: PyState) -} - -object DummyNewStateObserver: NewStateObserver() { - override fun onNewState(state: PyState) = run {} } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 81109870af..a24be085a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -4,7 +4,6 @@ import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* import org.usvm.language.types.* @@ -14,15 +13,14 @@ import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.ps.types.SymbolTypeTree import org.usvm.machine.ps.types.prioritizeTypes import org.usvm.memory.UMemory -import org.usvm.model.UModelBase import org.usvm.targets.UTarget import org.usvm.types.UTypeStream import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.targets.UTargetsSet import org.usvm.types.TypesResult -object PythonTarget: UTarget, PythonTarget>() -private val targets = UTargetsSet.empty>() +object PyTarget: UTarget, PyTarget>() +private val targets = UTargetsSet.empty>() class PyState( ctx: PyContext, @@ -38,8 +36,16 @@ class PyState( pathLocation: PathNode> = PathNode.root(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), - val mockedObjects: MutableSet = mutableSetOf() -): UState, PyContext, PythonTarget, PyState>(ctx, callStack, pathConstraints, memory, listOf(uModel), pathLocation, targets) { + val mockedObjects: MutableSet = mutableSetOf(), +): UState, PyContext, PyTarget, PyState>( + ctx, + callStack, + pathConstraints, + memory, + listOf(uModel), + pathLocation, + targets +) { override fun clone(newConstraints: UPathConstraints?): PyState { val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) @@ -134,7 +140,6 @@ class PythonExecutionStateMeta { var wasExecuted: Boolean = false var wasInterrupted: Boolean = false var modelDied: Boolean = false - var objectsWithoutConcreteTypes: Set? = null - var lastConverter: ConverterToPythonObject? = null + var objectsWithoutConcreteTypes: Collection? = null var generatedFrom: String = "" // for debugging only } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 2927d2207d..91b8527ece 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -1,13 +1,10 @@ package org.usvm.machine.interpreters.symbolic -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PythonPinnedCallable import org.usvm.machine.symbolicobjects.* -import org.usvm.language.PythonUnpinnedCallable import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* @@ -18,216 +15,214 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.BadModelException import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimitExceededException -import org.usvm.machine.model.PyModel import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.rendering.ConverterToPythonObject import org.usvm.machine.rendering.LengthOverflowException -import org.usvm.machine.saving.* +import org.usvm.machine.rendering.PyObjectModelBuilder +import org.usvm.machine.rendering.PythonObjectRenderer +import org.usvm.machine.results.* import org.usvm.machine.utils.PythonMachineStatisticsOnFunction +import org.usvm.python.model.* -class USVMPythonInterpreter( +class USVMPythonInterpreter( private val ctx: PyContext, private val typeSystem: PythonTypeSystem, - private val unpinnedCallable: PythonUnpinnedCallable, private val pinnedCallable: PythonPinnedCallable, - private val iterationCounter: IterationCounter, private val printErrorMsg: Boolean, private val statistics: PythonMachineStatisticsOnFunction, private val maxInstructions: Int, - private val saver: PythonAnalysisResultSaver, + private val resultsReceiver: PyMachineResultsReceiver, private val isCancelled: (Long) -> Boolean, private val allowPathDiversion: Boolean = true, ) : UInterpreter() { - private fun getSeeds( - concolicRunContext: ConcolicRunContext, - symbols: List - ): List = - symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } - - private fun getConcrete( - converter: ConverterToPythonObject, - seeds: List, - symbols: List - ): List = - (seeds zip symbols).map { (seed, _) -> converter.convert(seed) } - - private fun getInputs( - converter: ConverterToPythonObject, - concrete: List, - seeds: List - ): List? = - if (converter.numberOfVirtualObjectUsages() == 0) { - (seeds zip unpinnedCallable.signature zip concrete).map { (p, ref) -> - val (asUExpr, type) = p - GeneratedPythonObject(ref, type, asUExpr) + override fun step(state: PyState): StepResult { + val modelHolder = PyModelHolder(state.pyModel) + val concolicRunContext = constructConcolicRunContext(state, modelHolder) + state.meta.objectsWithoutConcreteTypes = null + logger.debug("Step on state: {}", state) + logger.debug("Source of the state: {}", state.meta.generatedFrom) + val symbols = state.inputSymbols + val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } + val builder = PyObjectModelBuilder(concolicRunContext, modelHolder) + val objectModels = interpreted.map { builder.convert(it) } + val inputModel = PyInputModel(objectModels) + resultsReceiver.inputModelObserver.onInputModel(inputModel) + val renderer = PythonObjectRenderer() + concolicRunContext.builder = builder + concolicRunContext.renderer = renderer + val concrete = getConcrete(renderer, objectModels) + if (concrete == null) { + state.meta.modelDied = true + return StepResult(emptySequence(), false) + } + val inputRepr = processConcreteInput(concrete, renderer) + concolicRunContext.usesVirtualInputs = inputRepr == null + val result: PythonObject? = try { + ConcretePythonInterpreter.concolicRun( + pinnedCallable.asPythonObject, + concrete, + renderer.getPythonVirtualObjects(), + symbols.map { SymbolForCPython(it, 0) }, + concolicRunContext, + printErrorMsg + ) + } catch (exception: CPythonExecutionException) { + val realCPythonException = processCPythonExceptionDuringConcolicRun( + concolicRunContext, + exception, + renderer, + inputModel, + inputRepr + ) + if (!realCPythonException) { + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) } - } else { null } + if (result != null) { + processSuccessfulExecution(result, inputModel, inputRepr) + } - override fun step(state: PyState): StepResult = runBlocking { - val modelHolder = - if (state.meta.lastConverter != null) - state.meta.lastConverter!!.modelHolder - else - PyModelHolder(state.pyModel) - require(modelHolder.model == state.pyModel) { "Bad model inside modelHolder!" } - val start = System.currentTimeMillis() - val concolicRunContext = - ConcolicRunContext( - state, - ctx, - modelHolder, - typeSystem, - allowPathDiversion, - statistics, - maxInstructions - ) { - isCancelled(start) - // timeoutPerRunMs?.let { System.currentTimeMillis() - start > timeoutPerRunMs } ?: false - } - state.meta.objectsWithoutConcreteTypes = null - state.meta.lastConverter?.restart() - try { - logger.debug("Step on state: {}", state) - logger.debug("Source of the state: {}", state.meta.generatedFrom) - val symbols = state.inputSymbols - val seeds = getSeeds(concolicRunContext, symbols) - val converter = concolicRunContext.converter - state.meta.lastConverter = null - val concrete = try { - getConcrete(converter, seeds, symbols) - } catch (_: LengthOverflowException) { - logger.warn("Step result: length overflow") - state.meta.modelDied = true - return@runBlocking StepResult(emptySequence(), false) - } catch (_: CPythonExecutionException) { - logger.info("Step result: could not assemble Python object") - state.meta.modelDied = true - return@runBlocking StepResult(emptySequence(), false) - } - // logger.debug("Finished constructing") - val virtualObjects = converter.getPythonVirtualObjects() - val madeInputSerialization: Boolean = runCatching { - getInputs(converter, concrete, seeds) - }.getOrElse { - logger.debug( - "Error while serializing inputs. Types: {}. Omitting step...", - seeds.map { it.getConcreteType() } - ) - return@runBlocking StepResult(emptySequence(), false) - }?.let { - // println("Getting representation") - // System.out.flush() - val representation = saver.serializeInput(it, converter) - // println("Finished getting representation") - // System.out.flush() - launch { - saver.saveNextInputs(representation) - } - true - } ?: false - concolicRunContext.usesVirtualInputs = !madeInputSerialization - - if (logger.isDebugEnabled) { // getting __repr__ might be slow - logger.debug( - "Generated inputs: {}", - concrete.joinToString(", ") { - ReprObjectSerializer.serialize(it) - } - ) + val resultState = concolicRunContext.curState + return if (resultState != null) { + resultState.meta.wasExecuted = true + if (resultState.delayedForks.isEmpty() && inputRepr == null) { + resultState.meta.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() } + logger.debug("Finished step on state: {}", concolicRunContext.curState) + StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } else { + logger.debug("Ended step with path diversion") + StepResult(emptySequence(), !state.isTerminated()) + } + } - try { - val result = ConcretePythonInterpreter.concolicRun( - pinnedCallable.asPythonObject, - concrete, - virtualObjects, - symbols.map { SymbolForCPython(it, 0) }, - concolicRunContext, - printErrorMsg - ) - if (madeInputSerialization) { - saver.saveExecutionResult(Success(result)) - } - if (logger.isDebugEnabled) { - logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") - } - - } catch (exception: CPythonExecutionException) { - require(exception.pythonExceptionType != null) - require(exception.pythonExceptionValue != null) - if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { - val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) - if (javaException == UnregisteredVirtualOperation) { - iterationCounter.iterations += 1 - logger.debug("Step result: Unregistrered virtual operation") - val resultState = concolicRunContext.curState - concolicRunContext.statistics.addUnregisteredVirtualOperation() - require(!madeInputSerialization) - if (resultState != null && resultState.delayedForks.isEmpty()) { - resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() - resultState.meta.lastConverter = converter - resultState.meta.wasExecuted = true - } else if (resultState != null) { - resultState.meta.modelDied = true - } - return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) - } - throw javaException - } - logger.debug( - "Step result: exception from CPython: {} - {}", - ConcretePythonInterpreter.getNameOfPythonType(exception.pythonExceptionType), - ReprObjectSerializer.serialize(exception.pythonExceptionValue) - ) - if (madeInputSerialization) { - // println("Saving result") - // System.out.flush() - saver.saveExecutionResult(Fail(exception.pythonExceptionType)) - // println("Finished saving result") - // System.out.flush() + private fun processConcreteInput( + concrete: List, + renderer: PythonObjectRenderer + ): List? { + if (logger.isDebugEnabled) { // getting __repr__ might be slow + logger.debug( + "Generated inputs: {}", + concrete.joinToString(", ") { + ReprObjectSerializer.serialize(it) } - } - - iterationCounter.iterations += 1 - val resultState = concolicRunContext.curState - if (resultState != null) { - resultState.meta.wasExecuted = true + ) + } + resultsReceiver.inputPythonObjectObserver.onInputObjects(concrete) + return if (renderer.getPythonVirtualObjects().isNotEmpty()) { + null + } else { + concrete.map { resultsReceiver.serializer.serialize(it) } + } + } - if (resultState.delayedForks.isEmpty() && !madeInputSerialization) { - resultState.meta.objectsWithoutConcreteTypes = converter.getUSVMVirtualObjects() - resultState.meta.lastConverter = converter - } - logger.debug("Finished step on state: {}", concolicRunContext.curState) - return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + private fun processSuccessfulExecution( + result: PythonObject, + inputModel: PyInputModel, + inputReprs: List? + ) { + if (logger.isDebugEnabled) { + logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") + } + if (inputReprs != null) { + val resultRepr = resultsReceiver.serializer.serialize(result) + val test = PyTest( + inputModel, + inputReprs, + PyResultSuccess(resultRepr) + ) + resultsReceiver.pyTestObserver.onPyTest(test) + } + } - } else { - logger.debug("Ended step with path diversion") - return@runBlocking StepResult(emptySequence(), !state.isTerminated()) + private fun processCPythonExceptionDuringConcolicRun( + concolicRunContext: ConcolicRunContext, + exception: CPythonExecutionException, + renderer: PythonObjectRenderer, + inputModel: PyInputModel, + inputReprs: List? + ): Boolean { + require(exception.pythonExceptionType != null) + require(exception.pythonExceptionValue != null) + if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { + when (val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue)) { + is UnregisteredVirtualOperation -> processUnregisteredVirtualOperation(concolicRunContext, renderer) + is BadModelException -> logger.debug("Step result: Bad model") + is InstructionLimitExceededException -> processInstructionLimitExceeded(concolicRunContext) + is CancelledExecutionException -> processCancelledException(concolicRunContext) + else -> throw javaException } + return false + } + logger.debug( + "Step result: exception from CPython: {} - {}", + ConcretePythonInterpreter.getNameOfPythonType(exception.pythonExceptionType), + ReprObjectSerializer.serialize(exception.pythonExceptionValue) + ) + if (inputReprs != null) { + val resultRepr = resultsReceiver.serializer.serialize(exception.pythonExceptionType) + val test = PyTest( + inputModel, + inputReprs, + PyResultFailure(resultRepr) + ) + resultsReceiver.pyTestObserver.onPyTest(test) + } + return true + } - } catch (_: BadModelException) { - - iterationCounter.iterations += 1 - logger.debug("Step result: Bad model") - return@runBlocking StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) - - } catch (_: InstructionLimitExceededException) { + private fun processUnregisteredVirtualOperation( + concolicRunContext: ConcolicRunContext, + renderer: PythonObjectRenderer + ) { + logger.debug("Step result: Unregistrered virtual operation") + val resultState = concolicRunContext.curState + concolicRunContext.statistics.addUnregisteredVirtualOperation() + // TODO: make this more accurate + if (resultState != null && resultState.delayedForks.isEmpty()) { + resultState.meta.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() + resultState.meta.wasExecuted = true + } else if (resultState != null) { + resultState.meta.modelDied = true + } + } - iterationCounter.iterations += 1 - logger.debug("Step result: InstructionLimitExceededException") - concolicRunContext.curState?.meta?.wasInterrupted = true - return@runBlocking StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) + private fun processInstructionLimitExceeded(concolicRunContext: ConcolicRunContext) { + logger.debug("Step result: InstructionLimitExceededException") + concolicRunContext.curState?.meta?.wasInterrupted = true + } - } catch (_: CancelledExecutionException) { + private fun processCancelledException(concolicRunContext: ConcolicRunContext) { + logger.debug("Step result: execution cancelled") + concolicRunContext.curState?.meta?.wasInterrupted = true + } - logger.debug("Step result: execution cancelled") - concolicRunContext.curState?.meta?.wasInterrupted = true - return@runBlocking StepResult(concolicRunContext.forkedStates.reversed().asSequence(), !state.isTerminated()) + private fun getConcrete(renderer: PythonObjectRenderer, objectModels: List): List? { + try { + return objectModels.map { renderer.convert(it) } + } catch (_: LengthOverflowException) { + logger.warn("Step result: length overflow") + } catch (_: CPythonExecutionException) { + logger.info("Step result: could not assemble Python object") + } + return null + } - } finally { - concolicRunContext.converter.restart() + private fun constructConcolicRunContext( + state: PyState, + modelHolder: PyModelHolder + ): ConcolicRunContext { + val start = System.currentTimeMillis() + return ConcolicRunContext( + state, + ctx, + modelHolder, + typeSystem, + allowPathDiversion, + statistics, + maxInstructions + ) { + isCancelled(start) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index afc46f0a20..23a210c68b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -15,7 +15,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.curState ?: throw UnregisteredVirtualOperation ctx.curOperation ?: throw UnregisteredVirtualOperation val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) - if(ctx.curOperation?.method != NbBoolMethod || interpretedArg != on.interpretedObj) + if (ctx.curOperation?.method != NbBoolMethod || interpretedArg.address.address != on.interpretedObjRef) throw UnregisteredVirtualOperation // path diversion val oldModel = ctx.modelHolder.model @@ -50,7 +50,7 @@ fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = w ctx.curOperation ?: throw UnregisteredVirtualOperation val typeSystem = ctx.typeSystem val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) - require(ctx.curOperation?.method == SqLengthMethod && interpretedArg == on.interpretedObj) + require(ctx.curOperation?.method == SqLengthMethod && interpretedArg.address.address == on.interpretedObjRef) val (interpretedObj, symbolic) = internalVirtualCallKt(ctx) symbolic.addSupertypeSoft(ctx, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(ctx) @@ -105,8 +105,8 @@ private fun internalVirtualCallKt( fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { ctx.curState ?: throw UnregisteredVirtualOperation val (interpreted, _) = internalVirtualCallKt(ctx) - val converter = ctx.converter - return converter.convert(interpreted) + val objectModel = ctx.builder!!.convert(interpreted) + return ctx.renderer!!.convert(objectModel) } fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 6dd426af86..a2c2a6d332 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -37,6 +37,7 @@ class PyModel( underlyingModel.regions, underlyingModel.nullRef ) { + val forcedConcreteTypes: MutableMap = mutableMapOf() val psInfo = suggestedPsInfo ?: getPathConstraintsInfo(ctx, ps, underlyingModel) val possibleRefKeys: Set diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 1d517cb7e0..fbf773a9b0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -3,14 +3,15 @@ package org.usvm.machine.ps import mu.KLogging import org.usvm.UPathSelector import org.usvm.WithSolverStateForker.fork +import org.usvm.api.typeStreamOf import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType import org.usvm.language.types.MockType import org.usvm.machine.DelayedFork -import org.usvm.machine.NewStateObserver import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel +import org.usvm.machine.results.observers.NewStateObserver import org.usvm.types.TypesResult import kotlin.random.Random @@ -75,8 +76,16 @@ class PyVirtualPathSelector( return null val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) - val objects = state.meta.objectsWithoutConcreteTypes!!.map { it.interpretedObj } - val typeStreamsRaw = objects.map { it.getTypeStream() ?: state.possibleTypesForNull } + val objects = state.meta.objectsWithoutConcreteTypes!!.map { + val addressRaw = it.interpretedObjRef + ctx.mkConcreteHeapRef(addressRaw) + } + val typeStreamsRaw = objects.map { + if (it.address == 0) + state.possibleTypesForNull + else + state.pyModel.typeStreamOf(it) + } val typeStreams = typeStreamsRaw.map { @Suppress("unchecked_cast") when (val taken = it.take(2)) { @@ -89,8 +98,8 @@ class PyVirtualPathSelector( } require(typeStreams.all { it.first() == MockType }) val types = typeStreams.map {it.take(2).last()} - (objects zip types).forEach { (obj, type) -> - state.meta.lastConverter!!.forcedConcreteTypes[obj.address] = type + (objects zip types).forEach { (objAddress, type) -> + state.pyModel.forcedConcreteTypes[objAddress] = type } state.meta.wasExecuted = false state.meta.extractedFrom = null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt deleted file mode 100644 index be49c19c4a..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/ConverterToPythonObject.kt +++ /dev/null @@ -1,366 +0,0 @@ -package org.usvm.machine.rendering - -import io.ksmt.expr.KInt32NumExpr -import org.usvm.* -import org.usvm.api.readArrayIndex -import org.usvm.api.typeStreamOf -import org.usvm.language.PythonCallable -import org.usvm.language.VirtualPythonObject -import org.usvm.language.types.* -import org.usvm.machine.PyContext -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace -import org.usvm.machine.interpreters.concrete.PythonNamespace -import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* -import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH -import org.usvm.memory.UMemory -import org.usvm.types.first - -class ConverterToPythonObject( - private val ctx: PyContext, - private val typeSystem: PythonTypeSystem, - val modelHolder: PyModelHolder, - private val preallocatedObjects: PreallocatedObjects, - private val memory: UMemory, - private val useNoneInsteadOfVirtual: Boolean = false -) { - private val defaultValueProvider = DefaultValueProvider(typeSystem) - val forcedConcreteTypes = mutableMapOf() - private val constructedObjects = mutableMapOf() - private val virtualObjects = mutableSetOf>() - private var numberOfUsagesOfVirtualObjects: Int = 0 - private var strNumber = 0 - init { - restart() - } - fun restart() { - // TODO: decRefs() - constructedObjects.clear() - virtualObjects.clear() - val nullRef = modelHolder.model.eval(ctx.nullRef) as UConcreteHeapRef - val defaultObject = constructVirtualObject(InterpretedInputSymbolicPythonObject(nullRef, modelHolder, typeSystem)) - constructedObjects[ctx.nullRef] = defaultObject - numberOfUsagesOfVirtualObjects = 0 - strNumber = 0 - } - fun getPythonVirtualObjects(): Collection = virtualObjects.map { it.second } - fun getUSVMVirtualObjects(): Set = virtualObjects.map { it.first }.toSet() - fun numberOfVirtualObjectUsages(): Int = numberOfUsagesOfVirtualObjects - - fun convert(obj: InterpretedSymbolicPythonObject): PythonObject { - if (obj is InterpretedInputSymbolicPythonObject) - require(obj.modelHolder == modelHolder) - require(!isAllocatedConcreteHeapRef(obj.address)) { - "Cannot convert allocated objects" - } - val cached = constructedObjects[obj.address] - if (cached != null) { - ConcretePythonInterpreter.incref(cached) - return cached - } - val result = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { - MockType -> constructVirtualObject(obj) - typeSystem.pythonInt -> convertInt(obj) - typeSystem.pythonBool -> convertBool(obj) - typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - typeSystem.pythonList -> convertList(obj) - typeSystem.pythonTuple -> convertTuple(obj) - typeSystem.pythonStr -> convertString(obj) - typeSystem.pythonSlice -> convertSlice(obj) - typeSystem.pythonFloat -> convertFloat(obj) - typeSystem.pythonDict -> convertDict(obj) - typeSystem.pythonSet -> convertSet(obj) - else -> { - if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) - constructFromDefaultConstructor(obj, type) - else - error("Could not construct instance of type $type") - } - } - constructedObjects[obj.address] = result - return result - } - - private fun decRefs() { - constructedObjects.values.forEach { - ConcretePythonInterpreter.decref(it) - } - } - - private fun convertSet(obj: InterpretedSymbolicPythonObject): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "Input set cannot be static" - } - if (obj.setIsEmpty(ctx)) { - return ConcretePythonInterpreter.eval(emptyNamespace, "set()") - } - var addedElems = 0 - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, "x = set()") - val result = ConcretePythonInterpreter.eval(namespace, "x") - constructedObjects[obj.address] = result - val model = modelHolder.model - model.possibleRefKeys.forEach { - val key = if (isStaticHeapRef(it)) { - val type = memory.typeStreamOf(it).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, typeSystem) - } else { - InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) - } - if (obj.setContainsRef(ctx, key)) { - addedElems += 1 - val convertedElem = convert(key) - ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedElem, "elem") - ConcretePythonInterpreter.concreteRun(namespace, "x.add(elem)") - } - } - model.possibleIntKeys.forEach { - if (obj.setContainsInt(ctx, it)) { - addedElems += 1 - ConcretePythonInterpreter.concreteRun(namespace, "x.add($it)") - } - } - if (addedElems == 0) { - ConcretePythonInterpreter.concreteRun(namespace, "x.add(object())") - } - return result - } - - private fun addEntryToDict( - namespace: PythonNamespace, - value: InterpretedSymbolicPythonObject, - ) { - val convertedValue = convert(value) - ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedValue, "value") - ConcretePythonInterpreter.concreteRun(namespace, "x[key] = value", printErrorMsg = false) - } - - private fun convertDict(obj: InterpretedSymbolicPythonObject): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "Input dict cannot be static" - } - if (obj.dictIsEmpty(ctx)) { - return ConcretePythonInterpreter.eval(emptyNamespace, "dict()") - } - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.concreteRun(namespace, "x = dict()") - val result = ConcretePythonInterpreter.eval(namespace, "x") - constructedObjects[obj.address] = result - val model = modelHolder.model - var addedElems = 0 - model.possibleRefKeys.forEach { - val key = if (isStaticHeapRef(it)) { - val type = memory.typeStreamOf(it).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, typeSystem) - } else { - InterpretedInputSymbolicPythonObject(it, modelHolder, typeSystem) - } - if (obj.dictContainsRef(ctx, key)) { - val convertedKey = convert(key) - ConcretePythonInterpreter.addObjectToNamespace(namespace, convertedKey, "key") - val value = obj.readDictRefElement(ctx, key, memory) - addedElems += 1 - addEntryToDict(namespace, value) - } - } - model.possibleIntKeys.forEach { - if (obj.dictContainsInt(ctx, it)) { - ConcretePythonInterpreter.concreteRun(namespace, "key = $it") - val value = obj.readDictIntElement(ctx, it, memory) - addedElems += 1 - addEntryToDict(namespace, value) - } - } - if (addedElems == 0) { - ConcretePythonInterpreter.concreteRun( - namespace, - """ - elem = object() - x[elem] = None - """.trimIndent() - ) - } - return result.also { - ConcretePythonInterpreter.incref(it) - ConcretePythonInterpreter.decref(namespace) - } - } - - private fun convertFloat(obj: InterpretedSymbolicPythonObject): PythonObject { - val cmd = when (val floatValue = obj.getFloatContent(ctx, memory)) { - is FloatNan -> "float('nan')" - is FloatPlusInfinity -> "float('inf')" - is FloatMinusInfinity -> "float('-inf')" - is FloatNormalValue -> floatValue.value.toString() - } - return ConcretePythonInterpreter.eval(emptyNamespace, cmd) - } - - private fun convertString(obj: InterpretedSymbolicPythonObject): PythonObject { - if (isStaticHeapRef(obj.address)) { - val uninterpreted = UninterpretedSymbolicPythonObject(obj.address, typeSystem) - val str = preallocatedObjects.concreteString(uninterpreted) - val ref = str?.let { preallocatedObjects.refOfString(str) } - if (ref != null) - return ref - } - return ConcretePythonInterpreter.eval(emptyNamespace, "'${strNumber++}'") - } - - private fun constructArrayContents( - obj: InterpretedInputSymbolicPythonObject - ): List { - val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException - if (size.value > MAX_INPUT_ARRAY_LENGTH) - throw LengthOverflowException - return List(size.value) { index -> - val indexExpr = ctx.mkSizeExpr(index) - val element = obj.modelHolder.model.readArrayIndex( - obj.address, - indexExpr, - ArrayType, - ctx.addressSort - ) as UConcreteHeapRef - if (element.address == 0 && forcedConcreteTypes[element] == null) - numberOfUsagesOfVirtualObjects += 1 - val elemInterpretedObject = - if (isStaticHeapRef(element)) { - val type = memory.typeStreamOf(element).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(element, type, typeSystem) - } else { - InterpretedInputSymbolicPythonObject(element, obj.modelHolder, typeSystem) - } - convert(elemInterpretedObject) - } - } - - private fun constructFromDefaultConstructor( - obj: InterpretedSymbolicPythonObject, - type: ConcretePythonType - ): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "Instance of type with default constructor cannot be static" - } - require(type.owner == typeSystem) - val result = ConcretePythonInterpreter.callStandardNew(type.asObject) - constructedObjects[obj.address] = result - if (ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { - preallocatedObjects.listAllocatedStrs().forEach { - val nameAddress = modelHolder.model.eval(it.address) - require(isStaticHeapRef(nameAddress)) { "Symbolic string object must be static" } - val nameSymbol = InterpretedAllocatedOrStaticSymbolicPythonObject(nameAddress, typeSystem.pythonStr, typeSystem) - if (obj.containsField(nameSymbol)) { - val str = preallocatedObjects.concreteString(it)!! - if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { - val symbolicValue = obj.getFieldValue(ctx, nameSymbol, memory) - val value = convert(symbolicValue) - val strRef = preallocatedObjects.refOfString(str)!! - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") - ConcretePythonInterpreter.concreteRun(namespace, "import keyword") - val isValidName = ConcretePythonInterpreter.eval( - namespace, - "field.isidentifier() and not keyword.iskeyword(field)" - ) - if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { - // println("Setting field: $str") - // val valueType = ConcretePythonInterpreter.getPythonObjectType(value) - // println("With value of type: ${ConcretePythonInterpreter.getNameOfPythonType(valueType)}") - // ConcretePythonInterpreter.incref(value) - // ConcretePythonInterpreter.incref(strRef) - ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "obj") - ConcretePythonInterpreter.addObjectToNamespace(namespace, value, "value") - ConcretePythonInterpreter.concreteRun( - namespace, - "setattr(obj, field, value)", - printErrorMsg = true - ) - } - ConcretePythonInterpreter.decref(namespace) - } - } - } - } - return result - } - - private fun constructVirtualObject(obj: InterpretedSymbolicPythonObject): PythonObject { - if (useNoneInsteadOfVirtual) { - return ConcretePythonInterpreter.eval(emptyNamespace, "None") - } - require(obj is InterpretedInputSymbolicPythonObject) { - "Virtual object cannot be static" - } - val default = forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } - if (default != null) - return default - - numberOfUsagesOfVirtualObjects += 1 - val virtual = VirtualPythonObject(obj) - val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) - virtualObjects.add(virtual to result) - return result - } - - private fun convertInt(obj: InterpretedSymbolicPythonObject): PythonObject = - ConcretePythonInterpreter.eval(emptyNamespace, obj.getIntContent(ctx, memory).toString()) - - private fun convertBool(obj: InterpretedSymbolicPythonObject): PythonObject = - when (obj.getBoolContent(ctx, memory)) { - ctx.trueExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "True") - ctx.falseExpr -> ConcretePythonInterpreter.eval(emptyNamespace, "False") - else -> error("Not reachable") - } - - private fun convertList(obj: InterpretedSymbolicPythonObject): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "List object cannot be static" - } - val resultList = ConcretePythonInterpreter.makeList(emptyList()) - constructedObjects[obj.address] = resultList - val listOfPythonObjects = constructArrayContents(obj) - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, resultList, "x") - listOfPythonObjects.forEach { - ConcretePythonInterpreter.addObjectToNamespace(namespace, it, "y") - ConcretePythonInterpreter.concreteRun(namespace, "x.append(y)") - } - ConcretePythonInterpreter.decref(namespace) - return resultList - } - - private fun convertTuple(obj: InterpretedSymbolicPythonObject): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "Tuple object cannot be static" - } - val size = obj.readArrayLength(ctx) as? KInt32NumExpr ?: throw LengthOverflowException - val resultTuple = ConcretePythonInterpreter.allocateTuple(size.value) - constructedObjects[obj.address] = resultTuple - val listOfPythonObjects = constructArrayContents(obj) - listOfPythonObjects.forEachIndexed { index, pythonObject -> - ConcretePythonInterpreter.setTupleElement(resultTuple, index, pythonObject) - } - return resultTuple - } - - private fun convertSlice(obj: InterpretedSymbolicPythonObject): PythonObject { - require(obj is InterpretedInputSymbolicPythonObject) { - "Slice cannot be static" - } - val (start, stop, step) = obj.getSliceContent(ctx, typeSystem) - val startStr = start?.toString() ?: "None" - val stopStr = stop?.toString() ?: "None" - val stepStr = step?.toString() ?: "None" - return ConcretePythonInterpreter.eval(emptyNamespace, "slice($startStr, $stopStr, $stepStr)") - } -} - -object LengthOverflowException: Exception() { - private fun readResolve(): Any = LengthOverflowException -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt new file mode 100644 index 0000000000..d0ebe34e2c --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt @@ -0,0 +1,38 @@ +package org.usvm.machine.rendering + +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.PythonType +import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.python.model.PyCompositeObject +import org.usvm.python.model.PyIdentifier +import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyPrimitive + +class DefaultPyObjectModelProvider(private val typeSystem: PythonTypeSystem) { + fun provide(type: PythonType): PyObjectModel { + require(type is ConcretePythonType) + + return when (type) { + typeSystem.pythonInt -> PyPrimitive("0") + typeSystem.pythonBool -> PyPrimitive("False") + typeSystem.pythonFloat -> PyPrimitive("0.0") + typeSystem.pythonObjectType -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonNoneType -> PyPrimitive("None") + typeSystem.pythonList -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonTuple -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonStr -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonSlice -> PyCompositeObject(type.id, listOf(PyPrimitive("0"), PyPrimitive("1"))) + typeSystem.pythonDict -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonSet -> PyCompositeObject(type.id, emptyList()) + else -> { + val ref = typeSystem.addressOfConcreteType(type) + if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { + PyCompositeObject(PyIdentifier("builtins", "object.__new__"), listOf(type.id)) + } else { + error("DefaultValueProvider for type $type is not implemented") + } + } + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt deleted file mode 100644 index 23402f110c..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultValueProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.usvm.machine.rendering - -import org.usvm.language.types.* -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace - -class DefaultValueProvider(private val typeSystem: PythonTypeSystem) { - fun provide(type: PythonType): PythonObject { - require(type is ConcretePythonType) - - return when (type) { - typeSystem.pythonInt -> ConcretePythonInterpreter.eval(emptyNamespace, "0") - typeSystem.pythonBool -> ConcretePythonInterpreter.eval(emptyNamespace, "False") - typeSystem.pythonFloat -> ConcretePythonInterpreter.eval(emptyNamespace, "0.0") - typeSystem.pythonObjectType -> ConcretePythonInterpreter.eval(emptyNamespace, "object()") - typeSystem.pythonNoneType -> ConcretePythonInterpreter.eval(emptyNamespace, "None") - typeSystem.pythonList -> ConcretePythonInterpreter.eval(emptyNamespace, "[]") - typeSystem.pythonTuple -> ConcretePythonInterpreter.eval(emptyNamespace, "tuple()") - typeSystem.pythonStr -> ConcretePythonInterpreter.eval(emptyNamespace, "''") - typeSystem.pythonSlice -> ConcretePythonInterpreter.eval(emptyNamespace, "slice(0, 1, 1)") - typeSystem.pythonDict -> ConcretePythonInterpreter.eval(emptyNamespace, "dict()") - typeSystem.pythonSet -> ConcretePythonInterpreter.eval(emptyNamespace, "set()") - else -> { - val ref = typeSystem.addressOfConcreteType(type) - if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { - ConcretePythonInterpreter.callStandardNew(ref) - } else { - error("DefaultValueProvider for type $type is not implemented") - } - } - } - } -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt new file mode 100644 index 0000000000..c63a5ae188 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt @@ -0,0 +1,308 @@ +package org.usvm.machine.rendering + +import io.ksmt.expr.KInt32NumExpr +import org.usvm.UConcreteHeapRef +import org.usvm.api.readArrayIndex +import org.usvm.api.typeStreamOf +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isAllocatedConcreteHeapRef +import org.usvm.isStaticHeapRef +import org.usvm.language.types.ArrayType +import org.usvm.language.types.ConcretePythonType +import org.usvm.language.types.MockType +import org.usvm.machine.PyState +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation +import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH +import org.usvm.mkSizeExpr +import org.usvm.python.model.* +import org.usvm.types.first + +class PyObjectModelBuilder( + private val ctx: ConcolicRunContext, + private val modelHolder: PyModelHolder +) { + private val state: PyState + get() = ctx.curState ?: throw UnregisteredVirtualOperation + init { + require(state.pyModel == modelHolder.model) + } + + private val converted = mutableMapOf() + fun convert(obj: InterpretedSymbolicPythonObject): PyObjectModel { + if (obj is InterpretedInputSymbolicPythonObject) + require(obj.modelHolder.model == state.pyModel) { + "Models in PyState and in InterpretedSymbolicPythonObject must be the same" + } + require(!isAllocatedConcreteHeapRef(obj.address)) { + "Cannot convert allocated objects" + } + if (obj.address in converted) + return converted[obj.address]!! + val typeSystem = state.typeSystem + val result: PyObjectModel = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { + MockType -> convertMockType(obj) + typeSystem.pythonInt -> convertInt(obj) + typeSystem.pythonBool -> convertBool(obj) + typeSystem.pythonNoneType -> convertNone() + typeSystem.pythonSlice -> convertSlice(obj) + typeSystem.pythonFloat -> convertFloat(obj) + typeSystem.pythonStr -> convertString(obj) + typeSystem.pythonList -> convertList(obj) + typeSystem.pythonTuple -> convertTuple(obj) + typeSystem.pythonDict -> convertDict(obj) + typeSystem.pythonSet -> convertSet(obj) + else -> { + if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) + convertFromDefaultConstructor(obj, type) + else + error("Could not construct instance of type $type") + } + } + converted[obj.address] = result + return result + } + + private val defaultValueProvider = DefaultPyObjectModelProvider(state.typeSystem) + private fun convertMockType(obj: InterpretedSymbolicPythonObject): PyObjectModel { + val default = modelHolder.model.forcedConcreteTypes[obj.address]?.let { + defaultValueProvider.provide(it) + } + if (default != null) + return default + return PyMockObject(obj.address.address) + } + + private fun convertInt(obj: InterpretedSymbolicPythonObject): PyObjectModel = + PyPrimitive(obj.getIntContent(state.ctx, state.memory).toString()) + + private fun convertBool(obj: InterpretedSymbolicPythonObject): PyObjectModel { + val repr = when (obj.getBoolContent(state.ctx, state.memory)) { + state.ctx.trueExpr -> "True" + state.ctx.falseExpr -> "False" + else -> error("Not reachable") + } + return PyPrimitive(repr) + } + + private fun convertNone(): PyObjectModel = + PyPrimitive("None") + + private fun convertSlice(obj: InterpretedSymbolicPythonObject): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "Slice cannot be static" + } + val (start, stop, step) = obj.getSliceContent(state.ctx, state.typeSystem) + val startStr = start?.toString() ?: "None" + val stopStr = stop?.toString() ?: "None" + val stepStr = step?.toString() ?: "None" + return PyCompositeObject( + state.typeSystem.pythonSlice.id, + listOf(PyPrimitive(startStr), PyPrimitive(stopStr), PyPrimitive(stepStr)) + ) + } + + private fun convertFloat(obj: InterpretedSymbolicPythonObject): PyObjectModel { + val repr = when (val floatValue = obj.getFloatContent(state.ctx, state.memory)) { + is FloatNan -> "float('nan')" + is FloatPlusInfinity -> "float('inf')" + is FloatMinusInfinity -> "float('-inf')" + is FloatNormalValue -> floatValue.value.toString() + } + return PyPrimitive(repr) + } + + private var strNumber = 0 + private fun convertString(obj: InterpretedSymbolicPythonObject): PyObjectModel { + if (isStaticHeapRef(obj.address)) { + val uninterpreted = UninterpretedSymbolicPythonObject(obj.address, state.typeSystem) + val str = state.preAllocatedObjects.concreteString(uninterpreted) + val ref = str?.let { state.preAllocatedObjects.refOfString(str) } + if (ref != null) { + val repr = ConcretePythonInterpreter.getPythonObjectRepr(ref) + return PyPrimitive(repr) + } + } + return PyPrimitive("'${strNumber++}'") + } + + private fun convertList(obj: InterpretedSymbolicPythonObject): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "List object cannot be static" + } + val result = PyCompositeObject(PyIdentifier("builtins", "list"), emptyList()) + converted[obj.address] = result + result.listItems = constructArrayContents(obj) + return result + } + + private fun convertTuple(obj: InterpretedSymbolicPythonObject): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "List object cannot be static" + } + val result = PyTupleObject(emptyList()) + converted[obj.address] = result + result.items = constructArrayContents(obj) + return result + } + + private fun convertDict(obj: InterpretedSymbolicPythonObject): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "Input dict cannot be static" + } + val result = PyCompositeObject(PyIdentifier("builtins", "dict"), emptyList()) + converted[obj.address] = result + if (obj.dictIsEmpty(state.ctx)) { + return result + } + val dictItems = mutableListOf>() + val model = state.pyModel + model.possibleRefKeys.forEach { + val key = if (isStaticHeapRef(it)) { + val type = state.memory.typeStreamOf(it).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, state.typeSystem) + } else { + InterpretedInputSymbolicPythonObject(it, modelHolder, state.typeSystem) + } + if (obj.dictContainsRef(state.ctx, key)) { + val convertedKey = convert(key) + val value = obj.readDictRefElement(state.ctx, key, state.memory) + val convertedValue = convert(value) + dictItems.add(convertedKey to convertedValue) + } + } + model.possibleIntKeys.forEach { + if (obj.dictContainsInt(state.ctx, it)) { + val value = obj.readDictIntElement(state.ctx, it, state.memory) + val convertedKey = PyPrimitive(it.toString()) + val convertedValue = convert(value) + dictItems.add(convertedKey to convertedValue) + } + } + if (dictItems.isEmpty()) { + val dummyObject = PyCompositeObject(PyIdentifier("builtins", "object"), emptyList()) + dictItems.add(dummyObject to PyPrimitive("None")) + } + result.dictItems = dictItems + return result + } + + private fun convertSet(obj: InterpretedSymbolicPythonObject): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "Input set cannot be static" + } + if (obj.setIsEmpty(state.ctx)) + return PyCompositeObject(PyIdentifier("builtins", "set"), emptyList()) + val items = mutableListOf() + val model = state.pyModel + model.possibleRefKeys.forEach { + val key = if (isStaticHeapRef(it)) { + val type = state.memory.typeStreamOf(it).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(it, type, state.typeSystem) + } else { + InterpretedInputSymbolicPythonObject(it, modelHolder, state.typeSystem) + } + if (obj.setContainsRef(state.ctx, key)) { + val convertedElem = convert(key) + items.add(convertedElem) + } + } + model.possibleIntKeys.forEach { + if (obj.setContainsInt(state.ctx, it)) { + items.add(PyPrimitive(it.toString())) + } + } + if (items.isEmpty()) { + val dummyObject = PyCompositeObject(PyIdentifier("builtins", "object"), emptyList()) + items.add(dummyObject) + } + val elemList = PyCompositeObject(PyIdentifier("builtins", "list"), emptyList()) + elemList.listItems = items + return PyCompositeObject(PyIdentifier("builtins", "set"), listOf(elemList)) + } + + private fun convertFromDefaultConstructor( + obj: InterpretedSymbolicPythonObject, + type: ConcretePythonType + ): PyObjectModel { + require(obj is InterpretedInputSymbolicPythonObject) { + "Instance of type with default constructor cannot be static" + } + require(type.owner == state.typeSystem) + val result = PyCompositeObject( + PyIdentifier( + "builtins", + "object.__new__" + ), + listOf(type.id) + ) + converted[obj.address] = result + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + return result + val fields = mutableMapOf() + state.preAllocatedObjects.listAllocatedStrs().forEach { + val nameAddress = modelHolder.model.eval(it.address) + require(isStaticHeapRef(nameAddress)) { "Symbolic string object must be static" } + val nameSymbol = InterpretedAllocatedOrStaticSymbolicPythonObject(nameAddress, state.typeSystem.pythonStr, state.typeSystem) + if (obj.containsField(nameSymbol)) { + val str = state.preAllocatedObjects.concreteString(it)!! + if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { + val strRef = state.preAllocatedObjects.refOfString(str)!! + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") + ConcretePythonInterpreter.concreteRun(namespace, "import keyword") + val isValidName = ConcretePythonInterpreter.eval( + namespace, + "field.isidentifier() and not keyword.iskeyword(field)" + ) + if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { + val symbolicValue = obj.getFieldValue(state.ctx, nameSymbol, state.memory) + val value = convert(symbolicValue) + fields[str] = value + } + ConcretePythonInterpreter.decref(namespace) + } + } + } + result.fieldDict = fields + return result + } + + private fun constructArrayContents( + obj: InterpretedInputSymbolicPythonObject + ): List { + val size = obj.readArrayLength(state.ctx) as? KInt32NumExpr ?: throw LengthOverflowException + if (size.value > MAX_INPUT_ARRAY_LENGTH) + throw LengthOverflowException + return List(size.value) { index -> + val indexExpr = state.ctx.mkSizeExpr(index) + val element = obj.modelHolder.model.readArrayIndex( + obj.address, + indexExpr, + ArrayType, + state.ctx.addressSort + ) as UConcreteHeapRef + val elemInterpretedObject = + if (isStaticHeapRef(element)) { + val type = state.memory.typeStreamOf(element).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(element, type, state.typeSystem) + } else { + InterpretedInputSymbolicPythonObject(element, obj.modelHolder, state.typeSystem) + } + convert(elemInterpretedObject) + } + } +} + +object LengthOverflowException: Exception() { + private fun readResolve(): Any = LengthOverflowException +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt new file mode 100644 index 0000000000..4bcf22bf2d --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt @@ -0,0 +1,103 @@ +package org.usvm.machine.rendering + +import org.usvm.language.VirtualPythonObject +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.python.model.* + +class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { + private val converted = mutableMapOf() + fun convert(model: PyObjectModel): PythonObject { + if (model in converted) + return converted[model]!! + val result = when (model) { + is PyPrimitive -> convertPrimitive(model) + is PyIdentifier -> convertIdentifier(model) + is PyCompositeObject -> convertCompositeObject(model) + is PyTupleObject -> convertTuple(model) + is PyMockObject -> convertMock(model) + } + converted[model] = result + return result + } + + fun getPythonVirtualObjects(): List = + virtualObjects.map { it.second } + + fun getUSVMVirtualObjects(): List = + virtualObjects.map { it.first } + + private fun convertPrimitive(model: PyPrimitive): PythonObject { + return ConcretePythonInterpreter.eval(emptyNamespace, model.repr) + } + + private fun convertIdentifier(model: PyIdentifier): PythonObject { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.concreteRun(namespace, "import ${model.module}") + val result = ConcretePythonInterpreter.eval(namespace, "${model.module}.${model.name}") + ConcretePythonInterpreter.decref(namespace) + return result + } + + private fun convertCompositeObject(model: PyCompositeObject): PythonObject { + val namespace = ConcretePythonInterpreter.getNewNamespace() + val constructorRef = convert(model.constructor) + val argsRef = model.constructorArgs.map { convert(it) } + ConcretePythonInterpreter.addObjectToNamespace(namespace, constructorRef, "constructor") + argsRef.forEachIndexed { index, ref -> + ConcretePythonInterpreter.addObjectToNamespace(namespace, ref, "arg_$index") + } + val argsRepr = List(argsRef.size) { "arg_$it" }.joinToString(separator = ", ") + val repr = "constructor($argsRepr)" + val result = ConcretePythonInterpreter.eval(namespace, repr) + converted[model] = result + ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "result") + if (model.listItems != null) { + model.listItems!!.forEach { + val elemRef = convert(it) + ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") + ConcretePythonInterpreter.concreteRun(namespace, "result.append(elem)") + } + } + if (model.dictItems != null) { + model.dictItems!!.forEach { (key, elem) -> + val keyRef = convert(key) + val elemRef = convert(elem) + ConcretePythonInterpreter.addObjectToNamespace(namespace, keyRef, "key") + ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") + ConcretePythonInterpreter.concreteRun(namespace, "result[key] = elem") + } + } + if (model.fieldDict != null) { + model.fieldDict!!.forEach { (name, value) -> + val valueRef = convert(value) + ConcretePythonInterpreter.addObjectToNamespace(namespace, valueRef, "value") + ConcretePythonInterpreter.concreteRun(namespace, "result.$name = value") + } + } + ConcretePythonInterpreter.decref(namespace) + return result + } + + private fun convertTuple(model: PyTupleObject): PythonObject { + val size = model.items.size + val result = ConcretePythonInterpreter.allocateTuple(size) + converted[model] = result + model.items.forEachIndexed { index, item -> + val itemRef = convert(item) + ConcretePythonInterpreter.setTupleElement(result, index, itemRef) + } + return result + } + + private val virtualObjects = mutableSetOf>() + private fun convertMock(model: PyMockObject): PythonObject { + if (useNoneInsteadOfMock) + return ConcretePythonInterpreter.eval(emptyNamespace, "None") + val virtual = VirtualPythonObject(model.id) + val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) + virtualObjects.add(virtual to result) + return result + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt index b37ca70050..c8bcf7f602 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt @@ -7,12 +7,11 @@ import org.usvm.language.types.ConcretePythonType import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.saving.GeneratedPythonObject -import org.usvm.machine.saving.PythonAnalysisResultSaver import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.types.first +/* class StateSeedSender( private val saver: PythonAnalysisResultSaver ) { @@ -55,4 +54,5 @@ class StateSeedSender( // println("Sending!") saver.saveNextInputs(data) } -} \ No newline at end of file +} + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt similarity index 91% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt index 7afcce33cf..e0166f5c33 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PickledObjectSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt @@ -1,33 +1,34 @@ -package org.usvm.machine.saving - -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.ConverterToPythonObject - -class PickledObjectSaver( - private val sender: PickledObjectSender -): PythonAnalysisResultSaver() { - override fun serializeInput(inputs: List, converter: ConverterToPythonObject): String? { - val pair = ConcretePythonInterpreter.allocateTuple(2) - val tuple = ConcretePythonInterpreter.allocateTuple(inputs.size) - inputs.forEachIndexed { index, generatedPythonObject -> - ConcretePythonInterpreter.setTupleElement(tuple, index, generatedPythonObject.ref) - } - val dict = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) - ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) - val result = PickleObjectSerializer.serialize(pair) - ConcretePythonInterpreter.decref(pair) - return result - } - - override fun saveExecutionResult(result: ExecutionResult) = run { } - - override suspend fun saveNextInputs(input: String?) { - input?.let { sender.sendPickledInputs(it) } - } -} - -abstract class PickledObjectSender { - abstract suspend fun sendPickledInputs(pickledInput: String) -} \ No newline at end of file +package org.usvm.machine.results + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + +/* +class PickledObjectSaver( + private val sender: PickledObjectSender +): PythonAnalysisResultSaver() { + override fun serializeInput(inputs: List, converter: ConverterToPythonObject): String? { + val pair = ConcretePythonInterpreter.allocateTuple(2) + val tuple = ConcretePythonInterpreter.allocateTuple(inputs.size) + inputs.forEachIndexed { index, generatedPythonObject -> + ConcretePythonInterpreter.setTupleElement(tuple, index, generatedPythonObject.ref) + } + val dict = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) + ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) + val result = PickleObjectSerializer.serialize(pair) + ConcretePythonInterpreter.decref(pair) + return result + } + + override fun saveExecutionResult(result: ExecutionResult) = run { } + + override suspend fun saveNextInputs(input: String?) { + input?.let { sender.sendPickledInputs(it) } + } +} + +abstract class PickledObjectSender { + abstract suspend fun sendPickledInputs(pickledInput: String) +} + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt new file mode 100644 index 0000000000..e3b97bc35b --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt @@ -0,0 +1,20 @@ +package org.usvm.machine.results + +import org.usvm.machine.results.observers.* + +interface PyMachineResultsReceiver { + val serializer: PythonObjectSerializer + val newStateObserver: NewStateObserver + val inputModelObserver: InputModelObserver + val inputPythonObjectObserver: InputPythonObjectObserver + val pyTestObserver: PyTestObserver +} + +class DefaultPyMachineResultsReceiver( + override val serializer: PythonObjectSerializer +): PyMachineResultsReceiver { + override val newStateObserver: NewStateObserver = EmptyNewStateObserver + override val inputModelObserver: InputModelObserver = EmptyInputModelObserver + override val inputPythonObjectObserver: InputPythonObjectObserver = EmptyInputPythonObjectObserver + override val pyTestObserver: DefaultPyTestObserver = DefaultPyTestObserver() +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt similarity index 90% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt index 4e5fedacf4..ca11557be6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonAnalysisResultSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt @@ -1,27 +1,29 @@ -package org.usvm.machine.saving - -import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject - -abstract class PythonAnalysisResultSaver { - abstract fun serializeInput(inputs: List, converter: ConverterToPythonObject): InputRepr - abstract suspend fun saveNextInputs(input: InputRepr) - abstract fun saveExecutionResult(result: ExecutionResult) -} - -data class GeneratedPythonObject( - val ref: PythonObject, - val type: PythonType, - val asUExpr: InterpretedSymbolicPythonObject -) - -sealed class ExecutionResult -class Success( - val output: PythonObjectRepresentation -): ExecutionResult() - -class Fail( - val exception: PythonObjectRepresentation -): ExecutionResult() \ No newline at end of file +package org.usvm.machine.results + +/* +import org.usvm.language.types.PythonType +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.rendering.ConverterToPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject + +abstract class PythonAnalysisResultSaver { + abstract fun serializeInput(inputs: List, converter: ConverterToPythonObject): InputRepr + abstract suspend fun saveNextInputs(input: InputRepr) + abstract fun saveExecutionResult(result: ExecutionResult) +} + +data class GeneratedPythonObject( + val ref: PythonObject, + val type: PythonType, + val asUExpr: InterpretedSymbolicPythonObject +) + +sealed class ExecutionResult +class Success( + val output: PythonObjectRepresentation +): ExecutionResult() + +class Fail( + val exception: PythonObjectRepresentation +): ExecutionResult() + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt index 05a0d36111..e6f610b9fc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.saving +package org.usvm.machine.results import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt similarity index 93% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt index 1f8b4bd0b1..eb0d8435a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/PythonRepresentationSaver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt @@ -1,57 +1,58 @@ -package org.usvm.machine.saving - -import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject - -class PythonRepresentationSaver( - private val serializer: PythonObjectSerializer -): PythonAnalysisResultSaver() { - private val results = mutableListOf>() - private var currentInputs: List>? = null - private var currentConverter: ConverterToPythonObject? = null - override fun serializeInput( - inputs: List, - converter: ConverterToPythonObject - ) { - currentInputs = inputs.map { - InputObject( - it.asUExpr, - it.type, - serializer.serialize(it.ref) - ) - } - currentConverter = converter - } - - override suspend fun saveNextInputs(input: Unit) = run { } - - override fun saveExecutionResult(result: ExecutionResult) { - require(currentInputs != null && currentConverter != null) - val serializedResult = when (result) { - is Success -> Success(serializer.serialize(result.output)) - is Fail -> Fail(serializer.serialize(result.exception)) - } - results.add( - PythonAnalysisResult( - currentConverter!!, - currentInputs!!, - serializedResult - ) - ) - } - fun getResults(): List> = results -} - -data class PythonAnalysisResult( - val inputValueConverter: ConverterToPythonObject, - val inputValues: List>, - val result: ExecutionResult -) - -data class InputObject( - val asUExpr: InterpretedSymbolicPythonObject, - val type: PythonType, - val reprFromPythonObject: PythonObjectRepresentation -) \ No newline at end of file +package org.usvm.machine.results + +import org.usvm.language.types.PythonType +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject + +/* +class PythonRepresentationSaver( + private val serializer: PythonObjectSerializer +): PythonAnalysisResultSaver() { + private val results = mutableListOf>() + private var currentInputs: List>? = null + private var currentConverter: ConverterToPythonObject? = null + override fun serializeInput( + inputs: List, + converter: ConverterToPythonObject + ) { + currentInputs = inputs.map { + InputObject( + it.asUExpr, + it.type, + serializer.serialize(it.ref) + ) + } + currentConverter = converter + } + + override suspend fun saveNextInputs(input: Unit) = run { } + + override fun saveExecutionResult(result: ExecutionResult) { + require(currentInputs != null && currentConverter != null) + val serializedResult = when (result) { + is Success -> Success(serializer.serialize(result.output)) + is Fail -> Fail(serializer.serialize(result.exception)) + } + results.add( + PythonAnalysisResult( + currentConverter!!, + currentInputs!!, + serializedResult + ) + ) + } + fun getResults(): List> = results +} + +data class PythonAnalysisResult( + val inputValueConverter: ConverterToPythonObject, + val inputValues: List>, + val result: ExecutionResult +) + +data class InputObject( + val asUExpr: InterpretedSymbolicPythonObject, + val type: PythonType, + val reprFromPythonObject: PythonObjectRepresentation +) + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt similarity index 88% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt index b0151b8f3e..1f51c1fdd1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/saving/SaverAPI.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt @@ -1,22 +1,23 @@ -package org.usvm.machine.saving - -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.ConverterToPythonObject - -fun createStandardSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(StandardPythonObjectSerializer) - -fun createReprSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(ReprObjectSerializer) - -fun createDictSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(ObjectWithDictSerializer) - -fun createPickleSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(PickleObjectSerializer) - -object DummySaver: PythonAnalysisResultSaver() { - override suspend fun saveNextInputs(input: Unit) = run {} - override fun saveExecutionResult(result: ExecutionResult) = run {} - override fun serializeInput(inputs: List, converter: ConverterToPythonObject) = run {} -} \ No newline at end of file +package org.usvm.machine.results + +import org.usvm.machine.interpreters.concrete.PythonObject + +/* +fun createStandardSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(StandardPythonObjectSerializer) + +fun createReprSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(ReprObjectSerializer) + +fun createDictSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(ObjectWithDictSerializer) + +fun createPickleSaver(): PythonRepresentationSaver = + PythonRepresentationSaver(PickleObjectSerializer) + +object DummySaver: PythonAnalysisResultSaver() { + override suspend fun saveNextInputs(input: Unit) = run {} + override fun saveExecutionResult(result: ExecutionResult) = run {} + override fun serializeInput(inputs: List, converter: ConverterToPythonObject) = run {} +} + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt new file mode 100644 index 0000000000..5c2efc2602 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt @@ -0,0 +1,11 @@ +package org.usvm.machine.results.observers + +import org.usvm.python.model.PyInputModel + +abstract class InputModelObserver { + abstract fun onInputModel(inputModel: PyInputModel) +} + +object EmptyInputModelObserver: InputModelObserver() { + override fun onInputModel(inputModel: PyInputModel) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt new file mode 100644 index 0000000000..e07111ad1b --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt @@ -0,0 +1,11 @@ +package org.usvm.machine.results.observers + +import org.usvm.machine.interpreters.concrete.PythonObject + +abstract class InputPythonObjectObserver { + abstract fun onInputObjects(inputObjects: List) +} + +object EmptyInputPythonObjectObserver: InputPythonObjectObserver() { + override fun onInputObjects(inputObjects: List) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt new file mode 100644 index 0000000000..1db41e5edd --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt @@ -0,0 +1,11 @@ +package org.usvm.machine.results.observers + +import org.usvm.machine.PyState + +abstract class NewStateObserver { + abstract fun onNewState(state: PyState) +} + +object EmptyNewStateObserver: NewStateObserver() { + override fun onNewState(state: PyState) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt new file mode 100644 index 0000000000..e5ea9dd73b --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt @@ -0,0 +1,18 @@ +package org.usvm.machine.results.observers + +import org.usvm.python.model.PyTest + +abstract class PyTestObserver { + abstract fun onPyTest(pyTest: PyTest) +} + +class EmptyPyTestObserver: PyTestObserver() { + override fun onPyTest(pyTest: PyTest) = run {} +} + +class DefaultPyTestObserver: PyTestObserver() { + val tests: MutableList> = mutableListOf() + override fun onPyTest(pyTest: PyTest) { + tests.add(pyTest) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt similarity index 100% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PythonImportUtils.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index 94fc23e569..6703d18720 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -2,11 +2,10 @@ package org.usvm.runner import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -import org.usvm.machine.NewStateObserver import org.usvm.machine.PyState -import org.usvm.machine.rendering.StateSeedSender -import org.usvm.machine.saving.PickledObjectSaver +import org.usvm.machine.results.observers.NewStateObserver +/* class NewStateObserverForRunner( communicator: PickledObjectCommunicator, private val scope: CoroutineScope @@ -23,4 +22,5 @@ class NewStateObserverForRunner( } } } -} \ No newline at end of file +} + */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt index ffade4c6a7..445fc6eaed 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt @@ -1,9 +1,9 @@ package org.usvm.runner -import org.usvm.machine.saving.PickledObjectSender import java.io.PrintWriter import java.net.Socket +/* class PickledObjectCommunicator( ip: String, port: Int @@ -20,3 +20,4 @@ class PickledObjectCommunicator( clientSocket.close() } } +*/ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index d8443a5f46..e5cb0fbda1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -6,7 +6,8 @@ import org.usvm.language.StructuredPythonProgram import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.language.types.getTypeFromTypeHint import org.usvm.machine.PyMachine -import org.usvm.machine.saving.DummySaver +import org.usvm.machine.results.DefaultPyMachineResultsReceiver +import org.usvm.machine.results.PickleObjectSerializer import org.utbot.python.newtyping.PythonCallableTypeDescription import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.general.FunctionType @@ -16,6 +17,7 @@ import org.utbot.python.newtyping.mypy.readMypyInfoBuild import org.utbot.python.newtyping.pythonDescription import java.io.File +@Suppress("unused_parameter") class PythonMachineSocketRunner( mypyDirPath: File, programRoots: Set, @@ -24,12 +26,12 @@ class PythonMachineSocketRunner( ): AutoCloseable { private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) private val mypyBuild = readMypyInfoBuild(mypyDir) - private val communicator = PickledObjectCommunicator(socketIp, socketPort) + // private val communicator = PickledObjectCommunicator(socketIp, socketPort) private val program = StructuredPythonProgram(programRoots) private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) private val machine = PyMachine(program, typeSystem) override fun close() { - communicator.close() + // communicator.close() machine.close() } @@ -46,14 +48,12 @@ class PythonMachineSocketRunner( timeoutPerRunMs: Long, timeoutMs: Long ) = runBlocking { - val newStateObserver = NewStateObserverForRunner(communicator, this) machine.analyze( callable, - DummySaver, + saver = DefaultPyMachineResultsReceiver(PickleObjectSerializer), // TODO: implement newStateObserver timeoutMs = timeoutMs, timeoutPerRunMs = timeoutPerRunMs, maxIterations = 1000, - newStateObserver = newStateObserver ) } diff --git a/usvm-python/usvm-python-object-model/build.gradle.kts b/usvm-python/usvm-python-object-model/build.gradle.kts new file mode 100644 index 0000000000..5946ea8f6d --- /dev/null +++ b/usvm-python/usvm-python-object-model/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + id("usvm.kotlin-conventions") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt new file mode 100644 index 0000000000..92c71d93d5 --- /dev/null +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt @@ -0,0 +1,24 @@ +package org.usvm.python.model + +sealed class PyObjectModel + +class PyPrimitive( + val repr: String +): PyObjectModel() + +data class PyIdentifier( + val module: String, + val name: String +): PyObjectModel() + +class PyCompositeObject( + val constructor: PyIdentifier, + val constructorArgs: List, + var listItems: List? = null, + var dictItems: List>? = null, + var fieldDict: Map? = null +): PyObjectModel() + +class PyTupleObject(var items: List): PyObjectModel() + +data class PyMockObject(val id: Int): PyObjectModel() \ No newline at end of file diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt new file mode 100644 index 0000000000..3abb121111 --- /dev/null +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt @@ -0,0 +1,21 @@ +package org.usvm.python.model + +class PyTest( + val inputModel: PyInputModel, + val inputArgs: List, + val result: PyResult +) + +class PyInputModel( + val inputArgs: List +) + +sealed class PyResult + +class PyResultSuccess( + val output: PyObjectRepr +): PyResult() + +class PyResultFailure( + val exception: PyObjectRepr +): PyResult() \ No newline at end of file From a1e535ec56965f3abfc0ec1e694b728d638f366c Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 21 Dec 2023 13:05:48 +0300 Subject: [PATCH 223/344] Finished working on new saving interface --- usvm-python/build.gradle.kts | 2 + usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../org/usvm/runner/PythonTestRunner.kt | 4 +- .../usvm/interpreter/ConcolicRunContext.java | 4 +- .../symbolic/USVMPythonInterpreter.kt | 9 +-- .../symbolic/operations/basic/Control.kt | 1 + .../usvm/machine/rendering/StateSeedSender.kt | 58 ----------------- .../machine/results/PickledObjectSaver.kt | 34 ---------- .../results/PyMachineResultsReceiver.kt | 1 + .../results/PythonAnalysisResultSaver.kt | 29 --------- .../machine/results/PythonObjectSerializer.kt | 63 ------------------- .../results/PythonRepresentationSaver.kt | 58 ----------------- .../org/usvm/machine/results/SaverAPI.kt | 23 ------- .../serialization/EmptyObjectSerializer.kt | 7 +++ .../serialization/ObjectWithDictSerializer.kt | 22 +++++++ .../serialization/PickleArgsSerializer.kt | 20 ++++++ .../serialization/PickleObjectSerializer.kt | 17 +++++ .../serialization/PythonObjectSerializer.kt | 7 +++ .../serialization/ReprObjectSerializer.kt | 12 ++++ .../StandardPythonObjectSerializer.kt | 21 +++++++ .../symbolicobjects/SymbolicPythonObject.kt | 14 ++++- .../rendering/DefaultPyObjectModelProvider.kt | 2 +- .../rendering/PyObjectModelBuilder.kt | 6 +- .../rendering/PythonObjectRenderer.kt | 2 +- .../usvm/runner/NewStateObserverForRunner.kt | 30 +++++---- .../usvm/runner/PickledObjectCommunicator.kt | 9 ++- .../usvm/runner/PythonMachineSocketRunner.kt | 36 +++++++---- 27 files changed, 180 insertions(+), 313 deletions(-) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{ => symbolicobjects}/rendering/DefaultPyObjectModelProvider.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{ => symbolicobjects}/rendering/PyObjectModelBuilder.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/{ => symbolicobjects}/rendering/PythonObjectRenderer.kt (98%) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 688e73c76c..e709688bd7 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -34,6 +34,8 @@ dependencies { tasks.jar { dependsOn(":usvm-util:jar") dependsOn(":usvm-core:jar") + dependsOn(":usvm-python:usvm-python-main:jar") + dependsOn(":usvm-python:usvm-python-object-model:jar") } val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 8158b59f66..a2c4968253 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -8,7 +8,7 @@ import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.results.DefaultPyMachineResultsReceiver -import org.usvm.machine.results.ObjectWithDictSerializer +import org.usvm.machine.results.serialization.ObjectWithDictSerializer import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.getModulesFromFiles diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index b2830b2d52..9c1e06da07 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -7,8 +7,10 @@ import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.PythonObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer import org.usvm.machine.results.* +import org.usvm.machine.results.serialization.PythonObjectInfo +import org.usvm.machine.results.serialization.StandardPythonObjectSerializer import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.python.model.PyTest diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index d335f42e19..8759fc96b9 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -9,8 +9,8 @@ import org.usvm.machine.PyState; import org.usvm.machine.PyContext; import org.usvm.machine.model.PyModelHolder; -import org.usvm.machine.rendering.PyObjectModelBuilder; -import org.usvm.machine.rendering.PythonObjectRenderer; +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder; +import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; import java.util.*; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 91b8527ece..3669c14580 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -16,10 +16,11 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtu import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.rendering.LengthOverflowException -import org.usvm.machine.rendering.PyObjectModelBuilder -import org.usvm.machine.rendering.PythonObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.LengthOverflowException +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer import org.usvm.machine.results.* +import org.usvm.machine.results.serialization.ReprObjectSerializer import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.python.model.* @@ -42,7 +43,7 @@ class USVMPythonInterpreter( logger.debug("Source of the state: {}", state.meta.generatedFrom) val symbols = state.inputSymbols val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } - val builder = PyObjectModelBuilder(concolicRunContext, modelHolder) + val builder = PyObjectModelBuilder(state, modelHolder) val objectModels = interpreted.map { builder.convert(it) } val inputModel = PyInputModel(objectModels) resultsReceiver.inputModelObserver.onInputModel(inputModel) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index c1ca284eb9..bfb45d98ad 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -23,6 +23,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { forkResult.negativeState?.models?.first() -> ctx.curState = forkResult.negativeState else -> error("Should not be reachable") } + ctx.builder.state = ctx.curState!! val applyToPyModel = { state: PyState -> state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt deleted file mode 100644 index c8bcf7f602..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/StateSeedSender.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.usvm.machine.rendering - -import org.usvm.UConcreteHeapRef -import org.usvm.api.typeStreamOf -import org.usvm.isStaticHeapRef -import org.usvm.language.types.ConcretePythonType -import org.usvm.machine.PyState -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.types.first - -/* -class StateSeedSender( - private val saver: PythonAnalysisResultSaver -) { - fun getData(state: PyState): InputRepr? = runCatching { - val converter = if (state.meta.lastConverter != null) { - state.meta.lastConverter!! - } else { - val modelHolder = PyModelHolder(state.pyModel) - ConverterToPythonObject( - state.ctx, - state.typeSystem, - modelHolder, - state.preAllocatedObjects, - state.memory, - useNoneInsteadOfVirtual = true - ) - } - converter.restart() - val inputs = state.inputSymbols.map { - val interpretedRaw = state.pyModel.eval(it.address) as UConcreteHeapRef - val interpreted = if (isStaticHeapRef(interpretedRaw)) { - val type = state.memory.typeStreamOf(interpretedRaw).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(interpretedRaw, type, state.typeSystem) - } else { - InterpretedInputSymbolicPythonObject(interpretedRaw, converter.modelHolder, state.typeSystem) - } - val type = interpreted.getConcreteType() ?: state.typeSystem.pythonNoneType - val concrete = converter.convert(interpreted) - GeneratedPythonObject(concrete, type, interpreted) - } - val serialized = saver.serializeInput(inputs, converter) - inputs.forEach { - ConcretePythonInterpreter.decref(it.ref) - } - return serialized - }.getOrNull() - - suspend fun sendStateSeeds(data: InputRepr) { - // println("Sending!") - saver.saveNextInputs(data) - } -} - */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt deleted file mode 100644 index e0166f5c33..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PickledObjectSaver.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.usvm.machine.results - -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject - -/* -class PickledObjectSaver( - private val sender: PickledObjectSender -): PythonAnalysisResultSaver() { - override fun serializeInput(inputs: List, converter: ConverterToPythonObject): String? { - val pair = ConcretePythonInterpreter.allocateTuple(2) - val tuple = ConcretePythonInterpreter.allocateTuple(inputs.size) - inputs.forEachIndexed { index, generatedPythonObject -> - ConcretePythonInterpreter.setTupleElement(tuple, index, generatedPythonObject.ref) - } - val dict = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) - ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) - val result = PickleObjectSerializer.serialize(pair) - ConcretePythonInterpreter.decref(pair) - return result - } - - override fun saveExecutionResult(result: ExecutionResult) = run { } - - override suspend fun saveNextInputs(input: String?) { - input?.let { sender.sendPickledInputs(it) } - } -} - -abstract class PickledObjectSender { - abstract suspend fun sendPickledInputs(pickledInput: String) -} - */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt index e3b97bc35b..dc058aa8a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt @@ -1,6 +1,7 @@ package org.usvm.machine.results import org.usvm.machine.results.observers.* +import org.usvm.machine.results.serialization.PythonObjectSerializer interface PyMachineResultsReceiver { val serializer: PythonObjectSerializer diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt deleted file mode 100644 index ca11557be6..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonAnalysisResultSaver.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.usvm.machine.results - -/* -import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.rendering.ConverterToPythonObject -import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject - -abstract class PythonAnalysisResultSaver { - abstract fun serializeInput(inputs: List, converter: ConverterToPythonObject): InputRepr - abstract suspend fun saveNextInputs(input: InputRepr) - abstract fun saveExecutionResult(result: ExecutionResult) -} - -data class GeneratedPythonObject( - val ref: PythonObject, - val type: PythonType, - val asUExpr: InterpretedSymbolicPythonObject -) - -sealed class ExecutionResult -class Success( - val output: PythonObjectRepresentation -): ExecutionResult() - -class Fail( - val exception: PythonObjectRepresentation -): ExecutionResult() - */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt deleted file mode 100644 index e6f610b9fc..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonObjectSerializer.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.usvm.machine.results - -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject - -abstract class PythonObjectSerializer { - abstract fun serialize(obj: PythonObject): PythonObjectRepresentation -} - -object StandardPythonObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): PythonObjectInfo { - val repr = ReprObjectSerializer.serialize(obj) - val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) - val selfTypeName = if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(obj) else null - return PythonObjectInfo(repr, typeName, selfTypeName) - } -} - -object ReprObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String { - return runCatching { - ConcretePythonInterpreter.getPythonObjectRepr(obj) - }.getOrDefault("") - } -} - -object ObjectWithDictSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String { - val objRepr = ReprObjectSerializer.serialize(obj) - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") - return runCatching { - val dict = ConcretePythonInterpreter.eval(namespace, "obj.__dict__") - if (ConcretePythonInterpreter.getPythonObjectTypeName(dict) == "dict") { - val dictRepr = ReprObjectSerializer.serialize(dict) - "$objRepr with dict $dictRepr" - } else { - objRepr - } - }.getOrDefault(objRepr) - } -} - -object PickleObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String? { - return runCatching { - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "x") - ConcretePythonInterpreter.concreteRun(namespace, "import pickle") - val res = ConcretePythonInterpreter.eval(namespace, "pickle.dumps(x)") - ConcretePythonInterpreter.decref(namespace) - ConcretePythonInterpreter.getPythonObjectRepr(res) - }.getOrNull() - } -} - -class PythonObjectInfo( - val repr: String, - val typeName: String, - val selfTypeName: String? -) { - override fun toString(): String = "$repr: $typeName" -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt deleted file mode 100644 index eb0d8435a6..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PythonRepresentationSaver.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.usvm.machine.results - -import org.usvm.language.types.PythonType -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject - -/* -class PythonRepresentationSaver( - private val serializer: PythonObjectSerializer -): PythonAnalysisResultSaver() { - private val results = mutableListOf>() - private var currentInputs: List>? = null - private var currentConverter: ConverterToPythonObject? = null - override fun serializeInput( - inputs: List, - converter: ConverterToPythonObject - ) { - currentInputs = inputs.map { - InputObject( - it.asUExpr, - it.type, - serializer.serialize(it.ref) - ) - } - currentConverter = converter - } - - override suspend fun saveNextInputs(input: Unit) = run { } - - override fun saveExecutionResult(result: ExecutionResult) { - require(currentInputs != null && currentConverter != null) - val serializedResult = when (result) { - is Success -> Success(serializer.serialize(result.output)) - is Fail -> Fail(serializer.serialize(result.exception)) - } - results.add( - PythonAnalysisResult( - currentConverter!!, - currentInputs!!, - serializedResult - ) - ) - } - fun getResults(): List> = results -} - -data class PythonAnalysisResult( - val inputValueConverter: ConverterToPythonObject, - val inputValues: List>, - val result: ExecutionResult -) - -data class InputObject( - val asUExpr: InterpretedSymbolicPythonObject, - val type: PythonType, - val reprFromPythonObject: PythonObjectRepresentation -) - */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt deleted file mode 100644 index 1f51c1fdd1..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/SaverAPI.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.usvm.machine.results - -import org.usvm.machine.interpreters.concrete.PythonObject - -/* -fun createStandardSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(StandardPythonObjectSerializer) - -fun createReprSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(ReprObjectSerializer) - -fun createDictSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(ObjectWithDictSerializer) - -fun createPickleSaver(): PythonRepresentationSaver = - PythonRepresentationSaver(PickleObjectSerializer) - -object DummySaver: PythonAnalysisResultSaver() { - override suspend fun saveNextInputs(input: Unit) = run {} - override fun saveExecutionResult(result: ExecutionResult) = run {} - override fun serializeInput(inputs: List, converter: ConverterToPythonObject) = run {} -} - */ \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt new file mode 100644 index 0000000000..f84d878c71 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt @@ -0,0 +1,7 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.PythonObject + +object EmptyObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject) = run {} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt new file mode 100644 index 0000000000..9e79b2671e --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt @@ -0,0 +1,22 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + + +object ObjectWithDictSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String { + val objRepr = ReprObjectSerializer.serialize(obj) + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") + return runCatching { + val dict = ConcretePythonInterpreter.eval(namespace, "obj.__dict__") + if (ConcretePythonInterpreter.getPythonObjectTypeName(dict) == "dict") { + val dictRepr = ReprObjectSerializer.serialize(dict) + "$objRepr with dict $dictRepr" + } else { + objRepr + } + }.getOrDefault(objRepr) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt new file mode 100644 index 0000000000..92c010e3ee --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt @@ -0,0 +1,20 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + +object PickleArgsSerializer { + fun serialize(args: List): String? { + val pair = ConcretePythonInterpreter.allocateTuple(2) + val tuple = ConcretePythonInterpreter.allocateTuple(args.size) + args.forEachIndexed { index, pythonObject -> + ConcretePythonInterpreter.setTupleElement(tuple, index, pythonObject) + } + val dict = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) + ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) + val result = PickleObjectSerializer.serialize(pair) + ConcretePythonInterpreter.decref(pair) + return result + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt new file mode 100644 index 0000000000..7660ddec6b --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt @@ -0,0 +1,17 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + +object PickleObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String? { + return runCatching { + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "x") + ConcretePythonInterpreter.concreteRun(namespace, "import pickle") + val res = ConcretePythonInterpreter.eval(namespace, "pickle.dumps(x)") + ConcretePythonInterpreter.decref(namespace) + ConcretePythonInterpreter.getPythonObjectRepr(res) + }.getOrNull() + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt new file mode 100644 index 0000000000..5044828f4a --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt @@ -0,0 +1,7 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.PythonObject + +abstract class PythonObjectSerializer { + abstract fun serialize(obj: PythonObject): PythonObjectRepresentation +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt new file mode 100644 index 0000000000..1bfa6ca230 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt @@ -0,0 +1,12 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + +object ReprObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): String { + return runCatching { + ConcretePythonInterpreter.getPythonObjectRepr(obj) + }.getOrDefault("") + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt new file mode 100644 index 0000000000..cf15e67044 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt @@ -0,0 +1,21 @@ +package org.usvm.machine.results.serialization + +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PythonObject + +object StandardPythonObjectSerializer: PythonObjectSerializer() { + override fun serialize(obj: PythonObject): PythonObjectInfo { + val repr = ReprObjectSerializer.serialize(obj) + val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) + val selfTypeName = if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(obj) else null + return PythonObjectInfo(repr, typeName, selfTypeName) + } +} + +class PythonObjectInfo( + val repr: String, + val typeName: String, + val selfTypeName: String? +) { + override fun toString(): String = "$repr: $typeName" +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 8e12176e8e..0f67e75d9f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -170,9 +170,17 @@ fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject ): InterpretedSymbolicPythonObject { require(ctx.curState != null) - val evaluated = ctx.modelHolder.model.eval(obj.address) as UConcreteHeapRef + return interpretSymbolicPythonObject(ctx.modelHolder, ctx.curState!!.memory, obj) +} + +fun interpretSymbolicPythonObject( + modelHolder: PyModelHolder, + memory: UMemory, + obj: UninterpretedSymbolicPythonObject +): InterpretedSymbolicPythonObject { + val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef if (isAllocatedConcreteHeapRef(evaluated) || isStaticHeapRef(evaluated)) { - val typeStream = ctx.curState!!.memory.typeStreamOf(evaluated) + val typeStream = memory.typeStreamOf(evaluated) val type = typeStream.first() val taken = typeStream.take(2) require(taken is TypesResult.SuccessfulTypesResult && taken.types.size == 1 && type is ConcretePythonType) { @@ -180,5 +188,5 @@ fun interpretSymbolicPythonObject( } return InterpretedAllocatedOrStaticSymbolicPythonObject(evaluated, type, obj.typeSystem) } - return InterpretedInputSymbolicPythonObject(evaluated, ctx.modelHolder, obj.typeSystem) + return InterpretedInputSymbolicPythonObject(evaluated, modelHolder, obj.typeSystem) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt index d0ebe34e2c..465be2a68a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.rendering +package org.usvm.machine.symbolicobjects.rendering import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index c63a5ae188..debd6ca9d0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.rendering +package org.usvm.machine.symbolicobjects.rendering import io.ksmt.expr.KInt32NumExpr import org.usvm.UConcreteHeapRef @@ -25,11 +25,9 @@ import org.usvm.python.model.* import org.usvm.types.first class PyObjectModelBuilder( - private val ctx: ConcolicRunContext, + var state: PyState, private val modelHolder: PyModelHolder ) { - private val state: PyState - get() = ctx.curState ?: throw UnregisteredVirtualOperation init { require(state.pyModel == modelHolder.model) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt index 4bcf22bf2d..86bd19ea5a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/rendering/PythonObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt @@ -1,4 +1,4 @@ -package org.usvm.machine.rendering +package org.usvm.machine.symbolicobjects.rendering import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index 6703d18720..d8e9f7e804 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -1,26 +1,30 @@ package org.usvm.runner -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.launch import org.usvm.machine.PyState +import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.results.serialization.PickleArgsSerializer +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -/* class NewStateObserverForRunner( - communicator: PickledObjectCommunicator, - private val scope: CoroutineScope + private val communicator: PickledObjectCommunicator ): NewStateObserver() { - private val saver = PickledObjectSaver(communicator) - private val seedSender = StateSeedSender(saver) private val sentData = mutableSetOf() override fun onNewState(state: PyState) { - val data = seedSender.getData(state) ?: return + val modelHolder = PyModelHolder(state.pyModel) + val builder = PyObjectModelBuilder(state, modelHolder) + val renderer = PythonObjectRenderer(useNoneInsteadOfMock = true) + val interpreted = state.inputSymbols.map { + interpretSymbolicPythonObject(modelHolder, state.memory, it) + } + val models = interpreted.map { builder.convert(it) } + val objects = models.map { renderer.convert(it) } + val data = PickleArgsSerializer.serialize(objects) ?: return if (data !in sentData) { sentData.add(data) - scope.launch { - seedSender.sendStateSeeds(data) - } + communicator.sendPickledInputs(data) } } -} - */ \ No newline at end of file +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt index 445fc6eaed..5528a5c65f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt @@ -3,14 +3,14 @@ package org.usvm.runner import java.io.PrintWriter import java.net.Socket -/* class PickledObjectCommunicator( ip: String, port: Int -): AutoCloseable, PickledObjectSender() { +): AutoCloseable { private val clientSocket = Socket(ip, port) private val writer = PrintWriter(clientSocket.getOutputStream()) - override suspend fun sendPickledInputs(pickledInput: String) { + + fun sendPickledInputs(pickledInput: String) { writer.println(pickledInput) writer.flush() } @@ -19,5 +19,4 @@ class PickledObjectCommunicator( writer.close() clientSocket.close() } -} -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt index e5cb0fbda1..d821991ca8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt @@ -7,7 +7,11 @@ import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.language.types.getTypeFromTypeHint import org.usvm.machine.PyMachine import org.usvm.machine.results.DefaultPyMachineResultsReceiver -import org.usvm.machine.results.PickleObjectSerializer +import org.usvm.machine.results.PyMachineResultsReceiver +import org.usvm.machine.results.observers.* +import org.usvm.machine.results.serialization.EmptyObjectSerializer +import org.usvm.machine.results.serialization.PickleObjectSerializer +import org.usvm.machine.results.serialization.PythonObjectSerializer import org.utbot.python.newtyping.PythonCallableTypeDescription import org.utbot.python.newtyping.PythonCompositeTypeDescription import org.utbot.python.newtyping.general.FunctionType @@ -17,7 +21,6 @@ import org.utbot.python.newtyping.mypy.readMypyInfoBuild import org.utbot.python.newtyping.pythonDescription import java.io.File -@Suppress("unused_parameter") class PythonMachineSocketRunner( mypyDirPath: File, programRoots: Set, @@ -26,12 +29,12 @@ class PythonMachineSocketRunner( ): AutoCloseable { private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) private val mypyBuild = readMypyInfoBuild(mypyDir) - // private val communicator = PickledObjectCommunicator(socketIp, socketPort) + private val communicator = PickledObjectCommunicator(socketIp, socketPort) private val program = StructuredPythonProgram(programRoots) private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) private val machine = PyMachine(program, typeSystem) override fun close() { - // communicator.close() + communicator.close() machine.close() } @@ -47,15 +50,13 @@ class PythonMachineSocketRunner( callable: PythonUnpinnedCallable, timeoutPerRunMs: Long, timeoutMs: Long - ) = runBlocking { - machine.analyze( - callable, - saver = DefaultPyMachineResultsReceiver(PickleObjectSerializer), // TODO: implement newStateObserver - timeoutMs = timeoutMs, - timeoutPerRunMs = timeoutPerRunMs, - maxIterations = 1000, - ) - } + ) = machine.analyze( + callable, + saver = ResultReceiver(NewStateObserverForRunner(communicator)), + timeoutMs = timeoutMs, + timeoutPerRunMs = timeoutPerRunMs, + maxIterations = 1000, + ) fun analyzeFunction( module: String, @@ -102,4 +103,13 @@ class PythonMachineSocketRunner( ) analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) } + + private class ResultReceiver( + override val newStateObserver: NewStateObserver + ): PyMachineResultsReceiver { + override val serializer = EmptyObjectSerializer + override val inputModelObserver = EmptyInputModelObserver + override val inputPythonObjectObserver = EmptyInputPythonObjectObserver + override val pyTestObserver: PyTestObserver = EmptyPyTestObserver() + } } \ No newline at end of file From e64a64f8e291aff492f2faac8b3df9186b8a4f9d Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 21 Dec 2023 13:44:09 +0300 Subject: [PATCH 224/344] Small fixes in python_approximations --- .../approximations/implementations/dict.py | 2 +- .../approximations/implementations/set.py | 2 +- .../python_approximations/python_approximations.iml | 11 ----------- 3 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 usvm-python/python_approximations/python_approximations.iml diff --git a/usvm-python/python_approximations/approximations/implementations/dict.py b/usvm-python/python_approximations/approximations/implementations/dict.py index 8fffb4abd4..940dbb0192 100644 --- a/usvm-python/python_approximations/approximations/implementations/dict.py +++ b/usvm-python/python_approximations/approximations/implementations/dict.py @@ -7,7 +7,7 @@ def accept(*args) -> bool: return len(args) == 0 @staticmethod - def run(*args) -> list: + def run(*args) -> dict: return {} diff --git a/usvm-python/python_approximations/approximations/implementations/set.py b/usvm-python/python_approximations/approximations/implementations/set.py index 29203aa64a..49e2d03a0a 100644 --- a/usvm-python/python_approximations/approximations/implementations/set.py +++ b/usvm-python/python_approximations/approximations/implementations/set.py @@ -7,7 +7,7 @@ def accept(*args) -> bool: return len(args) == 1 @staticmethod - def run(*args) -> list: + def run(*args) -> set: result = set() x = args[0] for elem in x: diff --git a/usvm-python/python_approximations/python_approximations.iml b/usvm-python/python_approximations/python_approximations.iml deleted file mode 100644 index 699e4910b5..0000000000 --- a/usvm-python/python_approximations/python_approximations.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file From 9539278d57a7992d4e6772319fed1d9f46a2b572 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 26 Dec 2023 21:54:16 +0300 Subject: [PATCH 225/344] Added constraints from native calls --- usvm-python/src/test/kotlin/manualTest.kt | 21 +++++++++------ .../resources/samples/tricky/UnsafeCode.py | 13 +++++++++ .../org/usvm/annotations/ids/NativeId.kt | 10 +++++++ .../org/usvm/interpreter/CPythonAdapter.java | 12 +++++++++ .../main/kotlin/org/usvm/machine/PyMachine.kt | 1 - .../concrete/ConcretePythonInterpreter.kt | 24 ++++++++++++----- .../symbolic/operations/basic/Common.kt | 13 +++++++++ .../operations/nativecalls/BuiltinsModule.kt | 26 ++++++++++++++++++ .../nativecalls/NativeCallConstraints.kt | 27 +++++++++++++++++++ .../operations/nativecalls/OsModule.kt | 14 ++++++++++ .../statistics/PythonStatisticsCollector.kt | 5 ---- 11 files changed, 146 insertions(+), 20 deletions(-) create mode 100644 usvm-python/src/test/resources/samples/tricky/UnsafeCode.py create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a2c4968253..e49d47c209 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -54,9 +54,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "g", - "tricky.CompositeObjects" + listOf(PythonAnyType, PythonAnyType, PythonAnyType), + "run", + "tricky.UnsafeCode" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -74,15 +74,16 @@ private fun getFunctionInfo( typeSystem: PythonTypeSystemWithMypyInfo, program: StructuredPythonProgram ): PythonUnpinnedCallable? { + println("Module: $module, name: $name") val description = type.pythonDescription() if (description !is PythonCallableTypeDescription) return null if (ignoreFunctions.contains(name)) return null - //if (module != "depth_first_search_2") - // return null - //if (name != "BidirectionalAStar.search") + //if (module != "requests.cookies") // return null + if (name != "remove_cookie_by_name") + return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { @@ -114,10 +115,12 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\graphs" + val projectPath = "D:\\projects\\requests\\src" val mypyRoot = "D:\\projects\\mypy_tmp" - val files = getPythonFilesFromRoot(projectPath) + val files = getPythonFilesFromRoot(projectPath).filter { !it.name.contains("__init__") } + println("Files: $files") val modules = getModulesFromFiles(projectPath, files) + println("Modules: $modules") val mypyDir = MypyBuildDirectory(File(mypyRoot), setOf(projectPath)) buildMypyInfo( "D:\\projects\\usvm\\usvm-python\\cpythonadapter\\build\\cpython_build\\python_d.exe", @@ -129,6 +132,7 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPythonProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val functions = modules.flatMap { module -> + println("Module: $module") if (module in ignoreModules) return@flatMap emptyList() runCatching { @@ -137,6 +141,7 @@ private fun buildProjectRunConfig(): RunConfig { } }.getOrNull() ?: return@flatMap emptyList() // skip bad modules mypyBuild.definitions[module]!!.flatMap { (defName, def) -> + println("Def name: $defName") val type = def.getUtBotType() val description = type.pythonDescription() if (defName.startsWith("__")) { diff --git a/usvm-python/src/test/resources/samples/tricky/UnsafeCode.py b/usvm-python/src/test/resources/samples/tricky/UnsafeCode.py new file mode 100644 index 0000000000..2fa4045a82 --- /dev/null +++ b/usvm-python/src/test/resources/samples/tricky/UnsafeCode.py @@ -0,0 +1,13 @@ +class RawCommand: + def __init__(self, cmd): + self.cmd = cmd + + def run(self, globals_, locals_): + assert globals_ is not None + assert locals_ is not None + eval(self.cmd, globals_, locals_) + + +def run(commands, globals_, locals_): + for cmd in commands: + cmd.run(globals_, locals_) \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt new file mode 100644 index 0000000000..6a58daf61f --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt @@ -0,0 +1,10 @@ +package org.usvm.annotations.ids + +enum class NativeId( + val pythonModule: String, + val pythonName: String, + var cRef: Long = 0L // will be set during Python initialization +) { + Eval("builtins", "eval"), + OsSystem("os", "system") +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 9762d2a97e..04a715d19e 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -182,6 +182,18 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond withTracing(context, new Fork(cond), unit(() -> handlerForkKt(context, cond.obj))); } + @CPythonAdapterJavaMethod(cName = "call_on") + @CPythonFunction( + argCTypes = {CType.PyObject, CType.PyObject}, + argConverters = {ObjectConverter.RefConverter, ObjectConverter.TupleConverter} + ) + public static void handlerCallOn(ConcolicRunContext context, long callable, SymbolForCPython[] args) { + if (Arrays.stream(args).anyMatch(elem -> elem.obj == null)) + return; + PythonObject callableObj = new PythonObject(callable); + handlerCallOnKt(context, callableObj, Arrays.stream(args).map(s -> s.obj)); + } + @CPythonAdapterJavaMethod(cName = "fork_result") @CPythonFunction( argCTypes = {CType.PyObject, CType.CInt}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index df9207e90c..da2dc64c9b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -11,7 +11,6 @@ import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.PyVirtualPathSelector import org.usvm.machine.results.PyMachineResultsReceiver -import org.usvm.machine.results.observers.EmptyNewStateObserver import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.* import org.usvm.machine.utils.PyMachineStatistics diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index b0deb341f9..7e2abab2d7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.concrete import org.usvm.annotations.ids.ApproximationId +import org.usvm.annotations.ids.NativeId import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject @@ -269,20 +270,30 @@ object ConcretePythonInterpreter { private val approximationsPath = System.getProperty("approximations.path") ?: error("approximations.path not specified") + private fun initializeId(module: String, name: String): Long { + val namespace = getNewNamespace() + concreteRun(namespace, "import $module") + val ref = eval(namespace, "$module.$name") + incref(ref) + decref(namespace) + return ref.address + } + private fun initializeMethodApproximations() { withAdditionalPaths(listOf(File(approximationsPath)), null) { ApproximationId.values().forEach { - val namespace = getNewNamespace() - concreteRun(namespace, "import ${it.pythonModule}") - val ref = eval(namespace, "${it.pythonModule}.${it.pythonName}") - it.cRef = ref.address - incref(ref) - decref(namespace) + it.cRef = initializeId(it.pythonModule, it.pythonName) } pythonAdapter.initializeSpecialApproximations() } } + private fun initializeNativeIds() { + NativeId.values().forEach { + it.cRef = initializeId(it.pythonModule, it.pythonName) + } + } + private fun initialize() { val pythonHome = System.getenv("PYTHONHOME") ?: error("Variable PYTHONHOME not set") pythonAdapter.initializePython(pythonHome) @@ -307,6 +318,7 @@ object ConcretePythonInterpreter { pythonAdapter.decref(namespace) emptyNamespace = getNewNamespace() initializeMethodApproximations() + initializeNativeIds() } private fun initializeSysPath(namespace: Long) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 5b27c4fe27..a54d6edceb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr import org.usvm.UExpr +import org.usvm.annotations.ids.NativeId import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext @@ -12,10 +13,13 @@ import org.usvm.language.SymbolForCPython import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.PythonObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.* import org.usvm.machine.utils.MethodDescription import org.utbot.python.newtyping.getPythonAttributeByName +import java.util.stream.Stream +import kotlin.streams.asSequence fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null @@ -298,4 +302,13 @@ fun forkOnUnknownHashableType( myFork(ctx, keyIsBool) require(ctx.modelHolder.model.eval(keyIsFloat or keyIsNone).isFalse) myAssert(ctx, (keyIsFloat or keyIsNone).not()) +} + +fun handlerCallOnKt( + ctx: ConcolicRunContext, + function: PythonObject, + args: Stream +) { + ctx.curState ?: return + addConstraintsFromNativeId(ctx, function, args.asSequence().toList()) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt new file mode 100644 index 0000000000..8a161a92c9 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt @@ -0,0 +1,26 @@ +package org.usvm.machine.interpreters.symbolic.operations.nativecalls + +import org.usvm.annotations.ids.NativeId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse +import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.interpreters.symbolic.operations.basic.myFork +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object EvalConstraint: NativeCallConstraint(NativeId.Eval) { + override fun apply(ctx: ConcolicRunContext, args: List) { + if (args.size > 3 || args.isEmpty()) + return + val cmd = args[0] + cmd.addSupertype(ctx, ctx.typeSystem.pythonStr) + args.drop(1).forEach { + val isDictCond = it.evalIs(ctx, ctx.typeSystem.pythonDict) + if (ctx.modelHolder.model.eval(isDictCond).isFalse) { + myFork(ctx, isDictCond) + it.addSupertype(ctx, ctx.typeSystem.pythonNoneType) + } else { + myAssert(ctx, isDictCond) + } + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt new file mode 100644 index 0000000000..7c8f8e6c9e --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt @@ -0,0 +1,27 @@ +package org.usvm.machine.interpreters.symbolic.operations.nativecalls + +import org.usvm.annotations.ids.NativeId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +fun addConstraintsFromNativeId( + ctx: ConcolicRunContext, + function: PythonObject, + args: List +) { + constraintHolder.forEach { + if (function.address == it.id.cRef) { + it.apply(ctx, args) + } + } +} + +abstract class NativeCallConstraint(val id: NativeId) { + abstract fun apply(ctx: ConcolicRunContext, args: List) +} + +val constraintHolder = listOf( + OsSystemConstraint, + EvalConstraint +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt new file mode 100644 index 0000000000..ce24b30e00 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt @@ -0,0 +1,14 @@ +package org.usvm.machine.interpreters.symbolic.operations.nativecalls + +import org.usvm.annotations.ids.NativeId +import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +object OsSystemConstraint: NativeCallConstraint(NativeId.OsSystem) { + override fun apply(ctx: ConcolicRunContext, args: List) { + if (args.size != 1) + return + val arg = args[0] + arg.addSupertype(ctx, ctx.typeSystem.pythonStr) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt deleted file mode 100644 index e3e12b91bc..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/statistics/PythonStatisticsCollector.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.usvm.machine.statistics - -abstract class PythonStatisticsCollector { - abstract fun enterFunction() -} \ No newline at end of file From b45dbfa1fe5bca35bb539c92bc97d4c0bf73ae03 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 24 Jan 2024 15:51:40 +0300 Subject: [PATCH 226/344] Refactored PyVirtualPathSelector --- .../runner/UtBotPythonRunnerEntryPoint.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 36 +-- .../org/usvm/runner/PythonTestRunner.kt | 54 ++-- .../kotlin/org/usvm/runner/SamplesBuild.kt | 4 +- .../test/kotlin/org/usvm/samples/ListsTest.kt | 10 +- .../usvm/samples/SimpleCustomClassesTest.kt | 2 +- .../org/usvm/samples/SimpleExampleTest.kt | 4 +- .../src/test/resources/samples/Lists.py | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 18 +- .../usvm/interpreter/ConcolicRunContext.java | 4 +- .../kotlin/org/usvm/language/Callables.kt | 20 +- .../kotlin/org/usvm/language/Instruction.kt | 32 +- .../main/kotlin/org/usvm/language/Program.kt | 42 +-- .../org/usvm/language/types/TypeSystem.kt | 26 +- .../kotlin/org/usvm/language/types/Types.kt | 10 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 49 +-- .../main/kotlin/org/usvm/machine/PyState.kt | 32 +- .../concrete/ConcretePythonInterpreter.kt | 132 ++++---- .../symbolic/USVMPythonInterpreter.kt | 26 +- .../symbolic/operations/basic/Common.kt | 9 +- .../symbolic/operations/basic/Constants.kt | 10 +- .../symbolic/operations/basic/Virtual.kt | 4 +- .../nativecalls/NativeCallConstraints.kt | 4 +- .../operations/symbolicmethods/Set.kt | 4 +- .../operations/symbolicmethods/Utils.kt | 4 +- .../operations/tracing/PathTracing.kt | 6 +- .../tracing/SymbolicHandlerEvent.kt | 15 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 22 ++ .../usvm/machine/ps/PyVirtualPathSelector.kt | 298 ++++++++---------- .../main/kotlin/org/usvm/machine/ps/Utils.kt | 15 + .../org/usvm/machine/ps/strategies/Api.kt | 74 +++++ .../ps/strategies/impls/BaselineStrategy.kt | 156 +++++++++ .../observers/InputPythonObjectObserver.kt | 6 +- .../serialization/EmptyObjectSerializer.kt | 4 +- .../serialization/ObjectWithDictSerializer.kt | 4 +- .../serialization/PickleArgsSerializer.kt | 6 +- .../serialization/PickleObjectSerializer.kt | 4 +- .../serialization/PythonObjectSerializer.kt | 4 +- .../serialization/ReprObjectSerializer.kt | 4 +- .../StandardPythonObjectSerializer.kt | 4 +- .../symbolicobjects/PreallocatedObjects.kt | 12 +- .../SymbolicObjectConstruction.kt | 8 +- .../symbolicobjects/SymbolicPythonObject.kt | 6 +- .../machine/symbolicobjects/memory/Bool.kt | 4 +- .../machine/symbolicobjects/memory/Dict.kt | 8 +- .../machine/symbolicobjects/memory/Float.kt | 8 +- .../machine/symbolicobjects/memory/Int.kt | 5 +- .../symbolicobjects/memory/StandardFields.kt | 4 +- ...nObjectRenderer.kt => PyObjectRenderer.kt} | 22 +- .../org/usvm/machine/utils/Generators.kt | 6 +- .../usvm/machine/utils/PyMachineStatistics.kt | 18 +- .../usvm/runner/NewStateObserverForRunner.kt | 4 +- ...cketRunner.kt => PyMachineSocketRunner.kt} | 224 +++++++------ 53 files changed, 882 insertions(+), 609 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/Utils.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/{PythonObjectRenderer.kt => PyObjectRenderer.kt} (86%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/{PythonMachineSocketRunner.kt => PyMachineSocketRunner.kt} (84%) diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index 5dd88e0271..73c434b993 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -28,7 +28,7 @@ fun main(args: Array) { System.err.println("No VenvConfig.") } val programRoots = args.drop(prefixNumberOfArgs) - val runner = PythonMachineSocketRunner( + val runner = PyMachineSocketRunner( File(mypyDirPath), programRoots.map { File(it) }.toSet(), "localhost", diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index e49d47c209..e90c2948b0 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,9 +1,9 @@ import org.usvm.UMachineOptions -import org.usvm.language.PrimitivePythonProgram -import org.usvm.language.PythonProgram +import org.usvm.language.PrimitivePyProgram +import org.usvm.language.PyProgram import org.usvm.machine.* -import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.StructuredPythonProgram +import org.usvm.language.PyUnpinnedCallable +import org.usvm.language.StructuredPyProgram import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException @@ -53,10 +53,10 @@ private fun buildSampleRunConfig(): RunConfig { assert x != "aaaa" """.trimIndent() )*/ - val function = PythonUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType, PythonAnyType, PythonAnyType), - "run", - "tricky.UnsafeCode" + val function = PyUnpinnedCallable.constructCallableFromName( + listOf(PythonAnyType), + "matmul_add_and_sub", + "SimpleCustomClasses" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -72,8 +72,8 @@ private fun getFunctionInfo( name: String, module: String, typeSystem: PythonTypeSystemWithMypyInfo, - program: StructuredPythonProgram -): PythonUnpinnedCallable? { + program: StructuredPyProgram +): PyUnpinnedCallable? { println("Module: $module, name: $name") val description = type.pythonDescription() if (description !is PythonCallableTypeDescription) @@ -99,7 +99,7 @@ private fun getFunctionInfo( }.getOrNull() ?: return null println("$module.$name: ${type.pythonTypeRepresentation()}") val callableType = type as FunctionType - return PythonUnpinnedCallable.constructCallableFromName( + return PyUnpinnedCallable.constructCallableFromName( callableType.arguments.map { getTypeFromTypeHint(it, typeSystem) }, @@ -129,7 +129,7 @@ private fun buildProjectRunConfig(): RunConfig { mypyDir ) val mypyBuild = readMypyInfoBuild(mypyDir) - val program = StructuredPythonProgram(setOf(File(projectPath))) + val program = StructuredPyProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val functions = modules.flatMap { module -> println("Module: $module") @@ -239,27 +239,27 @@ private fun analyze(runConfig: RunConfig) { } private data class RunConfig( - val program: PythonProgram, + val program: PyProgram, val typeSystem: PythonTypeSystem, - val functions: List + val functions: List ) @Suppress("SameParameterValue") -private fun constructPrimitiveProgram(asString: String): Pair { - val program = PrimitivePythonProgram.fromString(asString) +private fun constructPrimitiveProgram(asString: String): Pair { + val program = PrimitivePyProgram.fromString(asString) val typeSystem = BasicPythonTypeSystem() return Pair(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructPrimitiveProgramFromStructured(module: String): Pair { +private fun constructPrimitiveProgramFromStructured(module: String): Pair { val program = SamplesBuild.program.getPrimitiveProgram(module) val typeSystem = BasicPythonTypeSystem() return Pair(program, typeSystem) } @Suppress("SameParameterValue") -private fun constructStructuredProgram(): Pair { +private fun constructStructuredProgram(): Pair { val program = SamplesBuild.program val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) return Pair(program, typeSystem) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 9c1e06da07..111dc7b4d6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -6,8 +6,8 @@ import org.usvm.language.* import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer +import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.results.* import org.usvm.machine.results.serialization.PythonObjectInfo import org.usvm.machine.results.serialization.StandardPythonObjectSerializer @@ -21,10 +21,10 @@ import org.usvm.test.util.checkers.ge sealed class PythonTestRunner( override var options: UMachineOptions = UMachineOptions(), protected var allowPathDiversions: Boolean = false -): TestRunner, PythonUnpinnedCallable, PythonType, PythonCoverage>() { +): TestRunner, PyUnpinnedCallable, PythonType, PythonCoverage>() { var timeoutPerRunMs: Long? = null abstract val typeSystem: PythonTypeSystem - protected abstract val program: PythonProgram + protected abstract val program: PyProgram private val machine by lazy { PyMachine(program, typeSystem) } @@ -32,7 +32,7 @@ sealed class PythonTestRunner( get() = { _ -> PythonAnyType } override val checkType: (PythonType, PythonType) -> Boolean get() = { _, _ -> true } - override val runner: (PythonUnpinnedCallable, UMachineOptions) -> List> + override val runner: (PyUnpinnedCallable, UMachineOptions) -> List> get() = { callable, options -> val saver = DefaultPyMachineResultsReceiver(StandardPythonObjectSerializer) machine.analyze( @@ -49,17 +49,17 @@ sealed class PythonTestRunner( get() = { _ -> PythonCoverage(0) } private fun compareWithConcreteRun( - target: PythonUnpinnedCallable, + target: PyUnpinnedCallable, test: PyTest, - check: (PythonObject) -> String? + check: (PyObject) -> String? ): String? = program.withPinnedCallable(target, typeSystem) { pinnedCallable -> val argModels = test.inputModel.inputArgs - val renderer = PythonObjectRenderer() + val renderer = PyObjectRenderer() val args = argModels.map { renderer.convert(it) } try { val concreteResult = - ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPythonObject, args) + ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPyObject, args) check(concreteResult) } catch (exception: CPythonExecutionException) { require(exception.pythonExceptionType != null) @@ -68,10 +68,10 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, (PyTest, PythonObject) -> String?, List, List) -> Unit = - { target: PythonUnpinnedCallable, + (PyUnpinnedCallable, AnalysisResultsNumberMatcher, (PyTest, PyObject) -> String?, List, List) -> Unit = + { target: PyUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - compareConcolicAndConcrete: (PyTest, PythonObject) -> String?, + compareConcolicAndConcrete: (PyTest, PyObject) -> String?, invariants: List, propertiesToDiscover: List -> val onAnalysisResult = { pythonTest: PyTest -> @@ -105,9 +105,9 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRunAndNoPredicates(): - (PythonUnpinnedCallable, (PyTest, PythonObject) -> String?) -> Unit = - { target: PythonUnpinnedCallable, - compareConcolicAndConcrete: (PyTest, PythonObject) -> String? -> + (PyUnpinnedCallable, (PyTest, PyObject) -> String?) -> Unit = + { target: PyUnpinnedCallable, + compareConcolicAndConcrete: (PyTest, PyObject) -> String? -> createCheckWithConcreteRun(concreteRun = true)( target, ge(0), @@ -118,8 +118,8 @@ sealed class PythonTestRunner( } private inline fun > createCheck(): - (PythonUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = - { target: PythonUnpinnedCallable, + (PyUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = + { target: PyUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, invariants: List, propertiesToDiscover: List -> @@ -156,7 +156,7 @@ sealed class PythonTestRunner( createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: - (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? PyResultSuccess)?.let { val concolic = it.output.repr val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) @@ -165,7 +165,7 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfSuccess: - (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? PyResultSuccess)?.let { val concolic = it.output.typeName val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) @@ -174,7 +174,7 @@ sealed class PythonTestRunner( } protected val compareConcolicAndConcreteTypesIfFail: - (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? PyResultFailure)?.let { if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" @@ -187,19 +187,19 @@ sealed class PythonTestRunner( } val standardConcolicAndConcreteChecks: - (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } val compareConcolicAndConcreteTypes: - (PyTest, PythonObject) -> String? = { testFromConcolic, concreteResult -> + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) } - protected open fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = - PythonUnpinnedCallable.constructCallableFromName(signature, name) + protected open fun constructFunction(name: String, signature: List): PyUnpinnedCallable = + PyUnpinnedCallable.constructCallableFromName(signature, name) } open class PythonTestRunnerForPrimitiveProgram( @@ -218,12 +218,12 @@ open class PythonTestRunnerForStructuredProgram( ): PythonTestRunner(options, allowPathDiversions) { override val program = SamplesBuild.program override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, SamplesBuild.program) - override fun constructFunction(name: String, signature: List): PythonUnpinnedCallable = - PythonUnpinnedCallable.constructCallableFromName(signature, name, module) + override fun constructFunction(name: String, signature: List): PyUnpinnedCallable = + PyUnpinnedCallable.constructCallableFromName(signature, name, module) } class CustomPythonTestRunner( - override val program: PythonProgram, + override val program: PyProgram, override val typeSystem: PythonTypeSystem, options: UMachineOptions = UMachineOptions(), allowPathDiversions: Boolean = false diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt index 54969f37d8..4aec5217a8 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt @@ -1,6 +1,6 @@ package org.usvm.runner -import org.usvm.language.StructuredPythonProgram +import org.usvm.language.StructuredPyProgram import org.utbot.python.newtyping.mypy.MypyBuildDirectory import org.utbot.python.newtyping.mypy.readMypyInfoBuild import java.io.File @@ -10,5 +10,5 @@ object SamplesBuild { private val sourcesRoot = System.getProperty("samples.sources.path")!! private val mypyDirectory = MypyBuildDirectory(File(mypyBuildRoot), setOf(sourcesRoot)) val mypyBuild = readMypyInfoBuild(mypyDirectory) - val program = StructuredPythonProgram(setOf(File(sourcesRoot))) + val program = StructuredPyProgram(setOf(File(sourcesRoot))) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 1e31620a40..d48818cd44 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.PyUnpinnedCallable import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq @@ -192,9 +192,10 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) } - private fun richcompareCheck(function: PythonUnpinnedCallable) { + private fun richcompareCheck(function: PyUnpinnedCallable) { val oldOptions = options options = UMachineOptions(stepLimit = 10U) + allowPathDiversions = true check2WithConcreteRun( function, ignoreNumberOfAnalysisResults, @@ -205,6 +206,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s { _, _, res -> res.repr == "None" } ) ) + allowPathDiversions = false options = oldOptions } @@ -254,6 +256,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s fun testDoubleSubscriptAndCompare() { val oldOptions = options options = UMachineOptions(stepLimit = 15U) + allowPathDiversions = true check2WithConcreteRun( constructFunction("double_subscript_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), ignoreNumberOfAnalysisResults, @@ -265,6 +268,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s { _, _, res -> res.repr == "None" } ) ) + allowPathDiversions = false options = oldOptions } @@ -441,7 +445,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s options = UMachineOptions(stepLimit = 50U) check1WithConcreteRun( constructFunction("reverse_usage", listOf(typeSystem.pythonList)), - ge(5), + ge(3), standardConcolicAndConcreteChecks, /* invariants = */ listOf { _, res -> res.typeName == "tuple" }, /* propertiesToDiscover = */ listOf( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 125b709301..9a1062c4e6 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -41,7 +41,7 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto @Test fun testMatmulAddAndSub() { val oldOptions = options - options = UMachineOptions(stepLimit = 4U) + options = UMachineOptions(stepLimit = 6U) check1WithConcreteRun( constructFunction("matmul_add_and_sub", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index f239a443b5..9d52c21112 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.PythonUnpinnedCallable +import org.usvm.language.PyUnpinnedCallable import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq @@ -136,7 +136,7 @@ class SimpleExampleTest : PythonTestRunnerForPrimitiveProgram("SimpleExample") { @Test fun testSimpleLambda() { check1WithConcreteRun( - PythonUnpinnedCallable.constructLambdaFunction(listOf(typeSystem.pythonInt), "lambda x: 1 if x == 157 else 0"), + PyUnpinnedCallable.constructLambdaFunction(listOf(typeSystem.pythonInt), "lambda x: 1 if x == 157 else 0"), eq(2), standardConcolicAndConcreteChecks, /* invariants = */ listOf { x, res -> x.typeName == "int" && res.typeName == "int" }, diff --git a/usvm-python/src/test/resources/samples/Lists.py b/usvm-python/src/test/resources/samples/Lists.py index c312772232..763c373eb7 100644 --- a/usvm-python/src/test/resources/samples/Lists.py +++ b/usvm-python/src/test/resources/samples/Lists.py @@ -224,7 +224,7 @@ def reverse_usage(x: list): result = 1 else: result = 2 - return (result, x) + return result, x def contains_op(x: list): diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 04a715d19e..21a6055b62 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -10,7 +10,7 @@ import org.usvm.annotations.ids.ApproximationId; import org.usvm.language.*; import org.usvm.machine.MockHeader; -import org.usvm.machine.interpreters.concrete.PythonObject; +import org.usvm.machine.interpreters.concrete.PyObject; import org.usvm.machine.interpreters.symbolic.operations.descriptors.*; import org.usvm.machine.interpreters.symbolic.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; @@ -128,8 +128,8 @@ public static void handlerInstruction(@NotNull ConcolicRunContext context, long context.curOperation = null; int instruction = getInstructionFromFrame(frameRef); long codeRef = getCodeFromFrame(frameRef); - PythonObject code = new PythonObject(codeRef); - withTracing(context, new NextInstruction(new PythonInstruction(instruction), code), () -> Unit.INSTANCE); + PyObject code = new PyObject(codeRef); + withTracing(context, new NextInstruction(new PyInstruction(instruction, code)), () -> Unit.INSTANCE); } private static SymbolForCPython wrap(UninterpretedSymbolicPythonObject obj) { @@ -167,7 +167,7 @@ private static Callable unit(Runnable function) { argConverters = {ObjectConverter.RefConverter} ) public static SymbolForCPython handlerLoadConst(ConcolicRunContext context, long ref) { - PythonObject obj = new PythonObject(ref); + PyObject obj = new PyObject(ref); return withTracing(context, new LoadConstParameters(obj), () -> wrap(handlerLoadConstKt(context, obj))); } @@ -190,7 +190,7 @@ public static void handlerFork(ConcolicRunContext context, SymbolForCPython cond public static void handlerCallOn(ConcolicRunContext context, long callable, SymbolForCPython[] args) { if (Arrays.stream(args).anyMatch(elem -> elem.obj == null)) return; - PythonObject callableObj = new PythonObject(callable); + PyObject callableObj = new PyObject(callable); handlerCallOnKt(context, callableObj, Arrays.stream(args).map(s -> s.obj)); } @@ -924,7 +924,7 @@ public static void handlerSetContains(ConcolicRunContext context, SymbolForCPyth argConverters = {ObjectConverter.RefConverter} ) public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) { - PythonObject code = new PythonObject(codeRef); + PyObject code = new PyObject(codeRef); withTracing(context, new PythonFunctionCall(code), () -> Unit.INSTANCE); } @@ -934,7 +934,7 @@ public static void handlerFunctionCall(ConcolicRunContext context, long codeRef) argConverters = {ObjectConverter.RefConverter} ) public static void handlerReturn(ConcolicRunContext context, long codeRef) { - withTracing(context, new PythonReturn(new PythonObject(codeRef)), () -> Unit.INSTANCE); + withTracing(context, new PythonReturn(new PyObject(codeRef)), () -> Unit.INSTANCE); } @CPythonAdapterJavaMethod(cName = "symbolic_virtual_unary_fun") @@ -965,7 +965,7 @@ public static SymbolForCPython handlerVirtualBinaryFun(ConcolicRunContext contex public static SymbolForCPython handlerIsinstance(ConcolicRunContext context, SymbolForCPython obj, long typeRef) { if (obj.obj == null) return null; - PythonObject type = new PythonObject(typeRef); + PyObject type = new PyObject(typeRef); return methodWrapper(context, new IsinstanceCheck(obj, type), () -> handlerIsinstanceKt(context, obj.obj, type)); } @@ -1240,7 +1240,7 @@ public static void handlerStandardTpSetattro(ConcolicRunContext context, SymbolF addToSymbolicAdapter = false ) public static SymbolForCPython handlerCreateEmptyObject(ConcolicRunContext context, long type_ref) { - PythonObject ref = new PythonObject(type_ref); + PyObject ref = new PyObject(type_ref); return methodWrapper(context, new EmptyObjectCreation(ref), () -> handlerCreateEmptyObjectKt(context, ref)); } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 8759fc96b9..81d5d24d95 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -10,7 +10,7 @@ import org.usvm.machine.PyContext; import org.usvm.machine.model.PyModelHolder; import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder; -import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer; +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; import java.util.*; @@ -33,7 +33,7 @@ public class ConcolicRunContext { public boolean usesVirtualInputs = false; public Callable isCancelled; public PyObjectModelBuilder builder = null; - public PythonObjectRenderer renderer = null; + public PyObjectRenderer renderer = null; public ConcolicRunContext( @NotNull PyState curState, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index e86174c30e..36344f317d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -1,31 +1,31 @@ package org.usvm.language import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonNamespace -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyNamespace +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.language.types.PythonType -sealed class PythonCallable +sealed class PyCallable -data class PythonPinnedCallable(val asPythonObject: PythonObject): PythonCallable() +data class PyPinnedCallable(val asPyObject: PyObject): PyCallable() -class PythonUnpinnedCallable( +class PyUnpinnedCallable( val signature: List, val module: String?, val tag: String, - val reference: (PythonNamespace) -> /* function reference */ PythonObject -): PythonCallable() { + val reference: (PyNamespace) -> /* function reference */ PyObject +): PyCallable() { val numberOfArguments: Int = signature.size companion object { fun constructCallableFromName(signature: List, name: String, module: String? = null) = - PythonUnpinnedCallable(signature, module, "$module.$name") { globals -> ConcretePythonInterpreter.eval(globals, name) } + PyUnpinnedCallable(signature, module, "$module.$name") { globals -> ConcretePythonInterpreter.eval(globals, name) } fun constructLambdaFunction(signature: List, expr: String) = - PythonUnpinnedCallable(signature, null, "lambda \"$expr\"") { globals -> ConcretePythonInterpreter.eval(globals, expr) } + PyUnpinnedCallable(signature, null, "lambda \"$expr\"") { globals -> ConcretePythonInterpreter.eval(globals, expr) } } } -sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PythonCallable() +sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PyCallable() object NbBoolMethod: TypeMethod(true) object NbIntMethod: TypeMethod(true) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt index 35182f8db2..11ab6ba8d2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt @@ -1,3 +1,33 @@ package org.usvm.language -data class PythonInstruction(val numberInBytecode: Int) \ No newline at end of file +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PyObject + +data class PyInstruction( + val numberInBytecode: Int, + val code: PyObject +) + +fun extractInstructionsFromCode(code: PyObject): List { + require(ConcretePythonInterpreter.getPythonObjectTypeName(code) == "code") { + "Can extract instructions only from 'code' object" + } + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, code, "f") + ConcretePythonInterpreter.concreteRun(namespace, "import dis") + val raw = ConcretePythonInterpreter.eval( + namespace, + "[x.offset for x in dis.Bytecode(f) if x.opname != 'RESUME']" + ) + val rawStr = ConcretePythonInterpreter.getPythonObjectRepr(raw) + return rawStr + .removePrefix("[") + .removeSuffix("]") + .split(", ") + .map { + val offset = it.toInt() + PyInstruction(offset, code) + }.also { + ConcretePythonInterpreter.decref(namespace) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index c4c4aa7db7..a43090c07c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -3,62 +3,62 @@ package org.usvm.language import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace -import org.usvm.machine.interpreters.concrete.PythonNamespace +import org.usvm.machine.interpreters.concrete.PyNamespace import org.usvm.machine.utils.withAdditionalPaths import java.io.File -sealed class PythonProgram(val additionalPaths: Set) { +sealed class PyProgram(val additionalPaths: Set) { abstract fun withPinnedCallable( - callable: PythonUnpinnedCallable, + callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PythonPinnedCallable) -> T + block: (PyPinnedCallable) -> T ): T } -class PrimitivePythonProgram internal constructor( - private val namespaceGetter: () -> PythonNamespace, +class PrimitivePyProgram internal constructor( + private val namespaceGetter: () -> PyNamespace, additionalPaths: Set -): PythonProgram(additionalPaths) { +): PyProgram(additionalPaths) { override fun withPinnedCallable( - callable: PythonUnpinnedCallable, + callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PythonPinnedCallable) -> T + block: (PyPinnedCallable) -> T ): T { require(callable.module == null) val namespace = namespaceGetter() - val pinned = PythonPinnedCallable(callable.reference(namespace)) + val pinned = PyPinnedCallable(callable.reference(namespace)) return block(pinned) } companion object { - fun fromString(asString: String): PrimitivePythonProgram { + fun fromString(asString: String): PrimitivePyProgram { val namespaceGetter = { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, asString, setHook = true) namespace } - return PrimitivePythonProgram(namespaceGetter, emptySet()) + return PrimitivePyProgram(namespaceGetter, emptySet()) } } } -class StructuredPythonProgram(val roots: Set): PythonProgram(roots) { +class StructuredPyProgram(val roots: Set): PyProgram(roots) { override fun withPinnedCallable( - callable: PythonUnpinnedCallable, + callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PythonPinnedCallable) -> T + block: (PyPinnedCallable) -> T ): T = withAdditionalPaths(roots, typeSystem) { if (callable.module == null) { - val pinned = PythonPinnedCallable(callable.reference(emptyNamespace)) // for lambdas + val pinned = PyPinnedCallable(callable.reference(emptyNamespace)) // for lambdas block(pinned) } else { val namespace = getNamespaceOfModule(callable.module) ?: error("Couldn't get namespace of function module") - val pinned = PythonPinnedCallable(callable.reference(namespace)) + val pinned = PyPinnedCallable(callable.reference(namespace)) block(pinned) } } - fun getNamespaceOfModule(module: String): PythonNamespace? { + fun getNamespaceOfModule(module: String): PyNamespace? { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, "import sys") module.split(".").fold("") { acc, name -> @@ -70,15 +70,15 @@ class StructuredPythonProgram(val roots: Set): PythonProgram(roots) { //println(module) if (ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) != "dict") return null - return PythonNamespace(resultAsObj.address) + return PyNamespace(resultAsObj.address) } - fun getPrimitiveProgram(module: String): PrimitivePythonProgram { + fun getPrimitiveProgram(module: String): PrimitivePyProgram { val namespaceGetter = { withAdditionalPaths(roots, null) { getNamespaceOfModule(module) ?: error("Couldn't get namespace of module") } } - return PrimitivePythonProgram(namespaceGetter, roots) + return PrimitivePyProgram(namespaceGetter, roots) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 50d93572a4..03adfbdca8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -1,9 +1,9 @@ package org.usvm.language.types -import org.usvm.language.StructuredPythonProgram +import org.usvm.language.StructuredPyProgram import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream @@ -59,14 +59,14 @@ abstract class PythonTypeSystem: UTypeSystem { } protected var allConcreteTypes: List = emptyList() - protected val addressToConcreteType = mutableMapOf() - private val concreteTypeToAddress = mutableMapOf() - private fun addType(type: ConcretePythonType, address: PythonObject) { + protected val addressToConcreteType = mutableMapOf() + private val concreteTypeToAddress = mutableMapOf() + private fun addType(type: ConcretePythonType, address: PyObject) { addressToConcreteType[address] = type concreteTypeToAddress[type] = address ConcretePythonInterpreter.incref(address) } - protected fun addPrimitiveType(isHidden: Boolean, id: PyIdentifier, getter: () -> PythonObject): ConcretePythonType { + protected fun addPrimitiveType(isHidden: Boolean, id: PyIdentifier, getter: () -> PyObject): ConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") val type = PrimitiveConcretePythonType( @@ -80,7 +80,7 @@ abstract class PythonTypeSystem: UTypeSystem { return type } - private fun addArrayLikeType(constraints: Set, id: PyIdentifier, getter: () -> PythonObject): ArrayLikeConcretePythonType { + private fun addArrayLikeType(constraints: Set, id: PyIdentifier, getter: () -> PyObject): ArrayLikeConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") val type = ArrayLikeConcretePythonType( @@ -94,12 +94,12 @@ abstract class PythonTypeSystem: UTypeSystem { return type } - fun addressOfConcreteType(type: ConcretePythonType): PythonObject { + fun addressOfConcreteType(type: ConcretePythonType): PyObject { require(type.owner == this) return concreteTypeToAddress[type]!! } - fun concreteTypeOnAddress(address: PythonObject): ConcretePythonType? { + fun concreteTypeOnAddress(address: PyObject): ConcretePythonType? { return addressToConcreteType[address] } @@ -139,7 +139,7 @@ abstract class PythonTypeSystem: UTypeSystem { protected val basicTypes: List by lazy { concreteTypeToAddress.keys.filter { !it.isHidden } } - protected val basicTypeRefs: List by lazy { + protected val basicTypeRefs: List by lazy { basicTypes.map(::addressOfConcreteType) } @@ -161,13 +161,13 @@ class BasicPythonTypeSystem: PythonTypeSystem() { class PythonTypeSystemWithMypyInfo( mypyBuild: MypyInfoBuild, - private val program: StructuredPythonProgram + private val program: StructuredPyProgram ): PythonTypeSystem() { val typeHintsStorage = PythonTypeHintsStorage.get(mypyBuild) - private fun typeAlreadyInStorage(typeRef: PythonObject): Boolean = addressToConcreteType.keys.contains(typeRef) + private fun typeAlreadyInStorage(typeRef: PyObject): Boolean = addressToConcreteType.keys.contains(typeRef) - private fun isWorkableType(typeRef: PythonObject): Boolean { + private fun isWorkableType(typeRef: PyObject): Boolean { return ConcretePythonInterpreter.getPythonObjectTypeName(typeRef) == "type" && (ConcretePythonInterpreter.typeHasStandardNew(typeRef) || basicTypeRefs.contains(typeRef)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 34438bf880..7f2ddb40d6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -1,6 +1,6 @@ package org.usvm.language.types -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.python.model.PyIdentifier sealed class PythonType @@ -27,9 +27,9 @@ sealed class ConcretePythonType( val typeName: String, val id: PyIdentifier, val isHidden: Boolean = false, - val addressGetter: () -> PythonObject + val addressGetter: () -> PyObject ): PythonType() { - val asObject: PythonObject + val asObject: PyObject get() = owner.addressOfConcreteType(this) val typeModule: String @@ -45,7 +45,7 @@ class PrimitiveConcretePythonType( typeName: String, id: PyIdentifier, isHidden: Boolean = false, - addressGetter: () -> PythonObject + addressGetter: () -> PyObject ): ConcretePythonType(owner, typeName, id, isHidden, addressGetter) class ArrayLikeConcretePythonType( @@ -53,5 +53,5 @@ class ArrayLikeConcretePythonType( owner: PythonTypeSystem, typeName: String, id: PyIdentifier, - addressGetter: () -> PythonObject + addressGetter: () -> PyObject ): ConcretePythonType(owner, typeName, id,false, addressGetter) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index da2dc64c9b..f2e75dc9f4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -9,7 +9,7 @@ import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel -import org.usvm.machine.ps.PyVirtualPathSelector +import org.usvm.machine.ps.createBaselinePyPathSelector import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.* @@ -18,22 +18,23 @@ import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.machine.utils.isGenerator import org.usvm.machine.utils.unfoldGenerator import org.usvm.memory.UMemory -import org.usvm.ps.DfsPathSelector import org.usvm.solver.USatResult +import org.usvm.statistics.CompositeUMachineObserver import org.usvm.statistics.UMachineObserver +import kotlin.random.Random class PyMachine( - private val program: PythonProgram, + private val program: PyProgram, private val typeSystem: PythonTypeSystem, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) - // private val random = Random(0) + private val random = Random(0) val statistics = PyMachineStatistics() private fun getInterpreter( - pinnedTarget: PythonPinnedCallable, + pinnedTarget: PyPinnedCallable, saver: PyMachineResultsReceiver, allowPathDiversion: Boolean, maxInstructions: Int, @@ -51,9 +52,9 @@ class PyMachine( allowPathDiversion ) - private fun getInitialState(target: PythonUnpinnedCallable): PyState { + private fun getInitialState(target: PyUnpinnedCallable): PyState { val pathConstraints = UPathConstraints(ctx) - val memory = UMemory( + val memory = UMemory( ctx, pathConstraints.typeConstraints ).apply { @@ -81,28 +82,22 @@ class PyMachine( } private fun getPathSelector( - target: PythonUnpinnedCallable, + target: PyUnpinnedCallable, newStateObserver: NewStateObserver ): UPathSelector { - val pathSelectorCreation = { + /*val pathSelectorCreation = { DfsPathSelector() // createForkDepthPathSelector, PythonExecutionState>(random) - } + }*/ val initialState = getInitialState(target) newStateObserver.onNewState(initialState) - val ps = PyVirtualPathSelector( - ctx, - pathSelectorCreation(), - pathSelectorForStatesWithDelayedForks = DfsPathSelector(), - pathSelectorCreation(), - newStateObserver - ) + val ps = createBaselinePyPathSelector(ctx, random, newStateObserver) ps.add(listOf(initialState)) return ps } fun analyze( - pythonCallable: PythonUnpinnedCallable, + pythonCallable: PyUnpinnedCallable, saver: PyMachineResultsReceiver, maxIterations: Int = 300, allowPathDiversion: Boolean = true, @@ -116,13 +111,19 @@ class PyMachine( } return program.withPinnedCallable(pythonCallable, typeSystem) { rawPinnedCallable -> typeSystem.restart() - val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.asPythonObject)) { + val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.asPyObject)) { rawPinnedCallable } else { - val substituted = unfoldGenerator(rawPinnedCallable.asPythonObject) - PythonPinnedCallable(substituted) + val substituted = unfoldGenerator(rawPinnedCallable.asPyObject) + PyPinnedCallable(substituted) } - val observer = PythonMachineObserver(saver.newStateObserver) + val pyObserver = PythonMachineObserver(saver.newStateObserver) + /*val coverageStatistics = + CoverageStatistics( + setOf(pinnedCallable), + PyApplicationGraph() + )*/ + val observer = CompositeUMachineObserver(pyObserver) val startTime = System.currentTimeMillis() val stopTime = timeoutMs?.let { startTime + it } val interpreter = getInterpreter( @@ -141,11 +142,11 @@ class PyMachine( observer = observer, isStateTerminated = { !it.isInterestingForPathSelector() }, stopStrategy = { - observer.iterations >= maxIterations || + pyObserver.iterations >= maxIterations || (stopTime != null && System.currentTimeMillis() >= stopTime) } ) - observer.iterations + pyObserver.iterations }.also { ConcretePythonInterpreter.restart() ctx.restartSolver() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index a24be085a6..7cfa3e4e7c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -9,6 +9,7 @@ import org.usvm.language.* import org.usvm.language.types.* import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel +import org.usvm.machine.ps.strategies.TypeRating import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.ps.types.SymbolTypeTree import org.usvm.machine.ps.types.prioritizeTypes @@ -19,25 +20,26 @@ import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.targets.UTargetsSet import org.usvm.types.TypesResult -object PyTarget: UTarget, PyTarget>() -private val targets = UTargetsSet.empty>() +object PyTarget: UTarget() +private val targets = UTargetsSet.empty() class PyState( ctx: PyContext, - private val pythonCallable: PythonUnpinnedCallable, + private val pythonCallable: PyUnpinnedCallable, val inputSymbols: List, pathConstraints: UPathConstraints, - memory: UMemory, + memory: UMemory, uModel: PyModel, val typeSystem: PythonTypeSystem, val preAllocatedObjects: PreallocatedObjects, var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), - callStack: UCallStack> = UCallStack(), - pathLocation: PathNode> = PathNode.root(), + callStack: UCallStack = UCallStack(), + pathLocation: PathNode = PathNode.root(), + var concolicQueries: PersistentList> = persistentListOf(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf(), -): UState, PyContext, PyTarget, PyState>( +): UState( ctx, callStack, pathConstraints, @@ -61,6 +63,7 @@ class PyState( possibleTypesForNull, callStack, pathNode, + concolicQueries, delayedForks, mocks.toMutableMap(), // copy mockedObjects.toMutableSet() // copy @@ -72,20 +75,21 @@ class PyState( val meta = PythonExecutionStateMeta() val pyModel: PyModel get() = models.first() as? PyModel ?: error("Model PyState must be PyModel") - fun buildPathAsList(): List> = - pathNode.allStatements.toList().reversed() + fun buildPathAsList(): List> = concolicQueries - fun makeTypeRating(delayedFork: DelayedFork): List { + fun makeTypeRating(delayedFork: DelayedFork): TypeRating? { val candidates = when (val types = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER)) { is TypesResult.SuccessfulTypesResult -> types.mapNotNull { it as? ConcretePythonType } is TypesResult.TypesResultWithExpiredTimeout, is TypesResult.EmptyTypesResult -> - return emptyList() + return null } - if (typeSystem is PythonTypeSystemWithMypyInfo) { + val resultList = if (typeSystem is PythonTypeSystemWithMypyInfo) { val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, delayedFork.symbol) - return prioritizeTypes(candidates, typeGraph, typeSystem) + prioritizeTypes(candidates, typeGraph, typeSystem) + } else { + candidates } - return candidates + return TypeRating(resultList.toMutableList()) } fun mock(what: MockHeader): MockResult { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index 7e2abab2d7..68a7f6d1db 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -18,20 +18,20 @@ import java.io.File object ConcretePythonInterpreter { private val pythonAdapter = CPythonAdapter() - fun getNewNamespace(): PythonNamespace { + fun getNewNamespace(): PyNamespace { val result = pythonAdapter.newNamespace if (result == 0L) throw CPythonExecutionException() - return PythonNamespace(result) + return PyNamespace(result) } fun pythonExceptionOccurred(): Boolean = CPythonAdapter.pythonExceptionOccurred() != 0 - fun addObjectToNamespace(namespace: PythonNamespace, pythonObject: PythonObject, name: String) { - pythonAdapter.addName(namespace.address, pythonObject.address, name) + fun addObjectToNamespace(namespace: PyNamespace, pyObject: PyObject, name: String) { + pythonAdapter.addName(namespace.address, pyObject.address, name) } - fun concreteRun(globals: PythonNamespace, code: String, printErrorMsg: Boolean = false, setHook: Boolean = false) { + fun concreteRun(globals: PyNamespace, code: String, printErrorMsg: Boolean = false, setHook: Boolean = false) { val result = pythonAdapter.concreteRun(globals.address, code, printErrorMsg, setHook) if (result != 0) { val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null @@ -42,7 +42,7 @@ object ConcretePythonInterpreter { } } - fun eval(globals: PythonNamespace, expr: String, printErrorMsg: Boolean = false, setHook: Boolean = false): PythonObject { + fun eval(globals: PyNamespace, expr: String, printErrorMsg: Boolean = false, setHook: Boolean = false): PyObject { val result = pythonAdapter.eval(globals.address, expr, printErrorMsg, setHook) if (result == 0L) { val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null @@ -51,20 +51,20 @@ object ConcretePythonInterpreter { else throw CPythonExecutionException() } - return PythonObject(result) + return PyObject(result) } - private fun wrap(address: Long): PythonObject? { + private fun wrap(address: Long): PyObject? { if (address == 0L) return null - return PythonObject(address) + return PyObject(address) } fun concreteRunOnFunctionRef( - functionRef: PythonObject, - concreteArgs: Collection, + functionRef: PyObject, + concreteArgs: Collection, setHook: Boolean = false - ): PythonObject { + ): PyObject { pythonAdapter.thrownException = 0L pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concreteRunOnFunctionRef( @@ -73,7 +73,7 @@ object ConcretePythonInterpreter { setHook ) if (result != 0L) - return PythonObject(result) + return PyObject(result) val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null if (op != null) @@ -86,13 +86,13 @@ object ConcretePythonInterpreter { } fun concolicRun( - functionRef: PythonObject, - concreteArgs: List, - virtualArgs: Collection, + functionRef: PyObject, + concreteArgs: List, + virtualArgs: Collection, symbolicArgs: List, ctx: ConcolicRunContext, printErrorMsg: Boolean = false - ): PythonObject { + ): PyObject { pythonAdapter.thrownException = 0L pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concolicRun( @@ -105,7 +105,7 @@ object ConcretePythonInterpreter { printErrorMsg ) if (result != 0L) - return PythonObject(result) + return PyObject(result) val op = pythonAdapter.checkForIllegalOperation() if (op != null) @@ -115,85 +115,85 @@ object ConcretePythonInterpreter { } - fun printPythonObject(pythonObject: PythonObject) { - pythonAdapter.printPythonObject(pythonObject.address) + fun printPythonObject(pyObject: PyObject) { + pythonAdapter.printPythonObject(pyObject.address) } - fun getPythonObjectRepr(pythonObject: PythonObject, printErrorMsg: Boolean = false): String { - return pythonAdapter.getPythonObjectRepr(pythonObject.address, printErrorMsg) ?: throw CPythonExecutionException() + fun getPythonObjectRepr(pyObject: PyObject, printErrorMsg: Boolean = false): String { + return pythonAdapter.getPythonObjectRepr(pyObject.address, printErrorMsg) ?: throw CPythonExecutionException() } - fun getPythonObjectStr(pythonObject: PythonObject): String { - return pythonAdapter.getPythonObjectStr(pythonObject.address) ?: throw CPythonExecutionException() + fun getPythonObjectStr(pyObject: PyObject): String { + return pythonAdapter.getPythonObjectStr(pyObject.address) ?: throw CPythonExecutionException() } - fun getAddressOfReprFunction(pythonObject: PythonObject): Long { - return pythonAdapter.getAddressOfReprFunction(pythonObject.address) + fun getAddressOfReprFunction(pyObject: PyObject): Long { + return pythonAdapter.getAddressOfReprFunction(pyObject.address) } - fun getPythonObjectTypeName(pythonObject: PythonObject): String { - return pythonAdapter.getPythonObjectTypeName(pythonObject.address) + fun getPythonObjectTypeName(pyObject: PyObject): String { + return pythonAdapter.getPythonObjectTypeName(pyObject.address) } - fun getNameOfPythonType(pythonObject: PythonObject): String { - return pythonAdapter.getNameOfPythonType(pythonObject.address) + fun getNameOfPythonType(pyObject: PyObject): String { + return pythonAdapter.getNameOfPythonType(pyObject.address) } - fun getPythonObjectType(pythonObject: PythonObject): PythonObject { - return PythonObject(pythonAdapter.getPythonObjectType(pythonObject.address)) + fun getPythonObjectType(pyObject: PyObject): PyObject { + return PyObject(pythonAdapter.getPythonObjectType(pyObject.address)) } - fun isJavaException(pythonObject: PythonObject): Boolean { - return pythonAdapter.javaExceptionType == pythonAdapter.getPythonObjectType(pythonObject.address) + fun isJavaException(pyObject: PyObject): Boolean { + return pythonAdapter.javaExceptionType == pythonAdapter.getPythonObjectType(pyObject.address) } - fun extractException(pythonObject: PythonObject): Throwable { - require(isJavaException(pythonObject)) - return pythonAdapter.extractException(pythonObject.address) + fun extractException(pyObject: PyObject): Throwable { + require(isJavaException(pyObject)) + return pythonAdapter.extractException(pyObject.address) } - fun allocateVirtualObject(virtualObject: VirtualPythonObject): PythonObject { + fun allocateVirtualObject(virtualObject: VirtualPythonObject): PyObject { val ref = pythonAdapter.allocateVirtualObject(virtualObject) if (ref == 0L) throw CPythonExecutionException() - return PythonObject(ref) + return PyObject(ref) } - fun makeList(elements: List): PythonObject { - return PythonObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) + fun makeList(elements: List): PyObject { + return PyObject(pythonAdapter.makeList(elements.map { it.address }.toLongArray())) } - fun allocateTuple(size: Int): PythonObject { - return PythonObject(pythonAdapter.allocateTuple(size)) + fun allocateTuple(size: Int): PyObject { + return PyObject(pythonAdapter.allocateTuple(size)) } - fun setTupleElement(tuple: PythonObject, index: Int, elem: PythonObject) { + fun setTupleElement(tuple: PyObject, index: Int, elem: PyObject) { pythonAdapter.setTupleElement(tuple.address, index, elem.address) } - fun getIterableElements(iterable: PythonObject): List { + fun getIterableElements(iterable: PyObject): List { val addresses = pythonAdapter.getIterableElements(iterable.address) - return addresses.map { PythonObject(it) } + return addresses.map { PyObject(it) } } - fun decref(obj: PythonObject) { + fun decref(obj: PyObject) { pythonAdapter.decref(obj.address) } - fun incref(obj: PythonObject) { + fun incref(obj: PyObject) { pythonAdapter.incref(obj.address) } - fun decref(namespace: PythonNamespace) { + fun decref(namespace: PyNamespace) { pythonAdapter.decref(namespace.address) } - fun typeLookup(type: PythonObject, name: String): PythonObject? { + fun typeLookup(type: PyObject, name: String): PyObject? { val result = pythonAdapter.typeLookup(type.address, name) - return if (result == 0L) null else PythonObject(result) + return if (result == 0L) null else PyObject(result) } - fun getSymbolicDescriptor(concreteDescriptor: PythonObject): MemberDescriptor? { + fun getSymbolicDescriptor(concreteDescriptor: PyObject): MemberDescriptor? { return pythonAdapter.getSymbolicDescriptor(concreteDescriptor.address) } @@ -215,7 +215,7 @@ object ConcretePythonInterpreter { return SymbolForCPython(null, ref) } - private fun createTypeQuery(checkMethod: (Long) -> Int): (PythonObject) -> Boolean = { pythonObject -> + private fun createTypeQuery(checkMethod: (Long) -> Int): (PyObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) if (result < 0) error("Given Python object is not a type") @@ -247,11 +247,11 @@ object ConcretePythonInterpreter { val typeHasStandardTpGetattro = createTypeQuery { pythonAdapter.typeHasStandardTpGetattro(it) } val typeHasStandardTpSetattro = createTypeQuery { pythonAdapter.typeHasStandardTpSetattro(it) } - fun callStandardNew(type: PythonObject): PythonObject { - return PythonObject(pythonAdapter.callStandardNew(type.address)) + fun callStandardNew(type: PyObject): PyObject { + return PyObject(pythonAdapter.callStandardNew(type.address)) } - fun typeHasStandardDict(type: PythonObject): Boolean { + fun typeHasStandardDict(type: PyObject): Boolean { return typeHasStandardTpGetattro(type) && typeHasStandardTpSetattro(type) && typeHasStandardNew(type) } @@ -324,10 +324,10 @@ object ConcretePythonInterpreter { private fun initializeSysPath(namespace: Long) { val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) - initialSysPath = PythonObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true, false)) + initialSysPath = PyObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true, false)) if (initialSysPath.address == 0L) throw CPythonExecutionException() - initialSysModulesKeys = PythonObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true, false)) + initialSysModulesKeys = PyObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true, false)) if (initialSysModulesKeys.address == 0L) throw CPythonExecutionException() } @@ -341,8 +341,8 @@ object ConcretePythonInterpreter { } private var venvConfig: VenvConfig? = null - lateinit var initialSysPath: PythonObject - lateinit var initialSysModulesKeys: PythonObject + lateinit var initialSysPath: PyObject + lateinit var initialSysModulesKeys: PyObject var pyEQ: Int = 0 var pyNE: Int = 0 var pyLT: Int = 0 @@ -350,7 +350,7 @@ object ConcretePythonInterpreter { var pyGT: Int = 0 var pyGE: Int = 0 var pyNoneRef: Long = 0L - lateinit var emptyNamespace: PythonNamespace + lateinit var emptyNamespace: PyNamespace init { initialize() @@ -372,15 +372,17 @@ object ConcretePythonInterpreter { } class CPythonExecutionException( - val pythonExceptionValue: PythonObject? = null, - val pythonExceptionType: PythonObject? = null + val pythonExceptionValue: PyObject? = null, + val pythonExceptionType: PyObject? = null ): Exception() -data class PythonObject(val address: Long) { + +data class PyObject(val address: Long) { init { require(address != 0L) } } -data class PythonNamespace(val address: Long) { + +data class PyNamespace(val address: Long) { init { require(address != 0L) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 3669c14580..fe0daf1fcf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -3,14 +3,14 @@ package org.usvm.machine.interpreters.symbolic import mu.KLogging import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonPinnedCallable +import org.usvm.language.PyPinnedCallable import org.usvm.machine.symbolicobjects.* import org.usvm.language.SymbolForCPython import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.basic.BadModelException import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException @@ -18,7 +18,7 @@ import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimi import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.rendering.LengthOverflowException import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.results.* import org.usvm.machine.results.serialization.ReprObjectSerializer import org.usvm.machine.utils.PythonMachineStatisticsOnFunction @@ -27,7 +27,7 @@ import org.usvm.python.model.* class USVMPythonInterpreter( private val ctx: PyContext, private val typeSystem: PythonTypeSystem, - private val pinnedCallable: PythonPinnedCallable, + private val pinnedCallable: PyPinnedCallable, private val printErrorMsg: Boolean, private val statistics: PythonMachineStatisticsOnFunction, private val maxInstructions: Int, @@ -47,7 +47,7 @@ class USVMPythonInterpreter( val objectModels = interpreted.map { builder.convert(it) } val inputModel = PyInputModel(objectModels) resultsReceiver.inputModelObserver.onInputModel(inputModel) - val renderer = PythonObjectRenderer() + val renderer = PyObjectRenderer() concolicRunContext.builder = builder concolicRunContext.renderer = renderer val concrete = getConcrete(renderer, objectModels) @@ -57,9 +57,9 @@ class USVMPythonInterpreter( } val inputRepr = processConcreteInput(concrete, renderer) concolicRunContext.usesVirtualInputs = inputRepr == null - val result: PythonObject? = try { + val result: PyObject? = try { ConcretePythonInterpreter.concolicRun( - pinnedCallable.asPythonObject, + pinnedCallable.asPyObject, concrete, renderer.getPythonVirtualObjects(), symbols.map { SymbolForCPython(it, 0) }, @@ -98,8 +98,8 @@ class USVMPythonInterpreter( } private fun processConcreteInput( - concrete: List, - renderer: PythonObjectRenderer + concrete: List, + renderer: PyObjectRenderer ): List? { if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( @@ -118,7 +118,7 @@ class USVMPythonInterpreter( } private fun processSuccessfulExecution( - result: PythonObject, + result: PyObject, inputModel: PyInputModel, inputReprs: List? ) { @@ -139,7 +139,7 @@ class USVMPythonInterpreter( private fun processCPythonExceptionDuringConcolicRun( concolicRunContext: ConcolicRunContext, exception: CPythonExecutionException, - renderer: PythonObjectRenderer, + renderer: PyObjectRenderer, inputModel: PyInputModel, inputReprs: List? ): Boolean { @@ -174,7 +174,7 @@ class USVMPythonInterpreter( private fun processUnregisteredVirtualOperation( concolicRunContext: ConcolicRunContext, - renderer: PythonObjectRenderer + renderer: PyObjectRenderer ) { logger.debug("Step result: Unregistrered virtual operation") val resultState = concolicRunContext.curState @@ -198,7 +198,7 @@ class USVMPythonInterpreter( concolicRunContext.curState?.meta?.wasInterrupted = true } - private fun getConcrete(renderer: PythonObjectRenderer, objectModels: List): List? { + private fun getConcrete(renderer: PyObjectRenderer, objectModels: List): List? { try { return objectModels.map { renderer.convert(it) } } catch (_: LengthOverflowException) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index a54d6edceb..fdaf77861d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -3,7 +3,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort import org.usvm.UBoolExpr import org.usvm.UExpr -import org.usvm.annotations.ids.NativeId import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext @@ -11,7 +10,7 @@ import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython import org.usvm.language.types.* -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId import org.usvm.machine.symbolicobjects.* @@ -21,7 +20,7 @@ import org.utbot.python.newtyping.getPythonAttributeByName import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { +fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PyObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { ctx.curState ?: return null val typeSystem = ctx.typeSystem val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null @@ -268,7 +267,7 @@ fun resolveSequenceIndex( fun handlerCreateEmptyObjectKt( ctx: ConcolicRunContext, - typeRef: PythonObject + typeRef: PyObject ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val typeSystem = ctx.typeSystem @@ -306,7 +305,7 @@ fun forkOnUnknownHashableType( fun handlerCallOnKt( ctx: ConcolicRunContext, - function: PythonObject, + function: PyObject, args: Stream ) { ctx.curState ?: return diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index bc4aff7b25..1027997496 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -2,11 +2,11 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue -fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { if (ConcretePythonInterpreter.pythonExceptionOccurred()) return null return when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { @@ -27,14 +27,14 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PythonObject): Uninte } } -fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null val str = ConcretePythonInterpreter.getPythonObjectStr(value) return context.curState!!.preAllocatedObjects.allocateStr(context, str, value) } -fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { if (context.curState == null) return null val str = runCatching { @@ -48,7 +48,7 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PythonObject): Un return constructInt(context, context.ctx.mkIntNum(str)) } -fun handlerLoadConstFloatKt(ctx: ConcolicRunContext, value: PythonObject): UninterpretedSymbolicPythonObject? { +fun handlerLoadConstFloatKt(ctx: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) return null val str = ConcretePythonInterpreter.getPythonObjectRepr(value) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 23a210c68b..539fb291f8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -3,7 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.model.PyModel import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.model.substituteModel @@ -102,7 +102,7 @@ private fun internalVirtualCallKt( return concrete to symbolic } -fun virtualCallKt(ctx: ConcolicRunContext): PythonObject { +fun virtualCallKt(ctx: ConcolicRunContext): PyObject { ctx.curState ?: throw UnregisteredVirtualOperation val (interpreted, _) = internalVirtualCallKt(ctx) val objectModel = ctx.builder!!.convert(interpreted) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt index 7c8f8e6c9e..b5d8aebce8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt @@ -2,12 +2,12 @@ package org.usvm.machine.interpreters.symbolic.operations.nativecalls import org.usvm.annotations.ids.NativeId import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun addConstraintsFromNativeId( ctx: ConcolicRunContext, - function: PythonObject, + function: PyObject, args: List ) { constraintHolder.forEach { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt index 6cf3d05878..155531089d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt @@ -3,7 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerSetAddKt @@ -15,6 +15,6 @@ fun symbolicMethodSetAddKt( if (self?.obj == null || ctx.curState == null || args.size != 1 || args[0].obj == null) return null handlerSetAddKt(ctx, self.obj!!, args[0].obj!!) - val none = PythonObject(ConcretePythonInterpreter.pyNoneRef) + val none = PyObject(ConcretePythonInterpreter.pyNoneRef) return SymbolForCPython(handlerLoadConstKt(ctx, none), 0) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt index 3b66dcfbe7..3ec9593e56 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt @@ -3,8 +3,8 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = - SymbolForCPython(handlerLoadConstKt(ctx, PythonObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file + SymbolForCPython(handlerLoadConstKt(ctx, PyObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 2cb8dad94f..db27ece7b9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -31,8 +31,10 @@ fun withTracing( if (context.curState == null) return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) - // logger.debug("Depth: {}", context.curState!!.pathLocation.depth + 1) - context.curState!!.pathNode += eventRecord + context.curState!!.concolicQueries = context.curState!!.concolicQueries.add(eventRecord) + if (newEventParameters is NextInstruction) { + context.curState!!.pathNode += newEventParameters.pyInstruction + } return result } val event = context.pathPrefix.first() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt index 74a4c17622..68f9a7181f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt @@ -1,18 +1,17 @@ package org.usvm.machine.interpreters.symbolic.operations.tracing -import org.usvm.machine.interpreters.concrete.PythonObject -import org.usvm.language.PythonInstruction +import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.language.PyInstruction import org.usvm.language.SymbolForCPython sealed class SymbolicHandlerEventParameters data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() data class NextInstruction( - val pythonInstruction: PythonInstruction, - val code: PythonObject + val pyInstruction: PyInstruction ): SymbolicHandlerEventParameters() -data class PythonFunctionCall(val code: PythonObject): SymbolicHandlerEventParameters() -data class PythonReturn(val code: PythonObject): SymbolicHandlerEventParameters() +data class PythonFunctionCall(val code: PyObject): SymbolicHandlerEventParameters() +data class PythonReturn(val code: PyObject): SymbolicHandlerEventParameters() data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() data class ForkResult(val condition: SymbolForCPython, val expectedResult: Boolean): SymbolicHandlerEventParameters() data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() @@ -21,8 +20,8 @@ data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() data class SetCreation(val elements: List): SymbolicHandlerEventParameters() -data class IsinstanceCheck(val on: SymbolForCPython, val type: PythonObject): SymbolicHandlerEventParameters() -data class EmptyObjectCreation(val type: PythonObject): SymbolicHandlerEventParameters() +data class IsinstanceCheck(val on: SymbolForCPython, val type: PyObject): SymbolicHandlerEventParameters() +data class EmptyObjectCreation(val type: PyObject): SymbolicHandlerEventParameters() data class MethodParameters( val name: String, val operands: List diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt new file mode 100644 index 0000000000..031943f7fd --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -0,0 +1,22 @@ +package org.usvm.machine.ps + +import org.usvm.machine.PyContext +import org.usvm.machine.ps.strategies.impls.BaselineActionStrategy +import org.usvm.machine.ps.strategies.impls.BaselineDFGraphCreation +import org.usvm.machine.ps.strategies.impls.BaselineDelayedForkStrategy +import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.ps.DfsPathSelector +import kotlin.random.Random + +fun createBaselinePyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + BaselineActionStrategy(random), + BaselineDelayedForkStrategy, + BaselineDFGraphCreation { DfsPathSelector() }, + newStateObserver + ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index fbf773a9b0..120dcd730d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -4,78 +4,152 @@ import mu.KLogging import org.usvm.UPathSelector import org.usvm.WithSolverStateForker.fork import org.usvm.api.typeStreamOf -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonType import org.usvm.language.types.MockType +import org.usvm.language.types.PythonType import org.usvm.machine.DelayedFork import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel +import org.usvm.machine.ps.strategies.* import org.usvm.machine.results.observers.NewStateObserver import org.usvm.types.TypesResult -import kotlin.random.Random -class PyVirtualPathSelector( +class PyVirtualPathSelector>( private val ctx: PyContext, - private val basePathSelector: UPathSelector, - private val pathSelectorForStatesWithDelayedForks: UPathSelector, - private val pathSelectorForStatesWithConcretizedTypes: UPathSelector, + private val actionStrategy: PyPathSelectorActionStrategy, + private val delayedForkStrategy: DelayedForkStrategy, + private val graphCreation: DelayedForkGraphCreation, private val newStateObserver: NewStateObserver -) : UPathSelector { - private val unservedDelayedForks = mutableSetOf() - private val servedDelayedForks = mutableSetOf() - private val executionsWithVirtualObjectAndWithoutDelayedForks = mutableSetOf() - private val triedTypesForDelayedForks = mutableSetOf>() - private val random = Random(0) +): UPathSelector { + private val graph = graphCreation.createOneVertexGraph(DelayedForkGraphRootVertex()) + override fun isEmpty(): Boolean = nullablePeek() == null + + override fun peek(): PyState = nullablePeek()!! - override fun isEmpty(): Boolean { - return nullablePeek() == null + override fun update(state: PyState) { + logger.debug("Updating state {}", state) + removeNotExecutedState(state) + add(state) } - private fun generateStateWithConcretizedTypeFromDelayedFork( - delayedForkStorage: MutableSet - ): PyState? = with(ctx) { - if (delayedForkStorage.isEmpty()) - return null - val delayedFork = delayedForkStorage.random(random) - val state = delayedFork.delayedFork.state - val symbol = delayedFork.delayedFork.symbol - val typeRating = delayedFork.typeRating - if (typeRating.isEmpty()) { - delayedForkStorage.remove(delayedFork) - return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) + override fun add(states: Collection) { + states.forEach { add(it) } + } + + override fun remove(state: PyState) { + logger.debug("Removing state {}", state) + removeNotExecutedState(state) + addDelayedForkVertices(state) + processExecutedState(state) + } + + private fun removeNotExecutedState(state: PyState) { + peekCache = null + state.meta.extractedFrom?.remove(state) + } + + private fun add(state: PyState) { + addDelayedForkVertices(state) + if (state.isTerminated()) { + processExecutedState(state) + return } - val concreteType = typeRating.first() - require(concreteType is ConcretePythonType) - typeRating.removeFirst() - if (triedTypesForDelayedForks.contains(delayedFork.delayedFork to concreteType)) - return generateStateWithConcretizedTypeFromDelayedFork(delayedForkStorage) - triedTypesForDelayedForks.add(delayedFork.delayedFork to concreteType) + if (state.delayedForks.isEmpty() && state.meta.objectsWithoutConcreteTypes != null) { + require(state.meta.wasExecuted) + val newState = generateStateWithConcreteTypeWithoutDelayedFork(state) ?: return + graph.addExecutedStateWithConcreteTypes(newState) + } else if (state.delayedForks.isEmpty()) { + graph.addStateToVertex(graph.root, state) + } else { + val lastDelayedFork = state.delayedForks.last() + val vertex = graph.getVertexByDelayedFork(lastDelayedFork) + ?: error("DelayedForkVertex must already be in the graph") + graph.addStateToVertex(vertex, state) + } + } - val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, concreteType).not()) - if (forkResult.positiveState != state) { - require(typeRating.isEmpty() && forkResult.positiveState == null) - unservedDelayedForks.removeIf { it.delayedFork.state == state } - servedDelayedForks.removeIf { it.delayedFork.state == state } + private fun addDelayedForkVertices(state: PyState) { + var parent: DelayedForkGraphVertex = graph.root + state.delayedForks.forEach { delayedFork -> + val vertex = graph.getVertexByDelayedFork(delayedFork) ?: let { + val dfState = graphCreation.createEmptyDelayedForkState() + DelayedForkGraphInnerVertex(dfState, delayedFork, parent).also { + graph.addVertex(delayedFork, it) + } + } + parent = vertex } - if (forkResult.negativeState == null) - return null - val stateWithConcreteType = forkResult.negativeState!! - stateWithConcreteType.models = listOf(stateWithConcreteType.models.first().toPyModel(ctx, stateWithConcreteType.pathConstraints)) - if (unservedDelayedForks.remove(delayedFork)) - servedDelayedForks.add(delayedFork) + } - return stateWithConcreteType.also { - it.delayedForks = delayedFork.delayedFork.delayedForkPrefix - it.meta.generatedFrom = "From delayed fork" + private var peekCache: PyState? = null + + private fun nullablePeek(): PyState? { + if (peekCache != null) + return peekCache + while (true) { + when (val action = actionStrategy.chooseAction(graph)) { + null -> { + peekCache = null + break + } + is Peek -> { + val ps = action.pathSelector + require(!ps.isEmpty()) { + "Cannot peek object from empty path selector" + } + peekCache = ps.peek().also { it.meta.extractedFrom = ps } + break + } + is MakeDelayedFork -> { + require(!action.vertex.delayedForkState.isDead) { + "Cannot make delayed fork from dead state" + } + require(action.vertex.delayedForkState.size != 0) { + "Cannot make delayed fork from state without type ratings" + } + val state = generateStateWithConcreteType(action.vertex.delayedFork, action.vertex.delayedForkState) + if (state != null) { + graph.addStateToVertex(action.vertex.parent, state) + } else { + logger.debug("Could not make state with concrete type for {}", action.vertex.delayedFork) + } + graph.updateVertex(action.vertex) + } + } } + return peekCache } - private fun generateStateWithConcretizedTypeWithoutDelayedForks(): PyState? { - if (executionsWithVirtualObjectAndWithoutDelayedForks.isEmpty()) + private fun generateStateWithConcreteType(delayedFork: DelayedFork, delayedForkState: DFState): PyState? = with(ctx) { + val typeRating = delayedForkStrategy.chooseTypeRating(delayedForkState) + while (typeRating.types.isNotEmpty() && typeRating.types.first() in delayedForkState.usedTypes) { + typeRating.types.removeAt(0) + } + if (typeRating.types.isEmpty()) { + delayedForkState.isDead = true return null - val state = executionsWithVirtualObjectAndWithoutDelayedForks.random(random) - executionsWithVirtualObjectAndWithoutDelayedForks.remove(state) + } + val type = typeRating.types.removeAt(0) + delayedForkState.usedTypes.add(type) + val state = delayedFork.state + val symbol = delayedFork.symbol + val forkResult = fork(state, symbol.evalIs(ctx, state.pathConstraints.typeConstraints, type).not()) + if (forkResult.positiveState != state) { + require(typeRating.types.isEmpty()) + delayedForkState.isDead = true + return null + } + val result = forkResult.negativeState ?: return null + result.models = listOf(result.models.first().toPyModel(ctx, result.pathConstraints)) + newStateObserver.onNewState(result) + require(result.delayedForks == delayedFork.delayedForkPrefix) + result.meta.generatedFrom = "from delayed fork" + delayedForkState.successfulTypes.add(type) + return result + } + + private fun generateStateWithConcreteTypeWithoutDelayedFork(state: PyState): PyState? { + require(state.meta.wasExecuted && state.meta.objectsWithoutConcreteTypes != null) val objects = state.meta.objectsWithoutConcreteTypes!!.map { val addressRaw = it.interpretedObjRef ctx.mkConcreteHeapRef(addressRaw) @@ -94,7 +168,7 @@ class PyVirtualPathSelector( } } if (typeStreams.any { it.size < 2 }) { - return generateStateWithConcretizedTypeWithoutDelayedForks() + return null } require(typeStreams.all { it.first() == MockType }) val types = typeStreams.map {it.take(2).last()} @@ -106,122 +180,18 @@ class PyVirtualPathSelector( return state } - private var peekCache: PyState? = null - - private fun nullablePeek(): PyState? { - if (peekCache != null) - return peekCache - if (!pathSelectorForStatesWithConcretizedTypes.isEmpty()) { - val result = pathSelectorForStatesWithConcretizedTypes.peek() - result.meta.extractedFrom = pathSelectorForStatesWithConcretizedTypes - peekCache = result - return result - } - val stateWithConcreteType = generateStateWithConcretizedTypeWithoutDelayedForks() - if (stateWithConcreteType != null) { - newStateObserver.onNewState(stateWithConcreteType) - pathSelectorForStatesWithConcretizedTypes.add(listOf(stateWithConcreteType)) - return nullablePeek() - } - - val zeroCoin = random.nextDouble() - val firstCoin = random.nextDouble() - val secondCoin = random.nextDouble() - if (!basePathSelector.isEmpty() && (zeroCoin < 0.6 || (unservedDelayedForks.isEmpty() && pathSelectorForStatesWithDelayedForks.isEmpty() && servedDelayedForks.isEmpty()))) { - val result = basePathSelector.peek() - result.meta.extractedFrom = basePathSelector - peekCache = result - return result - - } else if (unservedDelayedForks.isNotEmpty() && (firstCoin < 0.9 || pathSelectorForStatesWithDelayedForks.isEmpty() && servedDelayedForks.isEmpty())) { - logger.debug("Trying to make delayed fork") - val newState = generateStateWithConcretizedTypeFromDelayedFork(unservedDelayedForks) - newState?.let { - add(listOf(it)) - newStateObserver.onNewState(it) - } - return nullablePeek() - - } else if (!pathSelectorForStatesWithDelayedForks.isEmpty() && (secondCoin < 0.7 || servedDelayedForks.isEmpty())) { - val result = pathSelectorForStatesWithDelayedForks.peek() - result.meta.extractedFrom = pathSelectorForStatesWithDelayedForks - peekCache = result - return result - - } else if (servedDelayedForks.isNotEmpty()) { - val newState = generateStateWithConcretizedTypeFromDelayedFork(servedDelayedForks) - newState?.let { - add(listOf(it)) - newStateObserver.onNewState(it) - } - return nullablePeek() - - } else { - peekCache = null - return null - } - } - - override fun peek(): PyState { - val result = nullablePeek()!! - val source = when (result.meta.extractedFrom) { - basePathSelector -> "basePathSelector" - pathSelectorForStatesWithDelayedForks -> "pathSelectorForStatesWithDelayedForks" - pathSelectorForStatesWithConcretizedTypes -> "pathSelectorForStatesWithConcretizedTypes" - else -> error("Not reachable") - } - logger.debug("Extracted from {} state {}", source, result) - return result - } - - private fun processDelayedForksOfExecutedState(state: PyState) { + private fun processExecutedState(state: PyState) { + logger.debug("Processing executed state {}", state) require(state.isTerminated()) - state.delayedForks.firstOrNull()?.let { - unservedDelayedForks.add( - DelayedForkWithTypeRating( - it, - state.makeTypeRating(it).toMutableList() - ) - ) + state.delayedForks.forEach { + val vertex = graph.getVertexByDelayedFork(it) + ?: error("DelayedForkVertex must already be in the graph") + val typeRating = state.makeTypeRating(it) ?: return@forEach + vertex.delayedForkState.addTypeRating(typeRating) } } - override fun update(state: PyState) { - peekCache = null - state.meta.extractedFrom?.remove(state) - add(listOf(state)) - } - - override fun add(states: Collection) { - peekCache = null - states.forEach { state -> - if (state.isTerminated()) { - processDelayedForksOfExecutedState(state) - return@forEach - } - if (state.meta.objectsWithoutConcreteTypes != null) { - require(state.meta.wasExecuted) - executionsWithVirtualObjectAndWithoutDelayedForks.add(state) - } else if (state.delayedForks.isEmpty()) { - basePathSelector.add(listOf(state)) - } else { - pathSelectorForStatesWithDelayedForks.add(listOf(state)) - } - } - } - - override fun remove(state: PyState) { - peekCache = null - state.meta.extractedFrom?.remove(state) - processDelayedForksOfExecutedState(state) - } - companion object { val logger = object : KLogging() {}.logger } -} - -class DelayedForkWithTypeRating( - val delayedFork: DelayedFork, - val typeRating: MutableList -) \ No newline at end of file +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/Utils.kt new file mode 100644 index 0000000000..b77b540bcc --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/Utils.kt @@ -0,0 +1,15 @@ +package org.usvm.machine.ps + +import kotlin.random.Random + +fun weightedRandom(random: Random, items: List, weighter: (T) -> Double): T { + require(items.isNotEmpty()) + val prefixSum = items.map(weighter).runningFold(0.0) { acc, item -> acc + item }.drop(1) + val sum = prefixSum.last() + require(sum > 0) + val borders = prefixSum.map { it / sum } + val key = random.nextDouble() + require(borders.last() > key) + val idx = borders.indexOfFirst { it > key } + return items[idx] +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt new file mode 100644 index 0000000000..567912d657 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt @@ -0,0 +1,74 @@ +package org.usvm.machine.ps.strategies + +import org.usvm.UPathSelector +import org.usvm.language.types.ConcretePythonType +import org.usvm.machine.DelayedFork +import org.usvm.machine.PyState + +interface PyPathSelectorActionStrategy> { + fun chooseAction(graph: DFGraph): PyPathSelectorAction? +} + +interface DelayedForkStrategy { + fun chooseTypeRating(state: DFState): TypeRating +} + +interface DelayedForkGraphCreation> { + fun createEmptyDelayedForkState(): DFState + fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DFGraph +} + +open class DelayedForkState { + val usedTypes: MutableSet = mutableSetOf() + val successfulTypes: MutableSet = mutableSetOf() + var isDead: Boolean = false + private val typeRatings = mutableListOf() + open fun addTypeRating(typeRating: TypeRating) { + typeRatings.add(typeRating) + } + val size: Int + get() = typeRatings.size + fun getAt(idx: Int): TypeRating { + require(idx < size) + return typeRatings[idx] + } +} + +abstract class DelayedForkGraph( + val root: DelayedForkGraphRootVertex +) { + private val vertices: MutableMap> = mutableMapOf() + open fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { + require(vertices[df] == null) { + "Cannot add delayed fork twice" + } + vertices[df] = vertex + } + abstract fun addExecutedStateWithConcreteTypes(state: PyState) + abstract fun addStateToVertex(vertex: DelayedForkGraphVertex, state: PyState) + open fun updateVertex(vertex: DelayedForkGraphInnerVertex) = run {} + fun getVertexByDelayedFork(df: DelayedFork): DelayedForkGraphInnerVertex? = + vertices[df] +} + +sealed class DelayedForkGraphVertex + +class DelayedForkGraphRootVertex: DelayedForkGraphVertex() + +class DelayedForkGraphInnerVertex( + val delayedForkState: DFState, + val delayedFork: DelayedFork, + val parent: DelayedForkGraphVertex +): DelayedForkGraphVertex() + +sealed class PyPathSelectorAction +class Peek( + val pathSelector: UPathSelector +): PyPathSelectorAction() +class MakeDelayedFork( + val vertex: DelayedForkGraphInnerVertex +): PyPathSelectorAction() + +class TypeRating( + val types: MutableList +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt new file mode 100644 index 0000000000..f2c9a85e4b --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -0,0 +1,156 @@ +package org.usvm.machine.ps.strategies.impls + +import mu.KLogging +import org.usvm.UPathSelector +import org.usvm.machine.DelayedFork +import org.usvm.machine.PyState +import org.usvm.machine.ps.strategies.* +import org.usvm.machine.ps.weightedRandom +import kotlin.random.Random + +class BaselineActionStrategy( + private val random: Random +): PyPathSelectorActionStrategy { + override fun chooseAction(graph: BaselineDelayedForkGraph): PyPathSelectorAction? { + if (!graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty()) { + return Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) + } + val availableActions = actions.filter { + it.isAvailable(graph) + } + if (availableActions.isEmpty()) { + return null + } + logger.debug("Available actions: {}", availableActions) + val action = weightedRandom(random, availableActions) { it.weight } + logger.debug("Making action {}", action) + return action.makeAction(graph, random) + } + + private val actions = listOf( + PeekFromRoot, + ServeNewDelayedFork, + PeekFromStateWithDelayedFork, + ServeOldDelayedFork + ) + + sealed class Action(val weight: Double) { + abstract fun isAvailable(graph: BaselineDelayedForkGraph): Boolean + abstract fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction + protected fun chooseAvailableVertex( + available: List>, + random: Random + ): DelayedForkGraphInnerVertex { + require(available.isNotEmpty()) + val idx = random.nextInt(0, available.size) + return available[idx] + } + } + + private object PeekFromRoot: Action(0.6) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorWithoutDelayedForks.isEmpty() + + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = + Peek(graph.pathSelectorWithoutDelayedForks) + } + + private object ServeNewDelayedFork: Action(0.3) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() } + + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } + return MakeDelayedFork(chooseAvailableVertex(available, random)) + } + } + + private object PeekFromStateWithDelayedFork: Action(0.088) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorWithDelayedForks.isEmpty() + + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + return Peek(graph.pathSelectorWithDelayedForks) + } + } + + private object ServeOldDelayedFork: Action(0.012) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() } + + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } + return MakeDelayedFork(chooseAvailableVertex(available, random)) + } + } + + companion object { + val logger = object : KLogging() {}.logger + } +} + +object BaselineDelayedForkStrategy: DelayedForkStrategy { + override fun chooseTypeRating(state: BaselineDelayedForkState): TypeRating { + require(state.size > 0) { + "Cannot choose type rating from empty set" + } + val idx = state.nextIdx + state.nextIdx = (state.nextIdx + 1) % state.size + return state.getAt(idx) + } +} + +class BaselineDFGraphCreation( + private val basePathSelectorCreation: () -> UPathSelector +): DelayedForkGraphCreation { + override fun createEmptyDelayedForkState(): BaselineDelayedForkState = + BaselineDelayedForkState() + + override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): BaselineDelayedForkGraph = + BaselineDelayedForkGraph(basePathSelectorCreation, root) +} + +class BaselineDelayedForkState: DelayedForkState() { + internal var nextIdx = 0 +} + +class BaselineDelayedForkGraph( + basePathSelectorCreation: () -> UPathSelector, + root: DelayedForkGraphRootVertex +): DelayedForkGraph(root) { + + internal val pathSelectorWithoutDelayedForks = basePathSelectorCreation() + internal val pathSelectorWithDelayedForks = basePathSelectorCreation() + internal val pathSelectorForExecutedStatesWithConcreteTypes = basePathSelectorCreation() + internal val aliveNodesAtDistanceOne = mutableSetOf>() + + override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { + super.addVertex(df, vertex) + if (vertex.parent == root) { + logger.debug("Adding node to aliveNodesAtDistanceOne") + aliveNodesAtDistanceOne.add(vertex) + } + } + + override fun updateVertex(vertex: DelayedForkGraphInnerVertex) { + if (vertex.delayedForkState.isDead) + aliveNodesAtDistanceOne.remove(vertex) + } + + override fun addExecutedStateWithConcreteTypes(state: PyState) { + pathSelectorForExecutedStatesWithConcreteTypes.add(listOf(state)) + } + + override fun addStateToVertex(vertex: DelayedForkGraphVertex, state: PyState) { + when (vertex) { + is DelayedForkGraphRootVertex -> pathSelectorWithoutDelayedForks.add(listOf(state)) + is DelayedForkGraphInnerVertex -> { + pathSelectorWithDelayedForks.add(listOf(state)) + } + } + } + + companion object { + val logger = object : KLogging() {}.logger + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt index e07111ad1b..4eedfd9b4e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt @@ -1,11 +1,11 @@ package org.usvm.machine.results.observers -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject abstract class InputPythonObjectObserver { - abstract fun onInputObjects(inputObjects: List) + abstract fun onInputObjects(inputObjects: List) } object EmptyInputPythonObjectObserver: InputPythonObjectObserver() { - override fun onInputObjects(inputObjects: List) = run {} + override fun onInputObjects(inputObjects: List) = run {} } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt index f84d878c71..f521f88907 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt @@ -1,7 +1,7 @@ package org.usvm.machine.results.serialization -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object EmptyObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject) = run {} + override fun serialize(obj: PyObject) = run {} } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt index 9e79b2671e..5bb7f43057 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt @@ -1,11 +1,11 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object ObjectWithDictSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String { + override fun serialize(obj: PyObject): String { val objRepr = ReprObjectSerializer.serialize(obj) val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "obj") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt index 92c010e3ee..8bdc0fbfc6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt @@ -1,10 +1,10 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object PickleArgsSerializer { - fun serialize(args: List): String? { + fun serialize(args: List): String? { val pair = ConcretePythonInterpreter.allocateTuple(2) val tuple = ConcretePythonInterpreter.allocateTuple(args.size) args.forEachIndexed { index, pythonObject -> @@ -12,7 +12,7 @@ object PickleArgsSerializer { } val dict = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.setTupleElement(pair, 0, tuple) - ConcretePythonInterpreter.setTupleElement(pair, 1, PythonObject(dict.address)) + ConcretePythonInterpreter.setTupleElement(pair, 1, PyObject(dict.address)) val result = PickleObjectSerializer.serialize(pair) ConcretePythonInterpreter.decref(pair) return result diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt index 7660ddec6b..c325c965e5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt @@ -1,10 +1,10 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object PickleObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String? { + override fun serialize(obj: PyObject): String? { return runCatching { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, obj, "x") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt index 5044828f4a..99f1d90e19 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt @@ -1,7 +1,7 @@ package org.usvm.machine.results.serialization -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject abstract class PythonObjectSerializer { - abstract fun serialize(obj: PythonObject): PythonObjectRepresentation + abstract fun serialize(obj: PyObject): PythonObjectRepresentation } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt index 1bfa6ca230..309d369bef 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt @@ -1,10 +1,10 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object ReprObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): String { + override fun serialize(obj: PyObject): String { return runCatching { ConcretePythonInterpreter.getPythonObjectRepr(obj) }.getOrDefault("") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt index cf15e67044..3a47b780f5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt @@ -1,10 +1,10 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject object StandardPythonObjectSerializer: PythonObjectSerializer() { - override fun serialize(obj: PythonObject): PythonObjectInfo { + override fun serialize(obj: PyObject): PythonObjectInfo { val repr = ReprObjectSerializer.serialize(obj) val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) val selfTypeName = if (typeName == "type") ConcretePythonInterpreter.getNameOfPythonType(obj) else null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 01c25a5dd6..1364790e75 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -2,12 +2,12 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.PythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.memory.UMemory class PreallocatedObjects( @@ -16,10 +16,10 @@ class PreallocatedObjects( val falseObject: UninterpretedSymbolicPythonObject, private val concreteStrToSymbol: MutableMap, private val symbolToConcreteStr: MutableMap, - private val refOfString: MutableMap + private val refOfString: MutableMap ) { - fun allocateStr(ctx: ConcolicRunContext, string: String, ref: PythonObject): UninterpretedSymbolicPythonObject { + fun allocateStr(ctx: ConcolicRunContext, string: String, ref: PyObject): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val cached = concreteStrToSymbol[string] if (cached != null) @@ -35,7 +35,7 @@ class PreallocatedObjects( fun concreteString(symbol: UninterpretedSymbolicPythonObject): String? = symbolToConcreteStr[symbol] - fun refOfString(string: String): PythonObject? = + fun refOfString(string: String): PyObject? = refOfString[string] fun listAllocatedStrs(): List = @@ -54,7 +54,7 @@ class PreallocatedObjects( companion object { fun initialize( ctx: PyContext, - initialMemory: UMemory, + initialMemory: UMemory, initialPathConstraints: UPathConstraints, typeSystem: PythonTypeSystem ): PreallocatedObjects = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 0b49590b8e..d6ae1bd041 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -19,7 +19,7 @@ fun constructInputObject( stackIndex: Int, type: PythonType, ctx: PyContext, - memory: UMemory, + memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, // preallocatedObjects: PreallocatedObjects @@ -34,7 +34,7 @@ fun constructInputObject( fun constructEmptyAllocatedObject( ctx: PyContext, - memory: UMemory, + memory: UMemory, typeSystem: PythonTypeSystem, type: ConcretePythonType ): UninterpretedSymbolicPythonObject { @@ -46,7 +46,7 @@ fun constructEmptyAllocatedObject( fun constructEmptyStaticObject( ctx: PyContext, - memory: UMemory, + memory: UMemory, typeSystem: PythonTypeSystem, type: ConcretePythonType ): UninterpretedSymbolicPythonObject { @@ -88,7 +88,7 @@ fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSy fun constructInitialBool( ctx: PyContext, - memory: UMemory, + memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, expr: UExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 0f67e75d9f..27789c3b6d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -5,7 +5,7 @@ import org.usvm.* import org.usvm.api.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert @@ -104,7 +104,7 @@ class UninterpretedSymbolicPythonObject( return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } - fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref + fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) } @@ -175,7 +175,7 @@ fun interpretSymbolicPythonObject( fun interpretSymbolicPythonObject( modelHolder: PyModelHolder, - memory: UMemory, + memory: UMemory, obj: UninterpretedSymbolicPythonObject ): InterpretedSymbolicPythonObject { val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 6b50754b70..1ff99b3edf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -6,7 +6,7 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* @@ -43,7 +43,7 @@ fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: PyContext): UBoolEx return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) } -fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemory): UBoolExpr { +fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemory): UBoolExpr { return when (this) { is InterpretedInputSymbolicPythonObject -> { getBoolContent(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index a2d5e43668..f7dad512ca 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -14,7 +14,7 @@ import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.IntDictType import org.usvm.language.types.PythonType @@ -125,7 +125,7 @@ fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: PyContext): Boolean { private fun InterpretedInputSymbolicPythonObject.constructResultObject( resultAddress: UConcreteHeapRef, - memory: UMemory + memory: UMemory ): InterpretedSymbolicPythonObject = if (isStaticHeapRef(resultAddress)) { val type = memory.typeStreamOf(resultAddress).first() @@ -138,7 +138,7 @@ private fun InterpretedInputSymbolicPythonObject.constructResultObject( fun InterpretedInputSymbolicPythonObject.readDictRefElement( ctx: PyContext, key: InterpretedSymbolicPythonObject, - memory: UMemory + memory: UMemory ): InterpretedSymbolicPythonObject { val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) val elemAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef @@ -157,7 +157,7 @@ fun InterpretedInputSymbolicPythonObject.dictContainsRef( fun InterpretedInputSymbolicPythonObject.readDictIntElement( ctx: PyContext, key: KInterpretedValue, - memory: UMemory + memory: UMemory ): InterpretedSymbolicPythonObject { val lvalue = UMapEntryLValue(ctx.intSort, ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) val resultAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index c2d2968334..ef8a230a86 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -6,7 +6,7 @@ import org.usvm.* import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel @@ -25,12 +25,12 @@ private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) } -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { val value = memory.readField(address, field, ctx.intSort) return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) } -private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { +private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.bound + 1), ctx.mkIntNum(0)) memory.writeField(address, field, ctx.intSort, intValue, ctx.trueExpr) } @@ -50,7 +50,7 @@ fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatI return FloatNormalValue(floatValue.value) } -fun InterpretedSymbolicPythonObject.getFloatContent(ctx: PyContext, memory: UMemory): FloatInterpretedContent { +fun InterpretedSymbolicPythonObject.getFloatContent(ctx: PyContext, memory: UMemory): FloatInterpretedContent { if (this is InterpretedInputSymbolicPythonObject) return getFloatContent(ctx) val isNan = memory.readField(address, FloatContents.isNan, ctx.boolSort) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 4172ff17bf..1823b85550 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -1,12 +1,11 @@ package org.usvm.machine.symbolicobjects.memory -import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* @@ -38,7 +37,7 @@ fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: PyContext): UExpr): UExpr { +fun InterpretedSymbolicPythonObject.getIntContent(ctx: PyContext, memory: UMemory): UExpr { return when (this) { is InterpretedInputSymbolicPythonObject -> { getIntContent(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index ee797c16ce..017c3f6148 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -8,7 +8,7 @@ import org.usvm.api.typeStreamOf import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.PythonCallable +import org.usvm.language.PyCallable import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.ObjectDictType import org.usvm.language.types.PythonType @@ -60,7 +60,7 @@ fun InterpretedInputSymbolicPythonObject.containsField( fun InterpretedInputSymbolicPythonObject.getFieldValue( ctx: PyContext, name: InterpretedSymbolicPythonObject, - memory: UMemory + memory: UMemory ): InterpretedSymbolicPythonObject { require(!isAllocatedConcreteHeapRef(name.address)) val result = modelHolder.model.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt similarity index 86% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt index 86bd19ea5a..a249f5538d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PythonObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt @@ -3,12 +3,12 @@ package org.usvm.machine.symbolicobjects.rendering import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.python.model.* -class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { - private val converted = mutableMapOf() - fun convert(model: PyObjectModel): PythonObject { +class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { + private val converted = mutableMapOf() + fun convert(model: PyObjectModel): PyObject { if (model in converted) return converted[model]!! val result = when (model) { @@ -22,17 +22,17 @@ class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { return result } - fun getPythonVirtualObjects(): List = + fun getPythonVirtualObjects(): List = virtualObjects.map { it.second } fun getUSVMVirtualObjects(): List = virtualObjects.map { it.first } - private fun convertPrimitive(model: PyPrimitive): PythonObject { + private fun convertPrimitive(model: PyPrimitive): PyObject { return ConcretePythonInterpreter.eval(emptyNamespace, model.repr) } - private fun convertIdentifier(model: PyIdentifier): PythonObject { + private fun convertIdentifier(model: PyIdentifier): PyObject { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.concreteRun(namespace, "import ${model.module}") val result = ConcretePythonInterpreter.eval(namespace, "${model.module}.${model.name}") @@ -40,7 +40,7 @@ class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { return result } - private fun convertCompositeObject(model: PyCompositeObject): PythonObject { + private fun convertCompositeObject(model: PyCompositeObject): PyObject { val namespace = ConcretePythonInterpreter.getNewNamespace() val constructorRef = convert(model.constructor) val argsRef = model.constructorArgs.map { convert(it) } @@ -80,7 +80,7 @@ class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { return result } - private fun convertTuple(model: PyTupleObject): PythonObject { + private fun convertTuple(model: PyTupleObject): PyObject { val size = model.items.size val result = ConcretePythonInterpreter.allocateTuple(size) converted[model] = result @@ -91,8 +91,8 @@ class PythonObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { return result } - private val virtualObjects = mutableSetOf>() - private fun convertMock(model: PyMockObject): PythonObject { + private val virtualObjects = mutableSetOf>() + private fun convertMock(model: PyMockObject): PyObject { if (useNoneInsteadOfMock) return ConcretePythonInterpreter.eval(emptyNamespace, "None") val virtual = VirtualPythonObject(model.id) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt index 519fc0de9d..30364902f7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt @@ -1,9 +1,9 @@ package org.usvm.machine.utils import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject -fun isGenerator(funcRef: PythonObject): Boolean { +fun isGenerator(funcRef: PyObject): Boolean { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, funcRef, "x") ConcretePythonInterpreter.concreteRun(namespace, "import inspect") @@ -12,7 +12,7 @@ fun isGenerator(funcRef: PythonObject): Boolean { return ConcretePythonInterpreter.getPythonObjectRepr(res) == "True" } -fun unfoldGenerator(funcRef: PythonObject): PythonObject { +fun unfoldGenerator(funcRef: PyObject): PyObject { val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, funcRef, "f") ConcretePythonInterpreter.concreteRun( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index 5a62608b80..4866d50c9d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -1,8 +1,8 @@ package org.usvm.machine.utils -import org.usvm.language.PythonPinnedCallable +import org.usvm.language.PyPinnedCallable import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PythonObject +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.tracing.NextInstruction fun writeLostSymbolicValuesReport(lostValues: Map): String { @@ -78,7 +78,7 @@ class PyMachineStatistics { } } -class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallable) { +class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) { internal val lostSymbolicValues = mutableMapOf() internal var numberOfUnregisteredVirtualOperations = 0 fun addLostSymbolicValue(descr: MethodDescription) { @@ -91,7 +91,7 @@ class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallab private val instructionOffsets: List by lazy { val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPythonObject, "f") + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPyObject, "f") ConcretePythonInterpreter.concreteRun(namespace, "import dis") val raw = ConcretePythonInterpreter.eval( namespace, @@ -106,19 +106,19 @@ class PythonMachineStatisticsOnFunction(private val function: PythonPinnedCallab var coverageNoVirtual: Double = 0.0 private val coveredInstructions = mutableSetOf() private val coveredInstructionsNoVirtual = mutableSetOf() - private val functionCode: PythonObject by lazy { + private val functionCode: PyObject by lazy { val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPythonObject, "f") + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPyObject, "f") ConcretePythonInterpreter.eval(namespace, "f.__code__").also { ConcretePythonInterpreter.decref(namespace) } } fun updateCoverage(cmd: NextInstruction, usesVirtual: Boolean) { - if (cmd.code != functionCode) + if (cmd.pyInstruction.code != functionCode) return - coveredInstructions += cmd.pythonInstruction.numberInBytecode + coveredInstructions += cmd.pyInstruction.numberInBytecode if (!usesVirtual) - coveredInstructionsNoVirtual += cmd.pythonInstruction.numberInBytecode + coveredInstructionsNoVirtual += cmd.pyInstruction.numberInBytecode coverage = coveredInstructions.size.toDouble() / instructionOffsets.size coverageNoVirtual = coveredInstructionsNoVirtual.size.toDouble() / instructionOffsets.size } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index d8e9f7e804..dd08ecbd4b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -3,7 +3,7 @@ package org.usvm.runner import org.usvm.machine.PyState import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.machine.symbolicobjects.rendering.PythonObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.results.serialization.PickleArgsSerializer import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject @@ -15,7 +15,7 @@ class NewStateObserverForRunner( override fun onNewState(state: PyState) { val modelHolder = PyModelHolder(state.pyModel) val builder = PyObjectModelBuilder(state, modelHolder) - val renderer = PythonObjectRenderer(useNoneInsteadOfMock = true) + val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) val interpreted = state.inputSymbols.map { interpretSymbolicPythonObject(modelHolder, state.memory, it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt similarity index 84% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index d821991ca8..31906872e0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PythonMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -1,115 +1,111 @@ -package org.usvm.runner - -import kotlinx.coroutines.runBlocking -import org.usvm.language.PythonUnpinnedCallable -import org.usvm.language.StructuredPythonProgram -import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.language.types.getTypeFromTypeHint -import org.usvm.machine.PyMachine -import org.usvm.machine.results.DefaultPyMachineResultsReceiver -import org.usvm.machine.results.PyMachineResultsReceiver -import org.usvm.machine.results.observers.* -import org.usvm.machine.results.serialization.EmptyObjectSerializer -import org.usvm.machine.results.serialization.PickleObjectSerializer -import org.usvm.machine.results.serialization.PythonObjectSerializer -import org.utbot.python.newtyping.PythonCallableTypeDescription -import org.utbot.python.newtyping.PythonCompositeTypeDescription -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.readMypyInfoBuild -import org.utbot.python.newtyping.pythonDescription -import java.io.File - -class PythonMachineSocketRunner( - mypyDirPath: File, - programRoots: Set, - socketIp: String, - socketPort: Int -): AutoCloseable { - private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) - private val mypyBuild = readMypyInfoBuild(mypyDir) - private val communicator = PickledObjectCommunicator(socketIp, socketPort) - private val program = StructuredPythonProgram(programRoots) - private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - private val machine = PyMachine(program, typeSystem) - override fun close() { - communicator.close() - machine.close() - } - - private fun validateFunctionType(type: UtType): FunctionType { - val description = type.pythonDescription() as? PythonCallableTypeDescription - ?: error("Specified definition is not a function") - if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) - error("Named arguments are not supported in symbolic execution") - return type as FunctionType - } - - private fun analyze( - callable: PythonUnpinnedCallable, - timeoutPerRunMs: Long, - timeoutMs: Long - ) = machine.analyze( - callable, - saver = ResultReceiver(NewStateObserverForRunner(communicator)), - timeoutMs = timeoutMs, - timeoutPerRunMs = timeoutPerRunMs, - maxIterations = 1000, - ) - - fun analyzeFunction( - module: String, - functionName: String, - timeoutPerRunMs: Long, - timeoutMs: Long - ) { - val def = mypyBuild.definitions[module]?.let { it[functionName] } - ?: error("Did not find specified function in mypy build") - val type = def.getUtBotType() - val callableType = validateFunctionType(type) - val unpinnedCallable = PythonUnpinnedCallable.constructCallableFromName( - callableType.arguments.map { - getTypeFromTypeHint(it, typeSystem) - }, - functionName, - module - ) - analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) - } - - fun analyzeMethod( - module: String, - functionName: String, - clsName: String, - timeoutPerRunMs: Long, - timeoutMs: Long - ) { - val def = mypyBuild.definitions[module]?.let { it[clsName] } - ?: error("Did not find specified class in mypy build") - val clsType = def.getUtBotType() - val clsDescr = clsType.pythonDescription() as? PythonCompositeTypeDescription - ?: error("Specified class UtType description is not PythonCompositeTypeDescription") - val funcDef = clsDescr.getMemberByName(typeSystem.typeHintsStorage, clsType, functionName) - ?: error("Did not find method $functionName in $clsName members") - val type = funcDef.type - val callableType = validateFunctionType(type) - val unpinnedCallable = PythonUnpinnedCallable.constructCallableFromName( - callableType.arguments.map { - getTypeFromTypeHint(it, typeSystem) - }, - "$clsName.$functionName", - module - ) - analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) - } - - private class ResultReceiver( - override val newStateObserver: NewStateObserver - ): PyMachineResultsReceiver { - override val serializer = EmptyObjectSerializer - override val inputModelObserver = EmptyInputModelObserver - override val inputPythonObjectObserver = EmptyInputPythonObjectObserver - override val pyTestObserver: PyTestObserver = EmptyPyTestObserver() - } +package org.usvm.runner + +import org.usvm.language.PyUnpinnedCallable +import org.usvm.language.StructuredPyProgram +import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.language.types.getTypeFromTypeHint +import org.usvm.machine.PyMachine +import org.usvm.machine.results.PyMachineResultsReceiver +import org.usvm.machine.results.observers.* +import org.usvm.machine.results.serialization.EmptyObjectSerializer +import org.utbot.python.newtyping.PythonCallableTypeDescription +import org.utbot.python.newtyping.PythonCompositeTypeDescription +import org.utbot.python.newtyping.general.FunctionType +import org.utbot.python.newtyping.general.UtType +import org.utbot.python.newtyping.mypy.MypyBuildDirectory +import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import org.utbot.python.newtyping.pythonDescription +import java.io.File + +class PyMachineSocketRunner( + mypyDirPath: File, + programRoots: Set, + socketIp: String, + socketPort: Int +): AutoCloseable { + private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) + private val mypyBuild = readMypyInfoBuild(mypyDir) + private val communicator = PickledObjectCommunicator(socketIp, socketPort) + private val program = StructuredPyProgram(programRoots) + private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) + private val machine = PyMachine(program, typeSystem) + override fun close() { + communicator.close() + machine.close() + } + + private fun validateFunctionType(type: UtType): FunctionType { + val description = type.pythonDescription() as? PythonCallableTypeDescription + ?: error("Specified definition is not a function") + if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + error("Named arguments are not supported in symbolic execution") + return type as FunctionType + } + + private fun analyze( + callable: PyUnpinnedCallable, + timeoutPerRunMs: Long, + timeoutMs: Long + ) = machine.analyze( + callable, + saver = ResultReceiver(NewStateObserverForRunner(communicator)), + timeoutMs = timeoutMs, + timeoutPerRunMs = timeoutPerRunMs, + maxIterations = 1000, + ) + + fun analyzeFunction( + module: String, + functionName: String, + timeoutPerRunMs: Long, + timeoutMs: Long + ) { + val def = mypyBuild.definitions[module]?.let { it[functionName] } + ?: error("Did not find specified function in mypy build") + val type = def.getUtBotType() + val callableType = validateFunctionType(type) + val unpinnedCallable = PyUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + getTypeFromTypeHint(it, typeSystem) + }, + functionName, + module + ) + analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) + } + + fun analyzeMethod( + module: String, + functionName: String, + clsName: String, + timeoutPerRunMs: Long, + timeoutMs: Long + ) { + val def = mypyBuild.definitions[module]?.let { it[clsName] } + ?: error("Did not find specified class in mypy build") + val clsType = def.getUtBotType() + val clsDescr = clsType.pythonDescription() as? PythonCompositeTypeDescription + ?: error("Specified class UtType description is not PythonCompositeTypeDescription") + val funcDef = clsDescr.getMemberByName(typeSystem.typeHintsStorage, clsType, functionName) + ?: error("Did not find method $functionName in $clsName members") + val type = funcDef.type + val callableType = validateFunctionType(type) + val unpinnedCallable = PyUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + getTypeFromTypeHint(it, typeSystem) + }, + "$clsName.$functionName", + module + ) + analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) + } + + private class ResultReceiver( + override val newStateObserver: NewStateObserver + ): PyMachineResultsReceiver { + override val serializer = EmptyObjectSerializer + override val inputModelObserver = EmptyInputModelObserver + override val inputPythonObjectObserver = EmptyInputPythonObjectObserver + override val pyTestObserver: PyTestObserver = EmptyPyTestObserver() + } } \ No newline at end of file From 02b76f3c6beb26f2716b9ae9790e75f96eb326b3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 25 Jan 2024 16:22:10 +0300 Subject: [PATCH 227/344] Added default value for arrays --- usvm-python/src/test/kotlin/manualTest.kt | 8 +-- .../kotlin/org/usvm/samples/EnumerateTest.kt | 7 +- .../test/kotlin/org/usvm/samples/ListsTest.kt | 18 ++++- .../usvm/samples/SimpleCustomClassesTest.kt | 2 + .../test/kotlin/org/usvm/samples/TupleTest.kt | 2 + .../usvm/language/types/ElementConstraints.kt | 4 ++ .../org/usvm/language/types/TypeSystem.kt | 12 ++-- .../org/usvm/language/types/VirtualTypes.kt | 4 +- .../main/kotlin/org/usvm/machine/PyState.kt | 5 +- .../symbolic/operations/basic/List.kt | 2 +- .../kotlin/org/usvm/machine/model/Utils.kt | 14 +++- .../model/regions/WrappedArrayLengthRegion.kt | 4 +- .../ps/strategies/impls/BaselineStrategy.kt | 4 +- .../usvm/machine/symbolicobjects/Fields.kt | 66 ++++++++++--------- .../symbolicobjects/memory/ArrayLike.kt | 63 +++++++++++++++--- .../machine/symbolicobjects/memory/Bool.kt | 6 +- .../machine/symbolicobjects/memory/Float.kt | 23 +++---- .../rendering/PyObjectModelBuilder.kt | 26 ++------ 18 files changed, 172 insertions(+), 98 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index e90c2948b0..2bbfb92d20 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -54,9 +54,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PyUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "matmul_add_and_sub", - "SimpleCustomClasses" + listOf(typeSystem.pythonList), + "use_enumerate", + "Enumerate" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -203,7 +203,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 150, + maxIterations = 10, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt index 0f7451158f..58e5b07a87 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt @@ -5,8 +5,13 @@ import org.usvm.UMachineOptions import org.usvm.language.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults +import kotlin.time.Duration.Companion.seconds -class EnumerateTest: PythonTestRunnerForPrimitiveProgram("Enumerate", UMachineOptions(stepLimit = 30U)) { +class EnumerateTest: PythonTestRunnerForPrimitiveProgram( + "Enumerate", + UMachineOptions(stepLimit = 15U, timeout = 20.seconds), + // allowPathDiversions = true +) { @Test fun testEnumerateOnList() { check1WithConcreteRun( diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index d48818cd44..123618fc88 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -8,8 +8,15 @@ import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults +import kotlin.time.Duration.Companion.seconds -class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(stepLimit = 20U)) { +class ListsTest : PythonTestRunnerForPrimitiveProgram( + "Lists", + UMachineOptions(stepLimit = 20U) +) { + init { + timeoutPerRunMs = 2000 + } @Test fun testSimpleListSample() { check2WithConcreteRun( @@ -255,7 +262,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s @Test fun testDoubleSubscriptAndCompare() { val oldOptions = options - options = UMachineOptions(stepLimit = 15U) + options = UMachineOptions(stepLimit = 30U, timeout = 20.seconds) allowPathDiversions = true check2WithConcreteRun( constructFunction("double_subscript_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), @@ -319,7 +326,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s fun testListOfFloatPairs() { val oldOptions = options options = UMachineOptions(stepLimit = 60U) - timeoutPerRunMs = 3000 + allowPathDiversions = true check1WithConcreteRun( constructFunction("input_list_of_float_pairs", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, @@ -333,6 +340,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s ) ) options = oldOptions + allowPathDiversions = false } @Test @@ -458,6 +466,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s @Test fun testContainsOp() { + allowPathDiversions = true check1WithConcreteRun( constructFunction("contains_op", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, @@ -468,6 +477,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s { _, res -> res.repr == "None" } ) ) + allowPathDiversions = false } @Test @@ -502,6 +512,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s fun testUseSort() { val oldOptions = options options = UMachineOptions(stepLimit = 100U) + allowPathDiversions = true check1WithConcreteRun( constructFunction("use_sort", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, @@ -512,6 +523,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram("Lists", UMachineOptions(s { _, res -> res.repr == "None" } ) ) + allowPathDiversions = false options = oldOptions } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 9a1062c4e6..13b0162a6d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -57,6 +57,7 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto @Test fun testIterableOfMatmul() { + allowPathDiversions = true check1WithConcreteRun( constructFunction("iterable_of_matmul", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -67,6 +68,7 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto { _, res -> res.repr == "None" } ) ) + allowPathDiversions = false } @Test diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index ff6e565c32..7b2b66362d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -41,6 +41,7 @@ class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(st val oldOptions = options options = UMachineOptions(stepLimit = 50U) timeoutPerRunMs = 2000 + allowPathDiversions = true check1WithConcreteRun( constructFunction("input_list_of_pairs", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, @@ -53,6 +54,7 @@ class TupleTest: PythonTestRunnerForPrimitiveProgram("Tuple", UMachineOptions(st { _, res -> res.repr == "2" } ) ) + allowPathDiversions = false options = oldOptions } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt index fa367a15ee..40a0c5d906 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -2,6 +2,7 @@ package org.usvm.language.types import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef +import org.usvm.UNullRef import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue @@ -9,6 +10,7 @@ import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.model.nullAddress abstract class ElementConstraint { abstract fun applyUninterpreted( @@ -33,6 +35,8 @@ object NonRecursiveConstraint: ElementConstraint() { ): UBoolExpr = with(ctx.ctx) { if (element.address is UConcreteHeapRef) return trueExpr + if (element.address is UNullRef) + return trueExpr mkIteNoSimplify( mkHeapRefEq(element.address, nullRef), trueExpr, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 03adfbdca8..b44441e71b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -22,12 +22,12 @@ abstract class PythonTypeSystem: UTypeSystem { override val typeOperationsTimeout: Duration get() = 1000.milliseconds - override fun isSupertype(supertype: PythonType, type: PythonType): Boolean { - require(supertype !is IntDictType) - if (supertype is VirtualPythonType) - return supertype.accepts(type) - return supertype == type - } + override fun isSupertype(supertype: PythonType, type: PythonType): Boolean = + when (supertype) { + is InternalType -> error("Should not be reachable") + is VirtualPythonType -> supertype.accepts(type) + is MockType, is ConcretePythonType -> supertype == type + } override fun isFinal(type: PythonType): Boolean { return isInstantiable(type) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt index 5395fa77ec..f2f04c1faf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt @@ -12,7 +12,7 @@ object ArrayType: VirtualPythonType() { } } -class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { +data class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type == this) return true @@ -22,7 +22,7 @@ class HasElementConstraint(private val constraint: ElementConstraint): VirtualPy } } -class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { +data class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type is MockType || type == this) return true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 7cfa3e4e7c..c925202b66 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -17,6 +17,7 @@ import org.usvm.memory.UMemory import org.usvm.targets.UTarget import org.usvm.types.UTypeStream import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER +import org.usvm.model.UModelBase import org.usvm.targets.UTargetsSet import org.usvm.types.TypesResult @@ -29,7 +30,7 @@ class PyState( val inputSymbols: List, pathConstraints: UPathConstraints, memory: UMemory, - uModel: PyModel, + uModel: UModelBase, val typeSystem: PythonTypeSystem, val preAllocatedObjects: PreallocatedObjects, var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), @@ -57,7 +58,7 @@ class PyState( inputSymbols, newPathConstraints, newMemory, - pyModel, + models.first(), typeSystem, preAllocatedObjects.clone(), possibleTypesForNull, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index db18ef3bbc..0f9256aeed 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -21,7 +21,7 @@ fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt if (ctx.curState == null) return null val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return null - return list.readArrayElement(ctx, indexInt) + return list.readArrayElement(ctx, indexInt) } fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index b80519302a..f2505f5de0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -1,5 +1,6 @@ package org.usvm.machine.model +import mu.KLogging import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.constraints.UPathConstraints @@ -45,7 +46,14 @@ fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { return null val first = typeStream.take(1).first() val concrete = getConcreteType(address) - if (concrete == null) - require(first is MockType) + if (concrete == null) { + if (first !is MockType) { + logger.warn("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods + return null + } + // require(first is MockType) + } return first -} \ No newline at end of file +} + +private val logger = object : KLogging() {}.logger \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt index 255e838c3d..92eb2a0648 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt @@ -9,8 +9,8 @@ import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion class WrappedArrayLengthRegion( - val ctx: PyContext, - val region: UReadOnlyMemoryRegion, KIntSort> + private val ctx: PyContext, + private val region: UReadOnlyMemoryRegion, KIntSort> ): UReadOnlyMemoryRegion, KIntSort> { override fun read(key: UArrayLengthLValue): UExpr { val underlyingResult = region.read(key) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index f2c9a85e4b..a3b891319f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -57,7 +57,7 @@ class BaselineActionStrategy( private object ServeNewDelayedFork: Action(0.3) { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() } + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() && it.delayedForkState.size > 0 } override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } @@ -76,7 +76,7 @@ class BaselineActionStrategy( private object ServeOldDelayedFork: Action(0.012) { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() } + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() && it.delayedForkState.size > 0 } override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt index 704a10865a..fc69b30e73 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt @@ -1,68 +1,74 @@ package org.usvm.machine.symbolicobjects +import org.usvm.USort +import org.usvm.machine.PyContext + sealed class PropertyOfPythonObject -data class ContentOfType(val id: String): PropertyOfPythonObject() +class ContentOfType( + val id: String, + val sort: (PyContext) -> Sort +): PropertyOfPythonObject() object IntContents { - val content = ContentOfType("int") + val content = ContentOfType("int") { it.intSort } } object BoolContents { - val content = ContentOfType("bool") + val content = ContentOfType("bool") { it.boolSort } } object FloatContents { - const val bound = 300 - val content = ContentOfType("float") - val isNan = ContentOfType("is_nan_value") // int field; isNan <=> value > bound - val infSign = ContentOfType("float_inf_sign") - val isInf = ContentOfType("is_inf_value") // int field; isInf <=> value > bound + const val BOUND = 300 + val content = ContentOfType("float") { it.realSort } + val isNan = ContentOfType("is_nan_value") { it.intSort } // isNan <=> value > bound + val infSign = ContentOfType("float_inf_sign") { it.boolSort } + val isInf = ContentOfType("is_inf_value") { it.intSort } // isInf <=> value > bound } object ListIteratorContents { - val list = ContentOfType("list_of_list_iterator") - val index = ContentOfType("index_of_list_iterator") + val list = ContentOfType("list_of_list_iterator") { it.addressSort } + val index = ContentOfType("index_of_list_iterator") { it.intSort } } object RangeContents { - val start = ContentOfType("start_of_range") - val stop = ContentOfType("stop_of_range") - val step = ContentOfType("step_of_range") - val length = ContentOfType("length_of_range") + val start = ContentOfType("start_of_range") { it.intSort } + val stop = ContentOfType("stop_of_range") { it.intSort } + val step = ContentOfType("step_of_range") { it.intSort } + val length = ContentOfType("length_of_range") { it.intSort } } object RangeIteratorContents { - val index = ContentOfType("index_of_range_iterator") - val start = ContentOfType("start_of_range_iterator") - val step = ContentOfType("step_of_range_iterator") - val length = ContentOfType("length_of_range_iterator") + val index = ContentOfType("index_of_range_iterator") { it.intSort } + val start = ContentOfType("start_of_range_iterator") { it.intSort } + val step = ContentOfType("step_of_range_iterator") { it.intSort } + val length = ContentOfType("length_of_range_iterator") { it.intSort } } object TupleIteratorContents { - val tuple = ContentOfType("tuple_of_tuple_iterator") - val index = ContentOfType("index_of_tuple_iterator") + val tuple = ContentOfType("tuple_of_tuple_iterator") { it.addressSort } + val index = ContentOfType("index_of_tuple_iterator") { it.intSort } } object SliceContents { - val start = ContentOfType("start_of_slice") - val startIsNone = ContentOfType("start_none_of_slice") - val stop = ContentOfType("stop_of_slice") - val stopIsNone = ContentOfType("stop_none_of_slice") - val step = ContentOfType("step_of_slice") - val stepIsNone = ContentOfType("step_none_of_slice") + val start = ContentOfType("start_of_slice") { it.intSort } + val startIsNone = ContentOfType("start_none_of_slice") { it.boolSort } + val stop = ContentOfType("stop_of_slice") { it.intSort } + val stopIsNone = ContentOfType("stop_none_of_slice") { it.boolSort } + val step = ContentOfType("step_of_slice") { it.intSort } + val stepIsNone = ContentOfType("step_none_of_slice") { it.boolSort } } object DictContents { - val isNotEmpty = ContentOfType("dict_is_not_empty") + val isNotEmpty = ContentOfType("dict_is_not_empty") { it.boolSort } } object SetContents { - val isNotEmpty = ContentOfType("set_is_not_empty") + val isNotEmpty = ContentOfType("set_is_not_empty") { it.boolSort } } object EnumerateContents { - val iterator = ContentOfType("iterator_of_enumerate") - val index = ContentOfType("index_of_enumerate") + val iterator = ContentOfType("iterator_of_enumerate") { it.addressSort } + val index = ContentOfType("index_of_enumerate") { it.intSort } } object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 7443f8924a..0edb3991f1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -1,21 +1,23 @@ package org.usvm.machine.symbolicobjects.memory +import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort -import org.usvm.UBoolExpr -import org.usvm.UExpr -import org.usvm.api.readArrayIndex -import org.usvm.api.readArrayLength -import org.usvm.api.writeArrayIndex +import org.usvm.* +import org.usvm.api.* import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.language.types.ArrayType +import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.HasElementConstraint import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.* +import org.usvm.types.first +const val DEFAULT_ELEMENT_INDEX = -1 + fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) @@ -29,6 +31,24 @@ fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: PyContext): UExpr< return modelHolder.model.readArrayLength(address, ArrayType, ctx.intSort) } +fun UninterpretedSymbolicPythonObject.defaultElement(ctx: ConcolicRunContext): UHeapRef { + val type = getTypeIfDefined(ctx) + require(ctx.curState != null && type != null && type is ArrayLikeConcretePythonType) + val result = ctx.curState!!.memory.readArrayIndex(address, ctx.ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), ArrayType, ctx.ctx.addressSort) + val obj = UninterpretedSymbolicPythonObject(result, ctx.typeSystem) + val array = this + val cond = with(ctx.ctx) { + type.elementConstraints.fold(trueExpr as UBoolExpr) { acc, constraint -> + acc and constraint.applyUninterpreted(array, obj, ctx) + } + } + myAssert(ctx, cond) + return result +} + +fun InterpretedInputSymbolicPythonObject.defaultElement(ctx: PyContext): UConcreteHeapRef = + modelHolder.model.readArrayIndex(address, ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), ArrayType, ctx.addressSort) as UConcreteHeapRef + fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val type = getTypeIfDefined(ctx) @@ -41,7 +61,33 @@ fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) } myAssert(ctx, cond) - return elem + val actualAddress = with(ctx.ctx) { mkIte(mkHeapRefEq(elemAddress, nullRef), defaultElement(ctx), elemAddress) } + return UninterpretedSymbolicPythonObject(actualAddress, typeSystem) +} + +fun InterpretedInputSymbolicPythonObject.readArrayElement( + indexExpr: KInterpretedValue, + state: PyState +): InterpretedSymbolicPythonObject { + val ctx = state.ctx + val element = modelHolder.model.readArrayIndex( + address, + indexExpr, + ArrayType, + ctx.addressSort + ) as UConcreteHeapRef + val actualAddress = if (element.address == 0) { + defaultElement(ctx) + } else { + element + } + return if (isStaticHeapRef(actualAddress)) { + val type = state.memory.typeStreamOf(actualAddress).first() + require(type is ConcretePythonType) + InterpretedAllocatedOrStaticSymbolicPythonObject(actualAddress, type, typeSystem) + } else { + InterpretedInputSymbolicPythonObject(actualAddress, modelHolder, typeSystem) + } } fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { @@ -54,6 +100,7 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, } myAssert(ctx, cond) } + myAssert(ctx, with(ctx.ctx) { mkHeapRefEq(value.address, nullRef).not() or mkHeapRefEq(defaultElement(ctx), nullRef) }) ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 1ff99b3edf..3d575cc500 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -16,7 +16,7 @@ import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonBool) - return ctx.curState!!.memory.readField(address, BoolContents.content, ctx.ctx.boolSort) + return ctx.curState!!.memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx.ctx)) } fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { @@ -40,7 +40,7 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U fun InterpretedInputSymbolicPythonObject.getBoolContent(ctx: PyContext): UBoolExpr { require(getConcreteType() == typeSystem.pythonBool) - return modelHolder.model.readField(address, BoolContents.content, ctx.boolSort) + return modelHolder.model.readField(address, BoolContents.content, BoolContents.content.sort(ctx)) } fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemory): UBoolExpr { @@ -49,7 +49,7 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemo getBoolContent(ctx) } is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - memory.readField(address, BoolContents.content, ctx.boolSort) as KInterpretedValue + memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx)) as KInterpretedValue } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index ef8a230a86..693b1427c0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -1,6 +1,7 @@ package org.usvm.machine.symbolicobjects.memory import io.ksmt.expr.KFp64Value +import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* import org.usvm.api.readField @@ -20,19 +21,19 @@ object FloatPlusInfinity: FloatInterpretedContent() object FloatMinusInfinity: FloatInterpretedContent() data class FloatNormalValue(val value: Double): FloatInterpretedContent() -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel, address: UConcreteHeapRef, ctx: PyContext): UBoolExpr { - val value = model.readField(address, field, ctx.intSort) - return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel, address: UConcreteHeapRef, ctx: PyContext): UBoolExpr { + val value = model.readField(address, field, field.sort(ctx)) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.BOUND)) } -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { - val value = memory.readField(address, field, ctx.intSort) - return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.bound)) +private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { + val value = memory.readField(address, field, field.sort(ctx)) + return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.BOUND)) } -private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { - val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.bound + 1), ctx.mkIntNum(0)) - memory.writeField(address, field, ctx.intSort, intValue, ctx.trueExpr) +private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { + val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.BOUND + 1), ctx.mkIntNum(0)) + memory.writeField(address, field, field.sort(ctx), intValue, ctx.trueExpr) } fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatInterpretedContent { @@ -42,10 +43,10 @@ fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatI return FloatNan val isInf = readBoolFieldWithSoftConstraint(FloatContents.isInf, modelHolder.model, address, ctx) if (isInf.isTrue) { - val isPositive = modelHolder.model.readField(address, FloatContents.infSign, ctx.boolSort) + val isPositive = modelHolder.model.readField(address, FloatContents.infSign, FloatContents.infSign.sort(ctx)) return if (isPositive.isTrue) FloatPlusInfinity else FloatMinusInfinity } - val realValue = modelHolder.model.readField(address, FloatContents.content, ctx.realSort) + val realValue = modelHolder.model.readField(address, FloatContents.content, FloatContents.content.sort(ctx)) val floatValue = ctx.mkRealToFpExpr(ctx.fp64Sort, ctx.floatRoundingMode, realValue) as KFp64Value return FloatNormalValue(floatValue.value) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index debd6ca9d0..e80f1fd405 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -1,18 +1,16 @@ package org.usvm.machine.symbolicobjects.rendering import io.ksmt.expr.KInt32NumExpr +import io.ksmt.expr.KInterpretedValue +import io.ksmt.sort.KIntSort import org.usvm.UConcreteHeapRef -import org.usvm.api.readArrayIndex import org.usvm.api.typeStreamOf -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isAllocatedConcreteHeapRef import org.usvm.isStaticHeapRef -import org.usvm.language.types.ArrayType import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.MockType import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject @@ -44,7 +42,8 @@ class PyObjectModelBuilder( if (obj.address in converted) return converted[obj.address]!! val typeSystem = state.typeSystem - val result: PyObjectModel = when (val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty")) { + val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty") + val result: PyObjectModel = when (type) { MockType -> convertMockType(obj) typeSystem.pythonInt -> convertInt(obj) typeSystem.pythonBool -> convertBool(obj) @@ -281,21 +280,8 @@ class PyObjectModelBuilder( if (size.value > MAX_INPUT_ARRAY_LENGTH) throw LengthOverflowException return List(size.value) { index -> - val indexExpr = state.ctx.mkSizeExpr(index) - val element = obj.modelHolder.model.readArrayIndex( - obj.address, - indexExpr, - ArrayType, - state.ctx.addressSort - ) as UConcreteHeapRef - val elemInterpretedObject = - if (isStaticHeapRef(element)) { - val type = state.memory.typeStreamOf(element).first() - require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(element, type, state.typeSystem) - } else { - InterpretedInputSymbolicPythonObject(element, obj.modelHolder, state.typeSystem) - } + val indexExpr = state.ctx.mkSizeExpr(index) as KInterpretedValue + val elemInterpretedObject = obj.readArrayElement(indexExpr, state) convert(elemInterpretedObject) } } From 8e4c2f2d5a9d664b1ab38bfe6b89f310ec96cf91 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 25 Jan 2024 17:43:32 +0300 Subject: [PATCH 228/344] Moved makeTypeRating function --- usvm-python/src/test/kotlin/manualTest.kt | 6 +++--- .../test/kotlin/org/usvm/samples/ListsTest.kt | 2 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 ++ .../main/kotlin/org/usvm/machine/PyState.kt | 15 -------------- .../kotlin/org/usvm/machine/model/Utils.kt | 2 +- .../usvm/machine/ps/PyVirtualPathSelector.kt | 3 ++- .../usvm/machine/ps/types/Prioritization.kt | 20 +++++++++++++++++++ 7 files changed, 29 insertions(+), 21 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 2bbfb92d20..6274bad50d 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -55,8 +55,8 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PyUnpinnedCallable.constructCallableFromName( listOf(typeSystem.pythonList), - "use_enumerate", - "Enumerate" + "reverse_usage", + "Lists" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -203,7 +203,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 10, + maxIterations = 100, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 123618fc88..946576498e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -262,7 +262,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram( @Test fun testDoubleSubscriptAndCompare() { val oldOptions = options - options = UMachineOptions(stepLimit = 30U, timeout = 20.seconds) + options = UMachineOptions(stepLimit = 20U, timeout = 20.seconds) allowPathDiversions = true check2WithConcreteRun( constructFunction("double_subscript_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index dc92de9013..56788d752f 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -197,6 +197,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn @Test fun testSumUsage() { + allowPathDiversions = true check1WithConcreteRun( constructFunction("sum_usage", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, @@ -207,6 +208,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn { x, res -> x.typeName == "list" && res.repr == "None" } ) ) + allowPathDiversions = false } @Test diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index c925202b66..82ed2ed304 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -78,21 +78,6 @@ class PyState( get() = models.first() as? PyModel ?: error("Model PyState must be PyModel") fun buildPathAsList(): List> = concolicQueries - fun makeTypeRating(delayedFork: DelayedFork): TypeRating? { - val candidates = when (val types = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER)) { - is TypesResult.SuccessfulTypesResult -> types.mapNotNull { it as? ConcretePythonType } - is TypesResult.TypesResultWithExpiredTimeout, is TypesResult.EmptyTypesResult -> - return null - } - val resultList = if (typeSystem is PythonTypeSystemWithMypyInfo) { - val typeGraph = SymbolTypeTree(this, typeSystem.typeHintsStorage, delayedFork.symbol) - prioritizeTypes(candidates, typeGraph, typeSystem) - } else { - candidates - } - return TypeRating(resultList.toMutableList()) - } - fun mock(what: MockHeader): MockResult { val cached = mocks[what] if (cached != null) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index f2505f5de0..73a5142ee8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -48,7 +48,7 @@ fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { val concrete = getConcreteType(address) if (concrete == null) { if (first !is MockType) { - logger.warn("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods + logger.error("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods return null } // require(first is MockType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 120dcd730d..2433542e60 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -11,6 +11,7 @@ import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.strategies.* +import org.usvm.machine.ps.types.makeTypeRating import org.usvm.machine.results.observers.NewStateObserver import org.usvm.types.TypesResult @@ -186,7 +187,7 @@ class PyVirtualPathSelector types.mapNotNull { it as? ConcretePythonType } + is TypesResult.TypesResultWithExpiredTimeout, is TypesResult.EmptyTypesResult -> + return null + } + val resultList = if (state.typeSystem is PythonTypeSystemWithMypyInfo) { + val typeGraph = SymbolTypeTree(state, state.typeSystem.typeHintsStorage, delayedFork.symbol) + prioritizeTypes(candidates, typeGraph, state.typeSystem) + } else { + candidates + } + return TypeRating(resultList.toMutableList()) +} + fun prioritizeTypes(types: List, graph: SymbolTypeTree, typeSystem: PythonTypeSystemWithMypyInfo): List { val bounds = graph.boundsForRoot return types.sortedBy { From 5a46fc8c82e096180d85f80f1b232448f5ba5797 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 29 Jan 2024 13:03:39 +0300 Subject: [PATCH 229/344] Added innerType --- .../org/usvm/language/types/TypeSystem.kt | 1 + .../kotlin/org/usvm/language/types/Types.kt | 1 + .../symbolicobjects/memory/ArrayLike.kt | 66 +++++++++++++++---- 3 files changed, 57 insertions(+), 11 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index b44441e71b..6145f005d6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -88,6 +88,7 @@ abstract class PythonTypeSystem: UTypeSystem { this, ConcretePythonInterpreter.getNameOfPythonType(address), id, + null, getter ) addType(type, address) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt index 7f2ddb40d6..ef7cfd1da4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt @@ -53,5 +53,6 @@ class ArrayLikeConcretePythonType( owner: PythonTypeSystem, typeName: String, id: PyIdentifier, + val innerType: PythonType? = null, addressGetter: () -> PyObject ): ConcretePythonType(owner, typeName, id,false, addressGetter) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 0edb3991f1..fda220bb1d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -12,6 +12,7 @@ import org.usvm.language.types.HasElementConstraint import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.model.getConcreteType import org.usvm.machine.symbolicobjects.* import org.usvm.types.first @@ -33,8 +34,13 @@ fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: PyContext): UExpr< fun UninterpretedSymbolicPythonObject.defaultElement(ctx: ConcolicRunContext): UHeapRef { val type = getTypeIfDefined(ctx) - require(ctx.curState != null && type != null && type is ArrayLikeConcretePythonType) - val result = ctx.curState!!.memory.readArrayIndex(address, ctx.ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), ArrayType, ctx.ctx.addressSort) + require(ctx.curState != null && type != null && type is ArrayLikeConcretePythonType && type.innerType != null) + val result = ctx.curState!!.memory.readArrayIndex( + address, + ctx.ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), + ArrayType, + ctx.ctx.addressSort + ) val obj = UninterpretedSymbolicPythonObject(result, ctx.typeSystem) val array = this val cond = with(ctx.ctx) { @@ -47,9 +53,17 @@ fun UninterpretedSymbolicPythonObject.defaultElement(ctx: ConcolicRunContext): U } fun InterpretedInputSymbolicPythonObject.defaultElement(ctx: PyContext): UConcreteHeapRef = - modelHolder.model.readArrayIndex(address, ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), ArrayType, ctx.addressSort) as UConcreteHeapRef + modelHolder.model.readArrayIndex( + address, + ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), + ArrayType, + ctx.addressSort + ) as UConcreteHeapRef -fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, index: UExpr): UninterpretedSymbolicPythonObject { +fun UninterpretedSymbolicPythonObject.readArrayElement( + ctx: ConcolicRunContext, + index: UExpr +): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) @@ -61,7 +75,13 @@ fun UninterpretedSymbolicPythonObject.readArrayElement(ctx: ConcolicRunContext, ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) } myAssert(ctx, cond) - val actualAddress = with(ctx.ctx) { mkIte(mkHeapRefEq(elemAddress, nullRef), defaultElement(ctx), elemAddress) } + val actualAddress = if (type.innerType != null) { + with(ctx.ctx) { + mkIte(mkHeapRefEq(elemAddress, nullRef), defaultElement(ctx), elemAddress) + } + } else { + elemAddress + } return UninterpretedSymbolicPythonObject(actualAddress, typeSystem) } @@ -77,7 +97,12 @@ fun InterpretedInputSymbolicPythonObject.readArrayElement( ctx.addressSort ) as UConcreteHeapRef val actualAddress = if (element.address == 0) { - defaultElement(ctx) + val type = modelHolder.model.getConcreteType(address) + if (type != null && type is ArrayLikeConcretePythonType && type.innerType != null) { + defaultElement(ctx) + } else { + element + } } else { element } @@ -90,7 +115,11 @@ fun InterpretedInputSymbolicPythonObject.readArrayElement( } } -fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, index: UExpr, value: UninterpretedSymbolicPythonObject) { +fun UninterpretedSymbolicPythonObject.writeArrayElement( + ctx: ConcolicRunContext, + index: UExpr, + value: UninterpretedSymbolicPythonObject +) { require(ctx.curState != null) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) @@ -100,15 +129,30 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement(ctx: ConcolicRunContext, } myAssert(ctx, cond) } - myAssert(ctx, with(ctx.ctx) { mkHeapRefEq(value.address, nullRef).not() or mkHeapRefEq(defaultElement(ctx), nullRef) }) - ctx.curState!!.memory.writeArrayIndex(address, index, ArrayType, ctx.ctx.addressSort, value.address, ctx.ctx.trueExpr) + if (type.innerType != null) { + myAssert( + ctx, + with(ctx.ctx) { mkHeapRefEq(value.address, nullRef).not() or mkHeapRefEq(defaultElement(ctx), nullRef) } + ) + } + ctx.curState!!.memory.writeArrayIndex( + address, + index, + ArrayType, + ctx.ctx.addressSort, + value.address, + ctx.ctx.trueExpr + ) } -fun UninterpretedSymbolicPythonObject.extendArrayConstraints(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { +fun UninterpretedSymbolicPythonObject.extendArrayConstraints( + ctx: ConcolicRunContext, + on: UninterpretedSymbolicPythonObject +) { require(ctx.curState != null) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) - type.elementConstraints.forEach { constraint -> + type.elementConstraints.forEach { constraint -> on.addSupertypeSoft(ctx, HasElementConstraint(constraint)) } } From b4101958f6d1cd38323dcd2dc236cae0d0beda42 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 30 Jan 2024 13:58:21 +0300 Subject: [PATCH 230/344] Added BaselineWeightedByNumberOfVirtual path selector --- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 10 ++-- .../kotlin/org/usvm/machine/model/Utils.kt | 4 ++ .../usvm/machine/ps/PyPathSelectorFactory.kt | 60 ++++++++++++++++++- .../ps/strategies/impls/BaselineStrategy.kt | 8 +++ .../org/usvm/python/model/PyObjectModel.kt | 34 +++++++++-- .../usvm/python/model/PyObjectModelVisitor.kt | 25 ++++++++ .../kotlin/org/usvm/python/model/Utils.kt | 13 ++++ 8 files changed, 142 insertions(+), 14 deletions(-) create mode 100644 usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt create mode 100644 usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 6274bad50d..99c7f559d4 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -203,7 +203,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 100, + maxIterations = 20, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index f2e75dc9f4..c072cdbbc8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -9,7 +9,8 @@ import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel -import org.usvm.machine.ps.createBaselinePyPathSelector +import org.usvm.machine.ps.PyPathSelectorType +import org.usvm.machine.ps.createPyPathSelector import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.* @@ -26,6 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselineDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) @@ -85,13 +87,9 @@ class PyMachine( target: PyUnpinnedCallable, newStateObserver: NewStateObserver ): UPathSelector { - /*val pathSelectorCreation = { - DfsPathSelector() - // createForkDepthPathSelector, PythonExecutionState>(random) - }*/ val initialState = getInitialState(target) newStateObserver.onNewState(initialState) - val ps = createBaselinePyPathSelector(ctx, random, newStateObserver) + val ps = createPyPathSelector(pathSelectorType, ctx, random, newStateObserver) ps.add(listOf(initialState)) return ps } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index 73a5142ee8..9d33461835 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -5,6 +5,7 @@ import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext +import org.usvm.language.types.ArrayLikeConcretePythonType import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.MockType import org.usvm.language.types.PythonType @@ -47,6 +48,9 @@ fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { val first = typeStream.take(1).first() val concrete = getConcreteType(address) if (concrete == null) { + if (first is ArrayLikeConcretePythonType) { + logger.info("Here! (ArrayLikeConcretePythonType)") + } if (first !is MockType) { logger.error("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 031943f7fd..16cb483077 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -1,14 +1,42 @@ package org.usvm.machine.ps +import mu.KLogging +import org.usvm.algorithms.RandomizedPriorityCollection import org.usvm.machine.PyContext +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.ps.strategies.impls.BaselineActionStrategy import org.usvm.machine.ps.strategies.impls.BaselineDFGraphCreation import org.usvm.machine.ps.strategies.impls.BaselineDelayedForkStrategy import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.ps.DfsPathSelector +import org.usvm.ps.WeightedPathSelector +import org.usvm.python.model.calculateNumberOfMocks +import kotlin.math.max import kotlin.random.Random -fun createBaselinePyPathSelector( +private val logger = object : KLogging() {}.logger + +enum class PyPathSelectorType { + BaselineDfs, + BaselineWeightedByNumberOfVirtual +} + +fun createPyPathSelector( + type: PyPathSelectorType, + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + when (type) { + PyPathSelectorType.BaselineDfs -> + createBaselineDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselineWeightedByNumberOfVirtual -> + createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) + } + +fun createBaselineDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver @@ -19,4 +47,34 @@ fun createBaselinePyPathSelector( BaselineDelayedForkStrategy, BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver + ) + +fun createBaselineWeightedByNumberOfVirtualPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + BaselineActionStrategy(random), + BaselineDelayedForkStrategy, + BaselineDFGraphCreation { + WeightedPathSelector( + priorityCollectionFactory = { + RandomizedPriorityCollection(compareBy { it.id }) { random.nextDouble() } + }, + weighter = { + val modelHolder = PyModelHolder(it.pyModel) + val builder = PyObjectModelBuilder(it, modelHolder) + val models = it.inputSymbols.map { symbol -> + val interpreted = interpretSymbolicPythonObject(modelHolder, it.memory, symbol) + builder.convert(interpreted) + } + val mocks = models.fold(0) { acc, obj -> acc + calculateNumberOfMocks(obj) } + logger.debug { "Mocks of state $it: $mocks" } + 1.0 / max(1, 4 * mocks * mocks) + } + ) + }, + newStateObserver ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index a3b891319f..6ed543cd01 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -53,6 +53,8 @@ class BaselineActionStrategy( override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = Peek(graph.pathSelectorWithoutDelayedForks) + + override fun toString(): String = "PeekFromRoot" } private object ServeNewDelayedFork: Action(0.3) { @@ -63,6 +65,8 @@ class BaselineActionStrategy( val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } return MakeDelayedFork(chooseAvailableVertex(available, random)) } + + override fun toString(): String = "ServeNewDelayedFork" } private object PeekFromStateWithDelayedFork: Action(0.088) { @@ -72,6 +76,8 @@ class BaselineActionStrategy( override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { return Peek(graph.pathSelectorWithDelayedForks) } + + override fun toString(): String = "PeekFromStateWithDelayedFork" } private object ServeOldDelayedFork: Action(0.012) { @@ -82,6 +88,8 @@ class BaselineActionStrategy( val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } return MakeDelayedFork(chooseAvailableVertex(available, random)) } + + override fun toString(): String = "ServeOldDelayedFork" } companion object { diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt index 92c71d93d5..af31a82d26 100644 --- a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt @@ -1,15 +1,25 @@ package org.usvm.python.model -sealed class PyObjectModel +sealed class PyObjectModel { + abstract fun accept(visitor: PyObjectModelVisitor) +} class PyPrimitive( val repr: String -): PyObjectModel() +): PyObjectModel() { + override fun accept(visitor: PyObjectModelVisitor) { + visitor.visit(this) + } +} data class PyIdentifier( val module: String, val name: String -): PyObjectModel() +): PyObjectModel() { + override fun accept(visitor: PyObjectModelVisitor) { + visitor.visit(this) + } +} class PyCompositeObject( val constructor: PyIdentifier, @@ -17,8 +27,20 @@ class PyCompositeObject( var listItems: List? = null, var dictItems: List>? = null, var fieldDict: Map? = null -): PyObjectModel() +): PyObjectModel() { + override fun accept(visitor: PyObjectModelVisitor) { + visitor.visit(this) + } +} -class PyTupleObject(var items: List): PyObjectModel() +class PyTupleObject(var items: List): PyObjectModel() { + override fun accept(visitor: PyObjectModelVisitor) { + visitor.visit(this) + } +} -data class PyMockObject(val id: Int): PyObjectModel() \ No newline at end of file +data class PyMockObject(val id: Int): PyObjectModel() { + override fun accept(visitor: PyObjectModelVisitor) { + visitor.visit(this) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt new file mode 100644 index 0000000000..343062e52f --- /dev/null +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt @@ -0,0 +1,25 @@ +package org.usvm.python.model + +open class PyObjectModelVisitor { + fun visit(obj: PyObjectModel) { + obj.accept(this) + } + open fun visit(obj: PyPrimitive) = run {} + open fun visit(obj: PyIdentifier) = run {} + open fun visit(obj: PyMockObject) = run {} + open fun visit(obj: PyCompositeObject) { + visit(obj.constructor) + obj.constructorArgs.forEach { visit(it) } + obj.listItems?.let { it.forEach { item -> visit(item) } } + obj.dictItems?.let { + it.forEach { (key, value) -> + visit(key) + visit(value) + } + } + obj.fieldDict?.let { it.values.forEach { item -> visit(item) } } + } + open fun visit(obj: PyTupleObject) { + obj.items.forEach { visit(it) } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt new file mode 100644 index 0000000000..79b1beb40a --- /dev/null +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt @@ -0,0 +1,13 @@ +package org.usvm.python.model + +fun calculateNumberOfMocks(obj: PyObjectModel): Int { + val visitor = object: PyObjectModelVisitor() { + var result = 0 + override fun visit(obj: PyMockObject) { + result += 1 + super.visit(obj) + } + } + visitor.visit(obj) + return visitor.result +} \ No newline at end of file From 5dbf1f428b85bba974ac9bf5d1c9d18af0370320 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Tue, 30 Jan 2024 14:14:49 +0300 Subject: [PATCH 231/344] Fixed visitor for recursive objects --- .../usvm/machine/ps/PyPathSelectorFactory.kt | 6 ++- .../usvm/python/model/PyObjectModelVisitor.kt | 48 +++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 16cb483077..7ff57ada3f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -12,6 +12,7 @@ import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.ps.DfsPathSelector import org.usvm.ps.WeightedPathSelector +import org.usvm.python.model.PyTupleObject import org.usvm.python.model.calculateNumberOfMocks import kotlin.math.max import kotlin.random.Random @@ -70,9 +71,10 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( val interpreted = interpretSymbolicPythonObject(modelHolder, it.memory, symbol) builder.convert(interpreted) } - val mocks = models.fold(0) { acc, obj -> acc + calculateNumberOfMocks(obj) } + val tupleOfModels = PyTupleObject(models) + val mocks = calculateNumberOfMocks(tupleOfModels) logger.debug { "Mocks of state $it: $mocks" } - 1.0 / max(1, 4 * mocks * mocks) + 1.0 / max(1, 10 * mocks) } ) }, diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt index 343062e52f..d1a691a235 100644 --- a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt @@ -1,25 +1,53 @@ package org.usvm.python.model open class PyObjectModelVisitor { + private val visited = mutableSetOf() fun visit(obj: PyObjectModel) { obj.accept(this) } - open fun visit(obj: PyPrimitive) = run {} - open fun visit(obj: PyIdentifier) = run {} - open fun visit(obj: PyMockObject) = run {} + open fun visit(obj: PyPrimitive) { + visited.add(obj) + } + open fun visit(obj: PyIdentifier) { + visited.add(obj) + } + open fun visit(obj: PyMockObject) { + visited.add(obj) + } open fun visit(obj: PyCompositeObject) { - visit(obj.constructor) - obj.constructorArgs.forEach { visit(it) } - obj.listItems?.let { it.forEach { item -> visit(item) } } + visited.add(obj) + if (obj.constructor !in visited) + visit(obj.constructor) + obj.constructorArgs.forEach { + if (it !in visited) + visit(it) + } + obj.listItems?.let { + it.forEach { item -> + if (item !in visited) + visit(item) + } + } obj.dictItems?.let { it.forEach { (key, value) -> - visit(key) - visit(value) + if (key !in visited) + visit(key) + if (value !in visited) + visit(value) + } + } + obj.fieldDict?.let { + it.values.forEach { item -> + if (item !in visited) + visit(item) } } - obj.fieldDict?.let { it.values.forEach { item -> visit(item) } } } open fun visit(obj: PyTupleObject) { - obj.items.forEach { visit(it) } + visited.add(obj) + obj.items.forEach { + if (it !in visited) + visit(it) + } } } \ No newline at end of file From ec1816e4ee8012c52ce7183d1034ade62d5551be Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 31 Jan 2024 18:16:32 +0300 Subject: [PATCH 232/344] Made Python modules optional --- settings.gradle.kts | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 20a5bc762d..8bab3ffc83 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,6 +7,7 @@ include("usvm-jvm-instrumentation") include("usvm-sample-language") include("usvm-dataflow") include("usvm-jvm-dataflow") + include("usvm-python") include("usvm-python:cpythonadapter") findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" @@ -26,5 +27,27 @@ pluginManagement { } } } -include("usvm-python:usvm-python-object-model") -findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" + +// from GRADLE_USER_HOME/gradle.properties +val githubUserFromHome: String? by settings +val githubTokenFromHome: String? by settings // with permission to read packages + +val githubUser: String? = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") +val githubToken: String? = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") +val pythonActivated = githubUser != null && githubToken != null + +if (pythonActivated) { + include("usvm-python") + include("usvm-python:cpythonadapter") + findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" + include("usvm-python:usvm-python-annotations") + findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" + include("usvm-python:usvm-python-main") + findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" + include("usvm-python:usvm-python-runner") + findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" + include("usvm-python:usvm-python-object-model") + findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" +} else { + logger.warn("Warning: usvm-python modules are disabled") +} From 4ccb598385ae21cad4a16093d8c10c24106669aa Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Wed, 31 Jan 2024 18:55:38 +0300 Subject: [PATCH 233/344] Update README.md --- usvm-python/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/usvm-python/README.md b/usvm-python/README.md index f53946b3c2..471baa708d 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -1,5 +1,27 @@ # Developer notes +## Getting started + +First, you need to activate Gradle tasks for `usvm-python` module. Since it has dependecies from Github Packages, you need to generate Github access token with permission to read packages (more on Github tokens [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)). + +There are 2 ways to specify your token: + +1. Specify the following properties in `gradle.properties` in your GRADLE_USER_HOME directory ([about](https://docs.gradle.org/current/userguide/directory_layout.html#dir:gradle_user_home)): + + - `githubUserFromHome` + - `githubTokenFromHome` + +2. Specify the following environment variables: + + - `GITHUB_ACTOR` + - `GITHUB_TOKEN` + +Secondly, you need to clone `CPython` as repository submodule ([refer to the section about submodules](#working-with-git-submodule)). + +If you are using Unix, you also need to install optional dependencies ([refer to the section about CPython build](#cpython-build)). + +Now, you should be able to run Gradle task `:usvm-python:test`. + ## Documentation on module `usvm-python` See folder `usvm-python/docs`. From 12fa32b7056021157ce511e8ac815743d6e5fcd0 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 7 Feb 2024 10:42:18 +0300 Subject: [PATCH 234/344] Added PyPathSelectorType.DelayedForkByInstructionDfs --- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 26 +++- .../ps/strategies/impls/BaselineStrategy.kt | 136 +++++++++--------- .../impls/DelayedForkByInstruction.kt | 108 ++++++++++++++ .../impls/WeightedActionStrategy.kt | 38 +++++ 5 files changed, 232 insertions(+), 78 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index c072cdbbc8..80f8bb4bfb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselineDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 7ff57ada3f..e26575be44 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -4,9 +4,7 @@ import mu.KLogging import org.usvm.algorithms.RandomizedPriorityCollection import org.usvm.machine.PyContext import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.ps.strategies.impls.BaselineActionStrategy -import org.usvm.machine.ps.strategies.impls.BaselineDFGraphCreation -import org.usvm.machine.ps.strategies.impls.BaselineDelayedForkStrategy +import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder @@ -21,7 +19,8 @@ private val logger = object : KLogging() {}.logger enum class PyPathSelectorType { BaselineDfs, - BaselineWeightedByNumberOfVirtual + BaselineWeightedByNumberOfVirtual, + DelayedForkByInstructionDfs } fun createPyPathSelector( @@ -35,6 +34,8 @@ fun createPyPathSelector( createBaselineDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.BaselineWeightedByNumberOfVirtual -> createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionDfs -> + createDelayedForkByInstructionDfsPyPathSelector(ctx, random, newStateObserver) } fun createBaselineDfsPyPathSelector( @@ -44,7 +45,7 @@ fun createBaselineDfsPyPathSelector( ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - BaselineActionStrategy(random), + makeBaselineActionStrategy(random), BaselineDelayedForkStrategy, BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver @@ -57,7 +58,7 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - BaselineActionStrategy(random), + makeBaselineActionStrategy(random), BaselineDelayedForkStrategy, BaselineDFGraphCreation { WeightedPathSelector( @@ -79,4 +80,17 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( ) }, newStateObserver + ) + +fun createDelayedForkByInstructionDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionActionStrategy(random), + BaselineDelayedForkStrategy, + DelayedForkByInstructionGraphCreation { DfsPathSelector() }, + newStateObserver ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 6ed543cd01..0dc72fbe09 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -5,96 +5,90 @@ import org.usvm.UPathSelector import org.usvm.machine.DelayedFork import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.* -import org.usvm.machine.ps.weightedRandom import kotlin.random.Random -class BaselineActionStrategy( - private val random: Random -): PyPathSelectorActionStrategy { - override fun chooseAction(graph: BaselineDelayedForkGraph): PyPathSelectorAction? { - if (!graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty()) { - return Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) - } - val availableActions = actions.filter { - it.isAvailable(graph) - } - if (availableActions.isEmpty()) { - return null - } - logger.debug("Available actions: {}", availableActions) - val action = weightedRandom(random, availableActions) { it.weight } - logger.debug("Making action {}", action) - return action.makeAction(graph, random) - } - - private val actions = listOf( - PeekFromRoot, - ServeNewDelayedFork, - PeekFromStateWithDelayedFork, - ServeOldDelayedFork +fun makeBaselineActionStrategy( + random: Random +): WeightedActionStrategy = + WeightedActionStrategy( + random, + listOf( + PeekFromRoot, + ServeNewDelayedFork, + PeekFromStateWithDelayedFork, + ServeOldDelayedFork, + PeekExecutedStateWithConcreteType + ) ) - sealed class Action(val weight: Double) { - abstract fun isAvailable(graph: BaselineDelayedForkGraph): Boolean - abstract fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction - protected fun chooseAvailableVertex( - available: List>, - random: Random - ): DelayedForkGraphInnerVertex { - require(available.isNotEmpty()) - val idx = random.nextInt(0, available.size) - return available[idx] - } +sealed class BaselineAction( + weight: Double +): Action(weight) { + protected fun chooseAvailableVertex( + available: List>, + random: Random + ): DelayedForkGraphInnerVertex { + require(available.isNotEmpty()) + val idx = random.nextInt(0, available.size) + return available[idx] } +} + +object PeekFromRoot: BaselineAction(0.6) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorWithoutDelayedForks.isEmpty() - private object PeekFromRoot: Action(0.6) { - override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - !graph.pathSelectorWithoutDelayedForks.isEmpty() + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = + Peek(graph.pathSelectorWithoutDelayedForks) + + override fun toString(): String = "PeekFromRoot" +} - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = - Peek(graph.pathSelectorWithoutDelayedForks) +object ServeNewDelayedFork: BaselineAction(0.3) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() && it.delayedForkState.size > 0 } - override fun toString(): String = "PeekFromRoot" + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } + return MakeDelayedFork(chooseAvailableVertex(available, random)) } - private object ServeNewDelayedFork: Action(0.3) { - override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() && it.delayedForkState.size > 0 } + override fun toString(): String = "ServeNewDelayedFork" +} - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { - val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } - return MakeDelayedFork(chooseAvailableVertex(available, random)) - } +object PeekFromStateWithDelayedFork: BaselineAction(0.088) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorWithDelayedForks.isEmpty() - override fun toString(): String = "ServeNewDelayedFork" + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + return Peek(graph.pathSelectorWithDelayedForks) } - private object PeekFromStateWithDelayedFork: Action(0.088) { - override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - !graph.pathSelectorWithDelayedForks.isEmpty() + override fun toString(): String = "PeekFromStateWithDelayedFork" +} - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { - return Peek(graph.pathSelectorWithDelayedForks) - } +object ServeOldDelayedFork: BaselineAction(0.012) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() && it.delayedForkState.size > 0 } - override fun toString(): String = "PeekFromStateWithDelayedFork" + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } + return MakeDelayedFork(chooseAvailableVertex(available, random)) } - private object ServeOldDelayedFork: Action(0.012) { - override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() && it.delayedForkState.size > 0 } + override fun toString(): String = "ServeOldDelayedFork" +} - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { - val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } - return MakeDelayedFork(chooseAvailableVertex(available, random)) - } +object PeekExecutedStateWithConcreteType: BaselineAction(100.0) { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty() - override fun toString(): String = "ServeOldDelayedFork" - } + override fun makeAction( + graph: BaselineDelayedForkGraph, + random: Random + ): PyPathSelectorAction = + Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) - companion object { - val logger = object : KLogging() {}.logger - } } object BaselineDelayedForkStrategy: DelayedForkStrategy { @@ -122,7 +116,7 @@ class BaselineDelayedForkState: DelayedForkState() { internal var nextIdx = 0 } -class BaselineDelayedForkGraph( +open class BaselineDelayedForkGraph( basePathSelectorCreation: () -> UPathSelector, root: DelayedForkGraphRootVertex ): DelayedForkGraph(root) { @@ -159,6 +153,6 @@ class BaselineDelayedForkGraph( } companion object { - val logger = object : KLogging() {}.logger + private val logger = object : KLogging() {}.logger } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt new file mode 100644 index 0000000000..9da9080bdd --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -0,0 +1,108 @@ +package org.usvm.machine.ps.strategies.impls + +import org.usvm.UPathSelector +import org.usvm.language.PyInstruction +import org.usvm.machine.DelayedFork +import org.usvm.machine.PyState +import org.usvm.machine.ps.strategies.* +import kotlin.random.Random + +fun makeDelayedForkByInstructionActionStrategy( + random: Random +): WeightedActionStrategy = + WeightedActionStrategy( + random, + listOf( + PeekFromRoot, + ServeNewDelayedForkByInstruction, + PeekFromStateWithDelayedFork, + ServeOldDelayedForkByInstruction, + PeekExecutedStateWithConcreteType + ) + ) + +sealed class DelayedForkByInstructionAction( + weight: Double +): Action(weight) { + protected fun findAvailableInstructions( + graph: DelayedForkByInstructionGraph, + isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, + ): List = + graph.nodesByInstruction.keys.filter { instruction -> + val nodes = graph.nodesByInstruction[instruction]!! + nodes.any { it in graph.aliveNodesAtDistanceOne && isAvailable(it) } + } + + protected fun chooseDelayedFork( + graph: DelayedForkByInstructionGraph, + isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, + random: Random + ): DelayedForkGraphInnerVertex { + val availableInstructions = findAvailableInstructions(graph, isAvailable) + val size = availableInstructions.size + require(size > 0) + val idx = random.nextInt(0, size) + val nodes = graph.nodesByInstruction[availableInstructions[idx]]!!.filter { + it in graph.aliveNodesAtDistanceOne && isAvailable(it) + } + require(nodes.isNotEmpty()) + return nodes.random(random) + } +} + +object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNewDelayedFork.weight) { + private val predicate = { node: DelayedForkGraphInnerVertex -> + node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 + } + + override fun isAvailable(graph: DelayedForkByInstructionGraph): Boolean = + findAvailableInstructions(graph, predicate).isNotEmpty() + + override fun makeAction( + graph: DelayedForkByInstructionGraph, + random: Random + ): PyPathSelectorAction = + MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) +} + +object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOldDelayedFork.weight) { + private val predicate = { node: DelayedForkGraphInnerVertex -> + node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 + } + + override fun isAvailable(graph: DelayedForkByInstructionGraph): Boolean = + findAvailableInstructions(graph, predicate).isNotEmpty() + + override fun makeAction( + graph: DelayedForkByInstructionGraph, + random: Random + ): PyPathSelectorAction = + MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) +} + +class DelayedForkByInstructionGraph( + basePathSelectorCreation: () -> UPathSelector, + root: DelayedForkGraphRootVertex +): BaselineDelayedForkGraph(basePathSelectorCreation, root) { + internal val nodesByInstruction = mutableMapOf>>() + + override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { + super.addVertex(df, vertex) + var set = nodesByInstruction[vertex.delayedFork.state.pathNode.statement] + if (set == null) { + set = mutableSetOf() + nodesByInstruction[vertex.delayedFork.state.pathNode.statement] = set + } + set.add(vertex) + } +} + +class DelayedForkByInstructionGraphCreation( + private val basePathSelectorCreation: () -> UPathSelector +): DelayedForkGraphCreation { + override fun createEmptyDelayedForkState(): BaselineDelayedForkState = + BaselineDelayedForkState() + + override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DelayedForkByInstructionGraph = + DelayedForkByInstructionGraph(basePathSelectorCreation, root) +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt new file mode 100644 index 0000000000..99aad2c556 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt @@ -0,0 +1,38 @@ +package org.usvm.machine.ps.strategies.impls + +import mu.KLogging +import org.usvm.machine.ps.strategies.DelayedForkGraph +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.PyPathSelectorAction +import org.usvm.machine.ps.strategies.PyPathSelectorActionStrategy +import org.usvm.machine.ps.weightedRandom +import kotlin.random.Random + +class WeightedActionStrategy>( + private val random: Random, + private val actions: List> +): PyPathSelectorActionStrategy { + override fun chooseAction(graph: DFGraph): PyPathSelectorAction? { + val availableActions = actions.filter { + it.isAvailable(graph) + } + if (availableActions.isEmpty()) { + return null + } + logger.debug("Available actions: {}", availableActions) + val action = weightedRandom(random, availableActions) { it.weight } + logger.debug("Making action {}", action) + return action.makeAction(graph, random) + } + + companion object { + private val logger = object : KLogging() {}.logger + } +} + +abstract class Action>( + val weight: Double +) { + abstract fun isAvailable(graph: DFGraph): Boolean + abstract fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction +} \ No newline at end of file From 08adde1a8f80c9c6a779fc5985e32f6ae152c981 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 7 Feb 2024 10:59:23 +0300 Subject: [PATCH 235/344] Fix in BaselineStrategy --- .../ps/strategies/impls/BaselineStrategy.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 0dc72fbe09..c8058fc590 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -45,11 +45,15 @@ object PeekFromRoot: BaselineAction(0.6) { } object ServeNewDelayedFork: BaselineAction(0.3) { + private val predicate = { node: DelayedForkGraphInnerVertex -> + node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 + } + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isEmpty() && it.delayedForkState.size > 0 } + graph.aliveNodesAtDistanceOne.any(predicate) override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { - val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isEmpty() } + val available = graph.aliveNodesAtDistanceOne.filter(predicate) return MakeDelayedFork(chooseAvailableVertex(available, random)) } @@ -68,11 +72,15 @@ object PeekFromStateWithDelayedFork: BaselineAction(0.088) { } object ServeOldDelayedFork: BaselineAction(0.012) { + private val predicate = { node: DelayedForkGraphInnerVertex -> + node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 + } + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - graph.aliveNodesAtDistanceOne.any { it.delayedForkState.successfulTypes.isNotEmpty() && it.delayedForkState.size > 0 } + graph.aliveNodesAtDistanceOne.any(predicate) override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { - val available = graph.aliveNodesAtDistanceOne.filter { it.delayedForkState.successfulTypes.isNotEmpty() } + val available = graph.aliveNodesAtDistanceOne.filter(predicate) return MakeDelayedFork(chooseAvailableVertex(available, random)) } From 67df9ec7efbe5340d7dfb15cb2168ff69177033f Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 7 Feb 2024 11:26:52 +0300 Subject: [PATCH 236/344] small fix --- .../machine/ps/strategies/impls/DelayedForkByInstruction.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index 9da9080bdd..88eedc15d5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -63,6 +63,8 @@ object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNew random: Random ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) + + override fun toString(): String = "ServeNewDelayedForkByInstruction" } object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOldDelayedFork.weight) { @@ -78,6 +80,8 @@ object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOld random: Random ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) + + override fun toString(): String = "ServeOldDelayedForkByInstruction" } class DelayedForkByInstructionGraph( From 1e7f380a3acd3e95807833c81d09cfab5a5ba54f Mon Sep 17 00:00:00 2001 From: tochilinak Date: Wed, 7 Feb 2024 12:56:36 +0300 Subject: [PATCH 237/344] Added TypeRatingByNumberOfHints --- usvm-python/src/test/kotlin/manualTest.kt | 8 +-- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 40 ++++++++++++-- .../usvm/machine/ps/PyVirtualPathSelector.kt | 2 + .../org/usvm/machine/ps/strategies/Api.kt | 4 +- .../ps/strategies/impls/BaselineStrategy.kt | 55 +++++++++---------- .../impls/DelayedForkByInstruction.kt | 32 +++++------ .../impls/TypeRatingByNumberOfHints.kt | 16 ++++++ .../usvm/machine/ps/types/Prioritization.kt | 8 +-- .../usvm/machine/ps/types/SymbolTypeTree.kt | 9 ++- 10 files changed, 115 insertions(+), 61 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/TypeRatingByNumberOfHints.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 99c7f559d4..99ef3fcc1d 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -54,9 +54,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PyUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList), - "reverse_usage", - "Lists" + listOf(PythonAnyType), + "f", + "tricky.CompositeObjects" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -203,7 +203,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 20, + maxIterations = 90, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 80f8bb4bfb..f31c1a329e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionAndTypeRatingByHintsDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index e26575be44..fe5245167d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -20,7 +20,9 @@ private val logger = object : KLogging() {}.logger enum class PyPathSelectorType { BaselineDfs, BaselineWeightedByNumberOfVirtual, - DelayedForkByInstructionDfs + TypeRatingByHintsDfs, + DelayedForkByInstructionDfs, + DelayedForkByInstructionAndTypeRatingByHintsDfs } fun createPyPathSelector( @@ -34,8 +36,12 @@ fun createPyPathSelector( createBaselineDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.BaselineWeightedByNumberOfVirtual -> createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.TypeRatingByHintsDfs -> + createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionDfs -> createDelayedForkByInstructionDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionAndTypeRatingByHintsDfs -> + createDelayedForkByInstructionAndTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) } fun createBaselineDfsPyPathSelector( @@ -46,7 +52,7 @@ fun createBaselineDfsPyPathSelector( PyVirtualPathSelector( ctx, makeBaselineActionStrategy(random), - BaselineDelayedForkStrategy, + BaselineDelayedForkStrategy(), BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver ) @@ -59,7 +65,7 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( PyVirtualPathSelector( ctx, makeBaselineActionStrategy(random), - BaselineDelayedForkStrategy, + BaselineDelayedForkStrategy(), BaselineDFGraphCreation { WeightedPathSelector( priorityCollectionFactory = { @@ -90,7 +96,33 @@ fun createDelayedForkByInstructionDfsPyPathSelector( PyVirtualPathSelector( ctx, makeDelayedForkByInstructionActionStrategy(random), - BaselineDelayedForkStrategy, + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { DfsPathSelector() }, + newStateObserver + ) + +fun createTypeRatingByHintsDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeBaselineActionStrategy(random), + TypeRatingByNumberOfHints(), + BaselineDFGraphCreation { DfsPathSelector() }, + newStateObserver + ) + +fun createDelayedForkByInstructionAndTypeRatingByHintsDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionActionStrategy(random), + TypeRatingByNumberOfHints(), DelayedForkByInstructionGraphCreation { DfsPathSelector() }, newStateObserver ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 2433542e60..206a4bebd2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -125,12 +125,14 @@ class PyVirtualPathSelector( ): PyPathSelectorAction() class TypeRating( - val types: MutableList + val types: MutableList, + val numberOfHints: Int, + var numberOfUsed: Int = 0 ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index c8058fc590..7734cc61e4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -9,7 +9,7 @@ import kotlin.random.Random fun makeBaselineActionStrategy( random: Random -): WeightedActionStrategy = +): WeightedActionStrategy = WeightedActionStrategy( random, listOf( @@ -23,11 +23,11 @@ fun makeBaselineActionStrategy( sealed class BaselineAction( weight: Double -): Action(weight) { +): Action(weight) { protected fun chooseAvailableVertex( - available: List>, + available: List>, random: Random - ): DelayedForkGraphInnerVertex { + ): DelayedForkGraphInnerVertex { require(available.isNotEmpty()) val idx = random.nextInt(0, available.size) return available[idx] @@ -38,21 +38,21 @@ object PeekFromRoot: BaselineAction(0.6) { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithoutDelayedForks.isEmpty() - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction = Peek(graph.pathSelectorWithoutDelayedForks) override fun toString(): String = "PeekFromRoot" } object ServeNewDelayedFork: BaselineAction(0.3) { - private val predicate = { node: DelayedForkGraphInnerVertex -> + private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = graph.aliveNodesAtDistanceOne.any(predicate) - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { val available = graph.aliveNodesAtDistanceOne.filter(predicate) return MakeDelayedFork(chooseAvailableVertex(available, random)) } @@ -64,7 +64,7 @@ object PeekFromStateWithDelayedFork: BaselineAction(0.088) { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithDelayedForks.isEmpty() - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { return Peek(graph.pathSelectorWithDelayedForks) } @@ -72,14 +72,14 @@ object PeekFromStateWithDelayedFork: BaselineAction(0.088) { } object ServeOldDelayedFork: BaselineAction(0.012) { - private val predicate = { node: DelayedForkGraphInnerVertex -> + private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = graph.aliveNodesAtDistanceOne.any(predicate) - override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { + override fun makeAction(graph: BaselineDelayedForkGraph, random: Random): PyPathSelectorAction { val available = graph.aliveNodesAtDistanceOne.filter(predicate) return MakeDelayedFork(chooseAvailableVertex(available, random)) } @@ -94,47 +94,44 @@ object PeekExecutedStateWithConcreteType: BaselineAction(100.0) { override fun makeAction( graph: BaselineDelayedForkGraph, random: Random - ): PyPathSelectorAction = + ): PyPathSelectorAction = Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) } -object BaselineDelayedForkStrategy: DelayedForkStrategy { - override fun chooseTypeRating(state: BaselineDelayedForkState): TypeRating { +class BaselineDelayedForkStrategy: DelayedForkStrategy { + private var lastIdx = -1 + override fun chooseTypeRating(state: DelayedForkState): TypeRating { require(state.size > 0) { "Cannot choose type rating from empty set" } - val idx = state.nextIdx - state.nextIdx = (state.nextIdx + 1) % state.size + lastIdx = (lastIdx + 1) % state.size + val idx = lastIdx return state.getAt(idx) } } class BaselineDFGraphCreation( private val basePathSelectorCreation: () -> UPathSelector -): DelayedForkGraphCreation { - override fun createEmptyDelayedForkState(): BaselineDelayedForkState = - BaselineDelayedForkState() +): DelayedForkGraphCreation { + override fun createEmptyDelayedForkState(): DelayedForkState = + DelayedForkState() - override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): BaselineDelayedForkGraph = + override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): BaselineDelayedForkGraph = BaselineDelayedForkGraph(basePathSelectorCreation, root) } -class BaselineDelayedForkState: DelayedForkState() { - internal var nextIdx = 0 -} - open class BaselineDelayedForkGraph( basePathSelectorCreation: () -> UPathSelector, - root: DelayedForkGraphRootVertex -): DelayedForkGraph(root) { + root: DelayedForkGraphRootVertex +): DelayedForkGraph(root) { internal val pathSelectorWithoutDelayedForks = basePathSelectorCreation() internal val pathSelectorWithDelayedForks = basePathSelectorCreation() internal val pathSelectorForExecutedStatesWithConcreteTypes = basePathSelectorCreation() - internal val aliveNodesAtDistanceOne = mutableSetOf>() + internal val aliveNodesAtDistanceOne = mutableSetOf>() - override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { + override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { super.addVertex(df, vertex) if (vertex.parent == root) { logger.debug("Adding node to aliveNodesAtDistanceOne") @@ -142,7 +139,7 @@ open class BaselineDelayedForkGraph( } } - override fun updateVertex(vertex: DelayedForkGraphInnerVertex) { + override fun updateVertex(vertex: DelayedForkGraphInnerVertex) { if (vertex.delayedForkState.isDead) aliveNodesAtDistanceOne.remove(vertex) } @@ -151,7 +148,7 @@ open class BaselineDelayedForkGraph( pathSelectorForExecutedStatesWithConcreteTypes.add(listOf(state)) } - override fun addStateToVertex(vertex: DelayedForkGraphVertex, state: PyState) { + override fun addStateToVertex(vertex: DelayedForkGraphVertex, state: PyState) { when (vertex) { is DelayedForkGraphRootVertex -> pathSelectorWithoutDelayedForks.add(listOf(state)) is DelayedForkGraphInnerVertex -> { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index 88eedc15d5..0a0879b137 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -9,7 +9,7 @@ import kotlin.random.Random fun makeDelayedForkByInstructionActionStrategy( random: Random -): WeightedActionStrategy = +): WeightedActionStrategy = WeightedActionStrategy( random, listOf( @@ -23,10 +23,10 @@ fun makeDelayedForkByInstructionActionStrategy( sealed class DelayedForkByInstructionAction( weight: Double -): Action(weight) { +): Action(weight) { protected fun findAvailableInstructions( graph: DelayedForkByInstructionGraph, - isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, + isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, ): List = graph.nodesByInstruction.keys.filter { instruction -> val nodes = graph.nodesByInstruction[instruction]!! @@ -35,9 +35,9 @@ sealed class DelayedForkByInstructionAction( protected fun chooseDelayedFork( graph: DelayedForkByInstructionGraph, - isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, + isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, random: Random - ): DelayedForkGraphInnerVertex { + ): DelayedForkGraphInnerVertex { val availableInstructions = findAvailableInstructions(graph, isAvailable) val size = availableInstructions.size require(size > 0) @@ -51,7 +51,7 @@ sealed class DelayedForkByInstructionAction( } object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNewDelayedFork.weight) { - private val predicate = { node: DelayedForkGraphInnerVertex -> + private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -61,14 +61,14 @@ object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNew override fun makeAction( graph: DelayedForkByInstructionGraph, random: Random - ): PyPathSelectorAction = + ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) override fun toString(): String = "ServeNewDelayedForkByInstruction" } object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOldDelayedFork.weight) { - private val predicate = { node: DelayedForkGraphInnerVertex -> + private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } @@ -78,7 +78,7 @@ object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOld override fun makeAction( graph: DelayedForkByInstructionGraph, random: Random - ): PyPathSelectorAction = + ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) override fun toString(): String = "ServeOldDelayedForkByInstruction" @@ -86,11 +86,11 @@ object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOld class DelayedForkByInstructionGraph( basePathSelectorCreation: () -> UPathSelector, - root: DelayedForkGraphRootVertex + root: DelayedForkGraphRootVertex ): BaselineDelayedForkGraph(basePathSelectorCreation, root) { - internal val nodesByInstruction = mutableMapOf>>() + internal val nodesByInstruction = mutableMapOf>>() - override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { + override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { super.addVertex(df, vertex) var set = nodesByInstruction[vertex.delayedFork.state.pathNode.statement] if (set == null) { @@ -103,10 +103,10 @@ class DelayedForkByInstructionGraph( class DelayedForkByInstructionGraphCreation( private val basePathSelectorCreation: () -> UPathSelector -): DelayedForkGraphCreation { - override fun createEmptyDelayedForkState(): BaselineDelayedForkState = - BaselineDelayedForkState() +): DelayedForkGraphCreation { + override fun createEmptyDelayedForkState(): DelayedForkState = + DelayedForkState() - override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DelayedForkByInstructionGraph = + override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DelayedForkByInstructionGraph = DelayedForkByInstructionGraph(basePathSelectorCreation, root) } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/TypeRatingByNumberOfHints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/TypeRatingByNumberOfHints.kt new file mode 100644 index 0000000000..aa58fa7d2d --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/TypeRatingByNumberOfHints.kt @@ -0,0 +1,16 @@ +package org.usvm.machine.ps.strategies.impls + +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.DelayedForkStrategy +import org.usvm.machine.ps.strategies.TypeRating + +class TypeRatingByNumberOfHints: DelayedForkStrategy { + override fun chooseTypeRating(state: DFState): TypeRating { + require(state.size > 0) + val idx = List(state.size) { it }.maxBy { + val rating = state.getAt(it) + rating.numberOfHints - rating.numberOfUsed + } + return state.getAt(idx) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index 455b11f4e7..7024599c76 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -16,13 +16,13 @@ fun makeTypeRating(state: PyState, delayedFork: DelayedFork): TypeRating? { is TypesResult.TypesResultWithExpiredTimeout, is TypesResult.EmptyTypesResult -> return null } - val resultList = if (state.typeSystem is PythonTypeSystemWithMypyInfo) { + val (resultList, hints) = if (state.typeSystem is PythonTypeSystemWithMypyInfo) { val typeGraph = SymbolTypeTree(state, state.typeSystem.typeHintsStorage, delayedFork.symbol) - prioritizeTypes(candidates, typeGraph, state.typeSystem) + prioritizeTypes(candidates, typeGraph, state.typeSystem) to typeGraph.boundsForRoot.size } else { - candidates + candidates to 0 } - return TypeRating(resultList.toMutableList()) + return TypeRating(resultList.toMutableList(), hints) } fun prioritizeTypes(types: List, graph: SymbolTypeTree, typeSystem: PythonTypeSystemWithMypyInfo): List { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index bbfd7b5f94..48fc3349e5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -90,7 +90,10 @@ class SymbolTypeTree( ) } } - node.upperBounds.add(protocol(pythonAnyType)) + val originalHint = protocol(pythonAnyType) + if (originalHint.pythonDescription() !is PythonAnyTypeDescription) { + node.upperBounds.add(originalHint) + } val newNode = SymbolTreeNode(resultSymbol) val edge = SymbolTreeEdge(newNode, node) { type -> listOf(protocol(type)) } addEdge(edge) @@ -108,7 +111,9 @@ class SymbolTypeTree( private fun propagateBounds() { dfs(root) { edge -> edge.from.upperBounds.forEach { - val newBounds = edge.dependency(it) + val newBounds = edge.dependency(it).filter { type -> + type.pythonDescription() !is PythonAnyTypeDescription + } edge.to.upperBounds += newBounds } } From a2f9c7396784c916ef2d590b8a2b7b4183aba93b Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 12 Feb 2024 15:35:19 +0300 Subject: [PATCH 238/344] Changed ResultReceiver in runner --- .../runner/InputModelObserverForRunner.kt | 21 +++++++++++++++++++ .../org/usvm/runner/PyMachineSocketRunner.kt | 9 ++++---- .../org/usvm/runner/USVMPythonRunner.kt | 8 +++++-- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt new file mode 100644 index 0000000000..afd1c45eb7 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt @@ -0,0 +1,21 @@ +package org.usvm.runner + +import org.usvm.machine.results.observers.InputModelObserver +import org.usvm.machine.results.serialization.PickleArgsSerializer +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.python.model.PyInputModel + +class InputModelObserverForRunner( + private val communicator: PickledObjectCommunicator +): InputModelObserver() { + private val sentData = mutableSetOf() + override fun onInputModel(inputModel: PyInputModel) { + val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) + val objects = inputModel.inputArgs.map { renderer.convert(it) } + val data = PickleArgsSerializer.serialize(objects) ?: return + if (data !in sentData) { + sentData.add(data) + communicator.sendPickledInputs(data) + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index 31906872e0..0f3f736229 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -48,7 +48,7 @@ class PyMachineSocketRunner( timeoutMs: Long ) = machine.analyze( callable, - saver = ResultReceiver(NewStateObserverForRunner(communicator)), + saver = ResultReceiver(communicator), timeoutMs = timeoutMs, timeoutPerRunMs = timeoutPerRunMs, maxIterations = 1000, @@ -100,11 +100,10 @@ class PyMachineSocketRunner( analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) } - private class ResultReceiver( - override val newStateObserver: NewStateObserver - ): PyMachineResultsReceiver { + private class ResultReceiver(communicator: PickledObjectCommunicator): PyMachineResultsReceiver { + override val newStateObserver: NewStateObserver = EmptyNewStateObserver override val serializer = EmptyObjectSerializer - override val inputModelObserver = EmptyInputModelObserver + override val inputModelObserver = InputModelObserverForRunner(communicator) override val inputPythonObjectObserver = EmptyInputPythonObjectObserver override val pyTestObserver: PyTestObserver = EmptyPyTestObserver() } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index 260691f223..8a5f3f062c 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -54,8 +54,12 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable val processBuilder = ProcessBuilder(args) val env = processBuilder.environment() - env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" - env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath + if (System.getProperty("os.name")!!.lowercase().startsWith("windows")) { + env["PATH"] = (System.getProperty("PATH")?.let { "$it:" } ?: "") + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" + } else { + env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" + env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath + } env["PYTHONHOME"] = layout.cpythonPath.canonicalPath return processBuilder From 4137f3c9520ea349d6257f6f3b08c6677cb346df Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 19 Feb 2024 11:50:48 +0300 Subject: [PATCH 239/344] Removed commented out code --- .../org/usvm/interpreter/CPythonAdapter.java | 1 + .../main/kotlin/org/usvm/language/Program.kt | 1 - .../usvm/language/types/ElementConstraints.kt | 1 - .../kotlin/org/usvm/machine/PyComponents.kt | 2 - .../main/kotlin/org/usvm/machine/PyContext.kt | 1 - .../main/kotlin/org/usvm/machine/PyMachine.kt | 5 -- .../main/kotlin/org/usvm/machine/PyState.kt | 6 -- .../symbolic/operations/basic/Common.kt | 2 - .../symbolic/operations/basic/Long.kt | 2 - .../operations/basic/MethodNotifications.kt | 1 - .../kotlin/org/usvm/machine/model/PyModel.kt | 2 - .../kotlin/org/usvm/machine/model/Utils.kt | 2 - .../usvm/machine/ps/types/SymbolTypeTree.kt | 2 +- .../SymbolicObjectConstruction.kt | 3 +- .../symbolicobjects/memory/ArrayLike.kt | 65 ++----------------- .../machine/symbolicobjects/memory/Bool.kt | 1 - .../machine/symbolicobjects/memory/Dict.kt | 1 - .../symbolicobjects/memory/Enumerate.kt | 1 - .../machine/symbolicobjects/memory/Float.kt | 1 - .../machine/symbolicobjects/memory/Int.kt | 1 - .../machine/symbolicobjects/memory/Range.kt | 1 - .../symbolicobjects/memory/RangeIterator.kt | 1 - .../machine/symbolicobjects/memory/Set.kt | 1 - .../machine/symbolicobjects/memory/Slice.kt | 1 - .../machine/symbolicobjects/memory/Str.kt | 1 - .../symbolicobjects/memory/TupleIterator.kt | 1 - .../rendering/PyObjectRenderer.kt | 34 ++++------ .../usvm/machine/utils/PyMachineStatistics.kt | 2 + 28 files changed, 24 insertions(+), 119 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 21a6055b62..060e472e56 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -553,6 +553,7 @@ public static SymbolForCPython handlerPOSFloat(ConcolicRunContext context, Symbo } @CPythonAdapterJavaMethod(cName = "bool_and") + // might be useful in the future, but now this annotation leads to warning during compilation, and that is treated as error /*@CPythonFunction( argCTypes = {CType.PyObject, CType.PyObject}, argConverters = {ObjectConverter.StandardConverter, ObjectConverter.StandardConverter}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index a43090c07c..93b8320da6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -67,7 +67,6 @@ class StructuredPyProgram(val roots: Set): PyProgram(roots) { "$acc$name." } val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") - //println(module) if (ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) != "dict") return null return PyNamespace(resultAsObj.address) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt index 40a0c5d906..99cc22a3b0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt @@ -10,7 +10,6 @@ import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.model.nullAddress abstract class ElementConstraint { abstract fun applyUninterpreted( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index cb8972d554..a4ce148765 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -19,9 +19,7 @@ class PyComponents( override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) - // val softConstraintsProvider = USoftConstraintsProvider(ctx) val solver = KZ3Solver(ctx) -// solver.configure { setZ3Option("timeout", 1) } return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index eeb96a83d5..f00c69e186 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -25,7 +25,6 @@ class PyContext( fun intToFloat(intValue: UExpr): UExpr { return mkIntToReal(intValue) - //return mkRealToFpExpr(fp64Sort, floatRoundingMode, realValue) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index f31c1a329e..b484d9b845 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -116,11 +116,6 @@ class PyMachine( PyPinnedCallable(substituted) } val pyObserver = PythonMachineObserver(saver.newStateObserver) - /*val coverageStatistics = - CoverageStatistics( - setOf(pinnedCallable), - PyApplicationGraph() - )*/ val observer = CompositeUMachineObserver(pyObserver) val startTime = System.currentTimeMillis() val stopTime = timeoutMs?.let { startTime + it } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 82ed2ed304..59b9216d42 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -9,17 +9,12 @@ import org.usvm.language.* import org.usvm.language.types.* import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel -import org.usvm.machine.ps.strategies.TypeRating import org.usvm.machine.symbolicobjects.PreallocatedObjects -import org.usvm.machine.ps.types.SymbolTypeTree -import org.usvm.machine.ps.types.prioritizeTypes import org.usvm.memory.UMemory import org.usvm.targets.UTarget import org.usvm.types.UTypeStream -import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.model.UModelBase import org.usvm.targets.UTargetsSet -import org.usvm.types.TypesResult object PyTarget: UTarget() private val targets = UTargetsSet.empty() @@ -82,7 +77,6 @@ class PyState( val cached = mocks[what] if (cached != null) return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) - // println("what.args: ${what.args}") val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index fdaf77861d..607e924ea9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -156,7 +156,6 @@ fun handlerStandardTpGetattroKt( if (ctx.curState == null) return null val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null - // println("Attr: $concreteStr") val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) var defaultValue: UninterpretedSymbolicPythonObject? = null @@ -172,7 +171,6 @@ fun handlerStandardTpGetattroKt( if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) return null val containsFieldCond = obj.containsField(ctx, name) - // println("Attr result: ${ctx.modelHolder.model.eval(containsFieldCond).isTrue}") val result = obj.getFieldValue(ctx, name) val typeSystem = ctx.typeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index bf502166b8..3c87dfd8e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -31,8 +31,6 @@ private fun createBinaryIntOp( null else with (ctx.ctx) { val typeSystem = ctx.typeSystem - // val possibleTypes = listOf(typeSystem.pythonInt, typeSystem.pythonBool) - // addPossibleSupertypes(ctx, listOf(left, right), possibleTypes) if (left.getTypeIfDefined(ctx) != typeSystem.pythonInt) { myFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index acfb157013..af49ebb6c0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -7,7 +7,6 @@ import org.usvm.language.types.* @Suppress("unused_parameter") fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - // on.addSupertypeSoft(context, HasNbBool) // TODO } fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index a2c2a6d332..ec59e86a9a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -14,10 +14,8 @@ import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.types.* import org.usvm.machine.PyContext -import org.usvm.machine.PyState import org.usvm.machine.model.regions.* import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index 9d33461835..4d07fa6722 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -14,7 +14,6 @@ import org.usvm.machine.PyState import org.usvm.model.UModelBase import org.usvm.types.TypesResult - fun UModelBase.toPyModel( ctx: PyContext, ps: UPathConstraints, @@ -55,7 +54,6 @@ fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { logger.error("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods return null } - // require(first is MockType) } return first } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index 48fc3349e5..937380c69b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -32,7 +32,7 @@ class SymbolTypeTree( NbSubtractMethod -> { returnType: UtType -> createBinaryProtocol("__sub__", pythonAnyType, returnType) } NbBoolMethod -> - { _: UtType -> pythonAnyType /* createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) */ } + { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } NbIntMethod -> { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } NbNegativeMethod -> diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index d6ae1bd041..1189c53257 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -21,8 +21,7 @@ fun constructInputObject( ctx: PyContext, memory: UMemory, pathConstraints: UPathConstraints, - typeSystem: PythonTypeSystem, - // preallocatedObjects: PreallocatedObjects + typeSystem: PythonTypeSystem ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") val address = memory.read(URegisterStackLValue(ctx.addressSort, stackIndex)) as UExpr diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index fda220bb1d..dc0f146509 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -12,13 +12,9 @@ import org.usvm.language.types.HasElementConstraint import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert -import org.usvm.machine.model.getConcreteType import org.usvm.machine.symbolicobjects.* import org.usvm.types.first - -const val DEFAULT_ELEMENT_INDEX = -1 - fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) @@ -32,34 +28,6 @@ fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: PyContext): UExpr< return modelHolder.model.readArrayLength(address, ArrayType, ctx.intSort) } -fun UninterpretedSymbolicPythonObject.defaultElement(ctx: ConcolicRunContext): UHeapRef { - val type = getTypeIfDefined(ctx) - require(ctx.curState != null && type != null && type is ArrayLikeConcretePythonType && type.innerType != null) - val result = ctx.curState!!.memory.readArrayIndex( - address, - ctx.ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), - ArrayType, - ctx.ctx.addressSort - ) - val obj = UninterpretedSymbolicPythonObject(result, ctx.typeSystem) - val array = this - val cond = with(ctx.ctx) { - type.elementConstraints.fold(trueExpr as UBoolExpr) { acc, constraint -> - acc and constraint.applyUninterpreted(array, obj, ctx) - } - } - myAssert(ctx, cond) - return result -} - -fun InterpretedInputSymbolicPythonObject.defaultElement(ctx: PyContext): UConcreteHeapRef = - modelHolder.model.readArrayIndex( - address, - ctx.mkIntNum(DEFAULT_ELEMENT_INDEX), - ArrayType, - ctx.addressSort - ) as UConcreteHeapRef - fun UninterpretedSymbolicPythonObject.readArrayElement( ctx: ConcolicRunContext, index: UExpr @@ -75,14 +43,7 @@ fun UninterpretedSymbolicPythonObject.readArrayElement( ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) } myAssert(ctx, cond) - val actualAddress = if (type.innerType != null) { - with(ctx.ctx) { - mkIte(mkHeapRefEq(elemAddress, nullRef), defaultElement(ctx), elemAddress) - } - } else { - elemAddress - } - return UninterpretedSymbolicPythonObject(actualAddress, typeSystem) + return UninterpretedSymbolicPythonObject(elemAddress, typeSystem) } fun InterpretedInputSymbolicPythonObject.readArrayElement( @@ -96,22 +57,12 @@ fun InterpretedInputSymbolicPythonObject.readArrayElement( ArrayType, ctx.addressSort ) as UConcreteHeapRef - val actualAddress = if (element.address == 0) { - val type = modelHolder.model.getConcreteType(address) - if (type != null && type is ArrayLikeConcretePythonType && type.innerType != null) { - defaultElement(ctx) - } else { - element - } - } else { - element - } - return if (isStaticHeapRef(actualAddress)) { - val type = state.memory.typeStreamOf(actualAddress).first() + return if (isStaticHeapRef(element)) { + val type = state.memory.typeStreamOf(element).first() require(type is ConcretePythonType) - InterpretedAllocatedOrStaticSymbolicPythonObject(actualAddress, type, typeSystem) + InterpretedAllocatedOrStaticSymbolicPythonObject(element, type, typeSystem) } else { - InterpretedInputSymbolicPythonObject(actualAddress, modelHolder, typeSystem) + InterpretedInputSymbolicPythonObject(element, modelHolder, typeSystem) } } @@ -129,12 +80,6 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement( } myAssert(ctx, cond) } - if (type.innerType != null) { - myAssert( - ctx, - with(ctx.ctx) { mkHeapRefEq(value.address, nullRef).not() or mkHeapRefEq(defaultElement(ctx), nullRef) } - ) - } ctx.curState!!.memory.writeArrayIndex( address, index, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 3d575cc500..d6754c0dac 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -12,7 +12,6 @@ import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory - fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonBool) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index f7dad512ca..8c6e99b066 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -25,7 +25,6 @@ import org.usvm.memory.UMemory import org.usvm.memory.key.USizeExprKeyInfo import org.usvm.types.first - fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoolExpr { require(ctx.curState != null) val typeSystem = ctx.typeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt index a4c743317f..7beeff04e3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -8,7 +8,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.EnumerateContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - fun UninterpretedSymbolicPythonObject.initializeEnumerate( ctx: ConcolicRunContext, arg: UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 693b1427c0..9ee0bb0e70 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -14,7 +14,6 @@ import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory - sealed class FloatInterpretedContent object FloatNan: FloatInterpretedContent() object FloatPlusInfinity: FloatInterpretedContent() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 1823b85550..d24137f767 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -11,7 +11,6 @@ import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory - fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonInt) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt index 09c30bfa86..21e1aa19a0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -7,7 +7,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - fun UninterpretedSymbolicPythonObject.setRangeContent( ctx: ConcolicRunContext, start: UExpr, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt index 38804a8389..c03b61373d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -9,7 +9,6 @@ import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.RangeIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( ctx: ConcolicRunContext, range: UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index c14f633fbc..6d9ffd2892 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -20,7 +20,6 @@ import org.usvm.machine.symbolicobjects.SetContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.memory.key.USizeExprKeyInfo - fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { require(ctx.curState != null) val typeSystem = ctx.typeSystem diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index c23c8e4867..74973d17c5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -15,7 +15,6 @@ import org.usvm.machine.symbolicobjects.PropertyOfPythonObject import org.usvm.machine.symbolicobjects.SliceContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - data class SliceInterpretedContent( val start: KInterpretedValue?, val stop: KInterpretedValue?, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt index d456d6b0f9..0662508da0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt @@ -3,6 +3,5 @@ package org.usvm.machine.symbolicobjects.memory import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = preallocatedObjects.concreteString(this) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index ec652e30e1..b5e960e08b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -9,7 +9,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.TupleIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt index a249f5538d..04453a74ea 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt @@ -53,28 +53,22 @@ class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { val result = ConcretePythonInterpreter.eval(namespace, repr) converted[model] = result ConcretePythonInterpreter.addObjectToNamespace(namespace, result, "result") - if (model.listItems != null) { - model.listItems!!.forEach { - val elemRef = convert(it) - ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") - ConcretePythonInterpreter.concreteRun(namespace, "result.append(elem)") - } + model.listItems?.forEach { + val elemRef = convert(it) + ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") + ConcretePythonInterpreter.concreteRun(namespace, "result.append(elem)") } - if (model.dictItems != null) { - model.dictItems!!.forEach { (key, elem) -> - val keyRef = convert(key) - val elemRef = convert(elem) - ConcretePythonInterpreter.addObjectToNamespace(namespace, keyRef, "key") - ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") - ConcretePythonInterpreter.concreteRun(namespace, "result[key] = elem") - } + model.dictItems?.forEach { (key, elem) -> + val keyRef = convert(key) + val elemRef = convert(elem) + ConcretePythonInterpreter.addObjectToNamespace(namespace, keyRef, "key") + ConcretePythonInterpreter.addObjectToNamespace(namespace, elemRef, "elem") + ConcretePythonInterpreter.concreteRun(namespace, "result[key] = elem") } - if (model.fieldDict != null) { - model.fieldDict!!.forEach { (name, value) -> - val valueRef = convert(value) - ConcretePythonInterpreter.addObjectToNamespace(namespace, valueRef, "value") - ConcretePythonInterpreter.concreteRun(namespace, "result.$name = value") - } + model.fieldDict?.forEach { (name, value) -> + val valueRef = convert(value) + ConcretePythonInterpreter.addObjectToNamespace(namespace, valueRef, "value") + ConcretePythonInterpreter.concreteRun(namespace, "result.$name = value") } ConcretePythonInterpreter.decref(namespace) return result diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index 4866d50c9d..ad4f76eba3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -5,6 +5,8 @@ import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.tracing.NextInstruction +// TODO [usvm-core]: replace with abstract statistics + fun writeLostSymbolicValuesReport(lostValues: Map): String { val result = StringBuilder() lostValues.toList().sortedBy { -it.second }.forEach { (description, count) -> From c45ce933cb6490b70f24301c9c347baa0c97554a Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 19 Feb 2024 13:35:37 +0300 Subject: [PATCH 240/344] small fix in model visitor --- .../usvm/python/model/PyObjectModelVisitor.kt | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt index d1a691a235..4f17bf4c6f 100644 --- a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt +++ b/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt @@ -22,25 +22,19 @@ open class PyObjectModelVisitor { if (it !in visited) visit(it) } - obj.listItems?.let { - it.forEach { item -> - if (item !in visited) - visit(item) - } + obj.listItems?.forEach { item -> + if (item !in visited) + visit(item) } - obj.dictItems?.let { - it.forEach { (key, value) -> - if (key !in visited) - visit(key) - if (value !in visited) - visit(value) - } + obj.dictItems?.forEach { (key, value) -> + if (key !in visited) + visit(key) + if (value !in visited) + visit(value) } - obj.fieldDict?.let { - it.values.forEach { item -> - if (item !in visited) - visit(item) - } + obj.fieldDict?.values?.forEach { item -> + if (item !in visited) + visit(item) } } open fun visit(obj: PyTupleObject) { From 11b791bc121359b9e063ec0a2d2da9dd22e17f8d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 13:43:57 +0300 Subject: [PATCH 241/344] Changed usvm-python module logic --- buildSrc/src/main/kotlin/Versions.kt | 2 ++ settings.gradle.kts | 34 ++++++------------- usvm-python/build.gradle.kts | 26 +++----------- usvm-python/src/test/kotlin/manualTest.kt | 12 +++---- .../kotlin/org/usvm/runner/BuildSamples.kt | 4 +-- .../kotlin/org/usvm/runner/SamplesBuild.kt | 4 +-- usvm-python/usvm-python-main/build.gradle.kts | 23 +------------ .../org/usvm/language/types/TypeSystem.kt | 10 +++--- .../usvm/language/types/UtTypeConversion.kt | 12 +++---- .../symbolic/operations/basic/Common.kt | 2 +- .../usvm/machine/ps/types/Prioritization.kt | 4 +-- .../usvm/machine/ps/types/SymbolTypeTree.kt | 12 +++---- .../org/usvm/machine/utils/UtTypeUtils.kt | 4 +-- .../org/usvm/runner/PyMachineSocketRunner.kt | 14 ++++---- 14 files changed, 57 insertions(+), 106 deletions(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 7d0d0505f0..bafa3b6e8e 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -22,4 +22,6 @@ object Versions { const val ini4j = "0.5.4" const val sarif4k = "0.5.0" + + const val pythonTypesAPIHash="139b81d" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 8bab3ffc83..db10c5cf01 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -28,26 +28,14 @@ pluginManagement { } } -// from GRADLE_USER_HOME/gradle.properties -val githubUserFromHome: String? by settings -val githubTokenFromHome: String? by settings // with permission to read packages - -val githubUser: String? = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") -val githubToken: String? = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") -val pythonActivated = githubUser != null && githubToken != null - -if (pythonActivated) { - include("usvm-python") - include("usvm-python:cpythonadapter") - findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" - include("usvm-python:usvm-python-annotations") - findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" - include("usvm-python:usvm-python-main") - findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" - include("usvm-python:usvm-python-runner") - findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" - include("usvm-python:usvm-python-object-model") - findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" -} else { - logger.warn("Warning: usvm-python modules are disabled") -} +include("usvm-python") +include("usvm-python:cpythonadapter") +findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" +include("usvm-python:usvm-python-annotations") +findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" +include("usvm-python:usvm-python-main") +findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" +include("usvm-python:usvm-python-runner") +findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" +include("usvm-python:usvm-python-object-model") +findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index e709688bd7..842531d577 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -5,32 +5,16 @@ plugins { distribution } -// from GRADLE_USER_HOME/gradle.properties -val githubUserFromHome: String? by project -val githubTokenFromHome: String? by project // with permission to read packages - -val githubUser: String = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") ?: error("githubUser not defined") -val githubToken: String = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") ?: error("githubToken not defined") - -repositories { - maven { - url = uri("https://maven.pkg.github.com/tochilinak/UTBotJava") - credentials { - username = githubUser - password = githubToken - } - } -} - dependencies { implementation(project(":usvm-core")) implementation(project(":usvm-python:usvm-python-main")) implementation(project(":usvm-python:usvm-python-object-model")) - implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") - + implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") implementation("ch.qos.logback:logback-classic:${Versions.logback}") } +val pythonTestActivated: String? by project + tasks.jar { dependsOn(":usvm-util:jar") dependsOn(":usvm-core:jar") @@ -132,9 +116,6 @@ tasks.register("manualTestDebugNoLogs") { } classpath = sourceSets.test.get().runtimeClasspath mainClass.set("ManualTestKt") - //doFirst { - // println(sourceSets.test.get().runtimeClasspath.joinToString(separator = ":")) - //} } /* @@ -149,6 +130,7 @@ tasks.register("manualTestRelease") { */ tasks.test { + onlyIf { pythonTestActivated?.toLowerCase() == "true" } maxHeapSize = "2G" val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 99ef3fcc1d..0b39a22994 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -16,12 +16,12 @@ import org.usvm.utils.getPythonFilesFromRoot import org.usvm.machine.utils.withAdditionalPaths import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.buildMypyInfo -import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import org.utpython.types.* +import org.utpython.types.general.FunctionType +import org.utpython.types.general.UtType +import org.utpython.types.mypy.MypyBuildDirectory +import org.utpython.types.mypy.buildMypyInfo +import org.utpython.types.mypy.readMypyInfoBuild import java.io.File import kotlin.time.Duration.Companion.seconds diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt index 79608fb83f..22c2b53af4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -2,8 +2,8 @@ package org.usvm.runner import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.buildMypyInfo +import org.utpython.types.mypy.MypyBuildDirectory +import org.utpython.types.mypy.buildMypyInfo import java.io.File fun main(args: Array) { diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt index 4aec5217a8..905ccf0d29 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt @@ -1,8 +1,8 @@ package org.usvm.runner import org.usvm.language.StructuredPyProgram -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.readMypyInfoBuild +import org.utpython.types.mypy.MypyBuildDirectory +import org.utpython.types.mypy.readMypyInfoBuild import java.io.File object SamplesBuild { diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index a315c32da0..e8308e57ec 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -11,34 +11,13 @@ tasks.compileJava { outputs.dirs(headerPath) } -// from GRADLE_USER_HOME/gradle.properties -val githubUserFromHome: String? by project -val githubTokenFromHome: String? by project // with permission to read packages - -val githubUser: String = githubUserFromHome ?: System.getenv("GITHUB_ACTOR") ?: error("githubUser not defined") -val githubToken: String = githubTokenFromHome ?: System.getenv("GITHUB_TOKEN") ?: error("githubToken not defined") - -repositories { - maven { - url = uri("https://maven.pkg.github.com/tochilinak/UTBotJava") - credentials { - username = githubUser - password = githubToken - } - } -} - dependencies { implementation(project(":usvm-core")) implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) implementation(project(mapOf("path" to ":usvm-python:usvm-python-object-model"))) annotationProcessor(project(":usvm-python:usvm-python-annotations")) - implementation("org.utbot:utbot-python-types:2023.11-SNAPSHOT") - - // implementation("io.ksmt:ksmt-yices:${Versions.ksmt}") - // implementation("io.ksmt:ksmt-cvc5:${Versions.ksmt}") - // implementation("io.ksmt:ksmt-bitwuzla:${Versions.ksmt}") + implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt index 6145f005d6..f8366a40b5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt @@ -10,11 +10,11 @@ import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem import org.usvm.machine.utils.withAdditionalPaths import org.usvm.python.model.PyIdentifier -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.getBoundedParameters -import org.utbot.python.newtyping.mypy.MypyInfoBuild +import org.utpython.types.* +import org.utpython.types.general.UtType +import org.utpython.types.general.DefaultSubstitutionProvider +import org.utpython.types.general.getBoundedParameters +import org.utpython.types.mypy.MypyInfoBuild import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt index 256a7a55b8..cef8798a14 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt @@ -1,11 +1,11 @@ package org.usvm.language.types -import org.utbot.python.newtyping.PythonSubtypeChecker -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.general.getBoundedParameters -import org.utbot.python.newtyping.pythonAnyType -import org.utbot.python.newtyping.typesAreEqual +import org.utpython.types.PythonSubtypeChecker +import org.utpython.types.general.DefaultSubstitutionProvider +import org.utpython.types.general.UtType +import org.utpython.types.general.getBoundedParameters +import org.utpython.types.pythonAnyType +import org.utpython.types.typesAreEqual fun getTypeFromTypeHint( hint: UtType, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 607e924ea9..d803a78298 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -16,7 +16,7 @@ import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstrai import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.* import org.usvm.machine.utils.MethodDescription -import org.utbot.python.newtyping.getPythonAttributeByName +import org.utpython.types.getPythonAttributeByName import java.util.stream.Stream import kotlin.streams.asSequence diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index 7024599c76..afb3407e1a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -7,8 +7,8 @@ import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.TypeRating import org.usvm.machine.utils.MAX_CONCRETE_TYPES_TO_CONSIDER import org.usvm.types.TypesResult -import org.utbot.python.newtyping.PythonSubtypeChecker -import org.utbot.python.newtyping.general.UtType +import org.utpython.types.PythonSubtypeChecker +import org.utpython.types.general.UtType fun makeTypeRating(state: PyState, delayedFork: DelayedFork): TypeRating? { val candidates = when (val types = delayedFork.possibleTypes.take(MAX_CONCRETE_TYPES_TO_CONSIDER)) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index 937380c69b..ce5ea4140c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -5,12 +5,12 @@ import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getConcreteStrIfDefined -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.FunctionTypeCreator -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.inference.TypeInferenceEdgeWithBound -import org.utbot.python.newtyping.inference.TypeInferenceNode -import org.utbot.python.newtyping.inference.addEdge +import org.utpython.types.* +import org.utpython.types.general.FunctionTypeCreator +import org.utpython.types.general.UtType +import org.utpython.types.inference.TypeInferenceEdgeWithBound +import org.utpython.types.inference.TypeInferenceNode +import org.utpython.types.inference.addEdge class SymbolTypeTree( private val state: PyState, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt index b4964f1cb5..0a781a5113 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -4,8 +4,8 @@ import org.usvm.language.types.ConcretePythonType import org.usvm.language.types.PythonTypeSystem import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.utbot.python.newtyping.PythonCompositeTypeDescription -import org.utbot.python.newtyping.pythonDescription +import org.utpython.types.PythonCompositeTypeDescription +import org.utpython.types.pythonDescription fun getMembersFromType( type: ConcretePythonType, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index 0f3f736229..c9ba995b77 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -8,13 +8,13 @@ import org.usvm.machine.PyMachine import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.* import org.usvm.machine.results.serialization.EmptyObjectSerializer -import org.utbot.python.newtyping.PythonCallableTypeDescription -import org.utbot.python.newtyping.PythonCompositeTypeDescription -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.UtType -import org.utbot.python.newtyping.mypy.MypyBuildDirectory -import org.utbot.python.newtyping.mypy.readMypyInfoBuild -import org.utbot.python.newtyping.pythonDescription +import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.PythonCompositeTypeDescription +import org.utpython.types.general.FunctionType +import org.utpython.types.general.UtType +import org.utpython.types.mypy.MypyBuildDirectory +import org.utpython.types.mypy.readMypyInfoBuild +import org.utpython.types.pythonDescription import java.io.File class PyMachineSocketRunner( From 3bb9317865c4a769a68d96393376f94e88327af5 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 15:03:34 +0300 Subject: [PATCH 242/344] Work on test task dependencies --- usvm-python/build.gradle.kts | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 842531d577..6baaf89b1d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -14,6 +14,7 @@ dependencies { } val pythonTestActivated: String? by project +val pythonTestActivatedFlag = pythonTestActivated?.toLowerCase() == "true" tasks.jar { dependsOn(":usvm-util:jar") @@ -130,22 +131,24 @@ tasks.register("manualTestRelease") { */ tasks.test { - onlyIf { pythonTestActivated?.toLowerCase() == "true" } - maxHeapSize = "2G" - val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() - // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() - if (!isWindows) { - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - } else { - args += "-Djava.library.path=$cpythonAdapterBuildPath" - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + onlyIf { pythonTestActivatedFlag } + if (pythonTestActivatedFlag) { + maxHeapSize = "2G" + val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() + // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() + if (!isWindows) { + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") + } else { + args += "-Djava.library.path=$cpythonAdapterBuildPath" + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } + jvmArgs = args + dependsOn(":usvm-python:cpythonadapter:linkDebug") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + dependsOn(buildSamples) + environment("PYTHONHOME" to cpythonBuildPath) } - jvmArgs = args - dependsOn(":usvm-python:cpythonadapter:linkDebug") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - dependsOn(buildSamples) - environment("PYTHONHOME" to cpythonBuildPath) } distributions { @@ -175,7 +178,7 @@ tasks.jar { val dependencies = configurations .runtimeClasspath .get() - .map(::zipTree) // OR .map { zipTree(it) } + .map(::zipTree) from(dependencies) duplicatesStrategy = DuplicatesStrategy.EXCLUDE } From 3a2abf057d7c3dd918878d738d8e5fab6389617f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 15:44:10 +0300 Subject: [PATCH 243/344] More work on dependencies --- usvm-python/build.gradle.kts | 262 ++++++++-------- usvm-python/cpythonadapter/build.gradle.kts | 317 ++++++++++---------- 2 files changed, 299 insertions(+), 280 deletions(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 6baaf89b1d..220abf6b57 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -13,8 +13,12 @@ dependencies { implementation("ch.qos.logback:logback-classic:${Versions.logback}") } -val pythonTestActivated: String? by project -val pythonTestActivatedFlag = pythonTestActivated?.toLowerCase() == "true" +val cpythonActivated: String? by project +val cpythonActivatedFlag = cpythonActivated?.toLowerCase() == "true" + +tasks.test { + onlyIf { cpythonActivatedFlag } +} tasks.jar { dependsOn(":usvm-util:jar") @@ -23,116 +27,120 @@ tasks.jar { dependsOn(":usvm-python:usvm-python-object-model:jar") } -val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) -val samplesSourceDir = File(projectDir, "src/test/resources/samples") -val approximationsDir = File(projectDir, "python_approximations") -val samplesBuildDir = File(project.buildDir, "samples_build") -val commonJVMArgs = listOf( - "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", - "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", - "-Dapproximations.path=${approximationsDir.canonicalPath}", - "-Xss50m" -) - - -val cpythonPath: String = File(childProjects["cpythonadapter"]!!.projectDir, "cpython").path -val cpythonBuildPath: String = File(childProjects["cpythonadapter"]!!.buildDir, "cpython_build").path -val cpythonAdapterBuildPath: String = - File(childProjects["cpythonadapter"]!!.buildDir, "/lib/main/debug").path // TODO: and release? -val pythonBinaryPath: String = - if (!isWindows) { - "$cpythonBuildPath/bin/python3" - } else { - File(cpythonBuildPath, "python_d.exe").canonicalPath - } -val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows - -val installMypyRunner = tasks.register("installUtbotMypyRunner") { - group = "samples" - dependsOn(":usvm-python:cpythonadapter:linkDebug") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - inputs.dir(cpythonPath) - if (isWindows) { - outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) +if (cpythonActivatedFlag) { + val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) + val samplesSourceDir = File(projectDir, "src/test/resources/samples") + val approximationsDir = File(projectDir, "python_approximations") + val samplesBuildDir = File(project.buildDir, "samples_build") + val commonJVMArgs = listOf( + "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", + "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", + "-Dapproximations.path=${approximationsDir.canonicalPath}", + "-Xss50m" + ) + + val cpythonPath: String = File(childProjects["cpythonadapter"]!!.projectDir, "cpython").path + val cpythonBuildPath: String = File(childProjects["cpythonadapter"]!!.buildDir, "cpython_build").path + val cpythonAdapterBuildPath: String = + File(childProjects["cpythonadapter"]!!.buildDir, "/lib/main/debug").path // TODO: and release? + val pythonBinaryPath: String = + if (!isWindows) { + "$cpythonBuildPath/bin/python3" + } else { + File(cpythonBuildPath, "python_d.exe").canonicalPath + } + val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows + + val installMypyRunner = tasks.register("installUtbotMypyRunner") { + group = "samples" + dependsOn(":usvm-python:cpythonadapter:linkDebug") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + inputs.dir(cpythonPath) + if (isWindows) { + outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) + } + if (!isWindows) { + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + } + environment("PYTHONHOME" to cpythonBuildPath) + commandLine(pythonBinaryPath, "-m", "ensurepip") + commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.15") } - if (!isWindows) { + + val buildSamples = tasks.register("buildSamples") { + dependsOn(installMypyRunner) + inputs.files(fileTree(samplesSourceDir).exclude("**/__pycache__/**")) + outputs.dir(samplesBuildDir) + group = "samples" + classpath = sourceSets.test.get().runtimeClasspath + args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, pythonBinaryPath) environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + mainClass.set("org.usvm.runner.BuildSamplesKt") } - environment("PYTHONHOME" to cpythonBuildPath) - commandLine(pythonBinaryPath, "-m", "ensurepip") - commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.15") -} -val buildSamples = tasks.register("buildSamples") { - dependsOn(installMypyRunner) - inputs.files(fileTree(samplesSourceDir).exclude("**/__pycache__/**")) - outputs.dir(samplesBuildDir) - group = "samples" - classpath = sourceSets.test.get().runtimeClasspath - args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, pythonBinaryPath) - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("PYTHONHOME" to cpythonBuildPath) - mainClass.set("org.usvm.runner.BuildSamplesKt") -} - -fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { - if (debug) - dependsOn(":usvm-python:cpythonadapter:linkDebug") - else - dependsOn(":usvm-python:cpythonadapter:linkRelease") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - environment("PYTHONHOME" to cpythonBuildPath) -} - -tasks.register("manualTestDebug") { - group = "run" - dependsOn(buildSamples) - maxHeapSize = "2G" - if (!isWindows) { - registerCpython(this, debug = true) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") - } else { + fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { + if (debug) + dependsOn(":usvm-python:cpythonadapter:linkDebug") + else + dependsOn(":usvm-python:cpythonadapter:linkRelease") + dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") environment("PYTHONHOME" to cpythonBuildPath) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml", "-Djava.library.path=$cpythonAdapterBuildPath") - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") } - classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") -} -tasks.register("manualTestDebugNoLogs") { - group = "run" - registerCpython(this, debug = true) - dependsOn(buildSamples) - maxHeapSize = "2G" - if (!isWindows) { + tasks.register("manualTestDebug") { + group = "run" + dependsOn(buildSamples) + maxHeapSize = "2G" + if (!isWindows) { + registerCpython(this, debug = true) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") + } else { + environment("PYTHONHOME" to cpythonBuildPath) + jvmArgs = commonJVMArgs + listOf( + "-Dlogback.configurationFile=logging/logback-debug.xml", + "-Djava.library.path=$cpythonAdapterBuildPath" + ) + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") + } + + tasks.register("manualTestDebugNoLogs") { + group = "run" registerCpython(this, debug = true) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml") //, "-Xcheck:jni") - } else { - environment("PYTHONHOME" to cpythonBuildPath) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml", "-Djava.library.path=$cpythonAdapterBuildPath") - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + dependsOn(buildSamples) + maxHeapSize = "2G" + if (!isWindows) { + registerCpython(this, debug = true) + jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml") //, "-Xcheck:jni") + } else { + environment("PYTHONHOME" to cpythonBuildPath) + jvmArgs = commonJVMArgs + listOf( + "-Dlogback.configurationFile=logging/logback-info.xml", + "-Djava.library.path=$cpythonAdapterBuildPath" + ) + environment("PATH", "$cpythonBuildPath;$pythonDllsPath") + } + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") } - classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") -} -/* -tasks.register("manualTestRelease") { - group = "run" - registerCpython(this, debug = false) - dependsOn(buildSamples) - jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" - classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") -} -*/ + /* + tasks.register("manualTestRelease") { + group = "run" + registerCpython(this, debug = false) + dependsOn(buildSamples) + jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" + classpath = sourceSets.test.get().runtimeClasspath + mainClass.set("ManualTestKt") + } + */ -tasks.test { - onlyIf { pythonTestActivatedFlag } - if (pythonTestActivatedFlag) { + tasks.test { maxHeapSize = "2G" val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() @@ -149,36 +157,36 @@ tasks.test { dependsOn(buildSamples) environment("PYTHONHOME" to cpythonBuildPath) } -} -distributions { - main { - contents { - into("lib") { - from(cpythonAdapterBuildPath) - from(fileTree(approximationsDir).exclude("**/__pycache__/**").exclude("**/*.iml")) - } - into("cpython") { - from(fileTree(cpythonBuildPath).exclude("**/__pycache__/**")) - } - into("jar") { - from(File(project.buildDir, "libs/usvm-python.jar")) + distributions { + main { + contents { + into("lib") { + from(cpythonAdapterBuildPath) + from(fileTree(approximationsDir).exclude("**/__pycache__/**").exclude("**/*.iml")) + } + into("cpython") { + from(fileTree(cpythonBuildPath).exclude("**/__pycache__/**")) + } + into("jar") { + from(File(project.buildDir, "libs/usvm-python.jar")) + } } } } -} -tasks.jar { - dependsOn(":usvm-python:usvm-python-main:jar") - manifest { - attributes( - "Main-Class" to "org.usvm.runner.UtBotPythonRunnerEntryPointKt", - ) + tasks.jar { + dependsOn(":usvm-python:usvm-python-main:jar") + manifest { + attributes( + "Main-Class" to "org.usvm.runner.UtBotPythonRunnerEntryPointKt", + ) + } + val dependencies = configurations + .runtimeClasspath + .get() + .map(::zipTree) + from(dependencies) + duplicatesStrategy = DuplicatesStrategy.EXCLUDE } - val dependencies = configurations - .runtimeClasspath - .get() - .map(::zipTree) - from(dependencies) - duplicatesStrategy = DuplicatesStrategy.EXCLUDE } diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index b8a9b439f5..799f6496ca 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -8,183 +8,194 @@ plugins { `cpp-library` } -val cpythonPath: String = File(projectDir, "cpython").canonicalPath -val cpythonBuildPath: String = File(project.buildDir.path, "cpython_build").canonicalPath -val cpythonTaskGroup = "cpython" -val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) -val windowsBuildScript = File(cpythonPath, "PCBuild/build.bat") +val cpythonActivated: String? by project +val cpythonActivatedFlag = cpythonActivated?.toLowerCase() == "true" -val configCPythonDebug = - if (!isWindows) { - tasks.register("CPythonBuildConfigurationDebug") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - val includePipFile = File(projectDir, "include_pip_in_build") - inputs.file(includePipFile) - outputs.file("$cpythonPath/Makefile") - val pipLine = if (includePipFile.readText().trim() == "false") { - "--with-ensurepip=no" - } else { - "--with-ensurepip=yes" - } - doFirst { - println("Pip line: $pipLine") +if (cpythonActivatedFlag) { + val cpythonPath: String = File(projectDir, "cpython").canonicalPath + val cpythonBuildPath: String = File(project.buildDir.path, "cpython_build").canonicalPath + val cpythonTaskGroup = "cpython" + val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) + val windowsBuildScript = File(cpythonPath, "PCBuild/build.bat") + + val configCPythonDebug = + if (!isWindows) { + tasks.register("CPythonBuildConfigurationDebug") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + val includePipFile = File(projectDir, "include_pip_in_build") + inputs.file(includePipFile) + outputs.file("$cpythonPath/Makefile") + val pipLine = if (includePipFile.readText().trim() == "false") { + "--with-ensurepip=no" + } else { + "--with-ensurepip=yes" + } + doFirst { + println("Pip line: $pipLine") + } + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + pipLine, + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--with-assertions" + ) } - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - pipLine, - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--with-assertions" - ) + } else { + null } - } else { - null - } -/* -val configCPythonRelease = - if (!isWindows) { - tasks.register("CPythonBuildConfigurationRelease") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - outputs.file("$cpythonPath/Makefile") + /* + val configCPythonRelease = + if (!isWindows) { + tasks.register("CPythonBuildConfigurationRelease") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + outputs.file("$cpythonPath/Makefile") + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=yes", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--enable-optimizations" + ) + } + } else { + null + } + */ + + val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { + group = cpythonTaskGroup + inputs.dir(File(cpythonPath, "Objects")) + inputs.dir(File(cpythonPath, "Python")) + inputs.dir(File(cpythonPath, "Include")) + workingDir = File(cpythonPath) + if (!isWindows) { + dependsOn(configCPythonDebug!!) + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") + commandLine("make") + commandLine("make", "install") + } else { + outputs.dirs(cpythonBuildPath) commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - "--with-ensurepip=yes", - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--enable-optimizations" + windowsBuildScript.canonicalPath, + "-c", + "Debug", + "-t", + "Build", + "--generate-layout", + cpythonBuildPath ) } - } else { - null } - */ - -val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { - group = cpythonTaskGroup - inputs.dir(File(cpythonPath, "Objects")) - inputs.dir(File(cpythonPath, "Python")) - inputs.dir(File(cpythonPath, "Include")) - workingDir = File(cpythonPath) - if (!isWindows) { - dependsOn(configCPythonDebug!!) - outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") - commandLine("make") - commandLine("make", "install") - } else { - outputs.dirs(cpythonBuildPath) - commandLine(windowsBuildScript.canonicalPath, "-c", "Debug", "-t", "Build", "--generate-layout", cpythonBuildPath) - } -} -/* -val cpythonBuildRelease = tasks.register("CPythonBuildRelease") { - group = cpythonTaskGroup - dependsOn(configCPythonRelease) - inputs.dir(cpythonPath) - outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") - workingDir = File(cpythonPath) - commandLine("make") - commandLine("make", "install") -} - */ - -val adapterHeaderPath = "${project.buildDir.path}/adapter_include" - -library { - binaries.configureEach { - val compileTask = compileTask.get() - compileTask.includes.from("${Jvm.current().javaHome}/include") - - val osFamily = targetPlatform.targetMachine.operatingSystemFamily - if (osFamily.isMacOs) { - compileTask.includes.from("${Jvm.current().javaHome}/include/darwin") - } else if (osFamily.isLinux) { - compileTask.includes.from("${Jvm.current().javaHome}/include/linux") - } else if (osFamily.isWindows) { - compileTask.includes.from("${Jvm.current().javaHome}/include/win32") - } + val adapterHeaderPath = "${project.buildDir.path}/adapter_include" - compileTask.includes.from(adapterHeaderPath) - compileTask.includes.from("src/main/c/include") - compileTask.source.from(fileTree("src/main/c")) - compileTask.source.from(fileTree(adapterHeaderPath).filter { it.name.endsWith(".c") }) - if (!isWindows) { - compileTask.includes.from("$cpythonBuildPath/include/python3.11") - compileTask.compilerArgs.addAll(listOf("-x", "c", "-std=c11", "-L$cpythonBuildPath/lib", "-lpython3.11", "-Werror", "-Wall")) - } else { - compileTask.includes.from(File(cpythonBuildPath, "include").canonicalPath) - compileTask.compilerArgs.addAll(listOf("/TC")) - } + library { + binaries.configureEach { + val compileTask = compileTask.get() + compileTask.includes.from("${Jvm.current().javaHome}/include") - compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") - if (!compileTask.isOptimized) { - compileTask.dependsOn(cpythonBuildDebug) - } else { - compileTask.dependsOn(cpythonBuildDebug) // TODO + val osFamily = targetPlatform.targetMachine.operatingSystemFamily + if (osFamily.isMacOs) { + compileTask.includes.from("${Jvm.current().javaHome}/include/darwin") + } else if (osFamily.isLinux) { + compileTask.includes.from("${Jvm.current().javaHome}/include/linux") + } else if (osFamily.isWindows) { + compileTask.includes.from("${Jvm.current().javaHome}/include/win32") + } + + compileTask.includes.from(adapterHeaderPath) + compileTask.includes.from("src/main/c/include") + compileTask.source.from(fileTree("src/main/c")) + compileTask.source.from(fileTree(adapterHeaderPath).filter { it.name.endsWith(".c") }) + if (!isWindows) { + compileTask.includes.from("$cpythonBuildPath/include/python3.11") + compileTask.compilerArgs.addAll( + listOf( + "-x", + "c", + "-std=c11", + "-L$cpythonBuildPath/lib", + "-lpython3.11", + "-Werror", + "-Wall" + ) + ) + } else { + compileTask.includes.from(File(cpythonBuildPath, "include").canonicalPath) + compileTask.compilerArgs.addAll(listOf("/TC")) + } + + compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") + if (!compileTask.isOptimized) { + compileTask.dependsOn(cpythonBuildDebug) + } else { + compileTask.dependsOn(cpythonBuildDebug) // TODO + } } - } - if (isWindows) { - binaries.whenElementFinalized { - val linkTask = tasks.getByName("linkDebug") as LinkSharedLibrary - val pythonLibPath = File(cpythonBuildPath, "libs/") - linkTask.linkerArgs.addAll("/LIBPATH:${pythonLibPath.path}") + if (isWindows) { + binaries.whenElementFinalized { + val linkTask = tasks.getByName("linkDebug") as LinkSharedLibrary + val pythonLibPath = File(cpythonBuildPath, "libs/") + linkTask.linkerArgs.addAll("/LIBPATH:${pythonLibPath.path}") + } } } -} -val cpythonClean = tasks.register("CPythonClean") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - if (!isWindows) { - if (File(cpythonPath, "Makefile").exists()) { - commandLine("make", "clean") + val cpythonClean = tasks.register("CPythonClean") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + if (!isWindows) { + if (File(cpythonPath, "Makefile").exists()) { + commandLine("make", "clean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } } else { - commandLine("echo", "CPython Configuration is already clean") + commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") } - } else { - commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") } -} -tasks.register("CPythonDistclean") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - if (!isWindows) { - if (File(cpythonPath, "Makefile").exists()) { - commandLine("make", "distclean") + tasks.register("CPythonDistclean") { + group = cpythonTaskGroup + workingDir = File(cpythonPath) + if (!isWindows) { + if (File(cpythonPath, "Makefile").exists()) { + commandLine("make", "distclean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } } else { - commandLine("echo", "CPython Configuration is already clean") + commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") } - } else { - commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") } -} -tasks.clean { - dependsOn(cpythonClean) -} + tasks.clean { + dependsOn(cpythonClean) + } -if (!isWindows) { - tasks.register("cpython_check_compile") { - dependsOn(cpythonBuildDebug) - workingDir = File("${projectDir.path}/cpython_check") - commandLine( - "gcc", - "-std=c11", - "-I$cpythonBuildPath/include/python3.11", - "sample_handler.c", - "-o", - "check", - "-L$cpythonBuildPath/lib", - "-lpython3.11" - ) + if (!isWindows) { + tasks.register("cpython_check_compile") { + dependsOn(cpythonBuildDebug) + workingDir = File("${projectDir.path}/cpython_check") + commandLine( + "gcc", + "-std=c11", + "-I$cpythonBuildPath/include/python3.11", + "sample_handler.c", + "-o", + "check", + "-L$cpythonBuildPath/lib", + "-lpython3.11" + ) + } } } \ No newline at end of file From 982c1ab2135ffb5585f7f19f14c812de7a7e461f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:08:51 +0300 Subject: [PATCH 244/344] Fix in ArrayCastExample + experiment with CI --- .github/workflows/build-and-run-tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index d2b83e83b8..261a843f48 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -29,6 +29,8 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout repository uses: actions/checkout@v3 + with: + submodules: "true" # Runs a single command using the runners shell - name: Setup Java JDK @@ -43,7 +45,7 @@ jobs: # Runs a set of commands using the runners shell - name: Build and run tests - run: ./gradlew build --no-daemon + run: ./gradlew build --no-daemon -PcpythonActivated=true # - name: Upload usvm test reports # uses: actions/upload-artifact@v3 From 858ccb7a1c3cb311f901f024c457182c2d8d4608 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:21:16 +0300 Subject: [PATCH 245/344] Added optional dependencies installation + fix in usvm-jvm test --- .github/workflows/build-and-run-tests.yml | 6 ++++++ .../java/org/usvm/samples/casts/ArrayCastExample.java | 2 ++ usvm-python/build.gradle.kts | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 261a843f48..780ec61e77 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -43,6 +43,12 @@ jobs: - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Install CPython optional dependencies + run: sudo apt install -y build-essential gdb lcov pkg-config \ + libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ + libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ + lzma lzma-dev tk-dev uuid-dev zlib1g-dev + # Runs a set of commands using the runners shell - name: Build and run tests run: ./gradlew build --no-daemon -PcpythonActivated=true diff --git a/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java b/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java index 4bd6171c2a..99c1f1fb76 100644 --- a/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java +++ b/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java @@ -105,6 +105,8 @@ public List castFromIterable(Iterable iterable) { return null; } + Engine.assume(iterable instanceof Collection | iterable instanceof NonCollectionIterable); + return (List) iterable; } diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 220abf6b57..1ad9d52fb3 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -64,7 +64,7 @@ if (cpythonActivatedFlag) { } environment("PYTHONHOME" to cpythonBuildPath) commandLine(pythonBinaryPath, "-m", "ensurepip") - commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.15") + commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.17") } val buildSamples = tasks.register("buildSamples") { From e8403fc6ad6f559bb317d0a2b9636705cdef6ce7 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:24:27 +0300 Subject: [PATCH 246/344] Added apt update --- .github/workflows/build-and-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 780ec61e77..d431ef6eab 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -44,7 +44,7 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Install CPython optional dependencies - run: sudo apt install -y build-essential gdb lcov pkg-config \ + run: sudo apt update && sudo apt install -y build-essential gdb lcov pkg-config \ libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ lzma lzma-dev tk-dev uuid-dev zlib1g-dev From 2e7a2f041633d48087c12bbb058dd5cd6c56d482 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:27:53 +0300 Subject: [PATCH 247/344] Removed some optional packages --- .github/workflows/build-and-run-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index d431ef6eab..95e3cc3db4 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -44,10 +44,10 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Install CPython optional dependencies - run: sudo apt update && sudo apt install -y build-essential gdb lcov pkg-config \ - libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ - libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ - lzma lzma-dev tk-dev uuid-dev zlib1g-dev + run: sudo apt install -y build-essential gdb lcov pkg-config \ + libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ + libreadline6-dev libsqlite3-dev libssl-dev \ + lzma-dev tk-dev uuid-dev zlib1g-dev # Runs a set of commands using the runners shell - name: Build and run tests From 531bd82a38aaa93d0cbb9bdd659f3fa53f2e8318 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:30:14 +0300 Subject: [PATCH 248/344] next attempt --- .github/workflows/build-and-run-tests.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 95e3cc3db4..1d77def3fd 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -44,10 +44,7 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Install CPython optional dependencies - run: sudo apt install -y build-essential gdb lcov pkg-config \ - libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ - libreadline6-dev libsqlite3-dev libssl-dev \ - lzma-dev tk-dev uuid-dev zlib1g-dev + run: sudo apt-get update && sudo apt-get install -y libssl-dev # Runs a set of commands using the runners shell - name: Build and run tests From 62606c7161c4b2b0b992c0edbab872372dcc009a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 16:42:59 +0300 Subject: [PATCH 249/344] more work on dependencies --- .github/workflows/build-and-run-tests.yml | 2 +- usvm-python/README.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 1d77def3fd..33159f136b 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -44,7 +44,7 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Install CPython optional dependencies - run: sudo apt-get update && sudo apt-get install -y libssl-dev + run: sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev # Runs a set of commands using the runners shell - name: Build and run tests diff --git a/usvm-python/README.md b/usvm-python/README.md index 471baa708d..bd3dd74a1a 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -54,13 +54,14 @@ Gradle tasks for building and running were tested on Windows and Ubuntu. 1. Only for Unix. Install optional dependencies. - Official instruction: https://devguide.python.org/getting-started/setup-building/#install-dependencies - - __Short version__. Install the following packages with apt: + - __Short version (Ubuntu)__. Install the following packages with apt: ``` build-essential gdb lcov pkg-config \ libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ lzma lzma-dev tk-dev uuid-dev zlib1g-dev ``` + The main package from those is `libssl-dev`. It is needed for pip to work. 2. Use Gradle tasks to do the rest. From d6a02d6b98b42cab233051b1b7b96e9a4ee26829 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 20 Feb 2024 17:23:20 +0300 Subject: [PATCH 250/344] updated readme --- usvm-python/README.md | 23 ++++++++----------- .../kotlin/org/usvm/samples/EnumerateTest.kt | 12 +++++----- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/usvm-python/README.md b/usvm-python/README.md index bd3dd74a1a..6b9ae5f43e 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -2,23 +2,20 @@ ## Getting started -First, you need to activate Gradle tasks for `usvm-python` module. Since it has dependecies from Github Packages, you need to generate Github access token with permission to read packages (more on Github tokens [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)). +By default, tasks in module `usvm-python` that require `CPython` are turned off (including `usvm-python:test`). +To turn them on, first you need to set up `CPython`. For that: -There are 2 ways to specify your token: +1. Clone `CPython` as repository submodule ([refer to the section about submodules](#working-with-git-submodule)). -1. Specify the following properties in `gradle.properties` in your GRADLE_USER_HOME directory ([about](https://docs.gradle.org/current/userguide/directory_layout.html#dir:gradle_user_home)): +2. If you are using Unix, you also need to install optional dependencies ([refer to the section about CPython build](#cpython-build)). - - `githubUserFromHome` - - `githubTokenFromHome` +After these steps, add gradle property `cpythonActivated=true`. This can be done in `GRADLE_USER_HOME` directory +([about](https://docs.gradle.org/current/userguide/directory_layout.html#dir:gradle_user_home)) +or during gradle command in CLI: -2. Specify the following environment variables: - - - `GITHUB_ACTOR` - - `GITHUB_TOKEN` - -Secondly, you need to clone `CPython` as repository submodule ([refer to the section about submodules](#working-with-git-submodule)). - -If you are using Unix, you also need to install optional dependencies ([refer to the section about CPython build](#cpython-build)). +``` +./gradlew -PcpythonActivated=true +``` Now, you should be able to run Gradle task `:usvm-python:test`. diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt index 58e5b07a87..8d5af23a38 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt @@ -13,9 +13,9 @@ class EnumerateTest: PythonTestRunnerForPrimitiveProgram( // allowPathDiversions = true ) { @Test - fun testEnumerateOnList() { + fun testEnumerateOnAny() { check1WithConcreteRun( - constructFunction("use_enumerate", listOf(typeSystem.pythonList)), + constructFunction("use_enumerate", listOf(PythonAnyType)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), @@ -27,9 +27,9 @@ class EnumerateTest: PythonTestRunnerForPrimitiveProgram( } @Test - fun testEnumerateOnTuple() { + fun testEnumerateOnList() { check1WithConcreteRun( - constructFunction("use_enumerate", listOf(typeSystem.pythonTuple)), + constructFunction("use_enumerate", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), @@ -41,9 +41,9 @@ class EnumerateTest: PythonTestRunnerForPrimitiveProgram( } @Test - fun testEnumerateOnAny() { + fun testEnumerateOnTuple() { check1WithConcreteRun( - constructFunction("use_enumerate", listOf(PythonAnyType)), + constructFunction("use_enumerate", listOf(typeSystem.pythonTuple)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), From 9741f3f5ed4aa294460e3e5f92d4334bb74e9a22 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 22 Feb 2024 10:46:30 +0300 Subject: [PATCH 251/344] fix after rebase --- .../src/main/kotlin/org/usvm/machine/PyState.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 59b9216d42..4bd9ad2fec 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -31,6 +31,7 @@ class PyState( var possibleTypesForNull: UTypeStream = typeSystem.topTypeStream(), callStack: UCallStack = UCallStack(), pathLocation: PathNode = PathNode.root(), + forkPoints: PathNode> = PathNode.root(), var concolicQueries: PersistentList> = persistentListOf(), var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), @@ -42,7 +43,8 @@ class PyState( memory, listOf(uModel), pathLocation, - targets + forkPoints, + targets, ) { override fun clone(newConstraints: UPathConstraints?): PyState { val newPathConstraints = newConstraints ?: pathConstraints.clone() @@ -59,6 +61,7 @@ class PyState( possibleTypesForNull, callStack, pathNode, + forkPoints, concolicQueries, delayedForks, mocks.toMutableMap(), // copy From 6edc110c2db92ea9089ac13ac85087a620888a95 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 22 Feb 2024 12:33:39 +0300 Subject: [PATCH 252/344] Added RandomizedPriorityActionStrategy --- usvm-python/src/test/kotlin/manualTest.kt | 6 +- .../test/kotlin/org/usvm/samples/ListsTest.kt | 6 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 66 ++++++++++++------- .../machine/ps/strategies/impls/Action.kt | 12 ++++ .../ps/strategies/impls/BaselineStrategy.kt | 63 +++++++++++------- .../impls/DelayedForkByInstruction.kt | 32 ++++++--- .../impls/RandomizedPriorityActionStrategy.kt | 45 +++++++++++++ .../impls/WeightedActionStrategy.kt | 22 +++---- 9 files changed, 179 insertions(+), 75 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 0b39a22994..c0c4209893 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -54,9 +54,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PyUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "f", - "tricky.CompositeObjects" + listOf(typeSystem.pythonList), + "reverse_usage", + "Lists" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 946576498e..7571618ca4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -12,7 +12,7 @@ import kotlin.time.Duration.Companion.seconds class ListsTest : PythonTestRunnerForPrimitiveProgram( "Lists", - UMachineOptions(stepLimit = 20U) + UMachineOptions(stepLimit = 35U) ) { init { timeoutPerRunMs = 2000 @@ -165,7 +165,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram( constructFunction("sum_of_elements", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, - /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, + /* invariants = */ listOf { x, _ -> x.typeName == "list" }, /* propertiesToDiscover = */ List(4) { index -> { _, res -> res.repr == (index + 1).toString() } } @@ -178,7 +178,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram( constructFunction("for_loop", listOf(typeSystem.pythonList)), ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, - /* invariants = */ listOf { x, res -> x.typeName == "list" && res.typeName == "int" }, + /* invariants = */ listOf { x, _ -> x.typeName == "list" }, /* propertiesToDiscover = */ List(3) { index -> { _, res -> res.repr == (index + 1).toString() } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index b484d9b845..06182f30a5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionAndTypeRatingByHintsDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionWeightedDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index fe5245167d..390337139e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -18,11 +18,12 @@ import kotlin.random.Random private val logger = object : KLogging() {}.logger enum class PyPathSelectorType { - BaselineDfs, - BaselineWeightedByNumberOfVirtual, - TypeRatingByHintsDfs, - DelayedForkByInstructionDfs, - DelayedForkByInstructionAndTypeRatingByHintsDfs + BaselinePriorityDfs, + BaselineWeightedDfs, + BaselinePriorityWeightedByNumberOfVirtual, + BaselinePriorityPlusTypeRatingByHintsDfs, + DelayedForkByInstructionPriorityDfs, + DelayedForkByInstructionWeightedDfs } fun createPyPathSelector( @@ -32,26 +33,41 @@ fun createPyPathSelector( newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = when (type) { - PyPathSelectorType.BaselineDfs -> - createBaselineDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.BaselineWeightedByNumberOfVirtual -> + PyPathSelectorType.BaselinePriorityDfs -> + createBaselinePriorityDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselineWeightedDfs -> + createBaselineWeightedDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityWeightedByNumberOfVirtual -> createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.TypeRatingByHintsDfs -> + PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionDfs -> - createDelayedForkByInstructionDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionAndTypeRatingByHintsDfs -> - createDelayedForkByInstructionAndTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionPriorityDfs -> + createDelayedForkByInstructionPriorityDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionWeightedDfs -> + createDelayedForkByInstructionWeightedDfsPyPathSelector(ctx, random, newStateObserver) } -fun createBaselineDfsPyPathSelector( +fun createBaselinePriorityDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeBaselineActionStrategy(random), + makeBaselinePriorityActionStrategy(random), + BaselineDelayedForkStrategy(), + BaselineDFGraphCreation { DfsPathSelector() }, + newStateObserver + ) + +fun createBaselineWeightedDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeBaselineWeightedActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver @@ -64,7 +80,7 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeBaselineActionStrategy(random), + makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { WeightedPathSelector( @@ -88,41 +104,41 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( newStateObserver ) -fun createDelayedForkByInstructionDfsPyPathSelector( +fun createDelayedForkByInstructionPriorityDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeDelayedForkByInstructionActionStrategy(random), + makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { DfsPathSelector() }, newStateObserver ) -fun createTypeRatingByHintsDfsPyPathSelector( +fun createDelayedForkByInstructionWeightedDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeBaselineActionStrategy(random), - TypeRatingByNumberOfHints(), - BaselineDFGraphCreation { DfsPathSelector() }, + makeDelayedForkByInstructionWeightedStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { DfsPathSelector() }, newStateObserver ) -fun createDelayedForkByInstructionAndTypeRatingByHintsDfsPyPathSelector( +fun createTypeRatingByHintsDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeDelayedForkByInstructionActionStrategy(random), + makeBaselinePriorityActionStrategy(random), TypeRatingByNumberOfHints(), - DelayedForkByInstructionGraphCreation { DfsPathSelector() }, + BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver ) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt new file mode 100644 index 0000000000..144aec00af --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt @@ -0,0 +1,12 @@ +package org.usvm.machine.ps.strategies.impls + +import org.usvm.machine.ps.strategies.DelayedForkGraph +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.PyPathSelectorAction +import kotlin.random.Random + + +abstract class Action> { + abstract fun isAvailable(graph: DFGraph): Boolean + abstract fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 7734cc61e4..a8bdc2a7f0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -7,23 +7,40 @@ import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.* import kotlin.random.Random -fun makeBaselineActionStrategy( +val baselineProbabilities = listOf(1.0, 0.6, 0.9, 0.7, 1.0) +val baselineWeights = listOf(100.0, 0.6, 0.3, 0.088, 0.012) + +fun makeBaselinePriorityActionStrategy( + random: Random +): RandomizedPriorityActionStrategy = + RandomizedPriorityActionStrategy( + random, + listOf( + PeekExecutedStateWithConcreteType, + PeekFromRoot, + ServeNewDelayedFork, + PeekFromStateWithDelayedFork, + ServeOldDelayedFork + ), + baselineProbabilities + ) + +fun makeBaselineWeightedActionStrategy( random: Random ): WeightedActionStrategy = WeightedActionStrategy( random, listOf( + PeekExecutedStateWithConcreteType, PeekFromRoot, ServeNewDelayedFork, PeekFromStateWithDelayedFork, - ServeOldDelayedFork, - PeekExecutedStateWithConcreteType - ) + ServeOldDelayedFork + ), + baselineWeights ) -sealed class BaselineAction( - weight: Double -): Action(weight) { +sealed class BaselineAction: Action() { protected fun chooseAvailableVertex( available: List>, random: Random @@ -34,7 +51,19 @@ sealed class BaselineAction( } } -object PeekFromRoot: BaselineAction(0.6) { +object PeekExecutedStateWithConcreteType: BaselineAction() { + override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = + !graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty() + + override fun makeAction( + graph: BaselineDelayedForkGraph, + random: Random + ): PyPathSelectorAction = + Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) + +} + +object PeekFromRoot: BaselineAction() { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithoutDelayedForks.isEmpty() @@ -44,7 +73,7 @@ object PeekFromRoot: BaselineAction(0.6) { override fun toString(): String = "PeekFromRoot" } -object ServeNewDelayedFork: BaselineAction(0.3) { +object ServeNewDelayedFork: BaselineAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -60,7 +89,7 @@ object ServeNewDelayedFork: BaselineAction(0.3) { override fun toString(): String = "ServeNewDelayedFork" } -object PeekFromStateWithDelayedFork: BaselineAction(0.088) { +object PeekFromStateWithDelayedFork: BaselineAction() { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithDelayedForks.isEmpty() @@ -71,7 +100,7 @@ object PeekFromStateWithDelayedFork: BaselineAction(0.088) { override fun toString(): String = "PeekFromStateWithDelayedFork" } -object ServeOldDelayedFork: BaselineAction(0.012) { +object ServeOldDelayedFork: BaselineAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } @@ -87,18 +116,6 @@ object ServeOldDelayedFork: BaselineAction(0.012) { override fun toString(): String = "ServeOldDelayedFork" } -object PeekExecutedStateWithConcreteType: BaselineAction(100.0) { - override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = - !graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty() - - override fun makeAction( - graph: BaselineDelayedForkGraph, - random: Random - ): PyPathSelectorAction = - Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) - -} - class BaselineDelayedForkStrategy: DelayedForkStrategy { private var lastIdx = -1 override fun chooseTypeRating(state: DelayedForkState): TypeRating { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index 0a0879b137..a4921cf0be 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -7,23 +7,37 @@ import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.* import kotlin.random.Random -fun makeDelayedForkByInstructionActionStrategy( +fun makeDelayedForkByInstructionPriorityStrategy( + random: Random +): RandomizedPriorityActionStrategy = + RandomizedPriorityActionStrategy( + random, + listOf( + PeekExecutedStateWithConcreteType, + PeekFromRoot, + ServeNewDelayedForkByInstruction, + PeekFromStateWithDelayedFork, + ServeOldDelayedForkByInstruction + ), + baselineProbabilities + ) + +fun makeDelayedForkByInstructionWeightedStrategy( random: Random ): WeightedActionStrategy = WeightedActionStrategy( random, listOf( + PeekExecutedStateWithConcreteType, PeekFromRoot, ServeNewDelayedForkByInstruction, PeekFromStateWithDelayedFork, - ServeOldDelayedForkByInstruction, - PeekExecutedStateWithConcreteType - ) + ServeOldDelayedForkByInstruction + ), + baselineWeights ) -sealed class DelayedForkByInstructionAction( - weight: Double -): Action(weight) { +sealed class DelayedForkByInstructionAction: Action() { protected fun findAvailableInstructions( graph: DelayedForkByInstructionGraph, isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, @@ -50,7 +64,7 @@ sealed class DelayedForkByInstructionAction( } } -object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNewDelayedFork.weight) { +object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -67,7 +81,7 @@ object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction(ServeNew override fun toString(): String = "ServeNewDelayedForkByInstruction" } -object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction(ServeOldDelayedFork.weight) { +object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt new file mode 100644 index 0000000000..ef4c2955c7 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt @@ -0,0 +1,45 @@ +package org.usvm.machine.ps.strategies.impls + +import mu.KLogging +import org.usvm.machine.ps.strategies.DelayedForkGraph +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.PyPathSelectorAction +import org.usvm.machine.ps.strategies.PyPathSelectorActionStrategy +import kotlin.random.Random + +class RandomizedPriorityActionStrategy>( + private val random: Random, + private val actions: List>, + private val probabilities: List +): PyPathSelectorActionStrategy { + init { + require(actions.size == probabilities.size) + } + override fun chooseAction(graph: DFGraph): PyPathSelectorAction? { + val availableActions: List, Double>> = actions.mapIndexedNotNull { idx, action -> + if (!action.isAvailable(graph)) + return@mapIndexedNotNull null + action to probabilities[idx] + } + if (availableActions.isEmpty()) { + return null + } + logger.debug("Available actions: {}", availableActions) + val action = makeChoice(availableActions) + logger.debug("Making action {}", action) + return action.makeAction(graph, random) + } + + private fun makeChoice(availableActions: List, Double>>): Action { + availableActions.dropLast(1).forEach { + val coin = random.nextDouble() + if (coin < it.second) + return it.first + } + return availableActions.last().first + } + + companion object { + private val logger = object : KLogging() {}.logger + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt index 99aad2c556..62d773deb9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt @@ -8,19 +8,26 @@ import org.usvm.machine.ps.strategies.PyPathSelectorActionStrategy import org.usvm.machine.ps.weightedRandom import kotlin.random.Random + class WeightedActionStrategy>( private val random: Random, - private val actions: List> + private val actions: List>, + private val weights: List ): PyPathSelectorActionStrategy { + init { + require(actions.size == weights.size) + } override fun chooseAction(graph: DFGraph): PyPathSelectorAction? { - val availableActions = actions.filter { - it.isAvailable(graph) + val availableActions = actions.mapIndexedNotNull { idx, action -> + if (!action.isAvailable(graph)) + return@mapIndexedNotNull null + action to weights[idx] } if (availableActions.isEmpty()) { return null } logger.debug("Available actions: {}", availableActions) - val action = weightedRandom(random, availableActions) { it.weight } + val action = weightedRandom(random, availableActions) { it.second }.first logger.debug("Making action {}", action) return action.makeAction(graph, random) } @@ -28,11 +35,4 @@ class WeightedActionStrategy>( - val weight: Double -) { - abstract fun isAvailable(graph: DFGraph): Boolean - abstract fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction } \ No newline at end of file From c14ce3adc1d0f4f21dd4959134e6991ea451b239 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Thu, 22 Feb 2024 18:01:33 +0300 Subject: [PATCH 253/344] Fixed python soft constraints --- .../kotlin/org/usvm/constraints/PathConstraints.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 10 +++++----- .../resources/samples/tricky/CompositeObjects.py | 3 ++- .../main/kotlin/org/usvm/machine/PyComponents.kt | 2 +- .../symbolic/operations/basic/Common.kt | 4 ---- .../operations/basic/MethodNotifications.kt | 13 +++++++++---- .../org/usvm/machine/ps/PyVirtualPathSelector.kt | 2 ++ .../kotlin/org/usvm/machine/utils/UHeapRefUtils.kt | 12 ++++++++---- 8 files changed, 28 insertions(+), 20 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt index 91ff39691e..fabb9d80d0 100644 --- a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt +++ b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt @@ -52,7 +52,7 @@ open class UPathConstraints private constructor( * Constraints solved by SMT solver. */ val softConstraintsSourceSequence: Sequence - get() = logicalConstraints.asSequence() + numericConstraints.constraints() + pythonSoftConstraints.asSequence() + get() = logicalConstraints.asSequence() + numericConstraints.constraints() constructor(ctx: UContext<*>) : this(ctx, ULogicalConstraints.empty()) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index c0c4209893..700b99f999 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -54,9 +54,9 @@ private fun buildSampleRunConfig(): RunConfig { """.trimIndent() )*/ val function = PyUnpinnedCallable.constructCallableFromName( - listOf(typeSystem.pythonList), - "reverse_usage", - "Lists" + listOf(PythonAnyType), + "f", + "tricky.CompositeObjects" ) val functions = listOf(function) return RunConfig(program, typeSystem, functions) @@ -206,8 +206,8 @@ private fun analyze(runConfig: RunConfig) { maxIterations = 90, allowPathDiversion = true, maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 60_000 + //timeoutPerRunMs = 4_000, + //timeoutMs = 60_000 ) saver.pyTestObserver.tests.forEach { test -> println("INPUT:") diff --git a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py index fe686cdff9..6f442e1504 100644 --- a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py +++ b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py @@ -10,9 +10,10 @@ def __init__(self, data): def f(x): + print("left data_list:", x.left.data_list, flush=True) if x.left.data_list and x.right.data_list: # print("left data_list:", x.left.data_list, flush=True) - # print("right data_list:", x.right.data_list, flush=True) + print("right data_list:", x.right.data_list, flush=True) a = x.left.data_list.pop(0) b = x.right.data_list.pop(0) if a + b == 155: diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index a4ce148765..566ae5f0e3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -42,7 +42,7 @@ class PySolver( ctx, smtSolver, typeSolver, translator, decoder, 500.milliseconds ) { override fun check(query: UPathConstraints): USolverResult> { - val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + query.pythonSoftConstraints return super.checkWithSoftConstraints(query, softConstraints) } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index d803a78298..e602b753c7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -182,10 +182,6 @@ fun handlerStandardTpGetattroKt( result.evalIs(ctx, concreteAttrType) } ?: ctx.ctx.trueExpr - val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) - val ps = ctx.curState!!.pathConstraints - ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) - if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { if (defaultValue != null) return SymbolForCPython(defaultValue, 0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index af49ebb6c0..aed0e4d80d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.* +import org.usvm.machine.symbolicobjects.memory.getFieldValue @Suppress("unused_parameter") fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { @@ -80,10 +81,14 @@ fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonOb myAssert(context, left.evalIsSoft(context, HasTpRichcmp)) } -fun tpGetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { - context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasTpGetattro)) - myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) +fun tpGetattroKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { + ctx.curState ?: return + myAssert(ctx, on.evalIsSoft(ctx, HasTpGetattro)) + myAssert(ctx, name.evalIsSoft(ctx, ctx.typeSystem.pythonStr)) + val field = on.getFieldValue(ctx, name) + val softConstraint = field.evalIsSoft(ctx, MockType) + val ps = ctx.curState!!.pathConstraints + ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) } fun tpSetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 206a4bebd2..448fabaee9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -136,6 +136,8 @@ class PyVirtualPathSelector { require(ctx.curState != null) val interpreted = interpretSymbolicPythonObject(ctx, obj) - if (interpreted.address.address != 0) - return interpreted.getTypeStream()!! - val leaf = getLeafHeapRef(obj.address, ctx.curState!!.pyModel) - return ctx.curState!!.memory.typeStreamOf(leaf) + if (interpreted.address.address != 0) { + val current = interpreted.getTypeStream()!! + val prefix = current.take(3) + if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= 3) + return current + } + return ctx.typeSystem.topTypeStream() } \ No newline at end of file From 076949e7a76eff9a5af2dea0019daed2b3b2e6e3 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 26 Feb 2024 13:13:49 +0300 Subject: [PATCH 254/344] Added DelayedForkByInstructionWeightedRandomTree --- .../org/usvm/ps/RandomTreePathSelector.kt | 2 +- usvm-python/src/test/kotlin/manualTest.kt | 29 +++++++------- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 6 +-- .../usvm/machine/ps/PyPathSelectorFactory.kt | 40 +++++++++++++++++-- .../ps/strategies/impls/BaselineStrategy.kt | 2 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 3 +- 7 files changed, 59 insertions(+), 25 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/ps/RandomTreePathSelector.kt b/usvm-core/src/main/kotlin/org/usvm/ps/RandomTreePathSelector.kt index 3bfd92a2d5..182972a5b1 100644 --- a/usvm-core/src/main/kotlin/org/usvm/ps/RandomTreePathSelector.kt +++ b/usvm-core/src/main/kotlin/org/usvm/ps/RandomTreePathSelector.kt @@ -12,7 +12,7 @@ import org.usvm.UState * @param executionTreeTracker a root node for a symbolic execution tree. * @param randomNonNegativeInt function returning non negative random integer used to select the next child in tree. */ -internal class RandomTreePathSelector, Statement>( +class RandomTreePathSelector, Statement>( private val executionTreeTracker: ExecutionTreeTracker, private val randomNonNegativeInt: (Int) -> Int, ) : UPathSelector { diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index 700b99f999..ed8ba9e30b 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -33,8 +33,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() + val config = buildProjectRunConfig() + // val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -55,7 +55,7 @@ private fun buildSampleRunConfig(): RunConfig { )*/ val function = PyUnpinnedCallable.constructCallableFromName( listOf(PythonAnyType), - "f", + "g", "tricky.CompositeObjects" ) val functions = listOf(function) @@ -74,7 +74,7 @@ private fun getFunctionInfo( typeSystem: PythonTypeSystemWithMypyInfo, program: StructuredPyProgram ): PyUnpinnedCallable? { - println("Module: $module, name: $name") + //println("Module: $module, name: $name") val description = type.pythonDescription() if (description !is PythonCallableTypeDescription) return null @@ -82,8 +82,8 @@ private fun getFunctionInfo( return null //if (module != "requests.cookies") // return null - if (name != "remove_cookie_by_name") - return null + //if (name != "remove_cookie_by_name") + // return null if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) return null runCatching { @@ -115,7 +115,7 @@ private fun getFunctionInfo( */ private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\requests\\src" + val projectPath = "D:\\projects\\Python\\sorts" val mypyRoot = "D:\\projects\\mypy_tmp" val files = getPythonFilesFromRoot(projectPath).filter { !it.name.contains("__init__") } println("Files: $files") @@ -132,7 +132,7 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPyProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val functions = modules.flatMap { module -> - println("Module: $module") + //println("Module: $module") if (module in ignoreModules) return@flatMap emptyList() runCatching { @@ -141,20 +141,21 @@ private fun buildProjectRunConfig(): RunConfig { } }.getOrNull() ?: return@flatMap emptyList() // skip bad modules mypyBuild.definitions[module]!!.flatMap { (defName, def) -> - println("Def name: $defName") + //println("Def name: $defName") val type = def.getUtBotType() val description = type.pythonDescription() if (defName.startsWith("__")) { emptyList() } else if (description is PythonConcreteCompositeTypeDescription) { - val members = description.getNamedMembers(type) + emptyList() + /*val members = description.getNamedMembers(type) members.mapNotNull { memberDef -> if (memberDef.meta.name.startsWith("__")) return@mapNotNull null memberDef.type val name = "$defName.${memberDef.meta.name}" getFunctionInfo(memberDef.type, name, module, typeSystem, program) - } + }*/ } else { getFunctionInfo(type, defName, module, typeSystem, program)?.let { listOf(it) } ?: emptyList() } @@ -203,11 +204,11 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 90, + maxIterations = 60, allowPathDiversion = true, maxInstructions = 50_000, - //timeoutPerRunMs = 4_000, - //timeoutMs = 60_000 + timeoutPerRunMs = 4_000, + timeoutMs = 30_000 ) saver.pyTestObserver.tests.forEach { test -> println("INPUT:") diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 56788d752f..9fc3455545 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -148,7 +148,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn allowPathDiversions = true val oldOptions = options options = UMachineOptions(stepLimit = 300U) - timeoutPerRunMs = 2000 + timeoutPerRunMs = 1000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 06182f30a5..dc3f3e9309 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionWeightedDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) @@ -89,9 +89,7 @@ class PyMachine( ): UPathSelector { val initialState = getInitialState(target) newStateObserver.onNewState(initialState) - val ps = createPyPathSelector(pathSelectorType, ctx, random, newStateObserver) - ps.add(listOf(initialState)) - return ps + return createPyPathSelector(initialState, pathSelectorType, ctx, random, newStateObserver) } fun analyze( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 390337139e..3eac3bc5e1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -3,12 +3,14 @@ package org.usvm.machine.ps import mu.KLogging import org.usvm.algorithms.RandomizedPriorityCollection import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.model.PyModelHolder import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.ps.DfsPathSelector +import org.usvm.ps.RandomTreePathSelector import org.usvm.ps.WeightedPathSelector import org.usvm.python.model.PyTupleObject import org.usvm.python.model.calculateNumberOfMocks @@ -23,29 +25,42 @@ enum class PyPathSelectorType { BaselinePriorityWeightedByNumberOfVirtual, BaselinePriorityPlusTypeRatingByHintsDfs, DelayedForkByInstructionPriorityDfs, - DelayedForkByInstructionWeightedDfs + DelayedForkByInstructionWeightedDfs, + DelayedForkByInstructionWeightedRandomTree } fun createPyPathSelector( + initialState: PyState, type: PyPathSelectorType, ctx: PyContext, random: Random, newStateObserver: NewStateObserver -): PyVirtualPathSelector<*, *> = - when (type) { +): PyVirtualPathSelector<*, *> { + val selector = when (type) { PyPathSelectorType.BaselinePriorityDfs -> createBaselinePriorityDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselineWeightedDfs -> createBaselineWeightedDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityWeightedByNumberOfVirtual -> createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionPriorityDfs -> createDelayedForkByInstructionPriorityDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionWeightedDfs -> createDelayedForkByInstructionWeightedDfsPyPathSelector(ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree -> + createDelayedForkByInstructionWeightedRandomPyPathSelector(initialState, ctx, random, newStateObserver) } + selector.add(listOf(initialState)) + return selector +} fun createBaselinePriorityDfsPyPathSelector( ctx: PyContext, @@ -130,6 +145,25 @@ fun createDelayedForkByInstructionWeightedDfsPyPathSelector( newStateObserver ) +fun createDelayedForkByInstructionWeightedRandomPyPathSelector( + initialState: PyState, + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionWeightedStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + RandomTreePathSelector.fromRoot( + initialState.pathNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) + }, + newStateObserver + ) + fun createTypeRatingByHintsDfsPyPathSelector( ctx: PyContext, random: Random, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index a8bdc2a7f0..e47b07e306 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -8,7 +8,7 @@ import org.usvm.machine.ps.strategies.* import kotlin.random.Random val baselineProbabilities = listOf(1.0, 0.6, 0.9, 0.7, 1.0) -val baselineWeights = listOf(100.0, 0.6, 0.3, 0.088, 0.012) +val baselineWeights = listOf(100.0, 0.6, 0.35, 0.04, 0.01) fun makeBaselinePriorityActionStrategy( random: Random diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index cd7d3272a7..319329df61 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -34,5 +34,6 @@ fun getTypeStreamForDelayedFork(obj: UninterpretedSymbolicPythonObject, ctx: Con if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= 3) return current } - return ctx.typeSystem.topTypeStream() + val leaf = getLeafHeapRef(obj.address, ctx.modelHolder.model) + return ctx.curState!!.memory.typeStreamOf(leaf) } \ No newline at end of file From f16350f92f070d4a03e4538d76d29df05a074266 Mon Sep 17 00:00:00 2001 From: tochilinak Date: Mon, 26 Feb 2024 15:04:59 +0300 Subject: [PATCH 255/344] Fixed exception catching --- .../symbolic/USVMPythonInterpreter.kt | 63 +++++++++++++------ .../usvm/machine/ps/PyPathSelectorFactory.kt | 27 +++++++- 2 files changed, 70 insertions(+), 20 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index fe0daf1fcf..1f15dc8e57 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -41,12 +41,21 @@ class USVMPythonInterpreter( state.meta.objectsWithoutConcreteTypes = null logger.debug("Step on state: {}", state) logger.debug("Source of the state: {}", state.meta.generatedFrom) + val symbols = state.inputSymbols val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } val builder = PyObjectModelBuilder(state, modelHolder) - val objectModels = interpreted.map { builder.convert(it) } + val objectModels = try { + interpreted.map { builder.convert(it) } + } catch (_: LengthOverflowException) { + logger.warn("LengthOverflowException occurred") + state.meta.modelDied = true + return StepResult(emptySequence(), false) + } + val inputModel = PyInputModel(objectModels) resultsReceiver.inputModelObserver.onInputModel(inputModel) + val renderer = PyObjectRenderer() concolicRunContext.builder = builder concolicRunContext.renderer = renderer @@ -55,8 +64,10 @@ class USVMPythonInterpreter( state.meta.modelDied = true return StepResult(emptySequence(), false) } + val inputRepr = processConcreteInput(concrete, renderer) concolicRunContext.usesVirtualInputs = inputRepr == null + val result: PyObject? = try { ConcretePythonInterpreter.concolicRun( pinnedCallable.asPyObject, @@ -66,19 +77,25 @@ class USVMPythonInterpreter( concolicRunContext, printErrorMsg ) - } catch (exception: CPythonExecutionException) { - val realCPythonException = processCPythonExceptionDuringConcolicRun( - concolicRunContext, - exception, - renderer, - inputModel, - inputRepr - ) - if (!realCPythonException) { - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + + } catch (exception: Throwable) { + if (exception is CPythonExecutionException) { + val realCPythonException = processCPythonExceptionDuringConcolicRun( + concolicRunContext, + exception, + renderer, + inputModel, + inputRepr + ) + if (!realCPythonException) { + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } + } else { + processJavaException(concolicRunContext, exception, renderer) } null } + if (result != null) { processSuccessfulExecution(result, inputModel, inputRepr) } @@ -91,6 +108,7 @@ class USVMPythonInterpreter( } logger.debug("Finished step on state: {}", concolicRunContext.curState) StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } else { logger.debug("Ended step with path diversion") StepResult(emptySequence(), !state.isTerminated()) @@ -136,6 +154,20 @@ class USVMPythonInterpreter( } } + private fun processJavaException( + concolicRunContext: ConcolicRunContext, + exception: Throwable, + renderer: PyObjectRenderer + ) { + when (exception) { + is UnregisteredVirtualOperation -> processUnregisteredVirtualOperation(concolicRunContext, renderer) + is BadModelException -> logger.debug("Step result: Bad model") + is InstructionLimitExceededException -> processInstructionLimitExceeded(concolicRunContext) + is CancelledExecutionException -> processCancelledException(concolicRunContext) + else -> throw exception + } + } + private fun processCPythonExceptionDuringConcolicRun( concolicRunContext: ConcolicRunContext, exception: CPythonExecutionException, @@ -146,13 +178,8 @@ class USVMPythonInterpreter( require(exception.pythonExceptionType != null) require(exception.pythonExceptionValue != null) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { - when (val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue)) { - is UnregisteredVirtualOperation -> processUnregisteredVirtualOperation(concolicRunContext, renderer) - is BadModelException -> logger.debug("Step result: Bad model") - is InstructionLimitExceededException -> processInstructionLimitExceeded(concolicRunContext) - is CancelledExecutionException -> processCancelledException(concolicRunContext) - else -> throw javaException - } + val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) + processJavaException(concolicRunContext, javaException, renderer) return false } logger.debug( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 3eac3bc5e1..6adcfd60ef 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -22,6 +22,7 @@ private val logger = object : KLogging() {}.logger enum class PyPathSelectorType { BaselinePriorityDfs, BaselineWeightedDfs, + BaselinePriorityRandomTree, BaselinePriorityWeightedByNumberOfVirtual, BaselinePriorityPlusTypeRatingByHintsDfs, DelayedForkByInstructionPriorityDfs, @@ -43,6 +44,9 @@ fun createPyPathSelector( PyPathSelectorType.BaselineWeightedDfs -> createBaselineWeightedDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityRandomTree -> + createBaselinePriorityRandomTreePyPathSelector(initialState, ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityWeightedByNumberOfVirtual -> createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) @@ -56,7 +60,7 @@ fun createPyPathSelector( createDelayedForkByInstructionWeightedDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree -> - createDelayedForkByInstructionWeightedRandomPyPathSelector(initialState, ctx, random, newStateObserver) + createDelayedForkByInstructionWeightedRandomTreePyPathSelector(initialState, ctx, random, newStateObserver) } selector.add(listOf(initialState)) return selector @@ -75,6 +79,25 @@ fun createBaselinePriorityDfsPyPathSelector( newStateObserver ) +fun createBaselinePriorityRandomTreePyPathSelector( + initialState: PyState, + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeBaselinePriorityActionStrategy(random), + BaselineDelayedForkStrategy(), + BaselineDFGraphCreation { + RandomTreePathSelector.fromRoot( + initialState.pathNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) + }, + newStateObserver + ) + fun createBaselineWeightedDfsPyPathSelector( ctx: PyContext, random: Random, @@ -145,7 +168,7 @@ fun createDelayedForkByInstructionWeightedDfsPyPathSelector( newStateObserver ) -fun createDelayedForkByInstructionWeightedRandomPyPathSelector( +fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( initialState: PyState, ctx: PyContext, random: Random, From f85bc78f39b45dc89c6def9762f9fea433a3af28 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Feb 2024 12:15:46 +0300 Subject: [PATCH 256/344] Updated usvm-python/buildDistWithoutPip.sh --- usvm-python/buildDistWithoutPip.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/usvm-python/buildDistWithoutPip.sh b/usvm-python/buildDistWithoutPip.sh index a7e914a48c..e83010b0c3 100755 --- a/usvm-python/buildDistWithoutPip.sh +++ b/usvm-python/buildDistWithoutPip.sh @@ -1,11 +1,11 @@ -../gradlew :usvm-python:cpythonadapter:CPythonClean &&\ -../gradlew :usvm-python:cpythonadapter:CPythonDistclean &&\ -../gradlew :usvm-python:cpythonadapter:clean &&\ -../gradlew :usvm-python:clean &&\ +../gradlew -PcpythonActivated=true :usvm-python:cpythonadapter:CPythonClean &&\ +../gradlew -PcpythonActivated=true :usvm-python:cpythonadapter:CPythonDistclean &&\ +../gradlew -PcpythonActivated=true :usvm-python:cpythonadapter:clean &&\ +../gradlew -PcpythonActivated=true :usvm-python:clean &&\ echo "false" > cpythonadapter/include_pip_in_build &&\ -../gradlew :usvm-python:cpythonadapter:linkDebug &&\ -../gradlew :usvm-util:jar &&\ -../gradlew :usvm-core:jar &&\ -../gradlew :usvm-python:jar &&\ -../gradlew :usvm-python:distZip &&\ +../gradlew -PcpythonActivated=true :usvm-python:cpythonadapter:linkDebug &&\ +../gradlew -PcpythonActivated=true :usvm-util:jar &&\ +../gradlew -PcpythonActivated=true :usvm-core:jar &&\ +../gradlew -PcpythonActivated=true :usvm-python:jar &&\ +../gradlew -PcpythonActivated=true :usvm-python:distZip &&\ echo "true" > cpythonadapter/include_pip_in_build \ No newline at end of file From 8fa7e8ffe597075e121fa46db476b5151f7ba179 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Feb 2024 13:05:43 +0300 Subject: [PATCH 257/344] Added pathSelector parameter to usvm-python-runner --- settings.gradle.kts | 4 ++-- usvm-python/build.gradle.kts | 2 +- .../usvm/runner/UtBotPythonRunnerEntryPoint.kt | 16 ++++++++++------ .../build.gradle.kts | 0 .../org/usvm/python/model/PyObjectModel.kt | 0 .../usvm/python/model/PyObjectModelVisitor.kt | 0 .../main/kotlin/org/usvm/python/model/PyTest.kt | 0 .../main/kotlin/org/usvm/python/model/Utils.kt | 0 .../org/usvm/python/ps/PyPathSelectorType.kt | 12 ++++++++++++ usvm-python/usvm-python-main/build.gradle.kts | 2 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../org/usvm/machine/ps/PyPathSelectorFactory.kt | 12 +----------- .../org/usvm/runner/PyMachineSocketRunner.kt | 6 ++++-- usvm-python/usvm-python-runner/build.gradle.kts | 1 + .../src/main/kotlin/org/usvm/runner/Config.kt | 4 +++- .../kotlin/org/usvm/runner/USVMPythonRunner.kt | 1 + .../test/kotlin/org/usvm/runner/manualTest.kt | 4 +++- 17 files changed, 40 insertions(+), 26 deletions(-) rename usvm-python/{usvm-python-object-model => usvm-python-commons}/build.gradle.kts (100%) rename usvm-python/{usvm-python-object-model => usvm-python-commons}/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt (100%) rename usvm-python/{usvm-python-object-model => usvm-python-commons}/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt (100%) rename usvm-python/{usvm-python-object-model => usvm-python-commons}/src/main/kotlin/org/usvm/python/model/PyTest.kt (100%) rename usvm-python/{usvm-python-object-model => usvm-python-commons}/src/main/kotlin/org/usvm/python/model/Utils.kt (100%) create mode 100644 usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index db10c5cf01..1836f10294 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -37,5 +37,5 @@ include("usvm-python:usvm-python-main") findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" include("usvm-python:usvm-python-runner") findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" -include("usvm-python:usvm-python-object-model") -findProject(":usvm-python:usvm-python-object-model")?.name = "usvm-python-object-model" \ No newline at end of file +include("usvm-python:usvm-python-commons") +findProject(":usvm-python:usvm-python-commons")?.name = "usvm-python-commons" \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 1ad9d52fb3..e7db484d65 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -8,7 +8,7 @@ plugins { dependencies { implementation(project(":usvm-core")) implementation(project(":usvm-python:usvm-python-main")) - implementation(project(":usvm-python:usvm-python-object-model")) + implementation(project(":usvm-python:usvm-python-commons")) implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") implementation("ch.qos.logback:logback-classic:${Versions.logback}") } diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index 73c434b993..c40f9c6aa5 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -2,10 +2,11 @@ package org.usvm.runner import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.venv.VenvConfig +import org.usvm.python.ps.PyPathSelectorType import java.io.File fun main(args: Array) { - var prefixNumberOfArgs = 8 + var prefixNumberOfArgs = 9 require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } val mypyDirPath = args[0] val socketPort = args[1].toIntOrNull() ?: error("Second argument must be integer") @@ -14,13 +15,15 @@ fun main(args: Array) { val clsName = if (args[4] == "") null else args[4] val timeoutPerRunMs = args[5].toLongOrNull() ?: error("Sixth argument must be integer") val timeoutMs = args[6].toLongOrNull() ?: error("Seventh argument must be integer") - if (args[7] != "") { + val pathSelectorName = args[7] + val pathSelector = PyPathSelectorType.valueOf(pathSelectorName) + if (args[8] != "") { prefixNumberOfArgs += 2 require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } val venvConfig = VenvConfig( - basePath = File(args[7]), - libPath = File(args[8]), - binPath = File(args[9]) + basePath = File(args[8]), + libPath = File(args[9]), + binPath = File(args[10]) ) ConcretePythonInterpreter.setVenv(venvConfig) System.err.println("VenvConfig: $venvConfig") @@ -32,7 +35,8 @@ fun main(args: Array) { File(mypyDirPath), programRoots.map { File(it) }.toSet(), "localhost", - socketPort + socketPort, + pathSelector ) runner.use { if (clsName == null) { diff --git a/usvm-python/usvm-python-object-model/build.gradle.kts b/usvm-python/usvm-python-commons/build.gradle.kts similarity index 100% rename from usvm-python/usvm-python-object-model/build.gradle.kts rename to usvm-python/usvm-python-commons/build.gradle.kts diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt similarity index 100% rename from usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt rename to usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt similarity index 100% rename from usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt rename to usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt similarity index 100% rename from usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/PyTest.kt rename to usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt diff --git a/usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt similarity index 100% rename from usvm-python/usvm-python-object-model/src/main/kotlin/org/usvm/python/model/Utils.kt rename to usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt new file mode 100644 index 0000000000..c22e635b69 --- /dev/null +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -0,0 +1,12 @@ +package org.usvm.python.ps + +enum class PyPathSelectorType { + BaselinePriorityDfs, + BaselineWeightedDfs, + BaselinePriorityRandomTree, + BaselinePriorityWeightedByNumberOfVirtual, + BaselinePriorityPlusTypeRatingByHintsDfs, + DelayedForkByInstructionPriorityDfs, + DelayedForkByInstructionWeightedDfs, + DelayedForkByInstructionWeightedRandomTree +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index e8308e57ec..5104da3236 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -14,7 +14,7 @@ tasks.compileJava { dependencies { implementation(project(":usvm-core")) implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) - implementation(project(mapOf("path" to ":usvm-python:usvm-python-object-model"))) + implementation(project(mapOf("path" to ":usvm-python:usvm-python-commons"))) annotationProcessor(project(":usvm-python:usvm-python-annotations")) implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index dc3f3e9309..d97df5cbb4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -9,7 +9,6 @@ import org.usvm.language.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel -import org.usvm.machine.ps.PyPathSelectorType import org.usvm.machine.ps.createPyPathSelector import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.NewStateObserver @@ -19,6 +18,7 @@ import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.machine.utils.isGenerator import org.usvm.machine.utils.unfoldGenerator import org.usvm.memory.UMemory +import org.usvm.python.ps.PyPathSelectorType import org.usvm.solver.USatResult import org.usvm.statistics.CompositeUMachineObserver import org.usvm.statistics.UMachineObserver diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 6adcfd60ef..e74f196190 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -14,22 +14,12 @@ import org.usvm.ps.RandomTreePathSelector import org.usvm.ps.WeightedPathSelector import org.usvm.python.model.PyTupleObject import org.usvm.python.model.calculateNumberOfMocks +import org.usvm.python.ps.PyPathSelectorType import kotlin.math.max import kotlin.random.Random private val logger = object : KLogging() {}.logger -enum class PyPathSelectorType { - BaselinePriorityDfs, - BaselineWeightedDfs, - BaselinePriorityRandomTree, - BaselinePriorityWeightedByNumberOfVirtual, - BaselinePriorityPlusTypeRatingByHintsDfs, - DelayedForkByInstructionPriorityDfs, - DelayedForkByInstructionWeightedDfs, - DelayedForkByInstructionWeightedRandomTree -} - fun createPyPathSelector( initialState: PyState, type: PyPathSelectorType, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index c9ba995b77..6b5921848d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -8,6 +8,7 @@ import org.usvm.machine.PyMachine import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.* import org.usvm.machine.results.serialization.EmptyObjectSerializer +import org.usvm.python.ps.PyPathSelectorType import org.utpython.types.PythonCallableTypeDescription import org.utpython.types.PythonCompositeTypeDescription import org.utpython.types.general.FunctionType @@ -21,14 +22,15 @@ class PyMachineSocketRunner( mypyDirPath: File, programRoots: Set, socketIp: String, - socketPort: Int + socketPort: Int, + pathSelector: PyPathSelectorType ): AutoCloseable { private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) private val mypyBuild = readMypyInfoBuild(mypyDir) private val communicator = PickledObjectCommunicator(socketIp, socketPort) private val program = StructuredPyProgram(programRoots) private val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - private val machine = PyMachine(program, typeSystem) + private val machine = PyMachine(program, typeSystem, pathSelectorType = pathSelector) override fun close() { communicator.close() machine.close() diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index e9ece5e40f..c969a4e28f 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -4,6 +4,7 @@ plugins { } dependencies { + implementation(project(mapOf("path" to ":usvm-python:usvm-python-commons"))) api("io.github.microutils:kotlin-logging:${Versions.klogging}") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt index 5afb07749a..0d55425fe7 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt @@ -1,5 +1,6 @@ package org.usvm.runner +import org.usvm.python.ps.PyPathSelectorType import org.usvm.runner.venv.VenvConfig data class USVMPythonConfig( @@ -7,7 +8,8 @@ data class USVMPythonConfig( val javaCmd: String, val mypyBuildDir: String, val roots: Set, - val venvConfig: VenvConfig? + val venvConfig: VenvConfig?, + val pathSelector: PyPathSelectorType ) sealed class USVMPythonCallableConfig diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index 8a5f3f062c..78cdffc591 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -48,6 +48,7 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable *functionConfigArgs.toTypedArray(), runConfig.timeoutPerRunMs.toString(), runConfig.timeoutMs.toString(), + config.pathSelector.name, *venvArgs.toTypedArray(), *config.roots.toList().toTypedArray() ) diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index 5f03a2b018..c023df50d7 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -1,5 +1,6 @@ package org.usvm.runner +import org.usvm.python.ps.PyPathSelectorType import java.io.File fun main() { @@ -14,7 +15,8 @@ fun main() { "java", mypyDir.canonicalPath, setOf(root.canonicalPath), - venvConfig + venvConfig, + PyPathSelectorType.BaselinePriorityDfs ) val runConfig = USVMPythonRunConfig( USVMPythonFunctionConfig( From d295904021cae2318bd4fe2f9bbe4ce5f6d2cb6e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Feb 2024 13:09:15 +0300 Subject: [PATCH 258/344] Fixed module dependency --- usvm-python/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index e7db484d65..f0e671665e 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -24,7 +24,7 @@ tasks.jar { dependsOn(":usvm-util:jar") dependsOn(":usvm-core:jar") dependsOn(":usvm-python:usvm-python-main:jar") - dependsOn(":usvm-python:usvm-python-object-model:jar") + dependsOn(":usvm-python:usvm-python-commons:jar") } if (cpythonActivatedFlag) { From cc2aa895cea9b3f7d8ef3a655cc83fa0d14dc4db Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Feb 2024 13:41:55 +0300 Subject: [PATCH 259/344] Added publication of usvm-python-commons --- .github/workflows/gradle-publish.yml | 6 +++--- .../usvm-python-commons/build.gradle.kts | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index c1c895d656..885dcd8e5a 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -33,17 +33,17 @@ jobs: - name: Build with Gradle uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:build -Pversion=${{ steps.commithash.outputs.sha_short }} + arguments: :usvm-python:usvm-python-runner:build :usvm-python:usvm-python-common:build -Pversion=${{ steps.commithash.outputs.sha_short }} env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # The USERNAME and TOKEN need to correspond to the credentials environment variables used in # the publishing section of your build.gradle - - name: Publish to GitHub Packages + - name: Publish usvm-python-runner to GitHub Packages uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:publish -Pversion=${{ steps.commithash.outputs.sha_short }} + arguments: :usvm-python:usvm-python-runner:publish :usvm-python:usvm-python-common:publish -Pversion=${{ steps.commithash.outputs.sha_short }} env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/usvm-python/usvm-python-commons/build.gradle.kts b/usvm-python/usvm-python-commons/build.gradle.kts index 5946ea8f6d..f0e05c7c5a 100644 --- a/usvm-python/usvm-python-commons/build.gradle.kts +++ b/usvm-python/usvm-python-commons/build.gradle.kts @@ -1,3 +1,24 @@ plugins { id("usvm.kotlin-conventions") + `maven-publish` +} + +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/UnitTestBot/usvm") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } + publications { + create("jar") { + from(components["java"]) + groupId = "org.usvm" + artifactId = project.name + } + } } \ No newline at end of file From ce620e8d6c9d3fba90b42c3f89c3e250c77e4244 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 29 Feb 2024 13:49:08 +0300 Subject: [PATCH 260/344] Fixed publish task --- .github/workflows/gradle-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index 885dcd8e5a..cdeab5d6ac 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -43,7 +43,7 @@ jobs: - name: Publish usvm-python-runner to GitHub Packages uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:publish :usvm-python:usvm-python-common:publish -Pversion=${{ steps.commithash.outputs.sha_short }} + arguments: :usvm-python:usvm-python-runner:publishAllPublicationsToGitHubPackagesRepository :usvm-python:usvm-python-common:publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ steps.commithash.outputs.sha_short }} env: GITHUB_ACTOR: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 2265eccd4f01042e78d4e28b7a0ccaf2a163fe40 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 1 Mar 2024 13:41:25 +0300 Subject: [PATCH 261/344] Added WeightedByNumberOfVirtualPathSelector; changed baseline probabilities --- .../kotlin/org/usvm/samples/EnumerateTest.kt | 2 +- .../test/kotlin/org/usvm/samples/ListsTest.kt | 4 +- .../kotlin/org/usvm/samples/MethodsTest.kt | 4 +- .../usvm/samples/SimpleCustomClassesTest.kt | 8 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../org/usvm/python/ps/PyPathSelectorType.kt | 17 ++-- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 98 +++++++++---------- .../WeightedByNumberOfVirtualPathSelector.kt | 68 +++++++++++++ .../ps/strategies/impls/BaselineStrategy.kt | 8 +- 10 files changed, 140 insertions(+), 73 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt index 8d5af23a38..a59bc1abba 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt @@ -9,7 +9,7 @@ import kotlin.time.Duration.Companion.seconds class EnumerateTest: PythonTestRunnerForPrimitiveProgram( "Enumerate", - UMachineOptions(stepLimit = 15U, timeout = 20.seconds), + UMachineOptions(stepLimit = 25U, timeout = 20.seconds), // allowPathDiversions = true ) { @Test diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 7571618ca4..3df7efd928 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -201,7 +201,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram( private fun richcompareCheck(function: PyUnpinnedCallable) { val oldOptions = options - options = UMachineOptions(stepLimit = 10U) + options = UMachineOptions(stepLimit = 15U) allowPathDiversions = true check2WithConcreteRun( function, @@ -262,7 +262,7 @@ class ListsTest : PythonTestRunnerForPrimitiveProgram( @Test fun testDoubleSubscriptAndCompare() { val oldOptions = options - options = UMachineOptions(stepLimit = 20U, timeout = 20.seconds) + options = UMachineOptions(stepLimit = 30U, timeout = 20.seconds) allowPathDiversions = true check2WithConcreteRun( constructFunction("double_subscript_and_compare", listOf(typeSystem.pythonList, typeSystem.pythonList)), diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index 6c3a79435a..d34283b3b4 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -116,10 +116,10 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio @Test fun testPoint2Inference() { val oldOptions = options - options = UMachineOptions(stepLimit = 2U) + options = UMachineOptions(stepLimit = 4U) check1WithConcreteRun( constructFunction("point2_inference", List(1) { PythonAnyType }), - eq(1), + ignoreNumberOfAnalysisResults, standardConcolicAndConcreteChecks, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf { x, _ -> x.typeName == "Point2" } diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 13b0162a6d..6674f48735 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -7,7 +7,7 @@ import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses", UMachineOptions(stepLimit = 20U)) { +class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCustomClasses", UMachineOptions(stepLimit = 25U)) { @Test fun testMatmulUsage() { check1WithConcreteRun( @@ -25,10 +25,10 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto @Test fun testMatmulAndAdd() { val oldOptions = options - options = UMachineOptions(stepLimit = 2U) + options = UMachineOptions(stepLimit = 4U) check1WithConcreteRun( constructFunction("matmul_and_add", List(1) { PythonAnyType }), - eq(1), + ignoreNumberOfAnalysisResults, compareConcolicAndConcreteTypes, /* invariants = */ emptyList(), /* propertiesToDiscover = */ listOf { x, res -> @@ -41,7 +41,7 @@ class SimpleCustomClassesTest: PythonTestRunnerForStructuredProgram("SimpleCusto @Test fun testMatmulAddAndSub() { val oldOptions = options - options = UMachineOptions(stepLimit = 6U) + options = UMachineOptions(stepLimit = 10U) check1WithConcreteRun( constructFunction("matmul_add_and_sub", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index 9fc3455545..aa517bbbe1 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -126,7 +126,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testAddAndCompare() { val oldOptions = options allowPathDiversions = true - options = UMachineOptions(stepLimit = 100U) + options = UMachineOptions(stepLimit = 120U) timeoutPerRunMs = 2000 check2WithConcreteRun( constructFunction("add_and_compare", List(2) { PythonAnyType }), diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index c22e635b69..ae0b96d79e 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -1,12 +1,13 @@ package org.usvm.python.ps enum class PyPathSelectorType { - BaselinePriorityDfs, - BaselineWeightedDfs, - BaselinePriorityRandomTree, - BaselinePriorityWeightedByNumberOfVirtual, - BaselinePriorityPlusTypeRatingByHintsDfs, - DelayedForkByInstructionPriorityDfs, - DelayedForkByInstructionWeightedDfs, - DelayedForkByInstructionWeightedRandomTree + BaselinePriorityDfs, // passes tests + BaselineWeightedDfs, // passes tests + BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests + DelayedForkByInstructionPriorityDfs, // fails tests + DelayedForkByInstructionWeightedDfs, // passes tests + DelayedForkByInstructionWeightedRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests + DelayedForkByInstructionWeightedNumberOfVirtualDfs, // fails test MultiplyAndCompare } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index d97df5cbb4..6137b2cbf2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index e74f196190..6519ce700d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -1,24 +1,14 @@ package org.usvm.machine.ps -import mu.KLogging -import org.usvm.algorithms.RandomizedPriorityCollection import org.usvm.machine.PyContext import org.usvm.machine.PyState -import org.usvm.machine.model.PyModelHolder import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver -import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.ps.DfsPathSelector import org.usvm.ps.RandomTreePathSelector -import org.usvm.ps.WeightedPathSelector -import org.usvm.python.model.PyTupleObject -import org.usvm.python.model.calculateNumberOfMocks import org.usvm.python.ps.PyPathSelectorType -import kotlin.math.max import kotlin.random.Random -private val logger = object : KLogging() {}.logger fun createPyPathSelector( initialState: PyState, @@ -34,11 +24,8 @@ fun createPyPathSelector( PyPathSelectorType.BaselineWeightedDfs -> createBaselineWeightedDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.BaselinePriorityRandomTree -> - createBaselinePriorityRandomTreePyPathSelector(initialState, ctx, random, newStateObserver) - - PyPathSelectorType.BaselinePriorityWeightedByNumberOfVirtual -> - createBaselineWeightedByNumberOfVirtualPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityNumberOfVirtualDfs -> + createBaselinePriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) @@ -51,6 +38,12 @@ fun createPyPathSelector( PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree -> createDelayedForkByInstructionWeightedRandomTreePyPathSelector(initialState, ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfVirtualDfs -> + createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfVirtualDfs -> + createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) } selector.add(listOf(initialState)) return selector @@ -69,25 +62,6 @@ fun createBaselinePriorityDfsPyPathSelector( newStateObserver ) -fun createBaselinePriorityRandomTreePyPathSelector( - initialState: PyState, - ctx: PyContext, - random: Random, - newStateObserver: NewStateObserver -): PyVirtualPathSelector<*, *> = - PyVirtualPathSelector( - ctx, - makeBaselinePriorityActionStrategy(random), - BaselineDelayedForkStrategy(), - BaselineDFGraphCreation { - RandomTreePathSelector.fromRoot( - initialState.pathNode, - randomNonNegativeInt = { random.nextInt(0, it) } - ) - }, - newStateObserver - ) - fun createBaselineWeightedDfsPyPathSelector( ctx: PyContext, random: Random, @@ -101,7 +75,7 @@ fun createBaselineWeightedDfsPyPathSelector( newStateObserver ) -fun createBaselineWeightedByNumberOfVirtualPyPathSelector( +fun createBaselinePriorityNumberOfVirtualDfsPyPathSelector( ctx: PyContext, random: Random, newStateObserver: NewStateObserver @@ -111,23 +85,9 @@ fun createBaselineWeightedByNumberOfVirtualPyPathSelector( makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedPathSelector( - priorityCollectionFactory = { - RandomizedPriorityCollection(compareBy { it.id }) { random.nextDouble() } - }, - weighter = { - val modelHolder = PyModelHolder(it.pyModel) - val builder = PyObjectModelBuilder(it, modelHolder) - val models = it.inputSymbols.map { symbol -> - val interpreted = interpretSymbolicPythonObject(modelHolder, it.memory, symbol) - builder.convert(interpreted) - } - val tupleOfModels = PyTupleObject(models) - val mocks = calculateNumberOfMocks(tupleOfModels) - logger.debug { "Mocks of state $it: $mocks" } - 1.0 / max(1, 10 * mocks) - } - ) + WeightedByNumberOfVirtualPathSelector(random) { + DfsPathSelector() + } }, newStateObserver ) @@ -177,6 +137,40 @@ fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( newStateObserver ) +fun createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionPriorityStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + WeightedByNumberOfVirtualPathSelector(random) { + DfsPathSelector() + } + }, + newStateObserver + ) + +fun createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionWeightedStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + WeightedByNumberOfVirtualPathSelector(random) { + DfsPathSelector() + } + }, + newStateObserver + ) + fun createTypeRatingByHintsDfsPyPathSelector( ctx: PyContext, random: Random, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt new file mode 100644 index 0000000000..8dfa9c6dd8 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt @@ -0,0 +1,68 @@ +package org.usvm.machine.ps + +import org.usvm.UPathSelector +import org.usvm.machine.PyState +import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.python.model.PyTupleObject +import org.usvm.python.model.calculateNumberOfMocks +import kotlin.math.max +import kotlin.random.Random + + +class WeightedByNumberOfVirtualPathSelector( + private val random: Random, + private val baseBaseSelectorCreation: () -> UPathSelector +): UPathSelector { + private val selectors = mutableMapOf>() + private val selectorOfState = mutableMapOf?>() + + override fun isEmpty(): Boolean { + return selectors.all { it.value.isEmpty() } + } + + override fun peek(): PyState { + val availableNumbers = selectors.mapNotNull { (number, selector) -> + if (selector.isEmpty()) null else number + } + val chosenNumber = weightedRandom(random, availableNumbers) { mocks -> 1.0 / max(1, 10 * mocks) } + val selector = selectors[chosenNumber]!! + return selector.peek() + } + + override fun update(state: PyState) { + remove(state) + add(state) + } + + override fun add(states: Collection) { + states.forEach { add(it) } + } + + private fun add(state: PyState) { + val numberOfVirtual = calculateNumberOfVirtual(state) + if (selectors[numberOfVirtual] == null) + selectors[numberOfVirtual] = baseBaseSelectorCreation() + val selector = selectors[numberOfVirtual]!! + selector.add(listOf(state)) + selectorOfState[state] = selector + } + + override fun remove(state: PyState) { + val selector = selectorOfState[state] ?: error("State was not in path selector") + selector.remove(state) + selectorOfState[state] = null + } + + private fun calculateNumberOfVirtual(state: PyState): Int { + val modelHolder = PyModelHolder(state.pyModel) + val builder = PyObjectModelBuilder(state, modelHolder) + val models = state.inputSymbols.map { symbol -> + val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) + builder.convert(interpreted) + } + val tupleOfModels = PyTupleObject(models) + return calculateNumberOfMocks(tupleOfModels) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index e47b07e306..0586686add 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -7,8 +7,12 @@ import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.* import kotlin.random.Random -val baselineProbabilities = listOf(1.0, 0.6, 0.9, 0.7, 1.0) -val baselineWeights = listOf(100.0, 0.6, 0.35, 0.04, 0.01) +val baselineProbabilities = listOf(1.0, 0.6, 0.875, 0.8, 1.0) +private val probNegations = baselineProbabilities + .drop(1) + .runningFold(1.0) { acc, p -> acc * (1 - p) } +val baselineWeights = //listOf(100.0, 0.6, 0.35, 0.04, 0.01) + listOf(100.0) + (baselineProbabilities.drop(1) zip probNegations.dropLast(1)).map { (a, b) -> a * b } fun makeBaselinePriorityActionStrategy( random: Random From 02e1748e843cfa4a0a331bf080a1e58894fcc48e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 1 Mar 2024 21:49:17 +0300 Subject: [PATCH 262/344] Changed parameter in WeightedByNumberOfVirtualPathSelector --- .../usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt index 8dfa9c6dd8..28e74cd77e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt @@ -26,7 +26,7 @@ class WeightedByNumberOfVirtualPathSelector( val availableNumbers = selectors.mapNotNull { (number, selector) -> if (selector.isEmpty()) null else number } - val chosenNumber = weightedRandom(random, availableNumbers) { mocks -> 1.0 / max(1, 10 * mocks) } + val chosenNumber = weightedRandom(random, availableNumbers) { mocks -> 1.0 / max(1, mocks + 1) } val selector = selectors[chosenNumber]!! return selector.peek() } From b8c32783aaef5ee517f93702c471525918186a83 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Sun, 3 Mar 2024 15:54:44 +0300 Subject: [PATCH 263/344] Fixed WeightedByNumberOfVirtualPathSelector --- .../WeightedByNumberOfVirtualPathSelector.kt | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt index 28e74cd77e..05ac63b9a2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt @@ -55,14 +55,15 @@ class WeightedByNumberOfVirtualPathSelector( selectorOfState[state] = null } - private fun calculateNumberOfVirtual(state: PyState): Int { - val modelHolder = PyModelHolder(state.pyModel) - val builder = PyObjectModelBuilder(state, modelHolder) - val models = state.inputSymbols.map { symbol -> - val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) - builder.convert(interpreted) - } - val tupleOfModels = PyTupleObject(models) - return calculateNumberOfMocks(tupleOfModels) - } + private fun calculateNumberOfVirtual(state: PyState): Int = + runCatching { + val modelHolder = PyModelHolder(state.pyModel) + val builder = PyObjectModelBuilder(state, modelHolder) + val models = state.inputSymbols.map { symbol -> + val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) + builder.convert(interpreted) + } + val tupleOfModels = PyTupleObject(models) + calculateNumberOfMocks(tupleOfModels) + }.getOrDefault(2) } \ No newline at end of file From 03611adb94b1a193dc13ea99a3c63f1fc8650c4c Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Sun, 3 Mar 2024 22:22:22 +0300 Subject: [PATCH 264/344] Added path selectors weighted by number of instructions --- .../kotlin/org/usvm/samples/MethodsTest.kt | 2 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../org/usvm/python/ps/PyPathSelectorType.kt | 3 + .../main/kotlin/org/usvm/machine/PyState.kt | 6 +- .../operations/tracing/PathTracing.kt | 7 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 95 ++++++++++++++++++- ...hSelector.kt => WeightedPyPathSelector.kt} | 26 +---- 7 files changed, 111 insertions(+), 30 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/{WeightedByNumberOfVirtualPathSelector.kt => WeightedPyPathSelector.kt} (59%) diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index d34283b3b4..81284f12dd 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -116,7 +116,7 @@ class MethodsTest: PythonTestRunnerForStructuredProgram("Methods", UMachineOptio @Test fun testPoint2Inference() { val oldOptions = options - options = UMachineOptions(stepLimit = 4U) + options = UMachineOptions(stepLimit = 6U) check1WithConcreteRun( constructFunction("point2_inference", List(1) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index aa517bbbe1..d55c8f055a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -147,7 +147,7 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 300U) + options = UMachineOptions(stepLimit = 320U) timeoutPerRunMs = 1000 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index ae0b96d79e..2081bcc233 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -4,10 +4,13 @@ enum class PyPathSelectorType { BaselinePriorityDfs, // passes tests BaselineWeightedDfs, // passes tests BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselinePriorityNumberOfInstructionsDfs, // passes tests BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests DelayedForkByInstructionPriorityDfs, // fails tests DelayedForkByInstructionWeightedDfs, // passes tests DelayedForkByInstructionWeightedRandomTree, // passes tests DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests DelayedForkByInstructionWeightedNumberOfVirtualDfs, // fails test MultiplyAndCompare + DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests + DelayedForkByInstructionWeightedNumberOfInstructionsDfs, // fails tests ReverseUsage and MultiplyAndCompare } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 4bd9ad2fec..11395b1170 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -1,7 +1,9 @@ package org.usvm.machine import kotlinx.collections.immutable.PersistentList +import kotlinx.collections.immutable.PersistentSet import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.persistentSetOf import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -36,6 +38,7 @@ class PyState( var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf(), + var uniqueInstructions: PersistentSet = persistentSetOf() ): UState( ctx, callStack, @@ -65,7 +68,8 @@ class PyState( concolicQueries, delayedForks, mocks.toMutableMap(), // copy - mockedObjects.toMutableSet() // copy + mockedObjects.toMutableSet(), // copy + uniqueInstructions ) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index db27ece7b9..85d7be6b79 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -20,12 +20,15 @@ fun withTracing( if (context.isCancelled.call()) throw CancelledExecutionException context.instructionCounter += 1 - if (newEventParameters is NextInstruction) - context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) if (context.instructionCounter > context.maxInstructions) throw InstructionLimitExceededException if (context.curState == null) return null + if (newEventParameters is NextInstruction) { + context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) + val state = context.curState!! + state.uniqueInstructions = state.uniqueInstructions.add(newEventParameters.pyInstruction) + } if (context.pathPrefix.isEmpty()) { val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() if (context.curState == null) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 6519ce700d..1afe1e2f5a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -2,11 +2,18 @@ package org.usvm.machine.ps import org.usvm.machine.PyContext import org.usvm.machine.PyState +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.ps.DfsPathSelector import org.usvm.ps.RandomTreePathSelector +import org.usvm.python.model.PyTupleObject +import org.usvm.python.model.calculateNumberOfMocks import org.usvm.python.ps.PyPathSelectorType +import kotlin.math.log +import kotlin.math.max import kotlin.random.Random @@ -27,6 +34,9 @@ fun createPyPathSelector( PyPathSelectorType.BaselinePriorityNumberOfVirtualDfs -> createBaselinePriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityNumberOfInstructionsDfs -> + createBaselinePriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) @@ -44,6 +54,12 @@ fun createPyPathSelector( PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfVirtualDfs -> createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsDfs -> + createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfInstructionsDfs -> + createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector(ctx, random, newStateObserver) } selector.add(listOf(initialState)) return selector @@ -85,7 +101,24 @@ fun createBaselinePriorityNumberOfVirtualDfsPyPathSelector( makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedByNumberOfVirtualPathSelector(random) { + WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + DfsPathSelector() + } + }, + newStateObserver + ) + +fun createBaselinePriorityNumberOfInstructionsDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeBaselinePriorityActionStrategy(random), + BaselineDelayedForkStrategy(), + BaselineDFGraphCreation { + WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, @@ -147,7 +180,24 @@ fun createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector( makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedByNumberOfVirtualPathSelector(random) { + WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + DfsPathSelector() + } + }, + newStateObserver + ) + +fun createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionPriorityStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, @@ -164,7 +214,24 @@ fun createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector( makeDelayedForkByInstructionWeightedStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedByNumberOfVirtualPathSelector(random) { + WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + DfsPathSelector() + } + }, + newStateObserver + ) + +fun createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector( + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionWeightedStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, @@ -182,4 +249,24 @@ fun createTypeRatingByHintsDfsPyPathSelector( TypeRatingByNumberOfHints(), BaselineDFGraphCreation { DfsPathSelector() }, newStateObserver - ) \ No newline at end of file + ) + + +private fun calculateNumberOfVirtual(state: PyState): Int = + runCatching { + val modelHolder = PyModelHolder(state.pyModel) + val builder = PyObjectModelBuilder(state, modelHolder) + val models = state.inputSymbols.map { symbol -> + val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) + builder.convert(interpreted) + } + val tupleOfModels = PyTupleObject(models) + calculateNumberOfMocks(tupleOfModels) + }.getOrDefault(5) + + +private fun mockWeight(mocks: Int) = 1.0 / max(1, mocks + 1) + +private fun calculateNumberOfInstructions(state: PyState) = state.uniqueInstructions.size + +private fun instructionWeight(instructions: Int) = log(instructions + 8.0, 2.0) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt similarity index 59% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt index 05ac63b9a2..72e8554f5b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedByNumberOfVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt @@ -2,17 +2,13 @@ package org.usvm.machine.ps import org.usvm.UPathSelector import org.usvm.machine.PyState -import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.python.model.PyTupleObject -import org.usvm.python.model.calculateNumberOfMocks -import kotlin.math.max import kotlin.random.Random -class WeightedByNumberOfVirtualPathSelector( +class WeightedPyPathSelector( private val random: Random, + private val counter: (PyState) -> Int, + private val weight: (Int) -> Double, private val baseBaseSelectorCreation: () -> UPathSelector ): UPathSelector { private val selectors = mutableMapOf>() @@ -26,7 +22,7 @@ class WeightedByNumberOfVirtualPathSelector( val availableNumbers = selectors.mapNotNull { (number, selector) -> if (selector.isEmpty()) null else number } - val chosenNumber = weightedRandom(random, availableNumbers) { mocks -> 1.0 / max(1, mocks + 1) } + val chosenNumber = weightedRandom(random, availableNumbers, weight) val selector = selectors[chosenNumber]!! return selector.peek() } @@ -41,7 +37,7 @@ class WeightedByNumberOfVirtualPathSelector( } private fun add(state: PyState) { - val numberOfVirtual = calculateNumberOfVirtual(state) + val numberOfVirtual = counter(state) if (selectors[numberOfVirtual] == null) selectors[numberOfVirtual] = baseBaseSelectorCreation() val selector = selectors[numberOfVirtual]!! @@ -54,16 +50,4 @@ class WeightedByNumberOfVirtualPathSelector( selector.remove(state) selectorOfState[state] = null } - - private fun calculateNumberOfVirtual(state: PyState): Int = - runCatching { - val modelHolder = PyModelHolder(state.pyModel) - val builder = PyObjectModelBuilder(state, modelHolder) - val models = state.inputSymbols.map { symbol -> - val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) - builder.convert(interpreted) - } - val tupleOfModels = PyTupleObject(models) - calculateNumberOfMocks(tupleOfModels) - }.getOrDefault(2) } \ No newline at end of file From 2ea0fd7b3086220643e1230cf00dcdc94a8e8563 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 4 Mar 2024 14:23:07 +0300 Subject: [PATCH 265/344] Added parameter proportionalToSelectorSize in WeightedPyPathSelector --- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 13 ++++---- .../usvm/machine/ps/WeightedPyPathSelector.kt | 31 +++++++++++++------ 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 6137b2cbf2..1b3f7f775e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityNumberOfInstructionsDfs, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 1afe1e2f5a..2c47941cb5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -7,6 +7,7 @@ import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.ps.BfsPathSelector import org.usvm.ps.DfsPathSelector import org.usvm.ps.RandomTreePathSelector import org.usvm.python.model.PyTupleObject @@ -101,7 +102,7 @@ fun createBaselinePriorityNumberOfVirtualDfsPyPathSelector( makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { DfsPathSelector() } }, @@ -118,7 +119,7 @@ fun createBaselinePriorityNumberOfInstructionsDfsPyPathSelector( makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, @@ -180,7 +181,7 @@ fun createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector( makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { DfsPathSelector() } }, @@ -197,7 +198,7 @@ fun createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector( makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, @@ -214,7 +215,7 @@ fun createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector( makeDelayedForkByInstructionWeightedStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfVirtual, ::mockWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { DfsPathSelector() } }, @@ -231,7 +232,7 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector( makeDelayedForkByInstructionWeightedStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, ::calculateNumberOfInstructions, ::instructionWeight) { + WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { DfsPathSelector() } }, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt index 72e8554f5b..5020bd85ec 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt @@ -7,12 +7,14 @@ import kotlin.random.Random class WeightedPyPathSelector( private val random: Random, + private val proportionalToSelectorSize: Boolean, private val counter: (PyState) -> Int, private val weight: (Int) -> Double, private val baseBaseSelectorCreation: () -> UPathSelector ): UPathSelector { private val selectors = mutableMapOf>() - private val selectorOfState = mutableMapOf?>() + private val selectorSizes = mutableMapOf() + private val countOfState = mutableMapOf() override fun isEmpty(): Boolean { return selectors.all { it.value.isEmpty() } @@ -22,7 +24,13 @@ class WeightedPyPathSelector( val availableNumbers = selectors.mapNotNull { (number, selector) -> if (selector.isEmpty()) null else number } - val chosenNumber = weightedRandom(random, availableNumbers, weight) + val chosenNumber = weightedRandom(random, availableNumbers) { + if (proportionalToSelectorSize) { + weight(it) * selectorSizes[it]!! + } else { + weight(it) + } + } val selector = selectors[chosenNumber]!! return selector.peek() } @@ -37,17 +45,22 @@ class WeightedPyPathSelector( } private fun add(state: PyState) { - val numberOfVirtual = counter(state) - if (selectors[numberOfVirtual] == null) - selectors[numberOfVirtual] = baseBaseSelectorCreation() - val selector = selectors[numberOfVirtual]!! + val count = counter(state) + if (selectors[count] == null) { + selectors[count] = baseBaseSelectorCreation() + selectorSizes[count] = 0 + } + val selector = selectors[count]!! selector.add(listOf(state)) - selectorOfState[state] = selector + countOfState[state] = count + selectorSizes[count] = selectorSizes[count]!! + 1 } override fun remove(state: PyState) { - val selector = selectorOfState[state] ?: error("State was not in path selector") + val oldCount = countOfState[state] ?: error("State was not in path selector") + val selector = selectors[oldCount] ?: error("State was not in path selector") selector.remove(state) - selectorOfState[state] = null + countOfState[state] = null + selectorSizes[oldCount] = selectorSizes[oldCount]!! - 1 } } \ No newline at end of file From 0fd00a5a5fdac446e67ebd18300a930718df9c25 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 4 Mar 2024 16:19:29 +0300 Subject: [PATCH 266/344] Added PyMockTypeStream --- usvm-python/src/test/kotlin/manualTest.kt | 2 +- .../org/usvm/runner/PythonTestRunner.kt | 1 + .../test/kotlin/org/usvm/samples/DictsTest.kt | 2 +- .../kotlin/org/usvm/samples/EnumerateTest.kt | 2 +- .../kotlin/org/usvm/samples/FloatsTest.kt | 2 +- .../test/kotlin/org/usvm/samples/ListsTest.kt | 2 +- .../kotlin/org/usvm/samples/MethodsTest.kt | 2 +- .../test/kotlin/org/usvm/samples/SetsTest.kt | 2 +- .../usvm/samples/SimpleCustomClassesTest.kt | 2 +- .../org/usvm/samples/SimpleExampleTest.kt | 2 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 2 +- .../usvm/samples/SimpleUsageOfModulesTest.kt | 2 +- .../kotlin/org/usvm/samples/SlicesTest.kt | 2 +- .../test/kotlin/org/usvm/samples/TupleTest.kt | 2 +- .../samples/tricky/CompositeObjects.py | 8 ++- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../kotlin/org/usvm/language/Callables.kt | 2 +- .../main/kotlin/org/usvm/language/Program.kt | 2 +- .../kotlin/org/usvm/machine/PyComponents.kt | 4 +- .../main/kotlin/org/usvm/machine/PyContext.kt | 4 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 6 +- .../main/kotlin/org/usvm/machine/PyState.kt | 2 + .../symbolic/USVMPythonInterpreter.kt | 2 +- .../symbolic/operations/basic/Common.kt | 1 + .../symbolic/operations/basic/Enumerate.kt | 2 +- .../symbolic/operations/basic/List.kt | 2 +- .../operations/basic/MethodNotifications.kt | 1 + .../usvm/machine/model/ConstraintsVisitor.kt | 2 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 1 + .../usvm/machine/model/PythonMockEvaluator.kt | 2 +- .../kotlin/org/usvm/machine/model/Utils.kt | 8 +-- .../model/regions/WrappedArrayIndexRegion.kt | 2 +- .../model/regions/WrappedArrayLengthRegion.kt | 2 +- .../model/regions/WrappedRefMapRegion.kt | 2 +- .../usvm/machine/ps/PyVirtualPathSelector.kt | 4 +- .../org/usvm/machine/ps/strategies/Api.kt | 2 +- .../usvm/machine/ps/types/Prioritization.kt | 4 +- .../symbolicobjects/PreallocatedObjects.kt | 4 +- .../SymbolicObjectConstruction.kt | 6 +- .../symbolicobjects/SymbolicPythonObject.kt | 1 + .../symbolicobjects/memory/ArrayLike.kt | 8 +-- .../machine/symbolicobjects/memory/Bool.kt | 1 + .../machine/symbolicobjects/memory/Dict.kt | 8 +-- .../machine/symbolicobjects/memory/Float.kt | 2 +- .../machine/symbolicobjects/memory/Int.kt | 2 +- .../machine/symbolicobjects/memory/Set.kt | 4 +- .../machine/symbolicobjects/memory/Slice.kt | 2 +- .../symbolicobjects/memory/StandardFields.kt | 6 +- .../rendering/DefaultPyObjectModelProvider.kt | 6 +- .../rendering/PyObjectModelBuilder.kt | 4 +- .../types/ElementConstraints.kt | 2 +- .../{language => machine}/types/TypeSystem.kt | 6 +- .../usvm/{language => machine}/types/Types.kt | 2 +- .../types/UtTypeConversion.kt | 2 +- .../types/VirtualTypes.kt | 4 +- .../machine/types/streams/PyMockTypeStream.kt | 66 +++++++++++++++++++ .../usvm/machine/types/streams/TypeFilter.kt | 41 ++++++++++++ .../org/usvm/machine/utils/PyImportUtils.kt | 2 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 2 +- .../org/usvm/machine/utils/UtTypeUtils.kt | 6 +- .../org/usvm/runner/PyMachineSocketRunner.kt | 4 +- 61 files changed, 203 insertions(+), 82 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine}/types/ElementConstraints.kt (98%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine}/types/TypeSystem.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine}/types/Types.kt (97%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine}/types/UtTypeConversion.kt (96%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/{language => machine}/types/VirtualTypes.kt (97%) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index ed8ba9e30b..ff4749dfd2 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -4,11 +4,11 @@ import org.usvm.language.PyProgram import org.usvm.machine.* import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram -import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.results.DefaultPyMachineResultsReceiver import org.usvm.machine.results.serialization.ObjectWithDictSerializer +import org.usvm.machine.types.* import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.getModulesFromFiles diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 111dc7b4d6..e88ab29e51 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -11,6 +11,7 @@ import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.results.* import org.usvm.machine.results.serialization.PythonObjectInfo import org.usvm.machine.results.serialization.StandardPythonObjectSerializer +import org.usvm.machine.types.* import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.python.model.PyTest diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt index 01c582fabe..011c6bfddd 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/DictsTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt index a59bc1abba..96b6b1653d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/EnumerateTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults import kotlin.time.Duration.Companion.seconds diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt index ab6dfdbb98..101f719844 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/FloatsTest.kt @@ -1,7 +1,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt index 3df7efd928..549991b289 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/ListsTest.kt @@ -3,7 +3,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.PyUnpinnedCallable -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ge diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt index 81284f12dd..c97c9d187e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/MethodsTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt index ecc05b708a..4c7d2a79ee 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SetsTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt index 6674f48735..5d495fc53c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleCustomClassesTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt index 9d52c21112..c8f232687a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleExampleTest.kt @@ -3,7 +3,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions import org.usvm.language.PyUnpinnedCallable -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index d55c8f055a..d13a5d992c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt index 0d52d1cb0e..912a014886 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleUsageOfModulesTest.kt @@ -1,7 +1,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.eq diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt index c8c102bd4d..883dcf43c9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SlicesTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.ge import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt index 7b2b66362d..de79bfbfbd 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/TupleTest.kt @@ -2,7 +2,7 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.usvm.UMachineOptions -import org.usvm.language.types.PythonAnyType +import org.usvm.machine.types.PythonAnyType import org.usvm.runner.PythonTestRunnerForPrimitiveProgram import org.usvm.test.util.checkers.eq import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults diff --git a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py index 6f442e1504..9885a963bd 100644 --- a/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py +++ b/usvm-python/src/test/resources/samples/tricky/CompositeObjects.py @@ -10,14 +10,16 @@ def __init__(self, data): def f(x): - print("left data_list:", x.left.data_list, flush=True) + # print("left data_list:", x.left.data_list, flush=True) if x.left.data_list and x.right.data_list: # print("left data_list:", x.left.data_list, flush=True) - print("right data_list:", x.right.data_list, flush=True) + # print("right data_list:", x.right.data_list, flush=True) a = x.left.data_list.pop(0) b = x.right.data_list.pop(0) if a + b == 155: return 1 + # print("a:", a, flush=True) + # print("b:", b, flush=True) return 2 return 3 @@ -32,5 +34,7 @@ def g(x): b = x.right.data_list.pop(0) if a.pos + b.pos == 155: return 1 + # print("a.pos:", a.pos, flush=True) + # print("b.pos:", b.pos, flush=True) # print("(2) left data_list:", x.left.data_list, flush=True) return 2 \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 81d5d24d95..881fb93bf3 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,7 +2,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.language.types.PythonTypeSystem; +import org.usvm.machine.types.PythonTypeSystem; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException; import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index 36344f317d..f8da3bbb6a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -3,7 +3,7 @@ package org.usvm.language import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyNamespace import org.usvm.machine.interpreters.concrete.PyObject -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType sealed class PyCallable diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index 93b8320da6..b3fedb0415 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -1,6 +1,6 @@ package org.usvm.language -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.concrete.PyNamespace diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index 566ae5f0e3..00ed6bae76 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -5,8 +5,8 @@ import io.ksmt.solver.z3.KZ3Solver import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder import org.usvm.solver.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index f00c69e186..d6608109c8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -4,8 +4,8 @@ import io.ksmt.expr.KFpRoundingMode import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort import org.usvm.* -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.solver.USolverBase class PyContext( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 1b3f7f775e..0010cc88dc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -3,9 +3,9 @@ package org.usvm.machine import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.language.* -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 11395b1170..fe0c651abc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -12,6 +12,8 @@ import org.usvm.language.types.* import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.memory.UMemory import org.usvm.targets.UTarget import org.usvm.types.UTypeStream diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 1f15dc8e57..d1f400a6ec 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -6,7 +6,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyPinnedCallable import org.usvm.machine.symbolicobjects.* import org.usvm.language.SymbolForCPython -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index e602b753c7..fe611cf551 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -15,6 +15,7 @@ import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.types.* import org.usvm.machine.utils.MethodDescription import org.utpython.types.getPythonAttributeByName import java.util.stream.Stream diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index f0f3f68a8a..57fb0dc99c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.HasTpIter +import org.usvm.machine.types.HasTpIter import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.getEnumerateIndexAndIncrement import org.usvm.machine.symbolicobjects.memory.getEnumerateIterator diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index 0f9256aeed..d62c1d87f2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -5,7 +5,7 @@ import org.usvm.* import org.usvm.api.* import org.usvm.api.collection.ListCollectionApi.symbolicListInsert import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.ArrayType +import org.usvm.machine.types.ArrayType import org.usvm.machine.symbolicobjects.* import org.usvm.machine.symbolicobjects.memory.* import java.util.stream.Stream diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index aed0e4d80d..4852a45712 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -4,6 +4,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.types.* import org.usvm.machine.symbolicobjects.memory.getFieldValue +import org.usvm.machine.types.* @Suppress("unused_parameter") fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt index e3710549c0..d75817eae8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt @@ -6,7 +6,7 @@ import org.usvm.* import org.usvm.collection.set.primitive.UInputSetReading import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading import org.usvm.constraints.UPathConstraints -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.model.UModelBase import org.usvm.regions.Region diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index ec59e86a9a..03c41a5c31 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -17,6 +17,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.model.regions.* +import org.usvm.machine.types.* import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.memory.key.USizeRegion diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 0477608de3..5d24ef7735 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -2,7 +2,7 @@ package org.usvm.machine.model import org.usvm.* import org.usvm.constraints.UPathConstraints -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.model.UModelBase diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index 4d07fa6722..9023087721 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -5,10 +5,10 @@ import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.ArrayLikeConcretePythonType -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.MockType -import org.usvm.language.types.PythonType +import org.usvm.machine.types.ArrayLikeConcretePythonType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.MockType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.model.UModelBase diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt index fa75d9d47e..2ce809e672 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt @@ -6,7 +6,7 @@ import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.USort import org.usvm.collection.array.UArrayIndexLValue -import org.usvm.language.types.ArrayLikeConcretePythonType +import org.usvm.machine.types.ArrayLikeConcretePythonType import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.model.getConcreteType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt index 92eb2a0648..94050ae63f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt @@ -4,7 +4,7 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.collection.array.length.UArrayLengthLValue import org.usvm.isTrue -import org.usvm.language.types.ArrayType +import org.usvm.machine.types.ArrayType import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt index f2c9336a68..fcd30eeb9a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt @@ -4,7 +4,7 @@ import org.usvm.UAddressSort import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.collection.map.ref.URefMapEntryLValue -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 448fabaee9..b338619436 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -4,8 +4,8 @@ import mu.KLogging import org.usvm.UPathSelector import org.usvm.WithSolverStateForker.fork import org.usvm.api.typeStreamOf -import org.usvm.language.types.MockType -import org.usvm.language.types.PythonType +import org.usvm.machine.types.MockType +import org.usvm.machine.types.PythonType import org.usvm.machine.DelayedFork import org.usvm.machine.PyContext import org.usvm.machine.PyState diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt index 1c53b7508c..df1b939821 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt @@ -1,7 +1,7 @@ package org.usvm.machine.ps.strategies import org.usvm.UPathSelector -import org.usvm.language.types.ConcretePythonType +import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.DelayedFork import org.usvm.machine.PyState diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index afb3407e1a..e09b418db1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -1,7 +1,7 @@ package org.usvm.machine.ps.types -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.DelayedFork import org.usvm.machine.PyState import org.usvm.machine.ps.strategies.TypeRating diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 1364790e75..3b9af9966e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -3,8 +3,8 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 1189c53257..df7e5885d5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -7,9 +7,9 @@ import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.* -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.memory.* import org.usvm.memory.UMemory diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 27789c3b6d..d07d7ada59 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -12,6 +12,7 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.model.PyModelHolder import org.usvm.machine.model.getConcreteType import org.usvm.machine.model.getFirstType +import org.usvm.machine.types.* import org.usvm.memory.UMemory import org.usvm.types.TypesResult import org.usvm.types.USingleTypeStream diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index dc0f146509..c3f6d32da3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -5,10 +5,10 @@ import io.ksmt.sort.KIntSort import org.usvm.* import org.usvm.api.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.ArrayLikeConcretePythonType -import org.usvm.language.types.ArrayType -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.HasElementConstraint +import org.usvm.machine.types.ArrayLikeConcretePythonType +import org.usvm.machine.types.ArrayType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.HasElementConstraint import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index d6754c0dac..2d46d526cb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -10,6 +10,7 @@ import org.usvm.language.PyCallable import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.types.* import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 8c6e99b066..75f6a251c2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -15,10 +15,10 @@ import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.IntDictType -import org.usvm.language.types.PythonType -import org.usvm.language.types.RefDictType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.IntDictType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.RefDictType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 9ee0bb0e70..3d38839b57 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -8,7 +8,7 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index d24137f767..1f8c92b40b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -6,7 +6,7 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index 6d9ffd2892..3fb42d7f12 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -11,8 +11,8 @@ import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue -import org.usvm.language.types.IntSetType -import org.usvm.language.types.RefSetType +import org.usvm.machine.types.IntSetType +import org.usvm.machine.types.RefSetType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 74973d17c5..15610beac0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -8,7 +8,7 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.PropertyOfPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index 017c3f6148..c65207316b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -9,9 +9,9 @@ import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.ObjectDictType -import org.usvm.language.types.PythonType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.ObjectDictType +import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt index 465be2a68a..9ca02614f9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt @@ -1,8 +1,8 @@ package org.usvm.machine.symbolicobjects.rendering -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonType -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index e80f1fd405..7a465db61e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -7,8 +7,8 @@ import org.usvm.UConcreteHeapRef import org.usvm.api.typeStreamOf import org.usvm.isAllocatedConcreteHeapRef import org.usvm.isStaticHeapRef -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.MockType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.MockType import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.model.PyModelHolder diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt index 99cc22a3b0..219b8d4210 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt @@ -1,4 +1,4 @@ -package org.usvm.language.types +package org.usvm.machine.types import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index f8366a40b5..29ccd0efea 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -1,10 +1,12 @@ -package org.usvm.language.types +package org.usvm.machine.types import org.usvm.language.StructuredPyProgram import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.types.streams.PyMockTypeStream +import org.usvm.machine.types.streams.TypeFilter import org.usvm.types.USupportTypeStream import org.usvm.types.UTypeStream import org.usvm.types.UTypeSystem @@ -111,7 +113,7 @@ abstract class PythonTypeSystem: UTypeSystem { } override fun topTypeStream(): UTypeStream { - return USupportTypeStream.from(this, PythonAnyType) + return PyMockTypeStream(this, TypeFilter(this, emptySet(), emptySet(), emptySet(), emptySet())) } private fun createConcreteTypeByName(name: String, isHidden: Boolean = false): ConcretePythonType = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt index ef7cfd1da4..0ef380d882 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt @@ -1,4 +1,4 @@ -package org.usvm.language.types +package org.usvm.machine.types import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.python.model.PyIdentifier diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt index cef8798a14..3b827d8d85 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt @@ -1,4 +1,4 @@ -package org.usvm.language.types +package org.usvm.machine.types import org.utpython.types.PythonSubtypeChecker import org.utpython.types.general.DefaultSubstitutionProvider diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt similarity index 97% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt index f2f04c1faf..c50f29ec29 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt @@ -1,4 +1,4 @@ -package org.usvm.language.types +package org.usvm.machine.types import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter @@ -22,7 +22,7 @@ data class HasElementConstraint(private val constraint: ElementConstraint): Virt } } -data class ConcreteTypeNegation(private val concreteType: ConcretePythonType): VirtualPythonType() { +data class ConcreteTypeNegation(val concreteType: ConcretePythonType): VirtualPythonType() { override fun accepts(type: PythonType): Boolean { if (type is MockType || type == this) return true diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt new file mode 100644 index 0000000000..30a23062d9 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt @@ -0,0 +1,66 @@ +package org.usvm.machine.types.streams + +import org.usvm.machine.types.* +import org.usvm.types.TypesResult +import org.usvm.types.USingleTypeStream +import org.usvm.types.UTypeStream +import org.usvm.types.emptyTypeStream + + +class PyMockTypeStream( + private val typeSystem: PythonTypeSystem, + private val filter: TypeFilter +) : UTypeStream { + private fun singleOfEmpty(type: PythonType): UTypeStream { + val filtered = sequenceOf(type).filter(filter).take(1).toList() + return if (filtered.isEmpty()) { + emptyTypeStream() + } else { + USingleTypeStream(typeSystem, type) + } + } + + override fun filterBySupertype(type: PythonType): UTypeStream { + return when (type) { + is ConcretePythonType, is MockType -> singleOfEmpty(type) + is VirtualPythonType -> PyMockTypeStream(typeSystem, filter.addSupertype(type)) + is InternalType -> error("Should not be reachable") + } + } + + override fun filterBySubtype(type: PythonType): UTypeStream = TODO() + + override fun filterByNotSupertype(type: PythonType): UTypeStream { + if (type is ConcreteTypeNegation) { + return singleOfEmpty(type.concreteType) + } + return when (type) { + is InternalType -> error("Should not be reachable") + is VirtualPythonType, is ConcretePythonType, is MockType -> + PyMockTypeStream(typeSystem, filter.addNotSupertype(type)) + } + } + + override fun filterByNotSubtype(type: PythonType): UTypeStream = TODO() + + override fun take(n: Int): TypesResult { + val result = typeSystem.findSubtypes(PythonAnyType) + .filter(filter) + .take(n) + .toList() + return if (result.isEmpty()) { + TypesResult.EmptyTypesResult + } else { + require(result.first() is MockType) { + "PyMockTypeStream must start with MockType" + } + TypesResult.SuccessfulTypesResult(result) + } + } + + override val isEmpty: Boolean + get() = take(1) is TypesResult.EmptyTypesResult + + override val commonSuperType: PythonType? + get() = null +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt new file mode 100644 index 0000000000..78cd068bfc --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt @@ -0,0 +1,41 @@ +package org.usvm.machine.types.streams + +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem + + +class TypeFilter( + private val typeSystem: PythonTypeSystem, + private val supertypes: Set, + private val notSupertypes: Set, + private val subtypes: Set, + private val notSubtypes: Set, +) { + fun addSupertype(type: PythonType): TypeFilter = + TypeFilter(typeSystem, supertypes + type, notSupertypes, subtypes, notSubtypes) + + fun addNotSupertype(type: PythonType): TypeFilter = + TypeFilter(typeSystem, supertypes, notSupertypes + type, subtypes, notSubtypes) + + fun addSubtype(type: PythonType): TypeFilter = + TypeFilter(typeSystem, supertypes, notSupertypes, subtypes + type, notSubtypes) + + fun addNotSubtype(type: PythonType): TypeFilter = + TypeFilter(typeSystem, supertypes, notSupertypes, subtypes, notSubtypes + type) + + fun filterTypes(types: Sequence): Sequence = + types.filter { type -> + supertypes.all { typeSystem.isSupertype(it, type) } && + notSupertypes.all { !typeSystem.isSupertype(it, type) } && + subtypes.all { typeSystem.isSupertype(type, it) } && + notSubtypes.all { !typeSystem.isSupertype(type, it) } + } + + companion object { + fun empty(typeSystem: PythonTypeSystem): TypeFilter = + TypeFilter(typeSystem, emptySet(), emptySet(), emptySet(), emptySet()) + } +} + +fun Sequence.filter(filter: TypeFilter): Sequence = + filter.filterTypes(this) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt index c271d5d716..d20643106c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt @@ -1,6 +1,6 @@ package org.usvm.machine.utils -import org.usvm.language.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import java.io.File diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 319329df61..ff7d2c2727 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -3,7 +3,7 @@ package org.usvm.machine.utils import org.usvm.* import org.usvm.api.typeStreamOf import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.types.PythonType +import org.usvm.machine.types.PythonType import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt index 0a781a5113..95b35a3390 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -1,8 +1,8 @@ package org.usvm.machine.utils -import org.usvm.language.types.ConcretePythonType -import org.usvm.language.types.PythonTypeSystem -import org.usvm.language.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.utpython.types.PythonCompositeTypeDescription import org.utpython.types.pythonDescription diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index 6b5921848d..7a9b1b832c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -2,8 +2,8 @@ package org.usvm.runner import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram -import org.usvm.language.types.PythonTypeSystemWithMypyInfo -import org.usvm.language.types.getTypeFromTypeHint +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.PyMachine import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.* From b1ffaa2bd57ac5b8e0d3630ba1b9397f27e11f5d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 4 Mar 2024 16:39:18 +0300 Subject: [PATCH 267/344] Fixed compilation error --- usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt | 1 - .../usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt | 1 - .../machine/interpreters/symbolic/operations/basic/Common.kt | 1 - .../symbolic/operations/basic/MethodNotifications.kt | 1 - .../src/main/kotlin/org/usvm/machine/model/PyModel.kt | 1 - .../org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt | 1 - .../main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt | 1 - 7 files changed, 7 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index e88ab29e51..c56d285f5d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -3,7 +3,6 @@ package org.usvm.runner import org.usvm.UMachineOptions import org.usvm.machine.* import org.usvm.language.* -import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index fe0c651abc..e7741fb39c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -8,7 +8,6 @@ import org.usvm.* import org.usvm.constraints.UPathConstraints import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.language.* -import org.usvm.language.types.* import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index fe611cf551..55cd3d4caa 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -9,7 +9,6 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython -import org.usvm.language.types.* import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index 4852a45712..d8d1a26cb2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -2,7 +2,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.language.types.* import org.usvm.machine.symbolicobjects.memory.getFieldValue import org.usvm.machine.types.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 03c41a5c31..57c634dac2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -14,7 +14,6 @@ import org.usvm.collection.set.primitive.USetRegionId import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints -import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.model.regions.* import org.usvm.machine.types.* diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index d07d7ada59..292b994ae9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -6,7 +6,6 @@ import org.usvm.api.* import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.model.PyModelHolder diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 2d46d526cb..d75aecbf10 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -7,7 +7,6 @@ import org.usvm.UExpr import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.language.types.* import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.* import org.usvm.machine.types.* From 3aa1b958dabeed844f6a383bc5cea5624eb802ba Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 11 Mar 2024 11:53:12 +0300 Subject: [PATCH 268/344] Fixed usage of RandomTreePathSelector --- usvm-python/src/test/kotlin/manualTest.kt | 6 +- .../usvm/samples/SimpleTypeInferenceTest.kt | 8 +- .../org/usvm/python/ps/PyPathSelectorType.kt | 8 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 142 +++++++++++++++--- .../usvm/machine/ps/PyVirtualPathSelector.kt | 2 +- .../machine/types/streams/PyMockTypeStream.kt | 10 +- 7 files changed, 142 insertions(+), 36 deletions(-) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index ff4749dfd2..a6c468ad44 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -33,8 +33,8 @@ fun main() { ) ConcretePythonInterpreter.setVenv(venvConfig)*/ // ConcretePythonInterpreter.printIdInfo() - val config = buildProjectRunConfig() - // val config = buildSampleRunConfig() + // val config = buildProjectRunConfig() + val config = buildSampleRunConfig() analyze(config) // checkConcolicAndConcrete(config) } @@ -204,7 +204,7 @@ private fun analyze(runConfig: RunConfig) { val iterations = activeMachine.analyze( f, saver, - maxIterations = 60, + maxIterations = 200, allowPathDiversion = true, maxInstructions = 50_000, timeoutPerRunMs = 4_000, diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt index d13a5d992c..88f1975fb5 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/SimpleTypeInferenceTest.kt @@ -126,8 +126,8 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testAddAndCompare() { val oldOptions = options allowPathDiversions = true - options = UMachineOptions(stepLimit = 120U) - timeoutPerRunMs = 2000 + options = UMachineOptions(stepLimit = 200U) + timeoutPerRunMs = 500 check2WithConcreteRun( constructFunction("add_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, @@ -147,8 +147,8 @@ class SimpleTypeInferenceTest: PythonTestRunnerForPrimitiveProgram("SimpleTypeIn fun testMultiplyAndCompare() { allowPathDiversions = true val oldOptions = options - options = UMachineOptions(stepLimit = 320U) - timeoutPerRunMs = 1000 + options = UMachineOptions(stepLimit = 350U) + timeoutPerRunMs = 500 check2WithConcreteRun( constructFunction("multiply_and_compare", List(2) { PythonAnyType }), ignoreNumberOfAnalysisResults, diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index 2081bcc233..66e8526525 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -4,13 +4,15 @@ enum class PyPathSelectorType { BaselinePriorityDfs, // passes tests BaselineWeightedDfs, // passes tests BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselineWeightedNumberOfVirtualRandomTree, // passes tests BaselinePriorityNumberOfInstructionsDfs, // passes tests + BaselinePriorityNumberOfInstructionsRandomTree, // passes tests BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests - DelayedForkByInstructionPriorityDfs, // fails tests DelayedForkByInstructionWeightedDfs, // passes tests DelayedForkByInstructionWeightedRandomTree, // passes tests DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests - DelayedForkByInstructionWeightedNumberOfVirtualDfs, // fails test MultiplyAndCompare + DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests - DelayedForkByInstructionWeightedNumberOfInstructionsDfs, // fails tests ReverseUsage and MultiplyAndCompare + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests + DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree // fails testAddAndCompare } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 0010cc88dc..c45d37162b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -27,7 +27,7 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityNumberOfInstructionsDfs, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityNumberOfInstructionsRandomTree, private val printErrorMsg: Boolean = false ): UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 2c47941cb5..5a0bf98b99 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -1,5 +1,7 @@ package org.usvm.machine.ps +import org.usvm.PathNode +import org.usvm.language.PyInstruction import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.PyModelHolder @@ -7,7 +9,6 @@ import org.usvm.machine.ps.strategies.impls.* import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.ps.BfsPathSelector import org.usvm.ps.DfsPathSelector import org.usvm.ps.RandomTreePathSelector import org.usvm.python.model.PyTupleObject @@ -25,6 +26,7 @@ fun createPyPathSelector( random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> { + val initialNode = initialState.pathNode val selector = when (type) { PyPathSelectorType.BaselinePriorityDfs -> createBaselinePriorityDfsPyPathSelector(ctx, random, newStateObserver) @@ -35,32 +37,39 @@ fun createPyPathSelector( PyPathSelectorType.BaselinePriorityNumberOfVirtualDfs -> createBaselinePriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselineWeightedNumberOfVirtualRandomTree -> + createBaselineWeightedNumberOfVirtualRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityNumberOfInstructionsDfs -> createBaselinePriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityNumberOfInstructionsRandomTree -> + createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionPriorityDfs -> - createDelayedForkByInstructionPriorityDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionWeightedDfs -> createDelayedForkByInstructionWeightedDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionWeightedRandomTree -> - createDelayedForkByInstructionWeightedRandomTreePyPathSelector(initialState, ctx, random, newStateObserver) + createDelayedForkByInstructionWeightedRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfVirtualDfs -> createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfVirtualDfs -> - createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfVirtualRandomTree -> + createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsDfs -> createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) - PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfInstructionsDfs -> - createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector(ctx, random, newStateObserver) + PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree -> + createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + + PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree -> + createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + } selector.add(listOf(initialState)) return selector @@ -109,6 +118,32 @@ fun createBaselinePriorityNumberOfVirtualDfsPyPathSelector( newStateObserver ) +fun createBaselineWeightedNumberOfVirtualRandomTreePyPathSelector( + initialNode: PathNode, + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeBaselineWeightedActionStrategy(random), + BaselineDelayedForkStrategy(), + BaselineDFGraphCreation { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = true, + ::calculateNumberOfVirtual, + ::mockWeight + ) { + RandomTreePathSelector.fromRoot( + initialNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) + } + }, + newStateObserver + ) + fun createBaselinePriorityNumberOfInstructionsDfsPyPathSelector( ctx: PyContext, random: Random, @@ -119,23 +154,41 @@ fun createBaselinePriorityNumberOfInstructionsDfsPyPathSelector( makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = false, + ::calculateNumberOfInstructions, + ::instructionWeight + ) { DfsPathSelector() } }, newStateObserver ) -fun createDelayedForkByInstructionPriorityDfsPyPathSelector( +fun createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector( + initialNode: PathNode, ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeDelayedForkByInstructionPriorityStrategy(random), + makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), - DelayedForkByInstructionGraphCreation { DfsPathSelector() }, + BaselineDFGraphCreation { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = false, + ::calculateNumberOfInstructions, + ::instructionWeight + ) { + RandomTreePathSelector.fromRoot( + initialNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) + } + }, newStateObserver ) @@ -153,7 +206,7 @@ fun createDelayedForkByInstructionWeightedDfsPyPathSelector( ) fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( - initialState: PyState, + initialNode: PathNode, ctx: PyContext, random: Random, newStateObserver: NewStateObserver @@ -164,7 +217,7 @@ fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { RandomTreePathSelector.fromRoot( - initialState.pathNode, + initialNode, randomNonNegativeInt = { random.nextInt(0, it) } ) }, @@ -188,6 +241,33 @@ fun createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector( newStateObserver ) + +fun createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelector( + initialNode: PathNode, + ctx: PyContext, + random: Random, + newStateObserver: NewStateObserver +): PyVirtualPathSelector<*, *> = + PyVirtualPathSelector( + ctx, + makeDelayedForkByInstructionWeightedStrategy(random), + BaselineDelayedForkStrategy(), + DelayedForkByInstructionGraphCreation { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = true, + ::calculateNumberOfVirtual, + ::mockWeight + ) { + RandomTreePathSelector.fromRoot( + initialNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) + } + }, + newStateObserver + ) + fun createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector( ctx: PyContext, random: Random, @@ -205,24 +285,34 @@ fun createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector( newStateObserver ) -fun createDelayedForkByInstructionWeightedNumberOfVirtualDfsPyPathSelector( +fun createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSelector( + initialNode: PathNode, ctx: PyContext, random: Random, newStateObserver: NewStateObserver ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeDelayedForkByInstructionWeightedStrategy(random), + makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { - DfsPathSelector() + WeightedPyPathSelector( + random, + proportionalToSelectorSize = false, + ::calculateNumberOfInstructions, + ::instructionWeight + ) { + RandomTreePathSelector.fromRoot( + initialNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) } }, newStateObserver ) -fun createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector( +fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector( + initialNode: PathNode, ctx: PyContext, random: Random, newStateObserver: NewStateObserver @@ -232,8 +322,16 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionDfsPyPathSelector( makeDelayedForkByInstructionWeightedStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { - DfsPathSelector() + WeightedPyPathSelector( + random, + proportionalToSelectorSize = false, + ::calculateNumberOfInstructions, + ::instructionWeight + ) { + RandomTreePathSelector.fromRoot( + initialNode, + randomNonNegativeInt = { random.nextInt(0, it) } + ) } }, newStateObserver diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index b338619436..54c6165d88 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -197,6 +197,6 @@ class PyVirtualPathSelector Date: Thu, 14 Mar 2024 17:25:08 +0300 Subject: [PATCH 269/344] fix: auto-formatting --- usvm-python/cpythonadapter/build.gradle.kts | 1 - usvm-python/src/test/kotlin/manualTest.kt | 55 +++-- .../kotlin/org/usvm/runner/BuildSamples.kt | 2 +- .../org/usvm/runner/PythonTestRunner.kt | 152 ++++++++----- .../kotlin/org/usvm/runner/SamplesBuild.kt | 2 +- .../org/usvm/samples/IllegalOperationTest.kt | 2 +- .../test/kotlin/org/usvm/utils/PathUtils.kt | 2 +- .../CPythonAdapterJavaMethodProcessor.kt | 7 +- .../annotations/CPythonFunctionProcessor.kt | 21 +- .../ConverterToJNITypeDescriptor.kt | 12 +- .../SymbolicMemberDescriptorProcessor.kt | 13 +- .../SymbolicMethodDescriptorProcessor.kt | 13 +- .../annotations/SymbolicMethodProcessor.kt | 13 +- .../main/kotlin/org/usvm/annotations/Utils.kt | 2 +- .../CPythonFunctionGeneration.kt | 22 +- .../annotations/codegeneration/Constants.kt | 2 +- .../codegeneration/GenerateDefinitions.kt | 4 +- .../SymbolicMemberDescriptorGeneration.kt | 10 +- .../SymbolicMethodGeneration.kt | 6 +- .../usvm/annotations/ids/ApproximationId.kt | 6 +- .../org/usvm/annotations/ids/NativeId.kt | 6 +- .../usvm/annotations/ids/SymbolicMethodId.kt | 8 +- .../org/usvm/python/model/PyObjectModel.kt | 18 +- .../usvm/python/model/PyObjectModelVisitor.kt | 23 +- .../kotlin/org/usvm/python/model/PyTest.kt | 12 +- .../kotlin/org/usvm/python/model/Utils.kt | 4 +- .../org/usvm/python/ps/PyPathSelectorType.kt | 30 +-- .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../usvm/interpreter/ConcolicRunContext.java | 9 +- .../kotlin/org/usvm/language/Callables.kt | 52 +++-- .../kotlin/org/usvm/language/Instruction.kt | 4 +- .../main/kotlin/org/usvm/language/Program.kt | 19 +- .../kotlin/org/usvm/machine/PyComponents.kt | 25 ++- .../main/kotlin/org/usvm/machine/PyContext.kt | 12 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 46 ++-- .../main/kotlin/org/usvm/machine/PyState.kt | 49 ++-- .../concrete/ConcretePythonInterpreter.kt | 65 +++--- .../interpreters/concrete/venv/Activation.kt | 2 +- .../interpreters/concrete/venv/Config.kt | 4 +- .../symbolic/SymbolicClonesOfGlobals.kt | 2 +- .../symbolic/USVMPythonInterpreter.kt | 38 ++-- .../symbolic/operations/basic/Common.kt | 101 ++++++--- .../symbolic/operations/basic/Constants.kt | 22 +- .../symbolic/operations/basic/Control.kt | 25 ++- .../symbolic/operations/basic/Dict.kt | 36 +-- .../symbolic/operations/basic/Enumerate.kt | 13 +- .../symbolic/operations/basic/Float.kt | 111 ++++++--- .../symbolic/operations/basic/List.kt | 102 ++++++--- .../symbolic/operations/basic/Long.kt | 212 ++++++++++++------ .../operations/basic/MethodNotifications.kt | 34 ++- .../symbolic/operations/basic/Range.kt | 22 +- .../symbolic/operations/basic/Set.kt | 22 +- .../symbolic/operations/basic/Slice.kt | 14 +- .../symbolic/operations/basic/Tuple.kt | 27 ++- .../symbolic/operations/basic/Virtual.kt | 36 +-- .../descriptors/ApproximationDescriptor.kt | 4 +- .../descriptors/MethodDescriptor.kt | 9 +- .../descriptors/PythonMethodDescriptor.kt | 4 +- .../symbolic/operations/descriptors/Slice.kt | 20 +- .../operations/nativecalls/BuiltinsModule.kt | 7 +- .../nativecalls/NativeCallConstraints.kt | 4 +- .../operations/nativecalls/OsModule.kt | 7 +- .../operations/symbolicmethods/Builtins.kt | 11 +- .../operations/symbolicmethods/List.kt | 27 ++- .../operations/symbolicmethods/Set.kt | 7 +- .../operations/symbolicmethods/Utils.kt | 2 +- .../operations/tracing/PathTracing.kt | 25 ++- .../tracing/SymbolicHandlerEvent.kt | 60 +++-- .../usvm/machine/model/ConstraintsVisitor.kt | 19 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 60 +++-- .../usvm/machine/model/PythonMockEvaluator.kt | 18 +- .../kotlin/org/usvm/machine/model/Utils.kt | 21 +- .../model/regions/WrappedArrayIndexRegion.kt | 12 +- .../model/regions/WrappedArrayLengthRegion.kt | 8 +- .../model/regions/WrappedRefMapRegion.kt | 11 +- .../model/regions/WrappedRefSetRegion.kt | 9 +- .../machine/model/regions/WrappedSetRegion.kt | 9 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 111 ++++++--- .../usvm/machine/ps/PyVirtualPathSelector.kt | 37 ++- .../main/kotlin/org/usvm/machine/ps/Utils.kt | 2 +- .../usvm/machine/ps/WeightedPyPathSelector.kt | 6 +- .../org/usvm/machine/ps/strategies/Api.kt | 40 ++-- .../machine/ps/strategies/impls/Action.kt | 4 +- .../ps/strategies/impls/BaselineStrategy.kt | 54 +++-- .../impls/DelayedForkByInstruction.kt | 36 +-- .../impls/RandomizedPriorityActionStrategy.kt | 14 +- .../impls/TypeRatingByNumberOfHints.kt | 4 +- .../impls/WeightedActionStrategy.kt | 11 +- .../usvm/machine/ps/types/Prioritization.kt | 6 +- .../usvm/machine/ps/types/SymbolTypeTree.kt | 64 ++++-- .../results/PyMachineResultsReceiver.kt | 15 +- .../results/observers/InputModelObserver.kt | 4 +- .../observers/InputPythonObjectObserver.kt | 4 +- .../results/observers/NewStateObserver.kt | 4 +- .../results/observers/PyTestObserver.kt | 6 +- .../serialization/EmptyObjectSerializer.kt | 4 +- .../serialization/ObjectWithDictSerializer.kt | 4 +- .../serialization/PickleArgsSerializer.kt | 2 +- .../serialization/PickleObjectSerializer.kt | 4 +- .../serialization/PythonObjectSerializer.kt | 2 +- .../serialization/ReprObjectSerializer.kt | 10 +- .../StandardPythonObjectSerializer.kt | 6 +- .../usvm/machine/symbolicobjects/Fields.kt | 12 +- .../symbolicobjects/PreallocatedObjects.kt | 24 +- .../SymbolicObjectConstruction.kt | 32 ++- .../symbolicobjects/SymbolicPythonObject.kt | 71 +++--- .../symbolicobjects/memory/ArrayLike.kt | 32 ++- .../machine/symbolicobjects/memory/Bool.kt | 27 ++- .../machine/symbolicobjects/memory/Dict.kt | 47 ++-- .../symbolicobjects/memory/Enumerate.kt | 16 +- .../machine/symbolicobjects/memory/Float.kt | 37 ++- .../machine/symbolicobjects/memory/Int.kt | 8 +- .../symbolicobjects/memory/ListIterator.kt | 4 +- .../machine/symbolicobjects/memory/Range.kt | 2 +- .../symbolicobjects/memory/RangeIterator.kt | 8 +- .../machine/symbolicobjects/memory/Set.kt | 26 ++- .../machine/symbolicobjects/memory/Slice.kt | 28 ++- .../symbolicobjects/memory/StandardFields.kt | 26 ++- .../machine/symbolicobjects/memory/Str.kt | 2 +- .../symbolicobjects/memory/TupleIterator.kt | 8 +- .../rendering/DefaultPyObjectModelProvider.kt | 4 +- .../rendering/PyObjectModelBuilder.kt | 72 ++++-- .../rendering/PyObjectRenderer.kt | 13 +- .../usvm/machine/types/ElementConstraints.kt | 24 +- .../org/usvm/machine/types/TypeSystem.kt | 50 +++-- .../kotlin/org/usvm/machine/types/Types.kt | 32 +-- .../usvm/machine/types/UtTypeConversion.kt | 8 +- .../org/usvm/machine/types/VirtualTypes.kt | 68 +++--- .../machine/types/streams/PyMockTypeStream.kt | 15 +- .../usvm/machine/types/streams/TypeFilter.kt | 8 +- .../org/usvm/machine/utils/Generators.kt | 2 +- .../usvm/machine/utils/GlobalParameters.kt | 2 +- .../org/usvm/machine/utils/PyImportUtils.kt | 10 +- .../usvm/machine/utils/PyMachineStatistics.kt | 17 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 20 +- .../org/usvm/machine/utils/UtTypeUtils.kt | 9 +- .../runner/InputModelObserverForRunner.kt | 6 +- .../usvm/runner/NewStateObserverForRunner.kt | 10 +- .../usvm/runner/PickledObjectCommunicator.kt | 6 +- .../org/usvm/runner/PyMachineSocketRunner.kt | 29 ++- .../src/main/kotlin/org/usvm/runner/Config.kt | 14 +- .../kotlin/org/usvm/runner/DebugRunner.kt | 2 +- .../org/usvm/runner/DistributionLayout.kt | 4 +- .../runner/PythonSymbolicAnalysisRunner.kt | 19 +- .../USVMPythonAnalysisResultReceiver.kt | 2 +- .../org/usvm/runner/USVMPythonRunner.kt | 8 +- .../kotlin/org/usvm/runner/venv/VenvConfig.kt | 4 +- .../kotlin/org/usvm/runner/venv/VenvUtils.kt | 2 +- .../org/usvm/runner/PrintingResultReceiver.kt | 4 +- .../kotlin/org/usvm/runner/TestingLayout.kt | 4 +- .../test/kotlin/org/usvm/runner/manualTest.kt | 2 +- 151 files changed, 2035 insertions(+), 1207 deletions(-) diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 799f6496ca..fbbdb17593 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -1,6 +1,5 @@ import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.internal.jvm.Jvm -import java.io.* // Example project: https://github.com/vladsoroka/GradleJniSample diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/manualTest.kt index a6c468ad44..0d6a8ed90c 100644 --- a/usvm-python/src/test/kotlin/manualTest.kt +++ b/usvm-python/src/test/kotlin/manualTest.kt @@ -1,27 +1,34 @@ import org.usvm.UMachineOptions import org.usvm.language.PrimitivePyProgram import org.usvm.language.PyProgram -import org.usvm.machine.* import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram +import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.results.DefaultPyMachineResultsReceiver import org.usvm.machine.results.serialization.ObjectWithDictSerializer -import org.usvm.machine.types.* +import org.usvm.machine.types.BasicPythonTypeSystem +import org.usvm.machine.types.PythonAnyType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.getTypeFromTypeHint +import org.usvm.machine.utils.withAdditionalPaths +import org.usvm.python.model.PyResultFailure +import org.usvm.python.model.PyResultSuccess import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot -import org.usvm.machine.utils.withAdditionalPaths -import org.usvm.python.model.PyResultFailure -import org.usvm.python.model.PyResultSuccess -import org.utpython.types.* +import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.PythonConcreteCompositeTypeDescription import org.utpython.types.general.FunctionType import org.utpython.types.general.UtType import org.utpython.types.mypy.MypyBuildDirectory import org.utpython.types.mypy.buildMypyInfo import org.utpython.types.mypy.readMypyInfoBuild +import org.utpython.types.pythonDescription +import org.utpython.types.pythonTypeRepresentation import java.io.File import kotlin.time.Duration.Companion.seconds @@ -72,20 +79,25 @@ private fun getFunctionInfo( name: String, module: String, typeSystem: PythonTypeSystemWithMypyInfo, - program: StructuredPyProgram + program: StructuredPyProgram, ): PyUnpinnedCallable? { - //println("Module: $module, name: $name") + // println("Module: $module, name: $name") val description = type.pythonDescription() - if (description !is PythonCallableTypeDescription) + if (description !is PythonCallableTypeDescription) { return null - if (ignoreFunctions.contains(name)) + } + if (ignoreFunctions.contains(name)) { return null - //if (module != "requests.cookies") + } + // if (module != "requests.cookies") // return null - //if (name != "remove_cookie_by_name") + // if (name != "remove_cookie_by_name") // return null - if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + if (description.argumentKinds.any { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + }) { return null + } runCatching { withAdditionalPaths(program.roots, typeSystem) { val namespace = program.getNamespaceOfModule(module)!! @@ -132,16 +144,17 @@ private fun buildProjectRunConfig(): RunConfig { val program = StructuredPyProgram(setOf(File(projectPath))) val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) val functions = modules.flatMap { module -> - //println("Module: $module") - if (module in ignoreModules) + // println("Module: $module") + if (module in ignoreModules) { return@flatMap emptyList() + } runCatching { withAdditionalPaths(program.roots, typeSystem) { program.getNamespaceOfModule(module) } - }.getOrNull() ?: return@flatMap emptyList() // skip bad modules + }.getOrNull() ?: return@flatMap emptyList() // skip bad modules mypyBuild.definitions[module]!!.flatMap { (defName, def) -> - //println("Def name: $defName") + // println("Def name: $defName") val type = def.getUtBotType() val description = type.pythonDescription() if (defName.startsWith("__")) { @@ -223,7 +236,9 @@ private fun analyze(runConfig: RunConfig) { if (machine.statistics.functionStatistics.last().coverage == 0.0) { emptyCoverage.add(f.tag) } - println("Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations.") + println( + "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations." + ) println("FUNCTION STATISTICS") println(machine.statistics.functionStatistics.last().writeReport()) println() @@ -242,7 +257,7 @@ private fun analyze(runConfig: RunConfig) { private data class RunConfig( val program: PyProgram, val typeSystem: PythonTypeSystem, - val functions: List + val functions: List, ) @Suppress("SameParameterValue") @@ -264,4 +279,4 @@ private fun constructStructuredProgram(): Pair { val program = SamplesBuild.program val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) return Pair(program, typeSystem) -} \ No newline at end of file +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt index 22c2b53af4..ccde0ecfbd 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -16,4 +16,4 @@ fun main(args: Array) { val files = getPythonFilesFromRoot(inputPath) val modules = getModulesFromFiles(inputPath, files) buildMypyInfo(pythonPath, files.map { it.canonicalPath }, modules, mypyBuildDir) -} \ No newline at end of file +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index c56d285f5d..620f596f4d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -1,16 +1,21 @@ package org.usvm.runner import org.usvm.UMachineOptions -import org.usvm.machine.* -import org.usvm.language.* +import org.usvm.language.PyProgram +import org.usvm.language.PyUnpinnedCallable +import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer -import org.usvm.machine.results.* +import org.usvm.machine.results.DefaultPyMachineResultsReceiver import org.usvm.machine.results.serialization.PythonObjectInfo import org.usvm.machine.results.serialization.StandardPythonObjectSerializer -import org.usvm.machine.types.* +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.machine.types.BasicPythonTypeSystem +import org.usvm.machine.types.PythonAnyType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.python.model.PyTest @@ -20,8 +25,8 @@ import org.usvm.test.util.checkers.ge sealed class PythonTestRunner( override var options: UMachineOptions = UMachineOptions(), - protected var allowPathDiversions: Boolean = false -): TestRunner, PyUnpinnedCallable, PythonType, PythonCoverage>() { + protected var allowPathDiversions: Boolean = false, +) : TestRunner, PyUnpinnedCallable, PythonType, PythonCoverage>() { var timeoutPerRunMs: Long? = null abstract val typeSystem: PythonTypeSystem protected abstract val program: PyProgram @@ -51,7 +56,7 @@ sealed class PythonTestRunner( private fun compareWithConcreteRun( target: PyUnpinnedCallable, test: PyTest, - check: (PyObject) -> String? + check: (PyObject) -> String?, ): String? = program.withPinnedCallable(target, typeSystem) { pinnedCallable -> val argModels = test.inputModel.inputArgs @@ -68,12 +73,19 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - (PyUnpinnedCallable, AnalysisResultsNumberMatcher, (PyTest, PyObject) -> String?, List, List) -> Unit = + ( + PyUnpinnedCallable, + AnalysisResultsNumberMatcher, + (PyTest, PyObject) -> String?, + List, + List, + ) -> Unit = { target: PyUnpinnedCallable, - analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - compareConcolicAndConcrete: (PyTest, PyObject) -> String?, - invariants: List, - propertiesToDiscover: List -> + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + compareConcolicAndConcrete: (PyTest, PyObject) -> String?, + invariants: List, + propertiesToDiscover: List, + -> val onAnalysisResult = { pythonTest: PyTest -> val executionResult = when (val result = pythonTest.result) { is PyResultSuccess -> result.output @@ -86,8 +98,8 @@ sealed class PythonTestRunner( } require(comparisonResult == null) { "Error in CPython patch or approximation: concrete and concolic results differ. " + - "Checker msg: $comparisonResult. " + - "Inputs: ${pythonTest.inputArgs.joinToString(", ")}" + "Checker msg: $comparisonResult. " + + "Inputs: ${pythonTest.inputArgs.joinToString(", ")}" } } result @@ -105,9 +117,10 @@ sealed class PythonTestRunner( } private inline fun > createCheckWithConcreteRunAndNoPredicates(): - (PyUnpinnedCallable, (PyTest, PyObject) -> String?) -> Unit = + (PyUnpinnedCallable, (PyTest, PyObject) -> String?) -> Unit = { target: PyUnpinnedCallable, - compareConcolicAndConcrete: (PyTest, PyObject) -> String? -> + compareConcolicAndConcrete: (PyTest, PyObject) -> String?, + -> createCheckWithConcreteRun(concreteRun = true)( target, ge(0), @@ -118,11 +131,12 @@ sealed class PythonTestRunner( } private inline fun > createCheck(): - (PyUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = + (PyUnpinnedCallable, AnalysisResultsNumberMatcher, List, List) -> Unit = { target: PyUnpinnedCallable, - analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, - invariants: List, - propertiesToDiscover: List -> + analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, + invariants: List, + propertiesToDiscover: List, + -> createCheckWithConcreteRun(concreteRun = false)( target, analysisResultsNumberMatcher, @@ -148,55 +162,73 @@ sealed class PythonTestRunner( createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() val check3WithConcreteRun = - createCheckWithConcreteRun<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + createCheckWithConcreteRun<( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean>() val check3NoPredicates = - createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + createCheckWithConcreteRunAndNoPredicates<( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean>() val check4NoPredicates = - createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() + createCheckWithConcreteRunAndNoPredicates<( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean>() protected val compareConcolicAndConcreteReprsIfSuccess: - (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? PyResultSuccess)?.let { - val concolic = it.output.repr - val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) - if (concolic == concrete) null else "(Success) Expected $concrete, got $concolic" + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultSuccess)?.let { + val concolic = it.output.repr + val concrete = ConcretePythonInterpreter.getPythonObjectRepr(concreteResult) + if (concolic == concrete) null else "(Success) Expected $concrete, got $concolic" + } } - } protected val compareConcolicAndConcreteTypesIfSuccess: - (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? PyResultSuccess)?.let { - val concolic = it.output.typeName - val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) - if (concolic == concrete) null else "(Success) Expected result type $concrete, got $concolic" + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultSuccess)?.let { + val concolic = it.output.typeName + val concrete = ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) + if (concolic == concrete) null else "(Success) Expected result type $concrete, got $concolic" + } } - } protected val compareConcolicAndConcreteTypesIfFail: - (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> - (testFromConcolic.result as? PyResultFailure)?.let { - if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") - "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" - else { - val concolic = it.exception.selfTypeName - val concrete = ConcretePythonInterpreter.getNameOfPythonType(concreteResult) - if (concolic == concrete) null else "(Fail) Expected $concrete, got $concolic" + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> + (testFromConcolic.result as? PyResultFailure)?.let { + if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") { + "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr( + concreteResult + )})" + } else { + val concolic = it.exception.selfTypeName + val concrete = ConcretePythonInterpreter.getNameOfPythonType(concreteResult) + if (concolic == concrete) null else "(Fail) Expected $concrete, got $concolic" + } } } - } val standardConcolicAndConcreteChecks: - (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> - compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) ?: - compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) - } + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> + compareConcolicAndConcreteReprsIfSuccess(testFromConcolic, concreteResult) + ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) + } val compareConcolicAndConcreteTypes: - (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> - compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) ?: - compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) - } + (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> + compareConcolicAndConcreteTypesIfSuccess(testFromConcolic, concreteResult) + ?: compareConcolicAndConcreteTypesIfFail(testFromConcolic, concreteResult) + } protected open fun constructFunction(name: String, signature: List): PyUnpinnedCallable = PyUnpinnedCallable.constructCallableFromName(signature, name) @@ -205,8 +237,8 @@ sealed class PythonTestRunner( open class PythonTestRunnerForPrimitiveProgram( module: String, options: UMachineOptions = UMachineOptions(), - allowPathDiversions: Boolean = false -): PythonTestRunner(options, allowPathDiversions) { + allowPathDiversions: Boolean = false, +) : PythonTestRunner(options, allowPathDiversions) { override val program = SamplesBuild.program.getPrimitiveProgram(module) override val typeSystem = BasicPythonTypeSystem() } @@ -214,8 +246,8 @@ open class PythonTestRunnerForPrimitiveProgram( open class PythonTestRunnerForStructuredProgram( private val module: String, options: UMachineOptions = UMachineOptions(), - allowPathDiversions: Boolean = false -): PythonTestRunner(options, allowPathDiversions) { + allowPathDiversions: Boolean = false, +) : PythonTestRunner(options, allowPathDiversions) { override val program = SamplesBuild.program override val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, SamplesBuild.program) override fun constructFunction(name: String, signature: List): PyUnpinnedCallable = @@ -226,7 +258,7 @@ class CustomPythonTestRunner( override val program: PyProgram, override val typeSystem: PythonTypeSystem, options: UMachineOptions = UMachineOptions(), - allowPathDiversions: Boolean = false -): PythonTestRunner(options, allowPathDiversions) + allowPathDiversions: Boolean = false, +) : PythonTestRunner(options, allowPathDiversions) -data class PythonCoverage(val int: Int) \ No newline at end of file +data class PythonCoverage(val int: Int) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt index 905ccf0d29..63e0b1f974 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/SamplesBuild.kt @@ -11,4 +11,4 @@ object SamplesBuild { private val mypyDirectory = MypyBuildDirectory(File(mypyBuildRoot), setOf(sourcesRoot)) val mypyBuild = readMypyInfoBuild(mypyDirectory) val program = StructuredPyProgram(setOf(File(sourcesRoot))) -} \ No newline at end of file +} diff --git a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt index 913291d816..72277760a7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/samples/IllegalOperationTest.kt @@ -3,9 +3,9 @@ package org.usvm.samples import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows import org.usvm.machine.interpreters.concrete.IllegalOperationException +import org.usvm.machine.utils.withAdditionalPaths import org.usvm.runner.PythonTestRunnerForStructuredProgram import org.usvm.test.util.checkers.ignoreNumberOfAnalysisResults -import org.usvm.machine.utils.withAdditionalPaths class IllegalOperationTest : PythonTestRunnerForStructuredProgram("SimpleExample") { @Test diff --git a/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt b/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt index ce4f11e88c..83639e8815 100644 --- a/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt +++ b/usvm-python/src/test/kotlin/org/usvm/utils/PathUtils.kt @@ -20,4 +20,4 @@ fun getModulesFromFiles(root: String, files: List): List { .replace("/", ".") .replace("\\", ",") } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt index d5cf95e68e..0f9b67c078 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -14,12 +14,13 @@ import javax.lang.model.element.TypeElement @SupportedAnnotationTypes("org.usvm.annotations.CPythonAdapterJavaMethod") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) -class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { +class CPythonAdapterJavaMethodProcessor : AbstractProcessor() { private val converter = ConverterToJNITypeDescriptor() override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { - if (annotations.size != 1) + if (annotations.size != 1) { return false + } val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val usedNames = mutableSetOf() @@ -42,4 +43,4 @@ class CPythonAdapterJavaMethodProcessor: AbstractProcessor() { file.createNewFile() return true } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index 36085a6030..4b8f9add65 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -1,8 +1,18 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.* +import org.usvm.annotations.codegeneration.ArgumentDescription +import org.usvm.annotations.codegeneration.CPythonFunctionDescription +import org.usvm.annotations.codegeneration.CType +import org.usvm.annotations.codegeneration.JavaType +import org.usvm.annotations.codegeneration.ObjectConverter +import org.usvm.annotations.codegeneration.generateCPythonFunctionHeader +import org.usvm.annotations.codegeneration.generateCPythonFunctionsImpls import java.io.File -import javax.annotation.processing.* +import javax.annotation.processing.AbstractProcessor +import javax.annotation.processing.RoundEnvironment +import javax.annotation.processing.SupportedAnnotationTypes +import javax.annotation.processing.SupportedOptions +import javax.annotation.processing.SupportedSourceVersion import javax.lang.model.SourceVersion import javax.lang.model.element.Element import javax.lang.model.element.ExecutableElement @@ -15,10 +25,11 @@ import javax.lang.model.type.TypeMirror @SupportedAnnotationTypes("org.usvm.annotations.CPythonFunction") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) -class CPythonFunctionProcessor: AbstractProcessor() { +class CPythonFunctionProcessor : AbstractProcessor() { override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { - if (annotations.size != 1) + if (annotations.size != 1) { return false + } val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val descriptions = getDescriptions(annotatedElements) @@ -115,4 +126,4 @@ class CPythonFunctionProcessor: AbstractProcessor() { else -> error("Unsupported Java type: $typeMirror") } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt index 1ba928588f..7ce127e66c 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt @@ -1,9 +1,15 @@ package org.usvm.annotations -import javax.lang.model.type.* +import javax.lang.model.type.ArrayType +import javax.lang.model.type.DeclaredType +import javax.lang.model.type.ExecutableType +import javax.lang.model.type.NoType +import javax.lang.model.type.PrimitiveType +import javax.lang.model.type.TypeKind +import javax.lang.model.type.TypeMirror import javax.lang.model.util.SimpleTypeVisitor8 -class ConverterToJNITypeDescriptor: SimpleTypeVisitor8() { +class ConverterToJNITypeDescriptor : SimpleTypeVisitor8() { override fun visitPrimitive(t: PrimitiveType, unused: Void?): String { val kind = t.kind return when (kind) { @@ -41,4 +47,4 @@ class ConverterToJNITypeDescriptor: SimpleTypeVisitor8() { } fun convert(t: TypeMirror?): String = visit(t) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt index 2cf744129a..1cd613c247 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt @@ -3,7 +3,11 @@ package org.usvm.annotations import org.usvm.annotations.codegeneration.MemberDescriptorInfo import org.usvm.annotations.codegeneration.generateDescriptorChecks import java.io.File -import javax.annotation.processing.* +import javax.annotation.processing.AbstractProcessor +import javax.annotation.processing.RoundEnvironment +import javax.annotation.processing.SupportedAnnotationTypes +import javax.annotation.processing.SupportedOptions +import javax.annotation.processing.SupportedSourceVersion import javax.lang.model.SourceVersion import javax.lang.model.element.Element import javax.lang.model.element.TypeElement @@ -11,10 +15,11 @@ import javax.lang.model.element.TypeElement @SupportedAnnotationTypes("org.usvm.annotations.SymbolicMemberDescriptor") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) -class SymbolicMemberDescriptorProcessor: AbstractProcessor() { +class SymbolicMemberDescriptorProcessor : AbstractProcessor() { override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { - if (annotations.size != 1) + if (annotations.size != 1) { return false + } val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val info = getInfo(annotatedElements) @@ -35,4 +40,4 @@ class SymbolicMemberDescriptorProcessor: AbstractProcessor() { element.simpleName.toString() ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt index 019e8a7c3a..fdfc20186b 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt @@ -3,7 +3,11 @@ package org.usvm.annotations import org.usvm.annotations.codegeneration.MemberDescriptorInfo import org.usvm.annotations.codegeneration.generateMethodDescriptorChecks import java.io.File -import javax.annotation.processing.* +import javax.annotation.processing.AbstractProcessor +import javax.annotation.processing.RoundEnvironment +import javax.annotation.processing.SupportedAnnotationTypes +import javax.annotation.processing.SupportedOptions +import javax.annotation.processing.SupportedSourceVersion import javax.lang.model.SourceVersion import javax.lang.model.element.Element import javax.lang.model.element.TypeElement @@ -11,10 +15,11 @@ import javax.lang.model.element.TypeElement @SupportedAnnotationTypes("org.usvm.annotations.SymbolicMethodDescriptor") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) -class SymbolicMethodDescriptorProcessor: AbstractProcessor() { +class SymbolicMethodDescriptorProcessor : AbstractProcessor() { override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { - if (annotations.size != 1) + if (annotations.size != 1) { return false + } val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val info = getInfo(annotatedElements) @@ -35,4 +40,4 @@ class SymbolicMethodDescriptorProcessor: AbstractProcessor() { element.simpleName.toString() ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index a8587f3f6c..283ebd7a6e 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -4,7 +4,11 @@ import org.usvm.annotations.codegeneration.generateSymbolicMethod import org.usvm.annotations.codegeneration.generateSymbolicMethodInitialization import org.usvm.annotations.ids.SymbolicMethodId import java.io.File -import javax.annotation.processing.* +import javax.annotation.processing.AbstractProcessor +import javax.annotation.processing.RoundEnvironment +import javax.annotation.processing.SupportedAnnotationTypes +import javax.annotation.processing.SupportedOptions +import javax.annotation.processing.SupportedSourceVersion import javax.lang.model.SourceVersion import javax.lang.model.element.Element import javax.lang.model.element.ExecutableElement @@ -14,10 +18,11 @@ import javax.lang.model.type.ArrayType @SupportedAnnotationTypes("org.usvm.annotations.SymbolicMethod") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) -class SymbolicMethodProcessor: AbstractProcessor() { +class SymbolicMethodProcessor : AbstractProcessor() { override fun process(annotations: Set, roundEnv: RoundEnvironment): Boolean { - if (annotations.size != 1) + if (annotations.size != 1) { return false + } val annotation = annotations.stream().findFirst().get() val annotatedElements = roundEnv.getElementsAnnotatedWith(annotation) val functionsCode = generateFunctions(annotatedElements) @@ -62,4 +67,4 @@ class SymbolicMethodProcessor: AbstractProcessor() { } return result } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt index e21401f943..daa213c9ae 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/Utils.kt @@ -8,4 +8,4 @@ fun getHeaderPath(processingEnv: ProcessingEnvironment): File { val result = File(headerPath) result.mkdirs() return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index beaec94953..d6fede4397 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -10,7 +10,7 @@ enum class ObjectConverter(val repr: String) { TupleConverter("tuple_converter"), StringConverter("string_converter"), ObjectIdConverter("object_id_converter"), - NoConverter("") + NoConverter(""), } enum class CType(val repr: String) { @@ -19,7 +19,7 @@ enum class CType(val repr: String) { PyFrameObject("PyFrameObject *"), CInt("int"), CStr("const char *"), - JObject("jobject") + JObject("jobject"), } enum class JavaType(val repr: String, val call: String) { @@ -28,13 +28,13 @@ enum class JavaType(val repr: String, val call: String) { JInt("jint", "Int"), JBoolean("jboolean", "Boolean"), JObjectArray("jobjectArray", "Object"), - NoType("", "Void") + NoType("", "Void"), } data class ArgumentDescription( val cType: CType, val javaType: JavaType, - val converter: ObjectConverter + val converter: ObjectConverter, ) data class CPythonFunctionDescription( @@ -43,7 +43,7 @@ data class CPythonFunctionDescription( val result: ArgumentDescription, val failValue: String, val defaultValue: String, - val addToSymbolicAdapter: Boolean + val addToSymbolicAdapter: Boolean, ) fun generateCPythonFunction(description: CPythonFunctionDescription): Pair { @@ -60,16 +60,18 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): Paircontext") + List(numberOfArgs) { "java_arg_$it" }).joinToString(", ") val returnValueCreation = - if (description.result.javaType != JavaType.NoType) + if (description.result.javaType != JavaType.NoType) { "$javaReturnType java_return = (*ctx->env)->CallStatic${javaReturnDescr}Method(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" - else + } else { "(*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + } val returnConverter = description.result.converter.repr val returnStmt = - if (description.result.javaType == JavaType.NoType) + if (description.result.javaType == JavaType.NoType) { "return $defaultValue;" - else + } else { "return $returnConverter(ctx, java_return);" + } val cReturnType = description.result.cType.repr val failValue = description.failValue val failLine = if (numberOfArgs > 0) "int fail = 0;" else "" @@ -118,4 +120,4 @@ fun generateCPythonFunctionHeader(descriptions: List val functions = descriptions.map { generateCPythonFunction(it).second } val registration = "void REGISTER_ADAPTER_METHODS(SymbolicAdapter *adapter);" return header + "\n\n" + functions.joinToString("\n\n") + "\n\n" + registration -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt index 9e6e46eb7b..c6fe80ea18 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt @@ -1,3 +1,3 @@ package org.usvm.annotations.codegeneration -const val memberDescriptionQualifiedName = "Lorg/usvm/interpreter/MemberDescriptor;" \ No newline at end of file +const val memberDescriptionQualifiedName = "Lorg/usvm/interpreter/MemberDescriptor;" diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt index ac4ced357d..9c67e1d9f2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt @@ -3,7 +3,7 @@ package org.usvm.annotations.codegeneration data class DefinitionDescriptor( val cName: String, val javaName: String, - val javaSignature: String + val javaSignature: String, ) fun generateCPythonAdapterDefs(defs: List): String { @@ -24,4 +24,4 @@ fun generateCPythonAdapterDefs(defs: List): String { ${sigMacros.joinToString("\n ")} $registrations """.trimIndent() -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt index 94cf821425..900c97e35b 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt @@ -3,7 +3,7 @@ package org.usvm.annotations.codegeneration data class MemberDescriptorInfo( val nativeTypeName: String, val nativeMemberName: String, - val javaMemberName: String + val javaMemberName: String, ) fun generateDescriptorCheck(info: MemberDescriptorInfo): String = @@ -18,8 +18,8 @@ fun generateDescriptorCheck(info: MemberDescriptorInfo): String = fun generateDescriptorChecks(info: List): String = "#define MEMBER_DESCRIPTORS \\\n" + - info.joinToString("\n", transform = ::generateDescriptorCheck).replace("\n", "\\\n") + - "\n\n#define dummy_0 0" + info.joinToString("\n", transform = ::generateDescriptorCheck).replace("\n", "\\\n") + + "\n\n#define dummy_0 0" fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = """ @@ -34,5 +34,5 @@ fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = fun generateMethodDescriptorChecks(info: List): String = "#define METHOD_DESCRIPTORS \\\n" + - info.joinToString("\n", transform = ::generateMethodDescriptorCheck).replace("\n", "\\\n") + - "\n\n#define dummy_1 1" \ No newline at end of file + info.joinToString("\n", transform = ::generateMethodDescriptorCheck).replace("\n", "\\\n") + + "\n\n#define dummy_1 1" diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index e6b91010f2..1faa11d8c2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -50,8 +50,8 @@ fun generateSymbolicMethodInitialization(): String { """.trimIndent() } return "#define SYMBOLIC_METHOD_INITIALIZATION \\\n" + - prefix.replace("\n", "\\\n") + "\\\n" + - items.joinToString("\n").replace("\n", "\\\n") + "\n" + prefix.replace("\n", "\\\n") + "\\\n" + + items.joinToString("\n").replace("\n", "\\\n") + "\n" } fun generateMethodCheck(): String { @@ -68,4 +68,4 @@ fun generateMethodCheck(): String { assert(0); // not reachable } """.trimIndent() -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt index ddd3707cbd..a6bb2767b2 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/ApproximationId.kt @@ -3,7 +3,7 @@ package org.usvm.annotations.ids enum class ApproximationId( val pythonModule: String, val pythonName: String, - var cRef: Long = 0L // will be set during Python initialization + var cRef: Long = 0L, // will be set during Python initialization ) { ListIndex("approximations.implementations.list", "IndexApproximation"), ListReverse("approximations.implementations.list", "ReverseApproximation"), @@ -17,5 +17,5 @@ enum class ApproximationId( DictSetdefault("approximations.implementations.dict", "SetdefaultApproximation"), TupleIndex("approximations.implementations.tuple", "IndexApproximation"), TupleCount("approximations.implementations.tuple", "CountApproximation"), - SetConstructor("approximations.implementations.set", "ConstructorApproximation") -} \ No newline at end of file + SetConstructor("approximations.implementations.set", "ConstructorApproximation"), +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt index 6a58daf61f..afd574dcde 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/NativeId.kt @@ -3,8 +3,8 @@ package org.usvm.annotations.ids enum class NativeId( val pythonModule: String, val pythonName: String, - var cRef: Long = 0L // will be set during Python initialization + var cRef: Long = 0L, // will be set during Python initialization ) { Eval("builtins", "eval"), - OsSystem("os", "system") -} \ No newline at end of file + OsSystem("os", "system"), +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt index 761fc2cf9e..b16a29259c 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ids/SymbolicMethodId.kt @@ -1,8 +1,8 @@ package org.usvm.annotations.ids enum class SymbolicMethodId( - var cName: String? = null, // will be set based on @CPythonAdapterJavaMethod - var cRef: Long = 0L // will be set in native code during Python initialization + var cName: String? = null, // will be set based on @CPythonAdapterJavaMethod + var cRef: Long = 0L, // will be set in native code during Python initialization ) { Int, Float, @@ -12,5 +12,5 @@ enum class SymbolicMethodId( ListPop, ListExtend, ListClear, - SetAdd -} \ No newline at end of file + SetAdd, +} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt index af31a82d26..9659c41134 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt @@ -5,8 +5,8 @@ sealed class PyObjectModel { } class PyPrimitive( - val repr: String -): PyObjectModel() { + val repr: String, +) : PyObjectModel() { override fun accept(visitor: PyObjectModelVisitor) { visitor.visit(this) } @@ -14,8 +14,8 @@ class PyPrimitive( data class PyIdentifier( val module: String, - val name: String -): PyObjectModel() { + val name: String, +) : PyObjectModel() { override fun accept(visitor: PyObjectModelVisitor) { visitor.visit(this) } @@ -26,21 +26,21 @@ class PyCompositeObject( val constructorArgs: List, var listItems: List? = null, var dictItems: List>? = null, - var fieldDict: Map? = null -): PyObjectModel() { + var fieldDict: Map? = null, +) : PyObjectModel() { override fun accept(visitor: PyObjectModelVisitor) { visitor.visit(this) } } -class PyTupleObject(var items: List): PyObjectModel() { +class PyTupleObject(var items: List) : PyObjectModel() { override fun accept(visitor: PyObjectModelVisitor) { visitor.visit(this) } } -data class PyMockObject(val id: Int): PyObjectModel() { +data class PyMockObject(val id: Int) : PyObjectModel() { override fun accept(visitor: PyObjectModelVisitor) { visitor.visit(this) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt index 4f17bf4c6f..0ada9a44b9 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt @@ -16,32 +16,39 @@ open class PyObjectModelVisitor { } open fun visit(obj: PyCompositeObject) { visited.add(obj) - if (obj.constructor !in visited) + if (obj.constructor !in visited) { visit(obj.constructor) + } obj.constructorArgs.forEach { - if (it !in visited) + if (it !in visited) { visit(it) + } } obj.listItems?.forEach { item -> - if (item !in visited) + if (item !in visited) { visit(item) + } } obj.dictItems?.forEach { (key, value) -> - if (key !in visited) + if (key !in visited) { visit(key) - if (value !in visited) + } + if (value !in visited) { visit(value) + } } obj.fieldDict?.values?.forEach { item -> - if (item !in visited) + if (item !in visited) { visit(item) + } } } open fun visit(obj: PyTupleObject) { visited.add(obj) obj.items.forEach { - if (it !in visited) + if (it !in visited) { visit(it) + } } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt index 3abb121111..164cefb715 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt @@ -3,19 +3,19 @@ package org.usvm.python.model class PyTest( val inputModel: PyInputModel, val inputArgs: List, - val result: PyResult + val result: PyResult, ) class PyInputModel( - val inputArgs: List + val inputArgs: List, ) sealed class PyResult class PyResultSuccess( - val output: PyObjectRepr -): PyResult() + val output: PyObjectRepr, +) : PyResult() class PyResultFailure( - val exception: PyObjectRepr -): PyResult() \ No newline at end of file + val exception: PyObjectRepr, +) : PyResult() diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt index 79b1beb40a..7cb7462424 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt @@ -1,7 +1,7 @@ package org.usvm.python.model fun calculateNumberOfMocks(obj: PyObjectModel): Int { - val visitor = object: PyObjectModelVisitor() { + val visitor = object : PyObjectModelVisitor() { var result = 0 override fun visit(obj: PyMockObject) { result += 1 @@ -10,4 +10,4 @@ fun calculateNumberOfMocks(obj: PyObjectModel): Int { } visitor.visit(obj) return visitor.result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index 66e8526525..8bb43683d5 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -1,18 +1,18 @@ package org.usvm.python.ps enum class PyPathSelectorType { - BaselinePriorityDfs, // passes tests - BaselineWeightedDfs, // passes tests - BaselinePriorityNumberOfVirtualDfs, // passes tests - BaselineWeightedNumberOfVirtualRandomTree, // passes tests - BaselinePriorityNumberOfInstructionsDfs, // passes tests - BaselinePriorityNumberOfInstructionsRandomTree, // passes tests - BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests - DelayedForkByInstructionWeightedDfs, // passes tests - DelayedForkByInstructionWeightedRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests - DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests - DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree // fails testAddAndCompare -} \ No newline at end of file + BaselinePriorityDfs, // passes tests + BaselineWeightedDfs, // passes tests + BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselineWeightedNumberOfVirtualRandomTree, // passes tests + BaselinePriorityNumberOfInstructionsDfs, // passes tests + BaselinePriorityNumberOfInstructionsRandomTree, // passes tests + BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests + DelayedForkByInstructionWeightedDfs, // passes tests + DelayedForkByInstructionWeightedRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests + DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests + DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree, // fails testAddAndCompare +} diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 060e472e56..9687e40cb2 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -6,8 +6,8 @@ import org.usvm.annotations.*; import org.usvm.annotations.codegeneration.CType; import org.usvm.annotations.codegeneration.ObjectConverter; -import org.usvm.annotations.ids.SymbolicMethodId; import org.usvm.annotations.ids.ApproximationId; +import org.usvm.annotations.ids.SymbolicMethodId; import org.usvm.language.*; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.concrete.PyObject; diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 881fb93bf3..fc62fea49b 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -2,18 +2,19 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.usvm.machine.types.PythonTypeSystem; import org.usvm.machine.MockHeader; +import org.usvm.machine.PyContext; +import org.usvm.machine.PyState; import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException; import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent; -import org.usvm.machine.PyState; -import org.usvm.machine.PyContext; import org.usvm.machine.model.PyModelHolder; import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder; import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer; +import org.usvm.machine.types.PythonTypeSystem; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; -import java.util.*; +import java.util.ArrayList; +import java.util.List; import java.util.concurrent.Callable; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index f8da3bbb6a..f0c471200f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -7,39 +7,47 @@ import org.usvm.machine.types.PythonType sealed class PyCallable -data class PyPinnedCallable(val asPyObject: PyObject): PyCallable() +data class PyPinnedCallable(val asPyObject: PyObject) : PyCallable() class PyUnpinnedCallable( val signature: List, val module: String?, val tag: String, - val reference: (PyNamespace) -> /* function reference */ PyObject -): PyCallable() { + val reference: (PyNamespace) -> /* function reference */ PyObject, +) : PyCallable() { val numberOfArguments: Int = signature.size companion object { fun constructCallableFromName(signature: List, name: String, module: String? = null) = - PyUnpinnedCallable(signature, module, "$module.$name") { globals -> ConcretePythonInterpreter.eval(globals, name) } + PyUnpinnedCallable( + signature, + module, + "$module.$name" + ) { globals -> ConcretePythonInterpreter.eval(globals, name) } fun constructLambdaFunction(signature: List, expr: String) = - PyUnpinnedCallable(signature, null, "lambda \"$expr\"") { globals -> ConcretePythonInterpreter.eval(globals, expr) } + PyUnpinnedCallable( + signature, + null, + "lambda \"$expr\"" + ) { globals -> ConcretePythonInterpreter.eval(globals, expr) } } } -sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean): PyCallable() +sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean) : PyCallable() -object NbBoolMethod: TypeMethod(true) -object NbIntMethod: TypeMethod(true) -object NbAddMethod: TypeMethod(false) -object NbSubtractMethod: TypeMethod(false) -object NbMultiplyMethod: TypeMethod(false) -object NbMatrixMultiplyMethod: TypeMethod(false) -object NbNegativeMethod: TypeMethod(false) -object NbPositiveMethod: TypeMethod(false) -object SqLengthMethod: TypeMethod(true) -object MpSubscriptMethod: TypeMethod(false) -object MpAssSubscriptMethod: TypeMethod(false) -data class TpRichcmpMethod(val op: Int): TypeMethod(false) -object TpGetattro: TypeMethod(false) -object TpSetattro: TypeMethod(false) -object TpIterMethod: TypeMethod(false) -object TpCallMethod: TypeMethod(false) \ No newline at end of file +object NbBoolMethod : TypeMethod(true) +object NbIntMethod : TypeMethod(true) +object NbAddMethod : TypeMethod(false) +object NbSubtractMethod : TypeMethod(false) +object NbMultiplyMethod : TypeMethod(false) +object NbMatrixMultiplyMethod : TypeMethod(false) +object NbNegativeMethod : TypeMethod(false) +object NbPositiveMethod : TypeMethod(false) +object SqLengthMethod : TypeMethod(true) +object MpSubscriptMethod : TypeMethod(false) +object MpAssSubscriptMethod : TypeMethod(false) +data class TpRichcmpMethod(val op: Int) : TypeMethod(false) +object TpGetattro : TypeMethod(false) +object TpSetattro : TypeMethod(false) +object TpIterMethod : TypeMethod(false) +object TpCallMethod : TypeMethod(false) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt index 11ab6ba8d2..44919c2e32 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt @@ -5,7 +5,7 @@ import org.usvm.machine.interpreters.concrete.PyObject data class PyInstruction( val numberInBytecode: Int, - val code: PyObject + val code: PyObject, ) fun extractInstructionsFromCode(code: PyObject): List { @@ -30,4 +30,4 @@ fun extractInstructionsFromCode(code: PyObject): List { }.also { ConcretePythonInterpreter.decref(namespace) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index b3fedb0415..fab37ffdbe 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -1,9 +1,9 @@ package org.usvm.language -import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.concrete.PyNamespace +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.withAdditionalPaths import java.io.File @@ -11,18 +11,18 @@ sealed class PyProgram(val additionalPaths: Set) { abstract fun withPinnedCallable( callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PyPinnedCallable) -> T + block: (PyPinnedCallable) -> T, ): T } class PrimitivePyProgram internal constructor( private val namespaceGetter: () -> PyNamespace, - additionalPaths: Set -): PyProgram(additionalPaths) { + additionalPaths: Set, +) : PyProgram(additionalPaths) { override fun withPinnedCallable( callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PyPinnedCallable) -> T + block: (PyPinnedCallable) -> T, ): T { require(callable.module == null) val namespace = namespaceGetter() @@ -42,14 +42,14 @@ class PrimitivePyProgram internal constructor( } } -class StructuredPyProgram(val roots: Set): PyProgram(roots) { +class StructuredPyProgram(val roots: Set) : PyProgram(roots) { override fun withPinnedCallable( callable: PyUnpinnedCallable, typeSystem: PythonTypeSystem, - block: (PyPinnedCallable) -> T + block: (PyPinnedCallable) -> T, ): T = withAdditionalPaths(roots, typeSystem) { if (callable.module == null) { - val pinned = PyPinnedCallable(callable.reference(emptyNamespace)) // for lambdas + val pinned = PyPinnedCallable(callable.reference(emptyNamespace)) // for lambdas block(pinned) } else { val namespace = getNamespaceOfModule(callable.module) ?: error("Couldn't get namespace of function module") @@ -67,8 +67,9 @@ class StructuredPyProgram(val roots: Set): PyProgram(roots) { "$acc$name." } val resultAsObj = ConcretePythonInterpreter.eval(namespace, "$module.__dict__") - if (ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) != "dict") + if (ConcretePythonInterpreter.getPythonObjectTypeName(resultAsObj) != "dict") { return null + } return PyNamespace(resultAsObj.address) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index 00ed6bae76..0e999b5372 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -3,24 +3,30 @@ package org.usvm.machine import io.ksmt.solver.KSolver import io.ksmt.solver.z3.KZ3Solver import io.ksmt.sort.KIntSort -import org.usvm.* +import org.usvm.UComponents +import org.usvm.UContext +import org.usvm.UInt32SizeExprProvider +import org.usvm.USizeExprProvider import org.usvm.constraints.UPathConstraints import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder -import org.usvm.solver.* +import org.usvm.solver.UExprTranslator +import org.usvm.solver.USolverBase +import org.usvm.solver.USolverResult +import org.usvm.solver.UTypeSolver import org.usvm.types.UTypeSystem import kotlin.time.Duration.Companion.milliseconds class PyComponents( - private val typeSystem: PythonTypeSystem -): UComponents { + private val typeSystem: PythonTypeSystem, +) : UComponents { override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val solver = KZ3Solver(ctx) - return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder) + return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { @@ -39,10 +45,15 @@ class PySolver( translator: UExprTranslator, decoder: UModelDecoder>, ) : USolverBase( - ctx, smtSolver, typeSolver, translator, decoder, 500.milliseconds + ctx, + smtSolver, + typeSolver, + translator, + decoder, + 500.milliseconds ) { override fun check(query: UPathConstraints): USolverResult> { val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + query.pythonSoftConstraints return super.checkWithSoftConstraints(query, softConstraints) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index d6608109c8..a02222c110 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -3,15 +3,19 @@ package org.usvm.machine import io.ksmt.expr.KFpRoundingMode import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort -import org.usvm.* +import org.usvm.INITIAL_STATIC_ADDRESS +import org.usvm.UConcreteHeapAddress +import org.usvm.UConcreteHeapRef +import org.usvm.UContext +import org.usvm.UExpr import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.solver.USolverBase class PyContext( typeSystem: PythonTypeSystem, - private val components: PyComponents = PyComponents(typeSystem) -): UContext(components) { + private val components: PyComponents = PyComponents(typeSystem), +) : UContext(components) { private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { require(nextAddress > INITIAL_STATIC_ADDRESS) { @@ -42,4 +46,4 @@ class PyContext( fun closeSolver() { solver.close() } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index c45d37162b..57c2a69cfb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -1,18 +1,23 @@ package org.usvm.machine -import org.usvm.* +import org.usvm.UMachine +import org.usvm.UPathSelector import org.usvm.constraints.UPathConstraints -import org.usvm.language.* -import org.usvm.machine.types.PythonType -import org.usvm.machine.types.PythonTypeSystem -import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.language.PyCallable +import org.usvm.language.PyPinnedCallable +import org.usvm.language.PyProgram +import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.createPyPathSelector import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.observers.NewStateObserver -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.symbolicobjects.constructInputObject +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.utils.PyMachineStatistics import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.machine.utils.isGenerator @@ -28,8 +33,8 @@ class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityNumberOfInstructionsRandomTree, - private val printErrorMsg: Boolean = false -): UMachine() { + private val printErrorMsg: Boolean = false, +) : UMachine() { private val ctx = PyContext(typeSystem) private val random = Random(0) @@ -40,7 +45,7 @@ class PyMachine( saver: PyMachineResultsReceiver, allowPathDiversion: Boolean, maxInstructions: Int, - isCancelled: (Long) -> Boolean + isCancelled: (Long) -> Boolean, ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, @@ -67,8 +72,9 @@ class PyMachine( constructInputObject(index, type, ctx, memory, pathConstraints, typeSystem) } val solverRes = ctx.solver().check(pathConstraints) - if (solverRes !is USatResult) + if (solverRes !is USatResult) { error("Failed to construct initial model") + } return PyState( ctx, target, @@ -85,7 +91,7 @@ class PyMachine( private fun getPathSelector( target: PyUnpinnedCallable, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): UPathSelector { val initialState = getInitialState(target) newStateObserver.onNewState(initialState) @@ -100,7 +106,7 @@ class PyMachine( maxInstructions: Int = 1_000_000_000, timeoutMs: Long? = null, timeoutPerRunMs: Long? = null, - unfoldGenerator: Boolean = true + unfoldGenerator: Boolean = true, ): Int { if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) @@ -124,7 +130,7 @@ class PyMachine( maxInstructions ) { startIterationTime -> (timeoutPerRunMs?.let { (System.currentTimeMillis() - startIterationTime) >= it } ?: false) || - (stopTime != null && System.currentTimeMillis() >= stopTime) + (stopTime != null && System.currentTimeMillis() >= stopTime) } val pathSelector = getPathSelector(pythonCallable, saver.newStateObserver) run( @@ -134,7 +140,7 @@ class PyMachine( isStateTerminated = { !it.isInterestingForPathSelector() }, stopStrategy = { pyObserver.iterations >= maxIterations || - (stopTime != null && System.currentTimeMillis() >= stopTime) + (stopTime != null && System.currentTimeMillis() >= stopTime) } ) pyObserver.iterations @@ -150,18 +156,20 @@ class PyMachine( } private class PythonMachineObserver( - val newStateObserver: NewStateObserver - ): UMachineObserver { + val newStateObserver: NewStateObserver, + ) : UMachineObserver { var iterations: Int = 0 override fun onState(parent: PyState, forks: Sequence) { super.onState(parent, forks) iterations += 1 - if (!parent.isTerminated()) + if (!parent.isTerminated()) { newStateObserver.onNewState(parent) + } forks.forEach { - if (!it.isTerminated()) + if (!it.isTerminated()) { newStateObserver.onNewState(it) + } } } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index e7741fb39c..33894bacfa 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -4,22 +4,31 @@ import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.PersistentSet import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentSetOf -import org.usvm.* +import org.usvm.PathNode +import org.usvm.UAddressSort +import org.usvm.UCallStack +import org.usvm.UMockSymbol +import org.usvm.UPathSelector +import org.usvm.UState import org.usvm.constraints.UPathConstraints -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.language.* +import org.usvm.language.PyCallable +import org.usvm.language.PyInstruction +import org.usvm.language.PyUnpinnedCallable +import org.usvm.language.TypeMethod +import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.memory.UMemory -import org.usvm.targets.UTarget -import org.usvm.types.UTypeStream import org.usvm.model.UModelBase +import org.usvm.targets.UTarget import org.usvm.targets.UTargetsSet +import org.usvm.types.UTypeStream -object PyTarget: UTarget() +object PyTarget : UTarget() private val targets = UTargetsSet.empty() class PyState( @@ -39,8 +48,8 @@ class PyState( var delayedForks: PersistentList = persistentListOf(), private val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf(), - var uniqueInstructions: PersistentSet = persistentSetOf() -): UState( + var uniqueInstructions: PersistentSet = persistentSetOf(), +) : UState( ctx, callStack, pathConstraints, @@ -68,14 +77,14 @@ class PyState( forkPoints, concolicQueries, delayedForks, - mocks.toMutableMap(), // copy - mockedObjects.toMutableSet(), // copy + mocks.toMutableMap(), // copy + mockedObjects.toMutableSet(), // copy uniqueInstructions ) } override val entrypoint = pythonCallable - override val isExceptional: Boolean = false // TODO + override val isExceptional: Boolean = false // TODO val meta = PythonExecutionStateMeta() val pyModel: PyModel get() = models.first() as? PyModel ?: error("Model PyState must be PyModel") @@ -83,8 +92,9 @@ class PyState( fun mock(what: MockHeader): MockResult { val cached = mocks[what] - if (cached != null) + if (cached != null) { return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) + } val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) mocks[what] = result what.methodOwner?.let { mockedObjects.add(it) } @@ -93,10 +103,11 @@ class PyState( fun getMocksForSymbol(symbol: UninterpretedSymbolicPythonObject): List> = mocks.mapNotNull { (mockHeader, mockResult) -> - if (mockHeader.methodOwner == symbol) + if (mockHeader.methodOwner == symbol) { mockHeader to UninterpretedSymbolicPythonObject(mockResult, typeSystem) - else + } else { null + } } fun isTerminated(): Boolean { @@ -112,19 +123,19 @@ class DelayedFork( val state: PyState, val symbol: UninterpretedSymbolicPythonObject, val possibleTypes: UTypeStream, - val delayedForkPrefix: PersistentList + val delayedForkPrefix: PersistentList, ) data class MockHeader( val method: TypeMethod, val args: List, - var methodOwner: UninterpretedSymbolicPythonObject? + var methodOwner: UninterpretedSymbolicPythonObject?, ) data class MockResult( val mockedObject: UninterpretedSymbolicPythonObject, val isNew: Boolean, - val mockSymbol: UMockSymbol + val mockSymbol: UMockSymbol, ) class PythonExecutionStateMeta { @@ -133,5 +144,5 @@ class PythonExecutionStateMeta { var wasInterrupted: Boolean = false var modelDied: Boolean = false var objectsWithoutConcreteTypes: Collection? = null - var generatedFrom: String = "" // for debugging only -} \ No newline at end of file + var generatedFrom: String = "" // for debugging only +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index 68a7f6d1db..2b21a5f366 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -3,14 +3,14 @@ package org.usvm.machine.interpreters.concrete import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.NativeId import org.usvm.annotations.ids.SymbolicMethodId -import org.usvm.language.SymbolForCPython -import org.usvm.language.VirtualPythonObject import org.usvm.interpreter.CPythonAdapter import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor -import org.usvm.machine.interpreters.symbolic.SymbolicClonesOfGlobals +import org.usvm.language.SymbolForCPython +import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.concrete.venv.VenvConfig import org.usvm.machine.interpreters.concrete.venv.activateThisScript +import org.usvm.machine.interpreters.symbolic.SymbolicClonesOfGlobals import org.usvm.machine.utils.withAdditionalPaths import java.io.File @@ -20,8 +20,9 @@ object ConcretePythonInterpreter { fun getNewNamespace(): PyNamespace { val result = pythonAdapter.newNamespace - if (result == 0L) + if (result == 0L) { throw CPythonExecutionException() + } return PyNamespace(result) } @@ -35,10 +36,11 @@ object ConcretePythonInterpreter { val result = pythonAdapter.concreteRun(globals.address, code, printErrorMsg, setHook) if (result != 0) { val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null - if (op != null) + if (op != null) { throw IllegalOperationException(op) - else + } else { throw CPythonExecutionException() + } } } @@ -46,24 +48,26 @@ object ConcretePythonInterpreter { val result = pythonAdapter.eval(globals.address, expr, printErrorMsg, setHook) if (result == 0L) { val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null - if (op != null) + if (op != null) { throw IllegalOperationException(op) - else + } else { throw CPythonExecutionException() + } } return PyObject(result) } private fun wrap(address: Long): PyObject? { - if (address == 0L) + if (address == 0L) { return null + } return PyObject(address) } fun concreteRunOnFunctionRef( functionRef: PyObject, concreteArgs: Collection, - setHook: Boolean = false + setHook: Boolean = false, ): PyObject { pythonAdapter.thrownException = 0L pythonAdapter.thrownExceptionType = 0L @@ -72,17 +76,19 @@ object ConcretePythonInterpreter { concreteArgs.map { it.address }.toLongArray(), setHook ) - if (result != 0L) + if (result != 0L) { return PyObject(result) + } val op = if (setHook) pythonAdapter.checkForIllegalOperation() else null - if (op != null) + if (op != null) { throw IllegalOperationException(op) - else + } else { throw CPythonExecutionException( wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType) ) + } } fun concolicRun( @@ -91,7 +97,7 @@ object ConcretePythonInterpreter { virtualArgs: Collection, symbolicArgs: List, ctx: ConcolicRunContext, - printErrorMsg: Boolean = false + printErrorMsg: Boolean = false, ): PyObject { pythonAdapter.thrownException = 0L pythonAdapter.thrownExceptionType = 0L @@ -104,12 +110,14 @@ object ConcretePythonInterpreter { SymbolicClonesOfGlobals.getNamedSymbols(), printErrorMsg ) - if (result != 0L) + if (result != 0L) { return PyObject(result) + } val op = pythonAdapter.checkForIllegalOperation() - if (op != null) + if (op != null) { throw IllegalOperationException(op) + } throw CPythonExecutionException(wrap(pythonAdapter.thrownException), wrap(pythonAdapter.thrownExceptionType)) } @@ -154,8 +162,9 @@ object ConcretePythonInterpreter { fun allocateVirtualObject(virtualObject: VirtualPythonObject): PyObject { val ref = pythonAdapter.allocateVirtualObject(virtualObject) - if (ref == 0L) + if (ref == 0L) { throw CPythonExecutionException() + } return PyObject(ref) } @@ -217,8 +226,9 @@ object ConcretePythonInterpreter { private fun createTypeQuery(checkMethod: (Long) -> Int): (PyObject) -> Boolean = { pythonObject -> val result = checkMethod(pythonObject.address) - if (result < 0) + if (result < 0) { error("Given Python object is not a type") + } result != 0 } @@ -259,8 +269,9 @@ object ConcretePythonInterpreter { pythonAdapter.finalizePython() initialize() SymbolicClonesOfGlobals.restart() - if (venvConfig != null) + if (venvConfig != null) { activateVenv(venvConfig!!) + } } fun setVenv(config: VenvConfig) { @@ -325,11 +336,13 @@ object ConcretePythonInterpreter { val initialModules = listOf("sys", "copy", "builtins", "ctypes", "array") pythonAdapter.concreteRun(namespace, "import " + initialModules.joinToString(", "), true, false) initialSysPath = PyObject(pythonAdapter.eval(namespace, "copy.copy(sys.path)", true, false)) - if (initialSysPath.address == 0L) + if (initialSysPath.address == 0L) { throw CPythonExecutionException() + } initialSysModulesKeys = PyObject(pythonAdapter.eval(namespace, "sys.modules.keys()", true, false)) - if (initialSysModulesKeys.address == 0L) + if (initialSysModulesKeys.address == 0L) { throw CPythonExecutionException() + } } private fun activateVenv(config: VenvConfig) { @@ -342,7 +355,7 @@ object ConcretePythonInterpreter { private var venvConfig: VenvConfig? = null lateinit var initialSysPath: PyObject - lateinit var initialSysModulesKeys: PyObject + lateinit var initialSysModulesKeys: PyObject var pyEQ: Int = 0 var pyNE: Int = 0 var pyLT: Int = 0 @@ -356,7 +369,7 @@ object ConcretePythonInterpreter { initialize() } - fun printIdInfo() { // for debugging + fun printIdInfo() { // for debugging println("SymbolicMethodId:") SymbolicMethodId.values().forEach { println(it) @@ -373,8 +386,8 @@ object ConcretePythonInterpreter { class CPythonExecutionException( val pythonExceptionValue: PyObject? = null, - val pythonExceptionType: PyObject? = null -): Exception() + val pythonExceptionType: PyObject? = null, +) : Exception() data class PyObject(val address: Long) { init { @@ -388,4 +401,4 @@ data class PyNamespace(val address: Long) { } } -data class IllegalOperationException(val operation: String): Exception() \ No newline at end of file +data class IllegalOperationException(val operation: String) : Exception() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt index cfb18080fc..32e6301882 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Activation.kt @@ -23,4 +23,4 @@ fun activateThisScript(config: VenvConfig): String = sys.real_prefix = sys.prefix sys.prefix = base - """.trimIndent() \ No newline at end of file + """.trimIndent() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt index 8e597154ac..a2314e55dd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt @@ -5,5 +5,5 @@ import java.io.File data class VenvConfig( val basePath: File, val libPath: File, - val binPath: File -) \ No newline at end of file + val binPath: File, +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt index 0a209673bf..509c93f8cf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt @@ -31,4 +31,4 @@ object SymbolicClonesOfGlobals { fun getNamedSymbols(): Array = clonesMap.map { NamedSymbolForCPython(it.key, it.value) }.toTypedArray() -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index d1f400a6ec..3811e44d76 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -1,13 +1,13 @@ package org.usvm.machine.interpreters.symbolic import mu.KLogging -import org.usvm.* +import org.usvm.StepResult +import org.usvm.UInterpreter import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyPinnedCallable -import org.usvm.machine.symbolicobjects.* import org.usvm.language.SymbolForCPython -import org.usvm.machine.types.PythonTypeSystem -import org.usvm.machine.* +import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject @@ -16,13 +16,19 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtu import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.results.PyMachineResultsReceiver +import org.usvm.machine.results.serialization.ReprObjectSerializer +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.LengthOverflowException import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer -import org.usvm.machine.results.* -import org.usvm.machine.results.serialization.ReprObjectSerializer +import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.PythonMachineStatisticsOnFunction -import org.usvm.python.model.* +import org.usvm.python.model.PyInputModel +import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyResultFailure +import org.usvm.python.model.PyResultSuccess +import org.usvm.python.model.PyTest class USVMPythonInterpreter( private val ctx: PyContext, @@ -77,7 +83,6 @@ class USVMPythonInterpreter( concolicRunContext, printErrorMsg ) - } catch (exception: Throwable) { if (exception is CPythonExecutionException) { val realCPythonException = processCPythonExceptionDuringConcolicRun( @@ -108,7 +113,6 @@ class USVMPythonInterpreter( } logger.debug("Finished step on state: {}", concolicRunContext.curState) StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) - } else { logger.debug("Ended step with path diversion") StepResult(emptySequence(), !state.isTerminated()) @@ -117,9 +121,9 @@ class USVMPythonInterpreter( private fun processConcreteInput( concrete: List, - renderer: PyObjectRenderer + renderer: PyObjectRenderer, ): List? { - if (logger.isDebugEnabled) { // getting __repr__ might be slow + if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( "Generated inputs: {}", concrete.joinToString(", ") { @@ -138,7 +142,7 @@ class USVMPythonInterpreter( private fun processSuccessfulExecution( result: PyObject, inputModel: PyInputModel, - inputReprs: List? + inputReprs: List?, ) { if (logger.isDebugEnabled) { logger.debug("Step result: Successful run. Returned ${ReprObjectSerializer.serialize(result)}") @@ -157,7 +161,7 @@ class USVMPythonInterpreter( private fun processJavaException( concolicRunContext: ConcolicRunContext, exception: Throwable, - renderer: PyObjectRenderer + renderer: PyObjectRenderer, ) { when (exception) { is UnregisteredVirtualOperation -> processUnregisteredVirtualOperation(concolicRunContext, renderer) @@ -173,7 +177,7 @@ class USVMPythonInterpreter( exception: CPythonExecutionException, renderer: PyObjectRenderer, inputModel: PyInputModel, - inputReprs: List? + inputReprs: List?, ): Boolean { require(exception.pythonExceptionType != null) require(exception.pythonExceptionValue != null) @@ -201,7 +205,7 @@ class USVMPythonInterpreter( private fun processUnregisteredVirtualOperation( concolicRunContext: ConcolicRunContext, - renderer: PyObjectRenderer + renderer: PyObjectRenderer, ) { logger.debug("Step result: Unregistrered virtual operation") val resultState = concolicRunContext.curState @@ -238,7 +242,7 @@ class USVMPythonInterpreter( private fun constructConcolicRunContext( state: PyState, - modelHolder: PyModelHolder + modelHolder: PyModelHolder, ): ConcolicRunContext { val start = System.currentTimeMillis() return ConcolicRunContext( @@ -257,4 +261,4 @@ class USVMPythonInterpreter( companion object { val logger = object : KLogging() {}.logger } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 55cd3d4caa..3432bf3f13 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -9,28 +9,46 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* -import org.usvm.machine.types.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructEmptyAllocatedObject +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.symbolicobjects.memory.containsField +import org.usvm.machine.symbolicobjects.memory.getBoolContent +import org.usvm.machine.symbolicobjects.memory.getFieldValue +import org.usvm.machine.symbolicobjects.memory.getIntContent +import org.usvm.machine.symbolicobjects.memory.readArrayLength +import org.usvm.machine.symbolicobjects.memory.setFieldValue +import org.usvm.machine.types.ArrayLikeConcretePythonType +import org.usvm.machine.types.ArrayType +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.ConcreteTypeNegation +import org.usvm.machine.types.HasTpHash +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.utils.MethodDescription import org.utpython.types.getPythonAttributeByName import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PyObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { +fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PyObject): UninterpretedSymbolicPythonObject? = with( + ctx.ctx +) { ctx.curState ?: return null val typeSystem = ctx.typeSystem val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null - if (type == typeSystem.pythonObjectType) + if (type == typeSystem.pythonObjectType) { return constructBool(ctx, ctx.ctx.trueExpr) + } val interpreted = interpretSymbolicPythonObject(ctx, obj) val concreteType = interpreted.getConcreteType() return if (concreteType == null) { - if (type == typeSystem.pythonInt) { // this is a common case, TODO: better solution + if (type == typeSystem.pythonInt) { // this is a common case, TODO: better solution val cond = obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonInt)) and obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonBool)) myFork(ctx, cond) @@ -40,8 +58,8 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho require(interpreted.getConcreteType() == null) constructBool(ctx, falseExpr) } else { - if (type == typeSystem.pythonInt) { // this is a common case - myAssert(ctx, obj.evalIs(ctx, typeSystem.pythonBool).not()) // to avoid underapproximation + if (type == typeSystem.pythonInt) { // this is a common case + myAssert(ctx, obj.evalIs(ctx, typeSystem.pythonBool).not()) // to avoid underapproximation constructBool(ctx, obj.evalIs(ctx, typeSystem.pythonInt)) } else { constructBool(ctx, obj.evalIs(ctx, type)) @@ -56,7 +74,9 @@ fun fixateTypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject obj.addSupertype(ctx, type) } -fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { +fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with( + ctx.ctx +) { ctx.curState ?: return null val typeSystem = ctx.typeSystem left.addSupertype(ctx, typeSystem.pythonBool) @@ -67,21 +87,23 @@ fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObjec } fun lostSymbolicValueKt(ctx: ConcolicRunContext, description: String) { - if (ctx.curState != null) + if (ctx.curState != null) { ctx.statistics.addLostSymbolicValue(MethodDescription(description)) + } } fun createIterable( ctx: ConcolicRunContext, elements: List, - type: ConcretePythonType + type: ConcretePythonType, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val addresses = elements.map { it.address }.asSequence() val typeSystem = ctx.typeSystem val size = elements.size - with (ctx.ctx) { + with(ctx.ctx) { val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType, intSort) ctx.curState!!.memory.types.allocate(iterableAddress.address, type) @@ -94,7 +116,7 @@ fun createIterable( fun handlerStrEqKt( ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, - right: UninterpretedSymbolicPythonObject + right: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null left.addSupertype(ctx, ctx.typeSystem.pythonStr) @@ -106,7 +128,7 @@ fun handlerStrEqKt( fun handlerStrNeqKt( ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, - right: UninterpretedSymbolicPythonObject + right: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null left.addSupertype(ctx, ctx.typeSystem.pythonStr) @@ -118,7 +140,7 @@ fun handlerStrNeqKt( fun handlerIsOpKt( ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, - right: UninterpretedSymbolicPythonObject + right: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { ctx.curState ?: return val leftType = left.getTypeIfDefined(ctx) @@ -151,10 +173,11 @@ fun handlerNoneCheckKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonO fun handlerStandardTpGetattroKt( ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, - name: UninterpretedSymbolicPythonObject + name: UninterpretedSymbolicPythonObject, ): SymbolForCPython? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) @@ -168,8 +191,9 @@ fun handlerStandardTpGetattroKt( defaultValue = handlerLoadConstKt(ctx, concreteDescriptor) } } - if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { return null + } val containsFieldCond = obj.containsField(ctx, name) val result = obj.getFieldValue(ctx, name) @@ -183,8 +207,9 @@ fun handlerStandardTpGetattroKt( } ?: ctx.ctx.trueExpr if (ctx.modelHolder.model.eval(containsFieldCond).isFalse) { - if (defaultValue != null) + if (defaultValue != null) { return SymbolForCPython(defaultValue, 0) + } myFork(ctx, ctx.ctx.mkAnd(containsFieldCond, additionalCond)) return null } else { @@ -198,27 +223,31 @@ fun handlerStandardTpSetattroKt( ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return - if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { return + } val descriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) if (descriptor != null) { val descrType = ConcretePythonInterpreter.getPythonObjectType(descriptor) - if (ConcretePythonInterpreter.typeHasTpDescrSet(descrType)) + if (ConcretePythonInterpreter.typeHasTpDescrSet(descrType)) { return + } } obj.setFieldValue(ctx, name, value) } fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPythonObject, type: ArrayLikeConcretePythonType): UninterpretedSymbolicPythonObject? { - if (context.curState == null) + if (context.curState == null) { return null - if (array.getTypeIfDefined(context) != type) + } + if (array.getTypeIfDefined(context) != type) { return null + } val listSize = array.readArrayLength(context) return constructInt(context, listSize) } @@ -228,11 +257,12 @@ fun resolveSequenceIndex( ctx: ConcolicRunContext, seq: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, - type: ArrayLikeConcretePythonType + type: ArrayLikeConcretePythonType, ): UExpr? { - if (ctx.curState == null) + if (ctx.curState == null) { return null - with (ctx.ctx) { + } + with(ctx.ctx) { val typeSystem = ctx.typeSystem index.addSupertypeSoft(ctx, typeSystem.pythonInt) seq.addSupertypeSoft(ctx, type) @@ -243,8 +273,9 @@ fun resolveSequenceIndex( val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) myFork(ctx, indexCond) - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) { return null + } val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) myFork(ctx, positiveIndex) @@ -261,7 +292,7 @@ fun resolveSequenceIndex( fun handlerCreateEmptyObjectKt( ctx: ConcolicRunContext, - typeRef: PyObject + typeRef: PyObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val typeSystem = ctx.typeSystem @@ -271,7 +302,7 @@ fun handlerCreateEmptyObjectKt( fun addHashableTypeConstrains( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { var cond: UBoolExpr = trueExpr cond = cond and key.evalIsSoft(ctx, HasTpHash) @@ -283,7 +314,7 @@ fun addHashableTypeConstrains( fun forkOnUnknownHashableType( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { require(key.getTypeIfDefined(ctx) == null) val keyIsInt = key.evalIs(ctx, ctx.typeSystem.pythonInt) @@ -300,8 +331,8 @@ fun forkOnUnknownHashableType( fun handlerCallOnKt( ctx: ConcolicRunContext, function: PyObject, - args: Stream + args: Stream, ) { ctx.curState ?: return addConstraintsFromNativeId(ctx, function, args.asSequence().toList()) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index 1027997496..5cbe8a41a7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -3,12 +3,16 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructFloat +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { - if (ConcretePythonInterpreter.pythonExceptionOccurred()) + if (ConcretePythonInterpreter.pythonExceptionOccurred()) { return null + } return when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { "int" -> handlerLoadConstLongKt(context, value) "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) @@ -28,15 +32,17 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): Uninterpre } fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) + if (context.curState == null) { return null + } val str = ConcretePythonInterpreter.getPythonObjectStr(value) return context.curState!!.preAllocatedObjects.allocateStr(context, str, value) } fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { - if (context.curState == null) + if (context.curState == null) { return null + } val str = runCatching { ConcretePythonInterpreter.getPythonObjectRepr(value) }.onFailure { @@ -49,16 +55,18 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PyObject): Uninte } fun handlerLoadConstFloatKt(ctx: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val str = ConcretePythonInterpreter.getPythonObjectRepr(value) val doubleValue = str.toDoubleOrNull() ?: return null return constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, doubleValue)) } fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): UninterpretedSymbolicPythonObject? { - if (context.curState == null) + if (context.curState == null) { return null + } return when (value) { "True" -> constructBool(context, context.ctx.trueExpr) "False" -> constructBool(context, context.ctx.falseExpr) @@ -67,4 +75,4 @@ fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): Uninterp } fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? = - createIterable(context, elements, context.typeSystem.pythonTuple) \ No newline at end of file + createIterable(context, elements, context.typeSystem.pythonTuple) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index bfb45d98ad..2b2d213ac4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -13,8 +13,9 @@ import org.usvm.machine.symbolicobjects.memory.getToBoolValue import org.usvm.machine.utils.getTypeStreamForDelayedFork fun myFork(ctx: ConcolicRunContext, cond: UExpr) { - if (ctx.curState == null) + if (ctx.curState == null) { return + } val model = ctx.curState!!.pyModel val oldCurState = ctx.curState val forkResult = fork(ctx.curState!!, cond) @@ -31,10 +32,11 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { forkResult.negativeState?.let(applyToPyModel) forkResult.positiveState?.also { it.meta.generatedFrom = "From ordinary fork" } forkResult.negativeState?.also { it.meta.generatedFrom = "From ordinary fork" } - if (forkResult.negativeState != oldCurState) + if (forkResult.negativeState != oldCurState) { forkResult.negativeState?.let { ctx.forkedStates.add(it) } + } } fun myAssertOnState(state: PyState, cond: UExpr): PyState? { @@ -48,19 +50,23 @@ fun myAssertOnState(state: PyState, cond: UExpr): PyState? { } fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { - if (ctx.curState == null) + if (ctx.curState == null) { return + } val oldModel = ctx.curState!!.pyModel val forkResult = myAssertOnState(ctx.curState!!, cond) - if (forkResult == null) + if (forkResult == null) { ctx.curState!!.meta.modelDied = true - if (forkResult?.pyModel != oldModel) + } + if (forkResult?.pyModel != oldModel) { throw BadModelException + } } fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, clonedState: PyState) { - if (ctx.curState == null) + if (ctx.curState == null) { return + } ctx.curState!!.delayedForks = ctx.curState!!.delayedForks.add( DelayedFork( clonedState, @@ -72,8 +78,9 @@ fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObjec } fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObject) { - if (ctx.curState == null) + if (ctx.curState == null) { return + } if (cond.getTypeIfDefined(ctx) == null) { addDelayedFork(ctx, cond, ctx.curState!!.clone()) } @@ -81,6 +88,6 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje myFork(ctx, expr) } -object BadModelException: Exception() { +object BadModelException : Exception() { private fun readResolve(): Any = BadModelException -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index 399984daf6..e5df5c4dd2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -3,22 +3,30 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.memory.dictContainsInt +import org.usvm.machine.symbolicobjects.memory.dictContainsRef +import org.usvm.machine.symbolicobjects.memory.dictIsEmpty +import org.usvm.machine.symbolicobjects.memory.getToIntContent +import org.usvm.machine.symbolicobjects.memory.readArrayElement +import org.usvm.machine.symbolicobjects.memory.readDictIntElement +import org.usvm.machine.symbolicobjects.memory.readDictRefElement +import org.usvm.machine.symbolicobjects.memory.writeDictIntElement +import org.usvm.machine.symbolicobjects.memory.writeDictRefElement import java.util.stream.Stream import kotlin.streams.asSequence fun handlerDictGetItemKt( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null addHashableTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = key.getToIntContent(ctx) ?: return null val containsCond = dict.dictContainsInt(ctx, intValue) @@ -48,11 +56,11 @@ private fun setItem( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { val typeSystem = ctx.typeSystem when (val keyType = key.getTypeIfDefined(ctx)) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO typeSystem.pythonInt -> { val intValue = key.getToIntContent(ctx) ?: return dict.writeDictIntElement(ctx, intValue, value) @@ -70,7 +78,7 @@ fun handlerDictSetItemKt( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return addHashableTypeConstrains(ctx, key) @@ -82,7 +90,7 @@ fun handlerDictSetItemKt( fun handlerCreateDictKt( ctx: ConcolicRunContext, keysStream: Stream, - elemsStream: Stream + elemsStream: Stream, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val keys = keysStream.asSequence().toList() @@ -101,7 +109,7 @@ fun handlerCreateDictKt( fun handlerCreateDictConstKeyKt( ctx: ConcolicRunContext, keys: UninterpretedSymbolicPythonObject, - elemsStream: Stream + elemsStream: Stream, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val elems = elemsStream.asSequence().toList() @@ -120,14 +128,14 @@ fun handlerCreateDictConstKeyKt( fun handlerDictContainsKt( ctx: ConcolicRunContext, dict: UninterpretedSymbolicPythonObject, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return addHashableTypeConstrains(ctx, key) val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = key.getToIntContent(ctx) ?: return dict.dictContainsInt(ctx, intValue) @@ -144,7 +152,7 @@ fun handlerDictContainsKt( fun handlerDictIterKt( ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject + dict: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return myFork(ctx, dict.dictIsEmpty(ctx)) @@ -152,8 +160,8 @@ fun handlerDictIterKt( fun handlerDictLengthKt( ctx: ConcolicRunContext, - dict: UninterpretedSymbolicPythonObject + dict: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return myFork(ctx, dict.dictIsEmpty(ctx)) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index 57fb0dc99c..01c3a316f5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -1,16 +1,17 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.types.HasTpIter -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.getEnumerateIndexAndIncrement import org.usvm.machine.symbolicobjects.memory.getEnumerateIterator import org.usvm.machine.symbolicobjects.memory.initializeEnumerate +import org.usvm.machine.types.HasTpIter import java.util.stream.Stream fun handlerCreateEnumerateKt( ctx: ConcolicRunContext, - iterable: UninterpretedSymbolicPythonObject + iterable: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null iterable.addSupertype(ctx, HasTpIter) @@ -36,7 +37,7 @@ fun handlerCreateEnumerateKt( fun handlerEnumerateIterKt( ctx: ConcolicRunContext, - enumerate: UninterpretedSymbolicPythonObject + enumerate: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null return enumerate @@ -44,7 +45,7 @@ fun handlerEnumerateIterKt( fun handlerEnumerateNextKt( ctx: ConcolicRunContext, - enumerate: UninterpretedSymbolicPythonObject + enumerate: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val iterator = enumerate.getEnumerateIterator(ctx) @@ -59,4 +60,4 @@ fun handlerEnumerateNextKt( val indexValue = enumerate.getEnumerateIndexAndIncrement(ctx) val index = constructInt(ctx, indexValue) return handlerCreateTupleKt(ctx, Stream.of(index, item)) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index fbce441b2b..b500d30aa1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -5,10 +5,23 @@ import org.usvm.UExpr import org.usvm.USort import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructFloat +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.memory.FloatUninterpretedContent +import org.usvm.machine.symbolicobjects.memory.getFloatContent +import org.usvm.machine.symbolicobjects.memory.getToFloatContent +import org.usvm.machine.symbolicobjects.memory.getToIntContent +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedMinusInfinity +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedNan +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedPlusInfinity +import org.usvm.machine.symbolicobjects.memory.mkUninterpretedSignedInfinity -private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { +private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with( + ctx.ctx +) { mkIte( right.isNan or left.isNan, falseExpr, @@ -16,19 +29,21 @@ private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, ri left.isInf, mkIte( right.isInf, - left.infSign and right.infSign.not(), // (left is inf) && (right is inf) - left.infSign // (left is inf) && !(right is inf) + left.infSign and right.infSign.not(), // (left is inf) && (right is inf) + left.infSign // (left is inf) && !(right is inf) ), mkIte( right.isInf, - right.infSign.not(), // !(left is inf) && (right is inf) - left.realValue gt right.realValue // !(left is inf) && !(right is inf) + right.infSign.not(), // !(left is inf) && (right is inf) + left.realValue gt right.realValue // !(left is inf) && !(right is inf) ) ) ) } -private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with(ctx.ctx) { +private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with( + ctx.ctx +) { mkIte( right.isNan or left.isNan, falseExpr, @@ -41,8 +56,9 @@ private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, ri } fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null val boolExpr: UBoolExpr = gtFloat(ctx, left, right) @@ -53,8 +69,9 @@ fun handlerLTFloatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonO handlerGTFloatKt(ctx, right, left) fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null return constructBool(ctx, eqFloat(ctx, left, right)) @@ -62,8 +79,9 @@ fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null return constructBool(ctx, ctx.ctx.mkNot(eqFloat(ctx, left, right))) @@ -71,8 +89,9 @@ fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null return constructBool(ctx, ctx.ctx.mkOr(eqFloat(ctx, left, right), gtFloat(ctx, left, right))) @@ -82,11 +101,11 @@ fun handlerLEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth handlerGEFloatKt(ctx, rightObj, leftObj) -private fun constructAddExprComponent( +private fun constructAddExprComponent( ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr + projection: (FloatUninterpretedContent) -> UExpr, ): UExpr = with(ctx.ctx) { mkIte( @@ -115,7 +134,7 @@ private fun constructAddExprComponent( private fun constructAddExpr( ctx: ConcolicRunContext, left: FloatUninterpretedContent, - right: FloatUninterpretedContent + right: FloatUninterpretedContent, ): FloatUninterpretedContent = FloatUninterpretedContent( constructAddExprComponent(ctx, left, right) { it.isNan }, @@ -124,10 +143,10 @@ private fun constructAddExpr( constructAddExprComponent(ctx, left, right) { it.realValue } ) -private fun constructNegExprComponent( +private fun constructNegExprComponent( ctx: ConcolicRunContext, value: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr + projection: (FloatUninterpretedContent) -> UExpr, ): UExpr = with(ctx.ctx) { mkIte( @@ -143,7 +162,7 @@ private fun constructNegExprComponent( private fun constructNegExpr( ctx: ConcolicRunContext, - value: FloatUninterpretedContent + value: FloatUninterpretedContent, ): FloatUninterpretedContent = FloatUninterpretedContent( constructNegExprComponent(ctx, value) { it.isNan }, @@ -152,11 +171,11 @@ private fun constructNegExpr( constructNegExprComponent(ctx, value) { it.realValue } ) -private fun constructMulExprComponent( +private fun constructMulExprComponent( ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr + projection: (FloatUninterpretedContent) -> UExpr, ): UExpr = with(ctx.ctx) { mkIte( @@ -170,7 +189,12 @@ private fun constructMulExprComponent( mkIte( right.realValue eq mkRealNum(0), projection(mkUninterpretedNan(this)), - projection(mkUninterpretedSignedInfinity(this, (left.infSign.not() xor (right.realValue lt mkRealNum(0))).not())) + projection( + mkUninterpretedSignedInfinity( + this, + (left.infSign.not() xor (right.realValue lt mkRealNum(0))).not() + ) + ) ) ), mkIte( @@ -178,7 +202,12 @@ private fun constructMulExprComponent( mkIte( left.realValue eq mkRealNum(0), projection(mkUninterpretedNan(this)), - projection(mkUninterpretedSignedInfinity(this, (right.infSign.not() xor (left.realValue lt mkRealNum(0))).not())) + projection( + mkUninterpretedSignedInfinity( + this, + (right.infSign.not() xor (left.realValue lt mkRealNum(0))).not() + ) + ) ), projection(mkUninterpretedFloatWithValue(this, mkArithMul(left.realValue, right.realValue))) ) @@ -189,7 +218,7 @@ private fun constructMulExprComponent( private fun constructMulExpr( ctx: ConcolicRunContext, left: FloatUninterpretedContent, - right: FloatUninterpretedContent + right: FloatUninterpretedContent, ): FloatUninterpretedContent = FloatUninterpretedContent( constructMulExprComponent(ctx, left, right) { it.isNan }, @@ -198,10 +227,10 @@ private fun constructMulExpr( constructMulExprComponent(ctx, left, right) { it.realValue } ) -private fun constructReverseExprComponent( +private fun constructReverseExprComponent( ctx: ConcolicRunContext, value: FloatUninterpretedContent, - projection: (FloatUninterpretedContent) -> UExpr + projection: (FloatUninterpretedContent) -> UExpr, ): UExpr = with(ctx.ctx) { mkIte( @@ -217,7 +246,7 @@ private fun constructReverseExprComponent( private fun constructReverseExpr( ctx: ConcolicRunContext, - value: FloatUninterpretedContent + value: FloatUninterpretedContent, ): FloatUninterpretedContent = FloatUninterpretedContent( constructReverseExprComponent(ctx, value) { it.isNan }, @@ -227,8 +256,9 @@ private fun constructReverseExpr( ) fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null val floatValue = constructAddExpr(ctx, left, right) @@ -237,8 +267,9 @@ fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null val floatValue = constructAddExpr(ctx, left, constructNegExpr(ctx, right)) @@ -246,8 +277,9 @@ fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt } fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null val floatValue = constructMulExpr(ctx, left, right) @@ -255,8 +287,9 @@ fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt } fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null myFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) @@ -279,13 +312,14 @@ fun handlerPOSFloatKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonO fun castFloatToInt( ctx: ConcolicRunContext, - float: UninterpretedSymbolicPythonObject + float: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) val value = float.getFloatContent(ctx) myFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) - if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) + if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) { return null + } val intValue = ctx.ctx.mkRealToInt(value.realValue) return constructInt(ctx, intValue) } @@ -293,19 +327,22 @@ fun castFloatToInt( private fun strToFloat(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null - if (str == "inf" || str == "infinity") + if (str == "inf" || str == "infinity") { return constructFloat(ctx, mkUninterpretedPlusInfinity(ctx.ctx)) - if (str == "-inf" || str == "-infinity") + } + if (str == "-inf" || str == "-infinity") { return constructFloat(ctx, mkUninterpretedMinusInfinity(ctx.ctx)) + } return null } fun handlerFloatCastKt( ctx: ConcolicRunContext, - arg: UninterpretedSymbolicPythonObject + arg: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem val type = arg.getTypeIfDefined(ctx) ?: return null return when (type) { @@ -317,4 +354,4 @@ fun handlerFloatCastKt( typeSystem.pythonStr -> strToFloat(ctx, arg) else -> null } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index d62c1d87f2..60bb4fa3d0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -1,13 +1,23 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import io.ksmt.sort.KIntSort -import org.usvm.* -import org.usvm.api.* +import org.usvm.UExpr +import org.usvm.api.allocateArray import org.usvm.api.collection.ListCollectionApi.symbolicListInsert +import org.usvm.api.memcpy +import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructListIterator +import org.usvm.machine.symbolicobjects.memory.extendArrayConstraints +import org.usvm.machine.symbolicobjects.memory.getIntContent +import org.usvm.machine.symbolicobjects.memory.getListIteratorContent +import org.usvm.machine.symbolicobjects.memory.increaseListIteratorCounter +import org.usvm.machine.symbolicobjects.memory.readArrayElement +import org.usvm.machine.symbolicobjects.memory.readArrayLength +import org.usvm.machine.symbolicobjects.memory.writeArrayElement import org.usvm.machine.types.ArrayType -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* import java.util.stream.Stream import kotlin.streams.asSequence @@ -18,15 +28,17 @@ fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymboli getArraySize(context, list, context.typeSystem.pythonList) fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return null return list.readArrayElement(ctx, indexInt) } fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { - if (ctx.curState == null) + if (ctx.curState == null) { return + } val indexInt = resolveSequenceIndex(ctx, list, index, ctx.typeSystem.pythonList) ?: return list.writeArrayElement(ctx, indexInt, value) } @@ -40,12 +52,28 @@ private fun listConcat( ) { dst.extendArrayConstraints(ctx, left) dst.extendArrayConstraints(ctx, right) - with (ctx.ctx) { + with(ctx.ctx) { val leftSize = left.readArrayLength(ctx) val rightSize = right.readArrayLength(ctx) ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType, intSort) - ctx.curState!!.memory.memcpy(left.address, dst.address, ArrayType, addressSort, mkIntNum(0), mkIntNum(0), leftSize) - ctx.curState!!.memory.memcpy(right.address, dst.address, ArrayType, addressSort, mkIntNum(0), leftSize, rightSize) + ctx.curState!!.memory.memcpy( + left.address, + dst.address, + ArrayType, + addressSort, + mkIntNum(0), + mkIntNum(0), + leftSize + ) + ctx.curState!!.memory.memcpy( + right.address, + dst.address, + ArrayType, + addressSort, + mkIntNum(0), + leftSize, + rightSize + ) } } @@ -59,12 +87,14 @@ fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth } fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem - if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) + if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) { return null - with (ctx.ctx) { + } + with(ctx.ctx) { val resultAddress = ctx.curState!!.memory.allocateArray(ArrayType, intSort, mkIntNum(0)) ctx.curState!!.memory.types.allocate(resultAddress.address, typeSystem.pythonList) val result = UninterpretedSymbolicPythonObject(resultAddress, typeSystem) @@ -74,22 +104,26 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth } fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem - if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) + if (right.getTypeIfDefined(ctx) != typeSystem.pythonList || left.getTypeIfDefined(ctx) != typeSystem.pythonList) { return null + } listConcat(ctx, left, right, left) return left } fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem - if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) + if (list.getTypeIfDefined(ctx) != typeSystem.pythonList) { return null - with (ctx.ctx) { + } + with(ctx.ctx) { val currentSize = list.readArrayLength(ctx) list.writeArrayElement(ctx, currentSize, elem) ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) @@ -98,24 +132,29 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth } fun handlerListIterKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem list.addSupertype(ctx, typeSystem.pythonList) return constructListIterator(ctx, list) } -fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { - if (ctx.curState == null) +fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with( + ctx.ctx +) { + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem val (listAddress, index) = iterator.getListIteratorContent(ctx) val listSize = UninterpretedSymbolicPythonObject(listAddress, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt listSize myFork(ctx, indexCond) - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) + if (ctx.curState!!.pyModel.eval(indexCond).isFalse) { return null + } iterator.increaseListIteratorCounter(ctx) val list = UninterpretedSymbolicPythonObject(listAddress, typeSystem) @@ -131,8 +170,9 @@ private fun listPop( val listSize = list.readArrayLength(ctx) val sizeCond = listSize gt (ind ?: mkIntNum(0)) myFork(ctx, sizeCond) - if (ctx.modelHolder.model.eval(sizeCond).isFalse) + if (ctx.modelHolder.model.eval(sizeCond).isFalse) { return null + } val newSize = mkArithSub(listSize, mkIntNum(1)) val result = list.readArrayElement(ctx, ind ?: newSize) ctx.curState!!.memory.writeArrayLength(list.address, newSize, ArrayType, intSort) @@ -142,16 +182,18 @@ private fun listPop( fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null - if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return null + } return listPop(ctx, list) } fun handlerListPopIndKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ind: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null - if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return null + } ind.addSupertype(ctx, ctx.typeSystem.pythonInt) return listPop(ctx, list, ind.getIntContent(ctx)) } @@ -160,11 +202,12 @@ fun handlerListInsertKt( ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ind: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return - if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return + } ind.addSupertype(ctx, ctx.typeSystem.pythonInt) with(ctx.ctx) { @@ -176,13 +219,14 @@ fun handlerListInsertKt( listSize ) ctx.curState!!.symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) - list.writeArrayElement(ctx, indValue, value) // to assert element constraints + list.writeArrayElement(ctx, indValue, value) // to assert element constraints } } fun handlerListClearKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject) { ctx.curState ?: return - if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) + if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return + } ctx.curState!!.memory.writeArrayLength(list.address, ctx.ctx.mkIntNum(0), ArrayType, ctx.ctx.intSort) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index 3c87dfd8e7..1cd32cefd2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -7,13 +7,16 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructBool +import org.usvm.machine.symbolicobjects.constructFloat +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.getToIntContent import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue -private fun extractValue( +private fun extractValue( ctx: ConcolicRunContext, - expr: UExpr + expr: UExpr, ): UninterpretedSymbolicPythonObject = with(ctx.ctx) { @Suppress("unchecked_cast") when (expr.sort) { @@ -24,106 +27,167 @@ private fun extractValue( } } -private fun createBinaryIntOp( - op: (ConcolicRunContext, UExpr, UExpr) -> UExpr? -): (ConcolicRunContext, UninterpretedSymbolicPythonObject, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> - if (ctx.curState == null) +private fun createBinaryIntOp( + op: (ConcolicRunContext, UExpr, UExpr) -> UExpr?, +): ( + ConcolicRunContext, + UninterpretedSymbolicPythonObject, + UninterpretedSymbolicPythonObject, +) -> UninterpretedSymbolicPythonObject? = { ctx, left, right -> + if (ctx.curState == null) { null - else with (ctx.ctx) { - val typeSystem = ctx.typeSystem - if (left.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) - } else { - myAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + } else { + with(ctx.ctx) { + val typeSystem = ctx.typeSystem + if (left.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + } + if (right.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + } + op( + ctx, + left.getToIntContent(ctx) ?: return@with null, + right.getToIntContent(ctx) ?: return@with null + )?.let { extractValue(ctx, it) } } - if (right.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, right.evalIs(ctx, typeSystem.pythonInt)) - } else { - myAssert(ctx, right.evalIs(ctx, typeSystem.pythonInt)) - } - op( - ctx, - left.getToIntContent(ctx) ?: return@with null, - right.getToIntContent(ctx) ?: return@with null - )?.let { extractValue(ctx, it) } } } -private fun createUnaryIntOp( - op: (ConcolicRunContext, UExpr) -> UExpr? +private fun createUnaryIntOp( + op: (ConcolicRunContext, UExpr) -> UExpr?, ): (ConcolicRunContext, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, on -> - if (ctx.curState == null) + if (ctx.curState == null) { null - else with (ctx.ctx) { - val typeSystem = ctx.typeSystem - if (on.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, on.evalIs(ctx, typeSystem.pythonInt)) - } else { - myAssert(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + } else { + with(ctx.ctx) { + val typeSystem = ctx.typeSystem + if (on.getTypeIfDefined(ctx) != typeSystem.pythonInt) { + myFork(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + } else { + myAssert(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + } + op( + ctx, + on.getToIntContent(ctx) ?: return@with null + )?.let { extractValue(ctx, it) } } - op( - ctx, - on.getToIntContent(ctx) ?: return@with null - )?.let { extractValue(ctx, it) } } } fun handlerGTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } } (x, y, z) -fun handlerLTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } } (x, y, z) -fun handlerEQLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } } (x, y, z) -fun handlerNELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } } (x, y, z) -fun handlerGELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } } (x, y, z) -fun handlerLELongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } } (x, y, z) -fun handlerADDLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) } (x, y, z) -fun handlerSUBLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) } (x, y, z) -fun handlerMULLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) } (x, y, z) -fun handlerDIVLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } }(x, y, z) +fun handlerLTLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } }(x, y, z) +fun handlerEQLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } }(x, y, z) +fun handlerNELongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } }(x, y, z) +fun handlerGELongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } }(x, y, z) +fun handlerLELongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } }(x, y, z) +fun handlerADDLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) }(x, y, z) +fun handlerSUBLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) }(x, y, z) +fun handlerMULLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) }(x, y, z) +fun handlerDIVLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> - with (ctx.ctx) { + with(ctx.ctx) { myFork(ctx, right eq mkIntNum(0)) - if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) + if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) { null - else + } else { mkArithDiv(left, right) + } } - } (x, y, z) + }(x, y, z) fun handlerNEGLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) } (x, y) + createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(x, y) fun handlerPOSLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createUnaryIntOp { _, on -> on } (x, y) -fun handlerREMLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) } (x, y, z) + createUnaryIntOp { _, on -> on }(x, y) +fun handlerREMLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) }(x, y, z) + @Suppress("unused_parameter") -fun handlerPOWLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = null // TODO - //createBinaryIntOp { ctx, left, right -> - // if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null - //} (x, y, z) -fun handlerTrueDivLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerPOWLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = null // TODO + +// createBinaryIntOp { ctx, left, right -> +// if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null +// } (x, y, z) +fun handlerTrueDivLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> - with (ctx.ctx) { + with(ctx.ctx) { myFork(ctx, right eq mkIntNum(0)) - if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) + if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) { null - else + } else { mkArithDiv(mkIntToReal(left), mkIntToReal(right)) + } } - } (x, y, z) + }(x, y, z) fun handlerIntCastKt( ctx: ConcolicRunContext, - arg: UninterpretedSymbolicPythonObject + arg: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val typeSystem = ctx.typeSystem val type = arg.getTypeIfDefined(ctx) ?: return null return when (type) { @@ -132,4 +196,4 @@ fun handlerIntCastKt( typeSystem.pythonFloat -> castFloatToInt(ctx, arg) else -> null } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index d8d1a26cb2..4f72dae4ca 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -3,7 +3,25 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getFieldValue -import org.usvm.machine.types.* +import org.usvm.machine.types.HasMpAssSubscript +import org.usvm.machine.types.HasMpLength +import org.usvm.machine.types.HasMpSubscript +import org.usvm.machine.types.HasNbAdd +import org.usvm.machine.types.HasNbIndex +import org.usvm.machine.types.HasNbInt +import org.usvm.machine.types.HasNbMatrixMultiply +import org.usvm.machine.types.HasNbMultiply +import org.usvm.machine.types.HasNbNegative +import org.usvm.machine.types.HasNbPositive +import org.usvm.machine.types.HasNbSubtract +import org.usvm.machine.types.HasSqLength +import org.usvm.machine.types.HasTpCall +import org.usvm.machine.types.HasTpGetattro +import org.usvm.machine.types.HasTpHash +import org.usvm.machine.types.HasTpIter +import org.usvm.machine.types.HasTpRichcmp +import org.usvm.machine.types.HasTpSetattro +import org.usvm.machine.types.MockType @Suppress("unused_parameter") fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { @@ -15,7 +33,9 @@ fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) on.addSupertypeSoft(context, HasNbInt) } -fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { +fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with( + context.ctx +) { context.curState ?: return myAssert(context, left.evalIsSoft(context, HasNbAdd) or right.evalIsSoft(context, HasNbAdd)) } @@ -25,7 +45,9 @@ fun nbSubtractKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonO myAssert(context, left.evalIsSoft(context, HasNbSubtract)) } -fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with(context.ctx) { +fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with( + context.ctx +) { context.curState ?: return myAssert(context, left.evalIsSoft(context, HasNbMultiply) or right.evalIsSoft(context, HasNbMultiply)) } @@ -55,7 +77,7 @@ fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObjec fun mpSubscriptKt( context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, - index: UninterpretedSymbolicPythonObject + index: UninterpretedSymbolicPythonObject, ) { context.curState ?: return on.addSupertypeSoft(context, HasMpSubscript) @@ -67,7 +89,7 @@ fun mpSubscriptKt( fun mpAssSubscriptKt( context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, - index: UninterpretedSymbolicPythonObject + index: UninterpretedSymbolicPythonObject, ) { context.curState ?: return on.addSupertypeSoft(context, HasMpAssSubscript) @@ -110,4 +132,4 @@ fun tpCallKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) fun tpHashKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpHash)) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt index da8c07d482..3ef85498d6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt @@ -2,7 +2,10 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt +import org.usvm.machine.symbolicobjects.constructRange +import org.usvm.machine.symbolicobjects.constructRangeIterator import org.usvm.machine.symbolicobjects.memory.getIntContent import org.usvm.machine.symbolicobjects.memory.getRangeIteratorNext import org.usvm.machine.symbolicobjects.memory.getRangeIteratorState @@ -11,29 +14,32 @@ fun handlerCreateRangeKt( ctx: ConcolicRunContext, start: UninterpretedSymbolicPythonObject, stop: UninterpretedSymbolicPythonObject, - step: UninterpretedSymbolicPythonObject + step: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } myFork(ctx, ctx.ctx.mkEq(step.getIntContent(ctx), ctx.ctx.mkIntNum(0))) return constructRange(ctx, start.getIntContent(ctx), stop.getIntContent(ctx), step.getIntContent(ctx)) } fun handlerRangeIterKt( ctx: ConcolicRunContext, - range: UninterpretedSymbolicPythonObject + range: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } return constructRangeIterator(ctx, range) } fun handlerRangeIteratorNextKt( ctx: ConcolicRunContext, - rangeIterator: UninterpretedSymbolicPythonObject + rangeIterator: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = with(ctx.ctx) { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val (index, length) = rangeIterator.getRangeIteratorState(ctx) myFork(ctx, index lt length) if (ctx.modelHolder.model.eval(index lt length).isTrue) { @@ -41,4 +47,4 @@ fun handlerRangeIteratorNextKt( return constructInt(ctx, value) } return null -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index 32f61fa16c..dd132a1876 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -2,15 +2,19 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.memory.addIntToSet +import org.usvm.machine.symbolicobjects.memory.addRefToSet +import org.usvm.machine.symbolicobjects.memory.getToIntContent +import org.usvm.machine.symbolicobjects.memory.setContainsInt +import org.usvm.machine.symbolicobjects.memory.setContainsRef import java.util.stream.Stream import kotlin.streams.asSequence fun handlerSetContainsKt( ctx: ConcolicRunContext, set: UninterpretedSymbolicPythonObject, - elem: UninterpretedSymbolicPythonObject + elem: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return set.addSupertype(ctx, ctx.typeSystem.pythonSet) @@ -18,7 +22,7 @@ fun handlerSetContainsKt( val elemType = elem.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (elemType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = elem.getToIntContent(ctx) ?: return set.setContainsInt(ctx, intValue) @@ -36,12 +40,12 @@ fun handlerSetContainsKt( private fun addItem( ctx: ConcolicRunContext, set: UninterpretedSymbolicPythonObject, - elem: UninterpretedSymbolicPythonObject + elem: UninterpretedSymbolicPythonObject, ) { val elemType = elem.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem when (elemType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = elem.getToIntContent(ctx) ?: return set.addIntToSet(ctx, intValue) @@ -58,7 +62,7 @@ private fun addItem( fun handlerSetAddKt( ctx: ConcolicRunContext, set: UninterpretedSymbolicPythonObject, - elem: UninterpretedSymbolicPythonObject + elem: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return set.addSupertype(ctx, ctx.typeSystem.pythonSet) @@ -75,7 +79,7 @@ fun handlerCreateEmptySetKt(ctx: ConcolicRunContext): UninterpretedSymbolicPytho fun handlerCreateSetKt( ctx: ConcolicRunContext, - elemsStream: Stream + elemsStream: Stream, ): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val elems = elemsStream.asSequence().toList() @@ -85,4 +89,4 @@ fun handlerCreateSetKt( addItem(ctx, result, elem) } return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt index 3255223248..740e6db896 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt @@ -8,15 +8,16 @@ import org.usvm.machine.symbolicobjects.memory.getIntContent private fun getFieldContent( ctx: ConcolicRunContext, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ): SliceUninterpretedField { val typeSystem = ctx.typeSystem val isNone = value.evalIs(ctx, typeSystem.pythonNoneType) val content = - if (value.getTypeIfDefined(ctx) == typeSystem.pythonInt) + if (value.getTypeIfDefined(ctx) == typeSystem.pythonInt) { value.getIntContent(ctx) - else + } else { ctx.ctx.mkIntNum(0) + } myFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) myAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) return SliceUninterpretedField(isNone, content) @@ -26,12 +27,13 @@ fun handlerCreateSliceKt( ctx: ConcolicRunContext, start: UninterpretedSymbolicPythonObject, stop: UninterpretedSymbolicPythonObject, - step: UninterpretedSymbolicPythonObject + step: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } val startContent = getFieldContent(ctx, start) val stopContent = getFieldContent(ctx, stop) val stepContent = getFieldContent(ctx, step) return constructSlice(ctx, startContent, stopContent, stepContent) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index 6be02f5bee..7e11fa7e5f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -1,8 +1,10 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.* import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.* +import org.usvm.isFalse +import org.usvm.isTrue +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructTupleIterator import org.usvm.machine.symbolicobjects.memory.getTupleIteratorContent import org.usvm.machine.symbolicobjects.memory.increaseTupleIteratorCounter import org.usvm.machine.symbolicobjects.memory.readArrayElement @@ -14,8 +16,9 @@ fun handlerCreateTupleKt(ctx: ConcolicRunContext, elements: Stream @@ -27,7 +36,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) trueObject as UConcreteHeapRef, useOldPossibleRefs = true ), @@ -35,7 +44,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) falseObject as UConcreteHeapRef, useOldPossibleRefs = true ) @@ -61,7 +70,7 @@ fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = w private fun internalVirtualCallKt( ctx: ConcolicRunContext, - customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() } + customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() }, ): Pair = with(ctx.ctx) { ctx.curOperation ?: throw UnregisteredVirtualOperation ctx.curState ?: throw UnregisteredVirtualOperation @@ -78,16 +87,17 @@ private fun internalVirtualCallKt( if (ctx.curOperation.method.isMethodWithNonVirtualReturn && isNew) { val customNewModels = customNewModelsCreation(mockSymbol) val (newModel, constraint) = - if (customNewModels.isEmpty()) + if (customNewModels.isEmpty()) { constructModelWithNewMockEvaluator( ctx.ctx, ctx.modelHolder.model, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) useOldPossibleRefs = true ) - else + } else { customNewModels.first() + } customNewModels.drop(1).forEach { (nextNewModel, constraint) -> val newState = ctx.curState!!.clone() @@ -120,6 +130,6 @@ fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObj return result } -object UnregisteredVirtualOperation: Exception() { +object UnregisteredVirtualOperation : Exception() { private fun readResolve(): Any = UnregisteredVirtualOperation -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt index c9f8a87298..8c83304c7f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt @@ -7,9 +7,9 @@ import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -class ApproximationDescriptor(private val id: ApproximationId): MemberDescriptor() { +class ApproximationDescriptor(private val id: ApproximationId) : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { System.out.flush() return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt index bf76282745..e121a9c4c4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt @@ -7,8 +7,11 @@ import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -class MethodDescriptor(private val id: SymbolicMethodId): MemberDescriptor() { +class MethodDescriptor(private val id: SymbolicMethodId) : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod(owner?.let { SymbolForCPython(it, 0) }, id) + return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod( + owner?.let { SymbolForCPython(it, 0) }, + id + ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt index 9972548c20..1fbe17411b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt @@ -6,9 +6,9 @@ import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -object PythonMethodDescriptor: MemberDescriptor() { +object PythonMethodDescriptor : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { require(owner != null) { "Python method must always have an owner" } return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt index d7d7551b52..225d99f690 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt @@ -3,7 +3,8 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField import org.usvm.machine.symbolicobjects.memory.getSliceStart import org.usvm.machine.symbolicobjects.memory.getSliceStep @@ -22,29 +23,32 @@ private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunCont ) } -object SliceStartDescriptor: MemberDescriptor() { +object SliceStartDescriptor : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } owner ?: return null return constructResult(owner.getSliceStart(ctx), ctx) } } -object SliceStopDescriptor: MemberDescriptor() { +object SliceStopDescriptor : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } owner ?: return null return constructResult(owner.getSliceStop(ctx), ctx) } } -object SliceStepDescriptor: MemberDescriptor() { +object SliceStepDescriptor : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { - if (ctx.curState == null) + if (ctx.curState == null) { return null + } owner ?: return null return constructResult(owner.getSliceStep(ctx), ctx) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt index 8a161a92c9..c3bafec4d6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt @@ -7,10 +7,11 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.interpreters.symbolic.operations.basic.myFork import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -object EvalConstraint: NativeCallConstraint(NativeId.Eval) { +object EvalConstraint : NativeCallConstraint(NativeId.Eval) { override fun apply(ctx: ConcolicRunContext, args: List) { - if (args.size > 3 || args.isEmpty()) + if (args.size > 3 || args.isEmpty()) { return + } val cmd = args[0] cmd.addSupertype(ctx, ctx.typeSystem.pythonStr) args.drop(1).forEach { @@ -23,4 +24,4 @@ object EvalConstraint: NativeCallConstraint(NativeId.Eval) { } } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt index b5d8aebce8..0c337743e3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt @@ -8,7 +8,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun addConstraintsFromNativeId( ctx: ConcolicRunContext, function: PyObject, - args: List + args: List, ) { constraintHolder.forEach { if (function.address == it.id.cRef) { @@ -24,4 +24,4 @@ abstract class NativeCallConstraint(val id: NativeId) { val constraintHolder = listOf( OsSystemConstraint, EvalConstraint -) \ No newline at end of file +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt index ce24b30e00..2bbc3a292c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt @@ -4,11 +4,12 @@ import org.usvm.annotations.ids.NativeId import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -object OsSystemConstraint: NativeCallConstraint(NativeId.OsSystem) { +object OsSystemConstraint : NativeCallConstraint(NativeId.OsSystem) { override fun apply(ctx: ConcolicRunContext, args: List) { - if (args.size != 1) + if (args.size != 1) { return + } val arg = args[0] arg.addSupertype(ctx, ctx.typeSystem.pythonStr) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt index 56deefd330..37007b9b82 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt @@ -7,23 +7,26 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.handlerFloatCastK import org.usvm.machine.interpreters.symbolic.operations.basic.handlerIntCastKt fun symbolicMethodIntKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { - if (args.size != 1) + if (args.size != 1) { return null + } val value = args[0].obj ?: return null return handlerIntCastKt(ctx, value)?.let { SymbolForCPython(it, 0) } } fun symbolicMethodFloatKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { - if (args.size != 1) + if (args.size != 1) { return null + } val value = args[0].obj ?: return null return handlerFloatCastKt(ctx, value)?.let { SymbolForCPython(it, 0) } } fun symbolicMethodEnumerateKt(ctx: ConcolicRunContext, args: Array): SymbolForCPython? { - if (args.size != 1) + if (args.size != 1) { return null + } val iterable = args[0].obj ?: return null val result = handlerCreateEnumerateKt(ctx, iterable) ?: return null return SymbolForCPython(result, 0) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt index a4f3bf8ada..400eb9b83c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt @@ -2,45 +2,56 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.SymbolForCPython -import org.usvm.machine.interpreters.symbolic.operations.basic.* +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListAppendKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListClearKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListExtendKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListInsertKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListPopIndKt +import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListPopKt fun symbolicMethodListAppendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { - if (self?.obj == null || args.size != 1 || args.first().obj == null) + if (self?.obj == null || args.size != 1 || args.first().obj == null) { return null + } val result = handlerListAppendKt(ctx, self.obj!!, args.first().obj!!) return SymbolForCPython(result, 0) } fun symbolicMethodListPopKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { - if (self?.obj == null || args.size > 1) + if (self?.obj == null || args.size > 1) { return null + } val result = if (args.isEmpty()) { handlerListPopKt(ctx, self.obj!!) } else { - if (args.first().obj == null) + if (args.first().obj == null) { return null + } handlerListPopIndKt(ctx, self.obj!!, args.first().obj!!) } return SymbolForCPython(result, 0) } fun symbolicMethodListInsertKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { - if (self?.obj == null || args.size != 2 || args[0].obj == null || args[1].obj == null) + if (self?.obj == null || args.size != 2 || args[0].obj == null || args[1].obj == null) { return null + } handlerListInsertKt(ctx, self.obj!!, args[0].obj!!, args[1].obj!!) return generateNone(ctx) } fun symbolicMethodListExtendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { - if (self?.obj == null || args.size != 1 || args.first().obj == null) + if (self?.obj == null || args.size != 1 || args.first().obj == null) { return null + } val result = handlerListExtendKt(ctx, self.obj!!, args.first().obj!!) return SymbolForCPython(result, 0) } fun symbolicMethodListClearKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { - if (self?.obj == null || args.isNotEmpty()) + if (self?.obj == null || args.isNotEmpty()) { return null + } handlerListClearKt(ctx, self.obj!!) return generateNone(ctx) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt index 155531089d..8663682120 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt @@ -10,11 +10,12 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.handlerSetAddKt fun symbolicMethodSetAddKt( ctx: ConcolicRunContext, self: SymbolForCPython?, - args: Array + args: Array, ): SymbolForCPython? { - if (self?.obj == null || ctx.curState == null || args.size != 1 || args[0].obj == null) + if (self?.obj == null || ctx.curState == null || args.size != 1 || args[0].obj == null) { return null + } handlerSetAddKt(ctx, self.obj!!, args[0].obj!!) val none = PyObject(ConcretePythonInterpreter.pyNoneRef) return SymbolForCPython(handlerLoadConstKt(ctx, none), 0) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt index 3ec9593e56..610fa5ea53 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt @@ -7,4 +7,4 @@ import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = - SymbolForCPython(handlerLoadConstKt(ctx, PyObject(ConcretePythonInterpreter.pyNoneRef)), 0) \ No newline at end of file + SymbolForCPython(handlerLoadConstKt(ctx, PyObject(ConcretePythonInterpreter.pyNoneRef)), 0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 85d7be6b79..694d8edfce 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -8,22 +8,25 @@ import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger -object PathDiversionException: Exception() { +object PathDiversionException : Exception() { private fun readResolve(): Any = PathDiversionException } fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, - resultSupplier: Callable + resultSupplier: Callable, ): T? { - if (context.isCancelled.call()) + if (context.isCancelled.call()) { throw CancelledExecutionException + } context.instructionCounter += 1 - if (context.instructionCounter > context.maxInstructions) + if (context.instructionCounter > context.maxInstructions) { throw InstructionLimitExceededException - if (context.curState == null) + } + if (context.curState == null) { return null + } if (newEventParameters is NextInstruction) { context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) val state = context.curState!! @@ -31,8 +34,9 @@ fun withTracing( } if (context.pathPrefix.isEmpty()) { val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() - if (context.curState == null) + if (context.curState == null) { return null + } val eventRecord = SymbolicHandlerEvent(newEventParameters, result) context.curState!!.concolicQueries = context.curState!!.concolicQueries.add(eventRecord) if (newEventParameters is NextInstruction) { @@ -57,8 +61,9 @@ fun withTracing( fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, result: Boolean) { - if (context.curState == null) + if (context.curState == null) { return + } val obj = cond.obj ?: return val expectedResult = obj.getToBoolValue(context)?.let { @@ -74,10 +79,10 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res } } -object InstructionLimitExceededException: Exception() { +object InstructionLimitExceededException : Exception() { private fun readResolve(): Any = InstructionLimitExceededException } -object CancelledExecutionException: Exception() { +object CancelledExecutionException : Exception() { private fun readResolve(): Any = CancelledExecutionException -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt index 68f9a7181f..46cafc43cb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt @@ -1,36 +1,48 @@ package org.usvm.machine.interpreters.symbolic.operations.tracing -import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.language.PyInstruction import org.usvm.language.SymbolForCPython +import org.usvm.machine.interpreters.concrete.PyObject sealed class SymbolicHandlerEventParameters -data class LoadConstParameters(val constToLoad: Any): SymbolicHandlerEventParameters() +data class LoadConstParameters(val constToLoad: Any) : SymbolicHandlerEventParameters() data class NextInstruction( - val pyInstruction: PyInstruction -): SymbolicHandlerEventParameters() -data class PythonFunctionCall(val code: PyObject): SymbolicHandlerEventParameters() -data class PythonReturn(val code: PyObject): SymbolicHandlerEventParameters() -data class Fork(val condition: SymbolForCPython): SymbolicHandlerEventParameters() -data class ForkResult(val condition: SymbolForCPython, val expectedResult: Boolean): SymbolicHandlerEventParameters() -data class Unpack(val iterable: SymbolForCPython, val count: Int): SymbolicHandlerEventParameters() -data class ListCreation(val elements: List): SymbolicHandlerEventParameters() -data class DictCreation(val keys: List, val elements: List): SymbolicHandlerEventParameters() -data class DictCreationConstKey(val keys: SymbolForCPython, val elements: List): SymbolicHandlerEventParameters() -data class TupleCreation(val elements: List): SymbolicHandlerEventParameters() -data class SetCreation(val elements: List): SymbolicHandlerEventParameters() -data class IsinstanceCheck(val on: SymbolForCPython, val type: PyObject): SymbolicHandlerEventParameters() -data class EmptyObjectCreation(val type: PyObject): SymbolicHandlerEventParameters() + val pyInstruction: PyInstruction, +) : SymbolicHandlerEventParameters() +data class PythonFunctionCall(val code: PyObject) : SymbolicHandlerEventParameters() +data class PythonReturn(val code: PyObject) : SymbolicHandlerEventParameters() +data class Fork(val condition: SymbolForCPython) : SymbolicHandlerEventParameters() +data class ForkResult( + val condition: SymbolForCPython, + val expectedResult: Boolean, +) : SymbolicHandlerEventParameters() +data class Unpack(val iterable: SymbolForCPython, val count: Int) : SymbolicHandlerEventParameters() +data class ListCreation(val elements: List) : SymbolicHandlerEventParameters() +data class DictCreation( + val keys: List, + val elements: List, +) : SymbolicHandlerEventParameters() +data class DictCreationConstKey( + val keys: SymbolForCPython, + val elements: List, +) : SymbolicHandlerEventParameters() +data class TupleCreation(val elements: List) : SymbolicHandlerEventParameters() +data class SetCreation(val elements: List) : SymbolicHandlerEventParameters() +data class IsinstanceCheck( + val on: SymbolForCPython, + val type: PyObject, +) : SymbolicHandlerEventParameters() +data class EmptyObjectCreation(val type: PyObject) : SymbolicHandlerEventParameters() data class MethodParameters( val name: String, - val operands: List -): SymbolicHandlerEventParameters() + val operands: List, +) : SymbolicHandlerEventParameters() data class SymbolicMethodParameters( val name: String, val self: SymbolForCPython?, - val args: Array -): SymbolicHandlerEventParameters() { + val args: Array, +) : SymbolicHandlerEventParameters() { override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false @@ -54,10 +66,10 @@ data class SymbolicMethodParameters( data class MethodParametersNoReturn( val name: String, - val operands: List -): SymbolicHandlerEventParameters() + val operands: List, +) : SymbolicHandlerEventParameters() class SymbolicHandlerEvent( val parameters: SymbolicHandlerEventParameters, - val result: T? -) \ No newline at end of file + val result: T?, +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt index d75817eae8..6f3afb76a7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt @@ -2,25 +2,29 @@ package org.usvm.machine.model import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort -import org.usvm.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.UHeapRef +import org.usvm.USort import org.usvm.collection.set.primitive.UInputSetReading import org.usvm.collection.set.ref.UInputRefSetWithInputElementsReading import org.usvm.constraints.UPathConstraints -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext +import org.usvm.machine.types.PythonType import org.usvm.model.UModelBase import org.usvm.regions.Region import org.usvm.solver.UExprTranslator data class PathConstraintsInfo( val setRefKeys: Set, - val setIntKeys: Set> + val setIntKeys: Set>, ) fun getPathConstraintsInfo( ctx: PyContext, ps: UPathConstraints, - underlyingModel: UModelBase + underlyingModel: UModelBase, ): PathConstraintsInfo { val visitor = ConstraintsVisitor(ctx) ps.constraints(visitor).toList() @@ -39,7 +43,7 @@ fun getPathConstraintsInfo( @Suppress("unchecked_cast") -private class ConstraintsVisitor(ctx: PyContext): UExprTranslator(ctx) { +private class ConstraintsVisitor(ctx: PyContext) : UExprTranslator(ctx) { val refKeys: MutableSet = mutableSetOf() val intKeys: MutableSet> = mutableSetOf() @@ -49,8 +53,9 @@ private class ConstraintsVisitor(ctx: PyContext): UExprTranslator> transform(expr: UInputSetReading): UBoolExpr { - if (expr.element.sort == ctx.intSort) + if (expr.element.sort == ctx.intSort) { intKeys.add(expr.element as UExpr) + } return super.transform(expr) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 57c634dac2..312920f3ce 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -2,7 +2,10 @@ package org.usvm.machine.model import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort -import org.usvm.* +import org.usvm.UAddressSort +import org.usvm.UBoolSort +import org.usvm.UConcreteHeapRef +import org.usvm.USort import org.usvm.collection.array.UArrayIndexLValue import org.usvm.collection.array.UArrayRegionId import org.usvm.collection.array.length.UArrayLengthLValue @@ -15,18 +18,29 @@ import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.collection.set.ref.URefSetRegionId import org.usvm.constraints.UPathConstraints import org.usvm.machine.PyContext -import org.usvm.machine.model.regions.* -import org.usvm.machine.types.* +import org.usvm.machine.model.regions.WrappedArrayIndexRegion +import org.usvm.machine.model.regions.WrappedArrayLengthRegion +import org.usvm.machine.model.regions.WrappedRefMapRegion +import org.usvm.machine.model.regions.WrappedRefSetRegion +import org.usvm.machine.model.regions.WrappedSetRegion +import org.usvm.machine.types.ArrayType +import org.usvm.machine.types.IntDictType +import org.usvm.machine.types.IntSetType +import org.usvm.machine.types.ObjectDictType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.RefDictType +import org.usvm.machine.types.RefSetType import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.memory.key.USizeRegion import org.usvm.model.UModelBase +import org.usvm.uctx class PyModel( private val ctx: PyContext, private val underlyingModel: UModelBase, ps: UPathConstraints, - suggestedPsInfo: PathConstraintsInfo? = null + suggestedPsInfo: PathConstraintsInfo? = null, ) : UModelBase( ctx, underlyingModel.stack, @@ -50,24 +64,32 @@ class PyModel( regionId.sort == regionId.sort.uctx.addressSort && regionId.arrayType == ArrayType ) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, UAddressSort> return WrappedArrayIndexRegion(region, this, ctx, nullRef) as UReadOnlyMemoryRegion } if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && regionId.arrayType == ArrayType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, KIntSort> + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, KIntSort> return WrappedArrayLengthRegion(ctx, region) as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, UBoolSort> return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) - as UReadOnlyMemoryRegion + as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion } if (regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion } if (regionId is URefSetRegionId<*> && regionId.setType == RefSetType) { @@ -75,23 +97,33 @@ class PyModel( return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion } if (regionId is USetRegionId<*, *, *> && regionId.setType == IntSetType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, UBoolSort> return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion } if (regionId is URefMapRegionId<*, *> && regionId.mapType == ObjectDictType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UAddressSort> - return WrappedRefMapRegion(ctx, region, psInfo.setRefKeys, underlyingModel) as UReadOnlyMemoryRegion + val region = super.getRegion( + regionId + ) as UReadOnlyMemoryRegion, UAddressSort> + return WrappedRefMapRegion( + ctx, + region, + psInfo.setRefKeys, + underlyingModel + ) as UReadOnlyMemoryRegion } return super.getRegion(regionId) } override fun equals(other: Any?): Boolean { - if (other !is PyModel) + if (other !is PyModel) { return false + } return underlyingModel == other.underlyingModel } override fun hashCode(): Int { return underlyingModel.hashCode() } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 5d24ef7735..3f5112f9c5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -1,17 +1,23 @@ package org.usvm.machine.model -import org.usvm.* +import org.usvm.UAddressSort +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.UMockEvaluator +import org.usvm.UMockSymbol +import org.usvm.USort import org.usvm.constraints.UPathConstraints -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext +import org.usvm.machine.types.PythonType import org.usvm.model.UModelBase class PythonMockEvaluator( ctx: PyContext, private val baseMockEvaluator: UMockEvaluator, val mockSymbol: UMockSymbol, - suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null -): UMockEvaluator { + suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, +) : UMockEvaluator { val evaluatedMockSymbol = suggestedEvaluatedMockSymbol ?: ctx.provideRawConcreteHeapRef() override fun eval(symbol: UMockSymbol): UExpr { val evaluatedValue = baseMockEvaluator.eval(symbol) @@ -31,7 +37,7 @@ fun constructModelWithNewMockEvaluator( mockSymbol: UMockSymbol, ps: UPathConstraints, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, - useOldPossibleRefs: Boolean = false + useOldPossibleRefs: Boolean = false, ): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) val suggestedPsInfo = if (useOldPossibleRefs) { @@ -49,4 +55,4 @@ fun constructModelWithNewMockEvaluator( ).toPyModel(ctx, ps, suggestedPsInfo) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return newModel to constraint -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index 9023087721..dd5554b3c7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -5,22 +5,23 @@ import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.PyContext +import org.usvm.machine.PyState import org.usvm.machine.types.ArrayLikeConcretePythonType import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.MockType import org.usvm.machine.types.PythonType -import org.usvm.machine.PyContext -import org.usvm.machine.PyState import org.usvm.model.UModelBase import org.usvm.types.TypesResult fun UModelBase.toPyModel( ctx: PyContext, ps: UPathConstraints, - suggestedPsInfo: PathConstraintsInfo? = null + suggestedPsInfo: PathConstraintsInfo? = null, ): PyModel { - if (this is PyModel) + if (this is PyModel) { return this + } return PyModel(ctx, this, ps, suggestedPsInfo) } @@ -35,15 +36,17 @@ fun substituteModel(state: PyState, newModel: PyModel, constraint: UBoolExpr, ct fun PyModel.getConcreteType(address: UConcreteHeapRef): ConcretePythonType? { val typeStream = types.getTypeStream(address) val prefix = typeStream.take(2) - if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) + if (prefix !is TypesResult.SuccessfulTypesResult || prefix.size > 1) { return null + } return prefix.first() as? ConcretePythonType } fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { val typeStream = types.getTypeStream(address).take(1) - if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) + if (typeStream !is TypesResult.SuccessfulTypesResult || typeStream.types.isEmpty()) { return null + } val first = typeStream.take(1).first() val concrete = getConcreteType(address) if (concrete == null) { @@ -51,11 +54,13 @@ fun PyModel.getFirstType(address: UConcreteHeapRef): PythonType? { logger.info("Here! (ArrayLikeConcretePythonType)") } if (first !is MockType) { - logger.error("TypeStream starting with $first instead of mock") // TODO: supports mocks with different sets of methods + logger.error( + "TypeStream starting with $first instead of mock" + ) // TODO: supports mocks with different sets of methods return null } } return first } -private val logger = object : KLogging() {}.logger \ No newline at end of file +private val logger = object : KLogging() {}.logger diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt index 2ce809e672..d1ef3676d8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayIndexRegion.kt @@ -6,23 +6,25 @@ import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.USort import org.usvm.collection.array.UArrayIndexLValue -import org.usvm.machine.types.ArrayLikeConcretePythonType import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.model.getConcreteType +import org.usvm.machine.types.ArrayLikeConcretePythonType import org.usvm.memory.UReadOnlyMemoryRegion -class WrappedArrayIndexRegion( +class WrappedArrayIndexRegion( private val region: UReadOnlyMemoryRegion, UAddressSort>, private val model: PyModel, private val ctx: PyContext, - private val nullRef: UConcreteHeapRef + private val nullRef: UConcreteHeapRef, ) : UReadOnlyMemoryRegion, UAddressSort> { override fun read(key: UArrayIndexLValue): UExpr { val underlyingResult = region.read(key) val array = key.ref as UConcreteHeapRef - if (array.address > 0) // allocated object + if (array.address > 0) { + // allocated object return underlyingResult + } val arrayType = model.getConcreteType(array) require(arrayType != null && arrayType is ArrayLikeConcretePythonType) val constraints = arrayType.elementConstraints @@ -31,4 +33,4 @@ class WrappedArrayIndexRegion( } return nullRef } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt index 94050ae63f..11fdd51c16 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedArrayLengthRegion.kt @@ -4,14 +4,14 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.collection.array.length.UArrayLengthLValue import org.usvm.isTrue -import org.usvm.machine.types.ArrayType import org.usvm.machine.PyContext +import org.usvm.machine.types.ArrayType import org.usvm.memory.UReadOnlyMemoryRegion class WrappedArrayLengthRegion( private val ctx: PyContext, - private val region: UReadOnlyMemoryRegion, KIntSort> -): UReadOnlyMemoryRegion, KIntSort> { + private val region: UReadOnlyMemoryRegion, KIntSort>, +) : UReadOnlyMemoryRegion, KIntSort> { override fun read(key: UArrayLengthLValue): UExpr { val underlyingResult = region.read(key) if (ctx.mkArithLt(underlyingResult, ctx.mkIntNum(0)).isTrue) { @@ -19,4 +19,4 @@ class WrappedArrayLengthRegion( } return underlyingResult } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt index fcd30eeb9a..fb4ed5b2ef 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefMapRegion.kt @@ -4,8 +4,8 @@ import org.usvm.UAddressSort import org.usvm.UConcreteHeapRef import org.usvm.UExpr import org.usvm.collection.map.ref.URefMapEntryLValue -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext +import org.usvm.machine.types.PythonType import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.model.UModelBase @@ -13,11 +13,12 @@ class WrappedRefMapRegion( private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UAddressSort>, private val keys: Set, - private val underlyingModel: UModelBase -): UReadOnlyMemoryRegion, UAddressSort> { + private val underlyingModel: UModelBase, +) : UReadOnlyMemoryRegion, UAddressSort> { override fun read(key: URefMapEntryLValue): UExpr { - if (key.mapKey !in keys) + if (key.mapKey !in keys) { return underlyingModel.eval(ctx.nullRef) + } return region.read(key) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt index a9cc53946c..7b5dbb7244 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedRefSetRegion.kt @@ -1,7 +1,10 @@ package org.usvm.machine.model.regions -import org.usvm.* +import org.usvm.UBoolSort +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr import org.usvm.collection.set.ref.URefSetEntryLValue +import org.usvm.isAllocatedConcreteHeapRef import org.usvm.machine.PyContext import org.usvm.memory.UReadOnlyMemoryRegion @@ -9,11 +12,11 @@ class WrappedRefSetRegion( private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, private val keys: Set, -): UReadOnlyMemoryRegion, UBoolSort> { +) : UReadOnlyMemoryRegion, UBoolSort> { override fun read(key: URefSetEntryLValue): UExpr { if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) { return ctx.falseExpr } return region.read(key) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt index 0e2a797175..aaa34c92df 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/regions/WrappedSetRegion.kt @@ -13,11 +13,12 @@ import org.usvm.memory.key.USizeRegion class WrappedSetRegion( private val ctx: PyContext, private val region: UReadOnlyMemoryRegion, UBoolSort>, - private val keys: Set> -): UReadOnlyMemoryRegion, UBoolSort> { + private val keys: Set>, +) : UReadOnlyMemoryRegion, UBoolSort> { override fun read(key: USetEntryLValue): UExpr { - if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) + if (!isAllocatedConcreteHeapRef(key.setRef) && key.setElement !in keys) { return ctx.falseExpr + } return region.read(key) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 5a0bf98b99..9b69c4d9ef 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -5,7 +5,14 @@ import org.usvm.language.PyInstruction import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.ps.strategies.impls.* +import org.usvm.machine.ps.strategies.impls.BaselineDFGraphCreation +import org.usvm.machine.ps.strategies.impls.BaselineDelayedForkStrategy +import org.usvm.machine.ps.strategies.impls.DelayedForkByInstructionGraphCreation +import org.usvm.machine.ps.strategies.impls.TypeRatingByNumberOfHints +import org.usvm.machine.ps.strategies.impls.makeBaselinePriorityActionStrategy +import org.usvm.machine.ps.strategies.impls.makeBaselineWeightedActionStrategy +import org.usvm.machine.ps.strategies.impls.makeDelayedForkByInstructionPriorityStrategy +import org.usvm.machine.ps.strategies.impls.makeDelayedForkByInstructionWeightedStrategy import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder @@ -24,7 +31,7 @@ fun createPyPathSelector( type: PyPathSelectorType, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> { val initialNode = initialState.pathNode val selector = when (type) { @@ -44,7 +51,12 @@ fun createPyPathSelector( createBaselinePriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.BaselinePriorityNumberOfInstructionsRandomTree -> - createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector( + initialNode, + ctx, + random, + newStateObserver + ) PyPathSelectorType.BaselinePriorityPlusTypeRatingByHintsDfs -> createTypeRatingByHintsDfsPyPathSelector(ctx, random, newStateObserver) @@ -59,17 +71,31 @@ fun createPyPathSelector( createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfVirtualRandomTree -> - createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelector( + initialNode, + ctx, + random, + newStateObserver + ) PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsDfs -> createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector(ctx, random, newStateObserver) PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree -> - createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) + createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSelector( + initialNode, + ctx, + random, + newStateObserver + ) PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree -> - createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector(initialNode, ctx, random, newStateObserver) - + createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector( + initialNode, + ctx, + random, + newStateObserver + ) } selector.add(listOf(initialState)) return selector @@ -78,7 +104,7 @@ fun createPyPathSelector( fun createBaselinePriorityDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -91,7 +117,7 @@ fun createBaselinePriorityDfsPyPathSelector( fun createBaselineWeightedDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -104,14 +130,19 @@ fun createBaselineWeightedDfsPyPathSelector( fun createBaselinePriorityNumberOfVirtualDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, makeBaselinePriorityActionStrategy(random), BaselineDelayedForkStrategy(), BaselineDFGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = true, + ::calculateNumberOfVirtual, + ::mockWeight + ) { DfsPathSelector() } }, @@ -122,7 +153,7 @@ fun createBaselineWeightedNumberOfVirtualRandomTreePyPathSelector( initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -147,7 +178,7 @@ fun createBaselineWeightedNumberOfVirtualRandomTreePyPathSelector( fun createBaselinePriorityNumberOfInstructionsDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -170,7 +201,7 @@ fun createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector( initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -195,7 +226,7 @@ fun createBaselinePriorityNumberOfInstructionsRandomTreePyPathSelector( fun createDelayedForkByInstructionWeightedDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -209,7 +240,7 @@ fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -227,14 +258,19 @@ fun createDelayedForkByInstructionWeightedRandomTreePyPathSelector( fun createDelayedForkByInstructionPriorityNumberOfVirtualDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = true, ::calculateNumberOfVirtual, ::mockWeight) { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = true, + ::calculateNumberOfVirtual, + ::mockWeight + ) { DfsPathSelector() } }, @@ -246,7 +282,7 @@ fun createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelecto initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -271,14 +307,19 @@ fun createDelayedForkByInstructionWeightedNumberOfVirtualRandomTreePyPathSelecto fun createDelayedForkByInstructionPriorityNumberOfInstructionsDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, makeDelayedForkByInstructionPriorityStrategy(random), BaselineDelayedForkStrategy(), DelayedForkByInstructionGraphCreation { - WeightedPyPathSelector(random, proportionalToSelectorSize = false, ::calculateNumberOfInstructions, ::instructionWeight) { + WeightedPyPathSelector( + random, + proportionalToSelectorSize = false, + ::calculateNumberOfInstructions, + ::instructionWeight + ) { DfsPathSelector() } }, @@ -289,7 +330,7 @@ fun createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSe initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -315,7 +356,7 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSe initialNode: PathNode, ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -340,7 +381,7 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSe fun createTypeRatingByHintsDfsPyPathSelector( ctx: PyContext, random: Random, - newStateObserver: NewStateObserver + newStateObserver: NewStateObserver, ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, @@ -352,20 +393,20 @@ fun createTypeRatingByHintsDfsPyPathSelector( private fun calculateNumberOfVirtual(state: PyState): Int = - runCatching { - val modelHolder = PyModelHolder(state.pyModel) - val builder = PyObjectModelBuilder(state, modelHolder) - val models = state.inputSymbols.map { symbol -> - val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) - builder.convert(interpreted) - } - val tupleOfModels = PyTupleObject(models) - calculateNumberOfMocks(tupleOfModels) - }.getOrDefault(5) + runCatching { + val modelHolder = PyModelHolder(state.pyModel) + val builder = PyObjectModelBuilder(state, modelHolder) + val models = state.inputSymbols.map { symbol -> + val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) + builder.convert(interpreted) + } + val tupleOfModels = PyTupleObject(models) + calculateNumberOfMocks(tupleOfModels) + }.getOrDefault(5) private fun mockWeight(mocks: Int) = 1.0 / max(1, mocks + 1) private fun calculateNumberOfInstructions(state: PyState) = state.uniqueInstructions.size -private fun instructionWeight(instructions: Int) = log(instructions + 8.0, 2.0) \ No newline at end of file +private fun instructionWeight(instructions: Int) = log(instructions + 8.0, 2.0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 54c6165d88..a87831b73f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -4,24 +4,33 @@ import mu.KLogging import org.usvm.UPathSelector import org.usvm.WithSolverStateForker.fork import org.usvm.api.typeStreamOf -import org.usvm.machine.types.MockType -import org.usvm.machine.types.PythonType import org.usvm.machine.DelayedFork import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.model.toPyModel -import org.usvm.machine.ps.strategies.* +import org.usvm.machine.ps.strategies.DelayedForkGraph +import org.usvm.machine.ps.strategies.DelayedForkGraphCreation +import org.usvm.machine.ps.strategies.DelayedForkGraphInnerVertex +import org.usvm.machine.ps.strategies.DelayedForkGraphRootVertex +import org.usvm.machine.ps.strategies.DelayedForkGraphVertex +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.DelayedForkStrategy +import org.usvm.machine.ps.strategies.MakeDelayedFork +import org.usvm.machine.ps.strategies.Peek +import org.usvm.machine.ps.strategies.PyPathSelectorActionStrategy import org.usvm.machine.ps.types.makeTypeRating import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.types.MockType +import org.usvm.machine.types.PythonType import org.usvm.types.TypesResult -class PyVirtualPathSelector>( +class PyVirtualPathSelector>( private val ctx: PyContext, private val actionStrategy: PyPathSelectorActionStrategy, private val delayedForkStrategy: DelayedForkStrategy, private val graphCreation: DelayedForkGraphCreation, - private val newStateObserver: NewStateObserver -): UPathSelector { + private val newStateObserver: NewStateObserver, +) : UPathSelector { private val graph = graphCreation.createOneVertexGraph(DelayedForkGraphRootVertex()) override fun isEmpty(): Boolean = nullablePeek() == null @@ -85,8 +94,9 @@ class PyVirtualPathSelector { @@ -121,7 +131,9 @@ class PyVirtualPathSelector state.pyModel.forcedConcreteTypes[objAddress] = type } @@ -199,4 +212,4 @@ class PyVirtualPathSelector weightedRandom(random: Random, items: List, weighter: (T) -> Double): require(borders.last() > key) val idx = borders.indexOfFirst { it > key } return items[idx] -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt index 5020bd85ec..1c05a8bc08 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/WeightedPyPathSelector.kt @@ -10,8 +10,8 @@ class WeightedPyPathSelector( private val proportionalToSelectorSize: Boolean, private val counter: (PyState) -> Int, private val weight: (Int) -> Double, - private val baseBaseSelectorCreation: () -> UPathSelector -): UPathSelector { + private val baseBaseSelectorCreation: () -> UPathSelector, +) : UPathSelector { private val selectors = mutableMapOf>() private val selectorSizes = mutableMapOf() private val countOfState = mutableMapOf() @@ -63,4 +63,4 @@ class WeightedPyPathSelector( countOfState[state] = null selectorSizes[oldCount] = selectorSizes[oldCount]!! - 1 } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt index df1b939821..833d08f1ab 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/Api.kt @@ -1,19 +1,19 @@ package org.usvm.machine.ps.strategies import org.usvm.UPathSelector -import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.DelayedFork import org.usvm.machine.PyState +import org.usvm.machine.types.ConcretePythonType -interface PyPathSelectorActionStrategy> { +interface PyPathSelectorActionStrategy> { fun chooseAction(graph: DFGraph): PyPathSelectorAction? } -interface DelayedForkStrategy { +interface DelayedForkStrategy { fun chooseTypeRating(state: DFState): TypeRating } -interface DelayedForkGraphCreation> { +interface DelayedForkGraphCreation> { fun createEmptyDelayedForkState(): DFState fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DFGraph } @@ -34,8 +34,8 @@ open class DelayedForkState { } } -abstract class DelayedForkGraph( - val root: DelayedForkGraphRootVertex +abstract class DelayedForkGraph( + val root: DelayedForkGraphRootVertex, ) { private val vertices: MutableMap> = mutableMapOf() open fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { @@ -51,26 +51,26 @@ abstract class DelayedForkGraph( vertices[df] } -sealed class DelayedForkGraphVertex +sealed class DelayedForkGraphVertex -class DelayedForkGraphRootVertex: DelayedForkGraphVertex() +class DelayedForkGraphRootVertex : DelayedForkGraphVertex() -class DelayedForkGraphInnerVertex( +class DelayedForkGraphInnerVertex( val delayedForkState: DFState, val delayedFork: DelayedFork, - val parent: DelayedForkGraphVertex -): DelayedForkGraphVertex() + val parent: DelayedForkGraphVertex, +) : DelayedForkGraphVertex() -sealed class PyPathSelectorAction -class Peek( - val pathSelector: UPathSelector -): PyPathSelectorAction() -class MakeDelayedFork( - val vertex: DelayedForkGraphInnerVertex -): PyPathSelectorAction() +sealed class PyPathSelectorAction +class Peek( + val pathSelector: UPathSelector, +) : PyPathSelectorAction() +class MakeDelayedFork( + val vertex: DelayedForkGraphInnerVertex, +) : PyPathSelectorAction() class TypeRating( val types: MutableList, val numberOfHints: Int, - var numberOfUsed: Int = 0 -) \ No newline at end of file + var numberOfUsed: Int = 0, +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt index 144aec00af..cd3946ed5c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt @@ -6,7 +6,7 @@ import org.usvm.machine.ps.strategies.PyPathSelectorAction import kotlin.random.Random -abstract class Action> { +abstract class Action> { abstract fun isAvailable(graph: DFGraph): Boolean abstract fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 0586686add..96398777e2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -4,18 +4,28 @@ import mu.KLogging import org.usvm.UPathSelector import org.usvm.machine.DelayedFork import org.usvm.machine.PyState -import org.usvm.machine.ps.strategies.* +import org.usvm.machine.ps.strategies.DelayedForkGraph +import org.usvm.machine.ps.strategies.DelayedForkGraphCreation +import org.usvm.machine.ps.strategies.DelayedForkGraphInnerVertex +import org.usvm.machine.ps.strategies.DelayedForkGraphRootVertex +import org.usvm.machine.ps.strategies.DelayedForkGraphVertex +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.DelayedForkStrategy +import org.usvm.machine.ps.strategies.MakeDelayedFork +import org.usvm.machine.ps.strategies.Peek +import org.usvm.machine.ps.strategies.PyPathSelectorAction +import org.usvm.machine.ps.strategies.TypeRating import kotlin.random.Random val baselineProbabilities = listOf(1.0, 0.6, 0.875, 0.8, 1.0) private val probNegations = baselineProbabilities - .drop(1) - .runningFold(1.0) { acc, p -> acc * (1 - p) } -val baselineWeights = //listOf(100.0, 0.6, 0.35, 0.04, 0.01) + .drop(1) + .runningFold(1.0) { acc, p -> acc * (1 - p) } +val baselineWeights = // listOf(100.0, 0.6, 0.35, 0.04, 0.01) listOf(100.0) + (baselineProbabilities.drop(1) zip probNegations.dropLast(1)).map { (a, b) -> a * b } fun makeBaselinePriorityActionStrategy( - random: Random + random: Random, ): RandomizedPriorityActionStrategy = RandomizedPriorityActionStrategy( random, @@ -30,7 +40,7 @@ fun makeBaselinePriorityActionStrategy( ) fun makeBaselineWeightedActionStrategy( - random: Random + random: Random, ): WeightedActionStrategy = WeightedActionStrategy( random, @@ -44,10 +54,10 @@ fun makeBaselineWeightedActionStrategy( baselineWeights ) -sealed class BaselineAction: Action() { +sealed class BaselineAction : Action() { protected fun chooseAvailableVertex( available: List>, - random: Random + random: Random, ): DelayedForkGraphInnerVertex { require(available.isNotEmpty()) val idx = random.nextInt(0, available.size) @@ -55,19 +65,18 @@ sealed class BaselineAction: Action( } } -object PeekExecutedStateWithConcreteType: BaselineAction() { +object PeekExecutedStateWithConcreteType : BaselineAction() { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorForExecutedStatesWithConcreteTypes.isEmpty() override fun makeAction( graph: BaselineDelayedForkGraph, - random: Random + random: Random, ): PyPathSelectorAction = Peek(graph.pathSelectorForExecutedStatesWithConcreteTypes) - } -object PeekFromRoot: BaselineAction() { +object PeekFromRoot : BaselineAction() { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithoutDelayedForks.isEmpty() @@ -77,7 +86,7 @@ object PeekFromRoot: BaselineAction() { override fun toString(): String = "PeekFromRoot" } -object ServeNewDelayedFork: BaselineAction() { +object ServeNewDelayedFork : BaselineAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -93,7 +102,7 @@ object ServeNewDelayedFork: BaselineAction() { override fun toString(): String = "ServeNewDelayedFork" } -object PeekFromStateWithDelayedFork: BaselineAction() { +object PeekFromStateWithDelayedFork : BaselineAction() { override fun isAvailable(graph: BaselineDelayedForkGraph): Boolean = !graph.pathSelectorWithDelayedForks.isEmpty() @@ -104,7 +113,7 @@ object PeekFromStateWithDelayedFork: BaselineAction() { override fun toString(): String = "PeekFromStateWithDelayedFork" } -object ServeOldDelayedFork: BaselineAction() { +object ServeOldDelayedFork : BaselineAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } @@ -120,7 +129,7 @@ object ServeOldDelayedFork: BaselineAction() { override fun toString(): String = "ServeOldDelayedFork" } -class BaselineDelayedForkStrategy: DelayedForkStrategy { +class BaselineDelayedForkStrategy : DelayedForkStrategy { private var lastIdx = -1 override fun chooseTypeRating(state: DelayedForkState): TypeRating { require(state.size > 0) { @@ -133,8 +142,8 @@ class BaselineDelayedForkStrategy: DelayedForkStrategy { } class BaselineDFGraphCreation( - private val basePathSelectorCreation: () -> UPathSelector -): DelayedForkGraphCreation { + private val basePathSelectorCreation: () -> UPathSelector, +) : DelayedForkGraphCreation { override fun createEmptyDelayedForkState(): DelayedForkState = DelayedForkState() @@ -144,8 +153,8 @@ class BaselineDFGraphCreation( open class BaselineDelayedForkGraph( basePathSelectorCreation: () -> UPathSelector, - root: DelayedForkGraphRootVertex -): DelayedForkGraph(root) { + root: DelayedForkGraphRootVertex, +) : DelayedForkGraph(root) { internal val pathSelectorWithoutDelayedForks = basePathSelectorCreation() internal val pathSelectorWithDelayedForks = basePathSelectorCreation() @@ -161,8 +170,9 @@ open class BaselineDelayedForkGraph( } override fun updateVertex(vertex: DelayedForkGraphInnerVertex) { - if (vertex.delayedForkState.isDead) + if (vertex.delayedForkState.isDead) { aliveNodesAtDistanceOne.remove(vertex) + } } override fun addExecutedStateWithConcreteTypes(state: PyState) { @@ -181,4 +191,4 @@ open class BaselineDelayedForkGraph( companion object { private val logger = object : KLogging() {}.logger } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index a4921cf0be..45a4d5c92c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -4,11 +4,16 @@ import org.usvm.UPathSelector import org.usvm.language.PyInstruction import org.usvm.machine.DelayedFork import org.usvm.machine.PyState -import org.usvm.machine.ps.strategies.* +import org.usvm.machine.ps.strategies.DelayedForkGraphCreation +import org.usvm.machine.ps.strategies.DelayedForkGraphInnerVertex +import org.usvm.machine.ps.strategies.DelayedForkGraphRootVertex +import org.usvm.machine.ps.strategies.DelayedForkState +import org.usvm.machine.ps.strategies.MakeDelayedFork +import org.usvm.machine.ps.strategies.PyPathSelectorAction import kotlin.random.Random fun makeDelayedForkByInstructionPriorityStrategy( - random: Random + random: Random, ): RandomizedPriorityActionStrategy = RandomizedPriorityActionStrategy( random, @@ -23,7 +28,7 @@ fun makeDelayedForkByInstructionPriorityStrategy( ) fun makeDelayedForkByInstructionWeightedStrategy( - random: Random + random: Random, ): WeightedActionStrategy = WeightedActionStrategy( random, @@ -37,7 +42,7 @@ fun makeDelayedForkByInstructionWeightedStrategy( baselineWeights ) -sealed class DelayedForkByInstructionAction: Action() { +sealed class DelayedForkByInstructionAction : Action() { protected fun findAvailableInstructions( graph: DelayedForkByInstructionGraph, isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, @@ -50,7 +55,7 @@ sealed class DelayedForkByInstructionAction: Action) -> Boolean, - random: Random + random: Random, ): DelayedForkGraphInnerVertex { val availableInstructions = findAvailableInstructions(graph, isAvailable) val size = availableInstructions.size @@ -64,7 +69,7 @@ sealed class DelayedForkByInstructionAction: Action -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -74,14 +79,14 @@ object ServeNewDelayedForkByInstruction: DelayedForkByInstructionAction() { override fun makeAction( graph: DelayedForkByInstructionGraph, - random: Random + random: Random, ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) override fun toString(): String = "ServeNewDelayedForkByInstruction" } -object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction() { +object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } @@ -91,7 +96,7 @@ object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction() { override fun makeAction( graph: DelayedForkByInstructionGraph, - random: Random + random: Random, ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) @@ -100,9 +105,10 @@ object ServeOldDelayedForkByInstruction: DelayedForkByInstructionAction() { class DelayedForkByInstructionGraph( basePathSelectorCreation: () -> UPathSelector, - root: DelayedForkGraphRootVertex -): BaselineDelayedForkGraph(basePathSelectorCreation, root) { - internal val nodesByInstruction = mutableMapOf>>() + root: DelayedForkGraphRootVertex, +) : BaselineDelayedForkGraph(basePathSelectorCreation, root) { + internal val nodesByInstruction = + mutableMapOf>>() override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { super.addVertex(df, vertex) @@ -116,11 +122,11 @@ class DelayedForkByInstructionGraph( } class DelayedForkByInstructionGraphCreation( - private val basePathSelectorCreation: () -> UPathSelector -): DelayedForkGraphCreation { + private val basePathSelectorCreation: () -> UPathSelector, +) : DelayedForkGraphCreation { override fun createEmptyDelayedForkState(): DelayedForkState = DelayedForkState() override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DelayedForkByInstructionGraph = DelayedForkByInstructionGraph(basePathSelectorCreation, root) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt index ef4c2955c7..1427facec9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/RandomizedPriorityActionStrategy.kt @@ -7,18 +7,19 @@ import org.usvm.machine.ps.strategies.PyPathSelectorAction import org.usvm.machine.ps.strategies.PyPathSelectorActionStrategy import kotlin.random.Random -class RandomizedPriorityActionStrategy>( +class RandomizedPriorityActionStrategy>( private val random: Random, private val actions: List>, - private val probabilities: List -): PyPathSelectorActionStrategy { + private val probabilities: List, +) : PyPathSelectorActionStrategy { init { require(actions.size == probabilities.size) } override fun chooseAction(graph: DFGraph): PyPathSelectorAction? { val availableActions: List, Double>> = actions.mapIndexedNotNull { idx, action -> - if (!action.isAvailable(graph)) + if (!action.isAvailable(graph)) { return@mapIndexedNotNull null + } action to probabilities[idx] } if (availableActions.isEmpty()) { @@ -33,8 +34,9 @@ class RandomizedPriorityActionStrategy, Double>>): Action { availableActions.dropLast(1).forEach { val coin = random.nextDouble() - if (coin < it.second) + if (coin < it.second) { return it.first + } } return availableActions.last().first } @@ -42,4 +44,4 @@ class RandomizedPriorityActionStrategy: DelayedForkStrategy { +class TypeRatingByNumberOfHints : DelayedForkStrategy { override fun chooseTypeRating(state: DFState): TypeRating { require(state.size > 0) val idx = List(state.size) { it }.maxBy { @@ -13,4 +13,4 @@ class TypeRatingByNumberOfHints: DelayedForkStrategy< } return state.getAt(idx) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt index 62d773deb9..31a1a7083e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/WeightedActionStrategy.kt @@ -9,18 +9,19 @@ import org.usvm.machine.ps.weightedRandom import kotlin.random.Random -class WeightedActionStrategy>( +class WeightedActionStrategy>( private val random: Random, private val actions: List>, - private val weights: List -): PyPathSelectorActionStrategy { + private val weights: List, +) : PyPathSelectorActionStrategy { init { require(actions.size == weights.size) } override fun chooseAction(graph: DFGraph): PyPathSelectorAction? { val availableActions = actions.mapIndexedNotNull { idx, action -> - if (!action.isAvailable(graph)) + if (!action.isAvailable(graph)) { return@mapIndexedNotNull null + } action to weights[idx] } if (availableActions.isEmpty()) { @@ -35,4 +36,4 @@ class WeightedActionStrategy, typeS val boundHolds = PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(bound, typeHint, typeSystem.typeHintsStorage) acc + if (boundHolds) 1 else 0 } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index ce5ea4140c..7f90081f09 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -1,28 +1,51 @@ package org.usvm.machine.ps.types -import org.usvm.language.* +import org.usvm.language.MpAssSubscriptMethod +import org.usvm.language.MpSubscriptMethod +import org.usvm.language.NbAddMethod +import org.usvm.language.NbBoolMethod +import org.usvm.language.NbIntMethod +import org.usvm.language.NbMatrixMultiplyMethod +import org.usvm.language.NbMultiplyMethod +import org.usvm.language.NbNegativeMethod +import org.usvm.language.NbPositiveMethod +import org.usvm.language.NbSubtractMethod +import org.usvm.language.SqLengthMethod +import org.usvm.language.TpCallMethod +import org.usvm.language.TpGetattro +import org.usvm.language.TpIterMethod +import org.usvm.language.TpRichcmpMethod +import org.usvm.language.TpSetattro import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getConcreteStrIfDefined -import org.utpython.types.* +import org.utpython.types.PythonAnyTypeDescription +import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.PythonTypeHintsStorage +import org.utpython.types.createBinaryProtocol +import org.utpython.types.createProtocolWithAttribute +import org.utpython.types.createPythonCallableType +import org.utpython.types.createUnaryProtocol import org.utpython.types.general.FunctionTypeCreator import org.utpython.types.general.UtType import org.utpython.types.inference.TypeInferenceEdgeWithBound import org.utpython.types.inference.TypeInferenceNode import org.utpython.types.inference.addEdge +import org.utpython.types.pythonAnyType +import org.utpython.types.pythonDescription class SymbolTypeTree( private val state: PyState, private val typeHintsStorage: PythonTypeHintsStorage, rootSymbol: UninterpretedSymbolicPythonObject, - private val maxDepth: Int = 5 + private val maxDepth: Int = 5, ) { private val root = SymbolTreeNode(rootSymbol) private fun generateSuccessors(node: SymbolTreeNode): List = state.getMocksForSymbol(node.symbol).mapNotNull { (mockHeader, resultSymbol) -> val protocol = - when (mockHeader.method) { + when (mockHeader.method) { MpAssSubscriptMethod -> { returnType: UtType -> createBinaryProtocol("__setitem__", pythonAnyType, returnType) } MpSubscriptMethod -> @@ -77,17 +100,17 @@ class SymbolTypeTree( is TpCallMethod -> { returnType: UtType -> createProtocolWithAttribute( "__call__", - createPythonCallableType( - 1, - listOf(PythonCallableTypeDescription.ArgKind.ARG_STAR), - listOf(null) - ) { - FunctionTypeCreator.InitializationData( - listOf(pythonAnyType), - returnType - ) - } - ) + createPythonCallableType( + 1, + listOf(PythonCallableTypeDescription.ArgKind.ARG_STAR), + listOf(null) + ) { + FunctionTypeCreator.InitializationData( + listOf(pythonAnyType), + returnType + ) + } + ) } } val originalHint = protocol(pythonAnyType) @@ -101,8 +124,9 @@ class SymbolTypeTree( } private fun generateNodes(node: SymbolTreeNode, depth: Int) { - if (depth >= maxDepth) + if (depth >= maxDepth) { return + } generateSuccessors(node).forEach { generateNodes(it, depth + 1) } @@ -135,7 +159,7 @@ class SymbolTypeTree( } } -class SymbolTreeNode(val symbol: UninterpretedSymbolicPythonObject): TypeInferenceNode { +class SymbolTreeNode(val symbol: UninterpretedSymbolicPythonObject) : TypeInferenceNode { override val partialType: UtType = pythonAnyType override val ingoingEdges = mutableListOf() override val outgoingEdges = mutableListOf() @@ -145,7 +169,7 @@ class SymbolTreeNode(val symbol: UninterpretedSymbolicPythonObject): TypeInferen class SymbolTreeEdge( override val from: SymbolTreeNode, override val to: SymbolTreeNode, - override val dependency: (UtType) -> List -): TypeInferenceEdgeWithBound { + override val dependency: (UtType) -> List, +) : TypeInferenceEdgeWithBound { override val boundType: TypeInferenceEdgeWithBound.BoundType = TypeInferenceEdgeWithBound.BoundType.Upper -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt index dc058aa8a6..50908671ea 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/PyMachineResultsReceiver.kt @@ -1,6 +1,13 @@ package org.usvm.machine.results -import org.usvm.machine.results.observers.* +import org.usvm.machine.results.observers.DefaultPyTestObserver +import org.usvm.machine.results.observers.EmptyInputModelObserver +import org.usvm.machine.results.observers.EmptyInputPythonObjectObserver +import org.usvm.machine.results.observers.EmptyNewStateObserver +import org.usvm.machine.results.observers.InputModelObserver +import org.usvm.machine.results.observers.InputPythonObjectObserver +import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.results.observers.PyTestObserver import org.usvm.machine.results.serialization.PythonObjectSerializer interface PyMachineResultsReceiver { @@ -12,10 +19,10 @@ interface PyMachineResultsReceiver { } class DefaultPyMachineResultsReceiver( - override val serializer: PythonObjectSerializer -): PyMachineResultsReceiver { + override val serializer: PythonObjectSerializer, +) : PyMachineResultsReceiver { override val newStateObserver: NewStateObserver = EmptyNewStateObserver override val inputModelObserver: InputModelObserver = EmptyInputModelObserver override val inputPythonObjectObserver: InputPythonObjectObserver = EmptyInputPythonObjectObserver override val pyTestObserver: DefaultPyTestObserver = DefaultPyTestObserver() -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt index 5c2efc2602..6faf371e92 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt @@ -6,6 +6,6 @@ abstract class InputModelObserver { abstract fun onInputModel(inputModel: PyInputModel) } -object EmptyInputModelObserver: InputModelObserver() { +object EmptyInputModelObserver : InputModelObserver() { override fun onInputModel(inputModel: PyInputModel) = run {} -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt index 4eedfd9b4e..d45e920ddb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt @@ -6,6 +6,6 @@ abstract class InputPythonObjectObserver { abstract fun onInputObjects(inputObjects: List) } -object EmptyInputPythonObjectObserver: InputPythonObjectObserver() { +object EmptyInputPythonObjectObserver : InputPythonObjectObserver() { override fun onInputObjects(inputObjects: List) = run {} -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt index 1db41e5edd..9b6dc31a71 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt @@ -6,6 +6,6 @@ abstract class NewStateObserver { abstract fun onNewState(state: PyState) } -object EmptyNewStateObserver: NewStateObserver() { +object EmptyNewStateObserver : NewStateObserver() { override fun onNewState(state: PyState) = run {} -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt index e5ea9dd73b..cb4f8e02eb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt @@ -6,13 +6,13 @@ abstract class PyTestObserver { abstract fun onPyTest(pyTest: PyTest) } -class EmptyPyTestObserver: PyTestObserver() { +class EmptyPyTestObserver : PyTestObserver() { override fun onPyTest(pyTest: PyTest) = run {} } -class DefaultPyTestObserver: PyTestObserver() { +class DefaultPyTestObserver : PyTestObserver() { val tests: MutableList> = mutableListOf() override fun onPyTest(pyTest: PyTest) { tests.add(pyTest) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt index f521f88907..9e3aa6da89 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt @@ -2,6 +2,6 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.PyObject -object EmptyObjectSerializer: PythonObjectSerializer() { +object EmptyObjectSerializer : PythonObjectSerializer() { override fun serialize(obj: PyObject) = run {} -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt index 5bb7f43057..bdecbd023f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt @@ -4,7 +4,7 @@ import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object ObjectWithDictSerializer: PythonObjectSerializer() { +object ObjectWithDictSerializer : PythonObjectSerializer() { override fun serialize(obj: PyObject): String { val objRepr = ReprObjectSerializer.serialize(obj) val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -19,4 +19,4 @@ object ObjectWithDictSerializer: PythonObjectSerializer() { } }.getOrDefault(objRepr) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt index 8bdc0fbfc6..e45b69bf77 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleArgsSerializer.kt @@ -17,4 +17,4 @@ object PickleArgsSerializer { ConcretePythonInterpreter.decref(pair) return result } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt index c325c965e5..ef5855b6b8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt @@ -3,7 +3,7 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object PickleObjectSerializer: PythonObjectSerializer() { +object PickleObjectSerializer : PythonObjectSerializer() { override fun serialize(obj: PyObject): String? { return runCatching { val namespace = ConcretePythonInterpreter.getNewNamespace() @@ -14,4 +14,4 @@ object PickleObjectSerializer: PythonObjectSerializer() { ConcretePythonInterpreter.getPythonObjectRepr(res) }.getOrNull() } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt index 99f1d90e19..5193b8a941 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt @@ -4,4 +4,4 @@ import org.usvm.machine.interpreters.concrete.PyObject abstract class PythonObjectSerializer { abstract fun serialize(obj: PyObject): PythonObjectRepresentation -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt index 309d369bef..dea2144636 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt @@ -3,10 +3,14 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object ReprObjectSerializer: PythonObjectSerializer() { +object ReprObjectSerializer : PythonObjectSerializer() { override fun serialize(obj: PyObject): String { return runCatching { ConcretePythonInterpreter.getPythonObjectRepr(obj) - }.getOrDefault("") + }.getOrDefault( + "" + ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt index 3a47b780f5..c7063c77b3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt @@ -3,7 +3,7 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object StandardPythonObjectSerializer: PythonObjectSerializer() { +object StandardPythonObjectSerializer : PythonObjectSerializer() { override fun serialize(obj: PyObject): PythonObjectInfo { val repr = ReprObjectSerializer.serialize(obj) val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) @@ -15,7 +15,7 @@ object StandardPythonObjectSerializer: PythonObjectSerializer( class PythonObjectInfo( val repr: String, val typeName: String, - val selfTypeName: String? + val selfTypeName: String?, ) { override fun toString(): String = "$repr: $typeName" -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt index fc69b30e73..494d4f2a5d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/Fields.kt @@ -4,10 +4,10 @@ import org.usvm.USort import org.usvm.machine.PyContext sealed class PropertyOfPythonObject -class ContentOfType( +class ContentOfType( val id: String, - val sort: (PyContext) -> Sort -): PropertyOfPythonObject() + val sort: (PyContext) -> Sort, +) : PropertyOfPythonObject() object IntContents { val content = ContentOfType("int") { it.intSort } @@ -20,9 +20,9 @@ object BoolContents { object FloatContents { const val BOUND = 300 val content = ContentOfType("float") { it.realSort } - val isNan = ContentOfType("is_nan_value") { it.intSort } // isNan <=> value > bound + val isNan = ContentOfType("is_nan_value") { it.intSort } // isNan <=> value > bound val infSign = ContentOfType("float_inf_sign") { it.boolSort } - val isInf = ContentOfType("is_inf_value") { it.intSort } // isInf <=> value > bound + val isInf = ContentOfType("is_inf_value") { it.intSort } // isInf <=> value > bound } object ListIteratorContents { @@ -71,4 +71,4 @@ object EnumerateContents { val index = ContentOfType("index_of_enumerate") { it.intSort } } -object TimeOfCreation: PropertyOfPythonObject() \ No newline at end of file +object TimeOfCreation : PropertyOfPythonObject() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 3b9af9966e..9587270ea9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -3,11 +3,11 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.machine.types.PythonType -import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.memory.UMemory class PreallocatedObjects( @@ -16,15 +16,17 @@ class PreallocatedObjects( val falseObject: UninterpretedSymbolicPythonObject, private val concreteStrToSymbol: MutableMap, private val symbolToConcreteStr: MutableMap, - private val refOfString: MutableMap + private val refOfString: MutableMap, ) { fun allocateStr(ctx: ConcolicRunContext, string: String, ref: PyObject): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val cached = concreteStrToSymbol[string] - if (cached != null) + if (cached != null) { return cached - val result = constructEmptyStaticObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) + } + val result = + constructEmptyStaticObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) concreteStrToSymbol[string] = result symbolToConcreteStr[result] = string refOfString[string] = ref @@ -56,15 +58,21 @@ class PreallocatedObjects( ctx: PyContext, initialMemory: UMemory, initialPathConstraints: UPathConstraints, - typeSystem: PythonTypeSystem + typeSystem: PythonTypeSystem, ): PreallocatedObjects = PreallocatedObjects( noneObject = constructEmptyStaticObject(ctx, initialMemory, typeSystem, typeSystem.pythonNoneType), trueObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.trueExpr), - falseObject = constructInitialBool(ctx, initialMemory, initialPathConstraints, typeSystem, ctx.falseExpr), + falseObject = constructInitialBool( + ctx, + initialMemory, + initialPathConstraints, + typeSystem, + ctx.falseExpr + ), concreteStrToSymbol = mutableMapOf(), symbolToConcreteStr = mutableMapOf(), refOfString = mutableMapOf() ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index df7e5885d5..b17e4b641e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -2,16 +2,28 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KBoolSort import io.ksmt.sort.KIntSort -import org.usvm.* +import org.usvm.UAddressSort +import org.usvm.UBoolExpr +import org.usvm.UExpr import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.* +import org.usvm.language.PyCallable +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.memory.FloatUninterpretedContent +import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField +import org.usvm.machine.symbolicobjects.memory.setFloatContent +import org.usvm.machine.symbolicobjects.memory.setIntContent +import org.usvm.machine.symbolicobjects.memory.setListIteratorContent +import org.usvm.machine.symbolicobjects.memory.setRangeContent +import org.usvm.machine.symbolicobjects.memory.setRangeIteratorContent +import org.usvm.machine.symbolicobjects.memory.setSliceStart +import org.usvm.machine.symbolicobjects.memory.setSliceStep +import org.usvm.machine.symbolicobjects.memory.setSliceStop +import org.usvm.machine.symbolicobjects.memory.setTupleIteratorContent import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem -import org.usvm.machine.PyContext -import org.usvm.machine.symbolicobjects.memory.* import org.usvm.memory.UMemory import org.usvm.memory.URegisterStackLValue @@ -21,7 +33,7 @@ fun constructInputObject( ctx: PyContext, memory: UMemory, pathConstraints: UPathConstraints, - typeSystem: PythonTypeSystem + typeSystem: PythonTypeSystem, ): UninterpretedSymbolicPythonObject { @Suppress("unchecked_cast") val address = memory.read(URegisterStackLValue(ctx.addressSort, stackIndex)) as UExpr @@ -35,7 +47,7 @@ fun constructEmptyAllocatedObject( ctx: PyContext, memory: UMemory, typeSystem: PythonTypeSystem, - type: ConcretePythonType + type: ConcretePythonType, ): UninterpretedSymbolicPythonObject { val address = memory.allocConcrete(type) return UninterpretedSymbolicPythonObject(address, typeSystem).also { @@ -47,7 +59,7 @@ fun constructEmptyStaticObject( ctx: PyContext, memory: UMemory, typeSystem: PythonTypeSystem, - type: ConcretePythonType + type: ConcretePythonType, ): UninterpretedSymbolicPythonObject { val address = memory.allocStatic(type) return UninterpretedSymbolicPythonObject(address, typeSystem).also { @@ -90,7 +102,7 @@ fun constructInitialBool( memory: UMemory, pathConstraints: UPathConstraints, typeSystem: PythonTypeSystem, - expr: UExpr + expr: UExpr, ): UninterpretedSymbolicPythonObject { val address = memory.allocStatic(typeSystem.pythonBool) val result = UninterpretedSymbolicPythonObject(address, typeSystem) @@ -145,7 +157,7 @@ fun constructSlice( ctx: ConcolicRunContext, start: SliceUninterpretedField, stop: SliceUninterpretedField, - step: SliceUninterpretedField + step: SliceUninterpretedField, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -156,4 +168,4 @@ fun constructSlice( it.setSliceStep(ctx, step) it.setMinimalTimeOfCreation(ctx.ctx, ctx.curState!!.memory) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 292b994ae9..629105ce2c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -1,17 +1,29 @@ package org.usvm.machine.symbolicobjects import io.ksmt.sort.KIntSort -import org.usvm.* -import org.usvm.api.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.UHeapRef +import org.usvm.api.readField +import org.usvm.api.typeStreamOf +import org.usvm.api.writeField import org.usvm.constraints.UTypeConstraints import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isAllocatedConcreteHeapRef +import org.usvm.isStaticHeapRef +import org.usvm.isTrue import org.usvm.language.PyCallable import org.usvm.machine.PyContext import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.model.PyModelHolder import org.usvm.machine.model.getConcreteType import org.usvm.machine.model.getFirstType -import org.usvm.machine.types.* +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.ConcreteTypeNegation +import org.usvm.machine.types.MockType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem import org.usvm.memory.UMemory import org.usvm.types.TypesResult import org.usvm.types.USingleTypeStream @@ -20,11 +32,12 @@ import org.usvm.types.first sealed class SymbolicPythonObject( open val address: UHeapRef, - val typeSystem: PythonTypeSystem + val typeSystem: PythonTypeSystem, ) { override fun equals(other: Any?): Boolean { - if (other !is SymbolicPythonObject) + if (other !is SymbolicPythonObject) { return false + } return address == other.address } @@ -35,18 +48,20 @@ sealed class SymbolicPythonObject( class UninterpretedSymbolicPythonObject( address: UHeapRef, - typeSystem: PythonTypeSystem -): SymbolicPythonObject(address, typeSystem) { + typeSystem: PythonTypeSystem, +) : SymbolicPythonObject(address, typeSystem) { fun addSupertype(ctx: ConcolicRunContext, type: PythonType) { - if (address is UConcreteHeapRef) + if (address is UConcreteHeapRef) { return + } require(ctx.curState != null) myAssert(ctx, evalIs(ctx, type)) } fun addSupertypeSoft(ctx: ConcolicRunContext, type: PythonType) { - if (address is UConcreteHeapRef) + if (address is UConcreteHeapRef) { return + } require(ctx.curState != null) myAssert(ctx, evalIsSoft(ctx, type)) } @@ -63,7 +78,7 @@ class UninterpretedSymbolicPythonObject( fun evalIs( ctx: PyContext, typeConstraints: UTypeConstraints, - type: PythonType + type: PythonType, ): UBoolExpr { if (type is ConcretePythonType) { return with(ctx) { @@ -81,11 +96,12 @@ class UninterpretedSymbolicPythonObject( fun evalIsSoft( ctx: PyContext, typeConstraints: UTypeConstraints, - type: PythonType + type: PythonType, ): UBoolExpr { var result: UBoolExpr = typeConstraints.evalIsSubtype(address, type) - if (type is ConcretePythonType) + if (type is ConcretePythonType) { result = with(ctx) { result and mkHeapRefEq(address, nullRef).not() } + } return result } @@ -99,12 +115,12 @@ class UninterpretedSymbolicPythonObject( return interpreted.address.address == 0 } - fun getTimeOfCreation(ctx: ConcolicRunContext): UExpr { // must not be called on nullref + fun getTimeOfCreation(ctx: ConcolicRunContext): UExpr { // must not be called on nullref require(ctx.curState != null) return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } - fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref + fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) } @@ -116,8 +132,8 @@ class UninterpretedSymbolicPythonObject( sealed class InterpretedSymbolicPythonObject( override val address: UConcreteHeapRef, - typeSystem: PythonTypeSystem -): SymbolicPythonObject(address, typeSystem) { + typeSystem: PythonTypeSystem, +) : SymbolicPythonObject(address, typeSystem) { abstract fun getConcreteType(): ConcretePythonType? abstract fun getFirstType(): PythonType? abstract fun getTypeStream(): UTypeStream? @@ -126,26 +142,29 @@ sealed class InterpretedSymbolicPythonObject( class InterpretedInputSymbolicPythonObject( address: UConcreteHeapRef, val modelHolder: PyModelHolder, - typeSystem: PythonTypeSystem -): InterpretedSymbolicPythonObject(address, typeSystem) { + typeSystem: PythonTypeSystem, +) : InterpretedSymbolicPythonObject(address, typeSystem) { init { require(!isStaticHeapRef(address) && !isAllocatedConcreteHeapRef(address)) } override fun getFirstType(): PythonType? { - if (address.address == 0) + if (address.address == 0) { return MockType + } return modelHolder.model.getFirstType(address) } override fun getConcreteType(): ConcretePythonType? { - if (address.address == 0) + if (address.address == 0) { return null + } return modelHolder.model.getConcreteType(address) } override fun getTypeStream(): UTypeStream? { - if (address.address == 0) + if (address.address == 0) { return null + } return modelHolder.model.typeStreamOf(address) } } @@ -153,8 +172,8 @@ class InterpretedInputSymbolicPythonObject( class InterpretedAllocatedOrStaticSymbolicPythonObject( override val address: UConcreteHeapRef, val type: ConcretePythonType, - typeSystem: PythonTypeSystem -): InterpretedSymbolicPythonObject(address, typeSystem) { + typeSystem: PythonTypeSystem, +) : InterpretedSymbolicPythonObject(address, typeSystem) { init { require(isAllocatedConcreteHeapRef(address) || isStaticHeapRef(address)) } @@ -167,7 +186,7 @@ class InterpretedAllocatedOrStaticSymbolicPythonObject( fun interpretSymbolicPythonObject( ctx: ConcolicRunContext, - obj: UninterpretedSymbolicPythonObject + obj: UninterpretedSymbolicPythonObject, ): InterpretedSymbolicPythonObject { require(ctx.curState != null) return interpretSymbolicPythonObject(ctx.modelHolder, ctx.curState!!.memory, obj) @@ -176,7 +195,7 @@ fun interpretSymbolicPythonObject( fun interpretSymbolicPythonObject( modelHolder: PyModelHolder, memory: UMemory, - obj: UninterpretedSymbolicPythonObject + obj: UninterpretedSymbolicPythonObject, ): InterpretedSymbolicPythonObject { val evaluated = modelHolder.model.eval(obj.address) as UConcreteHeapRef if (isAllocatedConcreteHeapRef(evaluated) || isStaticHeapRef(evaluated)) { @@ -189,4 +208,4 @@ fun interpretSymbolicPythonObject( return InterpretedAllocatedOrStaticSymbolicPythonObject(evaluated, type, obj.typeSystem) } return InterpretedInputSymbolicPythonObject(evaluated, modelHolder, obj.typeSystem) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index c3f6d32da3..7eaa5928c9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -2,17 +2,26 @@ package org.usvm.machine.symbolicobjects.memory import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort -import org.usvm.* -import org.usvm.api.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.api.readArrayIndex +import org.usvm.api.readArrayLength +import org.usvm.api.typeStreamOf +import org.usvm.api.writeArrayIndex import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isStaticHeapRef +import org.usvm.machine.PyContext +import org.usvm.machine.PyState +import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.types.ArrayLikeConcretePythonType import org.usvm.machine.types.ArrayType import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.HasElementConstraint -import org.usvm.machine.PyContext -import org.usvm.machine.PyState -import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert -import org.usvm.machine.symbolicobjects.* import org.usvm.types.first fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { @@ -30,15 +39,16 @@ fun InterpretedInputSymbolicPythonObject.readArrayLength(ctx: PyContext): UExpr< fun UninterpretedSymbolicPythonObject.readArrayElement( ctx: ConcolicRunContext, - index: UExpr + index: UExpr, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) - if (isAllocatedObject(ctx)) + if (isAllocatedObject(ctx)) { return elem + } val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) } @@ -48,7 +58,7 @@ fun UninterpretedSymbolicPythonObject.readArrayElement( fun InterpretedInputSymbolicPythonObject.readArrayElement( indexExpr: KInterpretedValue, - state: PyState + state: PyState, ): InterpretedSymbolicPythonObject { val ctx = state.ctx val element = modelHolder.model.readArrayIndex( @@ -69,7 +79,7 @@ fun InterpretedInputSymbolicPythonObject.readArrayElement( fun UninterpretedSymbolicPythonObject.writeArrayElement( ctx: ConcolicRunContext, index: UExpr, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { require(ctx.curState != null) val type = getTypeIfDefined(ctx) @@ -92,7 +102,7 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement( fun UninterpretedSymbolicPythonObject.extendArrayConstraints( ctx: ConcolicRunContext, - on: UninterpretedSymbolicPythonObject + on: UninterpretedSymbolicPythonObject, ) { require(ctx.curState != null) val type = getTypeIfDefined(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index d75aecbf10..0f6e718a32 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -8,8 +8,16 @@ import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable import org.usvm.machine.PyContext -import org.usvm.machine.symbolicobjects.* -import org.usvm.machine.types.* +import org.usvm.machine.symbolicobjects.BoolContents +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.HasMpLength +import org.usvm.machine.types.HasNbBool +import org.usvm.machine.types.HasSqLength +import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { @@ -18,7 +26,7 @@ fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): U return ctx.curState!!.memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx.ctx)) } -fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with (ctx.ctx) { +fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with(ctx.ctx) { require(ctx.curState != null) return when (val type = getTypeIfDefined(ctx)) { typeSystem.pythonBool -> getBoolContent(ctx) @@ -28,10 +36,11 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U typeSystem.pythonDict -> dictIsEmpty(ctx).not() typeSystem.pythonSet -> setIsEmpty(ctx).not() is ConcretePythonType -> { - if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) + if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) { trueExpr - else + } else { null + } } else -> null } @@ -48,7 +57,11 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemo getBoolContent(ctx) } is InterpretedAllocatedOrStaticSymbolicPythonObject -> { - memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx)) as KInterpretedValue + memory.readField( + address, + BoolContents.content, + BoolContents.content.sort(ctx) + ) as KInterpretedValue } } } @@ -56,4 +69,4 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemo fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UBoolExpr { require(ctx.curState != null) return getBoolContent(ctx.ctx, ctx.curState!!.memory) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 75f6a251c2..970115d9b0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -2,7 +2,9 @@ package org.usvm.machine.symbolicobjects.memory import io.ksmt.expr.KInterpretedValue import io.ksmt.sort.KIntSort -import org.usvm.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut @@ -14,13 +16,20 @@ import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isFalse +import org.usvm.isStaticHeapRef +import org.usvm.isTrue import org.usvm.language.PyCallable +import org.usvm.machine.PyContext +import org.usvm.machine.symbolicobjects.DictContents +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.IntDictType import org.usvm.machine.types.PythonType import org.usvm.machine.types.RefDictType -import org.usvm.machine.PyContext -import org.usvm.machine.symbolicobjects.* import org.usvm.memory.UMemory import org.usvm.memory.key.USizeExprKeyInfo import org.usvm.types.first @@ -36,12 +45,18 @@ fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) - ctx.curState!!.memory.writeField(address, DictContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField( + address, + DictContents.isNotEmpty, + ctx.ctx.boolSort, + ctx.ctx.trueExpr, + ctx.ctx.trueExpr + ) } fun UninterpretedSymbolicPythonObject.readDictRefElement( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -52,7 +67,7 @@ fun UninterpretedSymbolicPythonObject.readDictRefElement( fun UninterpretedSymbolicPythonObject.dictContainsRef( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ): UBoolExpr { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -66,7 +81,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsRef( fun UninterpretedSymbolicPythonObject.writeDictRefElement( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -77,7 +92,7 @@ fun UninterpretedSymbolicPythonObject.writeDictRefElement( fun UninterpretedSymbolicPythonObject.readDictIntElement( ctx: ConcolicRunContext, - key: UExpr + key: UExpr, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -89,7 +104,7 @@ fun UninterpretedSymbolicPythonObject.readDictIntElement( fun UninterpretedSymbolicPythonObject.dictContainsInt( ctx: ConcolicRunContext, - key: UExpr + key: UExpr, ): UBoolExpr { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -104,7 +119,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsInt( fun UninterpretedSymbolicPythonObject.writeDictIntElement( ctx: ConcolicRunContext, key: UExpr, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { require(ctx.curState != null) val typeSystem = ctx.typeSystem @@ -124,7 +139,7 @@ fun InterpretedInputSymbolicPythonObject.dictIsEmpty(ctx: PyContext): Boolean { private fun InterpretedInputSymbolicPythonObject.constructResultObject( resultAddress: UConcreteHeapRef, - memory: UMemory + memory: UMemory, ): InterpretedSymbolicPythonObject = if (isStaticHeapRef(resultAddress)) { val type = memory.typeStreamOf(resultAddress).first() @@ -137,7 +152,7 @@ private fun InterpretedInputSymbolicPythonObject.constructResultObject( fun InterpretedInputSymbolicPythonObject.readDictRefElement( ctx: PyContext, key: InterpretedSymbolicPythonObject, - memory: UMemory + memory: UMemory, ): InterpretedSymbolicPythonObject { val lvalue = URefMapEntryLValue(ctx.addressSort, address, key.address, RefDictType) val elemAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef @@ -146,7 +161,7 @@ fun InterpretedInputSymbolicPythonObject.readDictRefElement( fun InterpretedInputSymbolicPythonObject.dictContainsRef( ctx: PyContext, - key: InterpretedSymbolicPythonObject + key: InterpretedSymbolicPythonObject, ): Boolean { val lvalue = URefSetEntryLValue(address, key.address, RefDictType) val result = modelHolder.model.read(lvalue) @@ -156,7 +171,7 @@ fun InterpretedInputSymbolicPythonObject.dictContainsRef( fun InterpretedInputSymbolicPythonObject.readDictIntElement( ctx: PyContext, key: KInterpretedValue, - memory: UMemory + memory: UMemory, ): InterpretedSymbolicPythonObject { val lvalue = UMapEntryLValue(ctx.intSort, ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) val resultAddress = modelHolder.model.read(lvalue) as UConcreteHeapRef @@ -165,8 +180,8 @@ fun InterpretedInputSymbolicPythonObject.readDictIntElement( fun InterpretedInputSymbolicPythonObject.dictContainsInt( ctx: PyContext, - key: KInterpretedValue + key: KInterpretedValue, ): Boolean { val lvalue = USetEntryLValue(ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) return !dictIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt index 7beeff04e3..28f781ea69 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -10,7 +10,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun UninterpretedSymbolicPythonObject.initializeEnumerate( ctx: ConcolicRunContext, - arg: UninterpretedSymbolicPythonObject + arg: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { require(ctx.curState != null) ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) @@ -18,7 +18,7 @@ fun UninterpretedSymbolicPythonObject.initializeEnumerate( } fun UninterpretedSymbolicPythonObject.getEnumerateIterator( - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) @@ -26,10 +26,16 @@ fun UninterpretedSymbolicPythonObject.getEnumerateIterator( } fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): UExpr = with(ctx.ctx) { require(ctx.curState != null) val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) - ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkArithAdd(result, mkIntNum(1)), trueExpr) + ctx.curState!!.memory.writeField( + address, + EnumerateContents.index, + intSort, + mkArithAdd(result, mkIntNum(1)), + trueExpr + ) return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 3d38839b57..42e7644128 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -3,22 +3,30 @@ package org.usvm.machine.symbolicobjects.memory import io.ksmt.expr.KFp64Value import io.ksmt.sort.KIntSort import io.ksmt.sort.KRealSort -import org.usvm.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef +import org.usvm.UExpr +import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isTrue import org.usvm.language.PyCallable -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.ContentOfType +import org.usvm.machine.symbolicobjects.FloatContents +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory sealed class FloatInterpretedContent -object FloatNan: FloatInterpretedContent() -object FloatPlusInfinity: FloatInterpretedContent() -object FloatMinusInfinity: FloatInterpretedContent() -data class FloatNormalValue(val value: Double): FloatInterpretedContent() +object FloatNan : FloatInterpretedContent() +object FloatPlusInfinity : FloatInterpretedContent() +object FloatMinusInfinity : FloatInterpretedContent() +data class FloatNormalValue(val value: Double) : FloatInterpretedContent() private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel, address: UConcreteHeapRef, ctx: PyContext): UBoolExpr { val value = model.readField(address, field, field.sort(ctx)) @@ -38,8 +46,9 @@ private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, mem fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatInterpretedContent { require(getConcreteType() == typeSystem.pythonFloat) val isNan = readBoolFieldWithSoftConstraint(FloatContents.isNan, modelHolder.model, address, ctx) - if (isNan.isTrue) + if (isNan.isTrue) { return FloatNan + } val isInf = readBoolFieldWithSoftConstraint(FloatContents.isInf, modelHolder.model, address, ctx) if (isInf.isTrue) { val isPositive = modelHolder.model.readField(address, FloatContents.infSign, FloatContents.infSign.sort(ctx)) @@ -51,11 +60,13 @@ fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatI } fun InterpretedSymbolicPythonObject.getFloatContent(ctx: PyContext, memory: UMemory): FloatInterpretedContent { - if (this is InterpretedInputSymbolicPythonObject) + if (this is InterpretedInputSymbolicPythonObject) { return getFloatContent(ctx) + } val isNan = memory.readField(address, FloatContents.isNan, ctx.boolSort) - if (isNan.isTrue) + if (isNan.isTrue) { return FloatNan + } val isInf = memory.readField(address, FloatContents.isInf, ctx.boolSort) if (isInf.isTrue) { val isPositive = memory.readField(address, FloatContents.infSign, ctx.boolSort) @@ -70,7 +81,7 @@ data class FloatUninterpretedContent( val isNan: UBoolExpr, val isInf: UBoolExpr, val infSign: UBoolExpr, - val realValue: UExpr + val realValue: UExpr, ) fun mkUninterpretedNan(ctx: PyContext): FloatUninterpretedContent = @@ -114,7 +125,9 @@ fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): private fun wrapRealValue(ctx: PyContext, value: UExpr): FloatUninterpretedContent = FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) -fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent? = with(ctx.ctx) { +fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent? = with( + ctx.ctx +) { return when (getTypeIfDefined(ctx)) { typeSystem.pythonFloat -> getFloatContent(ctx) typeSystem.pythonInt -> wrapRealValue(ctx.ctx, intToFloat(getIntContent(ctx))) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 1f8c92b40b..69e46ce92d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -6,9 +6,13 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext -import org.usvm.machine.symbolicobjects.* +import org.usvm.machine.symbolicobjects.IntContents +import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject +import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt index 8ec4ac2f6f..93f3c2320f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt @@ -12,7 +12,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun UninterpretedSymbolicPythonObject.setListIteratorContent( ctx: ConcolicRunContext, - list: UninterpretedSymbolicPythonObject + list: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) @@ -34,7 +34,7 @@ fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicR } fun UninterpretedSymbolicPythonObject.getListIteratorContent( - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): Pair> = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, typeSystem.pythonListIteratorType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt index 21e1aa19a0..9c8af443cd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -11,7 +11,7 @@ fun UninterpretedSymbolicPythonObject.setRangeContent( ctx: ConcolicRunContext, start: UExpr, stop: UExpr, - step: UExpr + step: UExpr, ) = with(ctx.ctx) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonRange) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt index c03b61373d..6e9825c876 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -11,7 +11,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( ctx: ConcolicRunContext, - range: UninterpretedSymbolicPythonObject + range: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { require(ctx.curState != null) addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) @@ -26,7 +26,7 @@ fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( } fun UninterpretedSymbolicPythonObject.getRangeIteratorState( - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): Pair, UExpr> = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) @@ -36,7 +36,7 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorState( } fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): UExpr = with(ctx.ctx) { require(ctx.curState != null) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) @@ -46,4 +46,4 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) return mkArithAdd(start, mkArithMul(index, step)) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index 3fb42d7f12..4d4ee8190f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -11,13 +11,13 @@ import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue -import org.usvm.machine.types.IntSetType -import org.usvm.machine.types.RefSetType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.SetContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.IntSetType +import org.usvm.machine.types.RefSetType import org.usvm.memory.key.USizeExprKeyInfo fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { @@ -31,12 +31,18 @@ fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { require(ctx.curState != null) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonSet) - ctx.curState!!.memory.writeField(address, SetContents.isNotEmpty, ctx.ctx.boolSort, ctx.ctx.trueExpr, ctx.ctx.trueExpr) + ctx.curState!!.memory.writeField( + address, + SetContents.isNotEmpty, + ctx.ctx.boolSort, + ctx.ctx.trueExpr, + ctx.ctx.trueExpr + ) } fun UninterpretedSymbolicPythonObject.setContainsInt( ctx: ConcolicRunContext, - key: UExpr + key: UExpr, ): UBoolExpr = with(ctx.ctx) { require(ctx.curState != null) val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) @@ -45,7 +51,7 @@ fun UninterpretedSymbolicPythonObject.setContainsInt( fun UninterpretedSymbolicPythonObject.addIntToSet( ctx: ConcolicRunContext, - key: UExpr + key: UExpr, ) = with(ctx.ctx) { require(ctx.curState != null) makeSetNotEmpty(ctx) @@ -55,7 +61,7 @@ fun UninterpretedSymbolicPythonObject.addIntToSet( fun UninterpretedSymbolicPythonObject.setContainsRef( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ): UBoolExpr = with(ctx.ctx) { require(ctx.curState != null) val lvalue = URefSetEntryLValue(address, key.address, RefSetType) @@ -64,7 +70,7 @@ fun UninterpretedSymbolicPythonObject.setContainsRef( fun UninterpretedSymbolicPythonObject.addRefToSet( ctx: ConcolicRunContext, - key: UninterpretedSymbolicPythonObject + key: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { require(ctx.curState != null) makeSetNotEmpty(ctx) @@ -78,7 +84,7 @@ fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: PyContext): Boolean = w fun InterpretedInputSymbolicPythonObject.setContainsInt( ctx: PyContext, - key: KInterpretedValue + key: KInterpretedValue, ): Boolean = with(ctx) { val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) return !setIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue @@ -86,8 +92,8 @@ fun InterpretedInputSymbolicPythonObject.setContainsInt( fun InterpretedInputSymbolicPythonObject.setContainsRef( ctx: PyContext, - key: InterpretedSymbolicPythonObject + key: InterpretedSymbolicPythonObject, ): Boolean { val lvalue = URefSetEntryLValue(address, key.address, RefSetType) return !setIsEmpty(ctx) && modelHolder.model.read(lvalue).isTrue -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 15610beac0..42d2e28625 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -8,39 +8,51 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.PropertyOfPythonObject import org.usvm.machine.symbolicobjects.SliceContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.PythonTypeSystem data class SliceInterpretedContent( val start: KInterpretedValue?, val stop: KInterpretedValue?, - val step: KInterpretedValue? + val step: KInterpretedValue?, ) fun InterpretedInputSymbolicPythonObject.getSliceContent(ctx: PyContext, typeSystem: PythonTypeSystem): SliceInterpretedContent { require(getConcreteType() == typeSystem.pythonSlice) val startIsNone = modelHolder.model.readField(address, SliceContents.startIsNone, ctx.boolSort).isTrue - val start = if (startIsNone) null else modelHolder.model.readField(address, SliceContents.start, ctx.intSort) as KInterpretedValue + val start = if (startIsNone) null else modelHolder.model.readField( + address, + SliceContents.start, + ctx.intSort + ) as KInterpretedValue val stopIsNone = modelHolder.model.readField(address, SliceContents.stopIsNone, ctx.boolSort).isTrue - val stop = if (stopIsNone) null else modelHolder.model.readField(address, SliceContents.stop, ctx.intSort) as KInterpretedValue + val stop = if (stopIsNone) null else modelHolder.model.readField( + address, + SliceContents.stop, + ctx.intSort + ) as KInterpretedValue val stepIsNone = modelHolder.model.readField(address, SliceContents.stepIsNone, ctx.boolSort).isTrue - val step = if (stepIsNone) null else modelHolder.model.readField(address, SliceContents.step, ctx.intSort) as KInterpretedValue + val step = if (stepIsNone) null else modelHolder.model.readField( + address, + SliceContents.step, + ctx.intSort + ) as KInterpretedValue return SliceInterpretedContent(start, stop, step) } data class SliceUninterpretedField( val isNone: UBoolExpr, - val content: UExpr + val content: UExpr, ) private fun UninterpretedSymbolicPythonObject.getSliceField( ctx: ConcolicRunContext, fieldIsNone: PropertyOfPythonObject, - field: PropertyOfPythonObject + field: PropertyOfPythonObject, ): SliceUninterpretedField { require(ctx.curState != null) addSupertype(ctx, ctx.typeSystem.pythonSlice) @@ -53,7 +65,7 @@ private fun UninterpretedSymbolicPythonObject.setSliceField( ctx: ConcolicRunContext, fieldIsNone: PropertyOfPythonObject, field: PropertyOfPythonObject, - content: SliceUninterpretedField + content: SliceUninterpretedField, ) { require(ctx.curState != null) addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index c65207316b..0b2aaa7197 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -1,6 +1,7 @@ package org.usvm.machine.symbolicobjects.memory -import org.usvm.* +import org.usvm.UBoolExpr +import org.usvm.UConcreteHeapRef import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapContains import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapGet import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut @@ -8,21 +9,24 @@ import org.usvm.api.typeStreamOf import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue import org.usvm.interpreter.ConcolicRunContext +import org.usvm.isAllocatedConcreteHeapRef +import org.usvm.isStaticHeapRef +import org.usvm.isTrue import org.usvm.language.PyCallable -import org.usvm.machine.types.ConcretePythonType -import org.usvm.machine.types.ObjectDictType -import org.usvm.machine.types.PythonType import org.usvm.machine.PyContext import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.ObjectDictType +import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory import org.usvm.types.first fun UninterpretedSymbolicPythonObject.getFieldValue( ctx: ConcolicRunContext, - name: UninterpretedSymbolicPythonObject + name: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { require(ctx.curState != null) name.addSupertype(ctx, typeSystem.pythonStr) @@ -33,7 +37,7 @@ fun UninterpretedSymbolicPythonObject.getFieldValue( fun UninterpretedSymbolicPythonObject.setFieldValue( ctx: ConcolicRunContext, name: UninterpretedSymbolicPythonObject, - value: UninterpretedSymbolicPythonObject + value: UninterpretedSymbolicPythonObject, ) { require(ctx.curState != null) name.addSupertypeSoft(ctx, typeSystem.pythonStr) @@ -42,7 +46,7 @@ fun UninterpretedSymbolicPythonObject.setFieldValue( fun UninterpretedSymbolicPythonObject.containsField( ctx: ConcolicRunContext, - name: UninterpretedSymbolicPythonObject + name: UninterpretedSymbolicPythonObject, ): UBoolExpr { require(ctx.curState != null) name.addSupertype(ctx, typeSystem.pythonStr) @@ -50,7 +54,7 @@ fun UninterpretedSymbolicPythonObject.containsField( } fun InterpretedInputSymbolicPythonObject.containsField( - name: InterpretedSymbolicPythonObject + name: InterpretedSymbolicPythonObject, ): Boolean { require(!isAllocatedConcreteHeapRef(name.address)) val result = modelHolder.model.read(URefSetEntryLValue(address, name.address, ObjectDictType)) @@ -60,14 +64,14 @@ fun InterpretedInputSymbolicPythonObject.containsField( fun InterpretedInputSymbolicPythonObject.getFieldValue( ctx: PyContext, name: InterpretedSymbolicPythonObject, - memory: UMemory + memory: UMemory, ): InterpretedSymbolicPythonObject { require(!isAllocatedConcreteHeapRef(name.address)) val result = modelHolder.model.read(URefMapEntryLValue(ctx.addressSort, address, name.address, ObjectDictType)) require((result as UConcreteHeapRef).address <= 0) - return if (!isStaticHeapRef(result)) + return if (!isStaticHeapRef(result)) { InterpretedInputSymbolicPythonObject(result, modelHolder, typeSystem) - else { + } else { val type = memory.typeStreamOf(result).first() require(type is ConcretePythonType) InterpretedAllocatedOrStaticSymbolicPythonObject(result, type, typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt index 0662508da0..e873d4c867 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Str.kt @@ -4,4 +4,4 @@ import org.usvm.machine.symbolicobjects.PreallocatedObjects import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject fun UninterpretedSymbolicPythonObject.getConcreteStrIfDefined(preallocatedObjects: PreallocatedObjects): String? = - preallocatedObjects.concreteString(this) \ No newline at end of file + preallocatedObjects.concreteString(this) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index b5e960e08b..227767c702 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -9,14 +9,18 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.TupleIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with(ctx.ctx) { +fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with( + ctx.ctx +) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) } -fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with(ctx.ctx) { +fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with( + ctx.ctx +) { require(ctx.curState != null) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt index 9ca02614f9..73eaafe857 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt @@ -1,9 +1,9 @@ package org.usvm.machine.symbolicobjects.rendering +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyObjectModel @@ -35,4 +35,4 @@ class DefaultPyObjectModelProvider(private val typeSystem: PythonTypeSystem) { } } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index 7a465db61e..16de7c7f6c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -7,8 +7,6 @@ import org.usvm.UConcreteHeapRef import org.usvm.api.typeStreamOf import org.usvm.isAllocatedConcreteHeapRef import org.usvm.isStaticHeapRef -import org.usvm.machine.types.ConcretePythonType -import org.usvm.machine.types.MockType import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.model.PyModelHolder @@ -16,15 +14,41 @@ import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPyth import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -import org.usvm.machine.symbolicobjects.memory.* +import org.usvm.machine.symbolicobjects.memory.FloatMinusInfinity +import org.usvm.machine.symbolicobjects.memory.FloatNan +import org.usvm.machine.symbolicobjects.memory.FloatNormalValue +import org.usvm.machine.symbolicobjects.memory.FloatPlusInfinity +import org.usvm.machine.symbolicobjects.memory.containsField +import org.usvm.machine.symbolicobjects.memory.dictContainsInt +import org.usvm.machine.symbolicobjects.memory.dictContainsRef +import org.usvm.machine.symbolicobjects.memory.dictIsEmpty +import org.usvm.machine.symbolicobjects.memory.getBoolContent +import org.usvm.machine.symbolicobjects.memory.getFieldValue +import org.usvm.machine.symbolicobjects.memory.getFloatContent +import org.usvm.machine.symbolicobjects.memory.getIntContent +import org.usvm.machine.symbolicobjects.memory.getSliceContent +import org.usvm.machine.symbolicobjects.memory.readArrayElement +import org.usvm.machine.symbolicobjects.memory.readArrayLength +import org.usvm.machine.symbolicobjects.memory.readDictIntElement +import org.usvm.machine.symbolicobjects.memory.readDictRefElement +import org.usvm.machine.symbolicobjects.memory.setContainsInt +import org.usvm.machine.symbolicobjects.memory.setContainsRef +import org.usvm.machine.symbolicobjects.memory.setIsEmpty +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.MockType import org.usvm.machine.utils.MAX_INPUT_ARRAY_LENGTH import org.usvm.mkSizeExpr -import org.usvm.python.model.* +import org.usvm.python.model.PyCompositeObject +import org.usvm.python.model.PyIdentifier +import org.usvm.python.model.PyMockObject +import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyPrimitive +import org.usvm.python.model.PyTupleObject import org.usvm.types.first class PyObjectModelBuilder( var state: PyState, - private val modelHolder: PyModelHolder + private val modelHolder: PyModelHolder, ) { init { require(state.pyModel == modelHolder.model) @@ -32,15 +56,17 @@ class PyObjectModelBuilder( private val converted = mutableMapOf() fun convert(obj: InterpretedSymbolicPythonObject): PyObjectModel { - if (obj is InterpretedInputSymbolicPythonObject) + if (obj is InterpretedInputSymbolicPythonObject) { require(obj.modelHolder.model == state.pyModel) { "Models in PyState and in InterpretedSymbolicPythonObject must be the same" } + } require(!isAllocatedConcreteHeapRef(obj.address)) { "Cannot convert allocated objects" } - if (obj.address in converted) + if (obj.address in converted) { return converted[obj.address]!! + } val typeSystem = state.typeSystem val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty") val result: PyObjectModel = when (type) { @@ -56,10 +82,11 @@ class PyObjectModelBuilder( typeSystem.pythonDict -> convertDict(obj) typeSystem.pythonSet -> convertSet(obj) else -> { - if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) + if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) { convertFromDefaultConstructor(obj, type) - else + } else { error("Could not construct instance of type $type") + } } } converted[obj.address] = result @@ -71,8 +98,9 @@ class PyObjectModelBuilder( val default = modelHolder.model.forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } - if (default != null) + if (default != null) { return default + } return PyMockObject(obj.address.address) } @@ -195,8 +223,9 @@ class PyObjectModelBuilder( require(obj is InterpretedInputSymbolicPythonObject) { "Input set cannot be static" } - if (obj.setIsEmpty(state.ctx)) + if (obj.setIsEmpty(state.ctx)) { return PyCompositeObject(PyIdentifier("builtins", "set"), emptyList()) + } val items = mutableListOf() val model = state.pyModel model.possibleRefKeys.forEach { @@ -228,7 +257,7 @@ class PyObjectModelBuilder( private fun convertFromDefaultConstructor( obj: InterpretedSymbolicPythonObject, - type: ConcretePythonType + type: ConcretePythonType, ): PyObjectModel { require(obj is InterpretedInputSymbolicPythonObject) { "Instance of type with default constructor cannot be static" @@ -242,13 +271,19 @@ class PyObjectModelBuilder( listOf(type.id) ) converted[obj.address] = result - if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) + if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { return result + } val fields = mutableMapOf() state.preAllocatedObjects.listAllocatedStrs().forEach { val nameAddress = modelHolder.model.eval(it.address) require(isStaticHeapRef(nameAddress)) { "Symbolic string object must be static" } - val nameSymbol = InterpretedAllocatedOrStaticSymbolicPythonObject(nameAddress, state.typeSystem.pythonStr, state.typeSystem) + val nameSymbol = + InterpretedAllocatedOrStaticSymbolicPythonObject( + nameAddress, + state.typeSystem.pythonStr, + state.typeSystem + ) if (obj.containsField(nameSymbol)) { val str = state.preAllocatedObjects.concreteString(it)!! if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { @@ -274,11 +309,12 @@ class PyObjectModelBuilder( } private fun constructArrayContents( - obj: InterpretedInputSymbolicPythonObject + obj: InterpretedInputSymbolicPythonObject, ): List { val size = obj.readArrayLength(state.ctx) as? KInt32NumExpr ?: throw LengthOverflowException - if (size.value > MAX_INPUT_ARRAY_LENGTH) + if (size.value > MAX_INPUT_ARRAY_LENGTH) { throw LengthOverflowException + } return List(size.value) { index -> val indexExpr = state.ctx.mkSizeExpr(index) as KInterpretedValue val elemInterpretedObject = obj.readArrayElement(indexExpr, state) @@ -287,6 +323,6 @@ class PyObjectModelBuilder( } } -object LengthOverflowException: Exception() { +object LengthOverflowException : Exception() { private fun readResolve(): Any = LengthOverflowException -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt index 04453a74ea..dab06f389a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt @@ -4,13 +4,19 @@ import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.concrete.PyObject -import org.usvm.python.model.* +import org.usvm.python.model.PyCompositeObject +import org.usvm.python.model.PyIdentifier +import org.usvm.python.model.PyMockObject +import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyPrimitive +import org.usvm.python.model.PyTupleObject class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { private val converted = mutableMapOf() fun convert(model: PyObjectModel): PyObject { - if (model in converted) + if (model in converted) { return converted[model]!! + } val result = when (model) { is PyPrimitive -> convertPrimitive(model) is PyIdentifier -> convertIdentifier(model) @@ -87,8 +93,9 @@ class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { private val virtualObjects = mutableSetOf>() private fun convertMock(model: PyMockObject): PyObject { - if (useNoneInsteadOfMock) + if (useNoneInsteadOfMock) { return ConcretePythonInterpreter.eval(emptyNamespace, "None") + } val virtual = VirtualPythonObject(model.id) val result = ConcretePythonInterpreter.allocateVirtualObject(virtual) virtualObjects.add(virtual to result) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt index 219b8d4210..f7da78a0a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt @@ -6,36 +6,38 @@ import org.usvm.UNullRef import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel +import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject abstract class ElementConstraint { abstract fun applyUninterpreted( array: UninterpretedSymbolicPythonObject, element: UninterpretedSymbolicPythonObject, - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): UBoolExpr abstract fun applyInterpreted( array: UConcreteHeapRef, element: UConcreteHeapRef, model: PyModel, - ctx: PyContext + ctx: PyContext, ): Boolean } -object NonRecursiveConstraint: ElementConstraint() { +object NonRecursiveConstraint : ElementConstraint() { override fun applyUninterpreted( array: UninterpretedSymbolicPythonObject, element: UninterpretedSymbolicPythonObject, - ctx: ConcolicRunContext + ctx: ConcolicRunContext, ): UBoolExpr = with(ctx.ctx) { - if (element.address is UConcreteHeapRef) + if (element.address is UConcreteHeapRef) { return trueExpr - if (element.address is UNullRef) + } + if (element.address is UNullRef) { return trueExpr + } mkIteNoSimplify( mkHeapRefEq(element.address, nullRef), trueExpr, @@ -47,11 +49,11 @@ object NonRecursiveConstraint: ElementConstraint() { array: UConcreteHeapRef, element: UConcreteHeapRef, model: PyModel, - ctx: PyContext + ctx: PyContext, ): Boolean = with(ctx) { - if (element.address == 0 || element.address > 0) + if (element.address == 0 || element.address > 0) { return true + } (model.readField(element, TimeOfCreation, intSort) lt model.readField(array, TimeOfCreation, intSort)).isTrue } - -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index 29ccd0efea..a02ee54a7c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -3,24 +3,27 @@ package org.usvm.machine.types import org.usvm.language.StructuredPyProgram import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace +import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.types.streams.PyMockTypeStream import org.usvm.machine.types.streams.TypeFilter -import org.usvm.types.USupportTypeStream -import org.usvm.types.UTypeStream -import org.usvm.types.UTypeSystem import org.usvm.machine.utils.withAdditionalPaths import org.usvm.python.model.PyIdentifier -import org.utpython.types.* -import org.utpython.types.general.UtType +import org.usvm.types.UTypeStream +import org.usvm.types.UTypeSystem +import org.utpython.types.PythonTypeHintsStorage +import org.utpython.types.PythonTypeWrapperForEqualityCheck import org.utpython.types.general.DefaultSubstitutionProvider +import org.utpython.types.general.UtType import org.utpython.types.general.getBoundedParameters import org.utpython.types.mypy.MypyInfoBuild +import org.utpython.types.pythonAnyType +import org.utpython.types.pythonModuleName +import org.utpython.types.pythonName import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds -abstract class PythonTypeSystem: UTypeSystem { +abstract class PythonTypeSystem : UTypeSystem { override val typeOperationsTimeout: Duration get() = 1000.milliseconds @@ -107,8 +110,9 @@ abstract class PythonTypeSystem: UTypeSystem { } override fun findSubtypes(type: PythonType): Sequence { - if (isFinal(type)) + if (isFinal(type)) { return emptySequence() + } return (listOf(MockType) + allConcreteTypes.filter { isSupertype(type, it) }).asSequence() } @@ -117,10 +121,16 @@ abstract class PythonTypeSystem: UTypeSystem { } private fun createConcreteTypeByName(name: String, isHidden: Boolean = false): ConcretePythonType = - addPrimitiveType(isHidden, PyIdentifier("builtins", name)) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + addPrimitiveType( + isHidden, + PyIdentifier("builtins", name) + ) { ConcretePythonInterpreter.eval(emptyNamespace, name) } private fun createArrayLikeTypeByName(name: String, constraints: Set): ArrayLikeConcretePythonType = - addArrayLikeType(constraints, PyIdentifier("builtins", name)) { ConcretePythonInterpreter.eval(emptyNamespace, name) } + addArrayLikeType( + constraints, + PyIdentifier("builtins", name) + ) { ConcretePythonInterpreter.eval(emptyNamespace, name) } val pythonInt = createConcreteTypeByName("int") val pythonBool = createConcreteTypeByName("bool") @@ -156,7 +166,7 @@ abstract class PythonTypeSystem: UTypeSystem { } } -class BasicPythonTypeSystem: PythonTypeSystem() { +class BasicPythonTypeSystem : PythonTypeSystem() { init { allConcreteTypes = basicTypes } @@ -164,15 +174,15 @@ class BasicPythonTypeSystem: PythonTypeSystem() { class PythonTypeSystemWithMypyInfo( mypyBuild: MypyInfoBuild, - private val program: StructuredPyProgram -): PythonTypeSystem() { + private val program: StructuredPyProgram, +) : PythonTypeSystem() { val typeHintsStorage = PythonTypeHintsStorage.get(mypyBuild) private fun typeAlreadyInStorage(typeRef: PyObject): Boolean = addressToConcreteType.keys.contains(typeRef) private fun isWorkableType(typeRef: PyObject): Boolean { return ConcretePythonInterpreter.getPythonObjectTypeName(typeRef) == "type" && - (ConcretePythonInterpreter.typeHasStandardNew(typeRef) || basicTypeRefs.contains(typeRef)) + (ConcretePythonInterpreter.typeHasStandardNew(typeRef) || basicTypeRefs.contains(typeRef)) } private val utTypeOfConcretePythonType = mutableMapOf() @@ -186,12 +196,13 @@ class PythonTypeSystemWithMypyInfo( fun resortTypes(module: String) { allConcreteTypes = allConcreteTypes.sortedBy { - if (it in basicTypes) + if (it in basicTypes) { 0 - else if (it.typeModule == module) + } else if (it.typeModule == module) { 1 - else + } else { 2 + } } } @@ -215,8 +226,9 @@ class PythonTypeSystemWithMypyInfo( return@mapNotNull null } ConcretePythonInterpreter.incref(ref) - if (!isWorkableType(ref)) + if (!isWorkableType(ref)) { return@mapNotNull null + } if (typeAlreadyInStorage(ref)) { utTypeOfConcretePythonType[concreteTypeOnAddress(ref)!!] = utType @@ -230,4 +242,4 @@ class PythonTypeSystemWithMypyInfo( } } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt index 0ef380d882..e6f963c512 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt @@ -5,20 +5,20 @@ import org.usvm.python.model.PyIdentifier sealed class PythonType -object MockType: PythonType() +object MockType : PythonType() -open class InternalType: PythonType() +open class InternalType : PythonType() -sealed class InternalDictType: InternalType() -object ObjectDictType: InternalDictType() -object RefDictType: InternalDictType() -object IntDictType: InternalDictType() +sealed class InternalDictType : InternalType() +object ObjectDictType : InternalDictType() +object RefDictType : InternalDictType() +object IntDictType : InternalDictType() -sealed class InternalSetType: InternalType() -object RefSetType: InternalSetType() -object IntSetType: InternalSetType() +sealed class InternalSetType : InternalType() +object RefSetType : InternalSetType() +object IntSetType : InternalSetType() -abstract class VirtualPythonType: PythonType() { +abstract class VirtualPythonType : PythonType() { abstract fun accepts(type: PythonType): Boolean } @@ -27,8 +27,8 @@ sealed class ConcretePythonType( val typeName: String, val id: PyIdentifier, val isHidden: Boolean = false, - val addressGetter: () -> PyObject -): PythonType() { + val addressGetter: () -> PyObject, +) : PythonType() { val asObject: PyObject get() = owner.addressOfConcreteType(this) @@ -45,8 +45,8 @@ class PrimitiveConcretePythonType( typeName: String, id: PyIdentifier, isHidden: Boolean = false, - addressGetter: () -> PyObject -): ConcretePythonType(owner, typeName, id, isHidden, addressGetter) + addressGetter: () -> PyObject, +) : ConcretePythonType(owner, typeName, id, isHidden, addressGetter) class ArrayLikeConcretePythonType( val elementConstraints: Set, @@ -54,5 +54,5 @@ class ArrayLikeConcretePythonType( typeName: String, id: PyIdentifier, val innerType: PythonType? = null, - addressGetter: () -> PyObject -): ConcretePythonType(owner, typeName, id,false, addressGetter) \ No newline at end of file + addressGetter: () -> PyObject, +) : ConcretePythonType(owner, typeName, id, false, addressGetter) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt index 3b827d8d85..a35d37f5ed 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/UtTypeConversion.kt @@ -9,17 +9,19 @@ import org.utpython.types.typesAreEqual fun getTypeFromTypeHint( hint: UtType, - typeSystem: PythonTypeSystemWithMypyInfo + typeSystem: PythonTypeSystemWithMypyInfo, ): PythonType { - if (typesAreEqual(hint, pythonAnyType)) + if (typesAreEqual(hint, pythonAnyType)) { return PythonAnyType + } val hintAfterSubstitution = DefaultSubstitutionProvider.substitute( hint, hint.getBoundedParameters().associateWith { pythonAnyType } ) val fromTypeSystem = typeSystem.concreteTypeFromTypeHint(hintAfterSubstitution) - if (fromTypeSystem != null) + if (fromTypeSystem != null) { return fromTypeSystem + } val storage = typeSystem.typeHintsStorage val substitutedDict = DefaultSubstitutionProvider.substituteAll( storage.pythonDict, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt index c50f29ec29..414bde699d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt @@ -2,138 +2,144 @@ package org.usvm.machine.types import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -object PythonAnyType: VirtualPythonType() { +object PythonAnyType : VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true } -object ArrayType: VirtualPythonType() { +object ArrayType : VirtualPythonType() { override fun accepts(type: PythonType): Boolean { return type == this || type is ArrayLikeConcretePythonType } } -data class HasElementConstraint(private val constraint: ElementConstraint): VirtualPythonType() { +data class HasElementConstraint(private val constraint: ElementConstraint) : VirtualPythonType() { override fun accepts(type: PythonType): Boolean { - if (type == this) + if (type == this) { return true - if (type !is ArrayLikeConcretePythonType) + } + if (type !is ArrayLikeConcretePythonType) { return false + } return type.elementConstraints.contains(constraint) } } -data class ConcreteTypeNegation(val concreteType: ConcretePythonType): VirtualPythonType() { +data class ConcreteTypeNegation(val concreteType: ConcretePythonType) : VirtualPythonType() { override fun accepts(type: PythonType): Boolean { - if (type is MockType || type == this) + if (type is MockType || type == this) { return true - if (type !is ConcretePythonType) + } + if (type !is ConcretePythonType) { return false + } return type != concreteType } } -sealed class TypeProtocol: VirtualPythonType() { +sealed class TypeProtocol : VirtualPythonType() { abstract fun acceptsConcrete(type: ConcretePythonType): Boolean override fun accepts(type: PythonType): Boolean { - if (type == this || type is MockType) + if (type == this || type is MockType) { return true - if (type !is ConcretePythonType) + } + if (type !is ConcretePythonType) { return false + } return acceptsConcrete(type) } } -object HasNbBool: TypeProtocol() { +object HasNbBool : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbBool(type.asObject) } -object HasNbInt: TypeProtocol() { +object HasNbInt : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbInt(type.asObject) } -object HasNbIndex: TypeProtocol() { +object HasNbIndex : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbIndex(type.asObject) } -object HasNbAdd: TypeProtocol() { +object HasNbAdd : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbAdd(type.asObject) } -object HasNbSubtract: TypeProtocol() { +object HasNbSubtract : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbSubtract(type.asObject) } -object HasNbMultiply: TypeProtocol() { +object HasNbMultiply : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbMultiply(type.asObject) } -object HasNbMatrixMultiply: TypeProtocol() { +object HasNbMatrixMultiply : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbMatrixMultiply(type.asObject) } -object HasNbNegative: TypeProtocol() { +object HasNbNegative : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbNegative(type.asObject) } -object HasNbPositive: TypeProtocol() { +object HasNbPositive : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasNbPositive(type.asObject) } -object HasSqLength: TypeProtocol() { +object HasSqLength : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasSqLength(type.asObject) } -object HasMpLength: TypeProtocol() { +object HasMpLength : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasMpLength(type.asObject) } -object HasMpSubscript: TypeProtocol() { +object HasMpSubscript : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasMpSubscript(type.asObject) } -object HasMpAssSubscript: TypeProtocol() { +object HasMpAssSubscript : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasMpAssSubscript(type.asObject) } -object HasTpRichcmp: TypeProtocol() { +object HasTpRichcmp : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpRichcmp(type.asObject) } -object HasTpGetattro: TypeProtocol() { +object HasTpGetattro : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpGetattro(type.asObject) } -object HasTpSetattro: TypeProtocol() { +object HasTpSetattro : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpSetattro(type.asObject) } -object HasTpIter: TypeProtocol() { +object HasTpIter : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpIter(type.asObject) } -object HasTpCall: TypeProtocol() { +object HasTpCall : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpCall(type.asObject) } -object HasTpHash: TypeProtocol() { +object HasTpHash : TypeProtocol() { override fun acceptsConcrete(type: ConcretePythonType): Boolean = ConcretePythonInterpreter.typeHasTpHash(type.asObject) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt index ad97a78022..0cf9c90936 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/PyMockTypeStream.kt @@ -1,7 +1,14 @@ package org.usvm.machine.types.streams import mu.KLogging -import org.usvm.machine.types.* +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.ConcreteTypeNegation +import org.usvm.machine.types.InternalType +import org.usvm.machine.types.MockType +import org.usvm.machine.types.PythonAnyType +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.VirtualPythonType import org.usvm.types.TypesResult import org.usvm.types.USingleTypeStream import org.usvm.types.UTypeStream @@ -10,7 +17,7 @@ import org.usvm.types.emptyTypeStream class PyMockTypeStream( private val typeSystem: PythonTypeSystem, - private val filter: TypeFilter + private val filter: TypeFilter, ) : UTypeStream { private fun singleOfEmpty(type: PythonType): UTypeStream { val filtered = sequenceOf(type).filter(filter).take(1).toList() @@ -52,7 +59,7 @@ class PyMockTypeStream( return if (result.isEmpty()) { TypesResult.EmptyTypesResult } else { - if (result.first() !is MockType) { // TODO: PyMockTypeStream must start with MockType + if (result.first() !is MockType) { // TODO: PyMockTypeStream must start with MockType logger.warn("Bad start of PyMockTypeStream") return TypesResult.SuccessfulTypesResult(listOf(result.first())) } @@ -69,4 +76,4 @@ class PyMockTypeStream( companion object { private val logger = object : KLogging() {}.logger } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt index 78cd068bfc..f32e66e0b1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/streams/TypeFilter.kt @@ -26,9 +26,9 @@ class TypeFilter( fun filterTypes(types: Sequence): Sequence = types.filter { type -> supertypes.all { typeSystem.isSupertype(it, type) } && - notSupertypes.all { !typeSystem.isSupertype(it, type) } && - subtypes.all { typeSystem.isSupertype(type, it) } && - notSubtypes.all { !typeSystem.isSupertype(type, it) } + notSupertypes.all { !typeSystem.isSupertype(it, type) } && + subtypes.all { typeSystem.isSupertype(type, it) } && + notSubtypes.all { !typeSystem.isSupertype(type, it) } } companion object { @@ -38,4 +38,4 @@ class TypeFilter( } fun Sequence.filter(filter: TypeFilter): Sequence = - filter.filterTypes(this) \ No newline at end of file + filter.filterTypes(this) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt index 30364902f7..7bbe2148ce 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/Generators.kt @@ -28,4 +28,4 @@ fun unfoldGenerator(funcRef: PyObject): PyObject { return ConcretePythonInterpreter.eval(namespace, "new_f").also { ConcretePythonInterpreter.decref(namespace) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt index cc794db230..a785959722 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/GlobalParameters.kt @@ -1,4 +1,4 @@ package org.usvm.machine.utils const val MAX_CONCRETE_TYPES_TO_CONSIDER = 1000 -const val MAX_INPUT_ARRAY_LENGTH = 1_000 \ No newline at end of file +const val MAX_INPUT_ARRAY_LENGTH = 1_000 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt index d20643106c..beed5c1ad4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyImportUtils.kt @@ -1,7 +1,7 @@ package org.usvm.machine.utils -import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.types.PythonTypeSystem import java.io.File fun withAdditionalPaths(additionalPaths: Collection, typeSystem: PythonTypeSystem?, block: () -> T): T { @@ -20,7 +20,11 @@ fun withAdditionalPaths(additionalPaths: Collection, typeSystem: Pytho namespace, """ import sys, copy - sys.path += ${additionalPaths.joinToString(prefix = "[", separator = ", ", postfix = "]") { "r\"${it.canonicalPath}\"" }} + sys.path += ${additionalPaths.joinToString( + prefix = "[", + separator = ", ", + postfix = "]" + ) { "r\"${it.canonicalPath}\"" }} """.trimIndent() ) @@ -43,4 +47,4 @@ fun withAdditionalPaths(additionalPaths: Collection, typeSystem: Pytho ConcretePythonInterpreter.decref(namespace) return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index ad4f76eba3..91efe04bf4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -26,8 +26,9 @@ fun writeLostSymbolicValuesReport(lostValues: Map): Stri } private fun addWithDefault(map: MutableMap, descr: MethodDescription, value: Int = 1) { - if (map[descr] == null) + if (map[descr] == null) { map[descr] = 0 + } map[descr] = map[descr]!! + value } @@ -71,7 +72,9 @@ class PyMachineStatistics { result.append("Functions analyzed: ${functionStatistics.size}\n") result.append("Mean coverage: $meanCoverage\n") result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") - result.append("Number of functions with unregistered virtual operations: $numberOfFunctionsWithUnregisteredVirtualOperations\n") + result.append( + "Number of functions with unregistered virtual operations: $numberOfFunctionsWithUnregisteredVirtualOperations\n" + ) result.append("Lost symbolic values (by number of functions):\n") result.append(writeLostSymbolicValuesReport(lostSymbolicValuesByNumberOfFunctions)) result.append("Lost symbolic values (by overall usages):\n") @@ -116,11 +119,13 @@ class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) } } fun updateCoverage(cmd: NextInstruction, usesVirtual: Boolean) { - if (cmd.pyInstruction.code != functionCode) + if (cmd.pyInstruction.code != functionCode) { return + } coveredInstructions += cmd.pyInstruction.numberInBytecode - if (!usesVirtual) + if (!usesVirtual) { coveredInstructionsNoVirtual += cmd.pyInstruction.numberInBytecode + } coverage = coveredInstructions.size.toDouble() / instructionOffsets.size coverageNoVirtual = coveredInstructionsNoVirtual.size.toDouble() / instructionOffsets.size } @@ -137,5 +142,5 @@ class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) } data class MethodDescription( - val description: String -) \ No newline at end of file + val description: String, +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index ff7d2c2727..89be16be4f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -1,12 +1,18 @@ package org.usvm.machine.utils -import org.usvm.* +import org.usvm.UAddressSort +import org.usvm.UConcreteHeapRef +import org.usvm.UHeapRef +import org.usvm.UIteExpr +import org.usvm.UNullRef +import org.usvm.USymbolicHeapRef import org.usvm.api.typeStreamOf import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.types.PythonType +import org.usvm.isTrue import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.types.PythonType import org.usvm.types.TypesResult import org.usvm.types.UTypeStream @@ -16,10 +22,11 @@ fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = is UNullRef -> ref is USymbolicHeapRef -> ref is UIteExpr -> - if (model.eval(ref.condition).isTrue) + if (model.eval(ref.condition).isTrue) { getLeafHeapRef(ref.trueBranch, model) - else + } else { getLeafHeapRef(ref.falseBranch, model) + } else -> error("Unexpected ref: $ref") } @@ -31,9 +38,10 @@ fun getTypeStreamForDelayedFork(obj: UninterpretedSymbolicPythonObject, ctx: Con if (interpreted.address.address != 0) { val current = interpreted.getTypeStream()!! val prefix = current.take(3) - if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= 3) + if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= 3) { return current + } } val leaf = getLeafHeapRef(obj.address, ctx.modelHolder.model) return ctx.curState!!.memory.typeStreamOf(leaf) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt index 95b35a3390..0604137c41 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UtTypeUtils.kt @@ -1,18 +1,19 @@ package org.usvm.machine.utils +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.types.ConcretePythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.utpython.types.PythonCompositeTypeDescription import org.utpython.types.pythonDescription fun getMembersFromType( type: ConcretePythonType, - typeSystem: PythonTypeSystem + typeSystem: PythonTypeSystem, ): List { - if (typeSystem !is PythonTypeSystemWithMypyInfo) + if (typeSystem !is PythonTypeSystemWithMypyInfo) { return emptyList() + } val utType = typeSystem.typeHintOfConcreteType(type) ?: return emptyList() val description = utType.pythonDescription() as? PythonCompositeTypeDescription ?: return emptyList() return description.getNamedMembers(utType).map { @@ -20,4 +21,4 @@ fun getMembersFromType( }.filter { !it.startsWith("__") && ConcretePythonInterpreter.typeLookup(type.asObject, it) == null } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt index afd1c45eb7..44b453d89a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt @@ -6,8 +6,8 @@ import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.python.model.PyInputModel class InputModelObserverForRunner( - private val communicator: PickledObjectCommunicator -): InputModelObserver() { + private val communicator: PickledObjectCommunicator, +) : InputModelObserver() { private val sentData = mutableSetOf() override fun onInputModel(inputModel: PyInputModel) { val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) @@ -18,4 +18,4 @@ class InputModelObserverForRunner( communicator.sendPickledInputs(data) } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index dd08ecbd4b..8b8552fffa 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -2,15 +2,15 @@ package org.usvm.runner import org.usvm.machine.PyState import org.usvm.machine.model.PyModelHolder -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.results.serialization.PickleArgsSerializer import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject +import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer class NewStateObserverForRunner( - private val communicator: PickledObjectCommunicator -): NewStateObserver() { + private val communicator: PickledObjectCommunicator, +) : NewStateObserver() { private val sentData = mutableSetOf() override fun onNewState(state: PyState) { val modelHolder = PyModelHolder(state.pyModel) @@ -27,4 +27,4 @@ class NewStateObserverForRunner( communicator.sendPickledInputs(data) } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt index 5528a5c65f..ccbf17ced5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PickledObjectCommunicator.kt @@ -5,8 +5,8 @@ import java.net.Socket class PickledObjectCommunicator( ip: String, - port: Int -): AutoCloseable { + port: Int, +) : AutoCloseable { private val clientSocket = Socket(ip, port) private val writer = PrintWriter(clientSocket.getOutputStream()) @@ -19,4 +19,4 @@ class PickledObjectCommunicator( writer.close() clientSocket.close() } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index 7a9b1b832c..75f345bd49 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -2,12 +2,16 @@ package org.usvm.runner import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram -import org.usvm.machine.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.PyMachine import org.usvm.machine.results.PyMachineResultsReceiver -import org.usvm.machine.results.observers.* +import org.usvm.machine.results.observers.EmptyInputPythonObjectObserver +import org.usvm.machine.results.observers.EmptyNewStateObserver +import org.usvm.machine.results.observers.EmptyPyTestObserver +import org.usvm.machine.results.observers.NewStateObserver +import org.usvm.machine.results.observers.PyTestObserver import org.usvm.machine.results.serialization.EmptyObjectSerializer +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.python.ps.PyPathSelectorType import org.utpython.types.PythonCallableTypeDescription import org.utpython.types.PythonCompositeTypeDescription @@ -23,8 +27,8 @@ class PyMachineSocketRunner( programRoots: Set, socketIp: String, socketPort: Int, - pathSelector: PyPathSelectorType -): AutoCloseable { + pathSelector: PyPathSelectorType, +) : AutoCloseable { private val mypyDir = MypyBuildDirectory(mypyDirPath, programRoots.map { it.canonicalPath }.toSet()) private val mypyBuild = readMypyInfoBuild(mypyDir) private val communicator = PickledObjectCommunicator(socketIp, socketPort) @@ -39,15 +43,18 @@ class PyMachineSocketRunner( private fun validateFunctionType(type: UtType): FunctionType { val description = type.pythonDescription() as? PythonCallableTypeDescription ?: error("Specified definition is not a function") - if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) + if (description.argumentKinds.any { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + }) { error("Named arguments are not supported in symbolic execution") + } return type as FunctionType } private fun analyze( callable: PyUnpinnedCallable, timeoutPerRunMs: Long, - timeoutMs: Long + timeoutMs: Long, ) = machine.analyze( callable, saver = ResultReceiver(communicator), @@ -60,7 +67,7 @@ class PyMachineSocketRunner( module: String, functionName: String, timeoutPerRunMs: Long, - timeoutMs: Long + timeoutMs: Long, ) { val def = mypyBuild.definitions[module]?.let { it[functionName] } ?: error("Did not find specified function in mypy build") @@ -81,7 +88,7 @@ class PyMachineSocketRunner( functionName: String, clsName: String, timeoutPerRunMs: Long, - timeoutMs: Long + timeoutMs: Long, ) { val def = mypyBuild.definitions[module]?.let { it[clsName] } ?: error("Did not find specified class in mypy build") @@ -102,11 +109,11 @@ class PyMachineSocketRunner( analyze(unpinnedCallable, timeoutPerRunMs, timeoutMs) } - private class ResultReceiver(communicator: PickledObjectCommunicator): PyMachineResultsReceiver { + private class ResultReceiver(communicator: PickledObjectCommunicator) : PyMachineResultsReceiver { override val newStateObserver: NewStateObserver = EmptyNewStateObserver override val serializer = EmptyObjectSerializer override val inputModelObserver = InputModelObserverForRunner(communicator) override val inputPythonObjectObserver = EmptyInputPythonObjectObserver override val pyTestObserver: PyTestObserver = EmptyPyTestObserver() } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt index 0d55425fe7..a816161551 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/Config.kt @@ -9,24 +9,24 @@ data class USVMPythonConfig( val mypyBuildDir: String, val roots: Set, val venvConfig: VenvConfig?, - val pathSelector: PyPathSelectorType + val pathSelector: PyPathSelectorType, ) sealed class USVMPythonCallableConfig data class USVMPythonFunctionConfig( val module: String, - val name: String -): USVMPythonCallableConfig() + val name: String, +) : USVMPythonCallableConfig() data class USVMPythonMethodConfig( val module: String, val name: String, - val cls: String -): USVMPythonCallableConfig() + val cls: String, +) : USVMPythonCallableConfig() data class USVMPythonRunConfig( val callableConfig: USVMPythonCallableConfig, val timeoutMs: Long, - val timeoutPerRunMs: Long -) \ No newline at end of file + val timeoutPerRunMs: Long, +) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt index 2efcc37ef2..cdcea3e528 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt @@ -1,6 +1,6 @@ package org.usvm.runner -class DebugRunner(config: USVMPythonConfig): USVMPythonRunner(config) { +class DebugRunner(config: USVMPythonConfig) : USVMPythonRunner(config) { fun runProcessAndPrintInfo(runConfig: USVMPythonRunConfig) { val builder = setupEnvironment(runConfig) builder.redirectError(ProcessBuilder.Redirect.INHERIT) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt index 1d95765e3f..0ef4c0c596 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt @@ -9,9 +9,9 @@ abstract class DistributionLayout { abstract val jarPath: File } -class StandardLayout(distributionPath: File): DistributionLayout() { +class StandardLayout(distributionPath: File) : DistributionLayout() { override val cpythonPath: File = File(distributionPath, "cpython") override val approximationsPath: File = File(distributionPath, "lib") override val nativeLibPath: File = File(distributionPath, "lib") override val jarPath: File = File(distributionPath, "jar/usvm-python.jar") -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 1d57d97576..3d98a46d5e 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -6,19 +6,18 @@ import java.nio.channels.Channels import java.nio.channels.ClosedChannelException import java.nio.channels.ServerSocketChannel import java.nio.channels.SocketChannel -import java.util.concurrent.TimeUnit -interface PythonSymbolicAnalysisRunner: AutoCloseable { +interface PythonSymbolicAnalysisRunner : AutoCloseable { fun analyze(runConfig: USVMPythonRunConfig, receiver: USVMPythonAnalysisResultReceiver, isCancelled: () -> Boolean) } class PythonSymbolicAnalysisRunnerImpl( - config: USVMPythonConfig -): USVMPythonRunner(config), PythonSymbolicAnalysisRunner { + config: USVMPythonConfig, +) : USVMPythonRunner(config), PythonSymbolicAnalysisRunner { override fun analyze( runConfig: USVMPythonRunConfig, receiver: USVMPythonAnalysisResultReceiver, - isCancelled: () -> Boolean + isCancelled: () -> Boolean, ) { val start = System.currentTimeMillis() val processBuilder = setupEnvironment(runConfig) @@ -45,8 +44,8 @@ class PythonSymbolicAnalysisRunnerImpl( class ReadingThread( private val serverSocketChannel: ServerSocketChannel, private val receiver: USVMPythonAnalysisResultReceiver, - private val isCancelled: () -> Boolean - ): Thread() { + private val isCancelled: () -> Boolean, + ) : Thread() { var client: SocketChannel? = null override fun run() { try { @@ -73,8 +72,8 @@ class PythonSymbolicAnalysisRunnerImpl( class WaitingThread( private val process: Process, private val readingThread: Thread, - private val isCancelled: () -> Boolean - ): Thread() { + private val isCancelled: () -> Boolean, + ) : Thread() { override fun run() { while (readingThread.isAlive && process.isAlive && !isCancelled()) { sleep(10) @@ -93,4 +92,4 @@ class PythonSymbolicAnalysisRunnerImpl( companion object { val logger = object : KLogging() {}.logger } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt index ff2cfb31ee..685c2be070 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt @@ -2,4 +2,4 @@ package org.usvm.runner abstract class USVMPythonAnalysisResultReceiver { abstract fun receivePickledInputValues(pickledTuple: String) -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index 78cdffc591..f1f245f9c0 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -5,7 +5,7 @@ import java.io.File import java.net.InetSocketAddress import java.nio.channels.ServerSocketChannel -open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable { +open class USVMPythonRunner(private val config: USVMPythonConfig) : AutoCloseable { protected val serverSocketChannel: ServerSocketChannel = ServerSocketChannel.open() private val port: InetSocketAddress @@ -56,7 +56,9 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable val processBuilder = ProcessBuilder(args) val env = processBuilder.environment() if (System.getProperty("os.name")!!.lowercase().startsWith("windows")) { - env["PATH"] = (System.getProperty("PATH")?.let { "$it:" } ?: "") + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" + env["PATH"] = (System.getProperty("PATH")?.let { + "$it:" + } ?: "") + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" } else { env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath @@ -69,4 +71,4 @@ open class USVMPythonRunner(private val config: USVMPythonConfig): AutoCloseable companion object { val logger = object : KLogging() {}.logger } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt index 76b695fff8..076cb14ae7 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvConfig.kt @@ -5,5 +5,5 @@ import java.io.File data class VenvConfig( val basePath: File, val libPath: File, - val binPath: File -) \ No newline at end of file + val binPath: File, +) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt index 9c5e9de074..38562a8e28 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/venv/VenvUtils.kt @@ -50,4 +50,4 @@ private fun runPythonAndReadline(pythonPath: String, cmd: String): String { process.waitFor() require(process.exitValue() == 0) { "Something went wrong in Python run" } return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt index 890f5bba76..3d17c41ed7 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt @@ -1,9 +1,9 @@ package org.usvm.runner -class PrintingResultReceiver: USVMPythonAnalysisResultReceiver() { +class PrintingResultReceiver : USVMPythonAnalysisResultReceiver() { var cnt: Int = 0 override fun receivePickledInputValues(pickledTuple: String) { println(pickledTuple) cnt += 1 } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt index 1a6dce4ed5..5160bf110e 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt @@ -2,9 +2,9 @@ package org.usvm.runner import java.io.File -class TestingLayout(basePath: String): DistributionLayout() { +class TestingLayout(basePath: String) : DistributionLayout() { override val cpythonPath = File(basePath, "cpythonadapter/build/cpython_build") override val approximationsPath = File(basePath, "python_approximations") override val nativeLibPath = File(basePath, "cpythonadapter/build/lib/main/debug") override val jarPath = File(basePath, "build/libs/usvm-python.jar") -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt index c023df50d7..0fd0750cfa 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt @@ -37,4 +37,4 @@ fun main() { } println("Time: ${System.currentTimeMillis() - start}") println("Number of executions: ${receiver.cnt}") -} \ No newline at end of file +} From 3e7dd1705b69b439fd19303de581d4bda7334dad Mon Sep 17 00:00:00 2001 From: Sergey Pospelov Date: Thu, 14 Mar 2024 18:37:23 +0300 Subject: [PATCH 270/344] fix: try to fix gradle error --- usvm-python/build.gradle.kts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index f0e671665e..668d67ee1d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -169,7 +169,7 @@ if (cpythonActivatedFlag) { from(fileTree(cpythonBuildPath).exclude("**/__pycache__/**")) } into("jar") { - from(File(project.buildDir, "libs/usvm-python.jar")) + from(tasks.jar) } } } @@ -189,4 +189,9 @@ if (cpythonActivatedFlag) { from(dependencies) duplicatesStrategy = DuplicatesStrategy.EXCLUDE } + + tasks.distTar.get().dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + tasks.distZip.get().dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + tasks.distTar.get().dependsOn(":usvm-python:cpythonadapter:linkDebug") + tasks.distZip.get().dependsOn(":usvm-python:cpythonadapter:linkDebug") } From d0c294f39c542b1f2efdd6c604358dfc01840775 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 23 May 2024 11:05:57 +0300 Subject: [PATCH 271/344] added new path selector type --- .../org/usvm/python/ps/PyPathSelectorType.kt | 28 +++++++++---------- .../main/kotlin/org/usvm/machine/PyMachine.kt | 4 +-- .../usvm/machine/ps/PyPathSelectorFactory.kt | 12 ++++---- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index 8bb43683d5..688c8bd219 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -1,18 +1,18 @@ package org.usvm.python.ps enum class PyPathSelectorType { - BaselinePriorityDfs, // passes tests - BaselineWeightedDfs, // passes tests - BaselinePriorityNumberOfVirtualDfs, // passes tests - BaselineWeightedNumberOfVirtualRandomTree, // passes tests - BaselinePriorityNumberOfInstructionsDfs, // passes tests - BaselinePriorityNumberOfInstructionsRandomTree, // passes tests - BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests - DelayedForkByInstructionWeightedDfs, // passes tests - DelayedForkByInstructionWeightedRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests - DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests - DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree, // fails testAddAndCompare + BaselinePriorityDfs, // passes tests + BaselineWeightedDfs, // passes tests + BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselineWeightedNumberOfVirtualRandomTree, // passes tests + BaselinePriorityNumberOfInstructionsDfs, // passes tests + BaselinePriorityNumberOfInstructionsRandomTree, // passes tests + BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests + DelayedForkByInstructionWeightedDfs, // passes tests + DelayedForkByInstructionWeightedRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests + DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, // passes tests } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 57c2a69cfb..804cb3c7db 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -32,8 +32,8 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.BaselinePriorityNumberOfInstructionsRandomTree, - private val printErrorMsg: Boolean = false, + private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, + private val printErrorMsg: Boolean = false ) : UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index 9b69c4d9ef..cb9c7f69f1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -89,8 +89,8 @@ fun createPyPathSelector( newStateObserver ) - PyPathSelectorType.DelayedForkByInstructionWeightedNumberOfInstructionsRandomTree -> - createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector( + PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating -> + createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRatingPyPathSelector( initialNode, ctx, random, @@ -352,7 +352,8 @@ fun createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePyPathSe newStateObserver ) -fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSelector( + +fun createDelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRatingPyPathSelector( initialNode: PathNode, ctx: PyContext, random: Random, @@ -360,8 +361,8 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSe ): PyVirtualPathSelector<*, *> = PyVirtualPathSelector( ctx, - makeDelayedForkByInstructionWeightedStrategy(random), - BaselineDelayedForkStrategy(), + makeDelayedForkByInstructionPriorityStrategy(random), + TypeRatingByNumberOfHints(), DelayedForkByInstructionGraphCreation { WeightedPyPathSelector( random, @@ -378,6 +379,7 @@ fun createDelayedForkByInstructionWeightedNumberOfInstructionsRandomTreePyPathSe newStateObserver ) + fun createTypeRatingByHintsDfsPyPathSelector( ctx: PyContext, random: Random, From e6da76e31edc6678fe85f8d406c2419c42bcb76d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 23 May 2024 11:07:32 +0300 Subject: [PATCH 272/344] fmt --- .../org/usvm/python/ps/PyPathSelectorType.kt | 28 +++++++++---------- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt index 688c8bd219..cd1056b454 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/ps/PyPathSelectorType.kt @@ -1,18 +1,18 @@ package org.usvm.python.ps enum class PyPathSelectorType { - BaselinePriorityDfs, // passes tests - BaselineWeightedDfs, // passes tests - BaselinePriorityNumberOfVirtualDfs, // passes tests - BaselineWeightedNumberOfVirtualRandomTree, // passes tests - BaselinePriorityNumberOfInstructionsDfs, // passes tests - BaselinePriorityNumberOfInstructionsRandomTree, // passes tests - BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests - DelayedForkByInstructionWeightedDfs, // passes tests - DelayedForkByInstructionWeightedRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests - DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests - DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, // passes tests + BaselinePriorityDfs, // passes tests + BaselineWeightedDfs, // passes tests + BaselinePriorityNumberOfVirtualDfs, // passes tests + BaselineWeightedNumberOfVirtualRandomTree, // passes tests + BaselinePriorityNumberOfInstructionsDfs, // passes tests + BaselinePriorityNumberOfInstructionsRandomTree, // passes tests + BaselinePriorityPlusTypeRatingByHintsDfs, // passes tests + DelayedForkByInstructionWeightedDfs, // passes tests + DelayedForkByInstructionWeightedRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfVirtualDfs, // passes tests + DelayedForkByInstructionWeightedNumberOfVirtualRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsDfs, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTree, // passes tests + DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, // passes tests } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 804cb3c7db..2cfdf5841b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -33,7 +33,7 @@ class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, - private val printErrorMsg: Boolean = false + private val printErrorMsg: Boolean = false, ) : UMachine() { private val ctx = PyContext(typeSystem) From 0dde6d2472086c52ea020b62743f632f74975ea1 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 28 May 2024 15:09:31 +0300 Subject: [PATCH 273/344] Formatting --- .../kotlin/{manualTest.kt => ManualTest.kt} | 0 .../org/usvm/runner/PythonTestRunner.kt | 72 ++++++------ .../annotations/CPythonFunctionProcessor.kt | 4 +- .../annotations/SymbolicMethodProcessor.kt | 6 +- .../CPythonFunctionGeneration.kt | 7 +- .../annotations/codegeneration/Constants.kt | 2 +- .../codegeneration/GenerateDefinitions.kt | 8 +- .../SymbolicMemberDescriptorGeneration.kt | 4 +- .../usvm/interpreter/ConcolicRunContext.java | 2 +- .../kotlin/org/usvm/language/Callables.kt | 2 +- .../{Instruction.kt => PyInstruction.kt} | 0 .../kotlin/org/usvm/machine/PyComponents.kt | 3 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 3 +- .../main/kotlin/org/usvm/machine/PyState.kt | 4 +- .../concrete/ConcretePythonInterpreter.kt | 11 +- .../venv/{Config.kt => VenvConfig.kt} | 0 .../symbolic/operations/basic/Common.kt | 28 ++++- .../symbolic/operations/basic/Constants.kt | 30 +++-- .../symbolic/operations/basic/Control.kt | 6 +- .../symbolic/operations/basic/Dict.kt | 12 +- .../symbolic/operations/basic/Enumerate.kt | 4 +- .../symbolic/operations/basic/Float.kt | 99 ++++++++++++++--- .../symbolic/operations/basic/List.kt | 68 ++++++++++-- .../symbolic/operations/basic/Long.kt | 18 ++- .../operations/basic/MethodNotifications.kt | 29 ++++- .../symbolic/operations/basic/Set.kt | 8 +- .../symbolic/operations/basic/Tuple.kt | 15 ++- .../{BuiltinsModule.kt => Impls.kt} | 23 +++- .../nativecalls/NativeCallConstraints.kt | 5 - .../operations/nativecalls/OsModule.kt | 15 --- .../operations/symbolicmethods/List.kt | 30 ++++- .../operations/tracing/PathTracing.kt | 17 +-- ...aintsVisitor.kt => PathConstraintsInfo.kt} | 4 +- .../kotlin/org/usvm/machine/model/PyModel.kt | 4 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 6 +- .../ps/strategies/impls/BaselineStrategy.kt | 16 ++- .../impls/DelayedForkByInstruction.kt | 4 +- .../usvm/machine/ps/types/Prioritization.kt | 12 +- .../usvm/machine/ps/types/SymbolTypeTree.kt | 104 +++++++++++------- .../SymbolicObjectConstruction.kt | 22 +++- .../symbolicobjects/SymbolicPythonObject.kt | 10 +- .../machine/symbolicobjects/memory/Bool.kt | 28 +++-- .../machine/symbolicobjects/memory/Float.kt | 33 ++++-- .../machine/symbolicobjects/memory/Int.kt | 5 +- .../machine/symbolicobjects/memory/Slice.kt | 47 +++++--- .../symbolicobjects/memory/TupleIterator.kt | 9 +- .../rendering/DefaultPyObjectModelProvider.kt | 44 ++++++-- .../rendering/PyObjectModelBuilder.kt | 57 +++++++--- .../org/usvm/machine/types/TypeSystem.kt | 19 +++- .../usvm/machine/utils/PyMachineStatistics.kt | 3 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 5 +- .../org/usvm/runner/PyMachineSocketRunner.kt | 6 +- .../runner/PythonSymbolicAnalysisRunner.kt | 6 +- .../runner/{manualTest.kt => ManualTest.kt} | 0 54 files changed, 701 insertions(+), 278 deletions(-) rename usvm-python/src/test/kotlin/{manualTest.kt => ManualTest.kt} (100%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/{Instruction.kt => PyInstruction.kt} (100%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/{Config.kt => VenvConfig.kt} (100%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/{BuiltinsModule.kt => Impls.kt} (61%) delete mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/{ConstraintsVisitor.kt => PathConstraintsInfo.kt} (93%) rename usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/{manualTest.kt => ManualTest.kt} (100%) diff --git a/usvm-python/src/test/kotlin/manualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt similarity index 100% rename from usvm-python/src/test/kotlin/manualTest.kt rename to usvm-python/src/test/kotlin/ManualTest.kt diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 620f596f4d..5a3ee001bb 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -72,20 +72,21 @@ sealed class PythonTestRunner( } } - private inline fun > createCheckWithConcreteRun(concreteRun: Boolean = true): - ( - PyUnpinnedCallable, - AnalysisResultsNumberMatcher, - (PyTest, PyObject) -> String?, - List, - List, - ) -> Unit = + private inline fun > createCheckWithConcreteRun( + concreteRun: Boolean = true, + ): ( + PyUnpinnedCallable, + AnalysisResultsNumberMatcher, + (PyTest, PyObject) -> String?, + List, + List, + ) -> Unit = { target: PyUnpinnedCallable, analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, compareConcolicAndConcrete: (PyTest, PyObject) -> String?, invariants: List, propertiesToDiscover: List, - -> + -> val onAnalysisResult = { pythonTest: PyTest -> val executionResult = when (val result = pythonTest.result) { is PyResultSuccess -> result.output @@ -120,7 +121,7 @@ sealed class PythonTestRunner( (PyUnpinnedCallable, (PyTest, PyObject) -> String?) -> Unit = { target: PyUnpinnedCallable, compareConcolicAndConcrete: (PyTest, PyObject) -> String?, - -> + -> createCheckWithConcreteRun(concreteRun = true)( target, ge(0), @@ -136,7 +137,7 @@ sealed class PythonTestRunner( analysisResultsNumberMatcher: AnalysisResultsNumberMatcher, invariants: List, propertiesToDiscover: List, - -> + -> createCheckWithConcreteRun(concreteRun = false)( target, analysisResultsNumberMatcher, @@ -162,28 +163,34 @@ sealed class PythonTestRunner( createCheckWithConcreteRunAndNoPredicates<(PythonObjectInfo, PythonObjectInfo, PythonObjectInfo) -> Boolean>() val check3WithConcreteRun = - createCheckWithConcreteRun<( - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - ) -> Boolean>() + createCheckWithConcreteRun< + ( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean + >() val check3NoPredicates = - createCheckWithConcreteRunAndNoPredicates<( - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - ) -> Boolean>() + createCheckWithConcreteRunAndNoPredicates< + ( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean + >() val check4NoPredicates = - createCheckWithConcreteRunAndNoPredicates<( - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - PythonObjectInfo, - ) -> Boolean>() + createCheckWithConcreteRunAndNoPredicates< + ( + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + PythonObjectInfo, + ) -> Boolean + >() protected val compareConcolicAndConcreteReprsIfSuccess: (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> @@ -207,9 +214,8 @@ sealed class PythonTestRunner( (PyTest, PyObject) -> String? = { testFromConcolic, concreteResult -> (testFromConcolic.result as? PyResultFailure)?.let { if (ConcretePythonInterpreter.getPythonObjectTypeName(concreteResult) != "type") { - "Fail in concolic (${it.exception.selfTypeName}), but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr( - concreteResult - )})" + "Fail in concolic (${it.exception.selfTypeName}), " + + "but success in concrete (${ConcretePythonInterpreter.getPythonObjectRepr(concreteResult)})" } else { val concolic = it.exception.selfTypeName val concrete = ConcretePythonInterpreter.getNameOfPythonType(concreteResult) diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index 4b8f9add65..6610767761 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -106,7 +106,9 @@ class CPythonFunctionProcessor : AbstractProcessor() { curAnnotation.addToSymbolicAdapter ) } - else -> error("Incorrect Java return type for CPythonFunction") + else -> { + error("Incorrect Java return type $returnType for CPythonFunction") + } } } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index 283ebd7a6e..497e946d53 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -15,6 +15,8 @@ import javax.lang.model.element.ExecutableElement import javax.lang.model.element.TypeElement import javax.lang.model.type.ArrayType +private const val NUMBER_OF_ARGUMENTS_IN_GENERATED_METHOD = 3 + @SupportedAnnotationTypes("org.usvm.annotations.SymbolicMethod") @SupportedOptions("headerPath") @SupportedSourceVersion(SourceVersion.RELEASE_8) @@ -39,7 +41,7 @@ class SymbolicMethodProcessor : AbstractProcessor() { val result = annotatedElements.fold("") { acc, element -> require(element is ExecutableElement) val formatMsg = "Incorrect signature of SymbolicMethod ${element.simpleName}" - require(element.parameters.size == 3) { formatMsg } + require(element.parameters.size == NUMBER_OF_ARGUMENTS_IN_GENERATED_METHOD) { formatMsg } val arg0 = element.parameters.first().asType().toString().split(".").last() require(arg0 == "ConcolicRunContext") { formatMsg } val arg1 = element.parameters[1].asType().toString().split(".").last() @@ -59,7 +61,7 @@ class SymbolicMethodProcessor : AbstractProcessor() { elementAnnotation.id.cName = name acc + generateSymbolicMethod(elementAnnotation.id) + "\n\n" } - SymbolicMethodId.values().forEach { + SymbolicMethodId.entries.forEach { require(it in definedIds) { "SymbolicMethodId $it has no definition" } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index d6fede4397..8c0c2b518b 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -61,7 +61,12 @@ fun generateCPythonFunction(description: CPythonFunctionDescription): Paircontext") + List(numberOfArgs) { "java_arg_$it" }).joinToString(", ") val returnValueCreation = if (description.result.javaType != JavaType.NoType) { - "$javaReturnType java_return = (*ctx->env)->CallStatic${javaReturnDescr}Method(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" + "$javaReturnType java_return = " + + "(*ctx->env)->CallStatic${javaReturnDescr}Method(" + + "ctx->env, " + + "ctx->cpython_adapter_cls, " + + "ctx->handle_$cName, $javaArgs" + + ");" } else { "(*ctx->env)->CallStaticVoidMethod(ctx->env, ctx->cpython_adapter_cls, ctx->handle_$cName, $javaArgs);" } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt index c6fe80ea18..1698bc988a 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt @@ -1,3 +1,3 @@ package org.usvm.annotations.codegeneration -const val memberDescriptionQualifiedName = "Lorg/usvm/interpreter/MemberDescriptor;" +const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/interpreter/MemberDescriptor;" diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt index 9c67e1d9f2..452cca7465 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt @@ -15,7 +15,13 @@ fun generateCPythonAdapterDefs(defs: List): String { val registrations = defs.fold("#define DO_REGISTRATIONS(dist, env) ") { acc, def -> val name = def.cName - acc + "dist->handle_$name = (*env)->GetStaticMethodID(env, dist->cpython_adapter_cls, handle_name_$name, handle_sig_$name);" + acc + "dist->handle_$name = " + + "(*env)->GetStaticMethodID(" + + "env, " + + "dist->cpython_adapter_cls, " + + "handle_name_$name, " + + "handle_sig_$name" + + ");" } return """ diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt index 900c97e35b..8bc2cd9fc3 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt @@ -11,7 +11,7 @@ fun generateDescriptorCheck(info: MemberDescriptorInfo): String = if (Py_TYPE(concrete_descriptor) == &PyMemberDescr_Type && ((PyMemberDescrObject *) concrete_descriptor)->d_common.d_type == &${info.nativeTypeName} && PyUnicode_CompareWithASCIIString(((PyMemberDescrObject *) concrete_descriptor)->d_common.d_name, "${info.nativeMemberName}") == 0) { - jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$memberDescriptionQualifiedName"); + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$MEMBER_DESCRIPTION_QUALNAME"); return (*env)->GetObjectField(env, cpython_adapter, field_id); } """.trimIndent() @@ -26,7 +26,7 @@ fun generateMethodDescriptorCheck(info: MemberDescriptorInfo): String = if (Py_TYPE(concrete_descriptor) == &PyMethodDescr_Type && ((PyMethodDescrObject *) concrete_descriptor)->d_common.d_type == &${info.nativeTypeName} && PyUnicode_CompareWithASCIIString(((PyMethodDescrObject *) concrete_descriptor)->d_common.d_name, "${info.nativeMemberName}") == 0) { - jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$memberDescriptionQualifiedName"); + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "${info.javaMemberName}", "$MEMBER_DESCRIPTION_QUALNAME"); return (*env)->GetObjectField(env, cpython_adapter, field_id); } """.trimIndent() diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index fc62fea49b..44be94feed 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -63,7 +63,7 @@ public void pathDiversion() throws PathDiversionException { if (allowPathDiversion) { curState = null; } else { - throw PathDiversionException.INSTANCE; + throw new PathDiversionException(); } } } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index f0c471200f..a4a65b57e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -13,7 +13,7 @@ class PyUnpinnedCallable( val signature: List, val module: String?, val tag: String, - val reference: (PyNamespace) -> /* function reference */ PyObject, + val reference: (PyNamespace) -> PyObject, // returns function object reference ) : PyCallable() { val numberOfArguments: Int = signature.size companion object { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/PyInstruction.kt similarity index 100% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Instruction.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/PyInstruction.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index 0e999b5372..d8d3ec396c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -53,7 +53,8 @@ class PySolver( 500.milliseconds ) { override fun check(query: UPathConstraints): USolverResult> { - val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + query.pythonSoftConstraints + val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + + query.pythonSoftConstraints return super.checkWithSoftConstraints(query, softConstraints) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 2cfdf5841b..6998ac37ee 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -32,7 +32,8 @@ import kotlin.random.Random class PyMachine( private val program: PyProgram, private val typeSystem: PythonTypeSystem, - private val pathSelectorType: PyPathSelectorType = PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, + private val pathSelectorType: PyPathSelectorType = + PyPathSelectorType.DelayedForkByInstructionPriorityNumberOfInstructionsRandomTreePlusTypeRating, private val printErrorMsg: Boolean = false, ) : UMachine() { private val ctx = PyContext(typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 33894bacfa..5f8fafe743 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -101,7 +101,9 @@ class PyState( return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) } - fun getMocksForSymbol(symbol: UninterpretedSymbolicPythonObject): List> = + fun getMocksForSymbol( + symbol: UninterpretedSymbolicPythonObject, + ): List> = mocks.mapNotNull { (mockHeader, mockResult) -> if (mockHeader.methodOwner == symbol) { mockHeader to UninterpretedSymbolicPythonObject(mockResult, typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index 2b21a5f366..7a6747537d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -279,7 +279,8 @@ object ConcretePythonInterpreter { activateVenv(config) } - private val approximationsPath = System.getProperty("approximations.path") ?: error("approximations.path not specified") + private val approximationsPath = System.getProperty("approximations.path") + ?: error("approximations.path not specified") private fun initializeId(module: String, name: String): Long { val namespace = getNewNamespace() @@ -292,7 +293,7 @@ object ConcretePythonInterpreter { private fun initializeMethodApproximations() { withAdditionalPaths(listOf(File(approximationsPath)), null) { - ApproximationId.values().forEach { + ApproximationId.entries.forEach { it.cRef = initializeId(it.pythonModule, it.pythonName) } pythonAdapter.initializeSpecialApproximations() @@ -300,7 +301,7 @@ object ConcretePythonInterpreter { } private fun initializeNativeIds() { - NativeId.values().forEach { + NativeId.entries.forEach { it.cRef = initializeId(it.pythonModule, it.pythonName) } } @@ -371,13 +372,13 @@ object ConcretePythonInterpreter { fun printIdInfo() { // for debugging println("SymbolicMethodId:") - SymbolicMethodId.values().forEach { + SymbolicMethodId.entries.forEach { println(it) println(it.cRef) } println() println("ApproximationId:") - ApproximationId.values().forEach { + ApproximationId.entries.forEach { println(it) println(it.cRef) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/VenvConfig.kt similarity index 100% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/Config.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/venv/VenvConfig.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 3432bf3f13..36d11b3e87 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -35,7 +35,11 @@ import org.utpython.types.getPythonAttributeByName import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, typeRef: PyObject): UninterpretedSymbolicPythonObject? = with( +fun handlerIsinstanceKt( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, + typeRef: PyObject, +): UninterpretedSymbolicPythonObject? = with( ctx.ctx ) { ctx.curState ?: return null @@ -50,7 +54,12 @@ fun handlerIsinstanceKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPytho return if (concreteType == null) { if (type == typeSystem.pythonInt) { // this is a common case, TODO: better solution val cond = - obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonInt)) and obj.evalIs(ctx, ConcreteTypeNegation(typeSystem.pythonBool)) + obj.evalIs( + ctx, + ConcreteTypeNegation(typeSystem.pythonInt) + ) and obj.evalIs( + ctx, ConcreteTypeNegation(typeSystem.pythonBool) + ) myFork(ctx, cond) } else { myFork(ctx, obj.evalIs(ctx, type)) @@ -74,7 +83,11 @@ fun fixateTypeKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject obj.addSupertype(ctx, type) } -fun handlerAndKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with( +fun handlerAndKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = with( ctx.ctx ) { ctx.curState ?: return null @@ -157,10 +170,13 @@ fun handlerIsOpKt( when (leftType) { ctx.typeSystem.pythonBool -> myFork(ctx, left.getBoolContent(ctx) xor right.getBoolContent(ctx)) + ctx.typeSystem.pythonInt -> myFork(ctx, left.getIntContent(ctx) eq right.getIntContent(ctx)) + ctx.typeSystem.pythonNoneType -> return + else -> myFork(ctx, mkHeapRefEq(left.address, right.address)) } @@ -241,7 +257,11 @@ fun handlerStandardTpSetattroKt( obj.setFieldValue(ctx, name, value) } -fun getArraySize(context: ConcolicRunContext, array: UninterpretedSymbolicPythonObject, type: ArrayLikeConcretePythonType): UninterpretedSymbolicPythonObject? { +fun getArraySize( + context: ConcolicRunContext, + array: UninterpretedSymbolicPythonObject, + type: ArrayLikeConcretePythonType, +): UninterpretedSymbolicPythonObject? { if (context.curState == null) { return null } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index 5cbe8a41a7..7adcb68473 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -14,9 +14,15 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): Uninterpre return null } return when (ConcretePythonInterpreter.getPythonObjectTypeName(value)) { - "int" -> handlerLoadConstLongKt(context, value) - "bool" -> handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) - "NoneType" -> context.curState?.preAllocatedObjects?.noneObject + "int" -> { + handlerLoadConstLongKt(context, value) + } + "bool" -> { + handlerLoadConstBoolKt(context, ConcretePythonInterpreter.getPythonObjectRepr(value)) + } + "NoneType" -> { + context.curState?.preAllocatedObjects?.noneObject + } "tuple" -> { val elements = ConcretePythonInterpreter.getIterableElements(value) val symbolicElements = elements.map { @@ -24,10 +30,15 @@ fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): Uninterpre } handlerLoadConstTupleKt(context, symbolicElements) } - - "str" -> handlerLoadConstStrKt(context, value) - "float" -> handlerLoadConstFloatKt(context, value) - else -> null + "str" -> { + handlerLoadConstStrKt(context, value) + } + "float" -> { + handlerLoadConstFloatKt(context, value) + } + else -> { + null + } } } @@ -74,5 +85,8 @@ fun handlerLoadConstBoolKt(context: ConcolicRunContext, value: String): Uninterp } } -fun handlerLoadConstTupleKt(context: ConcolicRunContext, elements: List): UninterpretedSymbolicPythonObject? = +fun handlerLoadConstTupleKt( + context: ConcolicRunContext, + elements: List, +): UninterpretedSymbolicPythonObject? = createIterable(context, elements, context.typeSystem.pythonTuple) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 2b2d213ac4..9f25cfbe7a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -59,7 +59,7 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { ctx.curState!!.meta.modelDied = true } if (forkResult?.pyModel != oldModel) { - throw BadModelException + throw BadModelException() } } @@ -88,6 +88,4 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje myFork(ctx, expr) } -object BadModelException : Exception() { - private fun readResolve(): Any = BadModelException -} +class BadModelException : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index e5df5c4dd2..a40992f2b4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -26,7 +26,9 @@ fun handlerDictGetItemKt( val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem return when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> null // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> { + null // TODO + } typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = key.getToIntContent(ctx) ?: return null val containsCond = dict.dictContainsInt(ctx, intValue) @@ -60,7 +62,9 @@ private fun setItem( ) { val typeSystem = ctx.typeSystem when (val keyType = key.getTypeIfDefined(ctx)) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> Unit // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> { // TODO + Unit + } typeSystem.pythonInt -> { val intValue = key.getToIntContent(ctx) ?: return dict.writeDictIntElement(ctx, intValue, value) @@ -135,7 +139,9 @@ fun handlerDictContainsKt( val keyType = key.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (keyType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> { // TODO + return + } typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = key.getToIntContent(ctx) ?: return dict.dictContainsInt(ctx, intValue) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index 01c3a316f5..0ebd228b98 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -27,7 +27,9 @@ fun handlerCreateEnumerateKt( typeSystem.pythonTuple -> { handlerTupleIterKt(ctx, iterable) ?: return null } - else -> return null + else -> { + return null + } } val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonEnumerate) val result = UninterpretedSymbolicPythonObject(address, ctx.typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index b500d30aa1..a4a2aa8343 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -19,7 +19,11 @@ import org.usvm.machine.symbolicobjects.memory.mkUninterpretedNan import org.usvm.machine.symbolicobjects.memory.mkUninterpretedPlusInfinity import org.usvm.machine.symbolicobjects.memory.mkUninterpretedSignedInfinity -private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with( +private fun gtFloat( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, +): UBoolExpr = with( ctx.ctx ) { mkIte( @@ -41,7 +45,11 @@ private fun gtFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, ri ) } -private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, right: FloatUninterpretedContent): UBoolExpr = with( +private fun eqFloat( + ctx: ConcolicRunContext, + left: FloatUninterpretedContent, + right: FloatUninterpretedContent, +): UBoolExpr = with( ctx.ctx ) { mkIte( @@ -55,7 +63,11 @@ private fun eqFloat(ctx: ConcolicRunContext, left: FloatUninterpretedContent, ri ) } -fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerGTFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -65,10 +77,18 @@ fun handlerGTFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth return constructBool(ctx, boolExpr) } -fun handlerLTFloatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerLTFloatKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = handlerGTFloatKt(ctx, right, left) -fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerEQFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -78,7 +98,11 @@ fun handlerEQFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth } -fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerNEFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -88,7 +112,11 @@ fun handlerNEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth } -fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerGEFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -97,7 +125,11 @@ fun handlerGEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyth return constructBool(ctx, ctx.ctx.mkOr(eqFloat(ctx, left, right), gtFloat(ctx, left, right))) } -fun handlerLEFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject) = +fun handlerLEFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +) = handlerGEFloatKt(ctx, rightObj, leftObj) @@ -255,7 +287,11 @@ private fun constructReverseExpr( constructReverseExprComponent(ctx, value) { it.realValue } ) -fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerADDFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -266,7 +302,11 @@ fun handlerADDFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt } -fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerSUBFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -276,7 +316,11 @@ fun handlerSUBFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt return constructFloat(ctx, floatValue) } -fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerMULFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -286,7 +330,11 @@ fun handlerMULFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt return constructFloat(ctx, floatValue) } -fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPythonObject, rightObj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerDIVFloatKt( + ctx: ConcolicRunContext, + leftObj: UninterpretedSymbolicPythonObject, + rightObj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -297,14 +345,20 @@ fun handlerDIVFloatKt(ctx: ConcolicRunContext, leftObj: UninterpretedSymbolicPyt return constructFloat(ctx, floatValue) } -fun handlerNEGFloatKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerNEGFloatKt( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val value = obj.getToFloatContent(ctx) ?: return null val result = constructNegExpr(ctx, value) return constructFloat(ctx, result) } -fun handlerPOSFloatKt(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerPOSFloatKt( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val value = obj.getToFloatContent(ctx) ?: return null return constructFloat(ctx, value) @@ -324,7 +378,10 @@ fun castFloatToInt( return constructInt(ctx, intValue) } -private fun strToFloat(ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +private fun strToFloat( + ctx: ConcolicRunContext, + obj: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null if (str == "inf" || str == "infinity") { @@ -350,8 +407,14 @@ fun handlerFloatCastKt( val realValue = ctx.ctx.intToFloat(arg.getToIntContent(ctx)!!) constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, realValue)) } - typeSystem.pythonFloat -> arg - typeSystem.pythonStr -> strToFloat(ctx, arg) - else -> null + typeSystem.pythonFloat -> { + arg + } + typeSystem.pythonStr -> { + strToFloat(ctx, arg) + } + else -> { + null + } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index 60bb4fa3d0..df0918c8c5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -21,13 +21,23 @@ import org.usvm.machine.types.ArrayType import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerCreateListKt(ctx: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = +fun handlerCreateListKt( + ctx: ConcolicRunContext, + elements: Stream, +): UninterpretedSymbolicPythonObject? = createIterable(ctx, elements.asSequence().toList(), ctx.typeSystem.pythonList) -fun handlerListGetSizeKt(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerListGetSizeKt( + context: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = getArraySize(context, list, context.typeSystem.pythonList) -fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListGetItemKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -35,7 +45,12 @@ fun handlerListGetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyt return list.readArrayElement(ctx, indexInt) } -fun handlerListSetItemKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, index: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject) { +fun handlerListSetItemKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + index: UninterpretedSymbolicPythonObject, + value: UninterpretedSymbolicPythonObject, +) { if (ctx.curState == null) { return } @@ -77,7 +92,11 @@ private fun listConcat( } } -fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, iterable: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListExtendKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + iterable: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null val typeSystem = ctx.typeSystem list.addSupertypeSoft(ctx, typeSystem.pythonList) @@ -86,7 +105,11 @@ fun handlerListExtendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth return list } -fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListConcatKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -103,7 +126,11 @@ fun handlerListConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPyth } } -fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListInplaceConcatKt( + ctx: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -115,7 +142,11 @@ fun handlerListInplaceConcatKt(ctx: ConcolicRunContext, left: UninterpretedSymbo return left } -fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, elem: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListAppendKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + elem: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -131,7 +162,10 @@ fun handlerListAppendKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPyth } } -fun handlerListIterKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListIterKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -140,7 +174,10 @@ fun handlerListIterKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPython return constructListIterator(ctx, list) } -fun handlerListIteratorNextKt(ctx: ConcolicRunContext, iterator: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = with( +fun handlerListIteratorNextKt( + ctx: ConcolicRunContext, + iterator: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = with( ctx.ctx ) { if (ctx.curState == null) { @@ -180,7 +217,10 @@ private fun listPop( } } -fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListPopKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return null @@ -189,7 +229,11 @@ fun handlerListPopKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonO return listPop(ctx, list) } -fun handlerListPopIndKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ind: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerListPopIndKt( + ctx: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, + ind: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index 1cd32cefd2..bc8c4067eb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -79,56 +79,69 @@ private fun createUnaryIntOp( } } -fun handlerGTLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerGTLongKt( + x: ConcolicRunContext, + y: UninterpretedSymbolicPythonObject, + z: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } }(x, y, z) + fun handlerLTLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } }(x, y, z) + fun handlerEQLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } }(x, y, z) + fun handlerNELongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } }(x, y, z) + fun handlerGELongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } }(x, y, z) + fun handlerLELongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } }(x, y, z) + fun handlerADDLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) }(x, y, z) + fun handlerSUBLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) }(x, y, z) + fun handlerMULLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, z: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) }(x, y, z) + fun handlerDIVLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, @@ -144,10 +157,13 @@ fun handlerDIVLongKt( } } }(x, y, z) + fun handlerNEGLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(x, y) + fun handlerPOSLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = createUnaryIntOp { _, on -> on }(x, y) + fun handlerREMLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index 4f72dae4ca..45a008959e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -33,19 +33,30 @@ fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) on.addSupertypeSoft(context, HasNbInt) } -fun nbAddKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with( +fun nbAddKt( + context: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +) = with( context.ctx ) { context.curState ?: return myAssert(context, left.evalIsSoft(context, HasNbAdd) or right.evalIsSoft(context, HasNbAdd)) } -fun nbSubtractKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) = with(context.ctx) { +fun nbSubtractKt( + context: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, +) = with(context.ctx) { context.curState ?: return myAssert(context, left.evalIsSoft(context, HasNbSubtract)) } -fun nbMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject, right: UninterpretedSymbolicPythonObject) = with( +fun nbMultiplyKt( + context: ConcolicRunContext, + left: UninterpretedSymbolicPythonObject, + right: UninterpretedSymbolicPythonObject, +) = with( context.ctx ) { context.curState ?: return @@ -103,7 +114,11 @@ fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonOb myAssert(context, left.evalIsSoft(context, HasTpRichcmp)) } -fun tpGetattroKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { +fun tpGetattroKt( + ctx: ConcolicRunContext, + on: UninterpretedSymbolicPythonObject, + name: UninterpretedSymbolicPythonObject, +) { ctx.curState ?: return myAssert(ctx, on.evalIsSoft(ctx, HasTpGetattro)) myAssert(ctx, name.evalIsSoft(ctx, ctx.typeSystem.pythonStr)) @@ -113,7 +128,11 @@ fun tpGetattroKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) } -fun tpSetattroKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, name: UninterpretedSymbolicPythonObject) { +fun tpSetattroKt( + context: ConcolicRunContext, + on: UninterpretedSymbolicPythonObject, + name: UninterpretedSymbolicPythonObject, +) { context.curState ?: return myAssert(context, on.evalIsSoft(context, HasTpSetattro)) myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index dd132a1876..1ecc554ed3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -22,7 +22,9 @@ fun handlerSetContainsKt( val elemType = elem.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem val result: UBoolExpr = when (elemType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> { // TODO + return + } typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = elem.getToIntContent(ctx) ?: return set.setContainsInt(ctx, intValue) @@ -45,7 +47,9 @@ private fun addItem( val elemType = elem.getTypeIfDefined(ctx) val typeSystem = ctx.typeSystem when (elemType) { - typeSystem.pythonFloat, typeSystem.pythonNoneType -> return // TODO + typeSystem.pythonFloat, typeSystem.pythonNoneType -> { // TODO + return + } typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = elem.getToIntContent(ctx) ?: return set.addIntToSet(ctx, intValue) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index 7e11fa7e5f..bf9e3073b5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -12,10 +12,16 @@ import org.usvm.machine.symbolicobjects.memory.readArrayLength import java.util.stream.Stream import kotlin.streams.asSequence -fun handlerCreateTupleKt(ctx: ConcolicRunContext, elements: Stream): UninterpretedSymbolicPythonObject? = +fun handlerCreateTupleKt( + ctx: ConcolicRunContext, + elements: Stream, +): UninterpretedSymbolicPythonObject? = createIterable(ctx, elements.asSequence().toList(), ctx.typeSystem.pythonTuple) -fun handlerTupleIterKt(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? { +fun handlerTupleIterKt( + ctx: ConcolicRunContext, + tuple: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? { if (ctx.curState == null) { return null } @@ -62,7 +68,10 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth } } -fun handlerTupleGetSizeKt(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerTupleGetSizeKt( + context: ConcolicRunContext, + tuple: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject? = getArraySize(context, tuple, context.typeSystem.pythonTuple) fun handlerTupleGetItemKt( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt similarity index 61% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt index c3bafec4d6..0256434f32 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/BuiltinsModule.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt @@ -7,9 +7,20 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.interpreters.symbolic.operations.basic.myFork import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject +/** + * This file is supposed to contain implementations of [NativeCallConstraint] + * + * All implementations must be listed in [constraintHolder] to be registered. + * */ +val constraintHolder = listOf( + OsSystemConstraint, + EvalConstraint +) + object EvalConstraint : NativeCallConstraint(NativeId.Eval) { + private const val MAX_ARGS = 3 override fun apply(ctx: ConcolicRunContext, args: List) { - if (args.size > 3 || args.isEmpty()) { + if (args.size > MAX_ARGS || args.isEmpty()) { return } val cmd = args[0] @@ -25,3 +36,13 @@ object EvalConstraint : NativeCallConstraint(NativeId.Eval) { } } } + +object OsSystemConstraint : NativeCallConstraint(NativeId.OsSystem) { + override fun apply(ctx: ConcolicRunContext, args: List) { + if (args.size != 1) { + return + } + val arg = args[0] + arg.addSupertype(ctx, ctx.typeSystem.pythonStr) + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt index 0c337743e3..87bcc33af8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt @@ -20,8 +20,3 @@ fun addConstraintsFromNativeId( abstract class NativeCallConstraint(val id: NativeId) { abstract fun apply(ctx: ConcolicRunContext, args: List) } - -val constraintHolder = listOf( - OsSystemConstraint, - EvalConstraint -) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt deleted file mode 100644 index 2bbc3a292c..0000000000 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/OsModule.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.usvm.machine.interpreters.symbolic.operations.nativecalls - -import org.usvm.annotations.ids.NativeId -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject - -object OsSystemConstraint : NativeCallConstraint(NativeId.OsSystem) { - override fun apply(ctx: ConcolicRunContext, args: List) { - if (args.size != 1) { - return - } - val arg = args[0] - arg.addSupertype(ctx, ctx.typeSystem.pythonStr) - } -} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt index 400eb9b83c..c926086de9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt @@ -9,7 +9,11 @@ import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListInsert import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListPopIndKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListPopKt -fun symbolicMethodListAppendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { +fun symbolicMethodListAppendKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array, +): SymbolForCPython? { if (self?.obj == null || args.size != 1 || args.first().obj == null) { return null } @@ -17,7 +21,11 @@ fun symbolicMethodListAppendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, return SymbolForCPython(result, 0) } -fun symbolicMethodListPopKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { +fun symbolicMethodListPopKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array, +): SymbolForCPython? { if (self?.obj == null || args.size > 1) { return null } @@ -32,7 +40,11 @@ fun symbolicMethodListPopKt(ctx: ConcolicRunContext, self: SymbolForCPython?, ar return SymbolForCPython(result, 0) } -fun symbolicMethodListInsertKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { +fun symbolicMethodListInsertKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array, +): SymbolForCPython? { if (self?.obj == null || args.size != 2 || args[0].obj == null || args[1].obj == null) { return null } @@ -40,7 +52,11 @@ fun symbolicMethodListInsertKt(ctx: ConcolicRunContext, self: SymbolForCPython?, return generateNone(ctx) } -fun symbolicMethodListExtendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { +fun symbolicMethodListExtendKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array, +): SymbolForCPython? { if (self?.obj == null || args.size != 1 || args.first().obj == null) { return null } @@ -48,7 +64,11 @@ fun symbolicMethodListExtendKt(ctx: ConcolicRunContext, self: SymbolForCPython?, return SymbolForCPython(result, 0) } -fun symbolicMethodListClearKt(ctx: ConcolicRunContext, self: SymbolForCPython?, args: Array): SymbolForCPython? { +fun symbolicMethodListClearKt( + ctx: ConcolicRunContext, + self: SymbolForCPython?, + args: Array, +): SymbolForCPython? { if (self?.obj == null || args.isNotEmpty()) { return null } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 694d8edfce..58bf36f4a6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -8,9 +8,7 @@ import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger -object PathDiversionException : Exception() { - private fun readResolve(): Any = PathDiversionException -} +class PathDiversionException : RuntimeException() fun withTracing( context: ConcolicRunContext, @@ -18,11 +16,11 @@ fun withTracing( resultSupplier: Callable, ): T? { if (context.isCancelled.call()) { - throw CancelledExecutionException + throw CancelledExecutionException() } context.instructionCounter += 1 if (context.instructionCounter > context.maxInstructions) { - throw InstructionLimitExceededException + throw InstructionLimitExceededException() } if (context.curState == null) { return null @@ -79,10 +77,5 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res } } -object InstructionLimitExceededException : Exception() { - private fun readResolve(): Any = InstructionLimitExceededException -} - -object CancelledExecutionException : Exception() { - private fun readResolve(): Any = CancelledExecutionException -} +class InstructionLimitExceededException : RuntimeException() +class CancelledExecutionException : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PathConstraintsInfo.kt similarity index 93% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PathConstraintsInfo.kt index 6f3afb76a7..4be369969a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/ConstraintsVisitor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PathConstraintsInfo.kt @@ -52,7 +52,9 @@ private class ConstraintsVisitor(ctx: PyContext) : UExprTranslator> transform(expr: UInputSetReading): UBoolExpr { + override fun > transform( + expr: UInputSetReading, + ): UBoolExpr { if (expr.element.sort == ctx.intSort) { intKeys.add(expr.element as UExpr) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 312920f3ce..0269666143 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -69,7 +69,9 @@ class PyModel( ) as UReadOnlyMemoryRegion, UAddressSort> return WrappedArrayIndexRegion(region, this, ctx, nullRef) as UReadOnlyMemoryRegion } - if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && regionId.arrayType == ArrayType) { + if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && + regionId.arrayType == ArrayType + ) { val region = super.getRegion( regionId ) as UReadOnlyMemoryRegion, KIntSort> diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index cb9c7f69f1..ba61ce5c21 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -393,6 +393,7 @@ fun createTypeRatingByHintsDfsPyPathSelector( newStateObserver ) +private const val DEFAULT_NUMBER_OF_VIRTUAL = 5 private fun calculateNumberOfVirtual(state: PyState): Int = runCatching { @@ -404,11 +405,12 @@ private fun calculateNumberOfVirtual(state: PyState): Int = } val tupleOfModels = PyTupleObject(models) calculateNumberOfMocks(tupleOfModels) - }.getOrDefault(5) + }.getOrDefault(DEFAULT_NUMBER_OF_VIRTUAL) private fun mockWeight(mocks: Int) = 1.0 / max(1, mocks + 1) private fun calculateNumberOfInstructions(state: PyState) = state.uniqueInstructions.size -private fun instructionWeight(instructions: Int) = log(instructions + 8.0, 2.0) +private const val INSTRUCTION_SHIFT = 8.0 +private fun instructionWeight(instructions: Int) = log(instructions + INSTRUCTION_SHIFT, 2.0) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 96398777e2..226df333c8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -17,12 +17,20 @@ import org.usvm.machine.ps.strategies.PyPathSelectorAction import org.usvm.machine.ps.strategies.TypeRating import kotlin.random.Random -val baselineProbabilities = listOf(1.0, 0.6, 0.875, 0.8, 1.0) +// For now, these values were chosen in an arbitrary way. +// TODO: find best possible values +const val PROB_0 = 1.0 +const val PROB_1 = 0.6 +const val PROB_2 = 0.875 +const val PROB_3 = 0.8 +const val INF = 100.0 + +val baselineProbabilities = listOf(PROB_0, PROB_1, PROB_2, PROB_3, 1.0) private val probNegations = baselineProbabilities .drop(1) .runningFold(1.0) { acc, p -> acc * (1 - p) } val baselineWeights = // listOf(100.0, 0.6, 0.35, 0.04, 0.01) - listOf(100.0) + (baselineProbabilities.drop(1) zip probNegations.dropLast(1)).map { (a, b) -> a * b } + listOf(INF) + (baselineProbabilities.drop(1) zip probNegations.dropLast(1)).map { (a, b) -> a * b } fun makeBaselinePriorityActionStrategy( random: Random, @@ -181,7 +189,9 @@ open class BaselineDelayedForkGraph( override fun addStateToVertex(vertex: DelayedForkGraphVertex, state: PyState) { when (vertex) { - is DelayedForkGraphRootVertex -> pathSelectorWithoutDelayedForks.add(listOf(state)) + is DelayedForkGraphRootVertex -> { + pathSelectorWithoutDelayedForks.add(listOf(state)) + } is DelayedForkGraphInnerVertex -> { pathSelectorWithDelayedForks.add(listOf(state)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index 45a4d5c92c..54a0ab6770 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -127,6 +127,8 @@ class DelayedForkByInstructionGraphCreation( override fun createEmptyDelayedForkState(): DelayedForkState = DelayedForkState() - override fun createOneVertexGraph(root: DelayedForkGraphRootVertex): DelayedForkByInstructionGraph = + override fun createOneVertexGraph( + root: DelayedForkGraphRootVertex, + ): DelayedForkByInstructionGraph = DelayedForkByInstructionGraph(basePathSelectorCreation, root) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index 270336d734..65dfe13af2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -25,14 +25,22 @@ fun makeTypeRating(state: PyState, delayedFork: DelayedFork): TypeRating? { return TypeRating(resultList.toMutableList(), hints) } -fun prioritizeTypes(types: List, graph: SymbolTypeTree, typeSystem: PythonTypeSystemWithMypyInfo): List { +fun prioritizeTypes( + types: List, + graph: SymbolTypeTree, + typeSystem: PythonTypeSystemWithMypyInfo, +): List { val bounds = graph.boundsForRoot return types.sortedBy { -calculateScore(it, bounds, typeSystem) } } -private fun calculateScore(type: ConcretePythonType, bounds: List, typeSystem: PythonTypeSystemWithMypyInfo): Int { +private fun calculateScore( + type: ConcretePythonType, + bounds: List, + typeSystem: PythonTypeSystemWithMypyInfo, +): Int { val typeHint = typeSystem.typeHintOfConcreteType(type) ?: return 0 return bounds.fold(0) { acc, bound -> val boundHolds = PythonSubtypeChecker.checkIfRightIsSubtypeOfLeft(bound, typeHint, typeSystem.typeHintsStorage) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index 7f90081f09..38745d6029 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -46,30 +46,42 @@ class SymbolTypeTree( state.getMocksForSymbol(node.symbol).mapNotNull { (mockHeader, resultSymbol) -> val protocol = when (mockHeader.method) { - MpAssSubscriptMethod -> + MpAssSubscriptMethod -> { { returnType: UtType -> createBinaryProtocol("__setitem__", pythonAnyType, returnType) } - MpSubscriptMethod -> + } + MpSubscriptMethod -> { { returnType: UtType -> createBinaryProtocol("__getitem__", pythonAnyType, returnType) } - NbAddMethod -> + } + NbAddMethod -> { { returnType: UtType -> createBinaryProtocol("__add__", pythonAnyType, returnType) } - NbSubtractMethod -> + } + NbSubtractMethod -> { { returnType: UtType -> createBinaryProtocol("__sub__", pythonAnyType, returnType) } - NbBoolMethod -> + } + NbBoolMethod -> { { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } - NbIntMethod -> + } + NbIntMethod -> { { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } - NbNegativeMethod -> + } + NbNegativeMethod -> { { returnType: UtType -> createUnaryProtocol("__neg__", returnType) } - NbPositiveMethod -> + } + NbPositiveMethod -> { { returnType: UtType -> createUnaryProtocol("__pos__", returnType) } - NbMatrixMultiplyMethod -> + } + NbMatrixMultiplyMethod -> { { returnType: UtType -> createBinaryProtocol("__matmul__", pythonAnyType, returnType) } - NbMultiplyMethod -> + } + NbMultiplyMethod -> { { returnType: UtType -> createBinaryProtocol("__mul__", pythonAnyType, returnType) } - SqLengthMethod -> + } + SqLengthMethod -> { { _: UtType -> createUnaryProtocol("__len__", typeHintsStorage.pythonInt) } - TpIterMethod -> + } + TpIterMethod -> { { returnType: UtType -> createUnaryProtocol("__iter__", returnType) } + } TpGetattro -> { val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) ?: return@mapNotNull null @@ -80,37 +92,47 @@ class SymbolTypeTree( ?: return@mapNotNull null { _: UtType -> createProtocolWithAttribute(attribute, pythonAnyType) } } - is TpRichcmpMethod -> { returnType: UtType -> - when (mockHeader.method.op) { - ConcretePythonInterpreter.pyEQ -> - createBinaryProtocol("__eq__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyNE -> - createBinaryProtocol("__ne__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyLT -> - createBinaryProtocol("__lt__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyLE -> - createBinaryProtocol("__le__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyGT -> - createBinaryProtocol("__gt__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyGE -> - createBinaryProtocol("__ge__", pythonAnyType, returnType) - else -> error("Wrong OP in TpRichcmpMethod") + is TpRichcmpMethod -> { + { returnType: UtType -> + when (mockHeader.method.op) { + ConcretePythonInterpreter.pyEQ -> + createBinaryProtocol("__eq__", pythonAnyType, returnType) + + ConcretePythonInterpreter.pyNE -> + createBinaryProtocol("__ne__", pythonAnyType, returnType) + + ConcretePythonInterpreter.pyLT -> + createBinaryProtocol("__lt__", pythonAnyType, returnType) + + ConcretePythonInterpreter.pyLE -> + createBinaryProtocol("__le__", pythonAnyType, returnType) + + ConcretePythonInterpreter.pyGT -> + createBinaryProtocol("__gt__", pythonAnyType, returnType) + + ConcretePythonInterpreter.pyGE -> + createBinaryProtocol("__ge__", pythonAnyType, returnType) + + else -> error("Wrong OP in TpRichcmpMethod") + } } } - is TpCallMethod -> { returnType: UtType -> - createProtocolWithAttribute( - "__call__", - createPythonCallableType( - 1, - listOf(PythonCallableTypeDescription.ArgKind.ARG_STAR), - listOf(null) - ) { - FunctionTypeCreator.InitializationData( - listOf(pythonAnyType), - returnType - ) - } - ) + is TpCallMethod -> { + { returnType: UtType -> + createProtocolWithAttribute( + "__call__", + createPythonCallableType( + 1, + listOf(PythonCallableTypeDescription.ArgKind.ARG_STAR), + listOf(null) + ) { + FunctionTypeCreator.InitializationData( + listOf(pythonAnyType), + returnType + ) + } + ) + } } } val originalHint = protocol(pythonAnyType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index b17e4b641e..4afae6f144 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -113,7 +113,10 @@ fun constructInitialBool( return result } -fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { +fun constructListIterator( + context: ConcolicRunContext, + list: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonListIteratorType) @@ -123,7 +126,10 @@ fun constructListIterator(context: ConcolicRunContext, list: UninterpretedSymbol return result } -fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { +fun constructTupleIterator( + context: ConcolicRunContext, + tuple: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonTupleIteratorType) @@ -133,7 +139,12 @@ fun constructTupleIterator(context: ConcolicRunContext, tuple: UninterpretedSymb } } -fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UExpr, step: UExpr): UninterpretedSymbolicPythonObject { +fun constructRange( + context: ConcolicRunContext, + start: UExpr, + stop: UExpr, + step: UExpr, +): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRange) @@ -143,7 +154,10 @@ fun constructRange(context: ConcolicRunContext, start: UExpr, stop: UE } } -fun constructRangeIterator(context: ConcolicRunContext, range: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject { +fun constructRangeIterator( + context: ConcolicRunContext, + range: UninterpretedSymbolicPythonObject, +): UninterpretedSymbolicPythonObject { require(context.curState != null) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRangeIterator) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 629105ce2c..919399d93c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -120,8 +120,12 @@ class UninterpretedSymbolicPythonObject( return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } - fun setMinimalTimeOfCreation(ctx: PyContext, memory: UMemory) { // must not be called on nullref - memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-1_000_000_000), ctx.trueExpr) + // must not be called on nullref + fun setMinimalTimeOfCreation( + ctx: PyContext, + memory: UMemory, + ) { + memory.writeField(address, TimeOfCreation, ctx.intSort, ctx.mkIntNum(-INF), ctx.trueExpr) } fun isAllocatedObject(ctx: ConcolicRunContext): Boolean { @@ -130,6 +134,8 @@ class UninterpretedSymbolicPythonObject( } } +private const val INF = 1_000_000_000 + sealed class InterpretedSymbolicPythonObject( override val address: UConcreteHeapRef, typeSystem: PythonTypeSystem, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 0f6e718a32..3583447988 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -29,12 +29,24 @@ fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): U fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with(ctx.ctx) { require(ctx.curState != null) return when (val type = getTypeIfDefined(ctx)) { - typeSystem.pythonBool -> getBoolContent(ctx) - typeSystem.pythonInt -> getIntContent(ctx) neq mkIntNum(0) - typeSystem.pythonList, typeSystem.pythonTuple -> readArrayLength(ctx) gt mkIntNum(0) - typeSystem.pythonNoneType -> falseExpr - typeSystem.pythonDict -> dictIsEmpty(ctx).not() - typeSystem.pythonSet -> setIsEmpty(ctx).not() + typeSystem.pythonBool -> { + getBoolContent(ctx) + } + typeSystem.pythonInt -> { + getIntContent(ctx) neq mkIntNum(0) + } + typeSystem.pythonList, typeSystem.pythonTuple -> { + readArrayLength(ctx) gt mkIntNum(0) + } + typeSystem.pythonNoneType -> { + falseExpr + } + typeSystem.pythonDict -> { + dictIsEmpty(ctx).not() + } + typeSystem.pythonSet -> { + setIsEmpty(ctx).not() + } is ConcretePythonType -> { if (HasNbBool.accepts(type) && !HasSqLength.accepts(type) && HasMpLength.accepts(type)) { trueExpr @@ -42,7 +54,9 @@ fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): U null } } - else -> null + else -> { + null + } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 42e7644128..3c98cdb6e1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -23,22 +23,38 @@ import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory sealed class FloatInterpretedContent -object FloatNan : FloatInterpretedContent() -object FloatPlusInfinity : FloatInterpretedContent() -object FloatMinusInfinity : FloatInterpretedContent() +data object FloatNan : FloatInterpretedContent() +data object FloatPlusInfinity : FloatInterpretedContent() +data object FloatMinusInfinity : FloatInterpretedContent() data class FloatNormalValue(val value: Double) : FloatInterpretedContent() -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, model: PyModel, address: UConcreteHeapRef, ctx: PyContext): UBoolExpr { +private fun readBoolFieldWithSoftConstraint( + field: ContentOfType, + model: PyModel, + address: UConcreteHeapRef, + ctx: PyContext, +): UBoolExpr { val value = model.readField(address, field, field.sort(ctx)) return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.BOUND)) } -private fun readBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext): UBoolExpr { +private fun readBoolFieldWithSoftConstraint( + field: ContentOfType, + memory: UMemory, + address: UHeapRef, + ctx: PyContext, +): UBoolExpr { val value = memory.readField(address, field, field.sort(ctx)) return ctx.mkArithGt(value, ctx.mkIntNum(FloatContents.BOUND)) } -private fun writeBoolFieldWithSoftConstraint(field: ContentOfType, memory: UMemory, address: UHeapRef, ctx: PyContext, value: UBoolExpr) { +private fun writeBoolFieldWithSoftConstraint( + field: ContentOfType, + memory: UMemory, + address: UHeapRef, + ctx: PyContext, + value: UBoolExpr, +) { val intValue = ctx.mkIte(value, ctx.mkIntNum(FloatContents.BOUND + 1), ctx.mkIntNum(0)) memory.writeField(address, field, field.sort(ctx), intValue, ctx.trueExpr) } @@ -59,7 +75,10 @@ fun InterpretedInputSymbolicPythonObject.getFloatContent(ctx: PyContext): FloatI return FloatNormalValue(floatValue.value) } -fun InterpretedSymbolicPythonObject.getFloatContent(ctx: PyContext, memory: UMemory): FloatInterpretedContent { +fun InterpretedSymbolicPythonObject.getFloatContent( + ctx: PyContext, + memory: UMemory, +): FloatInterpretedContent { if (this is InterpretedInputSymbolicPythonObject) { return getFloatContent(ctx) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 69e46ce92d..8c06656ca2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -40,7 +40,10 @@ fun InterpretedInputSymbolicPythonObject.getIntContent(ctx: PyContext): UExpr): UExpr { +fun InterpretedSymbolicPythonObject.getIntContent( + ctx: PyContext, + memory: UMemory, +): UExpr { return when (this) { is InterpretedInputSymbolicPythonObject -> { getIntContent(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 42d2e28625..0683fda416 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -21,26 +21,41 @@ data class SliceInterpretedContent( val step: KInterpretedValue?, ) -fun InterpretedInputSymbolicPythonObject.getSliceContent(ctx: PyContext, typeSystem: PythonTypeSystem): SliceInterpretedContent { +fun InterpretedInputSymbolicPythonObject.getSliceContent( + ctx: PyContext, + typeSystem: PythonTypeSystem, +): SliceInterpretedContent { require(getConcreteType() == typeSystem.pythonSlice) val startIsNone = modelHolder.model.readField(address, SliceContents.startIsNone, ctx.boolSort).isTrue - val start = if (startIsNone) null else modelHolder.model.readField( - address, - SliceContents.start, - ctx.intSort - ) as KInterpretedValue + val start = if (startIsNone) { + null + } else { + modelHolder.model.readField( + address, + SliceContents.start, + ctx.intSort + ) as KInterpretedValue + } val stopIsNone = modelHolder.model.readField(address, SliceContents.stopIsNone, ctx.boolSort).isTrue - val stop = if (stopIsNone) null else modelHolder.model.readField( - address, - SliceContents.stop, - ctx.intSort - ) as KInterpretedValue + val stop = if (stopIsNone) { + null + } else { + modelHolder.model.readField( + address, + SliceContents.stop, + ctx.intSort + ) as KInterpretedValue + } val stepIsNone = modelHolder.model.readField(address, SliceContents.stepIsNone, ctx.boolSort).isTrue - val step = if (stepIsNone) null else modelHolder.model.readField( - address, - SliceContents.step, - ctx.intSort - ) as KInterpretedValue + val step = if (stepIsNone) { + null + } else { + modelHolder.model.readField( + address, + SliceContents.step, + ctx.intSort + ) as KInterpretedValue + } return SliceInterpretedContent(start, stop, step) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index 227767c702..f3790725d7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -9,7 +9,10 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.symbolicobjects.TupleIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject) = with( +fun UninterpretedSymbolicPythonObject.setTupleIteratorContent( + ctx: ConcolicRunContext, + tuple: UninterpretedSymbolicPythonObject, +) = with( ctx.ctx ) { require(ctx.curState != null) @@ -18,7 +21,9 @@ fun UninterpretedSymbolicPythonObject.setTupleIteratorContent(ctx: ConcolicRunCo ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) } -fun UninterpretedSymbolicPythonObject.getTupleIteratorContent(ctx: ConcolicRunContext): Pair> = with( +fun UninterpretedSymbolicPythonObject.getTupleIteratorContent( + ctx: ConcolicRunContext, +): Pair> = with( ctx.ctx ) { require(ctx.curState != null) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt index 73eaafe857..d115a5816e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt @@ -14,17 +14,39 @@ class DefaultPyObjectModelProvider(private val typeSystem: PythonTypeSystem) { require(type is ConcretePythonType) return when (type) { - typeSystem.pythonInt -> PyPrimitive("0") - typeSystem.pythonBool -> PyPrimitive("False") - typeSystem.pythonFloat -> PyPrimitive("0.0") - typeSystem.pythonObjectType -> PyCompositeObject(type.id, emptyList()) - typeSystem.pythonNoneType -> PyPrimitive("None") - typeSystem.pythonList -> PyCompositeObject(type.id, emptyList()) - typeSystem.pythonTuple -> PyCompositeObject(type.id, emptyList()) - typeSystem.pythonStr -> PyCompositeObject(type.id, emptyList()) - typeSystem.pythonSlice -> PyCompositeObject(type.id, listOf(PyPrimitive("0"), PyPrimitive("1"))) - typeSystem.pythonDict -> PyCompositeObject(type.id, emptyList()) - typeSystem.pythonSet -> PyCompositeObject(type.id, emptyList()) + typeSystem.pythonInt -> { + PyPrimitive("0") + } + typeSystem.pythonBool -> { + PyPrimitive("False") + } + typeSystem.pythonFloat -> { + PyPrimitive("0.0") + } + typeSystem.pythonObjectType -> { + PyCompositeObject(type.id, emptyList()) + } + typeSystem.pythonNoneType -> { + PyPrimitive("None") + } + typeSystem.pythonList -> { + PyCompositeObject(type.id, emptyList()) + } + typeSystem.pythonTuple -> { + PyCompositeObject(type.id, emptyList()) + } + typeSystem.pythonStr -> { + PyCompositeObject(type.id, emptyList()) + } + typeSystem.pythonSlice -> { + PyCompositeObject(type.id, listOf(PyPrimitive("0"), PyPrimitive("1"))) + } + typeSystem.pythonDict -> { + PyCompositeObject(type.id, emptyList()) + } + typeSystem.pythonSet -> { + PyCompositeObject(type.id, emptyList()) + } else -> { val ref = typeSystem.addressOfConcreteType(type) if (ConcretePythonInterpreter.typeHasStandardNew(ref)) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index 16de7c7f6c..29fc8ae90b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -70,19 +70,44 @@ class PyObjectModelBuilder( val typeSystem = state.typeSystem val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty") val result: PyObjectModel = when (type) { - MockType -> convertMockType(obj) - typeSystem.pythonInt -> convertInt(obj) - typeSystem.pythonBool -> convertBool(obj) - typeSystem.pythonNoneType -> convertNone() - typeSystem.pythonSlice -> convertSlice(obj) - typeSystem.pythonFloat -> convertFloat(obj) - typeSystem.pythonStr -> convertString(obj) - typeSystem.pythonList -> convertList(obj) - typeSystem.pythonTuple -> convertTuple(obj) - typeSystem.pythonDict -> convertDict(obj) - typeSystem.pythonSet -> convertSet(obj) + MockType -> { + convertMockType(obj) + } + typeSystem.pythonInt -> { + convertInt(obj) + } + typeSystem.pythonBool -> { + convertBool(obj) + } + typeSystem.pythonNoneType -> { + convertNone() + } + typeSystem.pythonSlice -> { + convertSlice(obj) + } + typeSystem.pythonFloat -> { + convertFloat(obj) + } + typeSystem.pythonStr -> { + convertString(obj) + } + typeSystem.pythonList -> { + convertList(obj) + } + typeSystem.pythonTuple -> { + convertTuple(obj) + } + typeSystem.pythonDict -> { + convertDict(obj) + } + typeSystem.pythonSet -> { + convertSet(obj) + } else -> { - if ((type as? ConcretePythonType)?.let { ConcretePythonInterpreter.typeHasStandardNew(it.asObject) } == true) { + if ((type as? ConcretePythonType)?.let { + ConcretePythonInterpreter.typeHasStandardNew(it.asObject) + } == true + ) { convertFromDefaultConstructor(obj, type) } else { error("Could not construct instance of type $type") @@ -311,9 +336,9 @@ class PyObjectModelBuilder( private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, ): List { - val size = obj.readArrayLength(state.ctx) as? KInt32NumExpr ?: throw LengthOverflowException + val size = obj.readArrayLength(state.ctx) as? KInt32NumExpr ?: throw LengthOverflowException() if (size.value > MAX_INPUT_ARRAY_LENGTH) { - throw LengthOverflowException + throw LengthOverflowException() } return List(size.value) { index -> val indexExpr = state.ctx.mkSizeExpr(index) as KInterpretedValue @@ -323,6 +348,4 @@ class PyObjectModelBuilder( } } -object LengthOverflowException : Exception() { - private fun readResolve(): Any = LengthOverflowException -} +class LengthOverflowException : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index a02ee54a7c..e93fe14f63 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -48,7 +48,9 @@ abstract class PythonTypeSystem : UTypeSystem { val containsMock = types.any { it is MockType } require((concrete == null) || !containsMock) { "Error in Python's hasCommonSubtype implementation" } return when (type) { - is InternalType -> error("Should not be reachable") + is InternalType -> { + error("Should not be reachable") + } is ConcretePythonType -> { if (concrete != null) { concrete == type @@ -56,7 +58,9 @@ abstract class PythonTypeSystem : UTypeSystem { types.all { isSupertype(it, type) } } } - MockType -> concrete == null + MockType -> { + concrete == null + } is VirtualPythonType -> { concrete == null || isSupertype(type, concrete) } @@ -85,7 +89,11 @@ abstract class PythonTypeSystem : UTypeSystem { return type } - private fun addArrayLikeType(constraints: Set, id: PyIdentifier, getter: () -> PyObject): ArrayLikeConcretePythonType { + private fun addArrayLikeType( + constraints: Set, + id: PyIdentifier, + getter: () -> PyObject, + ): ArrayLikeConcretePythonType { val address = getter() require(ConcretePythonInterpreter.getPythonObjectTypeName(address) == "type") val type = ArrayLikeConcretePythonType( @@ -126,7 +134,10 @@ abstract class PythonTypeSystem : UTypeSystem { PyIdentifier("builtins", name) ) { ConcretePythonInterpreter.eval(emptyNamespace, name) } - private fun createArrayLikeTypeByName(name: String, constraints: Set): ArrayLikeConcretePythonType = + private fun createArrayLikeTypeByName( + name: String, + constraints: Set, + ): ArrayLikeConcretePythonType = addArrayLikeType( constraints, PyIdentifier("builtins", name) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index 91efe04bf4..e2959b4126 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -73,7 +73,8 @@ class PyMachineStatistics { result.append("Mean coverage: $meanCoverage\n") result.append("Mean coverage without virtual objects: $meanCoverageNoVirtual\n") result.append( - "Number of functions with unregistered virtual operations: $numberOfFunctionsWithUnregisteredVirtualOperations\n" + "Number of functions with unregistered virtual operations: " + + "$numberOfFunctionsWithUnregisteredVirtualOperations\n" ) result.append("Lost symbolic values (by number of functions):\n") result.append(writeLostSymbolicValuesReport(lostSymbolicValuesByNumberOfFunctions)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 89be16be4f..0bc705387a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -32,7 +32,10 @@ fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = } -fun getTypeStreamForDelayedFork(obj: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext): UTypeStream { +fun getTypeStreamForDelayedFork( + obj: UninterpretedSymbolicPythonObject, + ctx: ConcolicRunContext, +): UTypeStream { require(ctx.curState != null) val interpreted = interpretSymbolicPythonObject(ctx, obj) if (interpreted.address.address != 0) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt index 75f345bd49..e52ef49931 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/PyMachineSocketRunner.kt @@ -44,8 +44,10 @@ class PyMachineSocketRunner( val description = type.pythonDescription() as? PythonCallableTypeDescription ?: error("Specified definition is not a function") if (description.argumentKinds.any { - it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 - }) { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || + it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + } + ) { error("Named arguments are not supported in symbolic execution") } return type as FunctionType diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 3d98a46d5e..4a433c3856 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -76,11 +76,11 @@ class PythonSymbolicAnalysisRunnerImpl( ) : Thread() { override fun run() { while (readingThread.isAlive && process.isAlive && !isCancelled()) { - sleep(10) + sleep(SLEEP_TIME_IN_MILLISECONDS) } while (readingThread.isAlive) { readingThread.interrupt() - sleep(10) + sleep(SLEEP_TIME_IN_MILLISECONDS) } } } @@ -93,3 +93,5 @@ class PythonSymbolicAnalysisRunnerImpl( val logger = object : KLogging() {}.logger } } + +private const val SLEEP_TIME_IN_MILLISECONDS = 20L diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt similarity index 100% rename from usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/manualTest.kt rename to usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt From 12d6a1c21804a0cab9cabdad66b3e03ca63849e8 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 29 May 2024 09:59:02 +0300 Subject: [PATCH 274/344] More formatting --- .../runner/UtBotPythonRunnerEntryPoint.kt | 40 +++++++++++++------ .../concrete/ConcretePythonInterpreter.kt | 4 +- .../symbolic/USVMPythonInterpreter.kt | 2 +- .../symbolic/operations/basic/Virtual.kt | 27 +++++++------ .../org/usvm/machine/utils/UHeapRefUtils.kt | 5 ++- .../org/usvm/runner/USVMPythonRunner.kt | 8 ++-- 6 files changed, 51 insertions(+), 35 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index c40f9c6aa5..454863a111 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -5,25 +5,39 @@ import org.usvm.machine.interpreters.concrete.venv.VenvConfig import org.usvm.python.ps.PyPathSelectorType import java.io.File +private const val MYPY_DIR_ARG = 0 +private const val SOCKET_PORT_ARG = 1 +private const val MODULE_NAME_ARG = 2 +private const val FUNCTION_NAME_ARG = 3 +private const val CLASS_NAME_ARG = 4 +private const val TIMEOUT_PER_RUN_ARG = 5 +private const val TIMEOUT_ARG = 6 +private const val PATH_SELECTOR_ARG = 7 +private const val VENV_ARG = 8 +private const val MIN_PREFIX_LENGTH = 9 +private const val LIB_ARG = 9 +private const val BIN_ARG = 10 + + fun main(args: Array) { - var prefixNumberOfArgs = 9 + var prefixNumberOfArgs = MIN_PREFIX_LENGTH require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } - val mypyDirPath = args[0] - val socketPort = args[1].toIntOrNull() ?: error("Second argument must be integer") - val moduleName = args[2] - val functionName = args[3] - val clsName = if (args[4] == "") null else args[4] - val timeoutPerRunMs = args[5].toLongOrNull() ?: error("Sixth argument must be integer") - val timeoutMs = args[6].toLongOrNull() ?: error("Seventh argument must be integer") - val pathSelectorName = args[7] + val mypyDirPath = args[MYPY_DIR_ARG] + val socketPort = args[SOCKET_PORT_ARG].toIntOrNull() ?: error("Second argument must be integer") + val moduleName = args[MODULE_NAME_ARG] + val functionName = args[FUNCTION_NAME_ARG] + val clsName = if (args[CLASS_NAME_ARG] == "") null else args[CLASS_NAME_ARG] + val timeoutPerRunMs = args[TIMEOUT_PER_RUN_ARG].toLongOrNull() ?: error("Sixth argument must be integer") + val timeoutMs = args[TIMEOUT_ARG].toLongOrNull() ?: error("Seventh argument must be integer") + val pathSelectorName = args[PATH_SELECTOR_ARG] val pathSelector = PyPathSelectorType.valueOf(pathSelectorName) - if (args[8] != "") { + if (args[VENV_ARG] != "") { prefixNumberOfArgs += 2 require(args.size >= prefixNumberOfArgs + 1) { "Incorrect number of arguments" } val venvConfig = VenvConfig( - basePath = File(args[8]), - libPath = File(args[9]), - binPath = File(args[10]) + basePath = File(args[VENV_ARG]), + libPath = File(args[LIB_ARG]), + binPath = File(args[BIN_ARG]) ) ConcretePythonInterpreter.setVenv(venvConfig) System.err.println("VenvConfig: $venvConfig") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index 7a6747537d..eaafc8a7f9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -388,7 +388,7 @@ object ConcretePythonInterpreter { class CPythonExecutionException( val pythonExceptionValue: PyObject? = null, val pythonExceptionType: PyObject? = null, -) : Exception() +) : RuntimeException() data class PyObject(val address: Long) { init { @@ -402,4 +402,4 @@ data class PyNamespace(val address: Long) { } } -data class IllegalOperationException(val operation: String) : Exception() +data class IllegalOperationException(val operation: String) : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 3811e44d76..4b1ff4136f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -83,7 +83,7 @@ class USVMPythonInterpreter( concolicRunContext, printErrorMsg ) - } catch (exception: Throwable) { + } catch (exception: RuntimeException) { if (exception is CPythonExecutionException) { val realCPythonException = processCPythonExceptionDuringConcolicRun( concolicRunContext, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index b508f001f3..8dcb39c34b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -20,11 +20,12 @@ import org.usvm.machine.symbolicobjects.memory.getBoolContent import org.usvm.machine.symbolicobjects.memory.getIntContent fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { - ctx.curState ?: throw UnregisteredVirtualOperation - ctx.curOperation ?: throw UnregisteredVirtualOperation + if (ctx.curState == null || ctx.curOperation == null) { + throw UnregisteredVirtualOperation() + } val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) if (ctx.curOperation?.method != NbBoolMethod || interpretedArg.address.address != on.interpretedObjRef) { - throw UnregisteredVirtualOperation // path diversion + throw UnregisteredVirtualOperation() // path diversion } val oldModel = ctx.modelHolder.model @@ -55,8 +56,9 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { } fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = with(ctx.ctx) { - ctx.curState ?: throw UnregisteredVirtualOperation - ctx.curOperation ?: throw UnregisteredVirtualOperation + if (ctx.curState == null || ctx.curOperation == null) { + throw UnregisteredVirtualOperation() + } val typeSystem = ctx.typeSystem val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) require(ctx.curOperation?.method == SqLengthMethod && interpretedArg.address.address == on.interpretedObjRef) @@ -72,9 +74,10 @@ private fun internalVirtualCallKt( ctx: ConcolicRunContext, customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() }, ): Pair = with(ctx.ctx) { - ctx.curOperation ?: throw UnregisteredVirtualOperation - ctx.curState ?: throw UnregisteredVirtualOperation - val owner = ctx.curOperation.methodOwner ?: throw UnregisteredVirtualOperation + val owner = ctx.curOperation?.methodOwner + if (ctx.curState == null || ctx.curOperation == null || owner == null) { + throw UnregisteredVirtualOperation() + } val ownerIsAlreadyMocked = ctx.curState!!.mockedObjects.contains(owner) var clonedState = if (!ownerIsAlreadyMocked) ctx.curState!!.clone() else null if (clonedState != null) { @@ -113,14 +116,14 @@ private fun internalVirtualCallKt( } fun virtualCallKt(ctx: ConcolicRunContext): PyObject { - ctx.curState ?: throw UnregisteredVirtualOperation + ctx.curState ?: throw UnregisteredVirtualOperation() val (interpreted, _) = internalVirtualCallKt(ctx) val objectModel = ctx.builder!!.convert(interpreted) return ctx.renderer!!.convert(objectModel) } fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { - ctx.curState ?: throw UnregisteredVirtualOperation + ctx.curState ?: throw UnregisteredVirtualOperation() val result = internalVirtualCallKt(ctx).second if (!ctx.curOperation!!.method.isMethodWithNonVirtualReturn) { val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) @@ -130,6 +133,4 @@ fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObj return result } -object UnregisteredVirtualOperation : Exception() { - private fun readResolve(): Any = UnregisteredVirtualOperation -} +class UnregisteredVirtualOperation : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 0bc705387a..4d8a70729c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -31,6 +31,7 @@ fun getLeafHeapRef(ref: UHeapRef, model: PyModel): UHeapRef = else -> error("Unexpected ref: $ref") } +private const val PREFIX_SIZE = 3 fun getTypeStreamForDelayedFork( obj: UninterpretedSymbolicPythonObject, @@ -40,8 +41,8 @@ fun getTypeStreamForDelayedFork( val interpreted = interpretSymbolicPythonObject(ctx, obj) if (interpreted.address.address != 0) { val current = interpreted.getTypeStream()!! - val prefix = current.take(3) - if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= 3) { + val prefix = current.take(PREFIX_SIZE) + if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= PREFIX_SIZE) { return current } } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index f1f245f9c0..56639543e0 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -56,11 +56,11 @@ open class USVMPythonRunner(private val config: USVMPythonConfig) : AutoCloseabl val processBuilder = ProcessBuilder(args) val env = processBuilder.environment() if (System.getProperty("os.name")!!.lowercase().startsWith("windows")) { - env["PATH"] = (System.getProperty("PATH")?.let { - "$it:" - } ?: "") + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" + env["PATH"] = (System.getProperty("PATH")?.let { "$it:" } ?: "") + + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" } else { - env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:${layout.cpythonPath.canonicalPath}" + env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:" + + layout.cpythonPath.canonicalPath env["LD_PRELOAD"] = File(layout.cpythonPath, "lib/libpython3.so").canonicalPath } env["PYTHONHOME"] = layout.cpythonPath.canonicalPath From 6b8a84d4c9f4ac2d470b9aad5fec32473f8bbf12 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Wed, 29 May 2024 13:44:14 +0300 Subject: [PATCH 275/344] exclude rule with false-positive --- detekt/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/detekt/config.yml b/detekt/config.yml index 629c81b653..fda56de6e3 100644 --- a/detekt/config.yml +++ b/detekt/config.yml @@ -58,6 +58,8 @@ complexity: formatting: active: true + SpacingAroundCurly: + active: false TrailingCommaOnDeclarationSite: active: true MultiLineIfElse: From d4811a505eb293277f46f3cce7b904cf61867e37 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 14:21:21 +0300 Subject: [PATCH 276/344] Started refactoring build scripts --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 13 ++ buildSrc/src/main/kotlin/usvmpython/Utils.kt | 51 +++++++ .../usvmpython/tasks/CPythonBuildTasks.kt | 122 +++++++++++++++ usvm-python/build.gradle.kts | 16 +- usvm-python/cpythonadapter/build.gradle.kts | 141 +++--------------- 5 files changed, 212 insertions(+), 131 deletions(-) create mode 100644 buildSrc/src/main/kotlin/usvmpython/Names.kt create mode 100644 buildSrc/src/main/kotlin/usvmpython/Utils.kt create mode 100644 buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt new file mode 100644 index 0000000000..e060c3b1f1 --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -0,0 +1,13 @@ +package usvmpython + +const val USVM_PYTHON_MODULE = "usvm-python" +const val CPYTHON_ADAPTER_MODULE = "usvm-python:cpythonadapter" +const val USVM_PYTHON_ANNOTATIONS_MODULE = "usvm-python:usvm-python-annotations" +const val USVM_PYTHON_MAIN_MODULE = "usvm-python:usvm-python-main" +const val USVM_PYTHON_RUNNER_MODULE = "usvm-python:usvm-python-runner" +const val USVM_PYTHON_COMMONS_MODULE = "usvm-python:usvm-python-commons" + +const val CPYTHON_GROUP_NAME = "cpython" + +const val CPYTHON_BUILD_DEBUG_CONFIGURATION = "CPythonBuildConfigurationDebug" +const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/Utils.kt b/buildSrc/src/main/kotlin/usvmpython/Utils.kt new file mode 100644 index 0000000000..4f4e9071c0 --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/Utils.kt @@ -0,0 +1,51 @@ +package usvmpython + +import org.apache.tools.ant.taskdefs.condition.Os +import org.gradle.api.Project +import java.io.File + +fun Project.cpythonIsActivated(): Boolean { + val prop = property("cpythonActivated") as? String + return prop?.lowercase() == "true" +} + +fun Project.getCPythonModule() = + rootProject.findProject(CPYTHON_ADAPTER_MODULE)!! + +fun Project.getCPythonBuildPath(): File { + val cpythonModule = getCPythonModule() + return cpythonModule.layout.buildDirectory.file("cpython_build").get().asFile +} + +fun Project.getCPythonSourcePath(): File { + val cpythonModule = getCPythonModule() + return File(cpythonModule.layout.projectDirectory.asFile, "cpython") +} + +fun Project.getCPythonAdapterBuildPath(): File { + val cpythonModule = getCPythonModule() + return cpythonModule.layout.buildDirectory.file("lib/main/debug").get().asFile +} + +val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) + +fun Project.getWidowsBuildScriptPath(): File = + File(getCPythonSourcePath(), "PCBuild/build.bat") + +fun Project.getIncludePipFile(): File { + val cpythonModule = getCPythonModule() + return File(cpythonModule.projectDir, "include_pip_in_build") +} + +fun Project.includePipInBuildLine(): String { + val includePipFile = getIncludePipFile() + val includePip = includePipFile.readText().trim() != "false" + return if (includePip) { + "--with-ensurepip=yes" + } else { + "--with-ensurepip=no" + } +} + +fun Project.getGeneratedHeadersPath(): File = + getCPythonModule().layout.buildDirectory.file("adapter_include").get().asFile \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt new file mode 100644 index 0000000000..ec245df0fb --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt @@ -0,0 +1,122 @@ +package usvmpython.tasks + +import org.gradle.api.Project +import org.gradle.api.tasks.Exec +import org.gradle.api.tasks.TaskProvider +import org.gradle.kotlin.dsl.register +import usvmpython.* +import java.io.File + + +private fun Project.registerCPythonDebugConfiguration(): TaskProvider? { + if (isWindows) { + return null + } + val cpythonSourcePath = getCPythonSourcePath() + val cpythonBuildPath = getCPythonBuildPath() + return tasks.register(CPYTHON_BUILD_DEBUG_CONFIGURATION) { + group = CPYTHON_GROUP_NAME + workingDir = cpythonSourcePath + val includePipFile = getIncludePipFile() + inputs.file(includePipFile) + outputs.file("$cpythonSourcePath/Makefile") + val pipLine = includePipInBuildLine() + doFirst { + println("Pip line: $pipLine") + } + commandLine( + "$cpythonSourcePath/configure", + "--enable-shared", + "--without-static-libpython", + pipLine, + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--with-assertions" + ) + + /* + * Release configuration: + + commandLine( + "$cpythonPath/configure", + "--enable-shared", + "--without-static-libpython", + "--with-ensurepip=yes", + "--prefix=$cpythonBuildPath", + "--disable-test-modules", + "--enable-optimizations" + ) + + */ + } +} + +fun Project.registerCPythonDebugBuild(): TaskProvider { + val configCPythonDebug = registerCPythonDebugConfiguration() + val cpythonSourcePath = getCPythonSourcePath() + val cpythonBuildPath = getCPythonBuildPath() + val windowsBuildScript = getWidowsBuildScriptPath() + + return tasks.register(CPYTHON_BUILD_DEBUG) { + configCPythonDebug?.let { dependsOn(it) } + group = CPYTHON_GROUP_NAME + inputs.dir(File(cpythonSourcePath, "Objects")) + inputs.dir(File(cpythonSourcePath, "Python")) + inputs.dir(File(cpythonSourcePath, "Include")) + workingDir = cpythonSourcePath + + if (!isWindows) { + outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") + commandLine("make") + commandLine("make", "install") + + } else { + outputs.dirs(cpythonBuildPath) + commandLine( + windowsBuildScript.canonicalPath, + "-c", + "Debug", + "-t", + "Build", + "--generate-layout", + cpythonBuildPath + ) + } + } +} + +fun Project.registerCPythonClean(): TaskProvider { + val cpythonSourcePath = getCPythonSourcePath() + val windowsBuildScript = getWidowsBuildScriptPath() + return tasks.register("CPythonClean") { + group = CPYTHON_GROUP_NAME + workingDir = cpythonSourcePath + if (!isWindows) { + if (File(cpythonSourcePath, "Makefile").exists()) { + commandLine("make", "clean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } + } else { + commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") + } + } +} + +fun Project.registerCPythonDistClean(): TaskProvider { + val cpythonSourcePath = getCPythonSourcePath() + val windowsBuildScript = getWidowsBuildScriptPath() + return tasks.register("CPythonDistclean") { + group = CPYTHON_GROUP_NAME + workingDir = cpythonSourcePath + if (!isWindows) { + if (File(cpythonSourcePath, "Makefile").exists()) { + commandLine("make", "distclean") + } else { + commandLine("echo", "CPython Configuration is already clean") + } + } else { + commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") + } + } +} \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 668d67ee1d..3f83e23eff 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -1,4 +1,5 @@ import org.apache.tools.ant.taskdefs.condition.Os +import usvmpython.* plugins { id("usvm.kotlin-conventions") @@ -13,21 +14,18 @@ dependencies { implementation("ch.qos.logback:logback-classic:${Versions.logback}") } -val cpythonActivated: String? by project -val cpythonActivatedFlag = cpythonActivated?.toLowerCase() == "true" - tasks.test { - onlyIf { cpythonActivatedFlag } + onlyIf { cpythonIsActivated() } } tasks.jar { dependsOn(":usvm-util:jar") dependsOn(":usvm-core:jar") - dependsOn(":usvm-python:usvm-python-main:jar") - dependsOn(":usvm-python:usvm-python-commons:jar") + dependsOn(":$USVM_PYTHON_MAIN_MODULE:jar") + dependsOn(":$USVM_PYTHON_COMMONS_MODULE:jar") } -if (cpythonActivatedFlag) { +if (cpythonIsActivated()) { val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) val samplesSourceDir = File(projectDir, "src/test/resources/samples") val approximationsDir = File(projectDir, "python_approximations") @@ -39,8 +37,8 @@ if (cpythonActivatedFlag) { "-Xss50m" ) - val cpythonPath: String = File(childProjects["cpythonadapter"]!!.projectDir, "cpython").path - val cpythonBuildPath: String = File(childProjects["cpythonadapter"]!!.buildDir, "cpython_build").path + val cpythonPath: String = getCPythonSourcePath().canonicalPath + val cpythonBuildPath: String = getCPythonBuildPath().canonicalPath val cpythonAdapterBuildPath: String = File(childProjects["cpythonadapter"]!!.buildDir, "/lib/main/debug").path // TODO: and release? val pythonBinaryPath: String = diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index fbbdb17593..3ee479ada5 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -1,5 +1,8 @@ -import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.internal.jvm.Jvm +import usvmpython.* +import usvmpython.tasks.registerCPythonClean +import usvmpython.tasks.registerCPythonDebugBuild +import usvmpython.tasks.registerCPythonDistClean // Example project: https://github.com/vladsoroka/GradleJniSample @@ -7,95 +10,18 @@ plugins { `cpp-library` } -val cpythonActivated: String? by project -val cpythonActivatedFlag = cpythonActivated?.toLowerCase() == "true" +if (cpythonIsActivated()) { + val cpythonBuildPath = getCPythonBuildPath() + val adapterHeaderPath = getGeneratedHeadersPath() -if (cpythonActivatedFlag) { - val cpythonPath: String = File(projectDir, "cpython").canonicalPath - val cpythonBuildPath: String = File(project.buildDir.path, "cpython_build").canonicalPath - val cpythonTaskGroup = "cpython" - val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) - val windowsBuildScript = File(cpythonPath, "PCBuild/build.bat") + val cpythonBuildDebugTask = registerCPythonDebugBuild() + val cpythonCleanTask = registerCPythonClean() + registerCPythonDistClean() - val configCPythonDebug = - if (!isWindows) { - tasks.register("CPythonBuildConfigurationDebug") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - val includePipFile = File(projectDir, "include_pip_in_build") - inputs.file(includePipFile) - outputs.file("$cpythonPath/Makefile") - val pipLine = if (includePipFile.readText().trim() == "false") { - "--with-ensurepip=no" - } else { - "--with-ensurepip=yes" - } - doFirst { - println("Pip line: $pipLine") - } - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - pipLine, - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--with-assertions" - ) - } - } else { - null - } - - /* - val configCPythonRelease = - if (!isWindows) { - tasks.register("CPythonBuildConfigurationRelease") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - outputs.file("$cpythonPath/Makefile") - commandLine( - "$cpythonPath/configure", - "--enable-shared", - "--without-static-libpython", - "--with-ensurepip=yes", - "--prefix=$cpythonBuildPath", - "--disable-test-modules", - "--enable-optimizations" - ) - } - } else { - null - } - */ - - val cpythonBuildDebug = tasks.register("CPythonBuildDebug") { - group = cpythonTaskGroup - inputs.dir(File(cpythonPath, "Objects")) - inputs.dir(File(cpythonPath, "Python")) - inputs.dir(File(cpythonPath, "Include")) - workingDir = File(cpythonPath) - if (!isWindows) { - dependsOn(configCPythonDebug!!) - outputs.dirs("$cpythonBuildPath/lib", "$cpythonBuildPath/include", "$cpythonBuildPath/bin") - commandLine("make") - commandLine("make", "install") - } else { - outputs.dirs(cpythonBuildPath) - commandLine( - windowsBuildScript.canonicalPath, - "-c", - "Debug", - "-t", - "Build", - "--generate-layout", - cpythonBuildPath - ) - } + tasks.clean { + dependsOn(cpythonCleanTask) } - val adapterHeaderPath = "${project.buildDir.path}/adapter_include" - library { binaries.configureEach { val compileTask = compileTask.get() @@ -132,11 +58,11 @@ if (cpythonActivatedFlag) { compileTask.compilerArgs.addAll(listOf("/TC")) } - compileTask.dependsOn(":usvm-python:usvm-python-main:compileJava") + compileTask.dependsOn(":$USVM_PYTHON_MAIN_MODULE:compileJava") if (!compileTask.isOptimized) { - compileTask.dependsOn(cpythonBuildDebug) + compileTask.dependsOn(cpythonBuildDebugTask) } else { - compileTask.dependsOn(cpythonBuildDebug) // TODO + compileTask.dependsOn(cpythonBuildDebugTask) // TODO } } @@ -149,41 +75,12 @@ if (cpythonActivatedFlag) { } } - val cpythonClean = tasks.register("CPythonClean") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - if (!isWindows) { - if (File(cpythonPath, "Makefile").exists()) { - commandLine("make", "clean") - } else { - commandLine("echo", "CPython Configuration is already clean") - } - } else { - commandLine(windowsBuildScript.canonicalPath, "-t", "Clean") - } - } - - tasks.register("CPythonDistclean") { - group = cpythonTaskGroup - workingDir = File(cpythonPath) - if (!isWindows) { - if (File(cpythonPath, "Makefile").exists()) { - commandLine("make", "distclean") - } else { - commandLine("echo", "CPython Configuration is already clean") - } - } else { - commandLine(windowsBuildScript.canonicalPath, "-t", "CleanAll") - } - } - - tasks.clean { - dependsOn(cpythonClean) - } - + /** + * Task for debugging CPython patch without JNI-calls. + * */ if (!isWindows) { tasks.register("cpython_check_compile") { - dependsOn(cpythonBuildDebug) + dependsOn(cpythonBuildDebugTask) workingDir = File("${projectDir.path}/cpython_check") commandLine( "gcc", From da7ac72150a951442b0b50beabd179f62b93eef1 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 14:30:03 +0300 Subject: [PATCH 277/344] Fixed property access --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 4 +++- buildSrc/src/main/kotlin/usvmpython/Utils.kt | 4 +++- .../java/org/usvm/samples/stream/BaseStreamExample.java | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index e060c3b1f1..7a6de96057 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -10,4 +10,6 @@ const val USVM_PYTHON_COMMONS_MODULE = "usvm-python:usvm-python-commons" const val CPYTHON_GROUP_NAME = "cpython" const val CPYTHON_BUILD_DEBUG_CONFIGURATION = "CPythonBuildConfigurationDebug" -const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" \ No newline at end of file +const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" + +const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/Utils.kt b/buildSrc/src/main/kotlin/usvmpython/Utils.kt index 4f4e9071c0..78fe866b1e 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Utils.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Utils.kt @@ -5,7 +5,9 @@ import org.gradle.api.Project import java.io.File fun Project.cpythonIsActivated(): Boolean { - val prop = property("cpythonActivated") as? String + if (!hasProperty(PROPERTY_FOR_CPYTHON_ACTIVATION)) + return false + val prop = property(PROPERTY_FOR_CPYTHON_ACTIVATION) as? String return prop?.lowercase() == "true" } diff --git a/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java b/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java index b6af87d00a..ad46920302 100644 --- a/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java +++ b/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java @@ -1,5 +1,5 @@ package org.usvm.samples.stream; - +gt import org.jetbrains.annotations.NotNull; import java.util.Arrays; From e58dbeb383e42d68222328fd06cf775c03c803dc Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 14:30:59 +0300 Subject: [PATCH 278/344] fixed typo --- .../samples/java/org/usvm/samples/stream/BaseStreamExample.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java b/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java index ad46920302..b6af87d00a 100644 --- a/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java +++ b/usvm-jvm/src/samples/java/org/usvm/samples/stream/BaseStreamExample.java @@ -1,5 +1,5 @@ package org.usvm.samples.stream; -gt + import org.jetbrains.annotations.NotNull; import java.util.Arrays; From 07b1a051abf0d1f7530eb7500cb67fd5bc594f43 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 17:13:12 +0300 Subject: [PATCH 279/344] More refactoring --- buildSrc/src/main/kotlin/Versions.kt | 1 + buildSrc/src/main/kotlin/usvmpython/Names.kt | 12 ++- buildSrc/src/main/kotlin/usvmpython/Utils.kt | 23 +++++- .../usvmpython/tasks/PythonSamplesTasks.kt | 54 ++++++++++++++ usvm-python/build.gradle.kts | 73 ++++--------------- 5 files changed, 101 insertions(+), 62 deletions(-) create mode 100644 buildSrc/src/main/kotlin/usvmpython/tasks/PythonSamplesTasks.kt diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index bafa3b6e8e..718fc9a10c 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -24,4 +24,5 @@ object Versions { const val sarif4k = "0.5.0" const val pythonTypesAPIHash="139b81d" + const val utbotMypyRunner = "0.2.17" } diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index 7a6de96057..5e7cbc650e 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -1,5 +1,6 @@ package usvmpython +/** Module names */ const val USVM_PYTHON_MODULE = "usvm-python" const val CPYTHON_ADAPTER_MODULE = "usvm-python:cpythonadapter" const val USVM_PYTHON_ANNOTATIONS_MODULE = "usvm-python:usvm-python-annotations" @@ -7,9 +8,18 @@ const val USVM_PYTHON_MAIN_MODULE = "usvm-python:usvm-python-main" const val USVM_PYTHON_RUNNER_MODULE = "usvm-python:usvm-python-runner" const val USVM_PYTHON_COMMONS_MODULE = "usvm-python:usvm-python-commons" +/** Task group names */ const val CPYTHON_GROUP_NAME = "cpython" +const val SAMPLE_GROUP_NAME = "samples" +/** Task names */ const val CPYTHON_BUILD_DEBUG_CONFIGURATION = "CPythonBuildConfigurationDebug" const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" +const val INSTALL_MYPY_RUNNER_TASK = "installUtbotMypyRunner" +const val BUILD_SAMPLES_TASK = "buildSamples" -const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" \ No newline at end of file +/** Property names */ +const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" + +/** Entry points */ +const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/Utils.kt b/buildSrc/src/main/kotlin/usvmpython/Utils.kt index 78fe866b1e..7d58cb5e70 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Utils.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Utils.kt @@ -14,6 +14,9 @@ fun Project.cpythonIsActivated(): Boolean { fun Project.getCPythonModule() = rootProject.findProject(CPYTHON_ADAPTER_MODULE)!! +fun Project.getUsvmPythonModule() = + rootProject.findProject(USVM_PYTHON_MODULE)!! + fun Project.getCPythonBuildPath(): File { val cpythonModule = getCPythonModule() return cpythonModule.layout.buildDirectory.file("cpython_build").get().asFile @@ -50,4 +53,22 @@ fun Project.includePipInBuildLine(): String { } fun Project.getGeneratedHeadersPath(): File = - getCPythonModule().layout.buildDirectory.file("adapter_include").get().asFile \ No newline at end of file + getCPythonModule().layout.buildDirectory.file("adapter_include").get().asFile + +fun Project.getSamplesSourceDir(): File = + File(getUsvmPythonModule().projectDir, "src/test/resources/samples") + +fun Project.getSamplesBuildDir(): File = + getUsvmPythonModule().layout.buildDirectory.file("samples_build").get().asFile + +fun Project.getApproximationsDir(): File = + File(getUsvmPythonModule().projectDir, "python_approximations") + +fun Project.getPythonBinaryPath(): File { + val cpythonBuildPath = getCPythonBuildPath() + return if (isWindows) { + File(cpythonBuildPath, "python_d.exe") + } else { + File(cpythonBuildPath, "bin/python3") + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/PythonSamplesTasks.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/PythonSamplesTasks.kt new file mode 100644 index 0000000000..f405d46cb0 --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/PythonSamplesTasks.kt @@ -0,0 +1,54 @@ +package usvmpython.tasks + +import gradle.kotlin.dsl.accessors._466a692754d3da37fc853e1c7ad8ae1e.sourceSets +import gradle.kotlin.dsl.accessors._466a692754d3da37fc853e1c7ad8ae1e.test +import org.gradle.api.Project +import org.gradle.api.tasks.Exec +import org.gradle.api.tasks.JavaExec +import org.gradle.api.tasks.TaskProvider +import org.gradle.kotlin.dsl.environment +import org.gradle.kotlin.dsl.register +import usvmpython.* +import java.io.File + +private fun Project.registerInstallMypyRunnerTask(): TaskProvider { + val pythonBinaryPath = getPythonBinaryPath() + val cpythonSourcePath = getCPythonSourcePath() + val cpythonBuildPath = getCPythonBuildPath() + val cpythonAdapterBuildPath = getCPythonAdapterBuildPath() + return tasks.register(INSTALL_MYPY_RUNNER_TASK) { + group = SAMPLE_GROUP_NAME + dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") + dependsOn(":$CPYTHON_ADAPTER_MODULE:CPythonBuildDebug") + inputs.dir(cpythonSourcePath) + if (isWindows) { + outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) + } + if (!isWindows) { + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + } + environment("PYTHONHOME" to cpythonBuildPath) + commandLine(pythonBinaryPath, "-m", "ensurepip") + commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==${Versions.utbotMypyRunner}") + } +} + +fun Project.registerBuildSamplesTask(): TaskProvider { + val installMypyRunner = registerInstallMypyRunnerTask() + val samplesSourceDir = getSamplesSourceDir() + val samplesBuildDir = getSamplesBuildDir() + val cpythonBuildPath = getCPythonBuildPath() + val pythonBinaryPath = getPythonBinaryPath().canonicalPath + val cpythonAdapterBuildPath = getCPythonAdapterBuildPath() + return tasks.register(BUILD_SAMPLES_TASK) { + group = SAMPLE_GROUP_NAME + dependsOn(installMypyRunner) + inputs.files(fileTree(samplesSourceDir).exclude("**/__pycache__/**")) + outputs.dir(samplesBuildDir) + classpath = sourceSets.test.get().runtimeClasspath + args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, pythonBinaryPath) + environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") + environment("PYTHONHOME" to cpythonBuildPath) + mainClass.set(BUILD_SAMPLES_ENTRY_POINT) + } +} \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 3f83e23eff..93dde4d617 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -1,5 +1,5 @@ -import org.apache.tools.ant.taskdefs.condition.Os import usvmpython.* +import usvmpython.tasks.registerBuildSamplesTask plugins { id("usvm.kotlin-conventions") @@ -8,8 +8,8 @@ plugins { dependencies { implementation(project(":usvm-core")) - implementation(project(":usvm-python:usvm-python-main")) - implementation(project(":usvm-python:usvm-python-commons")) + implementation(project(":$USVM_PYTHON_MAIN_MODULE")) + implementation(project(":$USVM_PYTHON_COMMONS_MODULE")) implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") implementation("ch.qos.logback:logback-classic:${Versions.logback}") } @@ -26,10 +26,9 @@ tasks.jar { } if (cpythonIsActivated()) { - val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) - val samplesSourceDir = File(projectDir, "src/test/resources/samples") - val approximationsDir = File(projectDir, "python_approximations") - val samplesBuildDir = File(project.buildDir, "samples_build") + val samplesSourceDir = getSamplesSourceDir() + val approximationsDir = getApproximationsDir() + val samplesBuildDir = getSamplesBuildDir() val commonJVMArgs = listOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", @@ -37,45 +36,10 @@ if (cpythonIsActivated()) { "-Xss50m" ) - val cpythonPath: String = getCPythonSourcePath().canonicalPath val cpythonBuildPath: String = getCPythonBuildPath().canonicalPath - val cpythonAdapterBuildPath: String = - File(childProjects["cpythonadapter"]!!.buildDir, "/lib/main/debug").path // TODO: and release? - val pythonBinaryPath: String = - if (!isWindows) { - "$cpythonBuildPath/bin/python3" - } else { - File(cpythonBuildPath, "python_d.exe").canonicalPath - } + val cpythonAdapterBuildPath: String = getCPythonAdapterBuildPath().path val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows - - val installMypyRunner = tasks.register("installUtbotMypyRunner") { - group = "samples" - dependsOn(":usvm-python:cpythonadapter:linkDebug") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - inputs.dir(cpythonPath) - if (isWindows) { - outputs.dir(File(cpythonBuildPath, "Lib/site-packages/utbot_mypy_runner")) - } - if (!isWindows) { - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - } - environment("PYTHONHOME" to cpythonBuildPath) - commandLine(pythonBinaryPath, "-m", "ensurepip") - commandLine(pythonBinaryPath, "-m", "pip", "install", "utbot-mypy-runner==0.2.17") - } - - val buildSamples = tasks.register("buildSamples") { - dependsOn(installMypyRunner) - inputs.files(fileTree(samplesSourceDir).exclude("**/__pycache__/**")) - outputs.dir(samplesBuildDir) - group = "samples" - classpath = sourceSets.test.get().runtimeClasspath - args = listOf(samplesSourceDir.canonicalPath, samplesBuildDir.canonicalPath, pythonBinaryPath) - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("PYTHONHOME" to cpythonBuildPath) - mainClass.set("org.usvm.runner.BuildSamplesKt") - } + val buildSamples = registerBuildSamplesTask() fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { if (debug) @@ -127,17 +91,6 @@ if (cpythonIsActivated()) { mainClass.set("ManualTestKt") } - /* - tasks.register("manualTestRelease") { - group = "run" - registerCpython(this, debug = false) - dependsOn(buildSamples) - jvmArgs = commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml" - classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") - } - */ - tasks.test { maxHeapSize = "2G" val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() @@ -174,7 +127,7 @@ if (cpythonIsActivated()) { } tasks.jar { - dependsOn(":usvm-python:usvm-python-main:jar") + dependsOn(":$USVM_PYTHON_MAIN_MODULE:jar") manifest { attributes( "Main-Class" to "org.usvm.runner.UtBotPythonRunnerEntryPointKt", @@ -188,8 +141,8 @@ if (cpythonIsActivated()) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } - tasks.distTar.get().dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - tasks.distZip.get().dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - tasks.distTar.get().dependsOn(":usvm-python:cpythonadapter:linkDebug") - tasks.distZip.get().dependsOn(":usvm-python:cpythonadapter:linkDebug") + tasks.distTar.get().dependsOn(":$CPYTHON_ADAPTER_MODULE:CPythonBuildDebug") + tasks.distZip.get().dependsOn(":$CPYTHON_ADAPTER_MODULE:CPythonBuildDebug") + tasks.distTar.get().dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") + tasks.distZip.get().dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") } From f7d7dae6ae32e31044d426a2f5f20973a4fc5655 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 17:55:12 +0300 Subject: [PATCH 280/344] Increased Gradle max JVM heap size --- gradle.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/gradle.properties b/gradle.properties index 4b60377edd..49da6cc678 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,3 +5,4 @@ kotlin.daemon.jvm.options=-Xmx4g org.gradle.parallel=true org.gradle.caching=true org.gradle.workers.max=8 +org.gradle.jvmargs=-Xmx1g "-XX:MaxMetaspaceSize=384m" \ No newline at end of file From 6f3d7a489044be6550f90f4b88f219aa47a09986 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 18:08:00 +0300 Subject: [PATCH 281/344] more build refactoring --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 6 +++++- usvm-python/build.gradle.kts | 2 +- usvm-python/usvm-python-main/build.gradle.kts | 12 ++++++++---- usvm-python/usvm-python-runner/build.gradle.kts | 10 +++++++--- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index 5e7cbc650e..147ee86905 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -11,15 +11,19 @@ const val USVM_PYTHON_COMMONS_MODULE = "usvm-python:usvm-python-commons" /** Task group names */ const val CPYTHON_GROUP_NAME = "cpython" const val SAMPLE_GROUP_NAME = "samples" +const val MANUAL_RUN_GROUP_NAME = "run" /** Task names */ const val CPYTHON_BUILD_DEBUG_CONFIGURATION = "CPythonBuildConfigurationDebug" const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" const val INSTALL_MYPY_RUNNER_TASK = "installUtbotMypyRunner" const val BUILD_SAMPLES_TASK = "buildSamples" +const val MANUAL_TEST_FOR_RUNNER = "manualTestOfRunner" /** Property names */ const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" /** Entry points */ -const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" \ No newline at end of file +const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" +const val MANUAL_TEST_FOR_RUNNER_ENTRY = "org.usvm.runner.ManualTestKt" +const val RUNNER_ENTRY_POINT = "org.usvm.runner.UtBotPythonRunnerEntryPointKt" \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 93dde4d617..5cd30ee40d 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -130,7 +130,7 @@ if (cpythonIsActivated()) { dependsOn(":$USVM_PYTHON_MAIN_MODULE:jar") manifest { attributes( - "Main-Class" to "org.usvm.runner.UtBotPythonRunnerEntryPointKt", + "Main-Class" to RUNNER_ENTRY_POINT, ) } val dependencies = configurations diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index 5104da3236..d8f18ac842 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -1,8 +1,12 @@ +import usvmpython.USVM_PYTHON_ANNOTATIONS_MODULE +import usvmpython.USVM_PYTHON_COMMONS_MODULE +import usvmpython.getGeneratedHeadersPath + plugins { id("usvm.kotlin-conventions") } -val headerPath = File(parent!!.childProjects["cpythonadapter"]!!.buildDir, "adapter_include") +val headerPath = getGeneratedHeadersPath() tasks.compileJava { // to suppress "No processor claimed any of these annotations: org.jetbrains.annotations.Nullable,org.jetbrains.annotations.NotNull" @@ -13,9 +17,9 @@ tasks.compileJava { dependencies { implementation(project(":usvm-core")) - implementation(project(mapOf("path" to ":usvm-python:usvm-python-annotations"))) - implementation(project(mapOf("path" to ":usvm-python:usvm-python-commons"))) - annotationProcessor(project(":usvm-python:usvm-python-annotations")) + implementation(project(mapOf("path" to ":$USVM_PYTHON_ANNOTATIONS_MODULE"))) + implementation(project(mapOf("path" to ":$USVM_PYTHON_COMMONS_MODULE"))) + annotationProcessor(project(":$USVM_PYTHON_ANNOTATIONS_MODULE")) implementation("com.github.UnitTestBot:PythonTypesAPI:${Versions.pythonTypesAPIHash}") implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:${Versions.collections}") diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index c969a4e28f..26813f2261 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -1,3 +1,7 @@ +import usvmpython.MANUAL_RUN_GROUP_NAME +import usvmpython.MANUAL_TEST_FOR_RUNNER +import usvmpython.MANUAL_TEST_FOR_RUNNER_ENTRY + plugins { id("usvm.kotlin-conventions") `maven-publish` @@ -9,11 +13,11 @@ dependencies { testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } -tasks.register("manualTestOfRunner") { - group = "run" +tasks.register(MANUAL_TEST_FOR_RUNNER) { + group = MANUAL_RUN_GROUP_NAME classpath = sourceSets.test.get().runtimeClasspath jvmArgs = listOf("-Dproject.root=${projectDir.parent}") - mainClass.set("org.usvm.runner.ManualTestKt") + mainClass.set(MANUAL_TEST_FOR_RUNNER_ENTRY) } publishing { From 41ce2d8917f098eb8764d1ca85ec7f1e2f11e285 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 30 May 2024 20:03:31 +0300 Subject: [PATCH 282/344] Started refactoring manualTest --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 5 +- .../kotlin/usvmpython/tasks/ManualRunTasks.kt | 49 ++++++++++ usvm-python/build.gradle.kts | 93 +++++-------------- usvm-python/src/test/kotlin/ManualTest.kt | 74 ++------------- .../manual/analyzers/OrdinaryAnalyzer.kt | 81 ++++++++++++++++ .../manual/analyzers/ProgramAnalyzer.kt | 7 ++ .../runner/manual/program/ProgramProvider.kt | 11 +++ .../manual/program/SamplePrimitivePrograms.kt | 28 ++++++ .../manual/program/StringProgramProvider.kt | 28 ++++++ 9 files changed, 238 insertions(+), 138 deletions(-) create mode 100644 buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index 147ee86905..a576715666 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -19,6 +19,8 @@ const val CPYTHON_BUILD_DEBUG = "CPythonBuildDebug" const val INSTALL_MYPY_RUNNER_TASK = "installUtbotMypyRunner" const val BUILD_SAMPLES_TASK = "buildSamples" const val MANUAL_TEST_FOR_RUNNER = "manualTestOfRunner" +const val MANUAL_TEST_DEBUG_TASK = "manualTestDebug" +const val MANUAL_TEST_DEBUG_NO_LOGS_TASK = "manualTestDebugNoLogs" /** Property names */ const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" @@ -26,4 +28,5 @@ const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" /** Entry points */ const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" const val MANUAL_TEST_FOR_RUNNER_ENTRY = "org.usvm.runner.ManualTestKt" -const val RUNNER_ENTRY_POINT = "org.usvm.runner.UtBotPythonRunnerEntryPointKt" \ No newline at end of file +const val RUNNER_ENTRY_POINT = "org.usvm.runner.UtBotPythonRunnerEntryPointKt" +const val MANUAL_TEST_ENTRY = "ManualTestKt" \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt new file mode 100644 index 0000000000..785677ac5a --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt @@ -0,0 +1,49 @@ +package usvmpython.tasks + +import org.gradle.api.Project +import usvmpython.* +import java.io.File + +fun Project.pythonEnvironmentVariables(): Map { + val result = mutableMapOf() + val cpythonBuildPath = getCPythonBuildPath() + val adapterPath = getCPythonAdapterBuildPath() + + result["PYTHONHOME"] = cpythonBuildPath.canonicalPath + + if (!isWindows) { + result["LD_LIBRARY_PATH"] = "$cpythonBuildPath/lib:$adapterPath" + result["LD_PRELOAD"] = "$cpythonBuildPath/lib/libpython3.so" + } else { + val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").canonicalPath + result["PATH"] = "$cpythonBuildPath;$pythonDllsPath" + } + + return result +} + +fun Project.javaArgumentsForPython(debugLog: Boolean): List { + val samplesSourceDir = getSamplesSourceDir() + val approximationsDir = getApproximationsDir() + val samplesBuildDir = getSamplesBuildDir() + val adapterPath = getCPythonAdapterBuildPath() + + val result = mutableListOf( + "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", + "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", + "-Dapproximations.path=${approximationsDir.canonicalPath}", + "-Djava.library.path=$adapterPath", + "-Xss50m", + ) + + result += if (debugLog) { + "-Dlogback.configurationFile=logging/logback-debug.xml" + } else { + "-Dlogback.configurationFile=logging/logback-info.xml" + } + + // Uncomment this line for JNI checks + // result += "-Xcheck:jni" + + return result +} \ No newline at end of file diff --git a/usvm-python/build.gradle.kts b/usvm-python/build.gradle.kts index 5cd30ee40d..f48b5754a0 100644 --- a/usvm-python/build.gradle.kts +++ b/usvm-python/build.gradle.kts @@ -1,4 +1,6 @@ import usvmpython.* +import usvmpython.tasks.javaArgumentsForPython +import usvmpython.tasks.pythonEnvironmentVariables import usvmpython.tasks.registerBuildSamplesTask plugins { @@ -26,98 +28,47 @@ tasks.jar { } if (cpythonIsActivated()) { - val samplesSourceDir = getSamplesSourceDir() - val approximationsDir = getApproximationsDir() - val samplesBuildDir = getSamplesBuildDir() - val commonJVMArgs = listOf( - "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", - "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", - "-Dapproximations.path=${approximationsDir.canonicalPath}", - "-Xss50m" - ) - - val cpythonBuildPath: String = getCPythonBuildPath().canonicalPath - val cpythonAdapterBuildPath: String = getCPythonAdapterBuildPath().path - val pythonDllsPath: String = File(cpythonBuildPath, "DLLs").path // for Windows val buildSamples = registerBuildSamplesTask() - fun registerCpython(task: JavaExec, debug: Boolean) = task.apply { - if (debug) - dependsOn(":usvm-python:cpythonadapter:linkDebug") - else - dependsOn(":usvm-python:cpythonadapter:linkRelease") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - environment("PYTHONHOME" to cpythonBuildPath) - } - - tasks.register("manualTestDebug") { - group = "run" + tasks.register(MANUAL_TEST_DEBUG_TASK) { dependsOn(buildSamples) - maxHeapSize = "2G" - if (!isWindows) { - registerCpython(this, debug = true) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-debug.xml") //, "-Xcheck:jni") - } else { - environment("PYTHONHOME" to cpythonBuildPath) - jvmArgs = commonJVMArgs + listOf( - "-Dlogback.configurationFile=logging/logback-debug.xml", - "-Djava.library.path=$cpythonAdapterBuildPath" - ) - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") - } + dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") + group = MANUAL_RUN_GROUP_NAME + maxHeapSize = "2G" + jvmArgs = javaArgumentsForPython(debugLog = true) + environment(pythonEnvironmentVariables()) + mainClass.set(MANUAL_TEST_ENTRY) } - tasks.register("manualTestDebugNoLogs") { - group = "run" - registerCpython(this, debug = true) + tasks.register(MANUAL_TEST_DEBUG_NO_LOGS_TASK) { dependsOn(buildSamples) - maxHeapSize = "2G" - if (!isWindows) { - registerCpython(this, debug = true) - jvmArgs = commonJVMArgs + listOf("-Dlogback.configurationFile=logging/logback-info.xml") //, "-Xcheck:jni") - } else { - environment("PYTHONHOME" to cpythonBuildPath) - jvmArgs = commonJVMArgs + listOf( - "-Dlogback.configurationFile=logging/logback-info.xml", - "-Djava.library.path=$cpythonAdapterBuildPath" - ) - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") - } + dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") classpath = sourceSets.test.get().runtimeClasspath - mainClass.set("ManualTestKt") + group = MANUAL_RUN_GROUP_NAME + maxHeapSize = "2G" + jvmArgs = javaArgumentsForPython(debugLog = false) + environment(pythonEnvironmentVariables()) + mainClass.set(MANUAL_TEST_ENTRY) } tasks.test { maxHeapSize = "2G" - val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-info.xml").toMutableList() - // val args = (commonJVMArgs + "-Dlogback.configurationFile=logging/logback-debug.xml").toMutableList() - if (!isWindows) { - environment("LD_LIBRARY_PATH" to "$cpythonBuildPath/lib:$cpythonAdapterBuildPath") - environment("LD_PRELOAD" to "$cpythonBuildPath/lib/libpython3.so") - } else { - args += "-Djava.library.path=$cpythonAdapterBuildPath" - environment("PATH", "$cpythonBuildPath;$pythonDllsPath") - } - jvmArgs = args - dependsOn(":usvm-python:cpythonadapter:linkDebug") - dependsOn(":usvm-python:cpythonadapter:CPythonBuildDebug") + jvmArgs = javaArgumentsForPython(debugLog = false) dependsOn(buildSamples) - environment("PYTHONHOME" to cpythonBuildPath) + dependsOn(":$CPYTHON_ADAPTER_MODULE:linkDebug") + environment(pythonEnvironmentVariables()) } distributions { main { contents { into("lib") { - from(cpythonAdapterBuildPath) - from(fileTree(approximationsDir).exclude("**/__pycache__/**").exclude("**/*.iml")) + from(getCPythonAdapterBuildPath()) + from(fileTree(getApproximationsDir()).exclude("**/__pycache__/**").exclude("**/*.iml")) } into("cpython") { - from(fileTree(cpythonBuildPath).exclude("**/__pycache__/**")) + from(fileTree(getCPythonBuildPath()).exclude("**/__pycache__/**")) } into("jar") { from(tasks.jar) diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index 0d6a8ed90c..d43a046932 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -3,21 +3,18 @@ import org.usvm.language.PrimitivePyProgram import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram -import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException -import org.usvm.machine.results.DefaultPyMachineResultsReceiver -import org.usvm.machine.results.serialization.ObjectWithDictSerializer import org.usvm.machine.types.BasicPythonTypeSystem import org.usvm.machine.types.PythonAnyType import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.utils.withAdditionalPaths -import org.usvm.python.model.PyResultFailure -import org.usvm.python.model.PyResultSuccess import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.SamplesBuild +import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer +import org.usvm.runner.manual.program.sampleFunction import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.utpython.types.PythonCallableTypeDescription @@ -33,17 +30,12 @@ import java.io.File import kotlin.time.Duration.Companion.seconds fun main() { - /*val venvConfig = VenvConfig( - basePath = File("/home/tochilinak/sample_venv/"), - libPath = File("/home/tochilinak/sample_venv/lib/python3.11/site-packages/"), - binPath = File("/home/tochilinak/sample_venv/bin") - ) - ConcretePythonInterpreter.setVenv(venvConfig)*/ - // ConcretePythonInterpreter.printIdInfo() - // val config = buildProjectRunConfig() - val config = buildSampleRunConfig() - analyze(config) - // checkConcolicAndConcrete(config) + + val program = sampleFunction + + val analyzer = OrdinaryAnalyzer + + analyzer.run(program) } private fun buildSampleRunConfig(): RunConfig { @@ -204,56 +196,6 @@ private fun checkConcolicAndConcrete(runConfig: RunConfig) { } } -private fun analyze(runConfig: RunConfig) { - val (program, typeSystem, functions) = runConfig - val machine = PyMachine(program, typeSystem, printErrorMsg = false) - val emptyCoverage = mutableListOf() - machine.use { activeMachine -> - functions.forEach { f -> - println("Started analysing function ${f.tag}") - try { - val start = System.currentTimeMillis() - val saver = DefaultPyMachineResultsReceiver(ObjectWithDictSerializer) - val iterations = activeMachine.analyze( - f, - saver, - maxIterations = 200, - allowPathDiversion = true, - maxInstructions = 50_000, - timeoutPerRunMs = 4_000, - timeoutMs = 30_000 - ) - saver.pyTestObserver.tests.forEach { test -> - println("INPUT:") - test.inputArgs.forEach { println(it) } - println("RESULT:") - when (val result = test.result) { - is PyResultSuccess -> println(result.output) - is PyResultFailure -> println(result.exception) - } - println() - } - if (machine.statistics.functionStatistics.last().coverage == 0.0) { - emptyCoverage.add(f.tag) - } - println( - "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations." - ) - println("FUNCTION STATISTICS") - println(machine.statistics.functionStatistics.last().writeReport()) - println() - } catch (e: IllegalOperationException) { - println("Illegal operation while analyzing: ${e.operation}\n") - } - } - println("GENERAL STATISTICS") - println(machine.statistics.writeReport()) - } - println() - println("Empty coverage for:") - emptyCoverage.forEach { println(it) } -} - private data class RunConfig( val program: PyProgram, val typeSystem: PythonTypeSystem, diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt new file mode 100644 index 0000000000..2314c46ef6 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -0,0 +1,81 @@ +package org.usvm.runner.manual.analyzers + +import org.usvm.machine.PyMachine +import org.usvm.machine.interpreters.concrete.IllegalOperationException +import org.usvm.machine.results.DefaultPyMachineResultsReceiver +import org.usvm.machine.results.PyMachineResultsReceiver +import org.usvm.machine.results.serialization.ObjectWithDictSerializer +import org.usvm.python.model.PyResultFailure +import org.usvm.python.model.PyResultSuccess +import org.usvm.runner.manual.program.ProgramProvider + +object OrdinaryAnalyzer: ProgramAnalyzer() { + private const val maxIterations = 200 + private const val allowPathDiversion = true + private const val maxInstructions = 50_000 + private const val timeoutPerRunMs = 4_000L + private const val timeoutMs = 30_000L + private val saverCreator: () -> DefaultPyMachineResultsReceiver = { + DefaultPyMachineResultsReceiver(ObjectWithDictSerializer) + } + + override fun run(provider: ProgramProvider) { + val machine = PyMachine( + provider.program, + provider.typeSystem, + printErrorMsg = false + ) + val emptyCoverage = mutableListOf() + machine.use { + provider.functions.forEach { f -> + println("Started analysing function ${f.tag}") + + try { + val start = System.currentTimeMillis() + val saver = saverCreator() + val iterations = machine.analyze( + f, + saver, + maxIterations = maxIterations, + allowPathDiversion = allowPathDiversion, + maxInstructions = maxInstructions, + timeoutPerRunMs = timeoutPerRunMs, + timeoutMs = timeoutMs + ) + + saver.pyTestObserver.tests.forEach { test -> + println("INPUT:") + test.inputArgs.forEach { println(it) } + println("RESULT:") + when (val result = test.result) { + is PyResultSuccess -> println(result.output) + is PyResultFailure -> println(result.exception) + } + println() + } + + if (machine.statistics.functionStatistics.last().coverage == 0.0) { + emptyCoverage.add(f.tag) + } + println( + "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations." + ) + println("FUNCTION STATISTICS") + println(machine.statistics.functionStatistics.last().writeReport()) + println() + + } catch (e: IllegalOperationException) { + println("Illegal operation while analyzing: ${e.operation}\n") + } + + } + + println("GENERAL STATISTICS") + println(machine.statistics.writeReport()) + } + + println() + println("Empty coverage for:") + emptyCoverage.forEach { println(it) } + } +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt new file mode 100644 index 0000000000..7507f82db3 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt @@ -0,0 +1,7 @@ +package org.usvm.runner.manual.analyzers + +import org.usvm.runner.manual.program.ProgramProvider + +abstract class ProgramAnalyzer { + abstract fun run(provider: ProgramProvider) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt new file mode 100644 index 0000000000..4f94b4a118 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt @@ -0,0 +1,11 @@ +package org.usvm.runner.manual.program + +import org.usvm.language.PyProgram +import org.usvm.language.PyUnpinnedCallable +import org.usvm.machine.types.PythonTypeSystem + +abstract class ProgramProvider { + abstract val program: PyProgram + abstract val typeSystem: PythonTypeSystem + abstract val functions: List +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt new file mode 100644 index 0000000000..99a1f91981 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt @@ -0,0 +1,28 @@ +package org.usvm.runner.manual.program + +import org.usvm.machine.types.PythonAnyType + +/** + * Use this declaration for simple manual checks. + * */ +val sampleFunction = StringProgramProvider( + """ + def f(x): + assert x != "hello" + """.trimIndent(), + listOf("f" to listOf(PythonAnyType)) +) + +/** + * Sample of a function that cannot be covered right now. + * */ +val listConcatProgram = StringProgramProvider( + """ + def list_concat(x): + y = x + [1] + if len(y[::-1]) == 5: + return 1 + return 2 + """.trimIndent(), + listOf("list_concat" to listOf(PythonAnyType)) +) \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt new file mode 100644 index 0000000000..4eaf1c1e41 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt @@ -0,0 +1,28 @@ +package org.usvm.runner.manual.program + +import org.usvm.language.PrimitivePyProgram +import org.usvm.language.PyProgram +import org.usvm.language.PyUnpinnedCallable +import org.usvm.machine.types.BasicPythonTypeSystem +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystem + +class StringProgramProvider( + programCode: String, + functions: List>> +): ProgramProvider() { + override val program: PyProgram = + PrimitivePyProgram.fromString(programCode) + + override val typeSystem: PythonTypeSystem = + BasicPythonTypeSystem() + + override val functions: List = + functions.map { (name, signature) -> + PyUnpinnedCallable.constructCallableFromName( + signature, + name, + null + ) + } +} \ No newline at end of file From 6de9dafd8b5aa672ec03cf3de1cea9391922ba90 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Thu, 30 May 2024 20:43:25 +0300 Subject: [PATCH 283/344] Update README.md --- usvm-python/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usvm-python/README.md b/usvm-python/README.md index 6b9ae5f43e..6a9e979771 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -49,6 +49,8 @@ Official instruction: https://devguide.python.org/getting-started/setup-building Gradle tasks for building and running were tested on Windows and Ubuntu. +For Windows you need MSBuild (see https://devguide.python.org/getting-started/setup-building/#windows). + 1. Only for Unix. Install optional dependencies. - Official instruction: https://devguide.python.org/getting-started/setup-building/#install-dependencies - __Short version (Ubuntu)__. Install the following packages with apt: From 36686cfa42dd44f2f50958082139f65383aa7efc Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 31 May 2024 13:00:53 +0300 Subject: [PATCH 284/344] More refactoring --- .../org/usvm/runner/PythonTestRunner.kt | 4 +- .../manual/analyzers/OrdinaryAnalyzer.kt | 94 ++++++++++--------- .../manual/analyzers/ProgramAnalyzer.kt | 6 +- .../runner/manual/program/ProgramProvider.kt | 10 +- .../manual/program/SamplePrimitivePrograms.kt | 2 +- .../manual/program/StringProgramProvider.kt | 6 +- .../annotations/CPythonFunctionProcessor.kt | 7 +- .../ConverterToJNITypeDescriptor.kt | 15 ++- .../annotations/SymbolicMethodProcessor.kt | 7 +- .../org/usvm/python/model/PyObjectModel.kt | 46 --------- .../kotlin/org/usvm/python/model/PyTest.kt | 2 +- .../kotlin/org/usvm/python/model/PyValue.kt | 46 +++++++++ ...bjectModelVisitor.kt => PyValueVisitor.kt} | 6 +- .../kotlin/org/usvm/python/model/Utils.kt | 4 +- .../symbolic/USVMPythonInterpreter.kt | 4 +- .../usvm/machine/ps/PyVirtualPathSelector.kt | 4 +- .../machine/ps/strategies/impls/Action.kt | 6 +- .../ps/strategies/impls/BaselineStrategy.kt | 2 +- .../impls/DelayedForkByInstruction.kt | 11 +-- .../results/observers/InputModelObserver.kt | 6 +- .../observers/InputPythonObjectObserver.kt | 6 +- .../results/observers/NewStateObserver.kt | 6 +- .../results/observers/PyTestObserver.kt | 8 +- .../serialization/EmptyObjectSerializer.kt | 2 +- .../serialization/ObjectWithDictSerializer.kt | 2 +- .../serialization/PickleObjectSerializer.kt | 2 +- .../serialization/PythonObjectSerializer.kt | 4 +- .../serialization/ReprObjectSerializer.kt | 2 +- .../StandardPythonObjectSerializer.kt | 2 +- .../rendering/DefaultPyObjectModelProvider.kt | 4 +- .../rendering/PyObjectModelBuilder.kt | 84 +++++++++-------- .../rendering/PyObjectRenderer.kt | 6 +- .../runner/InputModelObserverForRunner.kt | 2 +- .../usvm/runner/NewStateObserverForRunner.kt | 2 +- .../org/usvm/runner/DistributionLayout.kt | 12 +-- .../USVMPythonAnalysisResultReceiver.kt | 4 +- .../org/usvm/runner/PrintingResultReceiver.kt | 2 +- .../kotlin/org/usvm/runner/TestingLayout.kt | 2 +- 38 files changed, 233 insertions(+), 207 deletions(-) delete mode 100644 usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt create mode 100644 usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValue.kt rename usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/{PyObjectModelVisitor.kt => PyValueVisitor.kt} (90%) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 5a3ee001bb..cf37feabda 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -46,7 +46,7 @@ sealed class PythonTestRunner( options.stepLimit?.toInt() ?: 300, allowPathDiversion = allowPathDiversions, timeoutMs = options.timeout.inWholeMilliseconds, - timeoutPerRunMs = timeoutPerRunMs + timeoutPerRunMs = timeoutPerRunMs, ) saver.pyTestObserver.tests } @@ -67,7 +67,7 @@ sealed class PythonTestRunner( ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPyObject, args) check(concreteResult) } catch (exception: CPythonExecutionException) { - require(exception.pythonExceptionType != null) + requireNotNull(exception.pythonExceptionType) check(exception.pythonExceptionType!!) } } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt index 2314c46ef6..bc503ae5d2 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -1,15 +1,15 @@ package org.usvm.runner.manual.analyzers +import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.results.DefaultPyMachineResultsReceiver -import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.serialization.ObjectWithDictSerializer import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.runner.manual.program.ProgramProvider -object OrdinaryAnalyzer: ProgramAnalyzer() { +object OrdinaryAnalyzer : ProgramAnalyzer { private const val maxIterations = 200 private const val allowPathDiversion = true private const val maxInstructions = 50_000 @@ -28,46 +28,7 @@ object OrdinaryAnalyzer: ProgramAnalyzer() { val emptyCoverage = mutableListOf() machine.use { provider.functions.forEach { f -> - println("Started analysing function ${f.tag}") - - try { - val start = System.currentTimeMillis() - val saver = saverCreator() - val iterations = machine.analyze( - f, - saver, - maxIterations = maxIterations, - allowPathDiversion = allowPathDiversion, - maxInstructions = maxInstructions, - timeoutPerRunMs = timeoutPerRunMs, - timeoutMs = timeoutMs - ) - - saver.pyTestObserver.tests.forEach { test -> - println("INPUT:") - test.inputArgs.forEach { println(it) } - println("RESULT:") - when (val result = test.result) { - is PyResultSuccess -> println(result.output) - is PyResultFailure -> println(result.exception) - } - println() - } - - if (machine.statistics.functionStatistics.last().coverage == 0.0) { - emptyCoverage.add(f.tag) - } - println( - "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. Made $iterations iterations." - ) - println("FUNCTION STATISTICS") - println(machine.statistics.functionStatistics.last().writeReport()) - println() - - } catch (e: IllegalOperationException) { - println("Illegal operation while analyzing: ${e.operation}\n") - } - + processFunction(f, machine, emptyCoverage) } println("GENERAL STATISTICS") @@ -78,4 +39,51 @@ object OrdinaryAnalyzer: ProgramAnalyzer() { println("Empty coverage for:") emptyCoverage.forEach { println(it) } } -} \ No newline at end of file + + private fun processFunction( + f: PyUnpinnedCallable, + machine: PyMachine, + emptyCoverage: MutableList, + ) { + println("Started analysing function ${f.tag}") + + try { + val start = System.currentTimeMillis() + val saver = saverCreator() + val iterations = machine.analyze( + f, + saver, + maxIterations = maxIterations, + allowPathDiversion = allowPathDiversion, + maxInstructions = maxInstructions, + timeoutPerRunMs = timeoutPerRunMs, + timeoutMs = timeoutMs + ) + + saver.pyTestObserver.tests.forEach { test -> + println("INPUT:") + test.inputArgs.forEach { println(it) } + println("RESULT:") + when (val result = test.result) { + is PyResultSuccess -> println(result.output) + is PyResultFailure -> println(result.exception) + } + println() + } + + if (machine.statistics.functionStatistics.last().coverage == 0.0) { + emptyCoverage.add(f.tag) + } + println( + "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. " + + "Made $iterations iterations." + ) + println("FUNCTION STATISTICS") + println(machine.statistics.functionStatistics.last().writeReport()) + println() + + } catch (e: IllegalOperationException) { + println("Illegal operation while analyzing: ${e.operation}\n") + } + } +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt index 7507f82db3..3bd9d9ec62 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ProgramAnalyzer.kt @@ -2,6 +2,6 @@ package org.usvm.runner.manual.analyzers import org.usvm.runner.manual.program.ProgramProvider -abstract class ProgramAnalyzer { - abstract fun run(provider: ProgramProvider) -} \ No newline at end of file +interface ProgramAnalyzer { + fun run(provider: ProgramProvider) +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt index 4f94b4a118..666fd9092d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/ProgramProvider.kt @@ -4,8 +4,8 @@ import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.types.PythonTypeSystem -abstract class ProgramProvider { - abstract val program: PyProgram - abstract val typeSystem: PythonTypeSystem - abstract val functions: List -} \ No newline at end of file +interface ProgramProvider { + val program: PyProgram + val typeSystem: PythonTypeSystem + val functions: List +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt index 99a1f91981..7abbc16fe7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt @@ -25,4 +25,4 @@ val listConcatProgram = StringProgramProvider( return 2 """.trimIndent(), listOf("list_concat" to listOf(PythonAnyType)) -) \ No newline at end of file +) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt index 4eaf1c1e41..04ce82ba1c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt @@ -9,8 +9,8 @@ import org.usvm.machine.types.PythonTypeSystem class StringProgramProvider( programCode: String, - functions: List>> -): ProgramProvider() { + functions: List>>, +) : ProgramProvider { override val program: PyProgram = PrimitivePyProgram.fromString(programCode) @@ -25,4 +25,4 @@ class StringProgramProvider( null ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index 6610767761..7c5b25e0b4 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -54,7 +54,12 @@ class CPythonFunctionProcessor : AbstractProcessor() { val curAnnotation = element.getAnnotation(CPythonFunction::class.java) val executable = element as? ExecutableElement ?: error("Incorrect usage of annotation CPythonFunction") val type = executable.asType() as ExecutableType - val firstType = executable.parameters.first().asType().toString().split(".").last() + val firstType = executable.parameters + .first() + .asType() + .toString() + .split(".") + .last() require(firstType == "ConcolicRunContext") { "First argument of function annotated with CPythonFunction must be ConcolicRunContext" } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt index 7ce127e66c..986bbc11e1 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/ConverterToJNITypeDescriptor.kt @@ -9,10 +9,9 @@ import javax.lang.model.type.TypeKind import javax.lang.model.type.TypeMirror import javax.lang.model.util.SimpleTypeVisitor8 -class ConverterToJNITypeDescriptor : SimpleTypeVisitor8() { - override fun visitPrimitive(t: PrimitiveType, unused: Void?): String { - val kind = t.kind - return when (kind) { +class ConverterToJNITypeDescriptor : SimpleTypeVisitor8() { + override fun visitPrimitive(t: PrimitiveType, unused: Unit?): String { + return when (t.kind) { TypeKind.BOOLEAN -> "Z" TypeKind.BYTE -> "B" TypeKind.CHAR -> "C" @@ -25,17 +24,17 @@ class ConverterToJNITypeDescriptor : SimpleTypeVisitor8() { } } - override fun visitNoType(t: NoType?, unused: Void?) = "V" + override fun visitNoType(t: NoType?, unused: Unit?) = "V" - override fun visitArray(t: ArrayType, unused: Void?): String { + override fun visitArray(t: ArrayType, unused: Unit?): String { return "[" + visit(t.componentType) } - override fun visitDeclared(t: DeclaredType, unused: Void?): String { + override fun visitDeclared(t: DeclaredType, unused: Unit?): String { return "L" + t.toString().replace('.', '/') + ";" } - override fun visitExecutable(t: ExecutableType, unused: Void?): String { + override fun visitExecutable(t: ExecutableType, unused: Unit?): String { val builder = StringBuilder() builder.append("(") for (param in t.parameterTypes) { diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index 497e946d53..d7ac5342cc 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -42,7 +42,12 @@ class SymbolicMethodProcessor : AbstractProcessor() { require(element is ExecutableElement) val formatMsg = "Incorrect signature of SymbolicMethod ${element.simpleName}" require(element.parameters.size == NUMBER_OF_ARGUMENTS_IN_GENERATED_METHOD) { formatMsg } - val arg0 = element.parameters.first().asType().toString().split(".").last() + val arg0 = element.parameters + .first() + .asType() + .toString() + .split(".") + .last() require(arg0 == "ConcolicRunContext") { formatMsg } val arg1 = element.parameters[1].asType().toString().split(".").last() require(arg1 == "SymbolForCPython") { formatMsg } diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt deleted file mode 100644 index 9659c41134..0000000000 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModel.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.usvm.python.model - -sealed class PyObjectModel { - abstract fun accept(visitor: PyObjectModelVisitor) -} - -class PyPrimitive( - val repr: String, -) : PyObjectModel() { - override fun accept(visitor: PyObjectModelVisitor) { - visitor.visit(this) - } -} - -data class PyIdentifier( - val module: String, - val name: String, -) : PyObjectModel() { - override fun accept(visitor: PyObjectModelVisitor) { - visitor.visit(this) - } -} - -class PyCompositeObject( - val constructor: PyIdentifier, - val constructorArgs: List, - var listItems: List? = null, - var dictItems: List>? = null, - var fieldDict: Map? = null, -) : PyObjectModel() { - override fun accept(visitor: PyObjectModelVisitor) { - visitor.visit(this) - } -} - -class PyTupleObject(var items: List) : PyObjectModel() { - override fun accept(visitor: PyObjectModelVisitor) { - visitor.visit(this) - } -} - -data class PyMockObject(val id: Int) : PyObjectModel() { - override fun accept(visitor: PyObjectModelVisitor) { - visitor.visit(this) - } -} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt index 164cefb715..187789724b 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyTest.kt @@ -7,7 +7,7 @@ class PyTest( ) class PyInputModel( - val inputArgs: List, + val inputArgs: List, ) sealed class PyResult diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValue.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValue.kt new file mode 100644 index 0000000000..da1d503cf1 --- /dev/null +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValue.kt @@ -0,0 +1,46 @@ +package org.usvm.python.model + +sealed class PyValue { + abstract fun accept(visitor: PyValueVisitor) +} + +class PyPrimitive( + val repr: String, +) : PyValue() { + override fun accept(visitor: PyValueVisitor) { + visitor.visit(this) + } +} + +data class PyIdentifier( + val module: String, + val name: String, +) : PyValue() { + override fun accept(visitor: PyValueVisitor) { + visitor.visit(this) + } +} + +class PyCompositeObject( + val constructor: PyIdentifier, + val constructorArgs: List, + var listItems: List? = null, + var dictItems: List>? = null, + var fieldDict: Map? = null, +) : PyValue() { + override fun accept(visitor: PyValueVisitor) { + visitor.visit(this) + } +} + +class PyTupleObject(var items: List) : PyValue() { + override fun accept(visitor: PyValueVisitor) { + visitor.visit(this) + } +} + +data class PyMockObject(val id: Int) : PyValue() { + override fun accept(visitor: PyValueVisitor) { + visitor.visit(this) + } +} diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValueVisitor.kt similarity index 90% rename from usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt rename to usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValueVisitor.kt index 0ada9a44b9..97e4c7ad5f 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyObjectModelVisitor.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/PyValueVisitor.kt @@ -1,8 +1,8 @@ package org.usvm.python.model -open class PyObjectModelVisitor { - private val visited = mutableSetOf() - fun visit(obj: PyObjectModel) { +open class PyValueVisitor { + private val visited = mutableSetOf() + fun visit(obj: PyValue) { obj.accept(this) } open fun visit(obj: PyPrimitive) { diff --git a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt index 7cb7462424..309adc59b9 100644 --- a/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt +++ b/usvm-python/usvm-python-commons/src/main/kotlin/org/usvm/python/model/Utils.kt @@ -1,7 +1,7 @@ package org.usvm.python.model -fun calculateNumberOfMocks(obj: PyObjectModel): Int { - val visitor = object : PyObjectModelVisitor() { +fun calculateNumberOfMocks(obj: PyValue): Int { + val visitor = object : PyValueVisitor() { var result = 0 override fun visit(obj: PyMockObject) { result += 1 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 4b1ff4136f..3d73c88564 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -25,7 +25,7 @@ import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.python.model.PyInputModel -import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyValue import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.python.model.PyTest @@ -229,7 +229,7 @@ class USVMPythonInterpreter( concolicRunContext.curState?.meta?.wasInterrupted = true } - private fun getConcrete(renderer: PyObjectRenderer, objectModels: List): List? { + private fun getConcrete(renderer: PyObjectRenderer, objectModels: List): List? { try { return objectModels.map { renderer.convert(it) } } catch (_: LengthOverflowException) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index a87831b73f..23f93cee5b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -83,8 +83,8 @@ class PyVirtualPathSelector val vertex = graph.getVertexByDelayedFork(delayedFork) ?: let { val dfState = graphCreation.createEmptyDelayedForkState() - DelayedForkGraphInnerVertex(dfState, delayedFork, parent).also { - graph.addVertex(delayedFork, it) + DelayedForkGraphInnerVertex(dfState, delayedFork, parent).also { vertex -> + graph.addVertex(delayedFork, vertex) } } parent = vertex diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt index cd3946ed5c..6c48fcf204 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/Action.kt @@ -6,7 +6,7 @@ import org.usvm.machine.ps.strategies.PyPathSelectorAction import kotlin.random.Random -abstract class Action> { - abstract fun isAvailable(graph: DFGraph): Boolean - abstract fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction +interface Action> { + fun isAvailable(graph: DFGraph): Boolean + fun makeAction(graph: DFGraph, random: Random): PyPathSelectorAction } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt index 226df333c8..19e7020485 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/BaselineStrategy.kt @@ -62,7 +62,7 @@ fun makeBaselineWeightedActionStrategy( baselineWeights ) -sealed class BaselineAction : Action() { +sealed class BaselineAction : Action { protected fun chooseAvailableVertex( available: List>, random: Random, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index 54a0ab6770..8db3df60e2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -42,7 +42,7 @@ fun makeDelayedForkByInstructionWeightedStrategy( baselineWeights ) -sealed class DelayedForkByInstructionAction : Action() { +sealed class DelayedForkByInstructionAction : Action { protected fun findAvailableInstructions( graph: DelayedForkByInstructionGraph, isAvailable: (DelayedForkGraphInnerVertex) -> Boolean, @@ -112,11 +112,10 @@ class DelayedForkByInstructionGraph( override fun addVertex(df: DelayedFork, vertex: DelayedForkGraphInnerVertex) { super.addVertex(df, vertex) - var set = nodesByInstruction[vertex.delayedFork.state.pathNode.statement] - if (set == null) { - set = mutableSetOf() - nodesByInstruction[vertex.delayedFork.state.pathNode.statement] = set - } + val set = nodesByInstruction[vertex.delayedFork.state.pathNode.statement] + ?: mutableSetOf>().also { + nodesByInstruction[vertex.delayedFork.state.pathNode.statement] = it + } set.add(vertex) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt index 6faf371e92..ba0133f7a8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputModelObserver.kt @@ -2,10 +2,10 @@ package org.usvm.machine.results.observers import org.usvm.python.model.PyInputModel -abstract class InputModelObserver { - abstract fun onInputModel(inputModel: PyInputModel) +interface InputModelObserver { + fun onInputModel(inputModel: PyInputModel) } -object EmptyInputModelObserver : InputModelObserver() { +object EmptyInputModelObserver : InputModelObserver { override fun onInputModel(inputModel: PyInputModel) = run {} } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt index d45e920ddb..9b203ad19f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/InputPythonObjectObserver.kt @@ -2,10 +2,10 @@ package org.usvm.machine.results.observers import org.usvm.machine.interpreters.concrete.PyObject -abstract class InputPythonObjectObserver { - abstract fun onInputObjects(inputObjects: List) +interface InputPythonObjectObserver { + fun onInputObjects(inputObjects: List) } -object EmptyInputPythonObjectObserver : InputPythonObjectObserver() { +object EmptyInputPythonObjectObserver : InputPythonObjectObserver { override fun onInputObjects(inputObjects: List) = run {} } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt index 9b6dc31a71..cd7a883789 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/NewStateObserver.kt @@ -2,10 +2,10 @@ package org.usvm.machine.results.observers import org.usvm.machine.PyState -abstract class NewStateObserver { - abstract fun onNewState(state: PyState) +interface NewStateObserver { + fun onNewState(state: PyState) } -object EmptyNewStateObserver : NewStateObserver() { +object EmptyNewStateObserver : NewStateObserver { override fun onNewState(state: PyState) = run {} } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt index cb4f8e02eb..d288bb194b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/observers/PyTestObserver.kt @@ -2,15 +2,15 @@ package org.usvm.machine.results.observers import org.usvm.python.model.PyTest -abstract class PyTestObserver { - abstract fun onPyTest(pyTest: PyTest) +interface PyTestObserver { + fun onPyTest(pyTest: PyTest) } -class EmptyPyTestObserver : PyTestObserver() { +class EmptyPyTestObserver : PyTestObserver { override fun onPyTest(pyTest: PyTest) = run {} } -class DefaultPyTestObserver : PyTestObserver() { +class DefaultPyTestObserver : PyTestObserver { val tests: MutableList> = mutableListOf() override fun onPyTest(pyTest: PyTest) { tests.add(pyTest) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt index 9e3aa6da89..65f89220d5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/EmptyObjectSerializer.kt @@ -2,6 +2,6 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.PyObject -object EmptyObjectSerializer : PythonObjectSerializer() { +object EmptyObjectSerializer : PythonObjectSerializer { override fun serialize(obj: PyObject) = run {} } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt index bdecbd023f..e131f94f8a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ObjectWithDictSerializer.kt @@ -4,7 +4,7 @@ import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object ObjectWithDictSerializer : PythonObjectSerializer() { +object ObjectWithDictSerializer : PythonObjectSerializer { override fun serialize(obj: PyObject): String { val objRepr = ReprObjectSerializer.serialize(obj) val namespace = ConcretePythonInterpreter.getNewNamespace() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt index ef5855b6b8..4bf2810ce3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PickleObjectSerializer.kt @@ -3,7 +3,7 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object PickleObjectSerializer : PythonObjectSerializer() { +object PickleObjectSerializer : PythonObjectSerializer { override fun serialize(obj: PyObject): String? { return runCatching { val namespace = ConcretePythonInterpreter.getNewNamespace() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt index 5193b8a941..27ebbb9cbd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/PythonObjectSerializer.kt @@ -2,6 +2,6 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.PyObject -abstract class PythonObjectSerializer { - abstract fun serialize(obj: PyObject): PythonObjectRepresentation +interface PythonObjectSerializer { + fun serialize(obj: PyObject): PythonObjectRepresentation } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt index dea2144636..3116bc23df 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/ReprObjectSerializer.kt @@ -3,7 +3,7 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object ReprObjectSerializer : PythonObjectSerializer() { +object ReprObjectSerializer : PythonObjectSerializer { override fun serialize(obj: PyObject): String { return runCatching { ConcretePythonInterpreter.getPythonObjectRepr(obj) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt index c7063c77b3..ce9185e578 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/results/serialization/StandardPythonObjectSerializer.kt @@ -3,7 +3,7 @@ package org.usvm.machine.results.serialization import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -object StandardPythonObjectSerializer : PythonObjectSerializer() { +object StandardPythonObjectSerializer : PythonObjectSerializer { override fun serialize(obj: PyObject): PythonObjectInfo { val repr = ReprObjectSerializer.serialize(obj) val typeName = ConcretePythonInterpreter.getPythonObjectTypeName(obj) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt index d115a5816e..a33a60e612 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt @@ -6,11 +6,11 @@ import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier -import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive class DefaultPyObjectModelProvider(private val typeSystem: PythonTypeSystem) { - fun provide(type: PythonType): PyObjectModel { + fun provide(type: PythonType): PyValue { require(type is ConcretePythonType) return when (type) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt index 29fc8ae90b..67f7b07810 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt @@ -41,7 +41,7 @@ import org.usvm.mkSizeExpr import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyMockObject -import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive import org.usvm.python.model.PyTupleObject import org.usvm.types.first @@ -54,8 +54,8 @@ class PyObjectModelBuilder( require(state.pyModel == modelHolder.model) } - private val converted = mutableMapOf() - fun convert(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private val converted = mutableMapOf() + fun convert(obj: InterpretedSymbolicPythonObject): PyValue { if (obj is InterpretedInputSymbolicPythonObject) { require(obj.modelHolder.model == state.pyModel) { "Models in PyState and in InterpretedSymbolicPythonObject must be the same" @@ -69,7 +69,7 @@ class PyObjectModelBuilder( } val typeSystem = state.typeSystem val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty") - val result: PyObjectModel = when (type) { + val result: PyValue = when (type) { MockType -> { convertMockType(obj) } @@ -119,7 +119,7 @@ class PyObjectModelBuilder( } private val defaultValueProvider = DefaultPyObjectModelProvider(state.typeSystem) - private fun convertMockType(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertMockType(obj: InterpretedSymbolicPythonObject): PyValue { val default = modelHolder.model.forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) } @@ -129,10 +129,10 @@ class PyObjectModelBuilder( return PyMockObject(obj.address.address) } - private fun convertInt(obj: InterpretedSymbolicPythonObject): PyObjectModel = + private fun convertInt(obj: InterpretedSymbolicPythonObject): PyValue = PyPrimitive(obj.getIntContent(state.ctx, state.memory).toString()) - private fun convertBool(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertBool(obj: InterpretedSymbolicPythonObject): PyValue { val repr = when (obj.getBoolContent(state.ctx, state.memory)) { state.ctx.trueExpr -> "True" state.ctx.falseExpr -> "False" @@ -141,10 +141,10 @@ class PyObjectModelBuilder( return PyPrimitive(repr) } - private fun convertNone(): PyObjectModel = + private fun convertNone(): PyValue = PyPrimitive("None") - private fun convertSlice(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertSlice(obj: InterpretedSymbolicPythonObject): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "Slice cannot be static" } @@ -158,7 +158,7 @@ class PyObjectModelBuilder( ) } - private fun convertFloat(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertFloat(obj: InterpretedSymbolicPythonObject): PyValue { val repr = when (val floatValue = obj.getFloatContent(state.ctx, state.memory)) { is FloatNan -> "float('nan')" is FloatPlusInfinity -> "float('inf')" @@ -169,7 +169,7 @@ class PyObjectModelBuilder( } private var strNumber = 0 - private fun convertString(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertString(obj: InterpretedSymbolicPythonObject): PyValue { if (isStaticHeapRef(obj.address)) { val uninterpreted = UninterpretedSymbolicPythonObject(obj.address, state.typeSystem) val str = state.preAllocatedObjects.concreteString(uninterpreted) @@ -182,7 +182,7 @@ class PyObjectModelBuilder( return PyPrimitive("'${strNumber++}'") } - private fun convertList(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertList(obj: InterpretedSymbolicPythonObject): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "List object cannot be static" } @@ -192,7 +192,7 @@ class PyObjectModelBuilder( return result } - private fun convertTuple(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertTuple(obj: InterpretedSymbolicPythonObject): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "List object cannot be static" } @@ -202,7 +202,7 @@ class PyObjectModelBuilder( return result } - private fun convertDict(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertDict(obj: InterpretedSymbolicPythonObject): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "Input dict cannot be static" } @@ -211,7 +211,7 @@ class PyObjectModelBuilder( if (obj.dictIsEmpty(state.ctx)) { return result } - val dictItems = mutableListOf>() + val dictItems = mutableListOf>() val model = state.pyModel model.possibleRefKeys.forEach { val key = if (isStaticHeapRef(it)) { @@ -244,14 +244,14 @@ class PyObjectModelBuilder( return result } - private fun convertSet(obj: InterpretedSymbolicPythonObject): PyObjectModel { + private fun convertSet(obj: InterpretedSymbolicPythonObject): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "Input set cannot be static" } if (obj.setIsEmpty(state.ctx)) { return PyCompositeObject(PyIdentifier("builtins", "set"), emptyList()) } - val items = mutableListOf() + val items = mutableListOf() val model = state.pyModel model.possibleRefKeys.forEach { val key = if (isStaticHeapRef(it)) { @@ -283,7 +283,7 @@ class PyObjectModelBuilder( private fun convertFromDefaultConstructor( obj: InterpretedSymbolicPythonObject, type: ConcretePythonType, - ): PyObjectModel { + ): PyValue { require(obj is InterpretedInputSymbolicPythonObject) { "Instance of type with default constructor cannot be static" } @@ -299,7 +299,7 @@ class PyObjectModelBuilder( if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { return result } - val fields = mutableMapOf() + val fields = mutableMapOf() state.preAllocatedObjects.listAllocatedStrs().forEach { val nameAddress = modelHolder.model.eval(it.address) require(isStaticHeapRef(nameAddress)) { "Symbolic string object must be static" } @@ -310,32 +310,42 @@ class PyObjectModelBuilder( state.typeSystem ) if (obj.containsField(nameSymbol)) { - val str = state.preAllocatedObjects.concreteString(it)!! - if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { - val strRef = state.preAllocatedObjects.refOfString(str)!! - val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") - ConcretePythonInterpreter.concreteRun(namespace, "import keyword") - val isValidName = ConcretePythonInterpreter.eval( - namespace, - "field.isidentifier() and not keyword.iskeyword(field)" - ) - if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { - val symbolicValue = obj.getFieldValue(state.ctx, nameSymbol, state.memory) - val value = convert(symbolicValue) - fields[str] = value - } - ConcretePythonInterpreter.decref(namespace) - } + addFieldToObject(obj, nameSymbol, it, type, fields) } } result.fieldDict = fields return result } + private fun addFieldToObject( + obj: InterpretedInputSymbolicPythonObject, + nameSymbol: InterpretedSymbolicPythonObject, + strObj: UninterpretedSymbolicPythonObject, + type: ConcretePythonType, + fields: MutableMap, + ) { + val str = state.preAllocatedObjects.concreteString(strObj)!! + if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { + val strRef = state.preAllocatedObjects.refOfString(str)!! + val namespace = ConcretePythonInterpreter.getNewNamespace() + ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") + ConcretePythonInterpreter.concreteRun(namespace, "import keyword") + val isValidName = ConcretePythonInterpreter.eval( + namespace, + "field.isidentifier() and not keyword.iskeyword(field)" + ) + if (ConcretePythonInterpreter.getPythonObjectRepr(isValidName) == "True") { + val symbolicValue = obj.getFieldValue(state.ctx, nameSymbol, state.memory) + val value = convert(symbolicValue) + fields[str] = value + } + ConcretePythonInterpreter.decref(namespace) + } + } + private fun constructArrayContents( obj: InterpretedInputSymbolicPythonObject, - ): List { + ): List { val size = obj.readArrayLength(state.ctx) as? KInt32NumExpr ?: throw LengthOverflowException() if (size.value > MAX_INPUT_ARRAY_LENGTH) { throw LengthOverflowException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt index dab06f389a..6c6b7bb1f3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt @@ -7,13 +7,13 @@ import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyMockObject -import org.usvm.python.model.PyObjectModel +import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive import org.usvm.python.model.PyTupleObject class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { - private val converted = mutableMapOf() - fun convert(model: PyObjectModel): PyObject { + private val converted = mutableMapOf() + fun convert(model: PyValue): PyObject { if (model in converted) { return converted[model]!! } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt index 44b453d89a..7ea7f1d1d9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt @@ -7,7 +7,7 @@ import org.usvm.python.model.PyInputModel class InputModelObserverForRunner( private val communicator: PickledObjectCommunicator, -) : InputModelObserver() { +) : InputModelObserver { private val sentData = mutableSetOf() override fun onInputModel(inputModel: PyInputModel) { val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index 8b8552fffa..522d9c9e09 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -10,7 +10,7 @@ import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer class NewStateObserverForRunner( private val communicator: PickledObjectCommunicator, -) : NewStateObserver() { +) : NewStateObserver { private val sentData = mutableSetOf() override fun onNewState(state: PyState) { val modelHolder = PyModelHolder(state.pyModel) diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt index 0ef4c0c596..d90bf411ae 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DistributionLayout.kt @@ -2,14 +2,14 @@ package org.usvm.runner import java.io.File -abstract class DistributionLayout { - abstract val cpythonPath: File - abstract val approximationsPath: File - abstract val nativeLibPath: File - abstract val jarPath: File +interface DistributionLayout { + val cpythonPath: File + val approximationsPath: File + val nativeLibPath: File + val jarPath: File } -class StandardLayout(distributionPath: File) : DistributionLayout() { +class StandardLayout(distributionPath: File) : DistributionLayout { override val cpythonPath: File = File(distributionPath, "cpython") override val approximationsPath: File = File(distributionPath, "lib") override val nativeLibPath: File = File(distributionPath, "lib") diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt index 685c2be070..a497d21fb2 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonAnalysisResultReceiver.kt @@ -1,5 +1,5 @@ package org.usvm.runner -abstract class USVMPythonAnalysisResultReceiver { - abstract fun receivePickledInputValues(pickledTuple: String) +interface USVMPythonAnalysisResultReceiver { + fun receivePickledInputValues(pickledTuple: String) } diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt index 3d17c41ed7..e84b91dc71 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt @@ -1,6 +1,6 @@ package org.usvm.runner -class PrintingResultReceiver : USVMPythonAnalysisResultReceiver() { +class PrintingResultReceiver : USVMPythonAnalysisResultReceiver { var cnt: Int = 0 override fun receivePickledInputValues(pickledTuple: String) { println(pickledTuple) diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt index 5160bf110e..3b3750dc57 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/TestingLayout.kt @@ -2,7 +2,7 @@ package org.usvm.runner import java.io.File -class TestingLayout(basePath: String) : DistributionLayout() { +class TestingLayout(basePath: String) : DistributionLayout { override val cpythonPath = File(basePath, "cpythonadapter/build/cpython_build") override val approximationsPath = File(basePath, "python_approximations") override val nativeLibPath = File(basePath, "cpythonadapter/build/lib/main/debug") From 93e7aa650b94c3d23e32d906cc1dd54f91ac82a0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 31 May 2024 14:25:54 +0300 Subject: [PATCH 285/344] More refactoring --- .../org/usvm/runner/PythonTestRunner.kt | 4 ++-- .../manual/analyzers/OrdinaryAnalyzer.kt | 1 - .../annotations/SymbolicMethodProcessor.kt | 2 +- .../SymbolicMethodGeneration.kt | 4 ++-- .../usvm/interpreter/ConcolicRunContext.java | 8 +++---- .../symbolic/USVMPythonInterpreter.kt | 24 +++++++++---------- .../descriptors/PythonMethodDescriptor.kt | 2 +- .../usvm/machine/ps/PyPathSelectorFactory.kt | 4 ++-- .../symbolicobjects/PreallocatedObjects.kt | 2 +- .../SymbolicObjectConstruction.kt | 16 ++++++------- .../symbolicobjects/SymbolicPythonObject.kt | 12 +++++----- .../symbolicobjects/memory/ArrayLike.kt | 6 ++--- .../machine/symbolicobjects/memory/Bool.kt | 6 ++--- .../machine/symbolicobjects/memory/Dict.kt | 16 ++++++------- .../symbolicobjects/memory/Enumerate.kt | 6 ++--- .../machine/symbolicobjects/memory/Float.kt | 4 ++-- .../machine/symbolicobjects/memory/Int.kt | 6 ++--- .../symbolicobjects/memory/ListIterator.kt | 6 ++--- .../machine/symbolicobjects/memory/Range.kt | 2 +- .../symbolicobjects/memory/RangeIterator.kt | 6 ++--- .../machine/symbolicobjects/memory/Set.kt | 12 +++++----- .../machine/symbolicobjects/memory/Slice.kt | 4 ++-- .../symbolicobjects/memory/StandardFields.kt | 6 ++--- .../symbolicobjects/memory/TupleIterator.kt | 6 ++--- ...lProvider.kt => DefaultPyValueProvider.kt} | 4 ++-- ...bjectModelBuilder.kt => PyValueBuilder.kt} | 6 ++--- ...PyObjectRenderer.kt => PyValueRenderer.kt} | 4 ++-- .../org/usvm/machine/types/TypeSystem.kt | 14 +++++------ .../usvm/machine/utils/PyMachineStatistics.kt | 11 ++++++--- .../org/usvm/machine/utils/UHeapRefUtils.kt | 2 +- .../runner/InputModelObserverForRunner.kt | 4 ++-- .../usvm/runner/NewStateObserverForRunner.kt | 8 +++---- .../org/usvm/runner/USVMPythonRunner.kt | 2 +- 33 files changed, 111 insertions(+), 109 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/{DefaultPyObjectModelProvider.kt => DefaultPyValueProvider.kt} (96%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/{PyObjectModelBuilder.kt => PyValueBuilder.kt} (99%) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/{PyObjectRenderer.kt => PyValueRenderer.kt} (98%) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index cf37feabda..ceeb490bb7 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -10,7 +10,7 @@ import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.results.DefaultPyMachineResultsReceiver import org.usvm.machine.results.serialization.PythonObjectInfo import org.usvm.machine.results.serialization.StandardPythonObjectSerializer -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer import org.usvm.machine.types.BasicPythonTypeSystem import org.usvm.machine.types.PythonAnyType import org.usvm.machine.types.PythonType @@ -60,7 +60,7 @@ sealed class PythonTestRunner( ): String? = program.withPinnedCallable(target, typeSystem) { pinnedCallable -> val argModels = test.inputModel.inputArgs - val renderer = PyObjectRenderer() + val renderer = PyValueRenderer() val args = argModels.map { renderer.convert(it) } try { val concreteResult = diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt index bc503ae5d2..20b06e08ae 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -81,7 +81,6 @@ object OrdinaryAnalyzer : ProgramAnalyzer { println("FUNCTION STATISTICS") println(machine.statistics.functionStatistics.last().writeReport()) println() - } catch (e: IllegalOperationException) { println("Illegal operation while analyzing: ${e.operation}\n") } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt index d7ac5342cc..74b0bf2121 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodProcessor.kt @@ -70,7 +70,7 @@ class SymbolicMethodProcessor : AbstractProcessor() { require(it in definedIds) { "SymbolicMethodId $it has no definition" } - require(it.cName != null) + requireNotNull(it.cName) } return result } diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index 1faa11d8c2..13e3120a90 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -40,8 +40,8 @@ fun generateSymbolicMethodInitialization(): String { jlong symbolicMethodCurRef; """.trimIndent() val clsNameDescr = "L$clsName;" - val items = SymbolicMethodId.values().map { - require(it.cName != null) + val items = SymbolicMethodId.entries.map { + requireNotNull(it.cName) """ symbolicMethodCurFieldID = (*env)->GetStaticFieldID(env, symbolicMethodIdCls, "${it.name}", "$clsNameDescr"); symbolicMethodCurObject = (*env)->GetStaticObjectField(env, symbolicMethodIdCls, symbolicMethodCurFieldID); diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index 44be94feed..e981428655 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -8,8 +8,8 @@ import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException; import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent; import org.usvm.machine.model.PyModelHolder; -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder; -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer; +import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder; +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer; import org.usvm.machine.types.PythonTypeSystem; import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; @@ -33,8 +33,8 @@ public class ConcolicRunContext { public int instructionCounter = 0; public boolean usesVirtualInputs = false; public Callable isCancelled; - public PyObjectModelBuilder builder = null; - public PyObjectRenderer renderer = null; + public PyValueBuilder builder = null; + public PyValueRenderer renderer = null; public ConcolicRunContext( @NotNull PyState curState, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 3d73c88564..c184f08d1f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -20,15 +20,15 @@ import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.serialization.ReprObjectSerializer import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.LengthOverflowException -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.python.model.PyInputModel -import org.usvm.python.model.PyValue import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess import org.usvm.python.model.PyTest +import org.usvm.python.model.PyValue class USVMPythonInterpreter( private val ctx: PyContext, @@ -50,7 +50,7 @@ class USVMPythonInterpreter( val symbols = state.inputSymbols val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } - val builder = PyObjectModelBuilder(state, modelHolder) + val builder = PyValueBuilder(state, modelHolder) val objectModels = try { interpreted.map { builder.convert(it) } } catch (_: LengthOverflowException) { @@ -62,7 +62,7 @@ class USVMPythonInterpreter( val inputModel = PyInputModel(objectModels) resultsReceiver.inputModelObserver.onInputModel(inputModel) - val renderer = PyObjectRenderer() + val renderer = PyValueRenderer() concolicRunContext.builder = builder concolicRunContext.renderer = renderer val concrete = getConcrete(renderer, objectModels) @@ -121,7 +121,7 @@ class USVMPythonInterpreter( private fun processConcreteInput( concrete: List, - renderer: PyObjectRenderer, + renderer: PyValueRenderer, ): List? { if (logger.isDebugEnabled) { // getting __repr__ might be slow logger.debug( @@ -161,7 +161,7 @@ class USVMPythonInterpreter( private fun processJavaException( concolicRunContext: ConcolicRunContext, exception: Throwable, - renderer: PyObjectRenderer, + renderer: PyValueRenderer, ) { when (exception) { is UnregisteredVirtualOperation -> processUnregisteredVirtualOperation(concolicRunContext, renderer) @@ -175,12 +175,12 @@ class USVMPythonInterpreter( private fun processCPythonExceptionDuringConcolicRun( concolicRunContext: ConcolicRunContext, exception: CPythonExecutionException, - renderer: PyObjectRenderer, + renderer: PyValueRenderer, inputModel: PyInputModel, inputReprs: List?, ): Boolean { - require(exception.pythonExceptionType != null) - require(exception.pythonExceptionValue != null) + requireNotNull(exception.pythonExceptionType) + requireNotNull(exception.pythonExceptionValue) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) processJavaException(concolicRunContext, javaException, renderer) @@ -205,7 +205,7 @@ class USVMPythonInterpreter( private fun processUnregisteredVirtualOperation( concolicRunContext: ConcolicRunContext, - renderer: PyObjectRenderer, + renderer: PyValueRenderer, ) { logger.debug("Step result: Unregistrered virtual operation") val resultState = concolicRunContext.curState @@ -229,7 +229,7 @@ class USVMPythonInterpreter( concolicRunContext.curState?.meta?.wasInterrupted = true } - private fun getConcrete(renderer: PyObjectRenderer, objectModels: List): List? { + private fun getConcrete(renderer: PyValueRenderer, objectModels: List): List? { try { return objectModels.map { renderer.convert(it) } } catch (_: LengthOverflowException) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt index 1fbe17411b..2ffbcf108f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt @@ -8,7 +8,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject object PythonMethodDescriptor : MemberDescriptor() { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - require(owner != null) { "Python method must always have an owner" } + requireNotNull(owner) { "Python method must always have an owner" } return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt index ba61ce5c21..e59a1dd5bd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyPathSelectorFactory.kt @@ -15,7 +15,7 @@ import org.usvm.machine.ps.strategies.impls.makeDelayedForkByInstructionPriority import org.usvm.machine.ps.strategies.impls.makeDelayedForkByInstructionWeightedStrategy import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder +import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder import org.usvm.ps.DfsPathSelector import org.usvm.ps.RandomTreePathSelector import org.usvm.python.model.PyTupleObject @@ -398,7 +398,7 @@ private const val DEFAULT_NUMBER_OF_VIRTUAL = 5 private fun calculateNumberOfVirtual(state: PyState): Int = runCatching { val modelHolder = PyModelHolder(state.pyModel) - val builder = PyObjectModelBuilder(state, modelHolder) + val builder = PyValueBuilder(state, modelHolder) val models = state.inputSymbols.map { symbol -> val interpreted = interpretSymbolicPythonObject(modelHolder, state.memory, symbol) builder.convert(interpreted) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 9587270ea9..8b362d202e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -20,7 +20,7 @@ class PreallocatedObjects( ) { fun allocateStr(ctx: ConcolicRunContext, string: String, ref: PyObject): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val cached = concreteStrToSymbol[string] if (cached != null) { return cached diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index 4afae6f144..d66312ab92 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -68,7 +68,7 @@ fun constructEmptyStaticObject( } fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonInt) val result = UninterpretedSymbolicPythonObject(address, typeSystem) @@ -78,7 +78,7 @@ fun constructInt(context: ConcolicRunContext, expr: UExpr): Uninterpre } fun constructFloat(context: ConcolicRunContext, expr: FloatUninterpretedContent): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonFloat) val result = UninterpretedSymbolicPythonObject(address, typeSystem) @@ -89,7 +89,7 @@ fun constructFloat(context: ConcolicRunContext, expr: FloatUninterpretedContent) fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val trueObj = context.curState!!.preAllocatedObjects.trueObject val falseObj = context.curState!!.preAllocatedObjects.falseObject @@ -117,7 +117,7 @@ fun constructListIterator( context: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonListIteratorType) val result = UninterpretedSymbolicPythonObject(address, typeSystem) @@ -130,7 +130,7 @@ fun constructTupleIterator( context: ConcolicRunContext, tuple: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonTupleIteratorType) return UninterpretedSymbolicPythonObject(address, typeSystem).also { @@ -145,7 +145,7 @@ fun constructRange( stop: UExpr, step: UExpr, ): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRange) return UninterpretedSymbolicPythonObject(address, typeSystem).also { @@ -158,7 +158,7 @@ fun constructRangeIterator( context: ConcolicRunContext, range: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { - require(context.curState != null) + requireNotNull(context.curState) val typeSystem = context.typeSystem val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRangeIterator) return UninterpretedSymbolicPythonObject(address, typeSystem).also { @@ -173,7 +173,7 @@ fun constructSlice( stop: SliceUninterpretedField, step: SliceUninterpretedField, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem val address = ctx.curState!!.memory.allocConcrete(typeSystem.pythonSlice) return UninterpretedSymbolicPythonObject(address, typeSystem).also { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 919399d93c..ccbda2cb10 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -54,7 +54,7 @@ class UninterpretedSymbolicPythonObject( if (address is UConcreteHeapRef) { return } - require(ctx.curState != null) + requireNotNull(ctx.curState) myAssert(ctx, evalIs(ctx, type)) } @@ -62,12 +62,12 @@ class UninterpretedSymbolicPythonObject( if (address is UConcreteHeapRef) { return } - require(ctx.curState != null) + requireNotNull(ctx.curState) myAssert(ctx, evalIsSoft(ctx, type)) } fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) val result = evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) if (resolvesToNullInCurrentModel(ctx) && ctx.curState!!.pyModel.eval(result).isTrue) { ctx.curState!!.possibleTypesForNull = ctx.curState!!.possibleTypesForNull.filterBySupertype(type) @@ -89,7 +89,7 @@ class UninterpretedSymbolicPythonObject( } fun evalIsSoft(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) return evalIsSoft(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) } @@ -116,7 +116,7 @@ class UninterpretedSymbolicPythonObject( } fun getTimeOfCreation(ctx: ConcolicRunContext): UExpr { // must not be called on nullref - require(ctx.curState != null) + requireNotNull(ctx.curState) return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } @@ -194,7 +194,7 @@ fun interpretSymbolicPythonObject( ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, ): InterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) return interpretSymbolicPythonObject(ctx.modelHolder, ctx.curState!!.memory, obj) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 7eaa5928c9..743942d366 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -41,7 +41,7 @@ fun UninterpretedSymbolicPythonObject.readArrayElement( ctx: ConcolicRunContext, index: UExpr, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) @@ -81,7 +81,7 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement( index: UExpr, value: UninterpretedSymbolicPythonObject, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) if (!isAllocatedObject(ctx)) { @@ -104,7 +104,7 @@ fun UninterpretedSymbolicPythonObject.extendArrayConstraints( ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) type.elementConstraints.forEach { constraint -> diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 3583447988..f19e1dd843 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -21,13 +21,13 @@ import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonBool) return ctx.curState!!.memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx.ctx)) } fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) return when (val type = getTypeIfDefined(ctx)) { typeSystem.pythonBool -> { getBoolContent(ctx) @@ -81,6 +81,6 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemo } fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) return getBoolContent(ctx.ctx, ctx.curState!!.memory) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 970115d9b0..220bfb7184 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -35,14 +35,14 @@ import org.usvm.memory.key.USizeExprKeyInfo import org.usvm.types.first fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) } fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) ctx.curState!!.memory.writeField( @@ -58,7 +58,7 @@ fun UninterpretedSymbolicPythonObject.readDictRefElement( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) @@ -69,7 +69,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsRef( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, ): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val contains = ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) @@ -83,7 +83,7 @@ fun UninterpretedSymbolicPythonObject.writeDictRefElement( key: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) setDictNotEmpty(ctx) @@ -94,7 +94,7 @@ fun UninterpretedSymbolicPythonObject.readDictIntElement( ctx: ConcolicRunContext, key: UExpr, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) @@ -106,7 +106,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsInt( ctx: ConcolicRunContext, key: UExpr, ): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) @@ -121,7 +121,7 @@ fun UninterpretedSymbolicPythonObject.writeDictIntElement( key: UExpr, value: UninterpretedSymbolicPythonObject, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) setDictNotEmpty(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt index 28f781ea69..c2bde9c079 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -12,7 +12,7 @@ fun UninterpretedSymbolicPythonObject.initializeEnumerate( ctx: ConcolicRunContext, arg: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) } @@ -20,7 +20,7 @@ fun UninterpretedSymbolicPythonObject.initializeEnumerate( fun UninterpretedSymbolicPythonObject.getEnumerateIterator( ctx: ConcolicRunContext, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(result, typeSystem) } @@ -28,7 +28,7 @@ fun UninterpretedSymbolicPythonObject.getEnumerateIterator( fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( ctx: ConcolicRunContext, ): UExpr = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) ctx.curState!!.memory.writeField( address, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 3c98cdb6e1..6cca5ff23e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -122,7 +122,7 @@ fun mkUninterpretedFloatWithValue(ctx: PyContext, value: UExpr): Floa FloatUninterpretedContent(ctx.falseExpr, ctx.falseExpr, ctx.falseExpr, value) fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonFloat) writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx, expr.isNan) writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx, expr.isInf) @@ -131,7 +131,7 @@ fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, e } fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonFloat) return FloatUninterpretedContent( readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx), diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 8c06656ca2..0fcdf044d8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -16,13 +16,13 @@ import org.usvm.machine.types.PythonType import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonInt) ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) } fun UninterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonInt) return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) } @@ -55,6 +55,6 @@ fun InterpretedSymbolicPythonObject.getIntContent( } fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) return getIntContent(ctx.ctx, ctx.curState!!.memory) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt index 93f3c2320f..6bda0c33c4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt @@ -14,14 +14,14 @@ fun UninterpretedSymbolicPythonObject.setListIteratorContent( ctx: ConcolicRunContext, list: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) } fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) ctx.curState!!.memory.writeField( @@ -36,7 +36,7 @@ fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicR fun UninterpretedSymbolicPythonObject.getListIteratorContent( ctx: ConcolicRunContext, ): Pair> = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonListIteratorType) val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt index 9c8af443cd..c3cde5760f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -13,7 +13,7 @@ fun UninterpretedSymbolicPythonObject.setRangeContent( stop: UExpr, step: UExpr, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonRange) ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt index 6e9825c876..76ddcd32e7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -13,7 +13,7 @@ fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( ctx: ConcolicRunContext, range: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) @@ -28,7 +28,7 @@ fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( fun UninterpretedSymbolicPythonObject.getRangeIteratorState( ctx: ConcolicRunContext, ): Pair, UExpr> = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) @@ -38,7 +38,7 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorState( fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( ctx: ConcolicRunContext, ): UExpr = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) val newIndex = mkArithAdd(index, mkIntNum(1)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index 4d4ee8190f..b07c1aa41e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -21,14 +21,14 @@ import org.usvm.machine.types.RefSetType import org.usvm.memory.key.USizeExprKeyInfo fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonSet) return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) } fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonSet) ctx.curState!!.memory.writeField( @@ -44,7 +44,7 @@ fun UninterpretedSymbolicPythonObject.setContainsInt( ctx: ConcolicRunContext, key: UExpr, ): UBoolExpr = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) } @@ -53,7 +53,7 @@ fun UninterpretedSymbolicPythonObject.addIntToSet( ctx: ConcolicRunContext, key: UExpr, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) makeSetNotEmpty(ctx) val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) @@ -63,7 +63,7 @@ fun UninterpretedSymbolicPythonObject.setContainsRef( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, ): UBoolExpr = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) val lvalue = URefSetEntryLValue(address, key.address, RefSetType) return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) } @@ -72,7 +72,7 @@ fun UninterpretedSymbolicPythonObject.addRefToSet( ctx: ConcolicRunContext, key: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) makeSetNotEmpty(ctx) val lvalue = URefSetEntryLValue(address, key.address, RefSetType) ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 0683fda416..428ca994ba 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -69,7 +69,7 @@ private fun UninterpretedSymbolicPythonObject.getSliceField( fieldIsNone: PropertyOfPythonObject, field: PropertyOfPythonObject, ): SliceUninterpretedField { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertype(ctx, ctx.typeSystem.pythonSlice) val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) @@ -82,7 +82,7 @@ private fun UninterpretedSymbolicPythonObject.setSliceField( field: PropertyOfPythonObject, content: SliceUninterpretedField, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) ctx.curState!!.memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) ctx.curState!!.memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index 0b2aaa7197..264963e081 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -28,7 +28,7 @@ fun UninterpretedSymbolicPythonObject.getFieldValue( ctx: ConcolicRunContext, name: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject { - require(ctx.curState != null) + requireNotNull(ctx.curState) name.addSupertype(ctx, typeSystem.pythonStr) val addr = ctx.curState!!.symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(addr, typeSystem) @@ -39,7 +39,7 @@ fun UninterpretedSymbolicPythonObject.setFieldValue( name: UninterpretedSymbolicPythonObject, value: UninterpretedSymbolicPythonObject, ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) name.addSupertypeSoft(ctx, typeSystem.pythonStr) ctx.curState!!.symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) } @@ -48,7 +48,7 @@ fun UninterpretedSymbolicPythonObject.containsField( ctx: ConcolicRunContext, name: UninterpretedSymbolicPythonObject, ): UBoolExpr { - require(ctx.curState != null) + requireNotNull(ctx.curState) name.addSupertype(ctx, typeSystem.pythonStr) return ctx.curState!!.symbolicObjectMapContains(address, name.address, ObjectDictType) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index f3790725d7..7a3b10a18c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -15,7 +15,7 @@ fun UninterpretedSymbolicPythonObject.setTupleIteratorContent( ) = with( ctx.ctx ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) @@ -26,7 +26,7 @@ fun UninterpretedSymbolicPythonObject.getTupleIteratorContent( ): Pair> = with( ctx.ctx ) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) @@ -34,7 +34,7 @@ fun UninterpretedSymbolicPythonObject.getTupleIteratorContent( } fun UninterpretedSymbolicPythonObject.increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { - require(ctx.curState != null) + requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) ctx.curState!!.memory.writeField( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyValueProvider.kt similarity index 96% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyValueProvider.kt index a33a60e612..050828c50f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyObjectModelProvider.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/DefaultPyValueProvider.kt @@ -6,10 +6,10 @@ import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier -import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive +import org.usvm.python.model.PyValue -class DefaultPyObjectModelProvider(private val typeSystem: PythonTypeSystem) { +class DefaultPyValueProvider(private val typeSystem: PythonTypeSystem) { fun provide(type: PythonType): PyValue { require(type is ConcretePythonType) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt similarity index 99% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt index 67f7b07810..7ea2c9393b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectModelBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt @@ -41,12 +41,12 @@ import org.usvm.mkSizeExpr import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyMockObject -import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive import org.usvm.python.model.PyTupleObject +import org.usvm.python.model.PyValue import org.usvm.types.first -class PyObjectModelBuilder( +class PyValueBuilder( var state: PyState, private val modelHolder: PyModelHolder, ) { @@ -118,7 +118,7 @@ class PyObjectModelBuilder( return result } - private val defaultValueProvider = DefaultPyObjectModelProvider(state.typeSystem) + private val defaultValueProvider = DefaultPyValueProvider(state.typeSystem) private fun convertMockType(obj: InterpretedSymbolicPythonObject): PyValue { val default = modelHolder.model.forcedConcreteTypes[obj.address]?.let { defaultValueProvider.provide(it) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt similarity index 98% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt index 6c6b7bb1f3..c88b18738c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyObjectRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt @@ -7,11 +7,11 @@ import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyMockObject -import org.usvm.python.model.PyValue import org.usvm.python.model.PyPrimitive import org.usvm.python.model.PyTupleObject +import org.usvm.python.model.PyValue -class PyObjectRenderer(private val useNoneInsteadOfMock: Boolean = false) { +class PyValueRenderer(private val useNoneInsteadOfMock: Boolean = false) { private val converted = mutableMapOf() fun convert(model: PyValue): PyObject { if (model in converted) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index e93fe14f63..378858acc9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -67,7 +67,7 @@ abstract class PythonTypeSystem : UTypeSystem { } } - protected var allConcreteTypes: List = emptyList() + abstract val allConcreteTypes: MutableList protected val addressToConcreteType = mutableMapOf() private val concreteTypeToAddress = mutableMapOf() private fun addType(type: ConcretePythonType, address: PyObject) { @@ -178,9 +178,7 @@ abstract class PythonTypeSystem : UTypeSystem { } class BasicPythonTypeSystem : PythonTypeSystem() { - init { - allConcreteTypes = basicTypes - } + override val allConcreteTypes = basicTypes.toMutableList() } class PythonTypeSystemWithMypyInfo( @@ -206,7 +204,7 @@ class PythonTypeSystemWithMypyInfo( } fun resortTypes(module: String) { - allConcreteTypes = allConcreteTypes.sortedBy { + allConcreteTypes.sortBy { if (it in basicTypes) { 0 } else if (it.typeModule == module) { @@ -217,9 +215,9 @@ class PythonTypeSystemWithMypyInfo( } } - init { + override val allConcreteTypes: MutableList by lazy { withAdditionalPaths(program.additionalPaths, null) { - allConcreteTypes = basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utTypeRaw -> + basicTypes + typeHintsStorage.simpleTypes.mapNotNull { utTypeRaw -> val utType = DefaultSubstitutionProvider.substituteAll( utTypeRaw, utTypeRaw.getBoundedParameters().map { pythonAnyType } @@ -251,6 +249,6 @@ class PythonTypeSystemWithMypyInfo( concreteTypeOfUtType[PythonTypeWrapperForEqualityCheck(utType)] = concreteType } } - } + }.toMutableList() } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index e2959b4126..b8b8fc5035 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -104,9 +104,14 @@ class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) "[x.offset for x in dis.Bytecode(f) if x.opname != 'RESUME']" ) val rawStr = ConcretePythonInterpreter.getPythonObjectRepr(raw) - rawStr.removePrefix("[").removeSuffix("]").split(", ").map { it.toInt() }.also { - ConcretePythonInterpreter.decref(namespace) - } + rawStr + .removePrefix("[") + .removeSuffix("]") + .split(", ") + .map { it.toInt() } + .also { + ConcretePythonInterpreter.decref(namespace) + } } var coverage: Double = 0.0 var coverageNoVirtual: Double = 0.0 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 4d8a70729c..2fcc98cd83 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -37,7 +37,7 @@ fun getTypeStreamForDelayedFork( obj: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext, ): UTypeStream { - require(ctx.curState != null) + requireNotNull(ctx.curState) val interpreted = interpretSymbolicPythonObject(ctx, obj) if (interpreted.address.address != 0) { val current = interpreted.getTypeStream()!! diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt index 7ea7f1d1d9..493fe7b97c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/InputModelObserverForRunner.kt @@ -2,7 +2,7 @@ package org.usvm.runner import org.usvm.machine.results.observers.InputModelObserver import org.usvm.machine.results.serialization.PickleArgsSerializer -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer import org.usvm.python.model.PyInputModel class InputModelObserverForRunner( @@ -10,7 +10,7 @@ class InputModelObserverForRunner( ) : InputModelObserver { private val sentData = mutableSetOf() override fun onInputModel(inputModel: PyInputModel) { - val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) + val renderer = PyValueRenderer(useNoneInsteadOfMock = true) val objects = inputModel.inputArgs.map { renderer.convert(it) } val data = PickleArgsSerializer.serialize(objects) ?: return if (data !in sentData) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt index 522d9c9e09..20e57b9308 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/runner/NewStateObserverForRunner.kt @@ -5,8 +5,8 @@ import org.usvm.machine.model.PyModelHolder import org.usvm.machine.results.observers.NewStateObserver import org.usvm.machine.results.serialization.PickleArgsSerializer import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject -import org.usvm.machine.symbolicobjects.rendering.PyObjectModelBuilder -import org.usvm.machine.symbolicobjects.rendering.PyObjectRenderer +import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer class NewStateObserverForRunner( private val communicator: PickledObjectCommunicator, @@ -14,8 +14,8 @@ class NewStateObserverForRunner( private val sentData = mutableSetOf() override fun onNewState(state: PyState) { val modelHolder = PyModelHolder(state.pyModel) - val builder = PyObjectModelBuilder(state, modelHolder) - val renderer = PyObjectRenderer(useNoneInsteadOfMock = true) + val builder = PyValueBuilder(state, modelHolder) + val renderer = PyValueRenderer(useNoneInsteadOfMock = true) val interpreted = state.inputSymbols.map { interpretSymbolicPythonObject(modelHolder, state.memory, it) } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index 56639543e0..f8e8df1e66 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -56,7 +56,7 @@ open class USVMPythonRunner(private val config: USVMPythonConfig) : AutoCloseabl val processBuilder = ProcessBuilder(args) val env = processBuilder.environment() if (System.getProperty("os.name")!!.lowercase().startsWith("windows")) { - env["PATH"] = (System.getProperty("PATH")?.let { "$it:" } ?: "") + + env["PATH"] = (System.getProperty("PATH")?.let { "$it:" }.orEmpty()) + "${File(layout.cpythonPath, "DLLs").canonicalPath};${layout.cpythonPath.canonicalPath}" } else { env["LD_LIBRARY_PATH"] = "${File(layout.cpythonPath, "lib").canonicalPath}:" + From 2544adac5da4d094d8bc3d6ac32ba0162dc1b5fb Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 31 May 2024 16:30:45 +0300 Subject: [PATCH 286/344] refactoring + enhancement of SymbolTypeTree --- detekt/config.yml | 2 - usvm-python/src/test/kotlin/ManualTest.kt | 57 +------- ...mitivePrograms.kt => PrimitivePrograms.kt} | 2 +- .../runner/manual/program/SampleProgram.kt | 10 ++ .../manual/program/SampleProgramProvider.kt | 21 +++ .../usvm/machine/ps/types/Prioritization.kt | 2 +- .../usvm/machine/ps/types/SymbolTypeTree.kt | 138 ++++++++++-------- .../symbolicobjects/SymbolicPythonObject.kt | 8 + 8 files changed, 126 insertions(+), 114 deletions(-) rename usvm-python/src/test/kotlin/org/usvm/runner/manual/program/{SamplePrimitivePrograms.kt => PrimitivePrograms.kt} (92%) create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt diff --git a/detekt/config.yml b/detekt/config.yml index fda56de6e3..629c81b653 100644 --- a/detekt/config.yml +++ b/detekt/config.yml @@ -58,8 +58,6 @@ complexity: formatting: active: true - SpacingAroundCurly: - active: false TrailingCommaOnDeclarationSite: active: true MultiLineIfElse: diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index d43a046932..639204c7a9 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -1,18 +1,14 @@ import org.usvm.UMachineOptions -import org.usvm.language.PrimitivePyProgram import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException -import org.usvm.machine.types.BasicPythonTypeSystem -import org.usvm.machine.types.PythonAnyType import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.utils.withAdditionalPaths import org.usvm.runner.CustomPythonTestRunner -import org.usvm.runner.SamplesBuild import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer import org.usvm.runner.manual.program.sampleFunction import org.usvm.utils.getModulesFromFiles @@ -30,37 +26,21 @@ import java.io.File import kotlin.time.Duration.Companion.seconds fun main() { - + /** + * See: + * - [org.usvm.runner.manual.program.sampleStringFunction] + * - [org.usvm.runner.manual.program.sampleFunction] + * */ val program = sampleFunction + /** + * TODO + * */ val analyzer = OrdinaryAnalyzer analyzer.run(program) } -private fun buildSampleRunConfig(): RunConfig { - val (program, typeSystem) = constructStructuredProgram() /*constructPrimitiveProgram( - """ - def list_concat(x): - y = x + [1] - if len(y[::-1]) == 5: - return 1 - return 2 - - - def f(x): - assert x != "aaaa" - """.trimIndent() - )*/ - val function = PyUnpinnedCallable.constructCallableFromName( - listOf(PythonAnyType), - "g", - "tricky.CompositeObjects" - ) - val functions = listOf(function) - return RunConfig(program, typeSystem, functions) -} - private val ignoreFunctions = listOf() private val ignoreModules = listOf( "odd_even_transposition_parallel" @@ -201,24 +181,3 @@ private data class RunConfig( val typeSystem: PythonTypeSystem, val functions: List, ) - -@Suppress("SameParameterValue") -private fun constructPrimitiveProgram(asString: String): Pair { - val program = PrimitivePyProgram.fromString(asString) - val typeSystem = BasicPythonTypeSystem() - return Pair(program, typeSystem) -} - -@Suppress("SameParameterValue") -private fun constructPrimitiveProgramFromStructured(module: String): Pair { - val program = SamplesBuild.program.getPrimitiveProgram(module) - val typeSystem = BasicPythonTypeSystem() - return Pair(program, typeSystem) -} - -@Suppress("SameParameterValue") -private fun constructStructuredProgram(): Pair { - val program = SamplesBuild.program - val typeSystem = PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) - return Pair(program, typeSystem) -} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt similarity index 92% rename from usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt rename to usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt index 7abbc16fe7..f564aea75c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SamplePrimitivePrograms.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt @@ -5,7 +5,7 @@ import org.usvm.machine.types.PythonAnyType /** * Use this declaration for simple manual checks. * */ -val sampleFunction = StringProgramProvider( +val sampleStringFunction = StringProgramProvider( """ def f(x): assert x != "hello" diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt new file mode 100644 index 0000000000..ca5c193de2 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt @@ -0,0 +1,10 @@ +package org.usvm.runner.manual.program + +import org.usvm.machine.types.PythonAnyType + +/** + * Use this for manual tests of samples. + * */ +val sampleFunction = SampleProgramProvider( + listOf(("SimpleTypeInference" to "use_str_eq") to listOf(PythonAnyType)) +) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt new file mode 100644 index 0000000000..e4e7d400f4 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt @@ -0,0 +1,21 @@ +package org.usvm.runner.manual.program + +import org.usvm.language.PyUnpinnedCallable +import org.usvm.machine.types.PythonType +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.runner.SamplesBuild + +class SampleProgramProvider( + declarations: List, List>>, +) : ProgramProvider { + override val program = SamplesBuild.program + + override val typeSystem = + PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) + + override val functions: List = + declarations.map { (name, sig) -> + val (module, shortName) = name + PyUnpinnedCallable.constructCallableFromName(sig, shortName, module) + } +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt index 65dfe13af2..d12d72d10a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/Prioritization.kt @@ -17,7 +17,7 @@ fun makeTypeRating(state: PyState, delayedFork: DelayedFork): TypeRating? { return null } val (resultList, hints) = if (state.typeSystem is PythonTypeSystemWithMypyInfo) { - val typeGraph = SymbolTypeTree(state, state.typeSystem.typeHintsStorage, delayedFork.symbol) + val typeGraph = SymbolTypeTree(state, state.typeSystem, delayedFork.symbol) prioritizeTypes(candidates, typeGraph, state.typeSystem) to typeGraph.boundsForRoot.size } else { candidates to 0 diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index 38745d6029..ff600ce2f3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -18,10 +18,14 @@ import org.usvm.language.TpRichcmpMethod import org.usvm.language.TpSetattro import org.usvm.machine.PyState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getConcreteStrIfDefined +import org.usvm.machine.types.ConcretePythonType +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.utpython.types.PythonAnyTypeDescription import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.PythonCompositeTypeDescription import org.utpython.types.PythonTypeHintsStorage import org.utpython.types.createBinaryProtocol import org.utpython.types.createProtocolWithAttribute @@ -37,88 +41,99 @@ import org.utpython.types.pythonDescription class SymbolTypeTree( private val state: PyState, - private val typeHintsStorage: PythonTypeHintsStorage, + private val typeSystem: PythonTypeSystemWithMypyInfo, rootSymbol: UninterpretedSymbolicPythonObject, private val maxDepth: Int = 5, ) { + private val typeHintsStorage: PythonTypeHintsStorage + get() = typeSystem.typeHintsStorage + private val root = SymbolTreeNode(rootSymbol) + private fun generateSuccessors(node: SymbolTreeNode): List = state.getMocksForSymbol(node.symbol).mapNotNull { (mockHeader, resultSymbol) -> - val protocol = + val protocol: (UtType) -> List = when (mockHeader.method) { - MpAssSubscriptMethod -> { - { returnType: UtType -> createBinaryProtocol("__setitem__", pythonAnyType, returnType) } - } - MpSubscriptMethod -> { - { returnType: UtType -> createBinaryProtocol("__getitem__", pythonAnyType, returnType) } + MpAssSubscriptMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__setitem__", pythonAnyType, returnType)) } - NbAddMethod -> { - { returnType: UtType -> createBinaryProtocol("__add__", pythonAnyType, returnType) } + + MpSubscriptMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__getitem__", pythonAnyType, returnType)) } - NbSubtractMethod -> { - { returnType: UtType -> createBinaryProtocol("__sub__", pythonAnyType, returnType) } + + NbAddMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__add__", pythonAnyType, returnType)) } - NbBoolMethod -> { - { _: UtType -> createUnaryProtocol("__bool__", typeHintsStorage.pythonBool) } + + NbSubtractMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__sub__", pythonAnyType, returnType)) } - NbIntMethod -> { - { _: UtType -> createUnaryProtocol("__int__", typeHintsStorage.pythonInt) } + + NbBoolMethod -> { _: UtType -> + listOf(createUnaryProtocol("__bool__", typeHintsStorage.pythonBool)) } - NbNegativeMethod -> { - { returnType: UtType -> createUnaryProtocol("__neg__", returnType) } + + NbIntMethod -> { _: UtType -> + listOf(createUnaryProtocol("__int__", typeHintsStorage.pythonInt)) } - NbPositiveMethod -> { - { returnType: UtType -> createUnaryProtocol("__pos__", returnType) } + + NbNegativeMethod -> { returnType: UtType -> + listOf(createUnaryProtocol("__neg__", returnType)) } - NbMatrixMultiplyMethod -> { - { returnType: UtType -> createBinaryProtocol("__matmul__", pythonAnyType, returnType) } + + NbPositiveMethod -> { returnType: UtType -> + listOf(createUnaryProtocol("__pos__", returnType)) } - NbMultiplyMethod -> { - { returnType: UtType -> createBinaryProtocol("__mul__", pythonAnyType, returnType) } + + NbMatrixMultiplyMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__matmul__", pythonAnyType, returnType)) } - SqLengthMethod -> { - { _: UtType -> createUnaryProtocol("__len__", typeHintsStorage.pythonInt) } + + NbMultiplyMethod -> { returnType: UtType -> + listOf(createBinaryProtocol("__mul__", pythonAnyType, returnType)) } - TpIterMethod -> { - { returnType: UtType -> createUnaryProtocol("__iter__", returnType) } + + SqLengthMethod -> { _: UtType -> + listOf(createUnaryProtocol("__len__", typeHintsStorage.pythonInt)) } - TpGetattro -> { - val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) - ?: return@mapNotNull null - { returnType: UtType -> createProtocolWithAttribute(attribute, returnType) } + + TpIterMethod -> { returnType: UtType -> + listOf(createUnaryProtocol("__iter__", returnType)) } - TpSetattro -> { + + TpGetattro, TpSetattro -> func@{ returnType: UtType -> val attribute = mockHeader.args[1].getConcreteStrIfDefined(state.preAllocatedObjects) - ?: return@mapNotNull null - { _: UtType -> createProtocolWithAttribute(attribute, pythonAnyType) } + ?: return@func emptyList() + listOf(createProtocolWithAttribute(attribute, returnType)) } - is TpRichcmpMethod -> { - { returnType: UtType -> - when (mockHeader.method.op) { - ConcretePythonInterpreter.pyEQ -> - createBinaryProtocol("__eq__", pythonAnyType, returnType) - - ConcretePythonInterpreter.pyNE -> - createBinaryProtocol("__ne__", pythonAnyType, returnType) - - ConcretePythonInterpreter.pyLT -> - createBinaryProtocol("__lt__", pythonAnyType, returnType) - ConcretePythonInterpreter.pyLE -> - createBinaryProtocol("__le__", pythonAnyType, returnType) - - ConcretePythonInterpreter.pyGT -> - createBinaryProtocol("__gt__", pythonAnyType, returnType) + is TpRichcmpMethod -> { returnType: UtType -> + val protocolName: String = when (mockHeader.method.op) { + ConcretePythonInterpreter.pyEQ -> "__eq__" + ConcretePythonInterpreter.pyNE -> "__ne__" + ConcretePythonInterpreter.pyLT -> "__lt__" + ConcretePythonInterpreter.pyLE -> "__le__" + ConcretePythonInterpreter.pyGT -> "__gt__" + ConcretePythonInterpreter.pyGE -> "__ge__" + else -> error("Wrong OP in TpRichcmpMethod") + } - ConcretePythonInterpreter.pyGE -> - createBinaryProtocol("__ge__", pythonAnyType, returnType) + val operandTypes = listOf(pythonAnyType) + mockHeader.args.mapNotNull { operand -> + val modelHolder = PyModelHolder(state.pyModel) + val type = operand.getTypeIfDefined(modelHolder, state.memory) as? ConcretePythonType + type?.let { typeSystem.typeHintOfConcreteType(it) } + } - else -> error("Wrong OP in TpRichcmpMethod") - } + operandTypes.toSet().map { + createBinaryProtocol(protocolName, it, returnType) + } + operandTypes.filter { // "soft" constraints + it.pythonDescription() is PythonCompositeTypeDescription } } - is TpCallMethod -> { - { returnType: UtType -> + + is TpCallMethod -> { returnType: UtType -> + listOf( createProtocolWithAttribute( "__call__", createPythonCallableType( @@ -132,15 +147,16 @@ class SymbolTypeTree( ) } ) - } + ) } } - val originalHint = protocol(pythonAnyType) - if (originalHint.pythonDescription() !is PythonAnyTypeDescription) { - node.upperBounds.add(originalHint) + val originalHints = protocol(pythonAnyType) + if (originalHints.isEmpty()) { + return@mapNotNull null } + node.upperBounds += originalHints val newNode = SymbolTreeNode(resultSymbol) - val edge = SymbolTreeEdge(newNode, node) { type -> listOf(protocol(type)) } + val edge = SymbolTreeEdge(newNode, node) { type -> protocol(type) } addEdge(edge) newNode } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index ccbda2cb10..5c2bed5bec 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -110,6 +110,14 @@ class UninterpretedSymbolicPythonObject( return interpreted.getConcreteType() } + fun getTypeIfDefined( + modelHolder: PyModelHolder, + memory: UMemory, + ): PythonType? { + val interpreted = interpretSymbolicPythonObject(modelHolder, memory, this) + return interpreted.getConcreteType() + } + private fun resolvesToNullInCurrentModel(ctx: ConcolicRunContext): Boolean { val interpreted = interpretSymbolicPythonObject(ctx, this) return interpreted.address.address == 0 From 590d0951e359d6b7d5004b543c864d66324596c3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 4 Jun 2024 13:27:48 +0300 Subject: [PATCH 287/344] More formatting --- usvm-python/src/test/kotlin/ManualTest.kt | 1 + .../manual/program/LocalProgramProvider.kt | 75 +++++++++++++++++++ .../SymbolicMethodGeneration.kt | 2 +- .../usvm/machine/ConcolicRunContextUtils.kt | 12 +++ .../concrete/ConcretePythonInterpreter.kt | 5 +- .../symbolic/operations/basic/Common.kt | 19 ++--- .../symbolic/operations/basic/Enumerate.kt | 5 +- .../symbolic/operations/basic/Float.kt | 7 +- .../symbolic/operations/basic/List.kt | 21 +++--- .../symbolic/operations/basic/Virtual.kt | 23 +++--- .../symbolic/operations/descriptors/Slice.kt | 3 +- .../operations/symbolicmethods/List.kt | 35 +++++---- .../operations/symbolicmethods/Set.kt | 6 +- .../operations/tracing/PathTracing.kt | 18 ++--- .../machine/symbolicobjects/memory/Slice.kt | 7 +- 15 files changed, 171 insertions(+), 68 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index 639204c7a9..94ae99022e 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -30,6 +30,7 @@ fun main() { * See: * - [org.usvm.runner.manual.program.sampleStringFunction] * - [org.usvm.runner.manual.program.sampleFunction] + * - [org.usvm.runner.manual.program.LocalProgramProvider] * */ val program = sampleFunction diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt new file mode 100644 index 0000000000..7b63c7050a --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -0,0 +1,75 @@ +package org.usvm.runner.manual.program + +import org.usvm.language.PyProgram +import org.usvm.language.PyUnpinnedCallable +import org.usvm.language.StructuredPyProgram +import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.types.BasicPythonTypeSystem +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.types.PythonTypeSystemWithMypyInfo +import org.usvm.machine.types.getTypeFromTypeHint +import org.usvm.machine.utils.withAdditionalPaths +import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.general.FunctionType +import org.utpython.types.general.UtType +import org.utpython.types.pythonDescription +import org.utpython.types.pythonTypeRepresentation + +class LocalProgramProvider( + val path: String, + private val ignoreFunctions: List = emptyList(), + private val ignoreModules: List = emptyList(), +) : ProgramProvider { + override val program: PyProgram + get() = TODO("Not yet implemented") + + override val typeSystem: PythonTypeSystem + + override val functions: List + get() = TODO("Not yet implemented") + + init { + typeSystem = BasicPythonTypeSystem() // TODO + } + + private fun getFunctionInfo( + type: UtType, + name: String, + module: String, + typeSystem: PythonTypeSystemWithMypyInfo, + program: StructuredPyProgram, + ): PyUnpinnedCallable? { + val description = type.pythonDescription() + if (description !is PythonCallableTypeDescription) { + return null + } + if (ignoreFunctions.contains(name)) { + return null + } + if (description.argumentKinds.any { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + }) { + return null + } + runCatching { + withAdditionalPaths(program.roots, typeSystem) { + val namespace = program.getNamespaceOfModule(module)!! + val func = ConcretePythonInterpreter.eval(namespace, name) + if (ConcretePythonInterpreter.getPythonObjectTypeName(func) != "function") { + null + } else { + func + } + } + }.getOrNull() ?: return null + println("$module.$name: ${type.pythonTypeRepresentation()}") + val callableType = type as FunctionType + return PyUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + getTypeFromTypeHint(it, typeSystem) + }, + name, + module + ) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index 13e3120a90..8c81155a04 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -4,7 +4,7 @@ import org.usvm.annotations.ids.SymbolicMethodId fun generateSymbolicMethod(id: SymbolicMethodId): String { val cpythonFunctionInfo = CPythonFunctionDescription( - id.cName!!, + id.cName ?: error("SymbolicMethodId's $id cName should have been set with @CPythonAdapterJavaMethod"), listOf( ArgumentDescription( CType.JObject, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt new file mode 100644 index 0000000000..19c6a5bed6 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt @@ -0,0 +1,12 @@ +package org.usvm.machine + +import org.usvm.interpreter.ConcolicRunContext + +fun ConcolicRunContext.extractCurState(): PyState { + val result = curState + requireNotNull(result) { + "`extractCurState` should be called when you are sure that " + + "curState is non-null. It is null now." + } + return result +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index eaafc8a7f9..e3ea7abef0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -269,8 +269,9 @@ object ConcretePythonInterpreter { pythonAdapter.finalizePython() initialize() SymbolicClonesOfGlobals.restart() - if (venvConfig != null) { - activateVenv(venvConfig!!) + val localVenvConfig = venvConfig + if (localVenvConfig != null) { + activateVenv(localVenvConfig) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 36d11b3e87..e6c975121c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -9,6 +9,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId @@ -117,9 +118,9 @@ fun createIterable( val typeSystem = ctx.typeSystem val size = elements.size with(ctx.ctx) { - val iterableAddress = ctx.curState!!.memory.allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) - ctx.curState!!.memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType, intSort) - ctx.curState!!.memory.types.allocate(iterableAddress.address, type) + val iterableAddress = ctx.extractCurState().memory.allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) + ctx.extractCurState().memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType, intSort) + ctx.extractCurState().memory.types.allocate(iterableAddress.address, type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) result.addSupertypeSoft(ctx, type) return result @@ -194,7 +195,7 @@ fun handlerStandardTpGetattroKt( if (ctx.curState == null) { return null } - val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return null + val concreteStr = ctx.extractCurState().preAllocatedObjects.concreteString(name) ?: return null val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return null val concreteDescriptor = ConcretePythonInterpreter.typeLookup(type.asObject, concreteStr) var defaultValue: UninterpretedSymbolicPythonObject? = null @@ -242,7 +243,7 @@ fun handlerStandardTpSetattroKt( value: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return - val concreteStr = ctx.curState!!.preAllocatedObjects.concreteString(name) ?: return + val concreteStr = ctx.extractCurState().preAllocatedObjects.concreteString(name) ?: return val type = obj.getTypeIfDefined(ctx) as? ConcretePythonType ?: return if (!ConcretePythonInterpreter.typeHasStandardDict(type.asObject)) { return @@ -293,18 +294,18 @@ fun resolveSequenceIndex( val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) myFork(ctx, indexCond) - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) { + if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) myFork(ctx, positiveIndex) - return if (ctx.curState!!.pyModel.eval(positiveIndex).isTrue) { + return if (ctx.extractCurState().pyModel.eval(positiveIndex).isTrue) { indexValue } else { val negativeIndex = mkAnd(indexValue lt mkIntNum(0), mkArithUnaryMinus(listSize) le indexValue) - require(ctx.curState!!.pyModel.eval(negativeIndex).isTrue) + require(ctx.extractCurState().pyModel.eval(negativeIndex).isTrue) mkArithAdd(indexValue, listSize) } } @@ -317,7 +318,7 @@ fun handlerCreateEmptyObjectKt( ctx.curState ?: return null val typeSystem = ctx.typeSystem val type = typeSystem.concreteTypeOnAddress(typeRef) ?: return null - return constructEmptyAllocatedObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, type) + return constructEmptyAllocatedObject(ctx.ctx, ctx.extractCurState().memory, ctx.typeSystem, type) } fun addHashableTypeConstrains( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index 0ebd228b98..a1b684adbd 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.getEnumerateIndexAndIncrement @@ -18,7 +19,7 @@ fun handlerCreateEnumerateKt( val typeSystem = ctx.typeSystem val iterator: UninterpretedSymbolicPythonObject = when (iterable.getTypeIfDefined(ctx)) { null -> { - addDelayedFork(ctx, iterable, ctx.curState!!.clone()) + addDelayedFork(ctx, iterable, ctx.extractCurState().clone()) return null } typeSystem.pythonList -> { @@ -31,7 +32,7 @@ fun handlerCreateEnumerateKt( return null } } - val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonEnumerate) + val address = ctx.extractCurState().memory.allocConcrete(ctx.typeSystem.pythonEnumerate) val result = UninterpretedSymbolicPythonObject(address, ctx.typeSystem) result.initializeEnumerate(ctx, iterator) return result diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index a4a2aa8343..f1b1d21e64 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -5,6 +5,7 @@ import org.usvm.UExpr import org.usvm.USort import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructFloat @@ -383,7 +384,7 @@ private fun strToFloat( obj: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? { require(ctx.curState != null && obj.getTypeIfDefined(ctx) == ctx.typeSystem.pythonStr) - val str = ctx.curState!!.preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null + val str = ctx.extractCurState().preAllocatedObjects.concreteString(obj)?.lowercase() ?: return null if (str == "inf" || str == "infinity") { return constructFloat(ctx, mkUninterpretedPlusInfinity(ctx.ctx)) } @@ -404,7 +405,9 @@ fun handlerFloatCastKt( val type = arg.getTypeIfDefined(ctx) ?: return null return when (type) { typeSystem.pythonBool, typeSystem.pythonInt -> { - val realValue = ctx.ctx.intToFloat(arg.getToIntContent(ctx)!!) + val realValue = ctx.ctx.intToFloat( + arg.getToIntContent(ctx) ?: error("bool and int should be able to be cast to int") + ) constructFloat(ctx, mkUninterpretedFloatWithValue(ctx.ctx, realValue)) } typeSystem.pythonFloat -> { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index df0918c8c5..001915d569 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -8,6 +8,7 @@ import org.usvm.api.memcpy import org.usvm.api.writeArrayLength import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructListIterator import org.usvm.machine.symbolicobjects.memory.extendArrayConstraints @@ -70,8 +71,8 @@ private fun listConcat( with(ctx.ctx) { val leftSize = left.readArrayLength(ctx) val rightSize = right.readArrayLength(ctx) - ctx.curState!!.memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType, intSort) - ctx.curState!!.memory.memcpy( + ctx.extractCurState().memory.writeArrayLength(dst.address, mkArithAdd(leftSize, rightSize), ArrayType, intSort) + ctx.extractCurState().memory.memcpy( left.address, dst.address, ArrayType, @@ -80,7 +81,7 @@ private fun listConcat( mkIntNum(0), leftSize ) - ctx.curState!!.memory.memcpy( + ctx.extractCurState().memory.memcpy( right.address, dst.address, ArrayType, @@ -118,8 +119,8 @@ fun handlerListConcatKt( return null } with(ctx.ctx) { - val resultAddress = ctx.curState!!.memory.allocateArray(ArrayType, intSort, mkIntNum(0)) - ctx.curState!!.memory.types.allocate(resultAddress.address, typeSystem.pythonList) + val resultAddress = ctx.extractCurState().memory.allocateArray(ArrayType, intSort, mkIntNum(0)) + ctx.extractCurState().memory.types.allocate(resultAddress.address, typeSystem.pythonList) val result = UninterpretedSymbolicPythonObject(resultAddress, typeSystem) listConcat(ctx, left, right, result) return result @@ -157,7 +158,7 @@ fun handlerListAppendKt( with(ctx.ctx) { val currentSize = list.readArrayLength(ctx) list.writeArrayElement(ctx, currentSize, elem) - ctx.curState!!.memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) + ctx.extractCurState().memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) return list } } @@ -189,7 +190,7 @@ fun handlerListIteratorNextKt( val listSize = UninterpretedSymbolicPythonObject(listAddress, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt listSize myFork(ctx, indexCond) - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) { + if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } @@ -212,7 +213,7 @@ private fun listPop( } val newSize = mkArithSub(listSize, mkIntNum(1)) val result = list.readArrayElement(ctx, ind ?: newSize) - ctx.curState!!.memory.writeArrayLength(list.address, newSize, ArrayType, intSort) + ctx.extractCurState().memory.writeArrayLength(list.address, newSize, ArrayType, intSort) return result } } @@ -262,7 +263,7 @@ fun handlerListInsertKt( indValueRaw, listSize ) - ctx.curState!!.symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) + ctx.extractCurState().symbolicListInsert(list.address, ArrayType, addressSort, indValue, value.address) list.writeArrayElement(ctx, indValue, value) // to assert element constraints } } @@ -272,5 +273,5 @@ fun handlerListClearKt(ctx: ConcolicRunContext, list: UninterpretedSymbolicPytho if (list.getTypeIfDefined(ctx) != ctx.typeSystem.pythonList) { return } - ctx.curState!!.memory.writeArrayLength(list.address, ctx.ctx.mkIntNum(0), ArrayType, ctx.ctx.intSort) + ctx.extractCurState().memory.writeArrayLength(list.address, ctx.ctx.mkIntNum(0), ArrayType, ctx.ctx.intSort) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 8dcb39c34b..3cdfdfa631 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -9,6 +9,7 @@ import org.usvm.isTrue import org.usvm.language.NbBoolMethod import org.usvm.language.SqLengthMethod import org.usvm.language.VirtualPythonObject +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.model.PyModel import org.usvm.machine.model.constructModelWithNewMockEvaluator @@ -30,14 +31,14 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { val oldModel = ctx.modelHolder.model val (interpretedObj, _) = internalVirtualCallKt(ctx) { mockSymbol -> - val trueObject = ctx.modelHolder.model.eval(ctx.curState!!.preAllocatedObjects.trueObject.address) - val falseObject = ctx.modelHolder.model.eval(ctx.curState!!.preAllocatedObjects.falseObject.address) + val trueObject = ctx.modelHolder.model.eval(ctx.extractCurState().preAllocatedObjects.trueObject.address) + val falseObject = ctx.modelHolder.model.eval(ctx.extractCurState().preAllocatedObjects.falseObject.address) listOf( constructModelWithNewMockEvaluator( ctx.ctx, oldModel, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) trueObject as UConcreteHeapRef, useOldPossibleRefs = true ), @@ -45,7 +46,7 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) falseObject as UConcreteHeapRef, useOldPossibleRefs = true ) @@ -78,12 +79,12 @@ private fun internalVirtualCallKt( if (ctx.curState == null || ctx.curOperation == null || owner == null) { throw UnregisteredVirtualOperation() } - val ownerIsAlreadyMocked = ctx.curState!!.mockedObjects.contains(owner) - var clonedState = if (!ownerIsAlreadyMocked) ctx.curState!!.clone() else null + val ownerIsAlreadyMocked = ctx.extractCurState().mockedObjects.contains(owner) + var clonedState = if (!ownerIsAlreadyMocked) ctx.extractCurState().clone() else null if (clonedState != null) { clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) } - val (symbolic, isNew, mockSymbol) = ctx.curState!!.mock(ctx.curOperation) + val (symbolic, isNew, mockSymbol) = ctx.extractCurState().mock(ctx.curOperation) if (!ownerIsAlreadyMocked && clonedState != null) { addDelayedFork(ctx, owner, clonedState) } @@ -95,7 +96,7 @@ private fun internalVirtualCallKt( ctx.ctx, ctx.modelHolder.model, mockSymbol, - ctx.curState!!.pathConstraints, // one constraint will be missing (TODO: is it ok?) + ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) useOldPossibleRefs = true ) } else { @@ -103,13 +104,13 @@ private fun internalVirtualCallKt( } customNewModels.drop(1).forEach { (nextNewModel, constraint) -> - val newState = ctx.curState!!.clone() + val newState = ctx.extractCurState().clone() newState.models = listOf(nextNewModel) newState.pathConstraints += constraint ctx.forkedStates.add(newState) } - substituteModel(ctx.curState!!, newModel, constraint, ctx) + substituteModel(ctx.extractCurState(), newModel, constraint, ctx) } val concrete = interpretSymbolicPythonObject(ctx, symbolic) return concrete to symbolic @@ -127,7 +128,7 @@ fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObj val result = internalVirtualCallKt(ctx).second if (!ctx.curOperation!!.method.isMethodWithNonVirtualReturn) { val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) - val ps = ctx.curState!!.pathConstraints + val ps = ctx.extractCurState().pathConstraints ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) } return result diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt index 225d99f690..8c5dfad2c4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField @@ -14,7 +15,7 @@ private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunCont val (isNone, content) = field val address = ctx.ctx.mkIte( isNone, - ctx.curState!!.preAllocatedObjects.noneObject.address, + ctx.extractCurState().preAllocatedObjects.noneObject.address, constructInt(ctx, content).address ) return SymbolForCPython( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt index c926086de9..64f18e391b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt @@ -14,10 +14,12 @@ fun symbolicMethodListAppendKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || args.size != 1 || args.first().obj == null) { + val selfObg = self?.obj + val argObj = args.firstOrNull()?.obj + if (selfObg == null || args.size != 1 || argObj == null) { return null } - val result = handlerListAppendKt(ctx, self.obj!!, args.first().obj!!) + val result = handlerListAppendKt(ctx, selfObg, argObj) return SymbolForCPython(result, 0) } @@ -26,16 +28,15 @@ fun symbolicMethodListPopKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || args.size > 1) { + val selfObj = self?.obj + if (selfObj == null || args.size > 1) { return null } val result = if (args.isEmpty()) { - handlerListPopKt(ctx, self.obj!!) + handlerListPopKt(ctx, selfObj) } else { - if (args.first().obj == null) { - return null - } - handlerListPopIndKt(ctx, self.obj!!, args.first().obj!!) + val argObj = args.first().obj ?: return null + handlerListPopIndKt(ctx, selfObj, argObj) } return SymbolForCPython(result, 0) } @@ -45,10 +46,13 @@ fun symbolicMethodListInsertKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || args.size != 2 || args[0].obj == null || args[1].obj == null) { + val selfObj = self?.obj + val arg0Obj = args.getOrNull(0)?.obj + val arg1Obj = args.getOrNull(1)?.obj + if (selfObj == null || args.size != 2 || arg0Obj == null || arg1Obj == null) { return null } - handlerListInsertKt(ctx, self.obj!!, args[0].obj!!, args[1].obj!!) + handlerListInsertKt(ctx, selfObj, arg0Obj, arg1Obj) return generateNone(ctx) } @@ -57,10 +61,12 @@ fun symbolicMethodListExtendKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || args.size != 1 || args.first().obj == null) { + val selfObj = self?.obj + val argObj = args.getOrNull(0)?.obj + if (selfObj == null || args.size != 1 || argObj == null) { return null } - val result = handlerListExtendKt(ctx, self.obj!!, args.first().obj!!) + val result = handlerListExtendKt(ctx, selfObj, argObj) return SymbolForCPython(result, 0) } @@ -69,9 +75,10 @@ fun symbolicMethodListClearKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || args.isNotEmpty()) { + val selfObj = self?.obj + if (selfObj == null || args.isNotEmpty()) { return null } - handlerListClearKt(ctx, self.obj!!) + handlerListClearKt(ctx, selfObj) return generateNone(ctx) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt index 8663682120..cbe216d415 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt @@ -12,10 +12,12 @@ fun symbolicMethodSetAddKt( self: SymbolForCPython?, args: Array, ): SymbolForCPython? { - if (self?.obj == null || ctx.curState == null || args.size != 1 || args[0].obj == null) { + val selfObj = self?.obj + val argObj = args.firstOrNull()?.obj + if (selfObj == null || ctx.curState == null || args.size != 1 || argObj == null) { return null } - handlerSetAddKt(ctx, self.obj!!, args[0].obj!!) + handlerSetAddKt(ctx, selfObj, argObj) val none = PyObject(ConcretePythonInterpreter.pyNoneRef) return SymbolForCPython(handlerLoadConstKt(ctx, none), 0) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 58bf36f4a6..90d624192d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -4,6 +4,7 @@ import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable @@ -22,23 +23,18 @@ fun withTracing( if (context.instructionCounter > context.maxInstructions) { throw InstructionLimitExceededException() } - if (context.curState == null) { - return null - } + var curState = context.curState ?: return null if (newEventParameters is NextInstruction) { context.statistics.updateCoverage(newEventParameters, context.usesVirtualInputs) - val state = context.curState!! - state.uniqueInstructions = state.uniqueInstructions.add(newEventParameters.pyInstruction) + curState.uniqueInstructions = curState.uniqueInstructions.add(newEventParameters.pyInstruction) } if (context.pathPrefix.isEmpty()) { val result = runCatching { resultSupplier.call() }.onFailure { System.err.println(it) }.getOrThrow() - if (context.curState == null) { - return null - } + curState = context.curState ?: return null val eventRecord = SymbolicHandlerEvent(newEventParameters, result) - context.curState!!.concolicQueries = context.curState!!.concolicQueries.add(eventRecord) + curState.concolicQueries = curState.concolicQueries.add(eventRecord) if (newEventParameters is NextInstruction) { - context.curState!!.pathNode += newEventParameters.pyInstruction + curState.pathNode += newEventParameters.pyInstruction } return result } @@ -65,7 +61,7 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res val obj = cond.obj ?: return val expectedResult = obj.getToBoolValue(context)?.let { - context.curState!!.pyModel.eval(it) + context.extractCurState().pyModel.eval(it) }?.isTrue ?: return if (result != expectedResult) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 428ca994ba..da96c16300 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -69,10 +69,11 @@ private fun UninterpretedSymbolicPythonObject.getSliceField( fieldIsNone: PropertyOfPythonObject, field: PropertyOfPythonObject, ): SliceUninterpretedField { - requireNotNull(ctx.curState) + val curState = ctx.curState + requireNotNull(curState) addSupertype(ctx, ctx.typeSystem.pythonSlice) - val isNone = ctx.curState!!.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) - val value = ctx.curState!!.memory.readField(address, field, ctx.ctx.intSort) + val isNone = curState.memory.readField(address, fieldIsNone, ctx.ctx.boolSort) + val value = curState.memory.readField(address, field, ctx.ctx.intSort) return SliceUninterpretedField(isNone, value) } From a6e3567bb49e8f2c7d1047e9784b40a4b3e472ab Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 11:21:34 +0300 Subject: [PATCH 288/344] fmt --- .../symbolic/operations/basic/Constants.kt | 3 ++- .../symbolic/operations/basic/Control.kt | 19 ++++++------- .../symbolic/operations/basic/Dict.kt | 5 ++-- .../symbolic/operations/basic/Long.kt | 5 +++- .../operations/basic/MethodNotifications.kt | 3 ++- .../symbolic/operations/basic/Set.kt | 3 ++- .../symbolic/operations/basic/Tuple.kt | 3 ++- .../symbolicobjects/memory/ArrayLike.kt | 7 ++--- .../machine/symbolicobjects/memory/Bool.kt | 5 ++-- .../machine/symbolicobjects/memory/Dict.kt | 19 ++++++------- .../symbolicobjects/memory/Enumerate.kt | 11 ++++---- .../machine/symbolicobjects/memory/Float.kt | 17 ++++++------ .../machine/symbolicobjects/memory/Int.kt | 7 ++--- .../symbolicobjects/memory/ListIterator.kt | 13 ++++----- .../machine/symbolicobjects/memory/Range.kt | 9 ++++--- .../symbolicobjects/memory/RangeIterator.kt | 27 ++++++++++--------- .../machine/symbolicobjects/memory/Set.kt | 13 ++++----- .../machine/symbolicobjects/memory/Slice.kt | 5 ++-- .../symbolicobjects/memory/StandardFields.kt | 7 ++--- .../symbolicobjects/memory/TupleIterator.kt | 13 ++++----- 20 files changed, 108 insertions(+), 86 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index 7adcb68473..d7b0b2c2c8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -47,7 +48,7 @@ fun handlerLoadConstStrKt(context: ConcolicRunContext, value: PyObject): Uninter return null } val str = ConcretePythonInterpreter.getPythonObjectStr(value) - return context.curState!!.preAllocatedObjects.allocateStr(context, str, value) + return context.extractCurState().preAllocatedObjects.allocateStr(context, str, value) } fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 9f25cfbe7a..1bbd632282 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -7,6 +7,7 @@ import org.usvm.WithSolverStateForker.forkMulti import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PyState +import org.usvm.machine.extractCurState import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getToBoolValue @@ -16,15 +17,15 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) { return } - val model = ctx.curState!!.pyModel + val model = ctx.extractCurState().pyModel val oldCurState = ctx.curState - val forkResult = fork(ctx.curState!!, cond) + val forkResult = fork(ctx.extractCurState(), cond) when (model) { forkResult.positiveState?.models?.first() -> ctx.curState = forkResult.positiveState forkResult.negativeState?.models?.first() -> ctx.curState = forkResult.negativeState else -> error("Should not be reachable") } - ctx.builder.state = ctx.curState!! + ctx.builder.state = ctx.extractCurState() val applyToPyModel = { state: PyState -> state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) } @@ -53,10 +54,10 @@ fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) { return } - val oldModel = ctx.curState!!.pyModel - val forkResult = myAssertOnState(ctx.curState!!, cond) + val oldModel = ctx.extractCurState().pyModel + val forkResult = myAssertOnState(ctx.extractCurState(), cond) if (forkResult == null) { - ctx.curState!!.meta.modelDied = true + ctx.extractCurState().meta.modelDied = true } if (forkResult?.pyModel != oldModel) { throw BadModelException() @@ -67,12 +68,12 @@ fun addDelayedFork(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObjec if (ctx.curState == null) { return } - ctx.curState!!.delayedForks = ctx.curState!!.delayedForks.add( + ctx.extractCurState().delayedForks = ctx.extractCurState().delayedForks.add( DelayedFork( clonedState, on, getTypeStreamForDelayedFork(on, ctx), - ctx.curState!!.delayedForks + ctx.extractCurState().delayedForks ) ) } @@ -82,7 +83,7 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje return } if (cond.getTypeIfDefined(ctx) == null) { - addDelayedFork(ctx, cond, ctx.curState!!.clone()) + addDelayedFork(ctx, cond, ctx.extractCurState().clone()) } val expr = cond.getToBoolValue(ctx) ?: return myFork(ctx, expr) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index a40992f2b4..8191154d72 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.dictContainsInt import org.usvm.machine.symbolicobjects.memory.dictContainsRef @@ -101,7 +102,7 @@ fun handlerCreateDictKt( val elems = elemsStream.asSequence().toList() require(keys.size == elems.size) val typeSystem = ctx.typeSystem - val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val ref = ctx.extractCurState().memory.allocConcrete(typeSystem.pythonDict) val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) (keys zip elems).forEach { (key, elem) -> addHashableTypeConstrains(ctx, key) @@ -119,7 +120,7 @@ fun handlerCreateDictConstKeyKt( val elems = elemsStream.asSequence().toList() val typeSystem = ctx.typeSystem keys.addSupertypeSoft(ctx, typeSystem.pythonTuple) - val ref = ctx.curState!!.memory.allocConcrete(typeSystem.pythonDict) + val ref = ctx.extractCurState().memory.allocConcrete(typeSystem.pythonDict) val result = UninterpretedSymbolicPythonObject(ref, ctx.typeSystem) elems.forEachIndexed { index, elem -> val key = keys.readArrayElement(ctx, ctx.ctx.mkIntNum(index)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index bc8c4067eb..333d3d60c7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -208,7 +208,10 @@ fun handlerIntCastKt( val type = arg.getTypeIfDefined(ctx) ?: return null return when (type) { typeSystem.pythonInt -> arg - typeSystem.pythonBool -> constructInt(ctx, arg.getToIntContent(ctx)!!) + typeSystem.pythonBool -> constructInt( + ctx, + arg.getToIntContent(ctx) ?: error("It should be possible to cast bool to int") + ) typeSystem.pythonFloat -> castFloatToInt(ctx, arg) else -> null } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index 45a008959e..39fe9cc3bc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -1,6 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getFieldValue import org.usvm.machine.types.HasMpAssSubscript @@ -124,7 +125,7 @@ fun tpGetattroKt( myAssert(ctx, name.evalIsSoft(ctx, ctx.typeSystem.pythonStr)) val field = on.getFieldValue(ctx, name) val softConstraint = field.evalIsSoft(ctx, MockType) - val ps = ctx.curState!!.pathConstraints + val ps = ctx.extractCurState().pathConstraints ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index 1ecc554ed3..f79e623a12 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -2,6 +2,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.addIntToSet import org.usvm.machine.symbolicobjects.memory.addRefToSet @@ -76,7 +77,7 @@ fun handlerSetAddKt( fun handlerCreateEmptySetKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject? { ctx.curState ?: return null - val address = ctx.curState!!.memory.allocConcrete(ctx.typeSystem.pythonSet) + val address = ctx.extractCurState().memory.allocConcrete(ctx.typeSystem.pythonSet) return UninterpretedSymbolicPythonObject(address, ctx.typeSystem) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index bf9e3073b5..39d6aa8203 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -3,6 +3,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructTupleIterator import org.usvm.machine.symbolicobjects.memory.getTupleIteratorContent @@ -42,7 +43,7 @@ fun handlerTupleIteratorNextKt( val tupleSize = UninterpretedSymbolicPythonObject(tuple, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt tupleSize myFork(ctx, indexCond) - if (ctx.curState!!.pyModel.eval(indexCond).isFalse) { + if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } iterator.increaseTupleIteratorCounter(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 743942d366..4a32172913 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -13,6 +13,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isStaticHeapRef import org.usvm.machine.PyContext import org.usvm.machine.PyState +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject @@ -27,7 +28,7 @@ import org.usvm.types.first fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): UExpr { val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) - val result = ctx.curState!!.memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) + val result = ctx.extractCurState().memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) myAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) return result } @@ -44,7 +45,7 @@ fun UninterpretedSymbolicPythonObject.readArrayElement( requireNotNull(ctx.curState) val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) - val elemAddress = ctx.curState!!.memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) + val elemAddress = ctx.extractCurState().memory.readArrayIndex(address, index, ArrayType, ctx.ctx.addressSort) val elem = UninterpretedSymbolicPythonObject(elemAddress, typeSystem) if (isAllocatedObject(ctx)) { return elem @@ -90,7 +91,7 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement( } myAssert(ctx, cond) } - ctx.curState!!.memory.writeArrayIndex( + ctx.extractCurState().memory.writeArrayIndex( address, index, ArrayType, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index f19e1dd843..35d816f951 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -8,6 +8,7 @@ import org.usvm.api.readField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.BoolContents import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject @@ -23,7 +24,7 @@ import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UExpr { requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonBool) - return ctx.curState!!.memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx.ctx)) + return ctx.extractCurState().memory.readField(address, BoolContents.content, BoolContents.content.sort(ctx.ctx)) } fun UninterpretedSymbolicPythonObject.getToBoolValue(ctx: ConcolicRunContext): UBoolExpr? = with(ctx.ctx) { @@ -82,5 +83,5 @@ fun InterpretedSymbolicPythonObject.getBoolContent(ctx: PyContext, memory: UMemo fun InterpretedSymbolicPythonObject.getBoolContent(ctx: ConcolicRunContext): UBoolExpr { requireNotNull(ctx.curState) - return getBoolContent(ctx.ctx, ctx.curState!!.memory) + return getBoolContent(ctx.ctx, ctx.extractCurState().memory) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 220bfb7184..0b179c0f8d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -21,6 +21,7 @@ import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.DictContents import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject @@ -38,14 +39,14 @@ fun UninterpretedSymbolicPythonObject.dictIsEmpty(ctx: ConcolicRunContext): UBoo requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) + return ctx.ctx.mkNot(ctx.extractCurState().memory.readField(address, DictContents.isNotEmpty, ctx.ctx.boolSort)) } fun UninterpretedSymbolicPythonObject.setDictNotEmpty(ctx: ConcolicRunContext) { requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) - ctx.curState!!.memory.writeField( + ctx.extractCurState().memory.writeField( address, DictContents.isNotEmpty, ctx.ctx.boolSort, @@ -61,7 +62,7 @@ fun UninterpretedSymbolicPythonObject.readDictRefElement( requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - val resultAddress = ctx.curState!!.symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) + val resultAddress = ctx.extractCurState().symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) } @@ -72,7 +73,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsRef( requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - val contains = ctx.curState!!.symbolicObjectMapContains(address, key.address, RefDictType) + val contains = ctx.extractCurState().symbolicObjectMapContains(address, key.address, RefDictType) return with(ctx.ctx) { dictIsEmpty(ctx).not() and contains } @@ -87,7 +88,7 @@ fun UninterpretedSymbolicPythonObject.writeDictRefElement( val typeSystem = ctx.typeSystem addSupertypeSoft(ctx, typeSystem.pythonDict) setDictNotEmpty(ctx) - ctx.curState!!.symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) + ctx.extractCurState().symbolicObjectMapPut(address, key.address, value.address, RefDictType, ctx.ctx.addressSort) } fun UninterpretedSymbolicPythonObject.readDictIntElement( @@ -98,7 +99,7 @@ fun UninterpretedSymbolicPythonObject.readDictIntElement( val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) - val resultAddress = ctx.curState!!.memory.read(lvalue) + val resultAddress = ctx.extractCurState().memory.read(lvalue) return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) } @@ -110,7 +111,7 @@ fun UninterpretedSymbolicPythonObject.dictContainsInt( val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) val lvalue = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - val contains = ctx.curState!!.memory.read(lvalue) + val contains = ctx.extractCurState().memory.read(lvalue) return with(ctx.ctx) { dictIsEmpty(ctx).not() and contains } @@ -126,9 +127,9 @@ fun UninterpretedSymbolicPythonObject.writeDictIntElement( addSupertypeSoft(ctx, typeSystem.pythonDict) setDictNotEmpty(ctx) val lvalue = UMapEntryLValue(ctx.ctx.intSort, ctx.ctx.addressSort, address, key, IntDictType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalue, value.address, ctx.ctx.trueExpr) + ctx.extractCurState().memory.write(lvalue, value.address, ctx.ctx.trueExpr) val lvalueSet = USetEntryLValue(ctx.ctx.intSort, address, key, IntDictType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalueSet, ctx.ctx.trueExpr, ctx.ctx.trueExpr) + ctx.extractCurState().memory.write(lvalueSet, ctx.ctx.trueExpr, ctx.ctx.trueExpr) // TODO: size? } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt index c2bde9c079..79663bcb4e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -5,6 +5,7 @@ import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.EnumerateContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -13,15 +14,15 @@ fun UninterpretedSymbolicPythonObject.initializeEnumerate( arg: UninterpretedSymbolicPythonObject, ) = with(ctx.ctx) { requireNotNull(ctx.curState) - ctx.curState!!.memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) - ctx.curState!!.memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) + ctx.extractCurState().memory.writeField(address, EnumerateContents.iterator, addressSort, arg.address, trueExpr) + ctx.extractCurState().memory.writeField(address, EnumerateContents.index, intSort, mkIntNum(0), trueExpr) } fun UninterpretedSymbolicPythonObject.getEnumerateIterator( ctx: ConcolicRunContext, ): UninterpretedSymbolicPythonObject { requireNotNull(ctx.curState) - val result = ctx.curState!!.memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) + val result = ctx.extractCurState().memory.readField(address, EnumerateContents.iterator, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(result, typeSystem) } @@ -29,8 +30,8 @@ fun UninterpretedSymbolicPythonObject.getEnumerateIndexAndIncrement( ctx: ConcolicRunContext, ): UExpr = with(ctx.ctx) { requireNotNull(ctx.curState) - val result = ctx.curState!!.memory.readField(address, EnumerateContents.index, intSort) - ctx.curState!!.memory.writeField( + val result = ctx.extractCurState().memory.readField(address, EnumerateContents.index, intSort) + ctx.extractCurState().memory.writeField( address, EnumerateContents.index, intSort, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index 6cca5ff23e..b7e8d5e578 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -13,6 +13,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.ContentOfType import org.usvm.machine.symbolicobjects.FloatContents @@ -124,20 +125,20 @@ fun mkUninterpretedFloatWithValue(ctx: PyContext, value: UExpr): Floa fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, expr: FloatUninterpretedContent) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonFloat) - writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx, expr.isNan) - writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx, expr.isInf) - ctx.curState!!.memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) - ctx.curState!!.memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) + writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.extractCurState().memory, address, ctx.ctx, expr.isNan) + writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.extractCurState().memory, address, ctx.ctx, expr.isInf) + ctx.extractCurState().memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) + ctx.extractCurState().memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) } fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonFloat) return FloatUninterpretedContent( - readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.curState!!.memory, address, ctx.ctx), - readBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.curState!!.memory, address, ctx.ctx), - ctx.curState!!.memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), - ctx.curState!!.memory.readField(address, FloatContents.content, ctx.ctx.realSort) + readBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.extractCurState().memory, address, ctx.ctx), + readBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.extractCurState().memory, address, ctx.ctx), + ctx.extractCurState().memory.readField(address, FloatContents.infSign, ctx.ctx.boolSort), + ctx.extractCurState().memory.readField(address, FloatContents.content, ctx.ctx.realSort) ) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 0fcdf044d8..2c4a2fd32d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -7,6 +7,7 @@ import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.IntContents import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject @@ -18,13 +19,13 @@ import org.usvm.memory.UMemory fun UninterpretedSymbolicPythonObject.setIntContent(ctx: ConcolicRunContext, expr: UExpr) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonInt) - ctx.curState!!.memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) + ctx.extractCurState().memory.writeField(address, IntContents.content, ctx.ctx.intSort, expr, ctx.ctx.trueExpr) } fun UninterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonInt) - return ctx.curState!!.memory.readField(address, IntContents.content, ctx.ctx.intSort) + return ctx.extractCurState().memory.readField(address, IntContents.content, ctx.ctx.intSort) } fun UninterpretedSymbolicPythonObject.getToIntContent(ctx: ConcolicRunContext): UExpr? = with(ctx.ctx) { @@ -56,5 +57,5 @@ fun InterpretedSymbolicPythonObject.getIntContent( fun InterpretedSymbolicPythonObject.getIntContent(ctx: ConcolicRunContext): UExpr { requireNotNull(ctx.curState) - return getIntContent(ctx.ctx, ctx.curState!!.memory) + return getIntContent(ctx.ctx, ctx.extractCurState().memory) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt index 6bda0c33c4..ebaa9a21be 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt @@ -6,6 +6,7 @@ import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.ListIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -16,15 +17,15 @@ fun UninterpretedSymbolicPythonObject.setListIteratorContent( ) = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - ctx.curState!!.memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) - ctx.curState!!.memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) + ctx.extractCurState().memory.writeField(address, ListIteratorContents.list, addressSort, list.address, trueExpr) + ctx.extractCurState().memory.writeField(address, ListIteratorContents.index, intSort, mkIntNum(0), trueExpr) } fun UninterpretedSymbolicPythonObject.increaseListIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonListIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( + val oldIndexValue = ctx.extractCurState().memory.readField(address, ListIteratorContents.index, intSort) + ctx.extractCurState().memory.writeField( address, ListIteratorContents.index, intSort, @@ -38,7 +39,7 @@ fun UninterpretedSymbolicPythonObject.getListIteratorContent( ): Pair> = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertype(ctx, typeSystem.pythonListIteratorType) - val listRef = ctx.curState!!.memory.readField(address, ListIteratorContents.list, addressSort) - val index = ctx.curState!!.memory.readField(address, ListIteratorContents.index, intSort) + val listRef = ctx.extractCurState().memory.readField(address, ListIteratorContents.list, addressSort) + val index = ctx.extractCurState().memory.readField(address, ListIteratorContents.index, intSort) return listRef to index } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt index c3cde5760f..1cad66b959 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -4,6 +4,7 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -15,9 +16,9 @@ fun UninterpretedSymbolicPythonObject.setRangeContent( ) = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonRange) - ctx.curState!!.memory.writeField(address, RangeContents.start, intSort, start, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) - ctx.curState!!.memory.writeField(address, RangeContents.step, intSort, step, trueExpr) + ctx.extractCurState().memory.writeField(address, RangeContents.start, intSort, start, trueExpr) + ctx.extractCurState().memory.writeField(address, RangeContents.stop, intSort, stop, trueExpr) + ctx.extractCurState().memory.writeField(address, RangeContents.step, intSort, step, trueExpr) val lengthRValue = mkIte( step gt mkIntNum(0), mkIte( @@ -37,5 +38,5 @@ fun UninterpretedSymbolicPythonObject.setRangeContent( mkIntNum(0) ) ) - ctx.curState!!.memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) + ctx.extractCurState().memory.writeField(address, RangeContents.length, intSort, lengthRValue, trueExpr) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt index 76ddcd32e7..98f4110c95 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -5,6 +5,7 @@ import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.RangeIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -15,14 +16,14 @@ fun UninterpretedSymbolicPythonObject.setRangeIteratorContent( ) = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, ctx.typeSystem.pythonRangeIterator) - val start = ctx.curState!!.memory.readField(range.address, RangeContents.start, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) - val length = ctx.curState!!.memory.readField(range.address, RangeContents.length, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) - val step = ctx.curState!!.memory.readField(range.address, RangeContents.step, intSort) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) + val start = ctx.extractCurState().memory.readField(range.address, RangeContents.start, intSort) + ctx.extractCurState().memory.writeField(address, RangeIteratorContents.start, intSort, start, trueExpr) + val length = ctx.extractCurState().memory.readField(range.address, RangeContents.length, intSort) + ctx.extractCurState().memory.writeField(address, RangeIteratorContents.length, intSort, length, trueExpr) + val step = ctx.extractCurState().memory.readField(range.address, RangeContents.step, intSort) + ctx.extractCurState().memory.writeField(address, RangeIteratorContents.step, intSort, step, trueExpr) val index = mkIntNum(0) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) + ctx.extractCurState().memory.writeField(address, RangeIteratorContents.index, intSort, index, trueExpr) } fun UninterpretedSymbolicPythonObject.getRangeIteratorState( @@ -30,8 +31,8 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorState( ): Pair, UExpr> = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) - val length = ctx.curState!!.memory.readField(address, RangeIteratorContents.length, intSort) + val index = ctx.extractCurState().memory.readField(address, RangeIteratorContents.index, intSort) + val length = ctx.extractCurState().memory.readField(address, RangeIteratorContents.length, intSort) return index to length } @@ -40,10 +41,10 @@ fun UninterpretedSymbolicPythonObject.getRangeIteratorNext( ): UExpr = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertype(ctx, ctx.typeSystem.pythonRangeIterator) - val index = ctx.curState!!.memory.readField(address, RangeIteratorContents.index, intSort) + val index = ctx.extractCurState().memory.readField(address, RangeIteratorContents.index, intSort) val newIndex = mkArithAdd(index, mkIntNum(1)) - ctx.curState!!.memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) - val start = ctx.curState!!.memory.readField(address, RangeIteratorContents.start, intSort) - val step = ctx.curState!!.memory.readField(address, RangeIteratorContents.step, intSort) + ctx.extractCurState().memory.writeField(address, RangeIteratorContents.index, intSort, newIndex, trueExpr) + val start = ctx.extractCurState().memory.readField(address, RangeIteratorContents.start, intSort) + val step = ctx.extractCurState().memory.readField(address, RangeIteratorContents.step, intSort) return mkArithAdd(start, mkArithMul(index, step)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index b07c1aa41e..e931c8d531 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -12,6 +12,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.SetContents @@ -24,14 +25,14 @@ fun UninterpretedSymbolicPythonObject.setIsEmpty(ctx: ConcolicRunContext): UBool requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonSet) - return ctx.ctx.mkNot(ctx.curState!!.memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) + return ctx.ctx.mkNot(ctx.extractCurState().memory.readField(address, SetContents.isNotEmpty, ctx.ctx.boolSort)) } fun UninterpretedSymbolicPythonObject.makeSetNotEmpty(ctx: ConcolicRunContext) { requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonSet) - ctx.curState!!.memory.writeField( + ctx.extractCurState().memory.writeField( address, SetContents.isNotEmpty, ctx.ctx.boolSort, @@ -46,7 +47,7 @@ fun UninterpretedSymbolicPythonObject.setContainsInt( ): UBoolExpr = with(ctx.ctx) { requireNotNull(ctx.curState) val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) - return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) + return setIsEmpty(ctx).not() and ctx.extractCurState().memory.read(lvalue) } fun UninterpretedSymbolicPythonObject.addIntToSet( @@ -56,7 +57,7 @@ fun UninterpretedSymbolicPythonObject.addIntToSet( requireNotNull(ctx.curState) makeSetNotEmpty(ctx) val lvalue = USetEntryLValue(intSort, address, key, IntSetType, USizeExprKeyInfo()) - ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) + ctx.extractCurState().memory.write(lvalue, trueExpr, trueExpr) } fun UninterpretedSymbolicPythonObject.setContainsRef( @@ -65,7 +66,7 @@ fun UninterpretedSymbolicPythonObject.setContainsRef( ): UBoolExpr = with(ctx.ctx) { requireNotNull(ctx.curState) val lvalue = URefSetEntryLValue(address, key.address, RefSetType) - return setIsEmpty(ctx).not() and ctx.curState!!.memory.read(lvalue) + return setIsEmpty(ctx).not() and ctx.extractCurState().memory.read(lvalue) } fun UninterpretedSymbolicPythonObject.addRefToSet( @@ -75,7 +76,7 @@ fun UninterpretedSymbolicPythonObject.addRefToSet( requireNotNull(ctx.curState) makeSetNotEmpty(ctx) val lvalue = URefSetEntryLValue(address, key.address, RefSetType) - ctx.curState!!.memory.write(lvalue, trueExpr, trueExpr) + ctx.extractCurState().memory.write(lvalue, trueExpr, trueExpr) } fun InterpretedInputSymbolicPythonObject.setIsEmpty(ctx: PyContext): Boolean = with(ctx) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index da96c16300..9d9819ce82 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -9,6 +9,7 @@ import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.PropertyOfPythonObject import org.usvm.machine.symbolicobjects.SliceContents @@ -85,8 +86,8 @@ private fun UninterpretedSymbolicPythonObject.setSliceField( ) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, ctx.typeSystem.pythonSlice) - ctx.curState!!.memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) - ctx.curState!!.memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) + ctx.extractCurState().memory.writeField(address, fieldIsNone, ctx.ctx.boolSort, content.isNone, ctx.ctx.trueExpr) + ctx.extractCurState().memory.writeField(address, field, ctx.ctx.intSort, content.content, ctx.ctx.trueExpr) } fun UninterpretedSymbolicPythonObject.getSliceStart(ctx: ConcolicRunContext): SliceUninterpretedField = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index 264963e081..775d6f972a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -14,6 +14,7 @@ import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject @@ -30,7 +31,7 @@ fun UninterpretedSymbolicPythonObject.getFieldValue( ): UninterpretedSymbolicPythonObject { requireNotNull(ctx.curState) name.addSupertype(ctx, typeSystem.pythonStr) - val addr = ctx.curState!!.symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) + val addr = ctx.extractCurState().symbolicObjectMapGet(address, name.address, ObjectDictType, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(addr, typeSystem) } @@ -41,7 +42,7 @@ fun UninterpretedSymbolicPythonObject.setFieldValue( ) { requireNotNull(ctx.curState) name.addSupertypeSoft(ctx, typeSystem.pythonStr) - ctx.curState!!.symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) + ctx.extractCurState().symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) } fun UninterpretedSymbolicPythonObject.containsField( @@ -50,7 +51,7 @@ fun UninterpretedSymbolicPythonObject.containsField( ): UBoolExpr { requireNotNull(ctx.curState) name.addSupertype(ctx, typeSystem.pythonStr) - return ctx.curState!!.symbolicObjectMapContains(address, name.address, ObjectDictType) + return ctx.extractCurState().symbolicObjectMapContains(address, name.address, ObjectDictType) } fun InterpretedInputSymbolicPythonObject.containsField( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index 7a3b10a18c..ddbc219a33 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -6,6 +6,7 @@ import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.TupleIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject @@ -17,8 +18,8 @@ fun UninterpretedSymbolicPythonObject.setTupleIteratorContent( ) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) - ctx.curState!!.memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) + ctx.extractCurState().memory.writeField(address, TupleIteratorContents.tuple, addressSort, tuple.address, trueExpr) + ctx.extractCurState().memory.writeField(address, TupleIteratorContents.index, intSort, mkIntNum(0), trueExpr) } fun UninterpretedSymbolicPythonObject.getTupleIteratorContent( @@ -28,16 +29,16 @@ fun UninterpretedSymbolicPythonObject.getTupleIteratorContent( ) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val tupleRef = ctx.curState!!.memory.readField(address, TupleIteratorContents.tuple, addressSort) - val index = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) + val tupleRef = ctx.extractCurState().memory.readField(address, TupleIteratorContents.tuple, addressSort) + val index = ctx.extractCurState().memory.readField(address, TupleIteratorContents.index, intSort) return tupleRef to index } fun UninterpretedSymbolicPythonObject.increaseTupleIteratorCounter(ctx: ConcolicRunContext) = with(ctx.ctx) { requireNotNull(ctx.curState) addSupertypeSoft(ctx, typeSystem.pythonTupleIteratorType) - val oldIndexValue = ctx.curState!!.memory.readField(address, TupleIteratorContents.index, intSort) - ctx.curState!!.memory.writeField( + val oldIndexValue = ctx.extractCurState().memory.readField(address, TupleIteratorContents.index, intSort) + ctx.extractCurState().memory.writeField( address, TupleIteratorContents.index, intSort, From 4c658ce53bb07de2df3b5b152800fc8f8eff495a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 13:49:32 +0300 Subject: [PATCH 289/344] reverted some changes in usvm-core --- usvm-core/src/main/kotlin/org/usvm/Context.kt | 2 +- .../src/main/kotlin/org/usvm/Expressions.kt | 17 ++++++++++------- .../main/kotlin/org/usvm/machine/PyContext.kt | 15 --------------- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 -- 4 files changed, 11 insertions(+), 25 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/Context.kt b/usvm-core/src/main/kotlin/org/usvm/Context.kt index 556e1cdf16..52f83b1ce6 100644 --- a/usvm-core/src/main/kotlin/org/usvm/Context.kt +++ b/usvm-core/src/main/kotlin/org/usvm/Context.kt @@ -78,7 +78,7 @@ open class UContext( return currentStateId++ } - open fun solver(): USolverBase = this.solver.uncheckedCast() + fun solver(): USolverBase = this.solver.uncheckedCast() @Suppress("UNCHECKED_CAST") fun typeSystem(): UTypeSystem = this.typeSystem as UTypeSystem diff --git a/usvm-core/src/main/kotlin/org/usvm/Expressions.kt b/usvm-core/src/main/kotlin/org/usvm/Expressions.kt index 24d91e3f39..927c8168ba 100644 --- a/usvm-core/src/main/kotlin/org/usvm/Expressions.kt +++ b/usvm-core/src/main/kotlin/org/usvm/Expressions.kt @@ -3,7 +3,16 @@ package org.usvm import io.ksmt.cache.hash import io.ksmt.cache.structurallyEqual import io.ksmt.decl.KConstDecl -import io.ksmt.expr.* +import io.ksmt.expr.KAndExpr +import io.ksmt.expr.KApp +import io.ksmt.expr.KEqExpr +import io.ksmt.expr.KExpr +import io.ksmt.expr.KFalse +import io.ksmt.expr.KInterpretedValue +import io.ksmt.expr.KIteExpr +import io.ksmt.expr.KNotExpr +import io.ksmt.expr.KOrExpr +import io.ksmt.expr.KTrue import io.ksmt.expr.printer.ExpressionPrinter import io.ksmt.expr.transformer.KTransformerBase import io.ksmt.sort.KBoolSort @@ -35,15 +44,9 @@ typealias UIteExpr = KIteExpr typealias UEqExpr = KEqExpr typealias UNotExpr = KNotExpr typealias UIntepretedValue = KInterpretedValue -typealias UConcreteInt = KIntNumExpr -typealias UConcreteInt32 = KBitVec32Value -typealias UConcreteInt64 = KBitVec64Value -typealias UConcreteSize = KInt32NumExpr typealias UAddressSort = KUninterpretedSort -typealias USizeType = Int - //endregion abstract class USymbol(ctx: UContext<*>) : UExpr(ctx) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index a02222c110..5b1a5f49e1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -31,19 +31,4 @@ class PyContext( return mkIntToReal(intValue) } - - private var solver: USolverBase = components.mkSolver(this) - - @Suppress("UNCHECKED_CAST") - override fun solver(): USolverBase = - solver as USolverBase - - fun restartSolver() { - solver.close() - solver = components.mkSolver(this) - } - - fun closeSolver() { - solver.close() - } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 6998ac37ee..e32d8b670b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -147,12 +147,10 @@ class PyMachine( pyObserver.iterations }.also { ConcretePythonInterpreter.restart() - ctx.restartSolver() } } override fun close() { - ctx.closeSolver() ctx.close() } From d7b00eafe8dde0d795bf5eb192b83013296947ce Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 15:20:37 +0300 Subject: [PATCH 290/344] PyPathConstraints --- usvm-core/src/main/kotlin/org/usvm/Context.kt | 1 + .../org/usvm/constraints/PathConstraints.kt | 17 +++---- .../kotlin/org/usvm/machine/PyComponents.kt | 1 + .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../org/usvm/machine/PyPathConstraints.kt | 46 +++++++++++++++++++ .../main/kotlin/org/usvm/machine/PyState.kt | 3 +- 6 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt diff --git a/usvm-core/src/main/kotlin/org/usvm/Context.kt b/usvm-core/src/main/kotlin/org/usvm/Context.kt index 52f83b1ce6..dfda6180df 100644 --- a/usvm-core/src/main/kotlin/org/usvm/Context.kt +++ b/usvm-core/src/main/kotlin/org/usvm/Context.kt @@ -79,6 +79,7 @@ open class UContext( } fun solver(): USolverBase = this.solver.uncheckedCast() + @Suppress("UNCHECKED_CAST") fun typeSystem(): UTypeSystem = this.typeSystem as UTypeSystem diff --git a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt index fabb9d80d0..93f62be9b6 100644 --- a/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt +++ b/usvm-core/src/main/kotlin/org/usvm/constraints/PathConstraints.kt @@ -1,7 +1,5 @@ package org.usvm.constraints -import kotlinx.collections.immutable.PersistentSet -import kotlinx.collections.immutable.persistentHashSetOf import org.usvm.UAndExpr import org.usvm.UBoolExpr import org.usvm.UBv32Sort @@ -23,13 +21,13 @@ import org.usvm.uctx /** * Mutable representation of path constraints. */ -open class UPathConstraints private constructor( - private val ctx: UContext<*>, - private val logicalConstraints: ULogicalConstraints = ULogicalConstraints.empty(), +open class UPathConstraints( + protected val ctx: UContext<*>, + protected val logicalConstraints: ULogicalConstraints = ULogicalConstraints.empty(), /** * Specially represented equalities and disequalities between objects, used in various part of constraints management. */ - private val equalityConstraints: UEqualityConstraints = UEqualityConstraints(ctx), + protected val equalityConstraints: UEqualityConstraints = UEqualityConstraints(ctx), /** * Constraints solved by type solver. */ @@ -40,8 +38,7 @@ open class UPathConstraints private constructor( /** * Specially represented numeric constraints (e.g. >, <, >=, ...). */ - private val numericConstraints: UNumericConstraints = UNumericConstraints(ctx, sort = ctx.bv32Sort), - var pythonSoftConstraints: PersistentSet = persistentHashSetOf() + protected val numericConstraints: UNumericConstraints = UNumericConstraints(ctx, sort = ctx.bv32Sort), ) : UMergeable, MutableMergeGuard> { init { // Use the information from the type constraints to check whether any static ref is assignable to any symbolic ref @@ -163,7 +160,7 @@ open class UPathConstraints private constructor( } } - fun clone(): UPathConstraints { + open fun clone(): UPathConstraints { val clonedLogicalConstraints = logicalConstraints.clone() val clonedEqualityConstraints = equalityConstraints.clone() val clonedTypeConstraints = typeConstraints.clone(clonedEqualityConstraints) @@ -174,7 +171,6 @@ open class UPathConstraints private constructor( equalityConstraints = clonedEqualityConstraints, typeConstraints = clonedTypeConstraints, numericConstraints = clonedNumericConstraints, - pythonSoftConstraints = pythonSoftConstraints, ) } @@ -211,7 +207,6 @@ open class UPathConstraints private constructor( mergedEqualityConstraints, mergedTypeConstraints, mergedNumericConstraints, - pythonSoftConstraints.addAll(other.pythonSoftConstraints), ) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index d8d3ec396c..b11b492e37 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -53,6 +53,7 @@ class PySolver( 500.milliseconds ) { override fun check(query: UPathConstraints): USolverResult> { + require(query is PyPathConstraints) val softConstraints = ctx.softConstraintsProvider().makeSoftConstraints(query) + query.pythonSoftConstraints return super.checkWithSoftConstraints(query, softConstraints) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index e32d8b670b..cdfaf7fbb7 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -61,7 +61,7 @@ class PyMachine( ) private fun getInitialState(target: PyUnpinnedCallable): PyState { - val pathConstraints = UPathConstraints(ctx) + val pathConstraints = PyPathConstraints(ctx) val memory = UMemory( ctx, pathConstraints.typeConstraints diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt new file mode 100644 index 0000000000..bc71baeff3 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt @@ -0,0 +1,46 @@ +package org.usvm.machine + +import kotlinx.collections.immutable.PersistentSet +import kotlinx.collections.immutable.persistentHashSetOf +import org.usvm.UBoolExpr +import org.usvm.UBv32Sort +import org.usvm.UContext +import org.usvm.constraints.UEqualityConstraints +import org.usvm.constraints.ULogicalConstraints +import org.usvm.constraints.UNumericConstraints +import org.usvm.constraints.UPathConstraints +import org.usvm.constraints.UTypeConstraints +import org.usvm.machine.types.PythonType + +class PyPathConstraints( + ctx: UContext<*>, + logicalConstraints: ULogicalConstraints = ULogicalConstraints.empty(), + equalityConstraints: UEqualityConstraints = UEqualityConstraints(ctx), + typeConstraints: UTypeConstraints = UTypeConstraints( + ctx.typeSystem(), + equalityConstraints + ), + numericConstraints: UNumericConstraints = UNumericConstraints(ctx, sort = ctx.bv32Sort), + var pythonSoftConstraints: PersistentSet = persistentHashSetOf(), +): UPathConstraints( + ctx, + logicalConstraints, + equalityConstraints, + typeConstraints, + numericConstraints +) { + override fun clone(): PyPathConstraints { + val clonedLogicalConstraints = logicalConstraints.clone() + val clonedEqualityConstraints = equalityConstraints.clone() + val clonedTypeConstraints = typeConstraints.clone(clonedEqualityConstraints) + val clonedNumericConstraints = numericConstraints.clone() + return PyPathConstraints( + ctx = ctx, + logicalConstraints = clonedLogicalConstraints, + equalityConstraints = clonedEqualityConstraints, + typeConstraints = clonedTypeConstraints, + numericConstraints = clonedNumericConstraints, + pythonSoftConstraints = pythonSoftConstraints, + ) + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 5f8fafe743..cc470b1396 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -35,7 +35,7 @@ class PyState( ctx: PyContext, private val pythonCallable: PyUnpinnedCallable, val inputSymbols: List, - pathConstraints: UPathConstraints, + override val pathConstraints: PyPathConstraints, memory: UMemory, uModel: UModelBase, val typeSystem: PythonTypeSystem, @@ -60,6 +60,7 @@ class PyState( targets, ) { override fun clone(newConstraints: UPathConstraints?): PyState { + require(newConstraints is PyPathConstraints?) val newPathConstraints = newConstraints ?: pathConstraints.clone() val newMemory = memory.clone(newPathConstraints.typeConstraints) return PyState( From 68e4ebcd10f4ce8b72e4febf813df430e38cbe30 Mon Sep 17 00:00:00 2001 From: Sergey Pospelov Date: Fri, 7 Jun 2024 15:25:44 +0300 Subject: [PATCH 291/344] fix: MacOS build support --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 1 + buildSrc/src/main/kotlin/usvmpython/Utils.kt | 1 + .../usvmpython/tasks/CPythonBuildTasks.kt | 10 ++++++- gradle.properties | 4 ++- usvm-python/README.md | 29 +++++++++++++------ usvm-python/cpythonadapter/build.gradle.kts | 8 +++++ 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index a576715666..b9cd7b56f3 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -24,6 +24,7 @@ const val MANUAL_TEST_DEBUG_NO_LOGS_TASK = "manualTestDebugNoLogs" /** Property names */ const val PROPERTY_FOR_CPYTHON_ACTIVATION = "cpythonActivated" +const val PROPERTY_FOR_CPYTHON_SSL_PATH = "cpython.ssl.path" /** Entry points */ const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" diff --git a/buildSrc/src/main/kotlin/usvmpython/Utils.kt b/buildSrc/src/main/kotlin/usvmpython/Utils.kt index 7d58cb5e70..05cd53311f 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Utils.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Utils.kt @@ -33,6 +33,7 @@ fun Project.getCPythonAdapterBuildPath(): File { } val isWindows = Os.isFamily(Os.FAMILY_WINDOWS) +val isMacos = Os.isFamily(Os.FAMILY_MAC) fun Project.getWidowsBuildScriptPath(): File = File(getCPythonSourcePath(), "PCBuild/build.bat") diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt index ec245df0fb..3eaefc8b6c 100644 --- a/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/CPythonBuildTasks.kt @@ -24,6 +24,13 @@ private fun Project.registerCPythonDebugConfiguration(): TaskProvider? { doFirst { println("Pip line: $pipLine") } + + val openssl = if (project.hasProperty(PROPERTY_FOR_CPYTHON_SSL_PATH)) { + "--with-openssl=${project.property(PROPERTY_FOR_CPYTHON_SSL_PATH)}" + } else { + "" + } + commandLine( "$cpythonSourcePath/configure", "--enable-shared", @@ -31,7 +38,8 @@ private fun Project.registerCPythonDebugConfiguration(): TaskProvider? { pipLine, "--prefix=$cpythonBuildPath", "--disable-test-modules", - "--with-assertions" + "--with-assertions", + openssl ) /* diff --git a/gradle.properties b/gradle.properties index 49da6cc678..1c68d62fae 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,6 @@ kotlin.daemon.jvm.options=-Xmx4g org.gradle.parallel=true org.gradle.caching=true org.gradle.workers.max=8 -org.gradle.jvmargs=-Xmx1g "-XX:MaxMetaspaceSize=384m" \ No newline at end of file +org.gradle.jvmargs=-Xmx1g "-XX:MaxMetaspaceSize=384m" + +cpython.ssl.path=/opt/homebrew/opt/openssl \ No newline at end of file diff --git a/usvm-python/README.md b/usvm-python/README.md index 6a9e979771..1304941b86 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -47,20 +47,31 @@ You can always compare commit of submodule from GitHub page and in your local re Official instruction: https://devguide.python.org/getting-started/setup-building/. -Gradle tasks for building and running were tested on Windows and Ubuntu. +Gradle tasks for building and running were tested on Windows, Ubuntu and MacOS 14.4.1. For Windows you need MSBuild (see https://devguide.python.org/getting-started/setup-building/#windows). -1. Only for Unix. Install optional dependencies. +1. Install optional dependencies. + - Only for Linux. - Official instruction: https://devguide.python.org/getting-started/setup-building/#install-dependencies - __Short version (Ubuntu)__. Install the following packages with apt: - ``` - build-essential gdb lcov pkg-config \ - libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ - libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ - lzma lzma-dev tk-dev uuid-dev zlib1g-dev - ``` - The main package from those is `libssl-dev`. It is needed for pip to work. + ``` + build-essential gdb lcov pkg-config \ + libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \ + libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \ + lzma lzma-dev tk-dev uuid-dev zlib1g-dev + ``` + The main package from those is `libssl-dev`. It is needed for pip to work. + - Only for MacOS: + - Install openssl: + ``` + brew install openssl@3.0 + + ``` + - Set a gradle property pointing to OpenSSL location: + ``` + cpython.ssl.path=/opt/homebrew/opt/openssl + ``` 2. Use Gradle tasks to do the rest. diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index 3ee479ada5..a62c463417 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -66,6 +66,14 @@ if (cpythonIsActivated()) { } } + if (isMacos) { + binaries.whenElementFinalized { + val linkTask = tasks.getByName("linkDebug") as LinkSharedLibrary + val pythonLibPath = File(cpythonBuildPath, "lib/libpython3.11.dylib") + linkTask.libs.from(pythonLibPath.path) + } + } + if (isWindows) { binaries.whenElementFinalized { val linkTask = tasks.getByName("linkDebug") as LinkSharedLibrary From 78bf09f039949c1f762d13df4c72ca84990508fd Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 15:46:10 +0300 Subject: [PATCH 292/344] revert USoftConstraintsProvider --- .../src/main/kotlin/org/usvm/UComponents.kt | 2 +- .../main/kotlin/org/usvm/model/LazyModels.kt | 3 -- .../src/main/kotlin/org/usvm/solver/Solver.kt | 5 ---- .../usvm/solver/USoftConstraintsProvider.kt | 12 +++----- .../kotlin/org/usvm/machine/PyComponents.kt | 28 +++++++++++++++++++ 5 files changed, 33 insertions(+), 17 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/UComponents.kt b/usvm-core/src/main/kotlin/org/usvm/UComponents.kt index 8dc74a92ba..ac0a34373b 100644 --- a/usvm-core/src/main/kotlin/org/usvm/UComponents.kt +++ b/usvm-core/src/main/kotlin/org/usvm/UComponents.kt @@ -39,7 +39,7 @@ interface UComponents { fun mkStatesForkProvider(): StateForker = if (useSolverForForks) WithSolverStateForker else NoSolverStateForker - fun > mkSoftConstraintsProvider( + open fun > mkSoftConstraintsProvider( ctx: Context ): USoftConstraintsProvider = USoftConstraintsProvider(ctx) } diff --git a/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt b/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt index 0b8ce62470..b7d6bdee5c 100644 --- a/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt +++ b/usvm-core/src/main/kotlin/org/usvm/model/LazyModels.kt @@ -62,9 +62,6 @@ class ULazyIndexedMockModel( fun UExpr.mapAddress( addressesMapping: AddressesMapping, ): UExpr = if (sort == uctx.addressSort) { - if (asExpr(uctx.addressSort) !in addressesMapping) { - println("1") - } addressesMapping.getValue(asExpr(uctx.addressSort)).asExpr(sort) } else { this diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt index 7d163121a6..827b95d67d 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/Solver.kt @@ -3,7 +3,6 @@ package org.usvm.solver import io.ksmt.solver.KSolver import io.ksmt.solver.KSolverStatus import io.ksmt.utils.asExpr -import mu.KLogging import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.UContext @@ -126,7 +125,6 @@ open class USolverBase( private fun internalCheckWithSoftConstraints( softConstraints: MutableList, ): KSolverStatus { - // logger.debug("Checking...") var status: KSolverStatus if (softConstraints.isNotEmpty()) { status = smtSolver.checkWithAssumptions(softConstraints, timeout) @@ -140,7 +138,6 @@ open class USolverBase( } else { status = smtSolver.check(timeout) } - // logger.debug("Checked!") return status } @@ -165,7 +162,5 @@ open class USolverBase( */ val ITERATIONS_THRESHOLD = -1 val INFINITE_ITERATIONS = -1 - - val logger = object : KLogging() {}.logger } } diff --git a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt index ab414d04f6..64c5820f73 100644 --- a/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt +++ b/usvm-core/src/main/kotlin/org/usvm/solver/USoftConstraintsProvider.kt @@ -65,7 +65,7 @@ open class USoftConstraintsProvider( ) : UTransformer { // We have a list here since sometimes we want to add several soft constraints // to make it possible to drop only a part of them, not the whole soft constraint - private val caches = hashMapOf, Set>() + protected val caches = hashMapOf, Set>() private val sortPreferredValuesProvider = SortPreferredValuesProvider() fun makeSoftConstraints(pathConstraints: UPathConstraints): Set { @@ -143,13 +143,9 @@ open class USoftConstraintsProvider( ): UExpr = computeSideEffect(expr) { with(ctx) { val addressIsNull = provide(expr.address) - val arraySize1 = mkSizeLeExpr(expr, mkSizeExpr(1)) - val arraySize16 = mkSizeLeExpr(expr, mkSizeExpr(16)) - val arraySize256 = mkSizeLeExpr(expr, mkSizeExpr(256)) - val arraySize16000 = mkSizeLeExpr(expr, mkSizeExpr(16_000)) - val arraySize100000 = mkSizeLeExpr(expr, mkSizeExpr(100_000)) + val arraySize = mkSizeLeExpr(expr, mkSizeExpr(PREFERRED_MAX_ARRAY_SIZE)) - caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + arraySize16000 + arraySize100000 + caches[expr] = addressIsNull + arraySize } } @@ -252,7 +248,7 @@ open class USoftConstraintsProvider( // endregion - private inline fun computeSideEffect( + protected inline fun computeSideEffect( expr: UExpr, operationWithSideEffect: () -> Unit, ): UExpr { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index b11b492e37..033374e38b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -5,14 +5,19 @@ import io.ksmt.solver.z3.KZ3Solver import io.ksmt.sort.KIntSort import org.usvm.UComponents import org.usvm.UContext +import org.usvm.UExpr import org.usvm.UInt32SizeExprProvider import org.usvm.USizeExprProvider +import org.usvm.collection.array.length.UInputArrayLengthReading import org.usvm.constraints.UPathConstraints import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem +import org.usvm.mkSizeExpr +import org.usvm.mkSizeLeExpr import org.usvm.model.UModelBase import org.usvm.model.UModelDecoder import org.usvm.solver.UExprTranslator +import org.usvm.solver.USoftConstraintsProvider import org.usvm.solver.USolverBase import org.usvm.solver.USolverResult import org.usvm.solver.UTypeSolver @@ -36,6 +41,10 @@ class PyComponents( override fun > mkSizeExprProvider(ctx: Context): USizeExprProvider { return UInt32SizeExprProvider(ctx) } + + override fun > mkSoftConstraintsProvider(ctx: Context): USoftConstraintsProvider { + return PySoftConstraintsProvider(ctx) + } } class PySolver( @@ -59,3 +68,22 @@ class PySolver( return super.checkWithSoftConstraints(query, softConstraints) } } + +class PySoftConstraintsProvider( + ctx: UContext, +): USoftConstraintsProvider(ctx) { + override fun transform( + expr: UInputArrayLengthReading, + ): UExpr = computeSideEffect(expr) { + with(ctx) { + val addressIsNull = provide(expr.address) + val arraySize1 = mkSizeLeExpr(expr, mkSizeExpr(1)) + val arraySize16 = mkSizeLeExpr(expr, mkSizeExpr(16)) + val arraySize256 = mkSizeLeExpr(expr, mkSizeExpr(256)) + val arraySize16000 = mkSizeLeExpr(expr, mkSizeExpr(16_000)) + val arraySize100000 = mkSizeLeExpr(expr, mkSizeExpr(100_000)) + + caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + arraySize16000 + arraySize100000 + } + } +} \ No newline at end of file From 3944e3ee8c424a7907f1825f3a771957c13aa5b3 Mon Sep 17 00:00:00 2001 From: Sergey Pospelov Date: Fri, 7 Jun 2024 15:53:00 +0300 Subject: [PATCH 293/344] fix: remove property --- gradle.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1c68d62fae..c34e9abbaa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,5 +6,3 @@ org.gradle.parallel=true org.gradle.caching=true org.gradle.workers.max=8 org.gradle.jvmargs=-Xmx1g "-XX:MaxMetaspaceSize=384m" - -cpython.ssl.path=/opt/homebrew/opt/openssl \ No newline at end of file From f77330da88ea5f1f1b9995b373804b46df048aca Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 16:49:34 +0300 Subject: [PATCH 294/344] LocalProgramProvider --- buildSrc/src/main/kotlin/usvmpython/Utils.kt | 4 +- .../kotlin/usvmpython/tasks/ManualRunTasks.kt | 2 + usvm-python/src/test/kotlin/ManualTest.kt | 130 +------------ .../manual/program/LocalProgramProvider.kt | 171 +++++++++++++----- 4 files changed, 132 insertions(+), 175 deletions(-) diff --git a/buildSrc/src/main/kotlin/usvmpython/Utils.kt b/buildSrc/src/main/kotlin/usvmpython/Utils.kt index 05cd53311f..4fd61cffe7 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Utils.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Utils.kt @@ -5,9 +5,9 @@ import org.gradle.api.Project import java.io.File fun Project.cpythonIsActivated(): Boolean { - if (!hasProperty(PROPERTY_FOR_CPYTHON_ACTIVATION)) + if (!project.hasProperty(PROPERTY_FOR_CPYTHON_ACTIVATION)) return false - val prop = property(PROPERTY_FOR_CPYTHON_ACTIVATION) as? String + val prop = project.property(PROPERTY_FOR_CPYTHON_ACTIVATION) as? String return prop?.lowercase() == "true" } diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt index 785677ac5a..b11f5c1225 100644 --- a/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/ManualRunTasks.kt @@ -27,12 +27,14 @@ fun Project.javaArgumentsForPython(debugLog: Boolean): List { val approximationsDir = getApproximationsDir() val samplesBuildDir = getSamplesBuildDir() val adapterPath = getCPythonAdapterBuildPath() + val pythonPath = getPythonBinaryPath() val result = mutableListOf( "-Dsamples.build.path=${samplesBuildDir.canonicalPath}", "-Dsamples.sources.path=${samplesSourceDir.canonicalPath}", "-Dapproximations.path=${approximationsDir.canonicalPath}", "-Djava.library.path=$adapterPath", + "-Dpython.binary.path=$pythonPath", "-Xss50m", ) diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index 94ae99022e..31eab56c68 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -1,28 +1,11 @@ import org.usvm.UMachineOptions import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable -import org.usvm.language.StructuredPyProgram -import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.machine.types.PythonTypeSystem -import org.usvm.machine.types.PythonTypeSystemWithMypyInfo -import org.usvm.machine.types.getTypeFromTypeHint -import org.usvm.machine.utils.withAdditionalPaths import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer -import org.usvm.runner.manual.program.sampleFunction -import org.usvm.utils.getModulesFromFiles -import org.usvm.utils.getPythonFilesFromRoot -import org.utpython.types.PythonCallableTypeDescription -import org.utpython.types.PythonConcreteCompositeTypeDescription -import org.utpython.types.general.FunctionType -import org.utpython.types.general.UtType -import org.utpython.types.mypy.MypyBuildDirectory -import org.utpython.types.mypy.buildMypyInfo -import org.utpython.types.mypy.readMypyInfoBuild -import org.utpython.types.pythonDescription -import org.utpython.types.pythonTypeRepresentation -import java.io.File +import org.usvm.runner.manual.program.LocalProgramProvider import kotlin.time.Duration.Companion.seconds fun main() { @@ -32,7 +15,9 @@ fun main() { * - [org.usvm.runner.manual.program.sampleFunction] * - [org.usvm.runner.manual.program.LocalProgramProvider] * */ - val program = sampleFunction + val program = LocalProgramProvider( + "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming", + ) /** * TODO @@ -42,113 +27,6 @@ fun main() { analyzer.run(program) } -private val ignoreFunctions = listOf() -private val ignoreModules = listOf( - "odd_even_transposition_parallel" -) - -private fun getFunctionInfo( - type: UtType, - name: String, - module: String, - typeSystem: PythonTypeSystemWithMypyInfo, - program: StructuredPyProgram, -): PyUnpinnedCallable? { - // println("Module: $module, name: $name") - val description = type.pythonDescription() - if (description !is PythonCallableTypeDescription) { - return null - } - if (ignoreFunctions.contains(name)) { - return null - } - // if (module != "requests.cookies") - // return null - // if (name != "remove_cookie_by_name") - // return null - if (description.argumentKinds.any { - it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 - }) { - return null - } - runCatching { - withAdditionalPaths(program.roots, typeSystem) { - val namespace = program.getNamespaceOfModule(module)!! - val func = ConcretePythonInterpreter.eval(namespace, name) - if (ConcretePythonInterpreter.getPythonObjectTypeName(func) != "function") { - null - } else { - func - } - } - }.getOrNull() ?: return null - println("$module.$name: ${type.pythonTypeRepresentation()}") - val callableType = type as FunctionType - return PyUnpinnedCallable.constructCallableFromName( - callableType.arguments.map { - getTypeFromTypeHint(it, typeSystem) - }, - name, - module - ) -} - -/* -/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming -/home/tochilinak/Documents/projects/utbot/mypy_tmp -/home/tochilinak/Documents/projects/utbot/usvm/usvm-python/cpythonadapter/build/cpython_build/bin/python3 -*/ - -private fun buildProjectRunConfig(): RunConfig { - val projectPath = "D:\\projects\\Python\\sorts" - val mypyRoot = "D:\\projects\\mypy_tmp" - val files = getPythonFilesFromRoot(projectPath).filter { !it.name.contains("__init__") } - println("Files: $files") - val modules = getModulesFromFiles(projectPath, files) - println("Modules: $modules") - val mypyDir = MypyBuildDirectory(File(mypyRoot), setOf(projectPath)) - buildMypyInfo( - "D:\\projects\\usvm\\usvm-python\\cpythonadapter\\build\\cpython_build\\python_d.exe", - files.map { it.canonicalPath }, - modules, - mypyDir - ) - val mypyBuild = readMypyInfoBuild(mypyDir) - val program = StructuredPyProgram(setOf(File(projectPath))) - val typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) - val functions = modules.flatMap { module -> - // println("Module: $module") - if (module in ignoreModules) { - return@flatMap emptyList() - } - runCatching { - withAdditionalPaths(program.roots, typeSystem) { - program.getNamespaceOfModule(module) - } - }.getOrNull() ?: return@flatMap emptyList() // skip bad modules - mypyBuild.definitions[module]!!.flatMap { (defName, def) -> - // println("Def name: $defName") - val type = def.getUtBotType() - val description = type.pythonDescription() - if (defName.startsWith("__")) { - emptyList() - } else if (description is PythonConcreteCompositeTypeDescription) { - emptyList() - /*val members = description.getNamedMembers(type) - members.mapNotNull { memberDef -> - if (memberDef.meta.name.startsWith("__")) - return@mapNotNull null - memberDef.type - val name = "$defName.${memberDef.meta.name}" - getFunctionInfo(memberDef.type, name, module, typeSystem, program) - }*/ - } else { - getFunctionInfo(type, defName, module, typeSystem, program)?.let { listOf(it) } ?: emptyList() - } - } - } - return RunConfig(program, typeSystem, functions) -} private fun checkConcolicAndConcrete(runConfig: RunConfig) { val (program, typeSystem, functions) = runConfig diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt index 7b63c7050a..03580ce9d9 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -1,75 +1,152 @@ package org.usvm.runner.manual.program -import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable import org.usvm.language.StructuredPyProgram import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter -import org.usvm.machine.types.BasicPythonTypeSystem import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.utils.withAdditionalPaths +import org.usvm.utils.getModulesFromFiles +import org.usvm.utils.getPythonFilesFromRoot import org.utpython.types.PythonCallableTypeDescription +import org.utpython.types.PythonConcreteCompositeTypeDescription import org.utpython.types.general.FunctionType import org.utpython.types.general.UtType +import org.utpython.types.mypy.MypyBuildDirectory +import org.utpython.types.mypy.MypyInfoBuild +import org.utpython.types.mypy.buildMypyInfo +import org.utpython.types.mypy.readMypyInfoBuild import org.utpython.types.pythonDescription import org.utpython.types.pythonTypeRepresentation +import java.io.File +import kotlin.io.path.createTempDirectory + class LocalProgramProvider( - val path: String, + projectPath: String, private val ignoreFunctions: List = emptyList(), private val ignoreModules: List = emptyList(), ) : ProgramProvider { - override val program: PyProgram - get() = TODO("Not yet implemented") - + override val program: StructuredPyProgram override val typeSystem: PythonTypeSystem - override val functions: List - get() = TODO("Not yet implemented") + + private val files = getPythonFilesFromRoot(projectPath).filter { !it.name.contains("__init__") } + private val modules = getModulesFromFiles(projectPath, files).filter { it !in ignoreModules } + private val pythonPath = System.getProperty("python.binary.path") + ?: error("python.binary.path definition not found.") + private val mypyBuild: MypyInfoBuild init { - typeSystem = BasicPythonTypeSystem() // TODO + val mypyRoot = createTempDirectory(prefix = "mypy") + try { + val mypyDir = MypyBuildDirectory(mypyRoot.toFile(), setOf(projectPath)) + buildMypyInfo( + pythonPath, + files.map { it.canonicalPath }, + modules, + mypyDir + ) + mypyBuild = readMypyInfoBuild(mypyDir) + program = StructuredPyProgram(setOf(File(projectPath))) + typeSystem = PythonTypeSystemWithMypyInfo(mypyBuild, program) + functions = modules.flatMap { module -> + runCatching { + withAdditionalPaths(program.roots, typeSystem) { + program.getNamespaceOfModule(module) + } + }.getOrNull() ?: return@flatMap emptyList() // skip bad modules + mypyBuild.definitions[module]!!.flatMap { (defName, def) -> + val type = def.getUtBotType() + val description = type.pythonDescription() + if (defName.startsWith("__")) { + emptyList() + } else if (description is PythonConcreteCompositeTypeDescription) { + extractFunctionFromClass( + module, + defName, + type, + description, + program, + typeSystem, + ignoreFunctions + ) + } else { + getFunctionInfo( + type, + defName, + module, + typeSystem, + program, + ignoreFunctions + )?.let { listOf(it) } ?: emptyList() + } + } + } + } finally { + mypyRoot.toFile().deleteRecursively() + } } +} - private fun getFunctionInfo( - type: UtType, - name: String, - module: String, - typeSystem: PythonTypeSystemWithMypyInfo, - program: StructuredPyProgram, - ): PyUnpinnedCallable? { - val description = type.pythonDescription() - if (description !is PythonCallableTypeDescription) { - return null - } - if (ignoreFunctions.contains(name)) { - return null - } - if (description.argumentKinds.any { - it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 - }) { - return null - } - runCatching { - withAdditionalPaths(program.roots, typeSystem) { - val namespace = program.getNamespaceOfModule(module)!! - val func = ConcretePythonInterpreter.eval(namespace, name) - if (ConcretePythonInterpreter.getPythonObjectTypeName(func) != "function") { - null - } else { - func - } +private fun getFunctionInfo( + type: UtType, + name: String, + module: String, + typeSystem: PythonTypeSystemWithMypyInfo, + program: StructuredPyProgram, + ignoreFunctions: List, +): PyUnpinnedCallable? { + val description = type.pythonDescription() + if (description !is PythonCallableTypeDescription) { + return null + } + if (ignoreFunctions.contains(name)) { + return null + } + if (description.argumentKinds.any { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + }) { + return null + } + runCatching { + withAdditionalPaths(program.roots, typeSystem) { + val namespace = program.getNamespaceOfModule(module)!! + val func = ConcretePythonInterpreter.eval(namespace, name) + if (ConcretePythonInterpreter.getPythonObjectTypeName(func) != "function") { + null + } else { + func } - }.getOrNull() ?: return null - println("$module.$name: ${type.pythonTypeRepresentation()}") - val callableType = type as FunctionType - return PyUnpinnedCallable.constructCallableFromName( - callableType.arguments.map { - getTypeFromTypeHint(it, typeSystem) - }, - name, - module - ) + } + }.getOrNull() ?: return null + println("$module.$name: ${type.pythonTypeRepresentation()}") + val callableType = type as FunctionType + return PyUnpinnedCallable.constructCallableFromName( + callableType.arguments.map { + getTypeFromTypeHint(it, typeSystem) + }, + name, + module + ) +} + +private fun extractFunctionFromClass( + module: String, + defName: String, + type: UtType, + description: PythonConcreteCompositeTypeDescription, + program: StructuredPyProgram, + typeSystem: PythonTypeSystemWithMypyInfo, + ignoreFunctions: List, +): List { + val members = description.getNamedMembers(type) + return members.mapNotNull { memberDef -> + if (memberDef.meta.name.startsWith("__")) + return@mapNotNull null + memberDef.type + val name = "$defName.${memberDef.meta.name}" + getFunctionInfo(memberDef.type, name, module, typeSystem, program, ignoreFunctions) } } \ No newline at end of file From 531b839340f4ad08f92aa85d8a4d90f35a9a5a47 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 16:54:48 +0300 Subject: [PATCH 295/344] Finished refactoring manualTestKt --- usvm-python/src/test/kotlin/ManualTest.kt | 56 +++---------------- .../analyzers/ConcolicAndConcreteChecker.kt | 35 ++++++++++++ 2 files changed, 44 insertions(+), 47 deletions(-) create mode 100644 usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index 31eab56c68..3302003037 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -1,13 +1,9 @@ -import org.usvm.UMachineOptions -import org.usvm.language.PyProgram -import org.usvm.language.PyUnpinnedCallable -import org.usvm.machine.interpreters.concrete.IllegalOperationException -import org.usvm.machine.types.PythonTypeSystem -import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer -import org.usvm.runner.manual.program.LocalProgramProvider -import kotlin.time.Duration.Companion.seconds +import org.usvm.runner.manual.program.sampleFunction +/** + * This should be run with task `manualTestDebug` or `manualTestDebugNoLogs` + * */ fun main() { /** * See: @@ -15,48 +11,14 @@ fun main() { * - [org.usvm.runner.manual.program.sampleFunction] * - [org.usvm.runner.manual.program.LocalProgramProvider] * */ - val program = LocalProgramProvider( - "/home/tochilinak/Documents/projects/utbot/Python/dynamic_programming", - ) + val program = sampleFunction /** - * TODO + * See: + * - [org.usvm.runner.manual.analyzers.OrdinaryAnalyzer] + * - [org.usvm.runner.manual.analyzers.ConcolicAndConcreteChecker] * */ val analyzer = OrdinaryAnalyzer analyzer.run(program) -} - - -private fun checkConcolicAndConcrete(runConfig: RunConfig) { - val (program, typeSystem, functions) = runConfig - val runner = CustomPythonTestRunner( - program, - typeSystem, - UMachineOptions(stepLimit = 60U, timeout = 60.seconds), - allowPathDiversions = true - ) - runner.timeoutPerRunMs = 10_000 - functions.forEach { function -> - println("Running ${function.tag}...") - try { - val comparator = runner.standardConcolicAndConcreteChecks - when (val argsNum = function.numberOfArguments) { - 0 -> runner.check0NoPredicates(function, comparator) - 1 -> runner.check1NoPredicates(function, comparator) - 2 -> runner.check2NoPredicates(function, comparator) - 3 -> runner.check3NoPredicates(function, comparator) - 4 -> runner.check4NoPredicates(function, comparator) - else -> println("${function.tag} ignored because it has $argsNum arguments") - } - } catch (e: IllegalOperationException) { - println("Illegal operation while analyzing: ${e.operation}\n") - } - } -} - -private data class RunConfig( - val program: PyProgram, - val typeSystem: PythonTypeSystem, - val functions: List, -) +} \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt new file mode 100644 index 0000000000..8cd7be1ee0 --- /dev/null +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt @@ -0,0 +1,35 @@ +package org.usvm.runner.manual.analyzers + +import org.usvm.UMachineOptions +import org.usvm.machine.interpreters.concrete.IllegalOperationException +import org.usvm.runner.CustomPythonTestRunner +import org.usvm.runner.manual.program.ProgramProvider +import kotlin.time.Duration.Companion.seconds + +class ConcolicAndConcreteChecker: ProgramAnalyzer { + override fun run(provider: ProgramProvider) { + val runner = CustomPythonTestRunner( + provider.program, + provider.typeSystem, + UMachineOptions(stepLimit = 60U, timeout = 60.seconds), + allowPathDiversions = true + ) + runner.timeoutPerRunMs = 10_000 + provider.functions.forEach { function -> + println("Running ${function.tag}...") + try { + val comparator = runner.standardConcolicAndConcreteChecks + when (val argsNum = function.numberOfArguments) { + 0 -> runner.check0NoPredicates(function, comparator) + 1 -> runner.check1NoPredicates(function, comparator) + 2 -> runner.check2NoPredicates(function, comparator) + 3 -> runner.check3NoPredicates(function, comparator) + 4 -> runner.check4NoPredicates(function, comparator) + else -> println("${function.tag} ignored because it has $argsNum arguments") + } + } catch (e: IllegalOperationException) { + println("Illegal operation while analyzing: ${e.operation}\n") + } + } + } +} \ No newline at end of file From e80ad25cc9dc793374524b39873cbaf1664eda11 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 17:29:36 +0300 Subject: [PATCH 296/344] fmt --- usvm-python/src/test/kotlin/ManualTest.kt | 2 +- .../manual/analyzers/ConcolicAndConcreteChecker.kt | 4 ++-- .../usvm/runner/manual/program/LocalProgramProvider.kt | 10 ++++++---- .../kotlin/org/usvm/machine/ConcolicRunContextUtils.kt | 4 ++-- .../src/main/kotlin/org/usvm/machine/PyComponents.kt | 8 +++++--- .../src/main/kotlin/org/usvm/machine/PyContext.kt | 3 +-- .../main/kotlin/org/usvm/machine/PyPathConstraints.kt | 4 ++-- .../interpreters/symbolic/operations/basic/Common.kt | 4 +++- .../interpreters/symbolic/operations/basic/List.kt | 4 +++- .../org/usvm/machine/symbolicobjects/memory/Dict.kt | 3 ++- .../org/usvm/machine/symbolicobjects/memory/Float.kt | 8 ++++++-- .../machine/symbolicobjects/memory/StandardFields.kt | 3 ++- 12 files changed, 35 insertions(+), 22 deletions(-) diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/ManualTest.kt index 3302003037..8dee41be7b 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/ManualTest.kt @@ -21,4 +21,4 @@ fun main() { val analyzer = OrdinaryAnalyzer analyzer.run(program) -} \ No newline at end of file +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt index 8cd7be1ee0..17d3c9a9dc 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt @@ -6,7 +6,7 @@ import org.usvm.runner.CustomPythonTestRunner import org.usvm.runner.manual.program.ProgramProvider import kotlin.time.Duration.Companion.seconds -class ConcolicAndConcreteChecker: ProgramAnalyzer { +class ConcolicAndConcreteChecker : ProgramAnalyzer { override fun run(provider: ProgramProvider) { val runner = CustomPythonTestRunner( provider.program, @@ -32,4 +32,4 @@ class ConcolicAndConcreteChecker: ProgramAnalyzer { } } } -} \ No newline at end of file +} diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt index 03580ce9d9..07fb7e7686 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -80,7 +80,7 @@ class LocalProgramProvider( typeSystem, program, ignoreFunctions - )?.let { listOf(it) } ?: emptyList() + )?.let { listOf(it) }.orEmpty() } } } @@ -106,7 +106,8 @@ private fun getFunctionInfo( return null } if (description.argumentKinds.any { - it == PythonCallableTypeDescription.ArgKind.ARG_STAR || it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + it == PythonCallableTypeDescription.ArgKind.ARG_STAR || + it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 }) { return null } @@ -143,10 +144,11 @@ private fun extractFunctionFromClass( ): List { val members = description.getNamedMembers(type) return members.mapNotNull { memberDef -> - if (memberDef.meta.name.startsWith("__")) + if (memberDef.meta.name.startsWith("__")) { return@mapNotNull null + } memberDef.type val name = "$defName.${memberDef.meta.name}" getFunctionInfo(memberDef.type, name, module, typeSystem, program, ignoreFunctions) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt index 19c6a5bed6..d488ad097e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt @@ -6,7 +6,7 @@ fun ConcolicRunContext.extractCurState(): PyState { val result = curState requireNotNull(result) { "`extractCurState` should be called when you are sure that " + - "curState is non-null. It is null now." + "curState is non-null. It is null now." } return result -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index 033374e38b..6f9762ed47 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -42,7 +42,9 @@ class PyComponents( return UInt32SizeExprProvider(ctx) } - override fun > mkSoftConstraintsProvider(ctx: Context): USoftConstraintsProvider { + override fun > mkSoftConstraintsProvider( + ctx: Context, + ): USoftConstraintsProvider { return PySoftConstraintsProvider(ctx) } } @@ -71,7 +73,7 @@ class PySolver( class PySoftConstraintsProvider( ctx: UContext, -): USoftConstraintsProvider(ctx) { +) : USoftConstraintsProvider(ctx) { override fun transform( expr: UInputArrayLengthReading, ): UExpr = computeSideEffect(expr) { @@ -86,4 +88,4 @@ class PySoftConstraintsProvider( caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + arraySize16000 + arraySize100000 } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index 5b1a5f49e1..a280cef02e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -14,7 +14,7 @@ import org.usvm.solver.USolverBase class PyContext( typeSystem: PythonTypeSystem, - private val components: PyComponents = PyComponents(typeSystem), + components: PyComponents = PyComponents(typeSystem), ) : UContext(components) { private var nextAddress: UConcreteHeapAddress = INITIAL_STATIC_ADDRESS / 2 fun provideRawConcreteHeapRef(): UConcreteHeapRef { @@ -30,5 +30,4 @@ class PyContext( fun intToFloat(intValue: UExpr): UExpr { return mkIntToReal(intValue) } - } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt index bc71baeff3..c7384dd257 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyPathConstraints.kt @@ -22,7 +22,7 @@ class PyPathConstraints( ), numericConstraints: UNumericConstraints = UNumericConstraints(ctx, sort = ctx.bv32Sort), var pythonSoftConstraints: PersistentSet = persistentHashSetOf(), -): UPathConstraints( +) : UPathConstraints( ctx, logicalConstraints, equalityConstraints, @@ -43,4 +43,4 @@ class PyPathConstraints( pythonSoftConstraints = pythonSoftConstraints, ) } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index e6c975121c..936183765a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -118,7 +118,9 @@ fun createIterable( val typeSystem = ctx.typeSystem val size = elements.size with(ctx.ctx) { - val iterableAddress = ctx.extractCurState().memory.allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) + val iterableAddress = ctx.extractCurState() + .memory + .allocateArrayInitialized(ArrayType, addressSort, intSort, addresses) ctx.extractCurState().memory.writeArrayLength(iterableAddress, mkIntNum(size), ArrayType, intSort) ctx.extractCurState().memory.types.allocate(iterableAddress.address, type) val result = UninterpretedSymbolicPythonObject(iterableAddress, typeSystem) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index 001915d569..2ca55d2e31 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -158,7 +158,9 @@ fun handlerListAppendKt( with(ctx.ctx) { val currentSize = list.readArrayLength(ctx) list.writeArrayElement(ctx, currentSize, elem) - ctx.extractCurState().memory.writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) + ctx.extractCurState() + .memory + .writeArrayLength(list.address, mkArithAdd(currentSize, mkIntNum(1)), ArrayType, intSort) return list } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 0b179c0f8d..22f05c0062 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -62,7 +62,8 @@ fun UninterpretedSymbolicPythonObject.readDictRefElement( requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem addSupertype(ctx, typeSystem.pythonDict) - val resultAddress = ctx.extractCurState().symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) + val resultAddress = ctx.extractCurState() + .symbolicObjectMapGet(address, key.address, RefDictType, ctx.ctx.addressSort) return UninterpretedSymbolicPythonObject(resultAddress, typeSystem) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index b7e8d5e578..ea5e690f41 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -127,8 +127,12 @@ fun UninterpretedSymbolicPythonObject.setFloatContent(ctx: ConcolicRunContext, e addSupertypeSoft(ctx, typeSystem.pythonFloat) writeBoolFieldWithSoftConstraint(FloatContents.isNan, ctx.extractCurState().memory, address, ctx.ctx, expr.isNan) writeBoolFieldWithSoftConstraint(FloatContents.isInf, ctx.extractCurState().memory, address, ctx.ctx, expr.isInf) - ctx.extractCurState().memory.writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) - ctx.extractCurState().memory.writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) + ctx.extractCurState() + .memory + .writeField(address, FloatContents.infSign, ctx.ctx.boolSort, expr.infSign, ctx.ctx.trueExpr) + ctx.extractCurState() + .memory + .writeField(address, FloatContents.content, ctx.ctx.realSort, expr.realValue, ctx.ctx.trueExpr) } fun UninterpretedSymbolicPythonObject.getFloatContent(ctx: ConcolicRunContext): FloatUninterpretedContent { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index 775d6f972a..a3f281be18 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -42,7 +42,8 @@ fun UninterpretedSymbolicPythonObject.setFieldValue( ) { requireNotNull(ctx.curState) name.addSupertypeSoft(ctx, typeSystem.pythonStr) - ctx.extractCurState().symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) + ctx.extractCurState() + .symbolicObjectMapPut(address, name.address, value.address, ObjectDictType, ctx.ctx.addressSort) } fun UninterpretedSymbolicPythonObject.containsField( From a77ea5a18e9bf3dc6721ee7f752edcb161d7d1e9 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 18:25:15 +0300 Subject: [PATCH 297/344] changed println to logger in tests --- buildSrc/src/main/kotlin/usvmpython/Names.kt | 2 +- .../usvm/runner/manual}/ManualTest.kt | 2 ++ .../manual/analyzers/OrdinaryAnalyzer.kt | 28 ++++++++++--------- .../manual/program/LocalProgramProvider.kt | 5 ++-- .../test/resources/logging/logback-debug.xml | 10 +++++++ .../test/resources/logging/logback-info.xml | 10 +++++++ .../main/kotlin/org/usvm/machine/PyContext.kt | 2 -- 7 files changed, 41 insertions(+), 18 deletions(-) rename usvm-python/src/test/kotlin/{ => org/usvm/runner/manual}/ManualTest.kt (95%) diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index b9cd7b56f3..0923706e69 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -30,4 +30,4 @@ const val PROPERTY_FOR_CPYTHON_SSL_PATH = "cpython.ssl.path" const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" const val MANUAL_TEST_FOR_RUNNER_ENTRY = "org.usvm.runner.ManualTestKt" const val RUNNER_ENTRY_POINT = "org.usvm.runner.UtBotPythonRunnerEntryPointKt" -const val MANUAL_TEST_ENTRY = "ManualTestKt" \ No newline at end of file +const val MANUAL_TEST_ENTRY = "org.usvm.runner.manual.ManualTestKt" \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/ManualTest.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt similarity index 95% rename from usvm-python/src/test/kotlin/ManualTest.kt rename to usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt index 8dee41be7b..43f7207227 100644 --- a/usvm-python/src/test/kotlin/ManualTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt @@ -1,3 +1,5 @@ +package org.usvm.runner.manual + import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer import org.usvm.runner.manual.program.sampleFunction diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt index 20b06e08ae..6509a0947b 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -1,5 +1,6 @@ package org.usvm.runner.manual.analyzers +import mu.KLogging import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.IllegalOperationException @@ -31,13 +32,12 @@ object OrdinaryAnalyzer : ProgramAnalyzer { processFunction(f, machine, emptyCoverage) } - println("GENERAL STATISTICS") - println(machine.statistics.writeReport()) + logger.info("GENERAL STATISTICS") + logger.info(machine.statistics.writeReport()) } - println() - println("Empty coverage for:") - emptyCoverage.forEach { println(it) } + logger.info("Empty coverage for:") + emptyCoverage.forEach { logger.info(it) } } private fun processFunction( @@ -61,28 +61,30 @@ object OrdinaryAnalyzer : ProgramAnalyzer { ) saver.pyTestObserver.tests.forEach { test -> - println("INPUT:") + logger.info("INPUT:") test.inputArgs.forEach { println(it) } - println("RESULT:") + logger.info("RESULT:") when (val result = test.result) { is PyResultSuccess -> println(result.output) is PyResultFailure -> println(result.exception) } - println() + logger.info("") } if (machine.statistics.functionStatistics.last().coverage == 0.0) { emptyCoverage.add(f.tag) } - println( + logger.info( "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. " + "Made $iterations iterations." ) - println("FUNCTION STATISTICS") - println(machine.statistics.functionStatistics.last().writeReport()) - println() + logger.info("FUNCTION STATISTICS") + logger.info(machine.statistics.functionStatistics.last().writeReport()) + logger.info("") } catch (e: IllegalOperationException) { - println("Illegal operation while analyzing: ${e.operation}\n") + logger.info("Illegal operation while analyzing: ${e.operation}\n") } } + + private val logger = object : KLogging() {}.logger } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt index 07fb7e7686..4a5550a49c 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -107,8 +107,9 @@ private fun getFunctionInfo( } if (description.argumentKinds.any { it == PythonCallableTypeDescription.ArgKind.ARG_STAR || - it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 - }) { + it == PythonCallableTypeDescription.ArgKind.ARG_STAR_2 + } + ) { return null } runCatching { diff --git a/usvm-python/src/test/resources/logging/logback-debug.xml b/usvm-python/src/test/resources/logging/logback-debug.xml index d3ef06c644..ec16c654e3 100644 --- a/usvm-python/src/test/resources/logging/logback-debug.xml +++ b/usvm-python/src/test/resources/logging/logback-debug.xml @@ -6,6 +6,16 @@ + + + %msg%n + + + + + + + diff --git a/usvm-python/src/test/resources/logging/logback-info.xml b/usvm-python/src/test/resources/logging/logback-info.xml index 0eca66e26f..ed62c39299 100644 --- a/usvm-python/src/test/resources/logging/logback-info.xml +++ b/usvm-python/src/test/resources/logging/logback-info.xml @@ -6,6 +6,16 @@ + + + %msg%n + + + + + + + diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt index a280cef02e..5806ab5c2c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyContext.kt @@ -8,9 +8,7 @@ import org.usvm.UConcreteHeapAddress import org.usvm.UConcreteHeapRef import org.usvm.UContext import org.usvm.UExpr -import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem -import org.usvm.solver.USolverBase class PyContext( typeSystem: PythonTypeSystem, From 86e7ce2934faf7d81efe835b6457fd72ad00938f Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 18:45:38 +0300 Subject: [PATCH 298/344] more formatting --- .../org/usvm/runner/manual/ManualTest.kt | 3 +++ .../analyzers/ConcolicAndConcreteChecker.kt | 7 ++--- .../manual/analyzers/OrdinaryAnalyzer.kt | 27 +++++++++---------- .../manual/program/LocalProgramProvider.kt | 3 ++- .../test/resources/logging/logback-debug.xml | 2 +- .../test/resources/logging/logback-info.xml | 2 +- .../kotlin/org/usvm/machine/PyComponents.kt | 19 ++++++++----- .../main/kotlin/org/usvm/machine/PyMachine.kt | 1 - .../concrete/ConcretePythonInterpreter.kt | 14 ---------- 9 files changed, 37 insertions(+), 41 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt index 43f7207227..573e890f1d 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt @@ -1,5 +1,6 @@ package org.usvm.runner.manual +import mu.KLogging import org.usvm.runner.manual.analyzers.OrdinaryAnalyzer import org.usvm.runner.manual.program.sampleFunction @@ -24,3 +25,5 @@ fun main() { analyzer.run(program) } + +val manualTestLogger = object : KLogging() {}.logger \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt index 17d3c9a9dc..2e41c42018 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/ConcolicAndConcreteChecker.kt @@ -3,6 +3,7 @@ package org.usvm.runner.manual.analyzers import org.usvm.UMachineOptions import org.usvm.machine.interpreters.concrete.IllegalOperationException import org.usvm.runner.CustomPythonTestRunner +import org.usvm.runner.manual.manualTestLogger import org.usvm.runner.manual.program.ProgramProvider import kotlin.time.Duration.Companion.seconds @@ -16,7 +17,7 @@ class ConcolicAndConcreteChecker : ProgramAnalyzer { ) runner.timeoutPerRunMs = 10_000 provider.functions.forEach { function -> - println("Running ${function.tag}...") + manualTestLogger.info("Running ${function.tag}...") try { val comparator = runner.standardConcolicAndConcreteChecks when (val argsNum = function.numberOfArguments) { @@ -25,10 +26,10 @@ class ConcolicAndConcreteChecker : ProgramAnalyzer { 2 -> runner.check2NoPredicates(function, comparator) 3 -> runner.check3NoPredicates(function, comparator) 4 -> runner.check4NoPredicates(function, comparator) - else -> println("${function.tag} ignored because it has $argsNum arguments") + else -> manualTestLogger.warn("${function.tag} ignored because it has $argsNum arguments") } } catch (e: IllegalOperationException) { - println("Illegal operation while analyzing: ${e.operation}\n") + manualTestLogger.info("Illegal operation while analyzing: ${e.operation}\n") } } } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt index 6509a0947b..d0c6caa127 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -1,6 +1,5 @@ package org.usvm.runner.manual.analyzers -import mu.KLogging import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.PyMachine import org.usvm.machine.interpreters.concrete.IllegalOperationException @@ -8,6 +7,7 @@ import org.usvm.machine.results.DefaultPyMachineResultsReceiver import org.usvm.machine.results.serialization.ObjectWithDictSerializer import org.usvm.python.model.PyResultFailure import org.usvm.python.model.PyResultSuccess +import org.usvm.runner.manual.manualTestLogger import org.usvm.runner.manual.program.ProgramProvider object OrdinaryAnalyzer : ProgramAnalyzer { @@ -32,12 +32,12 @@ object OrdinaryAnalyzer : ProgramAnalyzer { processFunction(f, machine, emptyCoverage) } - logger.info("GENERAL STATISTICS") - logger.info(machine.statistics.writeReport()) + manualTestLogger.info("GENERAL STATISTICS") + manualTestLogger.info(machine.statistics.writeReport()) } - logger.info("Empty coverage for:") - emptyCoverage.forEach { logger.info(it) } + manualTestLogger.info("Empty coverage for:") + emptyCoverage.forEach { manualTestLogger.info(it) } } private fun processFunction( @@ -61,30 +61,29 @@ object OrdinaryAnalyzer : ProgramAnalyzer { ) saver.pyTestObserver.tests.forEach { test -> - logger.info("INPUT:") + manualTestLogger.info("INPUT:") test.inputArgs.forEach { println(it) } - logger.info("RESULT:") + manualTestLogger.info("RESULT:") when (val result = test.result) { is PyResultSuccess -> println(result.output) is PyResultFailure -> println(result.exception) } - logger.info("") + manualTestLogger.info("") } if (machine.statistics.functionStatistics.last().coverage == 0.0) { emptyCoverage.add(f.tag) } - logger.info( + manualTestLogger.info( "Finished analysing ${f.tag} in ${System.currentTimeMillis() - start} milliseconds. " + "Made $iterations iterations." ) - logger.info("FUNCTION STATISTICS") - logger.info(machine.statistics.functionStatistics.last().writeReport()) - logger.info("") + manualTestLogger.info("FUNCTION STATISTICS") + manualTestLogger.info(machine.statistics.functionStatistics.last().writeReport()) + manualTestLogger.info("") } catch (e: IllegalOperationException) { - logger.info("Illegal operation while analyzing: ${e.operation}\n") + manualTestLogger.info("Illegal operation while analyzing: ${e.operation}\n") } } - private val logger = object : KLogging() {}.logger } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt index 4a5550a49c..bb3ea3331a 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -7,6 +7,7 @@ import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.machine.types.getTypeFromTypeHint import org.usvm.machine.utils.withAdditionalPaths +import org.usvm.runner.manual.manualTestLogger import org.usvm.utils.getModulesFromFiles import org.usvm.utils.getPythonFilesFromRoot import org.utpython.types.PythonCallableTypeDescription @@ -123,7 +124,7 @@ private fun getFunctionInfo( } } }.getOrNull() ?: return null - println("$module.$name: ${type.pythonTypeRepresentation()}") + manualTestLogger.info("$module.$name: ${type.pythonTypeRepresentation()}") val callableType = type as FunctionType return PyUnpinnedCallable.constructCallableFromName( callableType.arguments.map { diff --git a/usvm-python/src/test/resources/logging/logback-debug.xml b/usvm-python/src/test/resources/logging/logback-debug.xml index ec16c654e3..72842488c7 100644 --- a/usvm-python/src/test/resources/logging/logback-debug.xml +++ b/usvm-python/src/test/resources/logging/logback-debug.xml @@ -12,7 +12,7 @@ - + diff --git a/usvm-python/src/test/resources/logging/logback-info.xml b/usvm-python/src/test/resources/logging/logback-info.xml index ed62c39299..a27f976389 100644 --- a/usvm-python/src/test/resources/logging/logback-info.xml +++ b/usvm-python/src/test/resources/logging/logback-info.xml @@ -12,7 +12,7 @@ - + diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index 6f9762ed47..f9d1a26c32 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -71,6 +71,15 @@ class PySolver( } } +private const val BOUND_0 = 1 +private const val BOUND_1 = 16 +private const val BOUND_2 = 256 +private const val BOUND_3 = 16_000 +private const val BOUND_4 = 100_000 + +private val arraySizeBounds = + listOf(BOUND_0, BOUND_1, BOUND_2, BOUND_3, BOUND_4) + class PySoftConstraintsProvider( ctx: UContext, ) : USoftConstraintsProvider(ctx) { @@ -79,13 +88,11 @@ class PySoftConstraintsProvider( ): UExpr = computeSideEffect(expr) { with(ctx) { val addressIsNull = provide(expr.address) - val arraySize1 = mkSizeLeExpr(expr, mkSizeExpr(1)) - val arraySize16 = mkSizeLeExpr(expr, mkSizeExpr(16)) - val arraySize256 = mkSizeLeExpr(expr, mkSizeExpr(256)) - val arraySize16000 = mkSizeLeExpr(expr, mkSizeExpr(16_000)) - val arraySize100000 = mkSizeLeExpr(expr, mkSizeExpr(100_000)) + val arrayConstraints = arraySizeBounds.map { + mkSizeLeExpr(expr, mkSizeExpr(it)) + } - caches[expr] = addressIsNull + arraySize1 + arraySize16 + arraySize256 + arraySize16000 + arraySize100000 + caches[expr] = addressIsNull + arrayConstraints.toSet() } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index cdfaf7fbb7..4d529e29a3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -2,7 +2,6 @@ package org.usvm.machine import org.usvm.UMachine import org.usvm.UPathSelector -import org.usvm.constraints.UPathConstraints import org.usvm.language.PyCallable import org.usvm.language.PyPinnedCallable import org.usvm.language.PyProgram diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index e3ea7abef0..047fda9c7b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -370,20 +370,6 @@ object ConcretePythonInterpreter { init { initialize() } - - fun printIdInfo() { // for debugging - println("SymbolicMethodId:") - SymbolicMethodId.entries.forEach { - println(it) - println(it.cRef) - } - println() - println("ApproximationId:") - ApproximationId.entries.forEach { - println(it) - println(it.cRef) - } - } } class CPythonExecutionException( From a3f63a815bfaf06b04c2fc8dfa2fcbe7729b5bc9 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 18:50:32 +0300 Subject: [PATCH 299/344] fmt --- .../src/test/kotlin/org/usvm/runner/manual/ManualTest.kt | 2 +- .../org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt index 573e890f1d..e1b1178a96 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/ManualTest.kt @@ -26,4 +26,4 @@ fun main() { analyzer.run(program) } -val manualTestLogger = object : KLogging() {}.logger \ No newline at end of file +val manualTestLogger = object : KLogging() {}.logger diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt index d0c6caa127..0d7ec85e41 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/analyzers/OrdinaryAnalyzer.kt @@ -45,7 +45,7 @@ object OrdinaryAnalyzer : ProgramAnalyzer { machine: PyMachine, emptyCoverage: MutableList, ) { - println("Started analysing function ${f.tag}") + manualTestLogger.info("Started analysing function ${f.tag}") try { val start = System.currentTimeMillis() @@ -62,11 +62,11 @@ object OrdinaryAnalyzer : ProgramAnalyzer { saver.pyTestObserver.tests.forEach { test -> manualTestLogger.info("INPUT:") - test.inputArgs.forEach { println(it) } + test.inputArgs.forEach { manualTestLogger.info(it) } manualTestLogger.info("RESULT:") when (val result = test.result) { - is PyResultSuccess -> println(result.output) - is PyResultFailure -> println(result.exception) + is PyResultSuccess -> manualTestLogger.info(result.output) + is PyResultFailure -> manualTestLogger.info(result.exception) } manualTestLogger.info("") } @@ -85,5 +85,4 @@ object OrdinaryAnalyzer : ProgramAnalyzer { manualTestLogger.info("Illegal operation while analyzing: ${e.operation}\n") } } - } From 331453bc8190239eb6ad06dd1ce01ec18bd0a784 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 19:03:03 +0300 Subject: [PATCH 300/344] fmt --- .../org/usvm/machine/ps/PyVirtualPathSelector.kt | 8 +++++--- .../org/usvm/machine/ps/WeightedPyPathSelector.kt | 10 +++++----- .../strategies/impls/DelayedForkByInstruction.kt | 15 ++++++++------- .../org/usvm/machine/utils/PyMachineStatistics.kt | 2 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 3 ++- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 23f93cee5b..cfe271eae4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -34,7 +34,8 @@ class PyVirtualPathSelector) -> Boolean, ): List = - graph.nodesByInstruction.keys.filter { instruction -> - val nodes = graph.nodesByInstruction[instruction]!! + graph.nodesByInstruction.entries.filter { (_, nodes) -> nodes.any { it in graph.aliveNodesAtDistanceOne && isAvailable(it) } + }.map { + it.key } protected fun chooseDelayedFork( @@ -61,7 +62,9 @@ sealed class DelayedForkByInstructionAction : Action 0) val idx = random.nextInt(0, size) - val nodes = graph.nodesByInstruction[availableInstructions[idx]]!!.filter { + val rawNodes = graph.nodesByInstruction[availableInstructions[idx]] + ?: error("${availableInstructions[idx]} not in map graph.nodesByInstruction") + val nodes = rawNodes.filter { it in graph.aliveNodesAtDistanceOne && isAvailable(it) } require(nodes.isNotEmpty()) @@ -69,7 +72,7 @@ sealed class DelayedForkByInstructionAction : Action -> node.delayedForkState.successfulTypes.isEmpty() && node.delayedForkState.size > 0 } @@ -83,10 +86,9 @@ object ServeNewDelayedForkByInstruction : DelayedForkByInstructionAction() { ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) - override fun toString(): String = "ServeNewDelayedForkByInstruction" } -object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() { +data object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() { private val predicate = { node: DelayedForkGraphInnerVertex -> node.delayedForkState.successfulTypes.isNotEmpty() && node.delayedForkState.size > 0 } @@ -100,7 +102,6 @@ object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() { ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) - override fun toString(): String = "ServeOldDelayedForkByInstruction" } class DelayedForkByInstructionGraph( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index b8b8fc5035..bb923c5d68 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -29,7 +29,7 @@ private fun addWithDefault(map: MutableMap, descr: Metho if (map[descr] == null) { map[descr] = 0 } - map[descr] = map[descr]!! + value + map[descr] = (map[descr] ?: error("$descr not in map")) + value } class PyMachineStatistics { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 2fcc98cd83..a2fdb1b87f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -9,6 +9,7 @@ import org.usvm.USymbolicHeapRef import org.usvm.api.typeStreamOf import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.extractCurState import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject @@ -47,5 +48,5 @@ fun getTypeStreamForDelayedFork( } } val leaf = getLeafHeapRef(obj.address, ctx.modelHolder.model) - return ctx.curState!!.memory.typeStreamOf(leaf) + return ctx.extractCurState().memory.typeStreamOf(leaf) } From fc1b41466c6e4c4405ca6e58d30192e99c1dcbf5 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 19:09:52 +0300 Subject: [PATCH 301/344] fmt --- .../SymbolicObjectConstruction.kt | 33 ++++++++++--------- .../symbolicobjects/SymbolicPythonObject.kt | 14 ++++---- .../rendering/PyValueBuilder.kt | 11 ++++--- .../rendering/PyValueRenderer.kt | 5 +-- .../org/usvm/machine/utils/UHeapRefUtils.kt | 2 +- 5 files changed, 36 insertions(+), 29 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index d66312ab92..b59a3926a8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -10,6 +10,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.memory.FloatUninterpretedContent import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField import org.usvm.machine.symbolicobjects.memory.setFloatContent @@ -70,20 +71,20 @@ fun constructEmptyStaticObject( fun constructInt(context: ConcolicRunContext, expr: UExpr): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonInt) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonInt) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setIntContent(context, expr) - result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + result.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) return result } fun constructFloat(context: ConcolicRunContext, expr: FloatUninterpretedContent): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonFloat) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonFloat) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setFloatContent(context, expr) - result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + result.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) return result } @@ -91,8 +92,8 @@ fun constructFloat(context: ConcolicRunContext, expr: FloatUninterpretedContent) fun constructBool(context: ConcolicRunContext, expr: UBoolExpr): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) - val trueObj = context.curState!!.preAllocatedObjects.trueObject - val falseObj = context.curState!!.preAllocatedObjects.falseObject + val trueObj = context.extractCurState().preAllocatedObjects.trueObject + val falseObj = context.extractCurState().preAllocatedObjects.falseObject val address = context.ctx.mkIte(expr, trueObj.address, falseObj.address) return UninterpretedSymbolicPythonObject(address, context.typeSystem) } @@ -119,10 +120,10 @@ fun constructListIterator( ): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonListIteratorType) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonListIteratorType) val result = UninterpretedSymbolicPythonObject(address, typeSystem) result.setListIteratorContent(context, list) - result.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + result.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) return result } @@ -132,10 +133,10 @@ fun constructTupleIterator( ): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonTupleIteratorType) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonTupleIteratorType) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setTupleIteratorContent(context, tuple) - it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + it.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) } } @@ -147,10 +148,10 @@ fun constructRange( ): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRange) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonRange) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeContent(context, start, stop, step) - it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + it.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) } } @@ -160,10 +161,10 @@ fun constructRangeIterator( ): UninterpretedSymbolicPythonObject { requireNotNull(context.curState) val typeSystem = context.typeSystem - val address = context.curState!!.memory.allocConcrete(typeSystem.pythonRangeIterator) + val address = context.extractCurState().memory.allocConcrete(typeSystem.pythonRangeIterator) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setRangeIteratorContent(context, range) - it.setMinimalTimeOfCreation(context.ctx, context.curState!!.memory) + it.setMinimalTimeOfCreation(context.ctx, context.extractCurState().memory) } } @@ -175,11 +176,11 @@ fun constructSlice( ): UninterpretedSymbolicPythonObject { requireNotNull(ctx.curState) val typeSystem = ctx.typeSystem - val address = ctx.curState!!.memory.allocConcrete(typeSystem.pythonSlice) + val address = ctx.extractCurState().memory.allocConcrete(typeSystem.pythonSlice) return UninterpretedSymbolicPythonObject(address, typeSystem).also { it.setSliceStart(ctx, start) it.setSliceStop(ctx, stop) it.setSliceStep(ctx, step) - it.setMinimalTimeOfCreation(ctx.ctx, ctx.curState!!.memory) + it.setMinimalTimeOfCreation(ctx.ctx, ctx.extractCurState().memory) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 5c2bed5bec..30e4e15632 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -15,6 +15,7 @@ import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.model.PyModelHolder import org.usvm.machine.model.getConcreteType @@ -68,9 +69,10 @@ class UninterpretedSymbolicPythonObject( fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { requireNotNull(ctx.curState) - val result = evalIs(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) - if (resolvesToNullInCurrentModel(ctx) && ctx.curState!!.pyModel.eval(result).isTrue) { - ctx.curState!!.possibleTypesForNull = ctx.curState!!.possibleTypesForNull.filterBySupertype(type) + val result = evalIs(ctx.ctx, ctx.extractCurState().pathConstraints.typeConstraints, type) + if (resolvesToNullInCurrentModel(ctx) && ctx.extractCurState().pyModel.eval(result).isTrue) { + ctx.extractCurState().possibleTypesForNull = + ctx.extractCurState().possibleTypesForNull.filterBySupertype(type) } return result } @@ -90,7 +92,7 @@ class UninterpretedSymbolicPythonObject( fun evalIsSoft(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { requireNotNull(ctx.curState) - return evalIsSoft(ctx.ctx, ctx.curState!!.pathConstraints.typeConstraints, type) + return evalIsSoft(ctx.ctx, ctx.extractCurState().pathConstraints.typeConstraints, type) } fun evalIsSoft( @@ -125,7 +127,7 @@ class UninterpretedSymbolicPythonObject( fun getTimeOfCreation(ctx: ConcolicRunContext): UExpr { // must not be called on nullref requireNotNull(ctx.curState) - return ctx.curState!!.memory.readField(address, TimeOfCreation, ctx.ctx.intSort) + return ctx.extractCurState().memory.readField(address, TimeOfCreation, ctx.ctx.intSort) } // must not be called on nullref @@ -203,7 +205,7 @@ fun interpretSymbolicPythonObject( obj: UninterpretedSymbolicPythonObject, ): InterpretedSymbolicPythonObject { requireNotNull(ctx.curState) - return interpretSymbolicPythonObject(ctx.modelHolder, ctx.curState!!.memory, obj) + return interpretSymbolicPythonObject(ctx.modelHolder, ctx.extractCurState().memory, obj) } fun interpretSymbolicPythonObject( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt index 7ea2c9393b..4706e781ab 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueBuilder.kt @@ -64,8 +64,9 @@ class PyValueBuilder( require(!isAllocatedConcreteHeapRef(obj.address)) { "Cannot convert allocated objects" } - if (obj.address in converted) { - return converted[obj.address]!! + val cached = converted[obj.address] + if (cached != null) { + return cached } val typeSystem = state.typeSystem val type = obj.getFirstType() ?: error("Type stream for interpreted object is empty") @@ -324,9 +325,11 @@ class PyValueBuilder( type: ConcretePythonType, fields: MutableMap, ) { - val str = state.preAllocatedObjects.concreteString(strObj)!! + val str = state.preAllocatedObjects.concreteString(strObj) + ?: error("Could not find string representation of ${strObj.address}") if (ConcretePythonInterpreter.typeLookup(type.asObject, str) == null) { - val strRef = state.preAllocatedObjects.refOfString(str)!! + val strRef = state.preAllocatedObjects.refOfString(str) + ?: error("Could not find ref of $str") val namespace = ConcretePythonInterpreter.getNewNamespace() ConcretePythonInterpreter.addObjectToNamespace(namespace, strRef, "field") ConcretePythonInterpreter.concreteRun(namespace, "import keyword") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt index c88b18738c..46717e1e40 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt @@ -14,8 +14,9 @@ import org.usvm.python.model.PyValue class PyValueRenderer(private val useNoneInsteadOfMock: Boolean = false) { private val converted = mutableMapOf() fun convert(model: PyValue): PyObject { - if (model in converted) { - return converted[model]!! + val cached = converted[model] + if (cached != null) { + return cached } val result = when (model) { is PyPrimitive -> convertPrimitive(model) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index a2fdb1b87f..1b41e23803 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -41,7 +41,7 @@ fun getTypeStreamForDelayedFork( requireNotNull(ctx.curState) val interpreted = interpretSymbolicPythonObject(ctx, obj) if (interpreted.address.address != 0) { - val current = interpreted.getTypeStream()!! + val current = interpreted.getTypeStream() ?: error("getTypeStream() should not be null here") val prefix = current.take(PREFIX_SIZE) if (prefix is TypesResult.SuccessfulTypesResult && prefix.types.size >= PREFIX_SIZE) { return current From 7b6542e6af8f1548bb068a6149f528bb464a4120 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 7 Jun 2024 19:21:39 +0300 Subject: [PATCH 302/344] fmt --- .../usvm/runner/manual/program/LocalProgramProvider.kt | 4 ++-- .../ps/strategies/impls/DelayedForkByInstruction.kt | 2 -- .../usvm/machine/symbolicobjects/PreallocatedObjects.kt | 3 ++- .../org/usvm/machine/symbolicobjects/memory/Float.kt | 7 ++++++- .../kotlin/org/usvm/machine/types/ElementConstraints.kt | 8 ++++---- .../src/main/kotlin/org/usvm/machine/types/TypeSystem.kt | 6 ++++-- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt index bb3ea3331a..aef81de062 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/LocalProgramProvider.kt @@ -23,7 +23,6 @@ import org.utpython.types.pythonTypeRepresentation import java.io.File import kotlin.io.path.createTempDirectory - class LocalProgramProvider( projectPath: String, private val ignoreFunctions: List = emptyList(), @@ -58,7 +57,8 @@ class LocalProgramProvider( program.getNamespaceOfModule(module) } }.getOrNull() ?: return@flatMap emptyList() // skip bad modules - mypyBuild.definitions[module]!!.flatMap { (defName, def) -> + val definition = mypyBuild.definitions[module] ?: error("$module must be in mypyBuild.definitions") + definition.flatMap { (defName, def) -> val type = def.getUtBotType() val description = type.pythonDescription() if (defName.startsWith("__")) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt index f0c154d6e4..e23b0a4083 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/strategies/impls/DelayedForkByInstruction.kt @@ -85,7 +85,6 @@ data object ServeNewDelayedForkByInstruction : DelayedForkByInstructionAction() random: Random, ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) - } data object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() { @@ -101,7 +100,6 @@ data object ServeOldDelayedForkByInstruction : DelayedForkByInstructionAction() random: Random, ): PyPathSelectorAction = MakeDelayedFork(chooseDelayedFork(graph, predicate, random)) - } class DelayedForkByInstructionGraph( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index 8b362d202e..f06f179850 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -4,6 +4,7 @@ import org.usvm.constraints.UPathConstraints import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable import org.usvm.machine.PyContext +import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.types.PythonType @@ -26,7 +27,7 @@ class PreallocatedObjects( return cached } val result = - constructEmptyStaticObject(ctx.ctx, ctx.curState!!.memory, ctx.typeSystem, ctx.typeSystem.pythonStr) + constructEmptyStaticObject(ctx.ctx, ctx.extractCurState().memory, ctx.typeSystem, ctx.typeSystem.pythonStr) concreteStrToSymbol[string] = result symbolToConcreteStr[result] = string refOfString[string] = ref diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index ea5e690f41..ec9581f152 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -155,7 +155,12 @@ fun UninterpretedSymbolicPythonObject.getToFloatContent(ctx: ConcolicRunContext) return when (getTypeIfDefined(ctx)) { typeSystem.pythonFloat -> getFloatContent(ctx) typeSystem.pythonInt -> wrapRealValue(ctx.ctx, intToFloat(getIntContent(ctx))) - typeSystem.pythonBool -> wrapRealValue(ctx.ctx, intToFloat(getToIntContent(ctx)!!)) + typeSystem.pythonBool -> wrapRealValue( + ctx.ctx, + intToFloat( + getToIntContent(ctx) ?: error("Cannot convert bool to int") + ) + ) else -> null } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt index f7da78a0a6..f6c1dd1720 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt @@ -11,14 +11,14 @@ import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.TimeOfCreation import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -abstract class ElementConstraint { - abstract fun applyUninterpreted( +interface ElementConstraint { + fun applyUninterpreted( array: UninterpretedSymbolicPythonObject, element: UninterpretedSymbolicPythonObject, ctx: ConcolicRunContext, ): UBoolExpr - abstract fun applyInterpreted( + fun applyInterpreted( array: UConcreteHeapRef, element: UConcreteHeapRef, model: PyModel, @@ -26,7 +26,7 @@ abstract class ElementConstraint { ): Boolean } -object NonRecursiveConstraint : ElementConstraint() { +object NonRecursiveConstraint : ElementConstraint { override fun applyUninterpreted( array: UninterpretedSymbolicPythonObject, element: UninterpretedSymbolicPythonObject, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index 378858acc9..d04a3bc17f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -110,7 +110,7 @@ abstract class PythonTypeSystem : UTypeSystem { fun addressOfConcreteType(type: ConcretePythonType): PyObject { require(type.owner == this) - return concreteTypeToAddress[type]!! + return concreteTypeToAddress[type] ?: error("All concrete types must have addresses") } fun concreteTypeOnAddress(address: PyObject): ConcretePythonType? { @@ -240,7 +240,9 @@ class PythonTypeSystemWithMypyInfo( } if (typeAlreadyInStorage(ref)) { - utTypeOfConcretePythonType[concreteTypeOnAddress(ref)!!] = utType + val concreteType = concreteTypeOnAddress(ref) + ?: error("ref's concrete type must be known after typeAlreadyInStorage check") + utTypeOfConcretePythonType[concreteType] = utType return@mapNotNull null } From b24d5c02304563e0e720c6fb9d9c5b38b20344ef Mon Sep 17 00:00:00 2001 From: Sergey Pospelov Date: Fri, 7 Jun 2024 19:31:45 +0300 Subject: [PATCH 303/344] chore: flaky test disabled --- .../samples/java/org/usvm/samples/casts/ArrayCastExample.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java b/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java index 99c1f1fb76..4bd6171c2a 100644 --- a/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java +++ b/usvm-jvm/src/samples/java/org/usvm/samples/casts/ArrayCastExample.java @@ -105,8 +105,6 @@ public List castFromIterable(Iterable iterable) { return null; } - Engine.assume(iterable instanceof Collection | iterable instanceof NonCollectionIterable); - return (List) iterable; } From 27da4f5aa213a597a6ff64465baa1161f003ffc3 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 10 Jun 2024 11:07:24 +0300 Subject: [PATCH 304/344] Refactored exception structure --- .../org/usvm/runner/PythonTestRunner.kt | 2 +- .../org/usvm/machine/PyExecutionException.kt | 20 ++++++++ .../concrete/ConcretePythonInterpreter.kt | 6 +-- .../symbolic/USVMPythonInterpreter.kt | 50 +++++++++++-------- .../symbolic/operations/basic/Control.kt | 3 +- .../symbolic/operations/basic/Virtual.kt | 3 +- .../operations/tracing/PathTracing.kt | 5 +- .../org/usvm/machine/types/TypeSystem.kt | 2 +- 8 files changed, 56 insertions(+), 35 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index ceeb490bb7..2cd1e71b10 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -3,8 +3,8 @@ package org.usvm.runner import org.usvm.UMachineOptions import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable +import org.usvm.machine.CPythonExecutionException import org.usvm.machine.PyMachine -import org.usvm.machine.interpreters.concrete.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.results.DefaultPyMachineResultsReceiver diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt new file mode 100644 index 0000000000..234a50ef08 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt @@ -0,0 +1,20 @@ +package org.usvm.machine + +import org.usvm.machine.interpreters.concrete.PyObject + +sealed class PyExecutionException : RuntimeException() + +class CPythonExecutionException( + val pythonExceptionValue: PyObject? = null, + val pythonExceptionType: PyObject? = null, +) : PyExecutionException() + +sealed class PyExecutionExceptionFromJava : PyExecutionException() + +class UnregisteredVirtualOperation : PyExecutionExceptionFromJava() + +class BadModelException : PyExecutionExceptionFromJava() + +class InstructionLimitExceededException : PyExecutionExceptionFromJava() + +class CancelledExecutionException : PyExecutionExceptionFromJava() \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index 047fda9c7b..f6861fdf5c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -8,6 +8,7 @@ import org.usvm.interpreter.ConcolicRunContext import org.usvm.interpreter.MemberDescriptor import org.usvm.language.SymbolForCPython import org.usvm.language.VirtualPythonObject +import org.usvm.machine.CPythonExecutionException import org.usvm.machine.interpreters.concrete.venv.VenvConfig import org.usvm.machine.interpreters.concrete.venv.activateThisScript import org.usvm.machine.interpreters.symbolic.SymbolicClonesOfGlobals @@ -372,11 +373,6 @@ object ConcretePythonInterpreter { } } -class CPythonExecutionException( - val pythonExceptionValue: PyObject? = null, - val pythonExceptionType: PyObject? = null, -) : RuntimeException() - data class PyObject(val address: Long) { init { require(address != 0L) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index c184f08d1f..ad2b0f7369 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -6,15 +6,17 @@ import org.usvm.UInterpreter import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyPinnedCallable import org.usvm.language.SymbolForCPython +import org.usvm.machine.BadModelException +import org.usvm.machine.CPythonExecutionException +import org.usvm.machine.CancelledExecutionException +import org.usvm.machine.InstructionLimitExceededException import org.usvm.machine.PyContext +import org.usvm.machine.PyExecutionException +import org.usvm.machine.PyExecutionExceptionFromJava import org.usvm.machine.PyState -import org.usvm.machine.interpreters.concrete.CPythonExecutionException +import org.usvm.machine.UnregisteredVirtualOperation import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject -import org.usvm.machine.interpreters.symbolic.operations.basic.BadModelException -import org.usvm.machine.interpreters.symbolic.operations.basic.UnregisteredVirtualOperation -import org.usvm.machine.interpreters.symbolic.operations.tracing.CancelledExecutionException -import org.usvm.machine.interpreters.symbolic.operations.tracing.InstructionLimitExceededException import org.usvm.machine.model.PyModelHolder import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.serialization.ReprObjectSerializer @@ -83,20 +85,23 @@ class USVMPythonInterpreter( concolicRunContext, printErrorMsg ) - } catch (exception: RuntimeException) { - if (exception is CPythonExecutionException) { - val realCPythonException = processCPythonExceptionDuringConcolicRun( - concolicRunContext, - exception, - renderer, - inputModel, - inputRepr - ) - if (!realCPythonException) { - return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } catch (exception: PyExecutionException) { + when (exception) { + is CPythonExecutionException -> { + val realCPythonException = processCPythonExceptionDuringConcolicRun( + concolicRunContext, + exception, + renderer, + inputModel, + inputRepr + ) + if (!realCPythonException) { + return StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) + } + } + is PyExecutionExceptionFromJava -> { + processJavaException(concolicRunContext, exception, renderer) } - } else { - processJavaException(concolicRunContext, exception, renderer) } null } @@ -160,7 +165,7 @@ class USVMPythonInterpreter( private fun processJavaException( concolicRunContext: ConcolicRunContext, - exception: Throwable, + exception: PyExecutionExceptionFromJava, renderer: PyValueRenderer, ) { when (exception) { @@ -168,7 +173,6 @@ class USVMPythonInterpreter( is BadModelException -> logger.debug("Step result: Bad model") is InstructionLimitExceededException -> processInstructionLimitExceeded(concolicRunContext) is CancelledExecutionException -> processCancelledException(concolicRunContext) - else -> throw exception } } @@ -183,7 +187,11 @@ class USVMPythonInterpreter( requireNotNull(exception.pythonExceptionValue) if (ConcretePythonInterpreter.isJavaException(exception.pythonExceptionValue)) { val javaException = ConcretePythonInterpreter.extractException(exception.pythonExceptionValue) - processJavaException(concolicRunContext, javaException, renderer) + if (javaException is PyExecutionExceptionFromJava) { + processJavaException(concolicRunContext, javaException, renderer) + } else { + throw javaException + } return false } logger.debug( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 1bbd632282..6cf06b8af9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -5,6 +5,7 @@ import org.usvm.UExpr import org.usvm.WithSolverStateForker.fork import org.usvm.WithSolverStateForker.forkMulti import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.BadModelException import org.usvm.machine.DelayedFork import org.usvm.machine.PyState import org.usvm.machine.extractCurState @@ -88,5 +89,3 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje val expr = cond.getToBoolValue(ctx) ?: return myFork(ctx, expr) } - -class BadModelException : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 3cdfdfa631..454b4e7d75 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -9,6 +9,7 @@ import org.usvm.isTrue import org.usvm.language.NbBoolMethod import org.usvm.language.SqLengthMethod import org.usvm.language.VirtualPythonObject +import org.usvm.machine.UnregisteredVirtualOperation import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.model.PyModel @@ -133,5 +134,3 @@ fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObj } return result } - -class UnregisteredVirtualOperation : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 90d624192d..d0628288b9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -4,6 +4,8 @@ import mu.KLogging import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.SymbolForCPython +import org.usvm.machine.CancelledExecutionException +import org.usvm.machine.InstructionLimitExceededException import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable @@ -72,6 +74,3 @@ fun handlerForkResultKt(context: ConcolicRunContext, cond: SymbolForCPython, res context.pathDiversion() } } - -class InstructionLimitExceededException : RuntimeException() -class CancelledExecutionException : RuntimeException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt index d04a3bc17f..ae66034da8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/TypeSystem.kt @@ -1,7 +1,7 @@ package org.usvm.machine.types import org.usvm.language.StructuredPyProgram -import org.usvm.machine.interpreters.concrete.CPythonExecutionException +import org.usvm.machine.CPythonExecutionException import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.concrete.PyObject From 41f16f2fbbafb780c18fc5bcc84335e5ae217a5c Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 10 Jun 2024 11:11:42 +0300 Subject: [PATCH 305/344] Removed handlerPOWLong --- .../main/java/org/usvm/interpreter/CPythonAdapter.java | 8 -------- .../interpreters/symbolic/operations/basic/Long.kt | 10 ---------- 2 files changed, 18 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 9687e40cb2..ff7bbf07ca 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -379,14 +379,6 @@ public static SymbolForCPython handlerREMLong(ConcolicRunContext context, Symbol return methodWrapper(context, new MethodParameters("rem_long", Arrays.asList(left, right)), () -> handlerREMLongKt(context, left.obj, right.obj)); } - // TODO: CPythonFunction - @CPythonAdapterJavaMethod(cName = "pow_long") - public static SymbolForCPython handlerPOWLong(ConcolicRunContext context, SymbolForCPython left, SymbolForCPython right) { - if (left.obj == null || right.obj == null) - return null; - return methodWrapper(context, new MethodParameters("pow_long", Arrays.asList(left, right)), () -> handlerPOWLongKt(context, left.obj, right.obj)); - } - @CPythonAdapterJavaMethod(cName = "neg_long") @CPythonFunction( argCTypes = {CType.PyObject}, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index 333d3d60c7..b07125416d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -171,16 +171,6 @@ fun handlerREMLongKt( ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) }(x, y, z) -@Suppress("unused_parameter") -fun handlerPOWLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, -): UninterpretedSymbolicPythonObject? = null // TODO - -// createBinaryIntOp { ctx, left, right -> -// if (right is KIntNumExpr) ctx.mkArithPower(left, right) else null -// } (x, y, z) fun handlerTrueDivLongKt( x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject, From 6813c65e13d4ece428d9749acfca0082d900cb35 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 10 Jun 2024 11:28:28 +0300 Subject: [PATCH 306/344] refactoring in usvm-python-annotations --- .../org/usvm/annotations/CPythonFunction.java | 3 - .../CPythonAdapterJavaMethodProcessor.kt | 1 - .../annotations/CPythonFunctionProcessor.kt | 5 -- .../org/usvm/annotations/DataClasses.kt | 61 +++++++++++++++++++ .../SymbolicMemberDescriptorProcessor.kt | 1 - .../SymbolicMethodDescriptorProcessor.kt | 1 - .../CPythonFunctionGeneration.kt | 47 +------------- .../annotations/codegeneration/Constants.kt | 3 - .../codegeneration/GenerateDefinitions.kt | 6 +- .../SymbolicMemberDescriptorGeneration.kt | 7 +-- .../SymbolicMethodGeneration.kt | 7 ++- .../org/usvm/interpreter/CPythonAdapter.java | 2 - .../org/usvm/machine/PyExecutionException.kt | 2 +- 13 files changed, 73 insertions(+), 73 deletions(-) create mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt delete mode 100644 usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt diff --git a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java index d17108107a..f4d0b9ddcf 100644 --- a/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java +++ b/usvm-python/usvm-python-annotations/src/main/java/org/usvm/annotations/CPythonFunction.java @@ -1,8 +1,5 @@ package org.usvm.annotations; -import org.usvm.annotations.codegeneration.CType; -import org.usvm.annotations.codegeneration.ObjectConverter; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt index 0f9b67c078..ff84d453e8 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonAdapterJavaMethodProcessor.kt @@ -1,6 +1,5 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.DefinitionDescriptor import org.usvm.annotations.codegeneration.generateCPythonAdapterDefs import java.io.File import javax.annotation.processing.AbstractProcessor diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt index 7c5b25e0b4..b47df40ea6 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/CPythonFunctionProcessor.kt @@ -1,10 +1,5 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.ArgumentDescription -import org.usvm.annotations.codegeneration.CPythonFunctionDescription -import org.usvm.annotations.codegeneration.CType -import org.usvm.annotations.codegeneration.JavaType -import org.usvm.annotations.codegeneration.ObjectConverter import org.usvm.annotations.codegeneration.generateCPythonFunctionHeader import org.usvm.annotations.codegeneration.generateCPythonFunctionsImpls import java.io.File diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt new file mode 100644 index 0000000000..df033554f2 --- /dev/null +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt @@ -0,0 +1,61 @@ +package org.usvm.annotations + +data class MemberDescriptorInfo( + val nativeTypeName: String, + val nativeMemberName: String, + val javaMemberName: String, +) + +const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/interpreter/MemberDescriptor;" + +enum class ObjectConverter(val repr: String) { + StandardConverter("object_converter"), + FrameConverter("frame_converter"), + IntConverter("int_converter"), + RefConverter("ref_converter"), + ObjectWrapper("object_wrapper"), + ArrayConverter("array_converter"), + TupleConverter("tuple_converter"), + StringConverter("string_converter"), + ObjectIdConverter("object_id_converter"), + NoConverter(""), +} + +enum class CType(val repr: String) { + PyObject("PyObject *"), + PyObjectArray("PyObject **"), + PyFrameObject("PyFrameObject *"), + CInt("int"), + CStr("const char *"), + JObject("jobject"), +} + +enum class JavaType(val repr: String, val call: String) { + JObject("jobject", "Object"), + JLong("jlong", "Long"), + JInt("jint", "Int"), + JBoolean("jboolean", "Boolean"), + JObjectArray("jobjectArray", "Object"), + NoType("", "Void"), +} + +data class ArgumentDescription( + val cType: CType, + val javaType: JavaType, + val converter: ObjectConverter, +) + +data class CPythonFunctionDescription( + val cName: String, + val args: List, + val result: ArgumentDescription, + val failValue: String, + val defaultValue: String, + val addToSymbolicAdapter: Boolean, +) + +data class DefinitionDescriptor( + val cName: String, + val javaName: String, + val javaSignature: String, +) diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt index 1cd613c247..3f6a565805 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMemberDescriptorProcessor.kt @@ -1,6 +1,5 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.MemberDescriptorInfo import org.usvm.annotations.codegeneration.generateDescriptorChecks import java.io.File import javax.annotation.processing.AbstractProcessor diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt index fdfc20186b..4f4928d955 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/SymbolicMethodDescriptorProcessor.kt @@ -1,6 +1,5 @@ package org.usvm.annotations -import org.usvm.annotations.codegeneration.MemberDescriptorInfo import org.usvm.annotations.codegeneration.generateMethodDescriptorChecks import java.io.File import javax.annotation.processing.AbstractProcessor diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt index 8c0c2b518b..7f512fba18 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/CPythonFunctionGeneration.kt @@ -1,50 +1,7 @@ package org.usvm.annotations.codegeneration -enum class ObjectConverter(val repr: String) { - StandardConverter("object_converter"), - FrameConverter("frame_converter"), - IntConverter("int_converter"), - RefConverter("ref_converter"), - ObjectWrapper("object_wrapper"), - ArrayConverter("array_converter"), - TupleConverter("tuple_converter"), - StringConverter("string_converter"), - ObjectIdConverter("object_id_converter"), - NoConverter(""), -} - -enum class CType(val repr: String) { - PyObject("PyObject *"), - PyObjectArray("PyObject **"), - PyFrameObject("PyFrameObject *"), - CInt("int"), - CStr("const char *"), - JObject("jobject"), -} - -enum class JavaType(val repr: String, val call: String) { - JObject("jobject", "Object"), - JLong("jlong", "Long"), - JInt("jint", "Int"), - JBoolean("jboolean", "Boolean"), - JObjectArray("jobjectArray", "Object"), - NoType("", "Void"), -} - -data class ArgumentDescription( - val cType: CType, - val javaType: JavaType, - val converter: ObjectConverter, -) - -data class CPythonFunctionDescription( - val cName: String, - val args: List, - val result: ArgumentDescription, - val failValue: String, - val defaultValue: String, - val addToSymbolicAdapter: Boolean, -) +import org.usvm.annotations.CPythonFunctionDescription +import org.usvm.annotations.JavaType fun generateCPythonFunction(description: CPythonFunctionDescription): Pair { val cName = description.cName diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt deleted file mode 100644 index 1698bc988a..0000000000 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/Constants.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.usvm.annotations.codegeneration - -const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/interpreter/MemberDescriptor;" diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt index 452cca7465..a773591eae 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/GenerateDefinitions.kt @@ -1,10 +1,6 @@ package org.usvm.annotations.codegeneration -data class DefinitionDescriptor( - val cName: String, - val javaName: String, - val javaSignature: String, -) +import org.usvm.annotations.DefinitionDescriptor fun generateCPythonAdapterDefs(defs: List): String { val jmethodIDMacro = defs.fold("#define HANDLERS_DEFS ") { acc, def -> diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt index 8bc2cd9fc3..e9520e818b 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMemberDescriptorGeneration.kt @@ -1,10 +1,7 @@ package org.usvm.annotations.codegeneration -data class MemberDescriptorInfo( - val nativeTypeName: String, - val nativeMemberName: String, - val javaMemberName: String, -) +import org.usvm.annotations.MEMBER_DESCRIPTION_QUALNAME +import org.usvm.annotations.MemberDescriptorInfo fun generateDescriptorCheck(info: MemberDescriptorInfo): String = """ diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt index 8c81155a04..22ab348d09 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/codegeneration/SymbolicMethodGeneration.kt @@ -1,5 +1,10 @@ package org.usvm.annotations.codegeneration +import org.usvm.annotations.ArgumentDescription +import org.usvm.annotations.CPythonFunctionDescription +import org.usvm.annotations.CType +import org.usvm.annotations.JavaType +import org.usvm.annotations.ObjectConverter import org.usvm.annotations.ids.SymbolicMethodId fun generateSymbolicMethod(id: SymbolicMethodId): String { @@ -55,7 +60,7 @@ fun generateSymbolicMethodInitialization(): String { } fun generateMethodCheck(): String { - val items = SymbolicMethodId.values().map { + val items = SymbolicMethodId.entries.map { """ if (ptr == ${it.cName}) return ${it.cName}; diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index ff7bbf07ca..4fa32a18a9 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -4,8 +4,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.usvm.annotations.*; -import org.usvm.annotations.codegeneration.CType; -import org.usvm.annotations.codegeneration.ObjectConverter; import org.usvm.annotations.ids.ApproximationId; import org.usvm.annotations.ids.SymbolicMethodId; import org.usvm.language.*; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt index 234a50ef08..21615bfac3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyExecutionException.kt @@ -17,4 +17,4 @@ class BadModelException : PyExecutionExceptionFromJava() class InstructionLimitExceededException : PyExecutionExceptionFromJava() -class CancelledExecutionException : PyExecutionExceptionFromJava() \ No newline at end of file +class CancelledExecutionException : PyExecutionExceptionFromJava() From e7a013a21e71bc4a1c4a19f4e2575d6104c392c1 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 10 Jun 2024 11:34:08 +0300 Subject: [PATCH 307/344] removed nbBoolKt --- .../src/main/java/org/usvm/interpreter/CPythonAdapter.java | 2 +- .../symbolic/operations/basic/MethodNotifications.kt | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 4fa32a18a9..14779a23f2 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -980,7 +980,7 @@ public static void notifyNbBool(ConcolicRunContext context, SymbolForCPython sym if (symbol.obj == null) return; context.curOperation = new MockHeader(NbBoolMethod.INSTANCE, Collections.singletonList(symbol.obj), symbol.obj); - nbBoolKt(context, symbol.obj); + // We probably don't want to put constraints after nb_bool (maybe in the future?) } @CPythonAdapterJavaMethod(cName = "nb_int") diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index 39fe9cc3bc..b228097d73 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -24,11 +24,6 @@ import org.usvm.machine.types.HasTpRichcmp import org.usvm.machine.types.HasTpSetattro import org.usvm.machine.types.MockType -@Suppress("unused_parameter") -fun nbBoolKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { - context.curState ?: return -} - fun nbIntKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return on.addSupertypeSoft(context, HasNbInt) From 89c055a38dfa927aa3bd9a2575e5c9b548de8068 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:47:38 +0300 Subject: [PATCH 308/344] Update usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt Co-authored-by: Sergey Pospelov --- .../src/main/kotlin/org/usvm/machine/model/PyModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 0269666143..3ad5057623 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -61,7 +61,7 @@ class PyModel( @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { if (regionId is UArrayRegionId<*, *, *> && - regionId.sort == regionId.sort.uctx.addressSort && + regionId.sort == ctx.addressSort && regionId.arrayType == ArrayType ) { val region = super.getRegion( From 84dcaa68c7c3afa18d6cc549d1d1e5eff4e6250d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 2 Jul 2024 11:44:07 +0300 Subject: [PATCH 309/344] Added description for Gradle modules --- usvm-python/README.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/usvm-python/README.md b/usvm-python/README.md index 1304941b86..6ddb842854 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -68,7 +68,7 @@ For Windows you need MSBuild (see https://devguide.python.org/getting-started/se brew install openssl@3.0 ``` - - Set a gradle property pointing to OpenSSL location: + - Set a gradle property pointing to OpenSSL location ([about `GRADLE_USER_HOME` directory](https://docs.gradle.org/current/userguide/directory_layout.html#dir:gradle_user_home)): ``` cpython.ssl.path=/opt/homebrew/opt/openssl ``` @@ -84,6 +84,41 @@ For Windows you need MSBuild (see https://devguide.python.org/getting-started/se - `:usvm-python:manualTestDebug`: run with debug logging and debug build of CPython - `:usvm-python:manualTestDebugNoLogs`: run with info logging and debug build of CPython +## Structure of `usvm-python` + +`usvm-python` has several internal Gradle modules. Here is a description for them. + +### Root module `usvm-python` + + Puts all internal modules together. Tests are declared here. + +### Module `usvm-python:usvm-python-main` + + Main part of `usvm-python` symbolic machine. + +### Module `usvm-python:cpythonadapter` + + This module contains CPython as git submodule in folder `cpython`. + + The code in `src` folder is a native part of the symbolic machine. + It is supposed to bind Python and USVM in one process. + In `usvm-python-main` the binding point is class `CPythonAdapter.java`. + +### Module `usvm-python:usvm-python-annotations` + + Declares several annotations for `CPythonAdadpter.java`. + They are used to automatically generate some C code. + After build, the generated code can be found in folder + `cpythonadapter/build/adapter_include`. + +### Module `usvm-python:usvm-python-runner` + + JVM library for using `usvm-python` in other applications (such as UTBot). + +### Module `usvm-python:usvm-python-commons` + + Code that is used both in `usvm-python-runner` and `usvm-python-main`. + ## Addition of a method in CPythonAdapter ### Native method From 256c4f56cac29e7d872af843451ee3ebfd4246b6 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 2 Jul 2024 11:45:56 +0300 Subject: [PATCH 310/344] Fixed unused import --- .../src/main/kotlin/org/usvm/machine/model/PyModel.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 3ad5057623..84f7177667 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -34,7 +34,6 @@ import org.usvm.memory.UMemoryRegionId import org.usvm.memory.UReadOnlyMemoryRegion import org.usvm.memory.key.USizeRegion import org.usvm.model.UModelBase -import org.usvm.uctx class PyModel( private val ctx: PyContext, From 22149b18ceee054efc559a74666c5e0de959b917 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 12:37:17 +0300 Subject: [PATCH 311/344] Fixed api in ManualTest --- .../runner/manual/program/PrimitivePrograms.kt | 10 +++++----- .../usvm/runner/manual/program/SampleProgram.kt | 5 +++-- .../manual/program/SampleProgramProvider.kt | 15 ++++++++++----- .../manual/program/StringProgramProvider.kt | 11 ++++++----- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt index f564aea75c..a541ef5aac 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/PrimitivePrograms.kt @@ -8,10 +8,10 @@ import org.usvm.machine.types.PythonAnyType val sampleStringFunction = StringProgramProvider( """ def f(x): - assert x != "hello" + assert x != [1, 2, 3] """.trimIndent(), - listOf("f" to listOf(PythonAnyType)) -) + "f" +) { typeSystem -> listOf(typeSystem.pythonList) } /** * Sample of a function that cannot be covered right now. @@ -24,5 +24,5 @@ val listConcatProgram = StringProgramProvider( return 1 return 2 """.trimIndent(), - listOf("list_concat" to listOf(PythonAnyType)) -) + "list_concat", +) { listOf(PythonAnyType) } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt index ca5c193de2..7ad2d6299e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt @@ -6,5 +6,6 @@ import org.usvm.machine.types.PythonAnyType * Use this for manual tests of samples. * */ val sampleFunction = SampleProgramProvider( - listOf(("SimpleTypeInference" to "use_str_eq") to listOf(PythonAnyType)) -) + "SimpleTypeInference", + "use_str_eq", +) { listOf(PythonAnyType) } \ No newline at end of file diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt index e4e7d400f4..b165598f00 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgramProvider.kt @@ -6,7 +6,9 @@ import org.usvm.machine.types.PythonTypeSystemWithMypyInfo import org.usvm.runner.SamplesBuild class SampleProgramProvider( - declarations: List, List>>, + moduleName: String, + functionName: String, + signature: (PythonTypeSystemWithMypyInfo) -> List, ) : ProgramProvider { override val program = SamplesBuild.program @@ -14,8 +16,11 @@ class SampleProgramProvider( PythonTypeSystemWithMypyInfo(SamplesBuild.mypyBuild, program) override val functions: List = - declarations.map { (name, sig) -> - val (module, shortName) = name - PyUnpinnedCallable.constructCallableFromName(sig, shortName, module) - } + listOf( + PyUnpinnedCallable.constructCallableFromName( + signature(typeSystem), + functionName, + moduleName, + ) + ) } diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt index 04ce82ba1c..2b751683f3 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/StringProgramProvider.kt @@ -9,7 +9,8 @@ import org.usvm.machine.types.PythonTypeSystem class StringProgramProvider( programCode: String, - functions: List>>, + functionName: String, + signature: (PythonTypeSystem) -> List, ) : ProgramProvider { override val program: PyProgram = PrimitivePyProgram.fromString(programCode) @@ -18,11 +19,11 @@ class StringProgramProvider( BasicPythonTypeSystem() override val functions: List = - functions.map { (name, signature) -> + listOf( PyUnpinnedCallable.constructCallableFromName( - signature, - name, + signature(typeSystem), + functionName, null ) - } + ) } From 6b152b9cc775b9c40661de9e5496e9f93c98e5b7 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Fri, 5 Jul 2024 16:36:21 +0300 Subject: [PATCH 312/344] Update usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt Co-authored-by: Sergey Pospelov --- .../src/main/kotlin/org/usvm/machine/PyState.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index cc470b1396..b6c865e302 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -88,7 +88,7 @@ class PyState( override val isExceptional: Boolean = false // TODO val meta = PythonExecutionStateMeta() val pyModel: PyModel - get() = models.first() as? PyModel ?: error("Model PyState must be PyModel") + get() = checkNotNull(models.first() as? PyModel) { "Model PyState must be PyModel" } fun buildPathAsList(): List> = concolicQueries fun mock(what: MockHeader): MockResult { From 29f8e84ec117bb36889d282808e45695e190215a Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 17:51:32 +0300 Subject: [PATCH 313/344] refactored jni header generation + pr fixes --- buildSrc/build.gradle.kts | 2 + buildSrc/src/main/kotlin/usvmpython/Names.kt | 4 +- .../kotlin/usvmpython/tasks/JNIHeaderTask.kt | 20 + usvm-python/README.md | 2 + usvm-python/cpythonadapter/build.gradle.kts | 2 +- .../org_usvm_interpreter_CPythonAdapter.h | 477 ------------------ .../org/usvm/runner/PythonTestRunner.kt | 2 +- .../runner/manual/program/SampleProgram.kt | 2 +- usvm-python/usvm-python-main/build.gradle.kts | 7 + .../usvm/interpreter/ConcolicRunContext.java | 16 +- .../kotlin/org/usvm/language/Callables.kt | 48 +- .../main/kotlin/org/usvm/language/Program.kt | 3 +- .../main/kotlin/org/usvm/machine/PyMachine.kt | 4 +- .../main/kotlin/org/usvm/machine/PyState.kt | 4 + .../symbolic/USVMPythonInterpreter.kt | 2 +- .../usvm/machine/utils/PyMachineStatistics.kt | 4 +- 16 files changed, 88 insertions(+), 511 deletions(-) create mode 100644 buildSrc/src/main/kotlin/usvmpython/tasks/JNIHeaderTask.kt delete mode 100644 usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d58bf02029..d9b767c20f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -8,10 +8,12 @@ val detektVersion = "1.23.5" repositories { mavenCentral() gradlePluginPortal() + maven("https://jitpack.io") } dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detektVersion") + implementation("org.glavo:gjavah:0.3.1") } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/Names.kt b/buildSrc/src/main/kotlin/usvmpython/Names.kt index 0923706e69..5220b3b4b3 100644 --- a/buildSrc/src/main/kotlin/usvmpython/Names.kt +++ b/buildSrc/src/main/kotlin/usvmpython/Names.kt @@ -30,4 +30,6 @@ const val PROPERTY_FOR_CPYTHON_SSL_PATH = "cpython.ssl.path" const val BUILD_SAMPLES_ENTRY_POINT = "org.usvm.runner.BuildSamplesKt" const val MANUAL_TEST_FOR_RUNNER_ENTRY = "org.usvm.runner.ManualTestKt" const val RUNNER_ENTRY_POINT = "org.usvm.runner.UtBotPythonRunnerEntryPointKt" -const val MANUAL_TEST_ENTRY = "org.usvm.runner.manual.ManualTestKt" \ No newline at end of file +const val MANUAL_TEST_ENTRY = "org.usvm.runner.manual.ManualTestKt" + +const val CPYTHON_ADAPTER_CLASS = "org.usvm.interpreter.CPythonAdapter" \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/usvmpython/tasks/JNIHeaderTask.kt b/buildSrc/src/main/kotlin/usvmpython/tasks/JNIHeaderTask.kt new file mode 100644 index 0000000000..cf8559de73 --- /dev/null +++ b/buildSrc/src/main/kotlin/usvmpython/tasks/JNIHeaderTask.kt @@ -0,0 +1,20 @@ +package usvmpython.tasks + +import gradle.kotlin.dsl.accessors._466a692754d3da37fc853e1c7ad8ae1e.main +import gradle.kotlin.dsl.accessors._466a692754d3da37fc853e1c7ad8ae1e.sourceSets +import org.glavo.javah.JavahTask +import org.gradle.api.Project +import usvmpython.getGeneratedHeadersPath +import usvmpython.CPYTHON_ADAPTER_CLASS + + +fun Project.generateJNIForCPythonAdapterTask() { + val task = JavahTask() + task.outputDir = getGeneratedHeadersPath().toPath() + val classpath = sourceSets.main.get().runtimeClasspath + classpath.files.forEach { + task.addClassPath(it.toPath()) + } + task.addClass(CPYTHON_ADAPTER_CLASS) + task.run() +} \ No newline at end of file diff --git a/usvm-python/README.md b/usvm-python/README.md index 6ddb842854..dd12454b72 100644 --- a/usvm-python/README.md +++ b/usvm-python/README.md @@ -137,6 +137,8 @@ Then implement the corresponding methods in `org_usvm_interpreter_CPythonAdapter ### Static method that can be called from C code +TODO: this is deprecated. + Implement the method in `CPythonAdapter.java`. Annotate the method with `CPythonAdapterJavaMethod(cName = )`. diff --git a/usvm-python/cpythonadapter/build.gradle.kts b/usvm-python/cpythonadapter/build.gradle.kts index a62c463417..819894a1d0 100644 --- a/usvm-python/cpythonadapter/build.gradle.kts +++ b/usvm-python/cpythonadapter/build.gradle.kts @@ -58,7 +58,7 @@ if (cpythonIsActivated()) { compileTask.compilerArgs.addAll(listOf("/TC")) } - compileTask.dependsOn(":$USVM_PYTHON_MAIN_MODULE:compileJava") + compileTask.dependsOn(":$USVM_PYTHON_MAIN_MODULE:build") if (!compileTask.isOptimized) { compileTask.dependsOn(cpythonBuildDebugTask) } else { diff --git a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h b/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h deleted file mode 100644 index 45a4f202d0..0000000000 --- a/usvm-python/cpythonadapter/src/main/c/include/org_usvm_interpreter_CPythonAdapter.h +++ /dev/null @@ -1,477 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_usvm_interpreter_CPythonAdapter */ - -#ifndef _Included_org_usvm_interpreter_CPythonAdapter -#define _Included_org_usvm_interpreter_CPythonAdapter -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: initializePython - * Signature: (Ljava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializePython - (JNIEnv *, jobject, jstring); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: initializeSpecialApproximations - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_initializeSpecialApproximations - (JNIEnv *, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: finalizePython - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_finalizePython - (JNIEnv *, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: pythonExceptionOccurred - * Signature: ()I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_pythonExceptionOccurred - (JNIEnv *, jclass); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getNewNamespace - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNewNamespace - (JNIEnv *, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: addName - * Signature: (JJLjava/lang/String;)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_addName - (JNIEnv *, jobject, jlong, jlong, jstring); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: concreteRun - * Signature: (JLjava/lang/String;ZZ)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRun - (JNIEnv *, jobject, jlong, jstring, jboolean, jboolean); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: eval - * Signature: (JLjava/lang/String;ZZ)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_eval - (JNIEnv *, jobject, jlong, jstring, jboolean, jboolean); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: concreteRunOnFunctionRef - * Signature: (J[JZ)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concreteRunOnFunctionRef - (JNIEnv *, jobject, jlong, jlongArray, jboolean); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: concolicRun - * Signature: (J[J[J[Lorg/usvm/language/SymbolForCPython;Lorg/usvm/interpreter/ConcolicRunContext;[Lorg/usvm/language/NamedSymbolForCPython;Z)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_concolicRun - (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jobjectArray, jobject, jobjectArray, jboolean); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: printPythonObject - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_printPythonObject - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getIterableElements - * Signature: (J)[J - */ -JNIEXPORT jlongArray JNICALL Java_org_usvm_interpreter_CPythonAdapter_getIterableElements - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getPythonObjectRepr - * Signature: (JZ)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectRepr - (JNIEnv *, jobject, jlong, jboolean); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getPythonObjectStr - * Signature: (J)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectStr - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getAddressOfReprFunction - * Signature: (J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getAddressOfReprFunction - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getPythonObjectTypeName - * Signature: (J)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectTypeName - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getPythonObjectType - * Signature: (J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getPythonObjectType - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getNameOfPythonType - * Signature: (J)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_getNameOfPythonType - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getInstructionFromFrame - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_getInstructionFromFrame - (JNIEnv *, jclass, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getCodeFromFrame - * Signature: (J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_getCodeFromFrame - (JNIEnv *, jclass, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: allocateVirtualObject - * Signature: (Lorg/usvm/language/VirtualPythonObject;)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateVirtualObject - (JNIEnv *, jobject, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: makeList - * Signature: ([J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_makeList - (JNIEnv *, jobject, jlongArray); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: allocateTuple - * Signature: (I)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_allocateTuple - (JNIEnv *, jobject, jint); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: setTupleElement - * Signature: (JIJ)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_setTupleElement - (JNIEnv *, jobject, jlong, jint, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbBool - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbBool - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbInt - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbInt - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbIndex - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbIndex - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbAdd - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbAdd - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbSubtract - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbSubtract - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbMultiply - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMultiply - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbMatrixMultiply - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbMatrixMultiply - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbNegative - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbNegative - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasNbPositive - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasNbPositive - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasSqLength - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasSqLength - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasMpLength - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpLength - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasMpSubscript - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpSubscript - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasMpAssSubscript - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasMpAssSubscript - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpRichcmp - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpRichcmp - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpGetattro - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpGetattro - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpSetattro - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpSetattro - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpIter - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpIter - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpCall - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpCall - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpHash - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpHash - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpDescrGet - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrGet - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasTpDescrSet - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasTpDescrSet - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasStandardNew - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardNew - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: callStandardNew - * Signature: (J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_callStandardNew - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasStandardTpGetattro - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpGetattro - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeHasStandardTpSetattro - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeHasStandardTpSetattro - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: extractException - * Signature: (J)Ljava/lang/Throwable; - */ -JNIEXPORT jthrowable JNICALL Java_org_usvm_interpreter_CPythonAdapter_extractException - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: decref - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_decref - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: incref - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_org_usvm_interpreter_CPythonAdapter_incref - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: checkForIllegalOperation - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_usvm_interpreter_CPythonAdapter_checkForIllegalOperation - (JNIEnv *, jobject); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: typeLookup - * Signature: (JLjava/lang/String;)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_typeLookup - (JNIEnv *, jobject, jlong, jstring); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: getSymbolicDescriptor - * Signature: (J)Lorg/usvm/interpreter/MemberDescriptor; - */ -JNIEXPORT jobject JNICALL Java_org_usvm_interpreter_CPythonAdapter_getSymbolicDescriptor - (JNIEnv *, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructPartiallyAppliedSymbolicMethod - * Signature: (Lorg/usvm/language/SymbolForCPython;J)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedSymbolicMethod - (JNIEnv *, jobject, jobject, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructApproximation - * Signature: (Lorg/usvm/language/SymbolForCPython;JJ)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructApproximation - (JNIEnv *, jobject, jobject, jlong, jlong); - -/* - * Class: org_usvm_interpreter_CPythonAdapter - * Method: constructPartiallyAppliedPythonMethod - * Signature: (Lorg/usvm/language/SymbolForCPython;)J - */ -JNIEXPORT jlong JNICALL Java_org_usvm_interpreter_CPythonAdapter_constructPartiallyAppliedPythonMethod - (JNIEnv *, jobject, jobject); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt index 2cd1e71b10..1f4b81726e 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/PythonTestRunner.kt @@ -64,7 +64,7 @@ sealed class PythonTestRunner( val args = argModels.map { renderer.convert(it) } try { val concreteResult = - ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.asPyObject, args) + ConcretePythonInterpreter.concreteRunOnFunctionRef(pinnedCallable.pyObject, args) check(concreteResult) } catch (exception: CPythonExecutionException) { requireNotNull(exception.pythonExceptionType) diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt index 7ad2d6299e..24cf88da24 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/manual/program/SampleProgram.kt @@ -8,4 +8,4 @@ import org.usvm.machine.types.PythonAnyType val sampleFunction = SampleProgramProvider( "SimpleTypeInference", "use_str_eq", -) { listOf(PythonAnyType) } \ No newline at end of file +) { listOf(PythonAnyType) } diff --git a/usvm-python/usvm-python-main/build.gradle.kts b/usvm-python/usvm-python-main/build.gradle.kts index d8f18ac842..20bd65506a 100644 --- a/usvm-python/usvm-python-main/build.gradle.kts +++ b/usvm-python/usvm-python-main/build.gradle.kts @@ -1,6 +1,7 @@ import usvmpython.USVM_PYTHON_ANNOTATIONS_MODULE import usvmpython.USVM_PYTHON_COMMONS_MODULE import usvmpython.getGeneratedHeadersPath +import usvmpython.tasks.generateJNIForCPythonAdapterTask plugins { id("usvm.kotlin-conventions") @@ -15,6 +16,12 @@ tasks.compileJava { outputs.dirs(headerPath) } +tasks.build { + doLast { + generateJNIForCPythonAdapterTask() + } +} + dependencies { implementation(project(":usvm-core")) implementation(project(mapOf("path" to ":$USVM_PYTHON_ANNOTATIONS_MODULE"))) diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java index e981428655..ef55452ba8 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java @@ -37,14 +37,14 @@ public class ConcolicRunContext { public PyValueRenderer renderer = null; public ConcolicRunContext( - @NotNull PyState curState, - PyContext ctx, - PyModelHolder modelHolder, - PythonTypeSystem typeSystem, - boolean allowPathDiversion, - PythonMachineStatisticsOnFunction statistics, - int maxInstructions, - Callable isCancelled + @NotNull PyState curState, + PyContext ctx, + PyModelHolder modelHolder, + PythonTypeSystem typeSystem, + boolean allowPathDiversion, + PythonMachineStatisticsOnFunction statistics, + int maxInstructions, + Callable isCancelled ) { this.curState = curState; this.ctx = ctx; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt index a4a65b57e7..de2f3aed0d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Callables.kt @@ -5,10 +5,21 @@ import org.usvm.machine.interpreters.concrete.PyNamespace import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.types.PythonType +/** + * Subclasses of [PyCallable] are different ways to represent Python functions. + * */ sealed class PyCallable -data class PyPinnedCallable(val asPyObject: PyObject) : PyCallable() +/** + * [PyPinnedCallable] is a reference to Python object of type `function`. + * This reference changes between restarts of Python interpreter. + * */ +data class PyPinnedCallable(val pyObject: PyObject) : PyCallable() +/** + * [PyUnpinnedCallable] is a description of Python function that stays constant + * between restarts of Python interpreter. + * */ class PyUnpinnedCallable( val signature: List, val module: String?, @@ -16,6 +27,7 @@ class PyUnpinnedCallable( val reference: (PyNamespace) -> PyObject, // returns function object reference ) : PyCallable() { val numberOfArguments: Int = signature.size + companion object { fun constructCallableFromName(signature: List, name: String, module: String? = null) = PyUnpinnedCallable( @@ -33,21 +45,25 @@ class PyUnpinnedCallable( } } +/** + * [TypeMethod] describes type slots. + * [See docs](https://docs.python.org/3/c-api/typeobj.html). + * */ sealed class TypeMethod(val isMethodWithNonVirtualReturn: Boolean) : PyCallable() -object NbBoolMethod : TypeMethod(true) -object NbIntMethod : TypeMethod(true) -object NbAddMethod : TypeMethod(false) -object NbSubtractMethod : TypeMethod(false) -object NbMultiplyMethod : TypeMethod(false) -object NbMatrixMultiplyMethod : TypeMethod(false) -object NbNegativeMethod : TypeMethod(false) -object NbPositiveMethod : TypeMethod(false) -object SqLengthMethod : TypeMethod(true) -object MpSubscriptMethod : TypeMethod(false) -object MpAssSubscriptMethod : TypeMethod(false) +data object NbBoolMethod : TypeMethod(true) +data object NbIntMethod : TypeMethod(true) +data object NbAddMethod : TypeMethod(false) +data object NbSubtractMethod : TypeMethod(false) +data object NbMultiplyMethod : TypeMethod(false) +data object NbMatrixMultiplyMethod : TypeMethod(false) +data object NbNegativeMethod : TypeMethod(false) +data object NbPositiveMethod : TypeMethod(false) +data object SqLengthMethod : TypeMethod(true) +data object MpSubscriptMethod : TypeMethod(false) +data object MpAssSubscriptMethod : TypeMethod(false) data class TpRichcmpMethod(val op: Int) : TypeMethod(false) -object TpGetattro : TypeMethod(false) -object TpSetattro : TypeMethod(false) -object TpIterMethod : TypeMethod(false) -object TpCallMethod : TypeMethod(false) +data object TpGetattro : TypeMethod(false) +data object TpSetattro : TypeMethod(false) +data object TpIterMethod : TypeMethod(false) +data object TpCallMethod : TypeMethod(false) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt index fab37ffdbe..dab03590fc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/language/Program.kt @@ -52,7 +52,8 @@ class StructuredPyProgram(val roots: Set) : PyProgram(roots) { val pinned = PyPinnedCallable(callable.reference(emptyNamespace)) // for lambdas block(pinned) } else { - val namespace = getNamespaceOfModule(callable.module) ?: error("Couldn't get namespace of function module") + val namespace = getNamespaceOfModule(callable.module) + requireNotNull(namespace) { "Couldn't get namespace of function module" } val pinned = PyPinnedCallable(callable.reference(namespace)) block(pinned) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 4d529e29a3..b5a62d5e5d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -113,10 +113,10 @@ class PyMachine( } return program.withPinnedCallable(pythonCallable, typeSystem) { rawPinnedCallable -> typeSystem.restart() - val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.asPyObject)) { + val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.pyObject)) { rawPinnedCallable } else { - val substituted = unfoldGenerator(rawPinnedCallable.asPyObject) + val substituted = unfoldGenerator(rawPinnedCallable.pyObject) PyPinnedCallable(substituted) } val pyObserver = PythonMachineObserver(saver.newStateObserver) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index b6c865e302..b6f3fa3f2b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -85,10 +85,14 @@ class PyState( } override val entrypoint = pythonCallable + override val isExceptional: Boolean = false // TODO + val meta = PythonExecutionStateMeta() + val pyModel: PyModel get() = checkNotNull(models.first() as? PyModel) { "Model PyState must be PyModel" } + fun buildPathAsList(): List> = concolicQueries fun mock(what: MockHeader): MockResult { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index ad2b0f7369..b00e165e01 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -78,7 +78,7 @@ class USVMPythonInterpreter( val result: PyObject? = try { ConcretePythonInterpreter.concolicRun( - pinnedCallable.asPyObject, + pinnedCallable.pyObject, concrete, renderer.getPythonVirtualObjects(), symbols.map { SymbolForCPython(it, 0) }, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt index bb923c5d68..8e18de7ff9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/PyMachineStatistics.kt @@ -97,7 +97,7 @@ class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) private val instructionOffsets: List by lazy { val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPyObject, "f") + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.pyObject, "f") ConcretePythonInterpreter.concreteRun(namespace, "import dis") val raw = ConcretePythonInterpreter.eval( namespace, @@ -119,7 +119,7 @@ class PythonMachineStatisticsOnFunction(private val function: PyPinnedCallable) private val coveredInstructionsNoVirtual = mutableSetOf() private val functionCode: PyObject by lazy { val namespace = ConcretePythonInterpreter.getNewNamespace() - ConcretePythonInterpreter.addObjectToNamespace(namespace, function.asPyObject, "f") + ConcretePythonInterpreter.addObjectToNamespace(namespace, function.pyObject, "f") ConcretePythonInterpreter.eval(namespace, "f.__code__").also { ConcretePythonInterpreter.decref(namespace) } From 129c22b3fb095418ae4a330effd5b087146d3499 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Fri, 5 Jul 2024 17:56:24 +0300 Subject: [PATCH 314/344] Update usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt Co-authored-by: Sergey Pospelov --- .../interpreters/symbolic/USVMPythonInterpreter.kt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index b00e165e01..262e34fc6e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -128,13 +128,10 @@ class USVMPythonInterpreter( concrete: List, renderer: PyValueRenderer, ): List? { - if (logger.isDebugEnabled) { // getting __repr__ might be slow - logger.debug( - "Generated inputs: {}", - concrete.joinToString(", ") { - ReprObjectSerializer.serialize(it) - } - ) + logger.debug { + concrete.joinToString(prefix = "Generated inputs: {", suffix = "}", separator = ", ") { + ReprObjectSerializer.serialize(it) + } } resultsReceiver.inputPythonObjectObserver.onInputObjects(concrete) return if (renderer.getPythonVirtualObjects().isNotEmpty()) { From f345355f9b8a52ee33696c3dee8865fcea91892e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 17:57:16 +0300 Subject: [PATCH 315/344] CE fix --- .../usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 262e34fc6e..b806902b6a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -129,7 +129,7 @@ class USVMPythonInterpreter( renderer: PyValueRenderer, ): List? { logger.debug { - concrete.joinToString(prefix = "Generated inputs: {", suffix = "}", separator = ", ") { + concrete.joinToString(prefix = "Generated inputs: {", postfix = "}", separator = ", ") { ReprObjectSerializer.serialize(it) } } From 80d8f5f2b9d5c4a52c60ed3939b218c4bf1d0684 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 18:51:07 +0300 Subject: [PATCH 316/344] Converted several classes from Java to Kotlin --- .../cpythonadapter/src/main/c/descriptors.c | 3 +- .../src/main/c/include/classnames.h | 5 ++ usvm-python/cpythonadapter/src/main/c/utils.c | 9 +-- .../org/usvm/annotations/DataClasses.kt | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 4 ++ .../usvm/interpreter/ConcolicRunContext.java | 69 ------------------- .../usvm/interpreter/MemberDescriptor.java | 10 --- .../usvm/language/NamedSymbolForCPython.java | 11 --- .../org/usvm/language/SymbolForCPython.java | 30 -------- .../usvm/language/VirtualPythonObject.java | 13 ---- .../org/usvm/machine/ConcolicRunContext.kt | 61 ++++++++++++++++ .../usvm/machine/ConcolicRunContextUtils.kt | 2 - .../main/kotlin/org/usvm/machine/PyState.kt | 2 +- .../concrete/ConcretePythonInterpreter.kt | 8 +-- .../concrete/utils/NamedSymbolForCPython.kt | 9 +++ .../concrete/utils/SymbolForCPython.kt | 21 ++++++ .../concrete/utils/VirtualPythonObject.kt | 16 +++++ .../symbolic/SymbolicClonesOfGlobals.kt | 4 +- .../symbolic/USVMPythonInterpreter.kt | 4 +- .../symbolic/operations/basic/Common.kt | 4 +- .../symbolic/operations/basic/Constants.kt | 2 +- .../symbolic/operations/basic/Control.kt | 5 +- .../symbolic/operations/basic/Dict.kt | 2 +- .../symbolic/operations/basic/Enumerate.kt | 2 +- .../symbolic/operations/basic/Float.kt | 2 +- .../symbolic/operations/basic/List.kt | 2 +- .../symbolic/operations/basic/Long.kt | 2 +- .../operations/basic/MethodNotifications.kt | 2 +- .../symbolic/operations/basic/Range.kt | 2 +- .../symbolic/operations/basic/Set.kt | 2 +- .../symbolic/operations/basic/Slice.kt | 2 +- .../symbolic/operations/basic/Tuple.kt | 2 +- .../symbolic/operations/basic/Virtual.kt | 11 +-- .../descriptors/ApproximationDescriptor.kt | 7 +- .../descriptors/MemberDescriptor.kt | 9 +++ .../descriptors/MethodDescriptor.kt | 7 +- .../descriptors/PythonMethodDescriptor.kt | 7 +- .../symbolic/operations/descriptors/Slice.kt | 11 ++- .../symbolic/operations/nativecalls/Impls.kt | 2 +- .../nativecalls/NativeCallConstraints.kt | 2 +- .../operations/symbolicmethods/Builtins.kt | 4 +- .../operations/symbolicmethods/List.kt | 4 +- .../operations/symbolicmethods/Set.kt | 4 +- .../operations/symbolicmethods/Utils.kt | 4 +- .../operations/tracing/PathTracing.kt | 4 +- .../tracing/SymbolicHandlerEvent.kt | 6 +- .../kotlin/org/usvm/machine/model/Utils.kt | 2 +- .../symbolicobjects/PreallocatedObjects.kt | 2 +- .../SymbolicObjectConstruction.kt | 2 +- .../symbolicobjects/SymbolicPythonObject.kt | 2 +- .../symbolicobjects/memory/ArrayLike.kt | 2 +- .../machine/symbolicobjects/memory/Bool.kt | 2 +- .../machine/symbolicobjects/memory/Dict.kt | 2 +- .../symbolicobjects/memory/Enumerate.kt | 2 +- .../machine/symbolicobjects/memory/Float.kt | 2 +- .../machine/symbolicobjects/memory/Int.kt | 2 +- .../symbolicobjects/memory/ListIterator.kt | 2 +- .../machine/symbolicobjects/memory/Range.kt | 2 +- .../symbolicobjects/memory/RangeIterator.kt | 2 +- .../machine/symbolicobjects/memory/Set.kt | 2 +- .../machine/symbolicobjects/memory/Slice.kt | 2 +- .../symbolicobjects/memory/StandardFields.kt | 2 +- .../symbolicobjects/memory/TupleIterator.kt | 2 +- .../rendering/PyValueRenderer.kt | 2 +- .../usvm/machine/types/ElementConstraints.kt | 2 +- .../org/usvm/machine/utils/UHeapRefUtils.kt | 2 +- 66 files changed, 212 insertions(+), 224 deletions(-) create mode 100644 usvm-python/cpythonadapter/src/main/c/include/classnames.h delete mode 100644 usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java delete mode 100644 usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java delete mode 100644 usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java delete mode 100644 usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java delete mode 100644 usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt diff --git a/usvm-python/cpythonadapter/src/main/c/descriptors.c b/usvm-python/cpythonadapter/src/main/c/descriptors.c index 0d6b3f8ae0..2cc9478e1d 100644 --- a/usvm-python/cpythonadapter/src/main/c/descriptors.c +++ b/usvm-python/cpythonadapter/src/main/c/descriptors.c @@ -1,5 +1,6 @@ #include "descriptors.h" #include "approximation_defs.h" +#include "classnames.h" #include "MethodDescriptors.h" // generated #include "MemberDescriptors.h" // generated @@ -9,7 +10,7 @@ get_symbolic_descriptor(JNIEnv *env, jobject cpython_adapter, PyObject *concrete jclass cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); if (PyFunction_Check(concrete_descriptor)) { - jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "pythonMethodDescriptor", "Lorg/usvm/interpreter/MemberDescriptor;"); + jfieldID field_id = (*env)->GetFieldID(env, cpython_adapter_cls, "pythonMethodDescriptor", member_descriptor_sig); return (*env)->GetObjectField(env, cpython_adapter, field_id); } diff --git a/usvm-python/cpythonadapter/src/main/c/include/classnames.h b/usvm-python/cpythonadapter/src/main/c/include/classnames.h new file mode 100644 index 0000000000..a35c8d116e --- /dev/null +++ b/usvm-python/cpythonadapter/src/main/c/include/classnames.h @@ -0,0 +1,5 @@ +#define symbol_for_cpython_cls "org/usvm/machine/interpreters/concrete/utils/SymbolForCPython" +#define symbol_for_cpython_cls_sig "Lorg/usvm/machine/interpreters/concrete/utils/SymbolForCPython;" +#define virtual_object_cls "org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject" +#define named_symbol_for_cpython_cls "org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython" +#define member_descriptor_sig "Lorg/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor;" diff --git a/usvm-python/cpythonadapter/src/main/c/utils.c b/usvm-python/cpythonadapter/src/main/c/utils.c index 89467518e8..5123539674 100644 --- a/usvm-python/cpythonadapter/src/main/c/utils.c +++ b/usvm-python/cpythonadapter/src/main/c/utils.c @@ -3,6 +3,7 @@ #include "utils.h" #include "virtual_objects.h" #include "approximations.h" +#include "classnames.h" static void java_python_object_dealloc(PyObject *op) { @@ -48,8 +49,8 @@ void construct_concolic_context(JNIEnv *env, jobject context, jobject cpython_ad dist->context = context; dist->cpython_adapter = cpython_adapter; dist->cpython_adapter_cls = (*env)->GetObjectClass(env, cpython_adapter); - dist->symbol_cls = (*env)->FindClass(env, "org/usvm/language/SymbolForCPython"); - dist->virtual_cls = (*env)->FindClass(env, "org/usvm/language/VirtualPythonObject"); + dist->symbol_cls = (*env)->FindClass(env, symbol_for_cpython_cls); + dist->virtual_cls = (*env)->FindClass(env, virtual_object_cls); dist->java_exception = PyErr_NewException("ibmviqhlye.JavaException", 0, 0); dist->cpython_thrown_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "thrownException", "J"); dist->cpython_java_exception_field = (*env)->GetFieldID(env, dist->cpython_adapter_cls, "javaExceptionType", "J"); @@ -216,9 +217,9 @@ construct_global_clones_dict(JNIEnv *env, jobjectArray global_clones) { assert(!PyErr_Occurred()); jsize n = (*env)->GetArrayLength(env, global_clones); PyObject *result = PyDict_New(); - jclass cls = (*env)->FindClass(env, "org/usvm/language/NamedSymbolForCPython"); + jclass cls = (*env)->FindClass(env, named_symbol_for_cpython_cls); jfieldID name_field = (*env)->GetFieldID(env, cls, "name", "Ljava/lang/String;"); - jfieldID symbol_field = (*env)->GetFieldID(env, cls, "symbol", "Lorg/usvm/language/SymbolForCPython;"); + jfieldID symbol_field = (*env)->GetFieldID(env, cls, "symbol", symbol_for_cpython_cls_sig); for (int i = 0; i < n; i++) { jobject named_symbol = (*env)->GetObjectArrayElement(env, global_clones, i); jstring name = (jstring) (*env)->GetObjectField(env, named_symbol, name_field); diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt index df033554f2..23c4a23c51 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt @@ -6,7 +6,7 @@ data class MemberDescriptorInfo( val javaMemberName: String, ) -const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/interpreter/MemberDescriptor;" +const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor;" enum class ObjectConverter(val repr: String) { StandardConverter("object_converter"), diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 14779a23f2..2d1b903c65 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -7,8 +7,12 @@ import org.usvm.annotations.ids.ApproximationId; import org.usvm.annotations.ids.SymbolicMethodId; import org.usvm.language.*; +import org.usvm.machine.ConcolicRunContext; import org.usvm.machine.MockHeader; import org.usvm.machine.interpreters.concrete.PyObject; +import org.usvm.machine.interpreters.concrete.utils.NamedSymbolForCPython; +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython; +import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject; import org.usvm.machine.interpreters.symbolic.operations.descriptors.*; import org.usvm.machine.interpreters.symbolic.operations.tracing.*; import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java deleted file mode 100644 index ef55452ba8..0000000000 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/ConcolicRunContext.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.usvm.interpreter; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.usvm.machine.MockHeader; -import org.usvm.machine.PyContext; -import org.usvm.machine.PyState; -import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException; -import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent; -import org.usvm.machine.model.PyModelHolder; -import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder; -import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer; -import org.usvm.machine.types.PythonTypeSystem; -import org.usvm.machine.utils.PythonMachineStatisticsOnFunction; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.Callable; - - -public class ConcolicRunContext { - @Nullable - public PyState curState; - public PyContext ctx; - public ArrayList forkedStates = new ArrayList<>(); - public List> pathPrefix; - public MockHeader curOperation = null; - public PyModelHolder modelHolder; - public boolean allowPathDiversion; - public PythonTypeSystem typeSystem; - public PythonMachineStatisticsOnFunction statistics; - public int maxInstructions; - public int instructionCounter = 0; - public boolean usesVirtualInputs = false; - public Callable isCancelled; - public PyValueBuilder builder = null; - public PyValueRenderer renderer = null; - - public ConcolicRunContext( - @NotNull PyState curState, - PyContext ctx, - PyModelHolder modelHolder, - PythonTypeSystem typeSystem, - boolean allowPathDiversion, - PythonMachineStatisticsOnFunction statistics, - int maxInstructions, - Callable isCancelled - ) { - this.curState = curState; - this.ctx = ctx; - this.modelHolder = modelHolder; - this.allowPathDiversion = allowPathDiversion; - this.typeSystem = typeSystem; - this.pathPrefix = curState.buildPathAsList(); - this.statistics = statistics; - this.maxInstructions = maxInstructions; - this.isCancelled = isCancelled; - } - - public void pathDiversion() throws PathDiversionException { - if (curState != null) - curState.getMeta().setModelDied(true); - if (allowPathDiversion) { - curState = null; - } else { - throw new PathDiversionException(); - } - } -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java deleted file mode 100644 index 0074372868..0000000000 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/MemberDescriptor.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.usvm.interpreter; - -import org.jetbrains.annotations.Nullable; -import org.usvm.language.SymbolForCPython; -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; - -public abstract class MemberDescriptor { - @Nullable - public abstract SymbolForCPython getMember(ConcolicRunContext ctx, @Nullable UninterpretedSymbolicPythonObject owner); -} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java deleted file mode 100644 index f2acd7d4fd..0000000000 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/NamedSymbolForCPython.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.usvm.language; - -public class NamedSymbolForCPython { - public SymbolForCPython symbol; - public String name; - - public NamedSymbolForCPython(String name, SymbolForCPython symbol) { - this.symbol = symbol; - this.name = name; - } -} diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java deleted file mode 100644 index 76d30b136c..0000000000 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/SymbolForCPython.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.usvm.language; - -import org.jetbrains.annotations.Nullable; -import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject; - -public class SymbolForCPython { - @Nullable public UninterpretedSymbolicPythonObject obj; - public long symbolicTpCall = 0; - public SymbolForCPython(@Nullable UninterpretedSymbolicPythonObject obj, long symbolicTpCall) { - this.obj = obj; - this.symbolicTpCall = symbolicTpCall; - } - - // TODO: consider descriptor? - @Override - public boolean equals(Object other) { - if (!(other instanceof SymbolForCPython)) - return false; - if (obj == null) - return ((SymbolForCPython) other).obj == null && symbolicTpCall == ((SymbolForCPython) other).symbolicTpCall; - return this.obj.equals(((SymbolForCPython) other).obj) && symbolicTpCall == ((SymbolForCPython) other).symbolicTpCall; - } - - @Override - public int hashCode() { - if (obj == null) - return 0; - return obj.hashCode(); - } -} diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java deleted file mode 100644 index afda53393a..0000000000 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/language/VirtualPythonObject.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.usvm.language; - -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject; - -public class VirtualPythonObject { - public int interpretedObjRef; - public VirtualPythonObject(InterpretedInputSymbolicPythonObject interpretedObj) { - this.interpretedObjRef = interpretedObj.getAddress().getAddress(); - } - public VirtualPythonObject(int interpretedObjRef) { - this.interpretedObjRef = interpretedObjRef; - } -} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt new file mode 100644 index 0000000000..58bd218a41 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt @@ -0,0 +1,61 @@ +package org.usvm.machine + +import org.usvm.machine.interpreters.symbolic.operations.tracing.PathDiversionException +import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent +import org.usvm.machine.model.PyModelHolder +import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder +import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer +import org.usvm.machine.types.PythonTypeSystem +import org.usvm.machine.utils.PythonMachineStatisticsOnFunction +import java.util.concurrent.Callable + + +class ConcolicRunContext( + curState: PyState, + ctx: PyContext, + modelHolder: PyModelHolder, + typeSystem: PythonTypeSystem, + allowPathDiversion: Boolean, + statistics: PythonMachineStatisticsOnFunction, + maxInstructions: Int, + isCancelled: Callable +) { + var curState: PyState? + val ctx: PyContext + val forkedStates = mutableListOf() + var pathPrefix: List> + @JvmField + var curOperation: MockHeader? = null + val modelHolder: PyModelHolder + val allowPathDiversion: Boolean + val typeSystem: PythonTypeSystem + val statistics: PythonMachineStatisticsOnFunction + val maxInstructions: Int + var instructionCounter = 0 + var usesVirtualInputs = false + var isCancelled: Callable + var builder: PyValueBuilder? = null + var renderer: PyValueRenderer? = null + + init { + this.curState = curState + this.ctx = ctx + this.modelHolder = modelHolder + this.allowPathDiversion = allowPathDiversion + this.typeSystem = typeSystem + pathPrefix = curState.buildPathAsList() + this.statistics = statistics + this.maxInstructions = maxInstructions + this.isCancelled = isCancelled + } + + @Throws(PathDiversionException::class) + fun pathDiversion() { + if (curState != null) curState!!.meta.modelDied = true + curState = if (allowPathDiversion) { + null + } else { + throw PathDiversionException() + } + } +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt index d488ad097e..aaa64580a9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContextUtils.kt @@ -1,7 +1,5 @@ package org.usvm.machine -import org.usvm.interpreter.ConcolicRunContext - fun ConcolicRunContext.extractCurState(): PyState { val result = curState requireNotNull(result) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index b6f3fa3f2b..cabbafb45b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -15,7 +15,7 @@ import org.usvm.language.PyCallable import org.usvm.language.PyInstruction import org.usvm.language.PyUnpinnedCallable import org.usvm.language.TypeMethod -import org.usvm.language.VirtualPythonObject +import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.PreallocatedObjects diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index f6861fdf5c..b91fffbeb1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -4,14 +4,14 @@ import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.NativeId import org.usvm.annotations.ids.SymbolicMethodId import org.usvm.interpreter.CPythonAdapter -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython -import org.usvm.language.VirtualPythonObject import org.usvm.machine.CPythonExecutionException +import org.usvm.machine.ConcolicRunContext +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython +import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.machine.interpreters.concrete.venv.VenvConfig import org.usvm.machine.interpreters.concrete.venv.activateThisScript import org.usvm.machine.interpreters.symbolic.SymbolicClonesOfGlobals +import org.usvm.machine.interpreters.symbolic.operations.descriptors.MemberDescriptor import org.usvm.machine.utils.withAdditionalPaths import java.io.File diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt new file mode 100644 index 0000000000..d1e84a1aad --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt @@ -0,0 +1,9 @@ +package org.usvm.machine.interpreters.concrete.utils + +@Suppress("unused") +class NamedSymbolForCPython( + @JvmField + var name: String, + @JvmField + var symbol: SymbolForCPython +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt new file mode 100644 index 0000000000..f49e679bdd --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt @@ -0,0 +1,21 @@ +package org.usvm.machine.interpreters.concrete.utils + +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +class SymbolForCPython( + @JvmField + val obj: UninterpretedSymbolicPythonObject?, + @JvmField + val symbolicTpCall: Long +) { + + override fun equals(other: Any?): Boolean { + if (other !is SymbolForCPython) return false + return obj == other.obj && symbolicTpCall == other.symbolicTpCall + } + + override fun hashCode(): Int { + return obj.hashCode() + } +} + diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt new file mode 100644 index 0000000000..53eab5a1d5 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt @@ -0,0 +1,16 @@ +package org.usvm.machine.interpreters.concrete.utils + +import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject + + +class VirtualPythonObject( + @JvmField + val interpretedObjRef: Int +) { + companion object { + fun from(interpretedObj: InterpretedInputSymbolicPythonObject): VirtualPythonObject { + return VirtualPythonObject(interpretedObj.address.address) + } + } +} + diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt index 509c93f8cf..93ab547f37 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/SymbolicClonesOfGlobals.kt @@ -2,9 +2,9 @@ package org.usvm.machine.interpreters.symbolic import org.usvm.annotations.ids.ApproximationId import org.usvm.annotations.ids.SymbolicMethodId -import org.usvm.language.NamedSymbolForCPython -import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.utils.NamedSymbolForCPython +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython object SymbolicClonesOfGlobals { private val clonesMap: MutableMap = mutableMapOf() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index b806902b6a..a34083b6dc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -3,12 +3,11 @@ package org.usvm.machine.interpreters.symbolic import mu.KLogging import org.usvm.StepResult import org.usvm.UInterpreter -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyPinnedCallable -import org.usvm.language.SymbolForCPython import org.usvm.machine.BadModelException import org.usvm.machine.CPythonExecutionException import org.usvm.machine.CancelledExecutionException +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.InstructionLimitExceededException import org.usvm.machine.PyContext import org.usvm.machine.PyExecutionException @@ -17,6 +16,7 @@ import org.usvm.machine.PyState import org.usvm.machine.UnregisteredVirtualOperation import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.model.PyModelHolder import org.usvm.machine.results.PyMachineResultsReceiver import org.usvm.machine.results.serialization.ReprObjectSerializer diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 936183765a..063b21786a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -5,13 +5,13 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.allocateArrayInitialized import org.usvm.api.writeArrayLength -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.interpreters.symbolic.operations.nativecalls.addConstraintsFromNativeId import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index d7b0b2c2c8..3984d9e76d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 6cf06b8af9..84b519783d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -4,8 +4,8 @@ import io.ksmt.sort.KBoolSort import org.usvm.UExpr import org.usvm.WithSolverStateForker.fork import org.usvm.WithSolverStateForker.forkMulti -import org.usvm.interpreter.ConcolicRunContext import org.usvm.machine.BadModelException +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PyState import org.usvm.machine.extractCurState @@ -26,7 +26,8 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { forkResult.negativeState?.models?.first() -> ctx.curState = forkResult.negativeState else -> error("Should not be reachable") } - ctx.builder.state = ctx.extractCurState() + val builder = ctx.builder + if (builder != null) builder.state = ctx.extractCurState() val applyToPyModel = { state: PyState -> state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index 8191154d72..4da240b822 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -1,8 +1,8 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.dictContainsInt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt index a1b684adbd..102e9d8e00 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Enumerate.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index f1b1d21e64..ef331a4e89 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -3,8 +3,8 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.USort -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index 2ca55d2e31..ee0ba75c0e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -6,8 +6,8 @@ import org.usvm.api.allocateArray import org.usvm.api.collection.ListCollectionApi.symbolicListInsert import org.usvm.api.memcpy import org.usvm.api.writeArrayLength -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructListIterator diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index b07125416d..8dc93ef4d3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -5,8 +5,8 @@ import io.ksmt.sort.KRealSort import io.ksmt.sort.KSort import org.usvm.UBoolExpr import org.usvm.UExpr -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructBool import org.usvm.machine.symbolicobjects.constructFloat diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index b228097d73..b63f171b40 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getFieldValue diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt index 3ef85498d6..bfae030264 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.constructRange diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index f79e623a12..eb887b2574 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.basic import org.usvm.UBoolExpr -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.addIntToSet diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt index 740e6db896..f5194f07d4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt @@ -1,6 +1,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructSlice import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index 39d6aa8203..54e80c5554 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -1,8 +1,8 @@ package org.usvm.machine.interpreters.symbolic.operations.basic -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructTupleIterator diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 454b4e7d75..1430b82d0b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -4,14 +4,14 @@ import org.usvm.UAddressSort import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.UMockSymbol -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.NbBoolMethod import org.usvm.language.SqLengthMethod -import org.usvm.language.VirtualPythonObject +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.UnregisteredVirtualOperation import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.machine.model.PyModel import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.model.substituteModel @@ -77,7 +77,8 @@ private fun internalVirtualCallKt( customNewModelsCreation: (UMockSymbol) -> List> = { emptyList() }, ): Pair = with(ctx.ctx) { val owner = ctx.curOperation?.methodOwner - if (ctx.curState == null || ctx.curOperation == null || owner == null) { + val curOperation = ctx.curOperation + if (ctx.curState == null || curOperation == null || owner == null) { throw UnregisteredVirtualOperation() } val ownerIsAlreadyMocked = ctx.extractCurState().mockedObjects.contains(owner) @@ -85,11 +86,11 @@ private fun internalVirtualCallKt( if (clonedState != null) { clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) } - val (symbolic, isNew, mockSymbol) = ctx.extractCurState().mock(ctx.curOperation) + val (symbolic, isNew, mockSymbol) = ctx.extractCurState().mock(curOperation) if (!ownerIsAlreadyMocked && clonedState != null) { addDelayedFork(ctx, owner, clonedState) } - if (ctx.curOperation.method.isMethodWithNonVirtualReturn && isNew) { + if (curOperation.method.isMethodWithNonVirtualReturn && isNew) { val customNewModels = customNewModelsCreation(mockSymbol) val (newModel, constraint) = if (customNewModels.isEmpty()) { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt index 8c83304c7f..80c5002db2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt @@ -1,13 +1,12 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors import org.usvm.annotations.ids.ApproximationId -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -class ApproximationDescriptor(private val id: ApproximationId) : MemberDescriptor() { +class ApproximationDescriptor(private val id: ApproximationId) : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { System.out.flush() return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt new file mode 100644 index 0000000000..5e65ce7b8e --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt @@ -0,0 +1,9 @@ +package org.usvm.machine.interpreters.symbolic.operations.descriptors + +import org.usvm.machine.ConcolicRunContext +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +interface MemberDescriptor { + fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt index e121a9c4c4..aa7ec484fe 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MethodDescriptor.kt @@ -1,13 +1,12 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors import org.usvm.annotations.ids.SymbolicMethodId -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -class MethodDescriptor(private val id: SymbolicMethodId) : MemberDescriptor() { +class MethodDescriptor(private val id: SymbolicMethodId) : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { return ConcretePythonInterpreter.constructPartiallyAppliedSymbolicMethod( owner?.let { SymbolForCPython(it, 0) }, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt index 2ffbcf108f..1a709ad483 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/PythonMethodDescriptor.kt @@ -1,12 +1,11 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject -object PythonMethodDescriptor : MemberDescriptor() { +object PythonMethodDescriptor : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { requireNotNull(owner) { "Python method must always have an owner" } return ConcretePythonInterpreter.constructPartiallyAppliedPythonMethod(SymbolForCPython(owner, 0)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt index 8c5dfad2c4..ba1e1416f2 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/Slice.kt @@ -1,9 +1,8 @@ package org.usvm.machine.interpreters.symbolic.operations.descriptors -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.interpreter.MemberDescriptor -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.SliceUninterpretedField @@ -24,7 +23,7 @@ private fun constructResult(field: SliceUninterpretedField, ctx: ConcolicRunCont ) } -object SliceStartDescriptor : MemberDescriptor() { +object SliceStartDescriptor : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) { return null @@ -34,7 +33,7 @@ object SliceStartDescriptor : MemberDescriptor() { } } -object SliceStopDescriptor : MemberDescriptor() { +object SliceStopDescriptor : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) { return null @@ -44,7 +43,7 @@ object SliceStopDescriptor : MemberDescriptor() { } } -object SliceStepDescriptor : MemberDescriptor() { +object SliceStepDescriptor : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? { if (ctx.curState == null) { return null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt index 0256434f32..9bbe575f6e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt @@ -1,8 +1,8 @@ package org.usvm.machine.interpreters.symbolic.operations.nativecalls import org.usvm.annotations.ids.NativeId -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert import org.usvm.machine.interpreters.symbolic.operations.basic.myFork import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt index 87bcc33af8..37341b7cc0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/NativeCallConstraints.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.nativecalls import org.usvm.annotations.ids.NativeId -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt index 37007b9b82..d8de7d8316 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Builtins.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.interpreters.symbolic.operations.basic.handlerCreateEnumerateKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerFloatCastKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerIntCastKt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt index 64f18e391b..dc3aa26d90 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/List.kt @@ -1,7 +1,7 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListAppendKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListClearKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerListExtendKt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt index cbe216d415..b88a3db292 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Set.kt @@ -1,9 +1,9 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt import org.usvm.machine.interpreters.symbolic.operations.basic.handlerSetAddKt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt index 610fa5ea53..c613b92e6a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/symbolicmethods/Utils.kt @@ -1,9 +1,9 @@ package org.usvm.machine.interpreters.symbolic.operations.symbolicmethods -import org.usvm.interpreter.ConcolicRunContext -import org.usvm.language.SymbolForCPython +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.interpreters.symbolic.operations.basic.handlerLoadConstKt fun generateNone(ctx: ConcolicRunContext): SymbolForCPython = diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index d0628288b9..0193bab1d6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -1,12 +1,12 @@ package org.usvm.machine.interpreters.symbolic.operations.tracing import mu.KLogging -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue -import org.usvm.language.SymbolForCPython import org.usvm.machine.CancelledExecutionException +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.InstructionLimitExceededException import org.usvm.machine.extractCurState +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython import org.usvm.machine.symbolicobjects.memory.getToBoolValue import java.util.concurrent.Callable diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt index 46cafc43cb..57f71b4131 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt @@ -1,8 +1,8 @@ package org.usvm.machine.interpreters.symbolic.operations.tracing import org.usvm.language.PyInstruction -import org.usvm.language.SymbolForCPython import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython sealed class SymbolicHandlerEventParameters @@ -51,9 +51,7 @@ data class SymbolicMethodParameters( if (name != other.name) return false if (self != other.self) return false - if (!args.contentEquals(other.args)) return false - - return true + return args.contentEquals(other.args) } override fun hashCode(): Int { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index dd5554b3c7..152aca20c9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -4,7 +4,7 @@ import mu.KLogging import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.types.ArrayLikeConcretePythonType diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt index f06f179850..7fc0cd5889 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/PreallocatedObjects.kt @@ -1,8 +1,8 @@ package org.usvm.machine.symbolicobjects import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt index b59a3926a8..1f243be702 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicObjectConstruction.kt @@ -7,8 +7,8 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.collection.field.UFieldLValue import org.usvm.constraints.UPathConstraints -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.memory.FloatUninterpretedContent diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index 30e4e15632..fe4801deb8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -9,11 +9,11 @@ import org.usvm.api.readField import org.usvm.api.typeStreamOf import org.usvm.api.writeField import org.usvm.constraints.UTypeConstraints -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isAllocatedConcreteHeapRef import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 4a32172913..7ce94d6f62 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -9,8 +9,8 @@ import org.usvm.api.readArrayIndex import org.usvm.api.readArrayLength import org.usvm.api.typeStreamOf import org.usvm.api.writeArrayIndex -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isStaticHeapRef +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.extractCurState diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt index 35d816f951..bd900692be 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Bool.kt @@ -5,8 +5,8 @@ import io.ksmt.sort.KBoolSort import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.readField -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.BoolContents diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt index 22f05c0062..1a231c84f1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Dict.kt @@ -15,11 +15,11 @@ import org.usvm.collection.map.primitive.UMapEntryLValue import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.DictContents diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt index 79663bcb4e..d77c99031b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Enumerate.kt @@ -4,7 +4,7 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.EnumerateContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt index ec9581f152..7b35006ea1 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Float.kt @@ -9,9 +9,9 @@ import org.usvm.UExpr import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.model.PyModel diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt index 2c4a2fd32d..c6d1b39ddf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Int.kt @@ -4,8 +4,8 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.IntContents diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt index ebaa9a21be..8a94ac3d19 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ListIterator.kt @@ -5,7 +5,7 @@ import org.usvm.UExpr import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.ListIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt index 1cad66b959..4ebebe0b7a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Range.kt @@ -3,7 +3,7 @@ package org.usvm.machine.symbolicobjects.memory import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt index 98f4110c95..a76543562d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/RangeIterator.kt @@ -4,7 +4,7 @@ import io.ksmt.sort.KIntSort import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.RangeContents import org.usvm.machine.symbolicobjects.RangeIteratorContents diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt index e931c8d531..d0ccb19cbb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Set.kt @@ -8,9 +8,9 @@ import org.usvm.api.readField import org.usvm.api.writeField import org.usvm.collection.set.primitive.USetEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isFalse import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt index 9d9819ce82..d1da90e703 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/Slice.kt @@ -6,8 +6,8 @@ import org.usvm.UBoolExpr import org.usvm.UExpr import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt index a3f281be18..3b04ef2d00 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/StandardFields.kt @@ -8,11 +8,11 @@ import org.usvm.api.collection.ObjectMapCollectionApi.symbolicObjectMapPut import org.usvm.api.typeStreamOf import org.usvm.collection.map.ref.URefMapEntryLValue import org.usvm.collection.set.ref.URefSetEntryLValue -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isAllocatedConcreteHeapRef import org.usvm.isStaticHeapRef import org.usvm.isTrue import org.usvm.language.PyCallable +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt index ddbc219a33..df3843773a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/TupleIterator.kt @@ -5,7 +5,7 @@ import org.usvm.UExpr import org.usvm.UHeapRef import org.usvm.api.readField import org.usvm.api.writeField -import org.usvm.interpreter.ConcolicRunContext +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.symbolicobjects.TupleIteratorContents import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt index 46717e1e40..39e91ee2c0 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/rendering/PyValueRenderer.kt @@ -1,9 +1,9 @@ package org.usvm.machine.symbolicobjects.rendering -import org.usvm.language.VirtualPythonObject import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter.emptyNamespace import org.usvm.machine.interpreters.concrete.PyObject +import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.python.model.PyCompositeObject import org.usvm.python.model.PyIdentifier import org.usvm.python.model.PyMockObject diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt index f6c1dd1720..014e518c14 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/ElementConstraints.kt @@ -4,8 +4,8 @@ import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.UNullRef import org.usvm.api.readField -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.TimeOfCreation diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt index 1b41e23803..59852fe1bf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/utils/UHeapRefUtils.kt @@ -7,8 +7,8 @@ import org.usvm.UIteExpr import org.usvm.UNullRef import org.usvm.USymbolicHeapRef import org.usvm.api.typeStreamOf -import org.usvm.interpreter.ConcolicRunContext import org.usvm.isTrue +import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.model.PyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject From 0e8b82b01ca9e24931dbcc9ddda8ba50f5f1b651 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 18:53:54 +0300 Subject: [PATCH 317/344] removed some redundant code --- .../concrete/utils/VirtualPythonObject.kt | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt index 53eab5a1d5..fcf64899a9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt @@ -1,16 +1,6 @@ package org.usvm.machine.interpreters.concrete.utils -import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject - - class VirtualPythonObject( @JvmField val interpretedObjRef: Int -) { - companion object { - fun from(interpretedObj: InterpretedInputSymbolicPythonObject): VirtualPythonObject { - return VirtualPythonObject(interpretedObj.address.address) - } - } -} - +) From cad71c5819ee931a1b1d8d5c7d06cfb4fffcb441 Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:54:50 +0300 Subject: [PATCH 318/344] Update usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt Co-authored-by: Sergey Pospelov --- .../machine/interpreters/concrete/ConcretePythonInterpreter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index b91fffbeb1..a4a208df5a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -104,7 +104,7 @@ object ConcretePythonInterpreter { pythonAdapter.thrownExceptionType = 0L val result = pythonAdapter.concolicRun( functionRef.address, - concreteArgs.map { it.address }.toLongArray(), + LongArray(concreteArgs.size) { concreteArgs[it].address }, virtualArgs.map { it.address }.toLongArray(), Array(symbolicArgs.size) { symbolicArgs[it] }, ctx, From 5b332d2eb47d85e54adf61be6f01bebfdbd951bc Mon Sep 17 00:00:00 2001 From: tochilinak <35286460+tochilinak@users.noreply.github.com> Date: Fri, 5 Jul 2024 18:57:18 +0300 Subject: [PATCH 319/344] Update usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt Co-authored-by: Sergey Pospelov --- .../src/main/kotlin/org/usvm/machine/PyMachine.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index b5a62d5e5d..bf87d4343e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -75,6 +75,7 @@ class PyMachine( if (solverRes !is USatResult) { error("Failed to construct initial model") } + return PyState( ctx, target, From 0f280f4a87d727462a6d5e2ecb0bf56b3b4f5bbc Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 22:05:00 +0300 Subject: [PATCH 320/344] detekt fixes --- .../kotlin/org/usvm/annotations/DataClasses.kt | 3 ++- .../org/usvm/machine/ConcolicRunContext.kt | 18 +++++++++++------- .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../concrete/utils/NamedSymbolForCPython.kt | 4 ++-- .../concrete/utils/SymbolForCPython.kt | 3 +-- .../concrete/utils/VirtualPythonObject.kt | 2 +- .../symbolic/USVMPythonInterpreter.kt | 13 +++++++------ .../symbolic/operations/basic/Control.kt | 3 +-- .../symbolic/operations/basic/Virtual.kt | 18 ++++++++++-------- .../descriptors/ApproximationDescriptor.kt | 1 - .../operations/descriptors/MemberDescriptor.kt | 2 +- 11 files changed, 37 insertions(+), 32 deletions(-) diff --git a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt index 23c4a23c51..d13465e281 100644 --- a/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt +++ b/usvm-python/usvm-python-annotations/src/main/kotlin/org/usvm/annotations/DataClasses.kt @@ -6,7 +6,8 @@ data class MemberDescriptorInfo( val javaMemberName: String, ) -const val MEMBER_DESCRIPTION_QUALNAME = "Lorg/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor;" +const val MEMBER_DESCRIPTION_QUALNAME = + "Lorg/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor;" enum class ObjectConverter(val repr: String) { StandardConverter("object_converter"), diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt index 58bd218a41..d0958ebda4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt @@ -18,14 +18,14 @@ class ConcolicRunContext( allowPathDiversion: Boolean, statistics: PythonMachineStatisticsOnFunction, maxInstructions: Int, - isCancelled: Callable + val builder: PyValueBuilder, + val renderer: PyValueRenderer, + isCancelled: Callable, ) { var curState: PyState? val ctx: PyContext val forkedStates = mutableListOf() var pathPrefix: List> - @JvmField - var curOperation: MockHeader? = null val modelHolder: PyModelHolder val allowPathDiversion: Boolean val typeSystem: PythonTypeSystem @@ -34,8 +34,9 @@ class ConcolicRunContext( var instructionCounter = 0 var usesVirtualInputs = false var isCancelled: Callable - var builder: PyValueBuilder? = null - var renderer: PyValueRenderer? = null + + @JvmField + var curOperation: MockHeader? = null init { this.curState = curState @@ -51,11 +52,14 @@ class ConcolicRunContext( @Throws(PathDiversionException::class) fun pathDiversion() { - if (curState != null) curState!!.meta.modelDied = true + val state = curState + if (state != null) { + state.meta.modelDied = true + } curState = if (allowPathDiversion) { null } else { throw PathDiversionException() } } -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index bf87d4343e..984036422f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -75,7 +75,7 @@ class PyMachine( if (solverRes !is USatResult) { error("Failed to construct initial model") } - + return PyState( ctx, target, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt index d1e84a1aad..8ef610bdbf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/NamedSymbolForCPython.kt @@ -5,5 +5,5 @@ class NamedSymbolForCPython( @JvmField var name: String, @JvmField - var symbol: SymbolForCPython -) \ No newline at end of file + var symbol: SymbolForCPython, +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt index f49e679bdd..37f8232bfc 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/SymbolForCPython.kt @@ -6,7 +6,7 @@ class SymbolForCPython( @JvmField val obj: UninterpretedSymbolicPythonObject?, @JvmField - val symbolicTpCall: Long + val symbolicTpCall: Long, ) { override fun equals(other: Any?): Boolean { @@ -18,4 +18,3 @@ class SymbolForCPython( return obj.hashCode() } } - diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt index fcf64899a9..cfb68e487a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/utils/VirtualPythonObject.kt @@ -2,5 +2,5 @@ package org.usvm.machine.interpreters.concrete.utils class VirtualPythonObject( @JvmField - val interpretedObjRef: Int + val interpretedObjRef: Int, ) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index a34083b6dc..443650221f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -46,15 +46,15 @@ class USVMPythonInterpreter( override fun step(state: PyState): StepResult { val modelHolder = PyModelHolder(state.pyModel) val concolicRunContext = constructConcolicRunContext(state, modelHolder) + val renderer = concolicRunContext.renderer state.meta.objectsWithoutConcreteTypes = null logger.debug("Step on state: {}", state) logger.debug("Source of the state: {}", state.meta.generatedFrom) val symbols = state.inputSymbols val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } - val builder = PyValueBuilder(state, modelHolder) val objectModels = try { - interpreted.map { builder.convert(it) } + interpreted.map { concolicRunContext.builder.convert(it) } } catch (_: LengthOverflowException) { logger.warn("LengthOverflowException occurred") state.meta.modelDied = true @@ -64,9 +64,6 @@ class USVMPythonInterpreter( val inputModel = PyInputModel(objectModels) resultsReceiver.inputModelObserver.onInputModel(inputModel) - val renderer = PyValueRenderer() - concolicRunContext.builder = builder - concolicRunContext.renderer = renderer val concrete = getConcrete(renderer, objectModels) if (concrete == null) { state.meta.modelDied = true @@ -250,6 +247,8 @@ class USVMPythonInterpreter( modelHolder: PyModelHolder, ): ConcolicRunContext { val start = System.currentTimeMillis() + val builder = PyValueBuilder(state, modelHolder) + val renderer = PyValueRenderer() return ConcolicRunContext( state, ctx, @@ -257,7 +256,9 @@ class USVMPythonInterpreter( typeSystem, allowPathDiversion, statistics, - maxInstructions + maxInstructions, + builder, + renderer ) { isCancelled(start) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 84b519783d..24cc4a4da9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -26,8 +26,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { forkResult.negativeState?.models?.first() -> ctx.curState = forkResult.negativeState else -> error("Should not be reachable") } - val builder = ctx.builder - if (builder != null) builder.state = ctx.extractCurState() + ctx.builder.state = ctx.extractCurState() val applyToPyModel = { state: PyState -> state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 1430b82d0b..ee2d56649d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -22,11 +22,12 @@ import org.usvm.machine.symbolicobjects.memory.getBoolContent import org.usvm.machine.symbolicobjects.memory.getIntContent fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { - if (ctx.curState == null || ctx.curOperation == null) { + val curOperation = ctx.curOperation + if (ctx.curState == null || curOperation == null) { throw UnregisteredVirtualOperation() } - val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) - if (ctx.curOperation?.method != NbBoolMethod || interpretedArg.address.address != on.interpretedObjRef) { + val interpretedArg = interpretSymbolicPythonObject(ctx, curOperation.args.first()) + if (curOperation.method != NbBoolMethod || interpretedArg.address.address != on.interpretedObjRef) { throw UnregisteredVirtualOperation() // path diversion } @@ -58,12 +59,13 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { } fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = with(ctx.ctx) { - if (ctx.curState == null || ctx.curOperation == null) { + val curOperation = ctx.curOperation + if (ctx.curState == null || curOperation == null) { throw UnregisteredVirtualOperation() } val typeSystem = ctx.typeSystem - val interpretedArg = interpretSymbolicPythonObject(ctx, ctx.curOperation!!.args.first()) - require(ctx.curOperation?.method == SqLengthMethod && interpretedArg.address.address == on.interpretedObjRef) + val interpretedArg = interpretSymbolicPythonObject(ctx, curOperation.args.first()) + require(curOperation.method == SqLengthMethod && interpretedArg.address.address == on.interpretedObjRef) val (interpretedObj, symbolic) = internalVirtualCallKt(ctx) symbolic.addSupertypeSoft(ctx, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(ctx) @@ -121,8 +123,8 @@ private fun internalVirtualCallKt( fun virtualCallKt(ctx: ConcolicRunContext): PyObject { ctx.curState ?: throw UnregisteredVirtualOperation() val (interpreted, _) = internalVirtualCallKt(ctx) - val objectModel = ctx.builder!!.convert(interpreted) - return ctx.renderer!!.convert(objectModel) + val objectModel = ctx.builder.convert(interpreted) + return ctx.renderer.convert(objectModel) } fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt index 80c5002db2..ac75c5fd61 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/ApproximationDescriptor.kt @@ -8,7 +8,6 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject class ApproximationDescriptor(private val id: ApproximationId) : MemberDescriptor { override fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython { - System.out.flush() return ConcretePythonInterpreter.constructApproximation(owner?.let { SymbolForCPython(it, 0) }, id) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt index 5e65ce7b8e..d5bd465f3f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/descriptors/MemberDescriptor.kt @@ -6,4 +6,4 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject interface MemberDescriptor { fun getMember(ctx: ConcolicRunContext, owner: UninterpretedSymbolicPythonObject?): SymbolForCPython? -} \ No newline at end of file +} From a8b33c6d911e8ea5f0c74f15a7b921c285767279 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 22:15:43 +0300 Subject: [PATCH 321/344] pr fixes --- .../symbolic/operations/basic/Common.kt | 38 +++++++++---------- .../symbolic/operations/basic/Control.kt | 10 ++--- .../symbolic/operations/basic/Dict.kt | 10 ++--- .../symbolic/operations/basic/Float.kt | 4 +- .../symbolic/operations/basic/List.kt | 4 +- .../symbolic/operations/basic/Long.kt | 28 +++++++------- .../operations/basic/MethodNotifications.kt | 30 +++++++-------- .../symbolic/operations/basic/Range.kt | 4 +- .../symbolic/operations/basic/Set.kt | 2 +- .../symbolic/operations/basic/Slice.kt | 4 +- .../symbolic/operations/basic/Tuple.kt | 8 ++-- .../symbolic/operations/basic/Virtual.kt | 9 +++-- .../symbolic/operations/nativecalls/Impls.kt | 8 ++-- .../symbolicobjects/SymbolicPythonObject.kt | 6 +-- .../symbolicobjects/memory/ArrayLike.kt | 8 ++-- 15 files changed, 87 insertions(+), 86 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 063b21786a..9441fa6943 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -61,15 +61,15 @@ fun handlerIsinstanceKt( ) and obj.evalIs( ctx, ConcreteTypeNegation(typeSystem.pythonBool) ) - myFork(ctx, cond) + pyFork(ctx, cond) } else { - myFork(ctx, obj.evalIs(ctx, type)) + pyFork(ctx, obj.evalIs(ctx, type)) } require(interpreted.getConcreteType() == null) constructBool(ctx, falseExpr) } else { if (type == typeSystem.pythonInt) { // this is a common case - myAssert(ctx, obj.evalIs(ctx, typeSystem.pythonBool).not()) // to avoid underapproximation + pyAssert(ctx, obj.evalIs(ctx, typeSystem.pythonBool).not()) // to avoid underapproximation constructBool(ctx, obj.evalIs(ctx, typeSystem.pythonInt)) } else { constructBool(ctx, obj.evalIs(ctx, type)) @@ -162,31 +162,31 @@ fun handlerIsOpKt( val leftType = left.getTypeIfDefined(ctx) val rightType = right.getTypeIfDefined(ctx) if (leftType != null && rightType == null) { - myFork(ctx, right.evalIs(ctx, leftType)) + pyFork(ctx, right.evalIs(ctx, leftType)) } else if (rightType != null && leftType == null) { - myFork(ctx, left.evalIs(ctx, rightType)) + pyFork(ctx, left.evalIs(ctx, rightType)) } if (leftType != rightType) { - myFork(ctx, mkHeapRefEq(left.address, right.address)) + pyFork(ctx, mkHeapRefEq(left.address, right.address)) return } when (leftType) { ctx.typeSystem.pythonBool -> - myFork(ctx, left.getBoolContent(ctx) xor right.getBoolContent(ctx)) + pyFork(ctx, left.getBoolContent(ctx) xor right.getBoolContent(ctx)) ctx.typeSystem.pythonInt -> - myFork(ctx, left.getIntContent(ctx) eq right.getIntContent(ctx)) + pyFork(ctx, left.getIntContent(ctx) eq right.getIntContent(ctx)) ctx.typeSystem.pythonNoneType -> return else -> - myFork(ctx, mkHeapRefEq(left.address, right.address)) + pyFork(ctx, mkHeapRefEq(left.address, right.address)) } } fun handlerNoneCheckKt(ctx: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { - myFork(ctx, on.evalIs(ctx, ctx.typeSystem.pythonNoneType)) + pyFork(ctx, on.evalIs(ctx, ctx.typeSystem.pythonNoneType)) } fun handlerStandardTpGetattroKt( @@ -229,11 +229,11 @@ fun handlerStandardTpGetattroKt( if (defaultValue != null) { return SymbolForCPython(defaultValue, 0) } - myFork(ctx, ctx.ctx.mkAnd(containsFieldCond, additionalCond)) + pyFork(ctx, ctx.ctx.mkAnd(containsFieldCond, additionalCond)) return null } else { - myAssert(ctx, containsFieldCond) - myAssert(ctx, additionalCond) + pyAssert(ctx, containsFieldCond) + pyAssert(ctx, additionalCond) } return SymbolForCPython(result, 0) } @@ -294,14 +294,14 @@ fun resolveSequenceIndex( val indexValue = index.getIntContent(ctx) val indexCond = mkAnd(indexValue lt listSize, mkArithUnaryMinus(listSize) le indexValue) - myFork(ctx, indexCond) + pyFork(ctx, indexCond) if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } val positiveIndex = mkAnd(indexValue lt listSize, mkIntNum(0) le indexValue) - myFork(ctx, positiveIndex) + pyFork(ctx, positiveIndex) return if (ctx.extractCurState().pyModel.eval(positiveIndex).isTrue) { indexValue @@ -332,7 +332,7 @@ fun addHashableTypeConstrains( cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonList).not() cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonDict).not() cond = cond and key.evalIs(ctx, ctx.typeSystem.pythonSet).not() - myAssert(ctx, cond) + pyAssert(ctx, cond) } fun forkOnUnknownHashableType( @@ -345,10 +345,10 @@ fun forkOnUnknownHashableType( val keyIsFloat = key.evalIs(ctx, ctx.typeSystem.pythonFloat) val keyIsNone = key.evalIs(ctx, ctx.typeSystem.pythonNoneType) require(ctx.modelHolder.model.eval(keyIsInt or keyIsBool).isFalse) - myFork(ctx, keyIsInt) - myFork(ctx, keyIsBool) + pyFork(ctx, keyIsInt) + pyFork(ctx, keyIsBool) require(ctx.modelHolder.model.eval(keyIsFloat or keyIsNone).isFalse) - myAssert(ctx, (keyIsFloat or keyIsNone).not()) + pyAssert(ctx, (keyIsFloat or keyIsNone).not()) } fun handlerCallOnKt( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 24cc4a4da9..77e42bb707 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -14,7 +14,7 @@ import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getToBoolValue import org.usvm.machine.utils.getTypeStreamForDelayedFork -fun myFork(ctx: ConcolicRunContext, cond: UExpr) { +fun pyFork(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) { return } @@ -41,7 +41,7 @@ fun myFork(ctx: ConcolicRunContext, cond: UExpr) { } } -fun myAssertOnState(state: PyState, cond: UExpr): PyState? { +fun pyAssertOnState(state: PyState, cond: UExpr): PyState? { val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) @@ -51,12 +51,12 @@ fun myAssertOnState(state: PyState, cond: UExpr): PyState? { return forkResult } -fun myAssert(ctx: ConcolicRunContext, cond: UExpr) { +fun pyAssert(ctx: ConcolicRunContext, cond: UExpr) { if (ctx.curState == null) { return } val oldModel = ctx.extractCurState().pyModel - val forkResult = myAssertOnState(ctx.extractCurState(), cond) + val forkResult = pyAssertOnState(ctx.extractCurState(), cond) if (forkResult == null) { ctx.extractCurState().meta.modelDied = true } @@ -87,5 +87,5 @@ fun handlerForkKt(ctx: ConcolicRunContext, cond: UninterpretedSymbolicPythonObje addDelayedFork(ctx, cond, ctx.extractCurState().clone()) } val expr = cond.getToBoolValue(ctx) ?: return - myFork(ctx, expr) + pyFork(ctx, expr) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt index 4da240b822..a64b0c7352 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Dict.kt @@ -33,7 +33,7 @@ fun handlerDictGetItemKt( typeSystem.pythonInt, typeSystem.pythonBool -> { val intValue = key.getToIntContent(ctx) ?: return null val containsCond = dict.dictContainsInt(ctx, intValue) - myFork(ctx, containsCond) + pyFork(ctx, containsCond) if (ctx.modelHolder.model.eval(containsCond).isTrue) { dict.readDictIntElement(ctx, intValue) } else { @@ -45,7 +45,7 @@ fun handlerDictGetItemKt( forkOnUnknownHashableType(ctx, key) } val containsCond = dict.dictContainsRef(ctx, key) - myFork(ctx, containsCond) + pyFork(ctx, containsCond) if (ctx.modelHolder.model.eval(containsCond).isTrue) { dict.readDictRefElement(ctx, key) } else { @@ -154,7 +154,7 @@ fun handlerDictContainsKt( dict.dictContainsRef(ctx, key) } } - myFork(ctx, result) + pyFork(ctx, result) } fun handlerDictIterKt( @@ -162,7 +162,7 @@ fun handlerDictIterKt( dict: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return - myFork(ctx, dict.dictIsEmpty(ctx)) + pyFork(ctx, dict.dictIsEmpty(ctx)) } fun handlerDictLengthKt( @@ -170,5 +170,5 @@ fun handlerDictLengthKt( dict: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return - myFork(ctx, dict.dictIsEmpty(ctx)) + pyFork(ctx, dict.dictIsEmpty(ctx)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt index ef331a4e89..f70dc83f12 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Float.kt @@ -341,7 +341,7 @@ fun handlerDIVFloatKt( } val left = leftObj.getToFloatContent(ctx) ?: return null val right = rightObj.getToFloatContent(ctx) ?: return null - myFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) + pyFork(ctx, eqFloat(ctx, right, mkUninterpretedFloatWithValue(ctx.ctx, 0.0))) val floatValue = constructMulExpr(ctx, left, constructReverseExpr(ctx, right)) return constructFloat(ctx, floatValue) } @@ -371,7 +371,7 @@ fun castFloatToInt( ): UninterpretedSymbolicPythonObject? { require(float.getTypeIfDefined(ctx) == ctx.typeSystem.pythonFloat) val value = float.getFloatContent(ctx) - myFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) + pyFork(ctx, ctx.ctx.mkOr(value.isNan, value.isInf)) if (ctx.modelHolder.model.eval(value.isNan).isTrue || ctx.modelHolder.model.eval(value.isInf).isTrue) { return null } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt index ee0ba75c0e..6eb3443d96 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/List.kt @@ -191,7 +191,7 @@ fun handlerListIteratorNextKt( val (listAddress, index) = iterator.getListIteratorContent(ctx) val listSize = UninterpretedSymbolicPythonObject(listAddress, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt listSize - myFork(ctx, indexCond) + pyFork(ctx, indexCond) if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } @@ -209,7 +209,7 @@ private fun listPop( with(ctx.ctx) { val listSize = list.readArrayLength(ctx) val sizeCond = listSize gt (ind ?: mkIntNum(0)) - myFork(ctx, sizeCond) + pyFork(ctx, sizeCond) if (ctx.modelHolder.model.eval(sizeCond).isFalse) { return null } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt index 8dc93ef4d3..195b80c439 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt @@ -14,9 +14,9 @@ import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.getToIntContent import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue -private fun extractValue( +private fun extractValue( ctx: ConcolicRunContext, - expr: UExpr, + expr: UExpr, ): UninterpretedSymbolicPythonObject = with(ctx.ctx) { @Suppress("unchecked_cast") when (expr.sort) { @@ -27,8 +27,8 @@ private fun extractValue( } } -private fun createBinaryIntOp( - op: (ConcolicRunContext, UExpr, UExpr) -> UExpr?, +private fun createBinaryIntOp( + op: (ConcolicRunContext, UExpr, UExpr) -> UExpr?, ): ( ConcolicRunContext, UninterpretedSymbolicPythonObject, @@ -40,14 +40,14 @@ private fun createBinaryIntOp( with(ctx.ctx) { val typeSystem = ctx.typeSystem if (left.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + pyFork(ctx, left.evalIs(ctx, typeSystem.pythonInt)) } else { - myAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) + pyAssert(ctx, left.evalIs(ctx, typeSystem.pythonInt)) } if (right.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + pyFork(ctx, right.evalIs(ctx, typeSystem.pythonInt)) } else { - myAssert(ctx, right.evalIs(ctx, typeSystem.pythonInt)) + pyAssert(ctx, right.evalIs(ctx, typeSystem.pythonInt)) } op( ctx, @@ -58,8 +58,8 @@ private fun createBinaryIntOp( } } -private fun createUnaryIntOp( - op: (ConcolicRunContext, UExpr) -> UExpr?, +private fun createUnaryIntOp( + op: (ConcolicRunContext, UExpr) -> UExpr?, ): (ConcolicRunContext, UninterpretedSymbolicPythonObject) -> UninterpretedSymbolicPythonObject? = { ctx, on -> if (ctx.curState == null) { null @@ -67,9 +67,9 @@ private fun createUnaryIntOp( with(ctx.ctx) { val typeSystem = ctx.typeSystem if (on.getTypeIfDefined(ctx) != typeSystem.pythonInt) { - myFork(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + pyFork(ctx, on.evalIs(ctx, typeSystem.pythonInt)) } else { - myAssert(ctx, on.evalIs(ctx, typeSystem.pythonInt)) + pyAssert(ctx, on.evalIs(ctx, typeSystem.pythonInt)) } op( ctx, @@ -149,7 +149,7 @@ fun handlerDIVLongKt( ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { - myFork(ctx, right eq mkIntNum(0)) + pyFork(ctx, right eq mkIntNum(0)) if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) { null } else { @@ -178,7 +178,7 @@ fun handlerTrueDivLongKt( ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { - myFork(ctx, right eq mkIntNum(0)) + pyFork(ctx, right eq mkIntNum(0)) if (ctx.modelHolder.model.eval(right eq mkIntNum(0)).isTrue) { null } else { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt index b63f171b40..0e4704799a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/MethodNotifications.kt @@ -37,7 +37,7 @@ fun nbAddKt( context.ctx ) { context.curState ?: return - myAssert(context, left.evalIsSoft(context, HasNbAdd) or right.evalIsSoft(context, HasNbAdd)) + pyAssert(context, left.evalIsSoft(context, HasNbAdd) or right.evalIsSoft(context, HasNbAdd)) } fun nbSubtractKt( @@ -45,7 +45,7 @@ fun nbSubtractKt( left: UninterpretedSymbolicPythonObject, ) = with(context.ctx) { context.curState ?: return - myAssert(context, left.evalIsSoft(context, HasNbSubtract)) + pyAssert(context, left.evalIsSoft(context, HasNbSubtract)) } fun nbMultiplyKt( @@ -56,29 +56,29 @@ fun nbMultiplyKt( context.ctx ) { context.curState ?: return - myAssert(context, left.evalIsSoft(context, HasNbMultiply) or right.evalIsSoft(context, HasNbMultiply)) + pyAssert(context, left.evalIsSoft(context, HasNbMultiply) or right.evalIsSoft(context, HasNbMultiply)) } fun nbMatrixMultiplyKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, left.evalIsSoft(context, HasNbMatrixMultiply)) + pyAssert(context, left.evalIsSoft(context, HasNbMatrixMultiply)) } fun nbNegativeKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasNbNegative)) + pyAssert(context, on.evalIsSoft(context, HasNbNegative)) } fun nbPositiveKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasNbPositive)) + pyAssert(context, on.evalIsSoft(context, HasNbPositive)) } fun sqLengthKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return val sqLength = on.evalIsSoft(context, HasSqLength) val mpLength = on.evalIsSoft(context, HasMpLength) - myAssert(context, context.ctx.mkOr(sqLength, mpLength)) + pyAssert(context, context.ctx.mkOr(sqLength, mpLength)) } fun mpSubscriptKt( @@ -107,7 +107,7 @@ fun mpAssSubscriptKt( fun tpRichcmpKt(context: ConcolicRunContext, left: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, left.evalIsSoft(context, HasTpRichcmp)) + pyAssert(context, left.evalIsSoft(context, HasTpRichcmp)) } fun tpGetattroKt( @@ -116,8 +116,8 @@ fun tpGetattroKt( name: UninterpretedSymbolicPythonObject, ) { ctx.curState ?: return - myAssert(ctx, on.evalIsSoft(ctx, HasTpGetattro)) - myAssert(ctx, name.evalIsSoft(ctx, ctx.typeSystem.pythonStr)) + pyAssert(ctx, on.evalIsSoft(ctx, HasTpGetattro)) + pyAssert(ctx, name.evalIsSoft(ctx, ctx.typeSystem.pythonStr)) val field = on.getFieldValue(ctx, name) val softConstraint = field.evalIsSoft(ctx, MockType) val ps = ctx.extractCurState().pathConstraints @@ -130,21 +130,21 @@ fun tpSetattroKt( name: UninterpretedSymbolicPythonObject, ) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasTpSetattro)) - myAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) + pyAssert(context, on.evalIsSoft(context, HasTpSetattro)) + pyAssert(context, name.evalIsSoft(context, context.typeSystem.pythonStr)) } fun tpIterKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasTpIter)) + pyAssert(context, on.evalIsSoft(context, HasTpIter)) } fun tpCallKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasTpCall)) + pyAssert(context, on.evalIsSoft(context, HasTpCall)) } fun tpHashKt(context: ConcolicRunContext, on: UninterpretedSymbolicPythonObject) { context.curState ?: return - myAssert(context, on.evalIsSoft(context, HasTpHash)) + pyAssert(context, on.evalIsSoft(context, HasTpHash)) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt index bfae030264..0c73ec6888 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Range.kt @@ -19,7 +19,7 @@ fun handlerCreateRangeKt( if (ctx.curState == null) { return null } - myFork(ctx, ctx.ctx.mkEq(step.getIntContent(ctx), ctx.ctx.mkIntNum(0))) + pyFork(ctx, ctx.ctx.mkEq(step.getIntContent(ctx), ctx.ctx.mkIntNum(0))) return constructRange(ctx, start.getIntContent(ctx), stop.getIntContent(ctx), step.getIntContent(ctx)) } @@ -41,7 +41,7 @@ fun handlerRangeIteratorNextKt( return null } val (index, length) = rangeIterator.getRangeIteratorState(ctx) - myFork(ctx, index lt length) + pyFork(ctx, index lt length) if (ctx.modelHolder.model.eval(index lt length).isTrue) { val value = rangeIterator.getRangeIteratorNext(ctx) return constructInt(ctx, value) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt index eb887b2574..c22a050fbe 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Set.kt @@ -37,7 +37,7 @@ fun handlerSetContainsKt( set.setContainsRef(ctx, elem) } } - myFork(ctx, result) + pyFork(ctx, result) } private fun addItem( diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt index f5194f07d4..ca77931e74 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Slice.kt @@ -18,8 +18,8 @@ private fun getFieldContent( } else { ctx.ctx.mkIntNum(0) } - myFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) - myAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) + pyFork(ctx, value.evalIs(ctx, typeSystem.pythonInt)) + pyAssert(ctx, ctx.ctx.mkOr(value.evalIs(ctx, typeSystem.pythonInt), value.evalIs(ctx, typeSystem.pythonNoneType))) return SliceUninterpretedField(isNone, content) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt index 54e80c5554..ee394699b4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Tuple.kt @@ -42,7 +42,7 @@ fun handlerTupleIteratorNextKt( val (tuple, index) = iterator.getTupleIteratorContent(ctx) val tupleSize = UninterpretedSymbolicPythonObject(tuple, ctx.typeSystem).readArrayLength(ctx) val indexCond = index lt tupleSize - myFork(ctx, indexCond) + pyFork(ctx, indexCond) if (ctx.extractCurState().pyModel.eval(indexCond).isFalse) { return null } @@ -57,15 +57,15 @@ fun handlerUnpackKt(ctx: ConcolicRunContext, iterable: UninterpretedSymbolicPyth } val typeSystem = ctx.typeSystem if (iterable.getTypeIfDefined(ctx) != typeSystem.pythonTuple) { - myFork(ctx, iterable.evalIs(ctx, typeSystem.pythonTuple)) + pyFork(ctx, iterable.evalIs(ctx, typeSystem.pythonTuple)) return } val tupleSize = iterable.readArrayLength(ctx) val sizeCond = tupleSize eq mkIntNum(count) if (ctx.modelHolder.model.eval(sizeCond).isTrue) { - myAssert(ctx, sizeCond) + pyAssert(ctx, sizeCond) } else { - myFork(ctx, sizeCond) + pyFork(ctx, sizeCond) } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index ee2d56649d..a5c5d47de4 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -69,8 +69,8 @@ fun virtualSqLengthKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Int = w val (interpretedObj, symbolic) = internalVirtualCallKt(ctx) symbolic.addSupertypeSoft(ctx, typeSystem.pythonInt) val intValue = interpretedObj.getIntContent(ctx) - myAssert(ctx, intValue ge mkIntNum(0)) - myAssert(ctx, intValue le mkIntNum(Int.MAX_VALUE)) + pyAssert(ctx, intValue ge mkIntNum(0)) + pyAssert(ctx, intValue le mkIntNum(Int.MAX_VALUE)) return intValue.toString().toInt() } @@ -86,7 +86,7 @@ private fun internalVirtualCallKt( val ownerIsAlreadyMocked = ctx.extractCurState().mockedObjects.contains(owner) var clonedState = if (!ownerIsAlreadyMocked) ctx.extractCurState().clone() else null if (clonedState != null) { - clonedState = myAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) + clonedState = pyAssertOnState(clonedState, mkHeapRefEq(owner.address, nullRef).not()) } val (symbolic, isNew, mockSymbol) = ctx.extractCurState().mock(curOperation) if (!ownerIsAlreadyMocked && clonedState != null) { @@ -129,8 +129,9 @@ fun virtualCallKt(ctx: ConcolicRunContext): PyObject { fun virtualCallSymbolKt(ctx: ConcolicRunContext): UninterpretedSymbolicPythonObject { ctx.curState ?: throw UnregisteredVirtualOperation() + val curOperation = ctx.curOperation ?: throw UnregisteredVirtualOperation() val result = internalVirtualCallKt(ctx).second - if (!ctx.curOperation!!.method.isMethodWithNonVirtualReturn) { + if (!curOperation.method.isMethodWithNonVirtualReturn) { val softConstraint = ctx.ctx.mkHeapRefEq(result.address, ctx.ctx.nullRef) val ps = ctx.extractCurState().pathConstraints ps.pythonSoftConstraints = ps.pythonSoftConstraints.add(softConstraint) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt index 9bbe575f6e..aaca6eb430 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/nativecalls/Impls.kt @@ -3,8 +3,8 @@ package org.usvm.machine.interpreters.symbolic.operations.nativecalls import org.usvm.annotations.ids.NativeId import org.usvm.isFalse import org.usvm.machine.ConcolicRunContext -import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert -import org.usvm.machine.interpreters.symbolic.operations.basic.myFork +import org.usvm.machine.interpreters.symbolic.operations.basic.pyAssert +import org.usvm.machine.interpreters.symbolic.operations.basic.pyFork import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject /** @@ -28,10 +28,10 @@ object EvalConstraint : NativeCallConstraint(NativeId.Eval) { args.drop(1).forEach { val isDictCond = it.evalIs(ctx, ctx.typeSystem.pythonDict) if (ctx.modelHolder.model.eval(isDictCond).isFalse) { - myFork(ctx, isDictCond) + pyFork(ctx, isDictCond) it.addSupertype(ctx, ctx.typeSystem.pythonNoneType) } else { - myAssert(ctx, isDictCond) + pyAssert(ctx, isDictCond) } } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt index fe4801deb8..dec6cdec99 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/SymbolicPythonObject.kt @@ -16,7 +16,7 @@ import org.usvm.language.PyCallable import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.extractCurState -import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.interpreters.symbolic.operations.basic.pyAssert import org.usvm.machine.model.PyModelHolder import org.usvm.machine.model.getConcreteType import org.usvm.machine.model.getFirstType @@ -56,7 +56,7 @@ class UninterpretedSymbolicPythonObject( return } requireNotNull(ctx.curState) - myAssert(ctx, evalIs(ctx, type)) + pyAssert(ctx, evalIs(ctx, type)) } fun addSupertypeSoft(ctx: ConcolicRunContext, type: PythonType) { @@ -64,7 +64,7 @@ class UninterpretedSymbolicPythonObject( return } requireNotNull(ctx.curState) - myAssert(ctx, evalIsSoft(ctx, type)) + pyAssert(ctx, evalIsSoft(ctx, type)) } fun evalIs(ctx: ConcolicRunContext, type: PythonType): UBoolExpr { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt index 7ce94d6f62..69d309bc02 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/symbolicobjects/memory/ArrayLike.kt @@ -14,7 +14,7 @@ import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.PyState import org.usvm.machine.extractCurState -import org.usvm.machine.interpreters.symbolic.operations.basic.myAssert +import org.usvm.machine.interpreters.symbolic.operations.basic.pyAssert import org.usvm.machine.symbolicobjects.InterpretedAllocatedOrStaticSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedInputSymbolicPythonObject import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject @@ -29,7 +29,7 @@ fun UninterpretedSymbolicPythonObject.readArrayLength(ctx: ConcolicRunContext): val type = getTypeIfDefined(ctx) require(type != null && type is ArrayLikeConcretePythonType) val result = ctx.extractCurState().memory.readArrayLength(address, ArrayType, ctx.ctx.intSort) - myAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) + pyAssert(ctx, ctx.ctx.mkArithGe(result, ctx.ctx.mkIntNum(0))) return result } @@ -53,7 +53,7 @@ fun UninterpretedSymbolicPythonObject.readArrayElement( val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, elem, ctx)) } - myAssert(ctx, cond) + pyAssert(ctx, cond) return UninterpretedSymbolicPythonObject(elemAddress, typeSystem) } @@ -89,7 +89,7 @@ fun UninterpretedSymbolicPythonObject.writeArrayElement( val cond = type.elementConstraints.fold(ctx.ctx.trueExpr as UBoolExpr) { acc, constraint -> ctx.ctx.mkAnd(acc, constraint.applyUninterpreted(this, value, ctx)) } - myAssert(ctx, cond) + pyAssert(ctx, cond) } ctx.extractCurState().memory.writeArrayIndex( address, From d182bd920f8896183f9d09743ac496c77bca2695 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 5 Jul 2024 22:34:50 +0300 Subject: [PATCH 322/344] several renamings --- buildSrc/src/main/kotlin/Versions.kt | 2 +- .../org/usvm/interpreter/CPythonAdapter.java | 2 +- .../operations/basic/{Long.kt => Int.kt} | 104 +++++++++--------- 3 files changed, 54 insertions(+), 54 deletions(-) rename usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/{Long.kt => Int.kt} (72%) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 718fc9a10c..fce36ee7d6 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -23,6 +23,6 @@ object Versions { const val sarif4k = "0.5.0" - const val pythonTypesAPIHash="139b81d" + const val pythonTypesAPIHash = "139b81d" const val utbotMypyRunner = "0.2.17" } diff --git a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java index 2d1b903c65..83dd4e7e79 100644 --- a/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java +++ b/usvm-python/usvm-python-main/src/main/java/org/usvm/interpreter/CPythonAdapter.java @@ -29,7 +29,7 @@ import static org.usvm.machine.interpreters.symbolic.operations.basic.EnumerateKt.handlerEnumerateNextKt; import static org.usvm.machine.interpreters.symbolic.operations.basic.FloatKt.*; import static org.usvm.machine.interpreters.symbolic.operations.basic.ListKt.*; -import static org.usvm.machine.interpreters.symbolic.operations.basic.LongKt.*; +import static org.usvm.machine.interpreters.symbolic.operations.basic.IntKt.*; import static org.usvm.machine.interpreters.symbolic.operations.basic.MethodNotificationsKt.*; import static org.usvm.machine.interpreters.symbolic.operations.basic.RangeKt.*; import static org.usvm.machine.interpreters.symbolic.operations.basic.SetKt.*; diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt similarity index 72% rename from usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt rename to usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt index 195b80c439..11941e923e 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Long.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt @@ -80,72 +80,72 @@ private fun createUnaryIntOp( } fun handlerGTLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left gt right } }(context, lhs, rhs) fun handlerLTLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left lt right } }(context, lhs, rhs) fun handlerEQLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left eq right } }(context, lhs, rhs) fun handlerNELongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left neq right } }(context, lhs, rhs) fun handlerGELongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left ge right } }(context, lhs, rhs) fun handlerLELongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } }(x, y, z) + createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { left le right } }(context, lhs, rhs) fun handlerADDLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) }(x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithAdd(left, right) }(context, lhs, rhs) fun handlerSUBLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) }(x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithSub(left, right) }(context, lhs, rhs) fun handlerMULLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) }(x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkArithMul(left, right) }(context, lhs, rhs) fun handlerDIVLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { @@ -156,25 +156,25 @@ fun handlerDIVLongKt( mkArithDiv(left, right) } } - }(x, y, z) + }(context, lhs, rhs) -fun handlerNEGLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(x, y) +fun handlerNEGLongKt(context: ConcolicRunContext, x: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(context, x) -fun handlerPOSLongKt(x: ConcolicRunContext, y: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = - createUnaryIntOp { _, on -> on }(x, y) +fun handlerPOSLongKt(context: ConcolicRunContext, x: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = + createUnaryIntOp { _, on -> on }(context, x) fun handlerREMLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = - createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) }(x, y, z) + createBinaryIntOp { ctx, left, right -> ctx.ctx.mkIntMod(left, right) }(context, lhs, rhs) fun handlerTrueDivLongKt( - x: ConcolicRunContext, - y: UninterpretedSymbolicPythonObject, - z: UninterpretedSymbolicPythonObject, + context: ConcolicRunContext, + lhs: UninterpretedSymbolicPythonObject, + rhs: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createBinaryIntOp { ctx, left, right -> with(ctx.ctx) { @@ -185,7 +185,7 @@ fun handlerTrueDivLongKt( mkArithDiv(mkIntToReal(left), mkIntToReal(right)) } } - }(x, y, z) + }(context, lhs, rhs) fun handlerIntCastKt( ctx: ConcolicRunContext, From feb249b851a9e2e9490015c15cc53ab41143ef70 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 8 Jul 2024 16:50:06 +0300 Subject: [PATCH 323/344] fixes in usvm-python-runner --- .../test/kotlin/org/usvm/runner/ManualTest.kt | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt index 0fd0750cfa..4fb294a4a2 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/ManualTest.kt @@ -1,15 +1,25 @@ package org.usvm.runner +import mu.KLogging import org.usvm.python.ps.PyPathSelectorType import java.io.File +/** + * Should be run with task `manualTestOfRunner` after building jar of main usvm-python part. + * */ fun main() { + run() +} + +private val logger = object : KLogging() {}.logger + +fun run(useDebugRunner: Boolean = false) { val start = System.currentTimeMillis() val basePath = System.getProperty("project.root") - val layout = TestingLayout(basePath) // StandardLayout(File(basePath, "build/distributions/usvm-python")) + val layout = TestingLayout(basePath) val mypyDir = File(basePath, "build/samples_build") val root = File(basePath, "src/test/resources/samples") - val venvConfig = null // extractVenvConfig("/home/tochilinak/sample_venv/bin/python") + val venvConfig = null val config = USVMPythonConfig( layout, "java", @@ -26,15 +36,19 @@ fun main() { 20_000, 3_000 ) - /*val debugRunner = DebugRunner(config) - debugRunner.use { - it.runProcessAndPrintInfo(runConfig) - }*/ - val receiver = PrintingResultReceiver() - val runner = PythonSymbolicAnalysisRunnerImpl(config) - runner.use { - it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 20_000 } + if (!useDebugRunner) { + /**/ + val receiver = PrintingResultReceiver() + val runner = PythonSymbolicAnalysisRunnerImpl(config) + runner.use { + it.analyze(runConfig, receiver) { System.currentTimeMillis() - start >= 20_000 } + } + logger.info("Number of executions: ${receiver.cnt}") + } else { + val debugRunner = DebugRunner(config) + debugRunner.use { + it.runProcessAndPrintInfo(runConfig) + } } - println("Time: ${System.currentTimeMillis() - start}") - println("Number of executions: ${receiver.cnt}") + logger.info("Time: ${System.currentTimeMillis() - start}") } From 395fe5626582de35375a9b49695f6fc25f0cd5bf Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 8 Jul 2024 17:15:33 +0300 Subject: [PATCH 324/344] Docs for withTracing --- .../symbolic/operations/tracing/PathTracing.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt index 0193bab1d6..5904dfb0e8 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/PathTracing.kt @@ -13,6 +13,18 @@ import java.util.concurrent.Callable private val logger = object : KLogging() {}.logger class PathDiversionException : RuntimeException() +/** + * This is a very important method. + * + * When we use concolic approach instead of classic symbolic execution, + * we need to repeat the prefix of symbolically executed actions + * at each iteration of function `concolicRun`. + * We just save answers to each query of the concrete interpreter. + * If we detected some unexpected queries, we notify the engine about path diversion. + * + * The method [withTracing] is used to wrap actual symbolic operations. + * It is supposed to be used in [org.usvm.interpreter.CPythonAdapter]. + * */ fun withTracing( context: ConcolicRunContext, newEventParameters: SymbolicHandlerEventParameters, From cdf64f5b7229378c4967bb3fecc886180cf5cb1e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Mon, 8 Jul 2024 17:54:33 +0300 Subject: [PATCH 325/344] spacing in PyMachine --- .../src/main/kotlin/org/usvm/machine/PyMachine.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 984036422f..6b37f41ee6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -112,18 +112,23 @@ class PyMachine( if (pythonCallable.module != null && typeSystem is PythonTypeSystemWithMypyInfo) { typeSystem.resortTypes(pythonCallable.module) } + typeSystem.restart() + return program.withPinnedCallable(pythonCallable, typeSystem) { rawPinnedCallable -> - typeSystem.restart() + val pinnedCallable = if (!unfoldGenerator || !isGenerator(rawPinnedCallable.pyObject)) { rawPinnedCallable } else { val substituted = unfoldGenerator(rawPinnedCallable.pyObject) PyPinnedCallable(substituted) } + val pyObserver = PythonMachineObserver(saver.newStateObserver) val observer = CompositeUMachineObserver(pyObserver) + val startTime = System.currentTimeMillis() val stopTime = timeoutMs?.let { startTime + it } + val interpreter = getInterpreter( pinnedCallable, saver, @@ -133,7 +138,9 @@ class PyMachine( (timeoutPerRunMs?.let { (System.currentTimeMillis() - startIterationTime) >= it } ?: false) || (stopTime != null && System.currentTimeMillis() >= stopTime) } + val pathSelector = getPathSelector(pythonCallable, saver.newStateObserver) + run( interpreter, pathSelector, @@ -144,6 +151,7 @@ class PyMachine( (stopTime != null && System.currentTimeMillis() >= stopTime) } ) + pyObserver.iterations }.also { ConcretePythonInterpreter.restart() From ee0b0b039bd625bbdece10c104294089c8872417 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 11:11:31 +0300 Subject: [PATCH 326/344] detekt fix --- .../interpreters/symbolic/operations/basic/Int.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt index 11941e923e..1d4517b7db 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt @@ -158,10 +158,16 @@ fun handlerDIVLongKt( } }(context, lhs, rhs) -fun handlerNEGLongKt(context: ConcolicRunContext, x: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerNEGLongKt( + context: ConcolicRunContext, + x: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? = createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(context, x) -fun handlerPOSLongKt(context: ConcolicRunContext, x: UninterpretedSymbolicPythonObject): UninterpretedSymbolicPythonObject? = +fun handlerPOSLongKt( + context: ConcolicRunContext, + x: UninterpretedSymbolicPythonObject +): UninterpretedSymbolicPythonObject? = createUnaryIntOp { _, on -> on }(context, x) fun handlerREMLongKt( From 085a6115a45e9332f918c998a7b3dcc1f7ba198d Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 11:19:41 +0300 Subject: [PATCH 327/344] Simplified PyState --- .../org/usvm/machine/ConcolicRunContext.kt | 2 +- .../main/kotlin/org/usvm/machine/Mocking.kt | 40 +++++++++++++ .../main/kotlin/org/usvm/machine/PyMachine.kt | 2 +- .../main/kotlin/org/usvm/machine/PyState.kt | 57 +++---------------- .../symbolic/USVMPythonInterpreter.kt | 22 +++---- .../symbolic/operations/basic/Control.kt | 6 +- .../symbolic/operations/basic/Virtual.kt | 1 + .../usvm/machine/ps/PyVirtualPathSelector.kt | 18 +++--- .../usvm/machine/ps/types/SymbolTypeTree.kt | 1 + 9 files changed, 76 insertions(+), 73 deletions(-) create mode 100644 usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt index d0958ebda4..62bd40fc2a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt @@ -54,7 +54,7 @@ class ConcolicRunContext( fun pathDiversion() { val state = curState if (state != null) { - state.meta.modelDied = true + state.modelDied = true } curState = if (allowPathDiversion) { null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt new file mode 100644 index 0000000000..5222e57b96 --- /dev/null +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt @@ -0,0 +1,40 @@ +package org.usvm.machine + +import org.usvm.UAddressSort +import org.usvm.UMockSymbol +import org.usvm.language.TypeMethod +import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject + +data class MockHeader( + val method: TypeMethod, + val args: List, + var methodOwner: UninterpretedSymbolicPythonObject?, +) + +data class MockResult( + val mockedObject: UninterpretedSymbolicPythonObject, + val isNew: Boolean, + val mockSymbol: UMockSymbol, +) + +fun PyState.mock(what: MockHeader): MockResult { + val cached = mocks[what] + if (cached != null) { + return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) + } + val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) + mocks[what] = result + what.methodOwner?.let { mockedObjects.add(it) } + return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) +} + +fun PyState.getMocksForSymbol( + symbol: UninterpretedSymbolicPythonObject, +): List> = + mocks.mapNotNull { (mockHeader, mockResult) -> + if (mockHeader.methodOwner == symbol) { + mockHeader to UninterpretedSymbolicPythonObject(mockResult, typeSystem) + } else { + null + } + } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 6b37f41ee6..52c2523a30 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -86,7 +86,7 @@ class PyMachine( typeSystem, preAllocatedObjects ).also { - it.meta.generatedFrom = "Initial state" + it.generatedFrom = "Initial state" } } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index cabbafb45b..635ca0178f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -14,7 +14,6 @@ import org.usvm.constraints.UPathConstraints import org.usvm.language.PyCallable import org.usvm.language.PyInstruction import org.usvm.language.PyUnpinnedCallable -import org.usvm.language.TypeMethod import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandlerEvent import org.usvm.machine.model.PyModel @@ -46,7 +45,7 @@ class PyState( forkPoints: PathNode> = PathNode.root(), var concolicQueries: PersistentList> = persistentListOf(), var delayedForks: PersistentList = persistentListOf(), - private val mocks: MutableMap> = mutableMapOf(), + val mocks: MutableMap> = mutableMapOf(), val mockedObjects: MutableSet = mutableSetOf(), var uniqueInstructions: PersistentSet = persistentSetOf(), ) : UState( @@ -88,64 +87,19 @@ class PyState( override val isExceptional: Boolean = false // TODO - val meta = PythonExecutionStateMeta() - val pyModel: PyModel get() = checkNotNull(models.first() as? PyModel) { "Model PyState must be PyModel" } fun buildPathAsList(): List> = concolicQueries - fun mock(what: MockHeader): MockResult { - val cached = mocks[what] - if (cached != null) { - return MockResult(UninterpretedSymbolicPythonObject(cached, typeSystem), false, cached) - } - val result = memory.mocker.call(what.method, what.args.map { it.address }.asSequence(), ctx.addressSort) - mocks[what] = result - what.methodOwner?.let { mockedObjects.add(it) } - return MockResult(UninterpretedSymbolicPythonObject(result, typeSystem), true, result) - } - - fun getMocksForSymbol( - symbol: UninterpretedSymbolicPythonObject, - ): List> = - mocks.mapNotNull { (mockHeader, mockResult) -> - if (mockHeader.methodOwner == symbol) { - mockHeader to UninterpretedSymbolicPythonObject(mockResult, typeSystem) - } else { - null - } - } - fun isTerminated(): Boolean { - return meta.modelDied || meta.wasInterrupted || meta.wasExecuted && meta.objectsWithoutConcreteTypes == null + return modelDied || wasInterrupted || wasExecuted && objectsWithoutConcreteTypes == null } fun isInterestingForPathSelector(): Boolean { return !isTerminated() || delayedForks.isNotEmpty() } -} -class DelayedFork( - val state: PyState, - val symbol: UninterpretedSymbolicPythonObject, - val possibleTypes: UTypeStream, - val delayedForkPrefix: PersistentList, -) - -data class MockHeader( - val method: TypeMethod, - val args: List, - var methodOwner: UninterpretedSymbolicPythonObject?, -) - -data class MockResult( - val mockedObject: UninterpretedSymbolicPythonObject, - val isNew: Boolean, - val mockSymbol: UMockSymbol, -) - -class PythonExecutionStateMeta { var extractedFrom: UPathSelector? = null var wasExecuted: Boolean = false var wasInterrupted: Boolean = false @@ -153,3 +107,10 @@ class PythonExecutionStateMeta { var objectsWithoutConcreteTypes: Collection? = null var generatedFrom: String = "" // for debugging only } + +class DelayedFork( + val state: PyState, + val symbol: UninterpretedSymbolicPythonObject, + val possibleTypes: UTypeStream, + val delayedForkPrefix: PersistentList, +) \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 443650221f..c515cd6bb5 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -47,9 +47,9 @@ class USVMPythonInterpreter( val modelHolder = PyModelHolder(state.pyModel) val concolicRunContext = constructConcolicRunContext(state, modelHolder) val renderer = concolicRunContext.renderer - state.meta.objectsWithoutConcreteTypes = null + state.objectsWithoutConcreteTypes = null logger.debug("Step on state: {}", state) - logger.debug("Source of the state: {}", state.meta.generatedFrom) + logger.debug("Source of the state: {}", state.generatedFrom) val symbols = state.inputSymbols val interpreted = symbols.map { interpretSymbolicPythonObject(concolicRunContext, it) } @@ -57,7 +57,7 @@ class USVMPythonInterpreter( interpreted.map { concolicRunContext.builder.convert(it) } } catch (_: LengthOverflowException) { logger.warn("LengthOverflowException occurred") - state.meta.modelDied = true + state.modelDied = true return StepResult(emptySequence(), false) } @@ -66,7 +66,7 @@ class USVMPythonInterpreter( val concrete = getConcrete(renderer, objectModels) if (concrete == null) { - state.meta.modelDied = true + state.modelDied = true return StepResult(emptySequence(), false) } @@ -109,9 +109,9 @@ class USVMPythonInterpreter( val resultState = concolicRunContext.curState return if (resultState != null) { - resultState.meta.wasExecuted = true + resultState.wasExecuted = true if (resultState.delayedForks.isEmpty() && inputRepr == null) { - resultState.meta.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() + resultState.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() } logger.debug("Finished step on state: {}", concolicRunContext.curState) StepResult(concolicRunContext.forkedStates.asSequence(), !state.isTerminated()) @@ -214,21 +214,21 @@ class USVMPythonInterpreter( concolicRunContext.statistics.addUnregisteredVirtualOperation() // TODO: make this more accurate if (resultState != null && resultState.delayedForks.isEmpty()) { - resultState.meta.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() - resultState.meta.wasExecuted = true + resultState.objectsWithoutConcreteTypes = renderer.getUSVMVirtualObjects() + resultState.wasExecuted = true } else if (resultState != null) { - resultState.meta.modelDied = true + resultState.modelDied = true } } private fun processInstructionLimitExceeded(concolicRunContext: ConcolicRunContext) { logger.debug("Step result: InstructionLimitExceededException") - concolicRunContext.curState?.meta?.wasInterrupted = true + concolicRunContext.curState?.wasInterrupted = true } private fun processCancelledException(concolicRunContext: ConcolicRunContext) { logger.debug("Step result: execution cancelled") - concolicRunContext.curState?.meta?.wasInterrupted = true + concolicRunContext.curState?.wasInterrupted = true } private fun getConcrete(renderer: PyValueRenderer, objectModels: List): List? { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 77e42bb707..1b19fc9039 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -32,8 +32,8 @@ fun pyFork(ctx: ConcolicRunContext, cond: UExpr) { } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) - forkResult.positiveState?.also { it.meta.generatedFrom = "From ordinary fork" } - forkResult.negativeState?.also { it.meta.generatedFrom = "From ordinary fork" } + forkResult.positiveState?.also { it.generatedFrom = "From ordinary fork" } + forkResult.negativeState?.also { it.generatedFrom = "From ordinary fork" } if (forkResult.negativeState != oldCurState) { forkResult.negativeState?.let { ctx.forkedStates.add(it) @@ -58,7 +58,7 @@ fun pyAssert(ctx: ConcolicRunContext, cond: UExpr) { val oldModel = ctx.extractCurState().pyModel val forkResult = pyAssertOnState(ctx.extractCurState(), cond) if (forkResult == null) { - ctx.extractCurState().meta.modelDied = true + ctx.extractCurState().modelDied = true } if (forkResult?.pyModel != oldModel) { throw BadModelException() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index a5c5d47de4..43ae8996ae 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -12,6 +12,7 @@ import org.usvm.machine.UnregisteredVirtualOperation import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject +import org.usvm.machine.mock import org.usvm.machine.model.PyModel import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.model.substituteModel diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index cfe271eae4..6a642cf81b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -56,7 +56,7 @@ class PyVirtualPathSelector { @@ -161,14 +161,14 @@ class PyVirtualPathSelector state.pyModel.forcedConcreteTypes[objAddress] = type } - state.meta.wasExecuted = false - state.meta.extractedFrom = null + state.wasExecuted = false + state.extractedFrom = null return state } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt index ff600ce2f3..346348d948 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/types/SymbolTypeTree.kt @@ -17,6 +17,7 @@ import org.usvm.language.TpIterMethod import org.usvm.language.TpRichcmpMethod import org.usvm.language.TpSetattro import org.usvm.machine.PyState +import org.usvm.machine.getMocksForSymbol import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject From 2925e858005876ebbf7b3abb64f0b258a14fd0b0 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 11:29:24 +0300 Subject: [PATCH 328/344] several simple fixes --- buildSrc/build.gradle.kts | 3 ++- .../src/main/kotlin/org/usvm/machine/Mocking.kt | 2 +- .../src/main/kotlin/org/usvm/machine/PyState.kt | 2 +- .../interpreters/symbolic/operations/basic/Constants.kt | 7 +++++-- .../machine/interpreters/symbolic/operations/basic/Int.kt | 4 ++-- .../src/main/kotlin/org/usvm/machine/types/Types.kt | 4 ---- .../src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt | 4 ++++ 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d9b767c20f..72e8326566 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -4,6 +4,7 @@ plugins { val kotlinVersion = "1.9.20" val detektVersion = "1.23.5" +val gjavahVersion = "0.3.1" repositories { mavenCentral() @@ -15,5 +16,5 @@ repositories { dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detektVersion") - implementation("org.glavo:gjavah:0.3.1") + implementation("org.glavo:gjavah:$gjavahVersion") } \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt index 5222e57b96..b682d031f9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/Mocking.kt @@ -37,4 +37,4 @@ fun PyState.getMocksForSymbol( } else { null } - } \ No newline at end of file + } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt index 635ca0178f..1c4c3e3150 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyState.kt @@ -113,4 +113,4 @@ class DelayedFork( val symbol: UninterpretedSymbolicPythonObject, val possibleTypes: UTypeStream, val delayedForkPrefix: PersistentList, -) \ No newline at end of file +) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt index 3984d9e76d..c233ad9042 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Constants.kt @@ -1,5 +1,6 @@ package org.usvm.machine.interpreters.symbolic.operations.basic +import mu.KLogging import org.usvm.machine.ConcolicRunContext import org.usvm.machine.extractCurState import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter @@ -10,6 +11,8 @@ import org.usvm.machine.symbolicobjects.constructFloat import org.usvm.machine.symbolicobjects.constructInt import org.usvm.machine.symbolicobjects.memory.mkUninterpretedFloatWithValue +private val logger = object : KLogging() {}.logger + fun handlerLoadConstKt(context: ConcolicRunContext, value: PyObject): UninterpretedSymbolicPythonObject? { if (ConcretePythonInterpreter.pythonExceptionOccurred()) { return null @@ -58,9 +61,9 @@ fun handlerLoadConstLongKt(context: ConcolicRunContext, value: PyObject): Uninte val str = runCatching { ConcretePythonInterpreter.getPythonObjectRepr(value) }.onFailure { - System.err.println("Failed to get repr of int at ${value.address}") + logger.error { "Failed to get repr of int at ${value.address}" } val attempt2 = ConcretePythonInterpreter.getPythonObjectRepr(value, printErrorMsg = true) - System.err.println("Attempt 2: $attempt2") + logger.error { "Attempt 2: $attempt2" } }.getOrThrow() return constructInt(context, context.ctx.mkIntNum(str)) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt index 1d4517b7db..0ac54024af 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Int.kt @@ -160,13 +160,13 @@ fun handlerDIVLongKt( fun handlerNEGLongKt( context: ConcolicRunContext, - x: UninterpretedSymbolicPythonObject + x: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createUnaryIntOp { ctx, on -> ctx.ctx.mkArithUnaryMinus(on) }(context, x) fun handlerPOSLongKt( context: ConcolicRunContext, - x: UninterpretedSymbolicPythonObject + x: UninterpretedSymbolicPythonObject, ): UninterpretedSymbolicPythonObject? = createUnaryIntOp { _, on -> on }(context, x) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt index e6f963c512..40ccb35498 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/Types.kt @@ -18,10 +18,6 @@ sealed class InternalSetType : InternalType() object RefSetType : InternalSetType() object IntSetType : InternalSetType() -abstract class VirtualPythonType : PythonType() { - abstract fun accepts(type: PythonType): Boolean -} - sealed class ConcretePythonType( val owner: PythonTypeSystem, val typeName: String, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt index 414bde699d..cf0301a36f 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/types/VirtualTypes.kt @@ -2,6 +2,10 @@ package org.usvm.machine.types import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter +abstract class VirtualPythonType : PythonType() { + abstract fun accepts(type: PythonType): Boolean +} + object PythonAnyType : VirtualPythonType() { override fun accepts(type: PythonType): Boolean = true } From aa47aabcf144c21894466eee4a791a96c7cb95ce Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 13:24:21 +0300 Subject: [PATCH 329/344] more simple pr fixes --- .../src/main/kotlin/org/usvm/UComponents.kt | 2 +- .../org/usvm/machine/ConcolicRunContext.kt | 30 +++++-------------- .../concrete/ConcretePythonInterpreter.kt | 4 +-- .../kotlin/org/usvm/runner/DebugRunner.kt | 8 +++-- .../org/usvm/runner/USVMPythonRunner.kt | 2 +- .../org/usvm/runner/PrintingResultReceiver.kt | 6 +++- 6 files changed, 23 insertions(+), 29 deletions(-) diff --git a/usvm-core/src/main/kotlin/org/usvm/UComponents.kt b/usvm-core/src/main/kotlin/org/usvm/UComponents.kt index ac0a34373b..8dc74a92ba 100644 --- a/usvm-core/src/main/kotlin/org/usvm/UComponents.kt +++ b/usvm-core/src/main/kotlin/org/usvm/UComponents.kt @@ -39,7 +39,7 @@ interface UComponents { fun mkStatesForkProvider(): StateForker = if (useSolverForForks) WithSolverStateForker else NoSolverStateForker - open fun > mkSoftConstraintsProvider( + fun > mkSoftConstraintsProvider( ctx: Context ): USoftConstraintsProvider = USoftConstraintsProvider(ctx) } diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt index 62bd40fc2a..eec870aadb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt @@ -12,42 +12,28 @@ import java.util.concurrent.Callable class ConcolicRunContext( curState: PyState, - ctx: PyContext, - modelHolder: PyModelHolder, - typeSystem: PythonTypeSystem, - allowPathDiversion: Boolean, - statistics: PythonMachineStatisticsOnFunction, - maxInstructions: Int, + val ctx: PyContext, + val modelHolder: PyModelHolder, + val typeSystem: PythonTypeSystem, + private val allowPathDiversion: Boolean, + val statistics: PythonMachineStatisticsOnFunction, + val maxInstructions: Int, val builder: PyValueBuilder, val renderer: PyValueRenderer, - isCancelled: Callable, + val isCancelled: Callable, ) { var curState: PyState? - val ctx: PyContext val forkedStates = mutableListOf() var pathPrefix: List> - val modelHolder: PyModelHolder - val allowPathDiversion: Boolean - val typeSystem: PythonTypeSystem - val statistics: PythonMachineStatisticsOnFunction - val maxInstructions: Int var instructionCounter = 0 - var usesVirtualInputs = false - var isCancelled: Callable + var usesVirtualInputs: Boolean = false @JvmField var curOperation: MockHeader? = null init { this.curState = curState - this.ctx = ctx - this.modelHolder = modelHolder - this.allowPathDiversion = allowPathDiversion - this.typeSystem = typeSystem pathPrefix = curState.buildPathAsList() - this.statistics = statistics - this.maxInstructions = maxInstructions - this.isCancelled = isCancelled } @Throws(PathDiversionException::class) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt index a4a208df5a..06ba3885de 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/concrete/ConcretePythonInterpreter.kt @@ -95,7 +95,7 @@ object ConcretePythonInterpreter { fun concolicRun( functionRef: PyObject, concreteArgs: List, - virtualArgs: Collection, + virtualArgs: List, symbolicArgs: List, ctx: ConcolicRunContext, printErrorMsg: Boolean = false, @@ -105,7 +105,7 @@ object ConcretePythonInterpreter { val result = pythonAdapter.concolicRun( functionRef.address, LongArray(concreteArgs.size) { concreteArgs[it].address }, - virtualArgs.map { it.address }.toLongArray(), + LongArray(virtualArgs.size) { virtualArgs[it].address }, Array(symbolicArgs.size) { symbolicArgs[it] }, ctx, SymbolicClonesOfGlobals.getNamedSymbols(), diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt index cdcea3e528..ffd1cb2427 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/DebugRunner.kt @@ -1,5 +1,9 @@ package org.usvm.runner +import mu.KLogging + +private val logger = object : KLogging() {}.logger + class DebugRunner(config: USVMPythonConfig) : USVMPythonRunner(config) { fun runProcessAndPrintInfo(runConfig: USVMPythonRunConfig) { val builder = setupEnvironment(runConfig) @@ -8,8 +12,8 @@ class DebugRunner(config: USVMPythonConfig) : USVMPythonRunner(config) { val process = builder.start() process.waitFor() when (val status = process.exitValue()) { - 0 -> println("Exit status: 0 (Success)") - else -> println("Exit status: $status (Failure)") + 0 -> logger.info("Exit status: 0 (Success)") + else -> logger.info("Exit status: $status (Failure)") } } } diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt index f8e8df1e66..7161562e1f 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/USVMPythonRunner.kt @@ -69,6 +69,6 @@ open class USVMPythonRunner(private val config: USVMPythonConfig) : AutoCloseabl } companion object { - val logger = object : KLogging() {}.logger + private val logger = object : KLogging() {}.logger } } diff --git a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt index e84b91dc71..69f9dc5eda 100644 --- a/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt +++ b/usvm-python/usvm-python-runner/src/test/kotlin/org/usvm/runner/PrintingResultReceiver.kt @@ -1,9 +1,13 @@ package org.usvm.runner +import mu.KLogging + +private val logger = object : KLogging() {}.logger + class PrintingResultReceiver : USVMPythonAnalysisResultReceiver { var cnt: Int = 0 override fun receivePickledInputValues(pickledTuple: String) { - println(pickledTuple) + logger.info(pickledTuple) cnt += 1 } } From f301d01601d3098681c190922b70a4f837a460ac Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 13:46:50 +0300 Subject: [PATCH 330/344] description for handlerIsinstanceKt + minor --- .../src/main/kotlin/org/usvm/machine/PyComponents.kt | 7 +++++-- .../interpreters/symbolic/operations/basic/Common.kt | 8 ++++++++ usvm-python/usvm-python-runner/build.gradle.kts | 3 ++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index f9d1a26c32..f6447f9d55 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -22,16 +22,18 @@ import org.usvm.solver.USolverBase import org.usvm.solver.USolverResult import org.usvm.solver.UTypeSolver import org.usvm.types.UTypeSystem +import kotlin.time.Duration import kotlin.time.Duration.Companion.milliseconds class PyComponents( private val typeSystem: PythonTypeSystem, + private val solverTimeout: Duration = 500.milliseconds ) : UComponents { override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { val (translator, decoder) = buildTranslatorAndLazyDecoder(ctx) val solver = KZ3Solver(ctx) - return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder) + return PySolver(ctx, solver, UTypeSolver(typeSystem), translator, decoder, solverTimeout) } override fun mkTypeSystem(ctx: UContext): UTypeSystem { @@ -55,13 +57,14 @@ class PySolver( typeSolver: UTypeSolver, translator: UExprTranslator, decoder: UModelDecoder>, + timeout: Duration, ) : USolverBase( ctx, smtSolver, typeSolver, translator, decoder, - 500.milliseconds + timeout, ) { override fun check(query: UPathConstraints): USolverResult> { require(query is PyPathConstraints) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt index 9441fa6943..760c0a4a65 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Common.kt @@ -36,6 +36,14 @@ import org.utpython.types.getPythonAttributeByName import java.util.stream.Stream import kotlin.streams.asSequence +/** + * Corresponds to Python's `isinstance` function. + * Right now, it is a pretty rough approximation of the behavior. + * We do not fully support Python's internal subtyping. + * + * A common case that is here roughly implemented is `int` and `bool`. + * In Python, `bool` is a subclass of `int`. + * */ fun handlerIsinstanceKt( ctx: ConcolicRunContext, obj: UninterpretedSymbolicPythonObject, diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index 26813f2261..d1c4d961de 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -1,6 +1,7 @@ import usvmpython.MANUAL_RUN_GROUP_NAME import usvmpython.MANUAL_TEST_FOR_RUNNER import usvmpython.MANUAL_TEST_FOR_RUNNER_ENTRY +import usvmpython.USVM_PYTHON_COMMONS_MODULE plugins { id("usvm.kotlin-conventions") @@ -8,7 +9,7 @@ plugins { } dependencies { - implementation(project(mapOf("path" to ":usvm-python:usvm-python-commons"))) + implementation(project(mapOf("path" to ":usvm-python:$USVM_PYTHON_COMMONS_MODULE"))) api("io.github.microutils:kotlin-logging:${Versions.klogging}") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } From cb76ed37c5d493beb456130efe3a557cf8abcd01 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 13:49:21 +0300 Subject: [PATCH 331/344] fix --- usvm-python/usvm-python-runner/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usvm-python/usvm-python-runner/build.gradle.kts b/usvm-python/usvm-python-runner/build.gradle.kts index d1c4d961de..b958650c75 100644 --- a/usvm-python/usvm-python-runner/build.gradle.kts +++ b/usvm-python/usvm-python-runner/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } dependencies { - implementation(project(mapOf("path" to ":usvm-python:$USVM_PYTHON_COMMONS_MODULE"))) + implementation(project(mapOf("path" to ":$USVM_PYTHON_COMMONS_MODULE"))) api("io.github.microutils:kotlin-logging:${Versions.klogging}") testImplementation("ch.qos.logback:logback-classic:${Versions.logback}") } From 7abd3c251e0da98e9f088d96aadb50374e06c7d4 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 14:00:38 +0300 Subject: [PATCH 332/344] more simple pr fixes --- .../usvm/runner/UtBotPythonRunnerEntryPoint.kt | 11 +++++++++-- .../test/kotlin/org/usvm/runner/BuildSamples.kt | 5 +++++ .../operations/tracing/SymbolicHandlerEvent.kt | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt index 454863a111..e6ceb12d3d 100644 --- a/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt +++ b/usvm-python/src/main/kotlin/org/usvm/runner/UtBotPythonRunnerEntryPoint.kt @@ -1,10 +1,16 @@ package org.usvm.runner +import mu.KLogging import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.concrete.venv.VenvConfig import org.usvm.python.ps.PyPathSelectorType import java.io.File +/** + * This is supposed to be called only from `usvm-python-runner`. + * Not designed for human usage. + * */ + private const val MYPY_DIR_ARG = 0 private const val SOCKET_PORT_ARG = 1 private const val MODULE_NAME_ARG = 2 @@ -18,6 +24,7 @@ private const val MIN_PREFIX_LENGTH = 9 private const val LIB_ARG = 9 private const val BIN_ARG = 10 +private val logger = object : KLogging() {}.logger fun main(args: Array) { var prefixNumberOfArgs = MIN_PREFIX_LENGTH @@ -40,9 +47,9 @@ fun main(args: Array) { binPath = File(args[BIN_ARG]) ) ConcretePythonInterpreter.setVenv(venvConfig) - System.err.println("VenvConfig: $venvConfig") + logger.info { "VenvConfig: $venvConfig" } } else { - System.err.println("No VenvConfig.") + logger.warn("No VenvConfig.") } val programRoots = args.drop(prefixNumberOfArgs) val runner = PyMachineSocketRunner( diff --git a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt index ccde0ecfbd..76f70578ee 100644 --- a/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt +++ b/usvm-python/src/test/kotlin/org/usvm/runner/BuildSamples.kt @@ -6,6 +6,11 @@ import org.utpython.types.mypy.MypyBuildDirectory import org.utpython.types.mypy.buildMypyInfo import java.io.File +/** + * This is supposed to be called only from Gradle task `buildSamples`. + * Not designed for human usage. + * */ + fun main(args: Array) { val inputPath = args[0] val requiredPath = args[1] diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt index 57f71b4131..e984327404 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/tracing/SymbolicHandlerEvent.kt @@ -7,37 +7,52 @@ import org.usvm.machine.interpreters.concrete.utils.SymbolForCPython sealed class SymbolicHandlerEventParameters data class LoadConstParameters(val constToLoad: Any) : SymbolicHandlerEventParameters() + data class NextInstruction( val pyInstruction: PyInstruction, ) : SymbolicHandlerEventParameters() + data class PythonFunctionCall(val code: PyObject) : SymbolicHandlerEventParameters() + data class PythonReturn(val code: PyObject) : SymbolicHandlerEventParameters() + data class Fork(val condition: SymbolForCPython) : SymbolicHandlerEventParameters() + data class ForkResult( val condition: SymbolForCPython, val expectedResult: Boolean, ) : SymbolicHandlerEventParameters() + data class Unpack(val iterable: SymbolForCPython, val count: Int) : SymbolicHandlerEventParameters() + data class ListCreation(val elements: List) : SymbolicHandlerEventParameters() + data class DictCreation( val keys: List, val elements: List, ) : SymbolicHandlerEventParameters() + data class DictCreationConstKey( val keys: SymbolForCPython, val elements: List, ) : SymbolicHandlerEventParameters() + data class TupleCreation(val elements: List) : SymbolicHandlerEventParameters() + data class SetCreation(val elements: List) : SymbolicHandlerEventParameters() + data class IsinstanceCheck( val on: SymbolForCPython, val type: PyObject, ) : SymbolicHandlerEventParameters() + data class EmptyObjectCreation(val type: PyObject) : SymbolicHandlerEventParameters() + data class MethodParameters( val name: String, val operands: List, ) : SymbolicHandlerEventParameters() + data class SymbolicMethodParameters( val name: String, val self: SymbolForCPython?, From 675d594dce825803f9b3d23708f7945884535dcf Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 14:35:52 +0300 Subject: [PATCH 333/344] pr fixes --- .../kotlin/org/usvm/machine/PyComponents.kt | 2 +- .../runner/PythonSymbolicAnalysisRunner.kt | 34 +++++++++---------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt index f6447f9d55..a1e026174d 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyComponents.kt @@ -27,7 +27,7 @@ import kotlin.time.Duration.Companion.milliseconds class PyComponents( private val typeSystem: PythonTypeSystem, - private val solverTimeout: Duration = 500.milliseconds + private val solverTimeout: Duration = 500.milliseconds, ) : UComponents { override val useSolverForForks: Boolean = true override fun > mkSolver(ctx: Context): USolverBase { diff --git a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt index 4a433c3856..e3c32a53c6 100644 --- a/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt +++ b/usvm-python/usvm-python-runner/src/main/kotlin/org/usvm/runner/PythonSymbolicAnalysisRunner.kt @@ -6,6 +6,7 @@ import java.nio.channels.Channels import java.nio.channels.ClosedChannelException import java.nio.channels.ServerSocketChannel import java.nio.channels.SocketChannel +import kotlin.concurrent.thread interface PythonSymbolicAnalysisRunner : AutoCloseable { fun analyze(runConfig: USVMPythonRunConfig, receiver: USVMPythonAnalysisResultReceiver, isCancelled: () -> Boolean) @@ -25,16 +26,29 @@ class PythonSymbolicAnalysisRunnerImpl( val newIsCancelled = { isCancelled() || System.currentTimeMillis() - start >= runConfig.timeoutMs } + val readingThread = ReadingThread(serverSocketChannel, receiver, newIsCancelled) - val waitingThread = WaitingThread(process, readingThread, newIsCancelled) + try { readingThread.start() - waitingThread.start() + + val waitingThread = thread { + while (readingThread.isAlive && process.isAlive && !isCancelled()) { + Thread.sleep(SLEEP_TIME_IN_MILLISECONDS) + } + while (readingThread.isAlive) { + readingThread.interrupt() + Thread.sleep(SLEEP_TIME_IN_MILLISECONDS) + } + } + readingThread.join() waitingThread.join() if (!process.isAlive && process.exitValue() != 0) { logger.warn("usvm-python process ended with non-null value") } + + } finally { process.destroyForcibly() readingThread.client?.close() @@ -69,22 +83,6 @@ class PythonSymbolicAnalysisRunnerImpl( } } - class WaitingThread( - private val process: Process, - private val readingThread: Thread, - private val isCancelled: () -> Boolean, - ) : Thread() { - override fun run() { - while (readingThread.isAlive && process.isAlive && !isCancelled()) { - sleep(SLEEP_TIME_IN_MILLISECONDS) - } - while (readingThread.isAlive) { - readingThread.interrupt() - sleep(SLEEP_TIME_IN_MILLISECONDS) - } - } - } - override fun close() { serverSocketChannel.close() } From e67a2383c6e56378c874eb736e1c41f673307b34 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Tue, 9 Jul 2024 15:32:05 +0300 Subject: [PATCH 334/344] trickier pr fixes --- .../main/kotlin/org/usvm/machine/PyMachine.kt | 3 +- .../symbolic/operations/basic/Control.kt | 9 ++++- .../symbolic/operations/basic/Virtual.kt | 13 +++---- .../kotlin/org/usvm/machine/model/PyModel.kt | 14 +++++-- .../usvm/machine/model/PythonMockEvaluator.kt | 38 ++++++++++++------- .../kotlin/org/usvm/machine/model/Utils.kt | 5 +-- .../usvm/machine/ps/PyVirtualPathSelector.kt | 5 ++- 7 files changed, 57 insertions(+), 30 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index 52c2523a30..ad868b6f6c 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -8,6 +8,7 @@ import org.usvm.language.PyProgram import org.usvm.language.PyUnpinnedCallable import org.usvm.machine.interpreters.concrete.ConcretePythonInterpreter import org.usvm.machine.interpreters.symbolic.USVMPythonInterpreter +import org.usvm.machine.model.GenerateNewFromPathConstraints import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.createPyPathSelector import org.usvm.machine.results.PyMachineResultsReceiver @@ -82,7 +83,7 @@ class PyMachine( symbols, pathConstraints, memory, - solverRes.model.toPyModel(ctx, pathConstraints), + solverRes.model.toPyModel(ctx, GenerateNewFromPathConstraints(pathConstraints)), typeSystem, preAllocatedObjects ).also { diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt index 1b19fc9039..9cb7e8a837 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Control.kt @@ -9,6 +9,7 @@ import org.usvm.machine.ConcolicRunContext import org.usvm.machine.DelayedFork import org.usvm.machine.PyState import org.usvm.machine.extractCurState +import org.usvm.machine.model.GenerateNewFromPathConstraints import org.usvm.machine.model.toPyModel import org.usvm.machine.symbolicobjects.UninterpretedSymbolicPythonObject import org.usvm.machine.symbolicobjects.memory.getToBoolValue @@ -28,7 +29,9 @@ fun pyFork(ctx: ConcolicRunContext, cond: UExpr) { } ctx.builder.state = ctx.extractCurState() val applyToPyModel = { state: PyState -> - state.models = listOf(state.models.first().toPyModel(ctx.ctx, state.pathConstraints)) + state.models = listOf( + state.models.first().toPyModel(ctx.ctx, GenerateNewFromPathConstraints(state.pathConstraints)) + ) } forkResult.positiveState?.let(applyToPyModel) forkResult.negativeState?.let(applyToPyModel) @@ -45,7 +48,9 @@ fun pyAssertOnState(state: PyState, cond: UExpr): PyState? { val forkResult = forkMulti(state, listOf(cond)).single() if (forkResult != null) { require(forkResult == state) - forkResult.models = listOf(forkResult.models.first().toPyModel(state.ctx, state.pathConstraints)) + forkResult.models = listOf( + forkResult.models.first().toPyModel(state.ctx, GenerateNewFromPathConstraints(state.pathConstraints)) + ) } return forkResult diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt index 43ae8996ae..7ba6b7a4b9 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/operations/basic/Virtual.kt @@ -14,6 +14,7 @@ import org.usvm.machine.interpreters.concrete.PyObject import org.usvm.machine.interpreters.concrete.utils.VirtualPythonObject import org.usvm.machine.mock import org.usvm.machine.model.PyModel +import org.usvm.machine.model.UseOldPathConstraintsInfo import org.usvm.machine.model.constructModelWithNewMockEvaluator import org.usvm.machine.model.substituteModel import org.usvm.machine.symbolicobjects.InterpretedSymbolicPythonObject @@ -41,17 +42,15 @@ fun virtualNbBoolKt(ctx: ConcolicRunContext, on: VirtualPythonObject): Boolean { ctx.ctx, oldModel, mockSymbol, - ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) + UseOldPathConstraintsInfo(oldModel.psInfo), trueObject as UConcreteHeapRef, - useOldPossibleRefs = true ), constructModelWithNewMockEvaluator( ctx.ctx, oldModel, mockSymbol, - ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) + UseOldPathConstraintsInfo(oldModel.psInfo), falseObject as UConcreteHeapRef, - useOldPossibleRefs = true ) ) } @@ -97,12 +96,12 @@ private fun internalVirtualCallKt( val customNewModels = customNewModelsCreation(mockSymbol) val (newModel, constraint) = if (customNewModels.isEmpty()) { + val oldModel = ctx.modelHolder.model constructModelWithNewMockEvaluator( ctx.ctx, - ctx.modelHolder.model, + oldModel, mockSymbol, - ctx.extractCurState().pathConstraints, // one constraint will be missing (TODO: is it ok?) - useOldPossibleRefs = true + UseOldPathConstraintsInfo(oldModel.psInfo), ) } else { customNewModels.first() diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index 84f7177667..ed9f2527cb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -38,8 +38,7 @@ import org.usvm.model.UModelBase class PyModel( private val ctx: PyContext, private val underlyingModel: UModelBase, - ps: UPathConstraints, - suggestedPsInfo: PathConstraintsInfo? = null, + info: GivenPathConstraintsInfo, ) : UModelBase( ctx, underlyingModel.stack, @@ -49,7 +48,10 @@ class PyModel( underlyingModel.nullRef ) { val forcedConcreteTypes: MutableMap = mutableMapOf() - val psInfo = suggestedPsInfo ?: getPathConstraintsInfo(ctx, ps, underlyingModel) + val psInfo = when (info) { + is GenerateNewFromPathConstraints -> getPathConstraintsInfo(ctx, info.ps, underlyingModel) + is UseOldPathConstraintsInfo -> info.oldInfo + } val possibleRefKeys: Set get() = psInfo.setRefKeys @@ -128,3 +130,9 @@ class PyModel( return underlyingModel.hashCode() } } + +sealed interface GivenPathConstraintsInfo + +class GenerateNewFromPathConstraints(val ps: UPathConstraints) : GivenPathConstraintsInfo + +class UseOldPathConstraintsInfo(val oldInfo: PathConstraintsInfo) : GivenPathConstraintsInfo diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 3f5112f9c5..251d84ecc3 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -4,6 +4,7 @@ import org.usvm.UAddressSort import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef import org.usvm.UExpr +import org.usvm.UHeapRef import org.usvm.UMockEvaluator import org.usvm.UMockSymbol import org.usvm.USort @@ -13,18 +14,35 @@ import org.usvm.machine.types.PythonType import org.usvm.model.UModelBase class PythonMockEvaluator( - ctx: PyContext, - private val baseMockEvaluator: UMockEvaluator, + private val ctx: PyContext, + private var baseMockEvaluator: UMockEvaluator, val mockSymbol: UMockSymbol, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, ) : UMockEvaluator { val evaluatedMockSymbol = suggestedEvaluatedMockSymbol ?: ctx.provideRawConcreteHeapRef() + private val mockTable = mutableMapOf, UHeapRef>() + + init { + val givenEvaluator = baseMockEvaluator + if (givenEvaluator is PythonMockEvaluator) { + baseMockEvaluator = givenEvaluator.baseMockEvaluator + givenEvaluator.mockTable.forEach { (m, res) -> mockTable[m] = res } + } + mockTable[mockSymbol] = evaluatedMockSymbol + } + override fun eval(symbol: UMockSymbol): UExpr { + requireNotNull(symbol.sort == ctx.addressSort) + val evaluatedValue = baseMockEvaluator.eval(symbol) - if (symbol == mockSymbol && evaluatedValue is UConcreteHeapRef && evaluatedValue.address == 0) { + val valueFromTable = + @Suppress("unchecked_cast") + mockTable[symbol as UMockSymbol] + + if (valueFromTable != null && evaluatedValue is UConcreteHeapRef && evaluatedValue.address == 0) { @Suppress("unchecked_cast") - return evaluatedMockSymbol as UExpr + return valueFromTable as UExpr } return evaluatedValue @@ -35,16 +53,10 @@ fun constructModelWithNewMockEvaluator( ctx: PyContext, oldModel: PyModel, mockSymbol: UMockSymbol, - ps: UPathConstraints, + info: GivenPathConstraintsInfo, suggestedEvaluatedMockSymbol: UConcreteHeapRef? = null, - useOldPossibleRefs: Boolean = false, ): Pair { val newMockEvaluator = PythonMockEvaluator(ctx, oldModel.mocker, mockSymbol, suggestedEvaluatedMockSymbol) - val suggestedPsInfo = if (useOldPossibleRefs) { - oldModel.psInfo - } else { - null - } val newModel = UModelBase( ctx, oldModel.stack, @@ -52,7 +64,7 @@ fun constructModelWithNewMockEvaluator( newMockEvaluator, oldModel.regions, oldModel.nullRef - ).toPyModel(ctx, ps, suggestedPsInfo) + ).toPyModel(ctx, info) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return newModel to constraint -} +} \ No newline at end of file diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index 152aca20c9..da863e61cf 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -16,13 +16,12 @@ import org.usvm.types.TypesResult fun UModelBase.toPyModel( ctx: PyContext, - ps: UPathConstraints, - suggestedPsInfo: PathConstraintsInfo? = null, + info: GivenPathConstraintsInfo, ): PyModel { if (this is PyModel) { return this } - return PyModel(ctx, this, ps, suggestedPsInfo) + return PyModel(ctx, this, info) } class PyModelHolder(var model: PyModel) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt index 6a642cf81b..9cf7a5bcb6 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ps/PyVirtualPathSelector.kt @@ -7,6 +7,7 @@ import org.usvm.api.typeStreamOf import org.usvm.machine.DelayedFork import org.usvm.machine.PyContext import org.usvm.machine.PyState +import org.usvm.machine.model.GenerateNewFromPathConstraints import org.usvm.machine.model.toPyModel import org.usvm.machine.ps.strategies.DelayedForkGraph import org.usvm.machine.ps.strategies.DelayedForkGraphCreation @@ -158,7 +159,9 @@ class PyVirtualPathSelector Date: Tue, 9 Jul 2024 15:49:37 +0300 Subject: [PATCH 335/344] detekt fixes --- .../main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt | 4 +--- .../src/main/kotlin/org/usvm/machine/model/Utils.kt | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt index 251d84ecc3..2252d99f57 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PythonMockEvaluator.kt @@ -8,9 +8,7 @@ import org.usvm.UHeapRef import org.usvm.UMockEvaluator import org.usvm.UMockSymbol import org.usvm.USort -import org.usvm.constraints.UPathConstraints import org.usvm.machine.PyContext -import org.usvm.machine.types.PythonType import org.usvm.model.UModelBase class PythonMockEvaluator( @@ -67,4 +65,4 @@ fun constructModelWithNewMockEvaluator( ).toPyModel(ctx, info) val constraint = ctx.mkHeapRefEq(newMockEvaluator.mockSymbol, newMockEvaluator.evaluatedMockSymbol) return newModel to constraint -} \ No newline at end of file +} diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt index da863e61cf..0c4b59c745 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/Utils.kt @@ -3,7 +3,6 @@ package org.usvm.machine.model import mu.KLogging import org.usvm.UBoolExpr import org.usvm.UConcreteHeapRef -import org.usvm.constraints.UPathConstraints import org.usvm.machine.ConcolicRunContext import org.usvm.machine.PyContext import org.usvm.machine.PyState From 96d1d7ed9e3d319b4c8c318ffbb2db5d197ab98e Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 11 Jul 2024 14:22:46 +0300 Subject: [PATCH 336/344] Separate action for python package --- .github/workflows/gradle-publish.yml | 20 ++------- .github/workflows/python-runner-publish.yml | 45 +++++++++++++++++++++ 2 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/python-runner-publish.yml diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index cdeab5d6ac..113b435c7d 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -26,24 +26,10 @@ jobs: server-id: github # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file - - name: Get short commit hash - id: commithash - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Build with Gradle - uses: gradle/gradle-build-action@v2 - with: - arguments: :usvm-python:usvm-python-runner:build :usvm-python:usvm-python-common:build -Pversion=${{ steps.commithash.outputs.sha_short }} - env: - GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # The USERNAME and TOKEN need to correspond to the credentials environment variables used in - # the publishing section of your build.gradle - - name: Publish usvm-python-runner to GitHub Packages + - name: Publish to GitHub Packages uses: gradle/gradle-build-action@v2 with: - arguments: :usvm-python:usvm-python-runner:publishAllPublicationsToGitHubPackagesRepository :usvm-python:usvm-python-common:publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ steps.commithash.outputs.sha_short }} + arguments: publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ inputs.version }} env: GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/python-runner-publish.yml b/.github/workflows/python-runner-publish.yml new file mode 100644 index 0000000000..6d83f088d8 --- /dev/null +++ b/.github/workflows/python-runner-publish.yml @@ -0,0 +1,45 @@ +name: Publish Package `usvm-python-runner` + +on: + workflow_dispatch: + inputs: + version: + description: Release version + type: string + required: true + +jobs: + build: + + runs-on: [self-hosted, usvm] + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'corretto' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: :usvm-python:usvm-python-runner:build :usvm-python:usvm-python-common:build -Pversion=${{ steps.commithash.outputs.sha_short }} + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle + - name: Publish usvm-python-runner to GitHub Packages + uses: gradle/gradle-build-action@v2 + with: + arguments: :usvm-python:usvm-python-runner:publishAllPublicationsToGitHubPackagesRepository :usvm-python:usvm-python-common:publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ inputs.version }} + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From dcb5203e2accbec3ae9a2b3fd6a2dff4cb8999d6 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 11 Jul 2024 14:24:29 +0300 Subject: [PATCH 337/344] removed duplicated lines --- settings.gradle.kts | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 1836f10294..fc8382e329 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,6 +17,8 @@ include("usvm-python:usvm-python-main") findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" include("usvm-python:usvm-python-runner") findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" +include("usvm-python:usvm-python-commons") +findProject(":usvm-python:usvm-python-commons")?.name = "usvm-python-commons" pluginManagement { resolutionStrategy { @@ -26,16 +28,4 @@ pluginManagement { } } } -} - -include("usvm-python") -include("usvm-python:cpythonadapter") -findProject(":usvm-python:cpythonadapter")?.name = "cpythonadapter" -include("usvm-python:usvm-python-annotations") -findProject(":usvm-python:usvm-python-annotations")?.name = "usvm-python-annotations" -include("usvm-python:usvm-python-main") -findProject(":usvm-python:usvm-python-main")?.name = "usvm-python-main" -include("usvm-python:usvm-python-runner") -findProject(":usvm-python:usvm-python-runner")?.name = "usvm-python-runner" -include("usvm-python:usvm-python-commons") -findProject(":usvm-python:usvm-python-commons")?.name = "usvm-python-commons" \ No newline at end of file +} \ No newline at end of file From 7f9da19ea2e91c4152d19cae8b04d85d41ccf48c Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Thu, 11 Jul 2024 15:57:40 +0300 Subject: [PATCH 338/344] removed redundant step --- .github/workflows/python-runner-publish.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/python-runner-publish.yml b/.github/workflows/python-runner-publish.yml index 6d83f088d8..ba768dfdd6 100644 --- a/.github/workflows/python-runner-publish.yml +++ b/.github/workflows/python-runner-publish.yml @@ -26,14 +26,6 @@ jobs: server-id: github # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file - - name: Build with Gradle - uses: gradle/gradle-build-action@v2 - with: - arguments: :usvm-python:usvm-python-runner:build :usvm-python:usvm-python-common:build -Pversion=${{ steps.commithash.outputs.sha_short }} - env: - GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # The USERNAME and TOKEN need to correspond to the credentials environment variables used in # the publishing section of your build.gradle - name: Publish usvm-python-runner to GitHub Packages From a2fc4a0be6a33c265500c6634f44d528f370c923 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 12 Jul 2024 12:14:01 +0300 Subject: [PATCH 339/344] pr comments --- .../org/usvm/machine/ConcolicRunContext.kt | 5 +- .../symbolic/USVMPythonInterpreter.kt | 1 - .../kotlin/org/usvm/machine/model/PyModel.kt | 132 ++++++++++-------- 3 files changed, 81 insertions(+), 57 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt index eec870aadb..66a4f29721 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/ConcolicRunContext.kt @@ -5,6 +5,7 @@ import org.usvm.machine.interpreters.symbolic.operations.tracing.SymbolicHandler import org.usvm.machine.model.PyModelHolder import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer +import org.usvm.machine.types.PythonType import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import java.util.concurrent.Callable @@ -14,7 +15,6 @@ class ConcolicRunContext( curState: PyState, val ctx: PyContext, val modelHolder: PyModelHolder, - val typeSystem: PythonTypeSystem, private val allowPathDiversion: Boolean, val statistics: PythonMachineStatisticsOnFunction, val maxInstructions: Int, @@ -28,6 +28,9 @@ class ConcolicRunContext( var instructionCounter = 0 var usesVirtualInputs: Boolean = false + val typeSystem: PythonTypeSystem + get() = ctx.typeSystem() as PythonTypeSystem + @JvmField var curOperation: MockHeader? = null diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index c515cd6bb5..54bc7ad71a 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -253,7 +253,6 @@ class USVMPythonInterpreter( state, ctx, modelHolder, - typeSystem, allowPathDiversion, statistics, maxInstructions, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt index ed9f2527cb..d70ed8d8be 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/model/PyModel.kt @@ -61,62 +61,84 @@ class PyModel( @Suppress("UNCHECKED_CAST") override fun getRegion(regionId: UMemoryRegionId): UReadOnlyMemoryRegion { - if (regionId is UArrayRegionId<*, *, *> && - regionId.sort == ctx.addressSort && - regionId.arrayType == ArrayType - ) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, UAddressSort> - return WrappedArrayIndexRegion(region, this, ctx, nullRef) as UReadOnlyMemoryRegion - } - if (regionId is UArrayLengthsRegionId<*, *> && regionId.sort == ctx.intSort && - regionId.arrayType == ArrayType - ) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, KIntSort> - return WrappedArrayLengthRegion(ctx, region) as UReadOnlyMemoryRegion - } - if (regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) - as UReadOnlyMemoryRegion - } - if (regionId is URefSetRegionId<*> && regionId.setType == RefDictType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion - } - if (regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion - } - if (regionId is URefSetRegionId<*> && regionId.setType == RefSetType) { - val region = super.getRegion(regionId) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedRefSetRegion(ctx, region, psInfo.setRefKeys) as UReadOnlyMemoryRegion - } - if (regionId is USetRegionId<*, *, *> && regionId.setType == IntSetType) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, UBoolSort> - return WrappedSetRegion(ctx, region, psInfo.setIntKeys) as UReadOnlyMemoryRegion - } - if (regionId is URefMapRegionId<*, *> && regionId.mapType == ObjectDictType) { - val region = super.getRegion( - regionId - ) as UReadOnlyMemoryRegion, UAddressSort> - return WrappedRefMapRegion( - ctx, - region, - psInfo.setRefKeys, - underlyingModel - ) as UReadOnlyMemoryRegion + val region = super.getRegion(regionId) + + return when { + regionId is UArrayRegionId<*, *, *> && + regionId.sort == ctx.addressSort && + regionId.arrayType == ArrayType + -> { + WrappedArrayIndexRegion( + region as UReadOnlyMemoryRegion, UAddressSort>, + this, + ctx, + nullRef + ) as UReadOnlyMemoryRegion + } + + regionId is UArrayLengthsRegionId<*, *> && + regionId.sort == ctx.intSort && + regionId.arrayType == ArrayType + -> { + WrappedArrayLengthRegion( + ctx, + region as UReadOnlyMemoryRegion, KIntSort> + ) as UReadOnlyMemoryRegion + } + + regionId is URefSetRegionId<*> && regionId.setType == ObjectDictType -> { + WrappedRefSetRegion( + ctx, + region as UReadOnlyMemoryRegion, UBoolSort>, + psInfo.setRefKeys + ) as UReadOnlyMemoryRegion + } + + regionId is URefSetRegionId<*> && regionId.setType == RefDictType -> { + WrappedRefSetRegion( + ctx, + region as UReadOnlyMemoryRegion, UBoolSort>, + psInfo.setRefKeys + ) as UReadOnlyMemoryRegion + } + + regionId is USetRegionId<*, *, *> && regionId.setType == IntDictType -> { + WrappedSetRegion( + ctx, + region as UReadOnlyMemoryRegion, UBoolSort>, + psInfo.setIntKeys + ) as UReadOnlyMemoryRegion + } + + regionId is URefSetRegionId<*> && regionId.setType == RefSetType -> { + WrappedRefSetRegion( + ctx, + region as UReadOnlyMemoryRegion, UBoolSort>, + psInfo.setRefKeys + ) as UReadOnlyMemoryRegion + } + + regionId is USetRegionId<*, *, *> && regionId.setType == IntSetType -> { + WrappedSetRegion( + ctx, + region as UReadOnlyMemoryRegion, UBoolSort>, + psInfo.setIntKeys + ) as UReadOnlyMemoryRegion + } + + regionId is URefMapRegionId<*, *> && regionId.mapType == ObjectDictType -> { + WrappedRefMapRegion( + ctx, + region as UReadOnlyMemoryRegion, UAddressSort>, + psInfo.setRefKeys, + underlyingModel + ) as UReadOnlyMemoryRegion + } + + else -> { + region + } } - return super.getRegion(regionId) } override fun equals(other: Any?): Boolean { From ba507b1f69933a609366f02e5a96d9b5673123d2 Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 12 Jul 2024 12:25:56 +0300 Subject: [PATCH 340/344] detekt fix --- .../src/main/kotlin/org/usvm/machine/PyMachine.kt | 1 - .../usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt | 2 -- 2 files changed, 3 deletions(-) diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt index ad868b6f6c..d1dfd600eb 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/PyMachine.kt @@ -50,7 +50,6 @@ class PyMachine( ): USVMPythonInterpreter = USVMPythonInterpreter( ctx, - typeSystem, pinnedTarget, printErrorMsg, PythonMachineStatisticsOnFunction(pinnedTarget).also { statistics.functionStatistics.add(it) }, diff --git a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt index 54bc7ad71a..c3287fe23b 100644 --- a/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt +++ b/usvm-python/usvm-python-main/src/main/kotlin/org/usvm/machine/interpreters/symbolic/USVMPythonInterpreter.kt @@ -24,7 +24,6 @@ import org.usvm.machine.symbolicobjects.interpretSymbolicPythonObject import org.usvm.machine.symbolicobjects.rendering.LengthOverflowException import org.usvm.machine.symbolicobjects.rendering.PyValueBuilder import org.usvm.machine.symbolicobjects.rendering.PyValueRenderer -import org.usvm.machine.types.PythonTypeSystem import org.usvm.machine.utils.PythonMachineStatisticsOnFunction import org.usvm.python.model.PyInputModel import org.usvm.python.model.PyResultFailure @@ -34,7 +33,6 @@ import org.usvm.python.model.PyValue class USVMPythonInterpreter( private val ctx: PyContext, - private val typeSystem: PythonTypeSystem, private val pinnedCallable: PyPinnedCallable, private val printErrorMsg: Boolean, private val statistics: PythonMachineStatisticsOnFunction, From ca5075df802ae1d2a05e6056c7b8c207dd35a49b Mon Sep 17 00:00:00 2001 From: Ekaterina Tochilina Date: Fri, 12 Jul 2024 12:59:07 +0300 Subject: [PATCH 341/344] Updated Python link in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a666cc9a3..036b73e77b 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ With USVM, you can achieve completely automated * [unit test cases generation](#usvm-for-unit-test-generation), * [targeted fuzzing and more symbolic execution based solutions](#using-usvm-to-confirm-sarif-reports). -Right now, we have ready-to-be-used implementation for [Java](https://github.com/UnitTestBot/usvm/tree/main/usvm-jvm) and experimental implementation for [Python](https://github.com/UnitTestBot/usvm/tree/tochilinak/python/usvm-python). +Right now, we have ready-to-be-used implementation for [Java](https://github.com/UnitTestBot/usvm/tree/main/usvm-jvm) and experimental implementation for [Python](https://github.com/UnitTestBot/usvm/tree/main/usvm-python). # Taint analysis with USVM From a98cda2b48ff001f06f735c74f377643c9722ca9 Mon Sep 17 00:00:00 2001 From: Egor Vasilyev Date: Sat, 13 Jul 2024 17:19:14 +0300 Subject: [PATCH 342/344] switch from self-hosted to ubuntu-20.04 runners --- .github/workflows/build-and-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 33159f136b..5a52bf0aaa 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -22,7 +22,7 @@ jobs: # java: [ '11', '17' ] java: [ '11' ] - runs-on: [self-hosted, usvm] + runs-on: ubuntu-20.04 # Steps represent a sequence of tasks that will be executed as part of the job steps: From e94a5b57ca0aca77e20d734a61feb513411b889e Mon Sep 17 00:00:00 2001 From: Egor Vasilyev Date: Sat, 13 Jul 2024 17:21:30 +0300 Subject: [PATCH 343/344] lead pipeline to common look --- .github/workflows/build-and-run-tests.yml | 38 +++++++---------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml index 5a52bf0aaa..4668424ffb 100644 --- a/.github/workflows/build-and-run-tests.yml +++ b/.github/workflows/build-and-run-tests.yml @@ -1,38 +1,24 @@ -# This is a basic workflow to help you get started with Actions - name: Build and Run Tests [gradle] -# Controls when the workflow will run on: - # Triggers the workflow on push or pull request events but only for the "main" branch push: branches: [ "main" ] pull_request: branches: [ "main" ] - - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" build: strategy: matrix: -# java: [ '11', '17' ] java: [ '11' ] - runs-on: ubuntu-20.04 - - # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: "true" - # Runs a single command using the runners shell - name: Setup Java JDK uses: actions/setup-java@v3.5.0 with: @@ -44,24 +30,22 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Install CPython optional dependencies - run: sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev + run: | + sudo apt-get update + sudo apt-get install -yq\ + libssl-dev \ + libffi-dev - # Runs a set of commands using the runners shell - name: Build and run tests - run: ./gradlew build --no-daemon -PcpythonActivated=true - - # - name: Upload usvm test reports - # uses: actions/upload-artifact@v3 - # if: always() - # with: - # name: usvm-tests-report-linux - # path: ./**/build/reports/tests/test/ + run: | + ./gradlew build --no-daemon -PcpythonActivated=true - name: Run Detekt - run: ./gradlew detektMain detektTest --no-daemon + run: | + ./gradlew detektMain detektTest --no-daemon - name: Upload SARIF to GitHub uses: github/codeql-action/upload-sarif@v3 if: success() || failure() with: - sarif_file: build/reports/detekt/detekt.sarif \ No newline at end of file + sarif_file: build/reports/detekt/detekt.sarif From 78dc83f7aaec4d5f56a53fd40f033740279a821d Mon Sep 17 00:00:00 2001 From: Egor Vasilyev Date: Sat, 13 Jul 2024 17:53:30 +0300 Subject: [PATCH 344/344] switch another pipelines to github hosted runners --- .github/workflows/gradle-publish.yml | 6 ++---- .github/workflows/python-runner-publish.yml | 4 +--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index 113b435c7d..f59c5a66be 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -10,12 +10,10 @@ on: jobs: build: - - runs-on: [self-hosted, usvm] + runs-on: ubuntu-20.04 permissions: contents: read packages: write - steps: - uses: actions/checkout@v3 - name: Set up JDK 17 @@ -32,4 +30,4 @@ jobs: arguments: publishAllPublicationsToGitHubPackagesRepository -Pversion=${{ inputs.version }} env: GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/python-runner-publish.yml b/.github/workflows/python-runner-publish.yml index ba768dfdd6..4f39d8d896 100644 --- a/.github/workflows/python-runner-publish.yml +++ b/.github/workflows/python-runner-publish.yml @@ -10,12 +10,10 @@ on: jobs: build: - - runs-on: [self-hosted, usvm] + runs-on: ubuntu-20.04 permissions: contents: read packages: write - steps: - uses: actions/checkout@v3 - name: Set up JDK 17